diff --git a/.VSCodeCounter/2023-01-21_11-36-14/details.md b/.VSCodeCounter/2023-01-21_11-36-14/details.md new file mode 100644 index 0000000..0dd1724 --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/details.md @@ -0,0 +1,836 @@ +# Details + +Date : 2023-01-21 11:36:14 + +Directory /home/amit/buffer-ui + +Total : 821 files, 77642 codes, 3788 comments, 3115 blanks, all 84545 lines + +[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | +| [.eslintrc.js](/.eslintrc.js) | JavaScript | 12 | 53 | 0 | 65 | +| [.prettierrc](/.prettierrc) | JSON | 10 | 0 | 1 | 11 | +| [config/axios.tsx](/config/axios.tsx) | TypeScript React | 43 | 0 | 6 | 49 | +| [config/connectors.ts](/config/connectors.ts) | TypeScript | 17 | 0 | 1 | 18 | +| [config/index.ts](/config/index.ts) | TypeScript | 460 | 128 | 26 | 614 | +| [fonts.css](/fonts.css) | CSS | 28 | 86 | 4 | 118 | +| [index.css](/index.css) | CSS | 2,297 | 132 | 431 | 2,860 | +| [index.html](/index.html) | HTML | 15 | 0 | 1 | 16 | +| [package-lock.json](/package-lock.json) | JSON | 15,318 | 0 | 1 | 15,319 | +| [package.json](/package.json) | JSON | 89 | 0 | 1 | 90 | +| [postcss.config.cjs](/postcss.config.cjs) | JavaScript | 6 | 0 | 1 | 7 | +| [public/ComponentSVGS/CoinsUp.tsx](/public/ComponentSVGS/CoinsUp.tsx) | TypeScript React | 25 | 0 | 2 | 27 | +| [public/ComponentSVGS/DownTriangle.tsx](/public/ComponentSVGS/DownTriangle.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [public/ComponentSVGS/Edit.tsx](/public/ComponentSVGS/Edit.tsx) | TypeScript React | 26 | 0 | 3 | 29 | +| [public/ComponentSVGS/Quick.tsx](/public/ComponentSVGS/Quick.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [public/ComponentSVGS/Star.tsx](/public/ComponentSVGS/Star.tsx) | TypeScript React | 18 | 0 | 2 | 20 | +| [public/ComponentSVGS/UpTriangle.tsx](/public/ComponentSVGS/UpTriangle.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [public/ComponentSVGS/bufferLogo.tsx](/public/ComponentSVGS/bufferLogo.tsx) | TypeScript React | 21 | 0 | 3 | 24 | +| [public/ComponentSVGS/wallet.tsx](/public/ComponentSVGS/wallet.tsx) | TypeScript React | 28 | 0 | 3 | 31 | +| [public/LeaderBoard/Daily.tsx](/public/LeaderBoard/Daily.tsx) | TypeScript React | 9 | 0 | 4 | 13 | +| [public/LeaderBoard/PNL.tsx](/public/LeaderBoard/PNL.tsx) | TypeScript React | 26 | 0 | 3 | 29 | +| [public/LeaderBoard/Trophy.tsx](/public/LeaderBoard/Trophy.tsx) | TypeScript React | 35 | 1 | 3 | 39 | +| [public/Social/Blue/Discord.svg](/public/Social/Blue/Discord.svg) | XML | 29 | 0 | 1 | 30 | +| [public/Social/Blue/Telegram.svg](/public/Social/Blue/Telegram.svg) | XML | 3 | 0 | 1 | 4 | +| [public/Social/Blue/Twitter.svg](/public/Social/Blue/Twitter.svg) | XML | 3 | 0 | 1 | 4 | +| [public/Social/DD/discord.tsx](/public/Social/DD/discord.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [public/Social/DD/gitbook.tsx](/public/Social/DD/gitbook.tsx) | TypeScript React | 12 | 0 | 3 | 15 | +| [public/Social/DD/github.tsx](/public/Social/DD/github.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [public/Social/DD/medium.tsx](/public/Social/DD/medium.tsx) | TypeScript React | 7 | 0 | 4 | 11 | +| [public/Social/DD/telegram.tsx](/public/Social/DD/telegram.tsx) | TypeScript React | 17 | 0 | 3 | 20 | +| [public/Social/DD/twitter.tsx](/public/Social/DD/twitter.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [public/Social/Discord.svg](/public/Social/Discord.svg) | XML | 29 | 0 | 1 | 30 | +| [public/Social/Telegram.svg](/public/Social/Telegram.svg) | XML | 3 | 0 | 1 | 4 | +| [public/Social/Twitter.svg](/public/Social/Twitter.svg) | XML | 3 | 0 | 1 | 4 | +| [public/Social/discord.tsx](/public/Social/discord.tsx) | TypeScript React | 10 | 0 | 3 | 13 | +| [public/Social/github.tsx](/public/Social/github.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [public/Social/medium.tsx](/public/Social/medium.tsx) | TypeScript React | 10 | 0 | 3 | 13 | +| [public/Social/telegram.tsx](/public/Social/telegram.tsx) | TypeScript React | 11 | 0 | 3 | 14 | +| [public/Social/twitter.tsx](/public/Social/twitter.tsx) | TypeScript React | 7 | 0 | 3 | 10 | +| [public/Triangle_Down.svg](/public/Triangle_Down.svg) | XML | 3 | 0 | 1 | 4 | +| [public/Triangle_Up.svg](/public/Triangle_Up.svg) | XML | 3 | 0 | 1 | 4 | +| [public/shareModal/ShareIcon.tsx](/public/shareModal/ShareIcon.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [public/site.webmanifest](/public/site.webmanifest) | JSON | 19 | 0 | 1 | 20 | +| [public/static/charting_library/ar-tv-chart.e2a841ff.html](/public/static/charting_library/ar-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1403.5c193407bf9023ec51df.css](/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1403.5c193407bf9023ec51df.rtl.css](/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1413.0beb5c102530e80c962f.css](/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1413.0beb5c102530e80c962f.rtl.css](/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1529.30943dc0c4f6a9ddaaa6.js](/public/static/charting_library/bundles/1529.30943dc0c4f6a9ddaaa6.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.css](/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.rtl.css](/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.css](/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.rtl.css](/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1829.1d41207f53b42b7a2cba.js](/public/static/charting_library/bundles/1829.1d41207f53b42b7a2cba.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.css](/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.rtl.css](/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.css](/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.rtl.css](/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.css](/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.rtl.css](/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2269.e35db23226edaf77f36d.css](/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2269.e35db23226edaf77f36d.rtl.css](/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.css](/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.rtl.css](/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.css](/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.rtl.css](/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2359.18a49f656f3259463f4f.css](/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2359.18a49f656f3259463f4f.rtl.css](/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2391.07217bcacc2a0c3b5526.js](/public/static/charting_library/bundles/2391.07217bcacc2a0c3b5526.js) | JavaScript | 5 | 0 | 0 | 5 | +| [public/static/charting_library/bundles/2402.4ce4e3425dce9bceed85.js](/public/static/charting_library/bundles/2402.4ce4e3425dce9bceed85.js) | JavaScript | 4 | 0 | 0 | 4 | +| [public/static/charting_library/bundles/2444.89916595bdde00535f06.js](/public/static/charting_library/bundles/2444.89916595bdde00535f06.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/2614.9b290389192f690dd33c.css](/public/static/charting_library/bundles/2614.9b290389192f690dd33c.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2614.9b290389192f690dd33c.rtl.css](/public/static/charting_library/bundles/2614.9b290389192f690dd33c.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.css](/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.rtl.css](/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.css](/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.rtl.css](/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/306.547d2bcc2b4af2c3a922.js](/public/static/charting_library/bundles/306.547d2bcc2b4af2c3a922.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/3223.783979b0683ba0a325de.css](/public/static/charting_library/bundles/3223.783979b0683ba0a325de.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3223.783979b0683ba0a325de.rtl.css](/public/static/charting_library/bundles/3223.783979b0683ba0a325de.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.css](/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.rtl.css](/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3463.65423ae1c1f3301a6bc0.js](/public/static/charting_library/bundles/3463.65423ae1c1f3301a6bc0.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.css](/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.rtl.css](/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3590.9ba8c934cf8289ea708f.js](/public/static/charting_library/bundles/3590.9ba8c934cf8289ea708f.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/3708.b21be6dee862262304cf.css](/public/static/charting_library/bundles/3708.b21be6dee862262304cf.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3708.b21be6dee862262304cf.rtl.css](/public/static/charting_library/bundles/3708.b21be6dee862262304cf.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3876.fbb750fd312778403036.css](/public/static/charting_library/bundles/3876.fbb750fd312778403036.css) | CSS | 0 | 0 | 1 | 1 | +| [public/static/charting_library/bundles/3876.fbb750fd312778403036.rtl.css](/public/static/charting_library/bundles/3876.fbb750fd312778403036.rtl.css) | CSS | 0 | 0 | 1 | 1 | +| [public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.css](/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.rtl.css](/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.css](/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.rtl.css](/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg](/public/static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg) | XML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4078.43552fd4fee41d29f435.css](/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4078.43552fd4fee41d29f435.rtl.css](/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4093.8b84af355871cc700cb8.js](/public/static/charting_library/bundles/4093.8b84af355871cc700cb8.js) | JavaScript | 10 | 0 | 0 | 10 | +| [public/static/charting_library/bundles/4336.1228643b9325cd73ea59.css](/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4336.1228643b9325cd73ea59.rtl.css](/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.css](/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.rtl.css](/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.css](/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.rtl.css](/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.css](/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.rtl.css](/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.css](/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.rtl.css](/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4834.07c319579bda11b57fc3.css](/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4834.07c319579bda11b57fc3.rtl.css](/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.css](/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.rtl.css](/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4940.6aeb4a6f298568a71905.js](/public/static/charting_library/bundles/4940.6aeb4a6f298568a71905.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/4985.6abfd9453389325f7436.css](/public/static/charting_library/bundles/4985.6abfd9453389325f7436.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/4985.6abfd9453389325f7436.rtl.css](/public/static/charting_library/bundles/4985.6abfd9453389325f7436.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5019.5e7f23f81809b4af9b28.js](/public/static/charting_library/bundles/5019.5e7f23f81809b4af9b28.js) | JavaScript | 9 | 0 | 0 | 9 | +| [public/static/charting_library/bundles/5030.3f535fc5b94422bc913a.js](/public/static/charting_library/bundles/5030.3f535fc5b94422bc913a.js) | JavaScript | 4 | 0 | 0 | 4 | +| [public/static/charting_library/bundles/5254.776db7a6898f96fdd81f.js](/public/static/charting_library/bundles/5254.776db7a6898f96fdd81f.js) | JavaScript | 13 | 0 | 0 | 13 | +| [public/static/charting_library/bundles/5383.22c502e2ba80f4b4fc32.js](/public/static/charting_library/bundles/5383.22c502e2ba80f4b4fc32.js) | JavaScript | 6 | 0 | 0 | 6 | +| [public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.css](/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.rtl.css](/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5453.142c8996edfadb5669ae.css](/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5453.142c8996edfadb5669ae.rtl.css](/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.css](/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.rtl.css](/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5551.407668886ab3145df3b5.css](/public/static/charting_library/bundles/5551.407668886ab3145df3b5.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5551.407668886ab3145df3b5.rtl.css](/public/static/charting_library/bundles/5551.407668886ab3145df3b5.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.css](/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.rtl.css](/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.css](/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.rtl.css](/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/587.144039f5c693ee079edb.css](/public/static/charting_library/bundles/587.144039f5c693ee079edb.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/587.144039f5c693ee079edb.rtl.css](/public/static/charting_library/bundles/587.144039f5c693ee079edb.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.css](/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.rtl.css](/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.css](/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.rtl.css](/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6143.1f43f1c13a5153841646.css](/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6143.1f43f1c13a5153841646.rtl.css](/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.css](/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.rtl.css](/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.css](/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.rtl.css](/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.css](/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.rtl.css](/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.css](/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.rtl.css](/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.css](/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.rtl.css](/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.css](/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.rtl.css](/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7039.873153a7278857ebfcd1.css](/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7039.873153a7278857ebfcd1.rtl.css](/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.css](/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.rtl.css](/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/708.7f4b99c8dfd3f4cda1d1.js](/public/static/charting_library/bundles/708.7f4b99c8dfd3f4cda1d1.js) | JavaScript | 7 | 0 | 0 | 7 | +| [public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.css](/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.rtl.css](/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7365.fb40181a46db7cf2d8b0.js](/public/static/charting_library/bundles/7365.fb40181a46db7cf2d8b0.js) | JavaScript | 4 | 0 | 0 | 4 | +| [public/static/charting_library/bundles/7371.81bb2bc38b8ec23308e1.js](/public/static/charting_library/bundles/7371.81bb2bc38b8ec23308e1.js) | JavaScript | 4 | 0 | 0 | 4 | +| [public/static/charting_library/bundles/739.ac9682232ee125adb331.js](/public/static/charting_library/bundles/739.ac9682232ee125adb331.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/7400.30502d5397989951046f.css](/public/static/charting_library/bundles/7400.30502d5397989951046f.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7400.30502d5397989951046f.rtl.css](/public/static/charting_library/bundles/7400.30502d5397989951046f.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7591.cea4aee1089cbf340ee7.js](/public/static/charting_library/bundles/7591.cea4aee1089cbf340ee7.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/7607.99350c6a482907066b03.css](/public/static/charting_library/bundles/7607.99350c6a482907066b03.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7607.99350c6a482907066b03.rtl.css](/public/static/charting_library/bundles/7607.99350c6a482907066b03.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7610.9e79032a52ca259701ef.css](/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7610.9e79032a52ca259701ef.rtl.css](/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7703.be823882173b57ef030c.js](/public/static/charting_library/bundles/7703.be823882173b57ef030c.js) | JavaScript | 4 | 0 | 0 | 4 | +| [public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.css](/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.rtl.css](/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7799.681df0cf83dba8ef3cc5.js](/public/static/charting_library/bundles/7799.681df0cf83dba8ef3cc5.js) | JavaScript | 4 | 0 | 0 | 4 | +| [public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.css](/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.rtl.css](/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/7962.eed46026b7fd77b57cb3.js](/public/static/charting_library/bundles/7962.eed46026b7fd77b57cb3.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/8193.01090d4d9384825040ad.css](/public/static/charting_library/bundles/8193.01090d4d9384825040ad.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8193.01090d4d9384825040ad.rtl.css](/public/static/charting_library/bundles/8193.01090d4d9384825040ad.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/83.46ce2798763a3d5c2748.css](/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/83.46ce2798763a3d5c2748.rtl.css](/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8434.99d7135551ebc9e84366.js](/public/static/charting_library/bundles/8434.99d7135551ebc9e84366.js) | JavaScript | 6 | 0 | 0 | 6 | +| [public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.css](/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.rtl.css](/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/847.0e2ec220427667ac4afb.js](/public/static/charting_library/bundles/847.0e2ec220427667ac4afb.js) | JavaScript | 8 | 0 | 0 | 8 | +| [public/static/charting_library/bundles/8604.9200d240b82687bc2a27.css](/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8604.9200d240b82687bc2a27.rtl.css](/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8625.2718a9cf5d44ca766c9d.js](/public/static/charting_library/bundles/8625.2718a9cf5d44ca766c9d.js) | JavaScript | 25 | 0 | 0 | 25 | +| [public/static/charting_library/bundles/8680.a98f949c3d71bf32d2c7.js](/public/static/charting_library/bundles/8680.a98f949c3d71bf32d2c7.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.css](/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.rtl.css](/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8858.535457f61e1b51d9add2.css](/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8858.535457f61e1b51d9add2.rtl.css](/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8933.9d36818107c1f276f948.css](/public/static/charting_library/bundles/8933.9d36818107c1f276f948.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8933.9d36818107c1f276f948.rtl.css](/public/static/charting_library/bundles/8933.9d36818107c1f276f948.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.css](/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.rtl.css](/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9256.c6fbca120598828685f3.css](/public/static/charting_library/bundles/9256.c6fbca120598828685f3.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9256.c6fbca120598828685f3.rtl.css](/public/static/charting_library/bundles/9256.c6fbca120598828685f3.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.css](/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.rtl.css](/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.css](/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.rtl.css](/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.css](/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.rtl.css](/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.css](/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.rtl.css](/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.css](/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.rtl.css](/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9628.8f8514eafeb1da3bbdee.js](/public/static/charting_library/bundles/9628.8f8514eafeb1da3bbdee.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/9772.0967c8fb7beae0056cf7.js](/public/static/charting_library/bundles/9772.0967c8fb7beae0056cf7.js) | JavaScript | 20 | 0 | 0 | 20 | +| [public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.css](/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.rtl.css](/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.css](/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.rtl.css](/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.rtl.css) | CSS | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg](/public/static/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg) | XML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/add-compare-dialog.0e0f4b81cf8178378c14.js](/public/static/charting_library/bundles/add-compare-dialog.0e0f4b81cf8178378c14.js) | JavaScript | 10 | 0 | 0 | 10 | +| [public/static/charting_library/bundles/change-interval-dialog.15fea722d205fbdde7d1.js](/public/static/charting_library/bundles/change-interval-dialog.15fea722d205fbdde7d1.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/chart-bottom-toolbar.05a57b6389d7ddc2a351.js](/public/static/charting_library/bundles/chart-bottom-toolbar.05a57b6389d7ddc2a351.js) | JavaScript | 16 | 0 | 0 | 16 | +| [public/static/charting_library/bundles/chart-event-hint.cb517ed06ee9725b8a76.js](/public/static/charting_library/bundles/chart-event-hint.cb517ed06ee9725b8a76.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/chart-screenshot-hint.6d0f2e7ac3cebd7b650c.js](/public/static/charting_library/bundles/chart-screenshot-hint.6d0f2e7ac3cebd7b650c.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/chart-widget-gui.9891573a47b469e91df5.js](/public/static/charting_library/bundles/chart-widget-gui.9891573a47b469e91df5.js) | JavaScript | 55 | 0 | 0 | 55 | +| [public/static/charting_library/bundles/compare-model.08356f64fbfcdcdc3776.js](/public/static/charting_library/bundles/compare-model.08356f64fbfcdcdc3776.js) | JavaScript | 5 | 0 | 0 | 5 | +| [public/static/charting_library/bundles/context-menu-renderer.9a0385060e4241baf12d.js](/public/static/charting_library/bundles/context-menu-renderer.9a0385060e4241baf12d.js) | JavaScript | 4 | 0 | 0 | 4 | +| [public/static/charting_library/bundles/currency-label-menu.6dde8a17826b1fb3712c.js](/public/static/charting_library/bundles/currency-label-menu.6dde8a17826b1fb3712c.js) | JavaScript | 7 | 0 | 0 | 7 | +| [public/static/charting_library/bundles/custom-intervals-add-dialog.3506afd973a0a43dc42a.js](/public/static/charting_library/bundles/custom-intervals-add-dialog.3506afd973a0a43dc42a.js) | JavaScript | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/drawing-toolbar.8399395e7103ba30e756.js](/public/static/charting_library/bundles/drawing-toolbar.8399395e7103ba30e756.js) | JavaScript | 13 | 0 | 0 | 13 | +| [public/static/charting_library/bundles/export-data.429732b8c4ae52bcac7d.js](/public/static/charting_library/bundles/export-data.429732b8c4ae52bcac7d.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/floating-toolbars.913e12fe2b73959f49ca.js](/public/static/charting_library/bundles/floating-toolbars.913e12fe2b73959f49ca.js) | JavaScript | 23 | 0 | 0 | 23 | +| [public/static/charting_library/bundles/full-tooltips-popup.c97f4f88ba2959dd66bb.js](/public/static/charting_library/bundles/full-tooltips-popup.c97f4f88ba2959dd66bb.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/general-chart-properties-dialog.742b577b84c6f9fdb26f.js](/public/static/charting_library/bundles/general-chart-properties-dialog.742b577b84c6f9fdb26f.js) | JavaScript | 5 | 0 | 0 | 5 | +| [public/static/charting_library/bundles/general-property-page.86f95ff011c77a44071d.js](/public/static/charting_library/bundles/general-property-page.86f95ff011c77a44071d.js) | JavaScript | 9 | 0 | 0 | 9 | +| [public/static/charting_library/bundles/get-error-card.dfe1662b6e974e519b68.js](/public/static/charting_library/bundles/get-error-card.dfe1662b6e974e519b68.js) | JavaScript | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/go-to-date-dialog-impl.dadfac644efdcd254d91.js](/public/static/charting_library/bundles/go-to-date-dialog-impl.dadfac644efdcd254d91.js) | JavaScript | 11 | 0 | 0 | 11 | +| [public/static/charting_library/bundles/hammerjs.c69dac2431e462e3fc71.js](/public/static/charting_library/bundles/hammerjs.c69dac2431e462e3fc71.js) | JavaScript | 7 | 0 | 0 | 7 | +| [public/static/charting_library/bundles/header-toolbar.d302e948bcd970bc1897.js](/public/static/charting_library/bundles/header-toolbar.d302e948bcd970bc1897.js) | JavaScript | 9 | 0 | 0 | 9 | +| [public/static/charting_library/bundles/library.1fbbf36d35f97ccfbd00.js](/public/static/charting_library/bundles/library.1fbbf36d35f97ccfbd00.js) | JavaScript | 157 | 613 | 0 | 770 | +| [public/static/charting_library/bundles/line-tools-icons.2ebfde56d4ef0139cc64.js](/public/static/charting_library/bundles/line-tools-icons.2ebfde56d4ef0139cc64.js) | JavaScript | 28 | 0 | 0 | 28 | +| [public/static/charting_library/bundles/load-chart-dialog.418fa6c99a7803f5cc10.js](/public/static/charting_library/bundles/load-chart-dialog.418fa6c99a7803f5cc10.js) | JavaScript | 5 | 0 | 0 | 5 | +| [public/static/charting_library/bundles/lollipop-tooltip-renderer.76349a508c9e9d8b8af2.js](/public/static/charting_library/bundles/lollipop-tooltip-renderer.76349a508c9e9d8b8af2.js) | JavaScript | 5 | 0 | 0 | 5 | +| [public/static/charting_library/bundles/lt-pane-views.a54c6c59d86ab4d390bf.js](/public/static/charting_library/bundles/lt-pane-views.a54c6c59d86ab4d390bf.js) | JavaScript | 101 | 0 | 0 | 101 | +| [public/static/charting_library/bundles/lt-property-pages-with-definitions.ced0df22c184338b3396.js](/public/static/charting_library/bundles/lt-property-pages-with-definitions.ced0df22c184338b3396.js) | JavaScript | 39 | 0 | 0 | 39 | +| [public/static/charting_library/bundles/manage-drawings-dialog.ce43d4b42ea019cc5518.js](/public/static/charting_library/bundles/manage-drawings-dialog.ce43d4b42ea019cc5518.js) | JavaScript | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/new-confirm-inputs-dialog.88813711209cf273d882.js](/public/static/charting_library/bundles/new-confirm-inputs-dialog.88813711209cf273d882.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/new-edit-object-dialog.e069889125138e0cf97a.js](/public/static/charting_library/bundles/new-edit-object-dialog.e069889125138e0cf97a.js) | JavaScript | 19 | 0 | 0 | 19 | +| [public/static/charting_library/bundles/object-tree-dialog.ec325666665d14d13dd5.js](/public/static/charting_library/bundles/object-tree-dialog.ec325666665d14d13dd5.js) | JavaScript | 57 | 0 | 0 | 57 | +| [public/static/charting_library/bundles/react.13567dea1b1173009d35.js](/public/static/charting_library/bundles/react.13567dea1b1173009d35.js) | JavaScript | 45 | 0 | 0 | 45 | +| [public/static/charting_library/bundles/redux.e48a9c831cd697f8a38d.js](/public/static/charting_library/bundles/redux.e48a9c831cd697f8a38d.js) | JavaScript | 8 | 0 | 0 | 8 | +| [public/static/charting_library/bundles/restricted-toolset.8f58ab2a275c8e1f72b1.js](/public/static/charting_library/bundles/restricted-toolset.8f58ab2a275c8e1f72b1.js) | JavaScript | 30 | 0 | 0 | 30 | +| [public/static/charting_library/bundles/runtime.f1210af3518e525e94d7.js](/public/static/charting_library/bundles/runtime.f1210af3518e525e94d7.js) | JavaScript | 5 | 0 | 0 | 5 | +| [public/static/charting_library/bundles/series-icons-map.9d92dfe755e0c94c0c8d.js](/public/static/charting_library/bundles/series-icons-map.9d92dfe755e0c94c0c8d.js) | JavaScript | 2 | 0 | 0 | 2 | +| [public/static/charting_library/bundles/series-pane-views.d49b8ec162ba0c43260c.js](/public/static/charting_library/bundles/series-pane-views.d49b8ec162ba0c43260c.js) | JavaScript | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/share-chart-to-social-utils.830f7e41690ac8285de5.js](/public/static/charting_library/bundles/share-chart-to-social-utils.830f7e41690ac8285de5.js) | JavaScript | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/show-theme-save-dialog.b99932982e0d8e47d562.js](/public/static/charting_library/bundles/show-theme-save-dialog.b99932982e0d8e47d562.js) | JavaScript | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/simple-dialog.4965864a1f87b628af01.js](/public/static/charting_library/bundles/simple-dialog.4965864a1f87b628af01.js) | JavaScript | 6 | 0 | 0 | 6 | +| [public/static/charting_library/bundles/source-properties-editor.6854af2788acfa4ef4d4.js](/public/static/charting_library/bundles/source-properties-editor.6854af2788acfa4ef4d4.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/study-inputs-pane-views.1763111669ad2eaa2f52.js](/public/static/charting_library/bundles/study-inputs-pane-views.1763111669ad2eaa2f52.js) | JavaScript | 3 | 0 | 0 | 3 | +| [public/static/charting_library/bundles/study-market.aaf59e23fa593dd538bc.js](/public/static/charting_library/bundles/study-market.aaf59e23fa593dd538bc.js) | JavaScript | 9 | 0 | 0 | 9 | +| [public/static/charting_library/bundles/study-pane-views.d9686c973fa1f1a93ff4.js](/public/static/charting_library/bundles/study-pane-views.d9686c973fa1f1a93ff4.js) | JavaScript | 5 | 0 | 0 | 5 | +| [public/static/charting_library/bundles/study-property-pages-with-definitions.72083d0a0868166ca2b7.js](/public/static/charting_library/bundles/study-property-pages-with-definitions.72083d0a0868166ca2b7.js) | JavaScript | 7 | 0 | 0 | 7 | +| [public/static/charting_library/bundles/study-template-dialog.fd30d0463b77c8858d31.js](/public/static/charting_library/bundles/study-template-dialog.fd30d0463b77c8858d31.js) | JavaScript | 7 | 0 | 0 | 7 | +| [public/static/charting_library/bundles/symbol-info-dialog-impl.6aa56a0ae77115394b2f.js](/public/static/charting_library/bundles/symbol-info-dialog-impl.6aa56a0ae77115394b2f.js) | JavaScript | 4 | 0 | 0 | 4 | +| [public/static/charting_library/bundles/symbol-search-dialog.4e741ef8a94e2a1cdf8c.js](/public/static/charting_library/bundles/symbol-search-dialog.4e741ef8a94e2a1cdf8c.js) | JavaScript | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/take-chart-image-impl.013638618dfc6d4c1eaa.js](/public/static/charting_library/bundles/take-chart-image-impl.013638618dfc6d4c1eaa.js) | JavaScript | 1 | 0 | 0 | 1 | +| [public/static/charting_library/bundles/vendors.3197279804dd7477f3fb.js](/public/static/charting_library/bundles/vendors.3197279804dd7477f3fb.js) | JavaScript | 33 | 0 | 0 | 33 | +| [public/static/charting_library/charting_library.cjs.js](/public/static/charting_library/charting_library.cjs.js) | JavaScript | 1 | 0 | 1 | 2 | +| [public/static/charting_library/charting_library.d.ts](/public/static/charting_library/charting_library.d.ts) | TypeScript | 2,258 | 267 | 4 | 2,529 | +| [public/static/charting_library/charting_library.esm.js](/public/static/charting_library/charting_library.esm.js) | JavaScript | 1 | 0 | 1 | 2 | +| [public/static/charting_library/charting_library.js](/public/static/charting_library/charting_library.js) | JavaScript | 1 | 0 | 1 | 2 | +| [public/static/charting_library/charting_library.standalone.js](/public/static/charting_library/charting_library.standalone.js) | JavaScript | 1 | 0 | 1 | 2 | +| [public/static/charting_library/cs-tv-chart.e2a841ff.html](/public/static/charting_library/cs-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/da_DK-tv-chart.e2a841ff.html](/public/static/charting_library/da_DK-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/datafeed-api.d.ts](/public/static/charting_library/datafeed-api.d.ts) | TypeScript | 205 | 81 | 4 | 290 | +| [public/static/charting_library/de-tv-chart.e2a841ff.html](/public/static/charting_library/de-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/el-tv-chart.e2a841ff.html](/public/static/charting_library/el-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/en-tv-chart.e2a841ff.html](/public/static/charting_library/en-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/es-tv-chart.e2a841ff.html](/public/static/charting_library/es-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/et_EE-tv-chart.e2a841ff.html](/public/static/charting_library/et_EE-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/fa-tv-chart.e2a841ff.html](/public/static/charting_library/fa-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/fr-tv-chart.e2a841ff.html](/public/static/charting_library/fr-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/he_IL-tv-chart.e2a841ff.html](/public/static/charting_library/he_IL-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/hu_HU-tv-chart.e2a841ff.html](/public/static/charting_library/hu_HU-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/id_ID-tv-chart.e2a841ff.html](/public/static/charting_library/id_ID-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/it-tv-chart.e2a841ff.html](/public/static/charting_library/it-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/ja-tv-chart.e2a841ff.html](/public/static/charting_library/ja-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/ko-tv-chart.e2a841ff.html](/public/static/charting_library/ko-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/ms_MY-tv-chart.e2a841ff.html](/public/static/charting_library/ms_MY-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/nl_NL-tv-chart.e2a841ff.html](/public/static/charting_library/nl_NL-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/no-tv-chart.e2a841ff.html](/public/static/charting_library/no-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/package.json](/public/static/charting_library/package.json) | JSON | 8 | 0 | 1 | 9 | +| [public/static/charting_library/pl-tv-chart.e2a841ff.html](/public/static/charting_library/pl-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/pt-tv-chart.e2a841ff.html](/public/static/charting_library/pt-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/ro-tv-chart.e2a841ff.html](/public/static/charting_library/ro-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/ru-tv-chart.e2a841ff.html](/public/static/charting_library/ru-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/sk_SK-tv-chart.e2a841ff.html](/public/static/charting_library/sk_SK-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/sv-tv-chart.e2a841ff.html](/public/static/charting_library/sv-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/th-tv-chart.e2a841ff.html](/public/static/charting_library/th-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/tr-tv-chart.e2a841ff.html](/public/static/charting_library/tr-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/vi-tv-chart.e2a841ff.html](/public/static/charting_library/vi-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/zh-tv-chart.e2a841ff.html](/public/static/charting_library/zh-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/charting_library/zh_TW-tv-chart.e2a841ff.html](/public/static/charting_library/zh_TW-tv-chart.e2a841ff.html) | HTML | 1 | 0 | 0 | 1 | +| [public/static/datafeeds/README.md](/public/static/datafeeds/README.md) | Markdown | 2 | 0 | 2 | 4 | +| [public/static/datafeeds/udf/README.md](/public/static/datafeeds/udf/README.md) | Markdown | 28 | 0 | 19 | 47 | +| [public/static/datafeeds/udf/lib/data-pulse-provider.js](/public/static/datafeeds/udf/lib/data-pulse-provider.js) | JavaScript | 99 | 5 | 1 | 105 | +| [public/static/datafeeds/udf/lib/helpers.js](/public/static/datafeeds/udf/lib/helpers.js) | JavaScript | 16 | 4 | 1 | 21 | +| [public/static/datafeeds/udf/lib/history-provider.js](/public/static/datafeeds/udf/lib/history-provider.js) | JavaScript | 72 | 1 | 1 | 74 | +| [public/static/datafeeds/udf/lib/iquotes-provider.js](/public/static/datafeeds/udf/lib/iquotes-provider.js) | JavaScript | 1 | 0 | 1 | 2 | +| [public/static/datafeeds/udf/lib/quotes-provider.js](/public/static/datafeeds/udf/lib/quotes-provider.js) | JavaScript | 25 | 0 | 1 | 26 | +| [public/static/datafeeds/udf/lib/quotes-pulse-provider.js](/public/static/datafeeds/udf/lib/quotes-pulse-provider.js) | JavaScript | 44 | 0 | 1 | 45 | +| [public/static/datafeeds/udf/lib/requester.js](/public/static/datafeeds/udf/lib/requester.js) | JavaScript | 27 | 1 | 1 | 29 | +| [public/static/datafeeds/udf/lib/symbols-storage.js](/public/static/datafeeds/udf/lib/symbols-storage.js) | JavaScript | 177 | 4 | 1 | 182 | +| [public/static/datafeeds/udf/lib/udf-compatible-datafeed-base.js](/public/static/datafeeds/udf/lib/udf-compatible-datafeed-base.js) | JavaScript | 248 | 4 | 1 | 253 | +| [public/static/datafeeds/udf/lib/udf-compatible-datafeed.js](/public/static/datafeeds/udf/lib/udf-compatible-datafeed.js) | JavaScript | 10 | 0 | 1 | 11 | +| [public/static/datafeeds/udf/package.json](/public/static/datafeeds/udf/package.json) | JSON | 17 | 0 | 1 | 18 | +| [public/static/datafeeds/udf/rollup.config.js](/public/static/datafeeds/udf/rollup.config.js) | JavaScript | 21 | 1 | 4 | 26 | +| [public/static/datafeeds/udf/src/data-pulse-provider.ts](/public/static/datafeeds/udf/src/data-pulse-provider.ts) | TypeScript | 120 | 5 | 28 | 153 | +| [public/static/datafeeds/udf/src/helpers.ts](/public/static/datafeeds/udf/src/helpers.ts) | TypeScript | 28 | 4 | 7 | 39 | +| [public/static/datafeeds/udf/src/history-provider.ts](/public/static/datafeeds/udf/src/history-provider.ts) | TypeScript | 112 | 3 | 20 | 135 | +| [public/static/datafeeds/udf/src/iquotes-provider.ts](/public/static/datafeeds/udf/src/iquotes-provider.ts) | TypeScript | 10 | 1 | 4 | 15 | +| [public/static/datafeeds/udf/src/quotes-provider.ts](/public/static/datafeeds/udf/src/quotes-provider.ts) | TypeScript | 33 | 0 | 5 | 38 | +| [public/static/datafeeds/udf/src/quotes-pulse-provider.ts](/public/static/datafeeds/udf/src/quotes-pulse-provider.ts) | TypeScript | 69 | 0 | 17 | 86 | +| [public/static/datafeeds/udf/src/requester.ts](/public/static/datafeeds/udf/src/requester.ts) | TypeScript | 30 | 1 | 9 | 40 | +| [public/static/datafeeds/udf/src/symbols-storage.ts](/public/static/datafeeds/udf/src/symbols-storage.ts) | TypeScript | 244 | 6 | 52 | 302 | +| [public/static/datafeeds/udf/src/udf-compatible-datafeed-base.ts](/public/static/datafeeds/udf/src/udf-compatible-datafeed-base.ts) | TypeScript | 306 | 7 | 57 | 370 | +| [public/static/datafeeds/udf/src/udf-compatible-datafeed.ts](/public/static/datafeeds/udf/src/udf-compatible-datafeed.ts) | TypeScript | 10 | 0 | 2 | 12 | +| [public/static/datafeeds/udf/tsconfig.json](/public/static/datafeeds/udf/tsconfig.json) | JSON with Comments | 25 | 0 | 1 | 26 | +| [public/wallets/coin98.svg](/public/wallets/coin98.svg) | XML | 9 | 0 | 1 | 10 | +| [public/wallets/coinbase.svg](/public/wallets/coinbase.svg) | XML | 9 | 0 | 1 | 10 | +| [public/wallets/metamask.svg](/public/wallets/metamask.svg) | XML | 9 | 0 | 1 | 10 | +| [public/wallets/tally_ho.svg](/public/wallets/tally_ho.svg) | XML | 9 | 0 | 1 | 10 | +| [public/wallets/trust_wallet.svg](/public/wallets/trust_wallet.svg) | XML | 3 | 0 | 1 | 4 | +| [public/wallets/wallet_connect.svg](/public/wallets/wallet_connect.svg) | XML | 1 | 0 | 0 | 1 | +| [src/ABIs/BFR.json](/src/ABIs/BFR.json) | JSON | 686 | 0 | 0 | 686 | +| [src/ABIs/BLP.json](/src/ABIs/BLP.json) | JSON | 1,154 | 0 | 0 | 1,154 | +| [src/ABIs/BufferBinaryIBFRPoolBinaryV2.json](/src/ABIs/BufferBinaryIBFRPoolBinaryV2.json) | JSON | 1,193 | 0 | 0 | 1,193 | +| [src/ABIs/EsBFR.json](/src/ABIs/EsBFR.json) | JSON | 686 | 0 | 0 | 686 | +| [src/ABIs/Multicall.json](/src/ABIs/Multicall.json) | JSON | 165 | 0 | 1 | 166 | +| [src/ABIs/Multicallv1.json](/src/ABIs/Multicallv1.json) | JSON | 141 | 0 | 1 | 142 | +| [src/ABIs/Multicallv2.json](/src/ABIs/Multicallv2.json) | JSON | 141 | 0 | 0 | 141 | +| [src/ABIs/PriceProvider.json](/src/ABIs/PriceProvider.json) | JSON | 528 | 0 | 19 | 547 | +| [src/ABIs/RewardRouterV2.json](/src/ABIs/RewardRouterV2.json) | JSON | 661 | 0 | 0 | 661 | +| [src/ABIs/RewardTracker.json](/src/ABIs/RewardTracker.json) | JSON | 911 | 0 | 0 | 911 | +| [src/ABIs/Token.json](/src/ABIs/Token.json) | JSON | 338 | 0 | 0 | 338 | +| [src/ABIs/Vester.json](/src/ABIs/Vester.json) | JSON | 1,024 | 0 | 0 | 1,024 | +| [src/App.tsx](/src/App.tsx) | TypeScript React | 92 | 0 | 4 | 96 | +| [src/AppStyles.ts](/src/AppStyles.ts) | TypeScript | 46 | 0 | 5 | 51 | +| [src/Config/axios.ts](/src/Config/axios.ts) | TypeScript | 43 | 0 | 6 | 49 | +| [src/Config/getTabs.ts](/src/Config/getTabs.ts) | TypeScript | 70 | 12 | 3 | 85 | +| [src/Config/globalAtoms.ts](/src/Config/globalAtoms.ts) | TypeScript | 4 | 0 | 2 | 6 | +| [src/Config/index.ts](/src/Config/index.ts) | TypeScript | 162 | 10 | 9 | 181 | +| [src/Config/wagmiClient.ts](/src/Config/wagmiClient.ts) | TypeScript | 51 | 0 | 5 | 56 | +| [src/Hooks/Contracts/useLiquidityContract.tsx](/src/Hooks/Contracts/useLiquidityContract.tsx) | TypeScript React | 73 | 9 | 6 | 88 | +| [src/Hooks/Contracts/useNFTContract.tsx](/src/Hooks/Contracts/useNFTContract.tsx) | TypeScript React | 18 | 17 | 5 | 40 | +| [src/Hooks/Utilities/useClickAway.tsx](/src/Hooks/Utilities/useClickAway.tsx) | TypeScript React | 15 | 1 | 2 | 18 | +| [src/Hooks/Utilities/useDateFormatter.ts](/src/Hooks/Utilities/useDateFormatter.ts) | TypeScript | 34 | 3 | 7 | 44 | +| [src/Hooks/Utilities/useDeboncedEffect.tsx](/src/Hooks/Utilities/useDeboncedEffect.tsx) | TypeScript React | 7 | 0 | 2 | 9 | +| [src/Hooks/Utilities/useOpenConnectionDrawer.ts](/src/Hooks/Utilities/useOpenConnectionDrawer.ts) | TypeScript | 31 | 0 | 5 | 36 | +| [src/Hooks/Utilities/useStopWatch.ts](/src/Hooks/Utilities/useStopWatch.ts) | TypeScript | 102 | 0 | 8 | 110 | +| [src/Hooks/Utilities/useTImer.ts](/src/Hooks/Utilities/useTImer.ts) | TypeScript | 7 | 0 | 2 | 9 | +| [src/Hooks/Utilities/useTimeout.tsx](/src/Hooks/Utilities/useTimeout.tsx) | TypeScript React | 23 | 0 | 8 | 31 | +| [src/Hooks/Utilities/useToggle.ts](/src/Hooks/Utilities/useToggle.ts) | TypeScript | 5 | 0 | 3 | 8 | +| [src/Hooks/Utilities/useWriteCallValidations.tsx](/src/Hooks/Utilities/useWriteCallValidations.tsx) | TypeScript React | 30 | 0 | 4 | 34 | +| [src/Hooks/useActiveChain.ts](/src/Hooks/useActiveChain.ts) | TypeScript | 12 | 0 | 4 | 16 | +| [src/Hooks/useAheadTrades.ts](/src/Hooks/useAheadTrades.ts) | TypeScript | 287 | 21 | 18 | 326 | +| [src/Hooks/useClickAway.ts](/src/Hooks/useClickAway.ts) | TypeScript | 17 | 0 | 2 | 19 | +| [src/Hooks/useGenericHook.tsx](/src/Hooks/useGenericHook.tsx) | TypeScript React | 62 | 3 | 8 | 73 | +| [src/Hooks/useNFTGraph.ts](/src/Hooks/useNFTGraph.ts) | TypeScript | 58 | 1 | 6 | 65 | +| [src/Hooks/useOpenConnectionDrawer.ts](/src/Hooks/useOpenConnectionDrawer.ts) | TypeScript | 31 | 0 | 5 | 36 | +| [src/Hooks/useQuery.ts](/src/Hooks/useQuery.ts) | TypeScript | 6 | 0 | 3 | 9 | +| [src/Hooks/useUserAccount.ts](/src/Hooks/useUserAccount.ts) | TypeScript | 10 | 0 | 2 | 12 | +| [src/Hooks/useWalletConnect.ts](/src/Hooks/useWalletConnect.ts) | TypeScript | 44 | 11 | 6 | 61 | +| [src/Hooks/useWriteCall.ts](/src/Hooks/useWriteCall.ts) | TypeScript | 177 | 13 | 17 | 207 | +| [src/Interfaces/interfaces.ts](/src/Interfaces/interfaces.ts) | TypeScript | 21 | 0 | 1 | 22 | +| [src/Providers/configuredChains.ts](/src/Providers/configuredChains.ts) | TypeScript | 37 | 0 | 3 | 40 | +| [src/Providers/index.tsx](/src/Providers/index.tsx) | TypeScript React | 103 | 2 | 5 | 110 | +| [src/Providers/styles.ts](/src/Providers/styles.ts) | TypeScript | 46 | 0 | 5 | 51 | +| [src/Providers/wagmiClient.tsx](/src/Providers/wagmiClient.tsx) | TypeScript React | 62 | 5 | 6 | 73 | +| [src/SVG/Elements/BackButtonHalf.tsx](/src/SVG/Elements/BackButtonHalf.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [src/SVG/Elements/BufferLogo.tsx](/src/SVG/Elements/BufferLogo.tsx) | TypeScript React | 18 | 0 | 3 | 21 | +| [src/SVG/Elements/Chart.tsx](/src/SVG/Elements/Chart.tsx) | TypeScript React | 32 | 0 | 3 | 35 | +| [src/SVG/Elements/Closelogo.tsx](/src/SVG/Elements/Closelogo.tsx) | TypeScript React | 25 | 0 | 3 | 28 | +| [src/SVG/Elements/CopyIcon.tsx](/src/SVG/Elements/CopyIcon.tsx) | TypeScript React | 20 | 0 | 2 | 22 | +| [src/SVG/Elements/DDIcon.tsx](/src/SVG/Elements/DDIcon.tsx) | TypeScript React | 18 | 0 | 3 | 21 | +| [src/SVG/Elements/Disconnect.tsx](/src/SVG/Elements/Disconnect.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [src/SVG/Elements/DownIcon.tsx](/src/SVG/Elements/DownIcon.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [src/SVG/Elements/DropDownArrow.tsx](/src/SVG/Elements/DropDownArrow.tsx) | TypeScript React | 13 | 0 | 1 | 14 | +| [src/SVG/Elements/EarnIcon.tsx](/src/SVG/Elements/EarnIcon.tsx) | TypeScript React | 45 | 0 | 1 | 46 | +| [src/SVG/Elements/EditIcon.tsx](/src/SVG/Elements/EditIcon.tsx) | TypeScript React | 18 | 0 | 3 | 21 | +| [src/SVG/Elements/ErrorIcon.tsx](/src/SVG/Elements/ErrorIcon.tsx) | TypeScript React | 28 | 0 | 3 | 31 | +| [src/SVG/Elements/ErrorIconSmall.tsx](/src/SVG/Elements/ErrorIconSmall.tsx) | TypeScript React | 11 | 0 | 3 | 14 | +| [src/SVG/Elements/FailedSuccess.tsx](/src/SVG/Elements/FailedSuccess.tsx) | TypeScript React | 27 | 0 | 3 | 30 | +| [src/SVG/Elements/FailureIcon.tsx](/src/SVG/Elements/FailureIcon.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [src/SVG/Elements/GlobeIcon.tsx](/src/SVG/Elements/GlobeIcon.tsx) | TypeScript React | 11 | 0 | 3 | 14 | +| [src/SVG/Elements/GridViewIcon.tsx](/src/SVG/Elements/GridViewIcon.tsx) | TypeScript React | 46 | 0 | 3 | 49 | +| [src/SVG/Elements/InfoIcon.tsx](/src/SVG/Elements/InfoIcon.tsx) | TypeScript React | 78 | 0 | 5 | 83 | +| [src/SVG/Elements/LinkTargetIcon.tsx](/src/SVG/Elements/LinkTargetIcon.tsx) | TypeScript React | 18 | 0 | 3 | 21 | +| [src/SVG/Elements/ListViewIcon.tsx](/src/SVG/Elements/ListViewIcon.tsx) | TypeScript React | 35 | 0 | 3 | 38 | +| [src/SVG/Elements/MenuLogo.tsx](/src/SVG/Elements/MenuLogo.tsx) | TypeScript React | 31 | 0 | 3 | 34 | +| [src/SVG/Elements/Moneybag.tsx](/src/SVG/Elements/Moneybag.tsx) | TypeScript React | 28 | 0 | 3 | 31 | +| [src/SVG/Elements/NoMatchFound.tsx](/src/SVG/Elements/NoMatchFound.tsx) | TypeScript React | 15 | 0 | 3 | 18 | +| [src/SVG/Elements/NotificationCount.tsx](/src/SVG/Elements/NotificationCount.tsx) | TypeScript React | 7 | 0 | 3 | 10 | +| [src/SVG/Elements/PNLL.tsx](/src/SVG/Elements/PNLL.tsx) | TypeScript React | 25 | 0 | 3 | 28 | +| [src/SVG/Elements/Payout.jsx](/src/SVG/Elements/Payout.jsx) | JavaScript React | 18 | 0 | 3 | 21 | +| [src/SVG/Elements/PeckSheildLogo.tsx](/src/SVG/Elements/PeckSheildLogo.tsx) | TypeScript React | 26 | 0 | 3 | 29 | +| [src/SVG/Elements/RetryIcon.tsx](/src/SVG/Elements/RetryIcon.tsx) | TypeScript React | 24 | 0 | 3 | 27 | +| [src/SVG/Elements/Search.tsx](/src/SVG/Elements/Search.tsx) | TypeScript React | 18 | 0 | 3 | 21 | +| [src/SVG/Elements/ShareIconComp.tsx](/src/SVG/Elements/ShareIconComp.tsx) | TypeScript React | 18 | 0 | 3 | 21 | +| [src/SVG/Elements/ShieldIcon.tsx](/src/SVG/Elements/ShieldIcon.tsx) | TypeScript React | 78 | 0 | 1 | 79 | +| [src/SVG/Elements/SuccessIcon.tsx](/src/SVG/Elements/SuccessIcon.tsx) | TypeScript React | 27 | 0 | 3 | 30 | +| [src/SVG/Elements/SwapIcon.tsx](/src/SVG/Elements/SwapIcon.tsx) | TypeScript React | 17 | 0 | 3 | 20 | +| [src/SVG/Elements/TimerIcon.tsx](/src/SVG/Elements/TimerIcon.tsx) | TypeScript React | 24 | 0 | 3 | 27 | +| [src/SVG/Elements/ToastCrossIcon.tsx](/src/SVG/Elements/ToastCrossIcon.tsx) | TypeScript React | 11 | 0 | 3 | 14 | +| [src/SVG/Elements/TofuNFT.tsx](/src/SVG/Elements/TofuNFT.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [src/SVG/Elements/Unseen.tsx](/src/SVG/Elements/Unseen.tsx) | TypeScript React | 8 | 0 | 3 | 11 | +| [src/SVG/Elements/UpIcon.tsx](/src/SVG/Elements/UpIcon.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [src/SVG/Elements/YellowWarning.tsx](/src/SVG/Elements/YellowWarning.tsx) | TypeScript React | 20 | 0 | 3 | 23 | +| [src/SVG/Elements/sidebarCollpaseIcon.tsx](/src/SVG/Elements/sidebarCollpaseIcon.tsx) | TypeScript React | 23 | 1 | 3 | 27 | +| [src/SVG/Elements/usdc.tsx](/src/SVG/Elements/usdc.tsx) | TypeScript React | 33 | 2 | 4 | 39 | +| [src/SVG/PeckShield.tsx](/src/SVG/PeckShield.tsx) | TypeScript React | 29 | 0 | 3 | 32 | +| [src/SVG/SidebarIcons/CallBoosters.tsx](/src/SVG/SidebarIcons/CallBoosters.tsx) | TypeScript React | 33 | 0 | 4 | 37 | +| [src/SVG/SidebarIcons/Doccumentation.tsx](/src/SVG/SidebarIcons/Doccumentation.tsx) | TypeScript React | 20 | 0 | 3 | 23 | +| [src/SVG/SidebarIcons/Home.tsx](/src/SVG/SidebarIcons/Home.tsx) | TypeScript React | 19 | 0 | 4 | 23 | +| [src/SVG/SidebarIcons/Leaderboard.tsx](/src/SVG/SidebarIcons/Leaderboard.tsx) | TypeScript React | 23 | 0 | 3 | 26 | +| [src/SVG/SidebarIcons/Liquidity.tsx](/src/SVG/SidebarIcons/Liquidity.tsx) | TypeScript React | 100 | 0 | 4 | 104 | +| [src/SVG/SidebarIcons/Options.tsx](/src/SVG/SidebarIcons/Options.tsx) | TypeScript React | 51 | 0 | 3 | 54 | +| [src/SVG/SidebarIcons/PG.tsx](/src/SVG/SidebarIcons/PG.tsx) | TypeScript React | 14 | 0 | 3 | 17 | +| [src/SVG/SidebarIcons/PGCard.tsx](/src/SVG/SidebarIcons/PGCard.tsx) | TypeScript React | 36 | 0 | 3 | 39 | +| [src/SVG/SidebarIcons/Referralcon.tsx](/src/SVG/SidebarIcons/Referralcon.tsx) | TypeScript React | 49 | 0 | 3 | 52 | +| [src/SVG/SidebarIcons/RevenueSharing.tsx](/src/SVG/SidebarIcons/RevenueSharing.tsx) | TypeScript React | 25 | 0 | 2 | 27 | +| [src/SVG/SidebarIcons/Staking.tsx](/src/SVG/SidebarIcons/Staking.tsx) | TypeScript React | 28 | 0 | 3 | 31 | +| [src/SVG/buttons/Chart.tsx](/src/SVG/buttons/Chart.tsx) | TypeScript React | 12 | 0 | 3 | 15 | +| [src/SVG/buttons/back.tsx](/src/SVG/buttons/back.tsx) | TypeScript React | 11 | 0 | 3 | 14 | +| [src/SVG/buttons/cross.tsx](/src/SVG/buttons/cross.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [src/SVG/buttons/enter.tsx](/src/SVG/buttons/enter.tsx) | TypeScript React | 12 | 0 | 3 | 15 | +| [src/SVG/buttons/enterDisabled.tsx](/src/SVG/buttons/enterDisabled.tsx) | TypeScript React | 12 | 0 | 3 | 15 | +| [src/SVG/buttons/exit.tsx](/src/SVG/buttons/exit.tsx) | TypeScript React | 12 | 0 | 3 | 15 | +| [src/SVG/frontArrow.tsx](/src/SVG/frontArrow.tsx) | TypeScript React | 14 | 0 | 3 | 17 | +| [src/TradingView/ChartTypeSelectionDD.tsx](/src/TradingView/ChartTypeSelectionDD.tsx) | TypeScript React | 149 | 30 | 4 | 183 | +| [src/TradingView/TV.tsx](/src/TradingView/TV.tsx) | TypeScript React | 473 | 47 | 37 | 557 | +| [src/TradingView/TZ.json](/src/TradingView/TZ.json) | JSON | 2,390 | 0 | 0 | 2,390 | +| [src/TradingView/useDataFeed.tsx](/src/TradingView/useDataFeed.tsx) | TypeScript React | 366 | 469 | 23 | 858 | +| [src/Utils/Contract/getContract.tsx](/src/Utils/Contract/getContract.tsx) | TypeScript React | 6 | 0 | 2 | 8 | +| [src/Utils/Contract/getError.tsx](/src/Utils/Contract/getError.tsx) | TypeScript React | 45 | 1 | 3 | 49 | +| [src/Utils/Contract/getNodeUrl.ts](/src/Utils/Contract/getNodeUrl.ts) | TypeScript | 9 | 1 | 3 | 13 | +| [src/Utils/Contract/getProvider.tsx](/src/Utils/Contract/getProvider.tsx) | TypeScript React | 7 | 3 | 3 | 13 | +| [src/Utils/Contract/multiContract.ts](/src/Utils/Contract/multiContract.ts) | TypeScript | 286 | 2 | 6 | 294 | +| [src/Utils/DOMutils.ts](/src/Utils/DOMutils.ts) | TypeScript | 22 | 5 | 4 | 31 | +| [src/Utils/Dates/displayDateTime.ts](/src/Utils/Dates/displayDateTime.ts) | TypeScript | 73 | 0 | 8 | 81 | +| [src/Utils/DisplayDate.tsx](/src/Utils/DisplayDate.tsx) | TypeScript React | 33 | 0 | 2 | 35 | +| [src/Utils/Formulas/blackscholes.js](/src/Utils/Formulas/blackscholes.js) | JavaScript | 29 | 9 | 4 | 42 | +| [src/Utils/JSUtils/createArray.ts](/src/Utils/JSUtils/createArray.ts) | TypeScript | 2 | 0 | 2 | 4 | +| [src/Utils/JSUtils/isCharPresent.tsx](/src/Utils/JSUtils/isCharPresent.tsx) | TypeScript React | 8 | 0 | 1 | 9 | +| [src/Utils/NumString/eToWide.tsx](/src/Utils/NumString/eToWide.tsx) | TypeScript React | 88 | 9 | 7 | 104 | +| [src/Utils/NumString/formatNumStr.tsx](/src/Utils/NumString/formatNumStr.tsx) | TypeScript React | 29 | 7 | 3 | 39 | +| [src/Utils/NumString/getSignificantNum.tsx](/src/Utils/NumString/getSignificantNum.tsx) | TypeScript React | 64 | 6 | 3 | 73 | +| [src/Utils/NumString/index.tsx](/src/Utils/NumString/index.tsx) | TypeScript React | 7 | 0 | 1 | 8 | +| [src/Utils/NumString/kpiChartPoints.ts](/src/Utils/NumString/kpiChartPoints.ts) | TypeScript | 61 | 22 | 6 | 89 | +| [src/Utils/NumString/numtostr.tsx](/src/Utils/NumString/numtostr.tsx) | TypeScript React | 12 | 0 | 1 | 13 | +| [src/Utils/NumString/putChartPoints.ts](/src/Utils/NumString/putChartPoints.ts) | TypeScript | 38 | 0 | 4 | 42 | +| [src/Utils/NumString/stringArithmatics.tsx](/src/Utils/NumString/stringArithmatics.tsx) | TypeScript React | 89 | 1 | 2 | 92 | +| [src/Utils/NumString/toFixed.tsx](/src/Utils/NumString/toFixed.tsx) | TypeScript React | 12 | 3 | 5 | 20 | +| [src/Utils/PosthogCaptureAccount.tsx](/src/Utils/PosthogCaptureAccount.tsx) | TypeScript React | 4 | 0 | 2 | 6 | +| [src/Utils/Staking/utils.ts](/src/Utils/Staking/utils.ts) | TypeScript | 62 | 8 | 6 | 76 | +| [src/Utils/StringToBytes32.ts](/src/Utils/StringToBytes32.ts) | TypeScript | 9 | 0 | 1 | 10 | +| [src/Utils/Time.ts](/src/Utils/Time.ts) | TypeScript | 62 | 8 | 6 | 76 | +| [src/Utils/apis/api.ts](/src/Utils/apis/api.ts) | TypeScript | 121 | 2 | 4 | 127 | +| [src/Utils/apis/contextInitializers.ts](/src/Utils/apis/contextInitializers.ts) | TypeScript | 38 | 0 | 5 | 43 | +| [src/Utils/apis/getAbi.ts](/src/Utils/apis/getAbi.ts) | TypeScript | 8 | 0 | 2 | 10 | +| [src/Utils/apis/getMetaData.ts](/src/Utils/apis/getMetaData.ts) | TypeScript | 32 | 0 | 2 | 34 | +| [src/Utils/appControls/changeRoute.ts](/src/Utils/appControls/changeRoute.ts) | TypeScript | 12 | 0 | 1 | 13 | +| [src/Utils/appControls/convertibleChartPoints.ts](/src/Utils/appControls/convertibleChartPoints.ts) | TypeScript | 51 | 0 | 3 | 54 | +| [src/Utils/appControls/getBrowserName.ts](/src/Utils/appControls/getBrowserName.ts) | TypeScript | 18 | 0 | 2 | 20 | +| [src/Utils/appControls/getSupportedPages.ts](/src/Utils/appControls/getSupportedPages.ts) | TypeScript | 15 | 0 | 2 | 17 | +| [src/Utils/appControls/mobileDrawerHandlers.ts](/src/Utils/appControls/mobileDrawerHandlers.ts) | TypeScript | 44 | 20 | 12 | 76 | +| [src/Utils/appControls/pageSupported.ts](/src/Utils/appControls/pageSupported.ts) | TypeScript | 15 | 1 | 4 | 20 | +| [src/Utils/appControls/redirectChain.ts](/src/Utils/appControls/redirectChain.ts) | TypeScript | 4 | 0 | 3 | 7 | +| [src/Utils/appControls/redirectRoute.ts](/src/Utils/appControls/redirectRoute.ts) | TypeScript | 4 | 0 | 3 | 7 | +| [src/Utils/appControls/removeMargin.ts](/src/Utils/appControls/removeMargin.ts) | TypeScript | 32 | 0 | 3 | 35 | +| [src/Utils/appControls/replaceAsset.ts](/src/Utils/appControls/replaceAsset.ts) | TypeScript | 6 | 0 | 1 | 7 | +| [src/Utils/bigNumber.ts](/src/Utils/bigNumber.ts) | TypeScript | 14 | 1 | 5 | 20 | +| [src/Utils/captureScreenShot.ts](/src/Utils/captureScreenShot.ts) | TypeScript | 3 | 0 | 1 | 4 | +| [src/Utils/chartDataPoints.ts](/src/Utils/chartDataPoints.ts) | TypeScript | 68 | 0 | 6 | 74 | +| [src/Utils/copyToClipBoard.ts](/src/Utils/copyToClipBoard.ts) | TypeScript | 30 | 2 | 1 | 33 | +| [src/Utils/copyToClipboard.ts](/src/Utils/copyToClipboard.ts) | TypeScript | 30 | 2 | 1 | 33 | +| [src/Utils/display.tsx](/src/Utils/display.tsx) | TypeScript React | 28 | 0 | 5 | 33 | +| [src/Utils/getDeepCopy.ts](/src/Utils/getDeepCopy.ts) | TypeScript | 13 | 0 | 1 | 14 | +| [src/Utils/getErrorFromCode.ts](/src/Utils/getErrorFromCode.ts) | TypeScript | 57 | 0 | 1 | 58 | +| [src/Utils/getLogs.ts](/src/Utils/getLogs.ts) | TypeScript | 68 | 0 | 2 | 70 | +| [src/Utils/isUserPaused.ts](/src/Utils/isUserPaused.ts) | TypeScript | 52 | 18 | 11 | 81 | +| [src/Utils/kpiChartPoints.ts](/src/Utils/kpiChartPoints.ts) | TypeScript | 47 | 10 | 3 | 60 | +| [src/Utils/logger.tsx](/src/Utils/logger.tsx) | TypeScript React | 4 | 0 | 1 | 5 | +| [src/Utils/memoize.tsx](/src/Utils/memoize.tsx) | TypeScript React | 10 | 0 | 1 | 11 | +| [src/Utils/putChartPoints.ts](/src/Utils/putChartPoints.ts) | TypeScript | 49 | 27 | 5 | 81 | +| [src/Utils/speedtest.js](/src/Utils/speedtest.js) | JavaScript | 21 | 0 | 4 | 25 | +| [src/Utils/successChartPoints.ts](/src/Utils/successChartPoints.ts) | TypeScript | 77 | 1 | 7 | 85 | +| [src/Utils/useIbfrBalance.ts](/src/Utils/useIbfrBalance.ts) | TypeScript | 28 | 1 | 5 | 34 | +| [src/Utils/useMultiCallSWR.tsx](/src/Utils/useMultiCallSWR.tsx) | TypeScript React | 26 | 0 | 4 | 30 | +| [src/Utils/useMulticall.ts](/src/Utils/useMulticall.ts) | TypeScript | 26 | 1 | 3 | 30 | +| [src/Utils/useReadCall.ts](/src/Utils/useReadCall.ts) | TypeScript | 50 | 2 | 5 | 57 | +| [src/Utils/web3react/wallet.ts](/src/Utils/web3react/wallet.ts) | TypeScript | 78 | 13 | 6 | 97 | +| [src/Views/BinaryOptions/ABI/ConfigAbi.json](/src/Views/BinaryOptions/ABI/ConfigAbi.json) | JSON | 1 | 0 | 0 | 1 | +| [src/Views/BinaryOptions/ABI/MaxTrade.json](/src/Views/BinaryOptions/ABI/MaxTrade.json) | JSON | 80 | 0 | 1 | 81 | +| [src/Views/BinaryOptions/ABI/OptionMeta.json](/src/Views/BinaryOptions/ABI/OptionMeta.json) | JSON | 779 | 0 | 0 | 779 | +| [src/Views/BinaryOptions/ABI/configABI.json](/src/Views/BinaryOptions/ABI/configABI.json) | JSON | 1 | 0 | 0 | 1 | +| [src/Views/BinaryOptions/ABI/optionsABI.json](/src/Views/BinaryOptions/ABI/optionsABI.json) | JSON | 865 | 0 | 1 | 866 | +| [src/Views/BinaryOptions/ABI/poolABI.json](/src/Views/BinaryOptions/ABI/poolABI.json) | JSON | 654 | 0 | 1 | 655 | +| [src/Views/BinaryOptions/ABI/routerABI.json](/src/Views/BinaryOptions/ABI/routerABI.json) | JSON | 501 | 0 | 1 | 502 | +| [src/Views/BinaryOptions/Address.ts](/src/Views/BinaryOptions/Address.ts) | TypeScript | 19 | 0 | 3 | 22 | +| [src/Views/BinaryOptions/ComingSoonModal.tsx](/src/Views/BinaryOptions/ComingSoonModal.tsx) | TypeScript React | 20 | 5 | 4 | 29 | +| [src/Views/BinaryOptions/Components/BinaryInfo.tsx](/src/Views/BinaryOptions/Components/BinaryInfo.tsx) | TypeScript React | 109 | 0 | 7 | 116 | +| [src/Views/BinaryOptions/Components/Mobile/Navbar.tsx](/src/Views/BinaryOptions/Components/Mobile/Navbar.tsx) | TypeScript React | 36 | 0 | 3 | 39 | +| [src/Views/BinaryOptions/Components/Mobile/Screens.tsx](/src/Views/BinaryOptions/Components/Mobile/Screens.tsx) | TypeScript React | 50 | 1 | 1 | 52 | +| [src/Views/BinaryOptions/Components/Mobile/buyOptionsTab.tsx](/src/Views/BinaryOptions/Components/Mobile/buyOptionsTab.tsx) | TypeScript React | 40 | 1 | 3 | 44 | +| [src/Views/BinaryOptions/Components/Mobile/historyTab.tsx](/src/Views/BinaryOptions/Components/Mobile/historyTab.tsx) | TypeScript React | 310 | 4 | 18 | 332 | +| [src/Views/BinaryOptions/Components/SlippageModal.tsx](/src/Views/BinaryOptions/Components/SlippageModal.tsx) | TypeScript React | 170 | 8 | 6 | 184 | +| [src/Views/BinaryOptions/Components/approveModal.tsx](/src/Views/BinaryOptions/Components/approveModal.tsx) | TypeScript React | 150 | 22 | 5 | 177 | +| [src/Views/BinaryOptions/Components/shareModal.tsx](/src/Views/BinaryOptions/Components/shareModal.tsx) | TypeScript React | 315 | 19 | 20 | 354 | +| [src/Views/BinaryOptions/Components/stats.tsx](/src/Views/BinaryOptions/Components/stats.tsx) | TypeScript React | 44 | 4 | 5 | 53 | +| [src/Views/BinaryOptions/Favourites/AssetTable.tsx](/src/Views/BinaryOptions/Favourites/AssetTable.tsx) | TypeScript React | 150 | 1 | 10 | 161 | +| [src/Views/BinaryOptions/Favourites/AssetTypeSelector.tsx](/src/Views/BinaryOptions/Favourites/AssetTypeSelector.tsx) | TypeScript React | 47 | 7 | 3 | 57 | +| [src/Views/BinaryOptions/Favourites/FavouriteAssetDD.tsx](/src/Views/BinaryOptions/Favourites/FavouriteAssetDD.tsx) | TypeScript React | 87 | 1 | 4 | 92 | +| [src/Views/BinaryOptions/Favourites/Favourites.tsx](/src/Views/BinaryOptions/Favourites/Favourites.tsx) | TypeScript React | 204 | 8 | 11 | 223 | +| [src/Views/BinaryOptions/Favourites/LastDayChange.tsx](/src/Views/BinaryOptions/Favourites/LastDayChange.tsx) | TypeScript React | 21 | 0 | 2 | 23 | +| [src/Views/BinaryOptions/Favourites/Utils/getAssetTypes.ts](/src/Views/BinaryOptions/Favourites/Utils/getAssetTypes.ts) | TypeScript | 9 | 0 | 2 | 11 | +| [src/Views/BinaryOptions/Favourites/Utils/getFavouriteKey.ts](/src/Views/BinaryOptions/Favourites/Utils/getFavouriteKey.ts) | TypeScript | 9 | 0 | 2 | 11 | +| [src/Views/BinaryOptions/Favourites/Utils/getFilteredAssets.ts](/src/Views/BinaryOptions/Favourites/Utils/getFilteredAssets.ts) | TypeScript | 40 | 1 | 3 | 44 | +| [src/Views/BinaryOptions/Favourites/style.ts](/src/Views/BinaryOptions/Favourites/style.ts) | TypeScript | 162 | 9 | 5 | 176 | +| [src/Views/BinaryOptions/Hooks/BinaryOptionsABI.json](/src/Views/BinaryOptions/Hooks/BinaryOptionsABI.json) | JSON | 1,680 | 0 | 0 | 1,680 | +| [src/Views/BinaryOptions/Hooks/useActiveAssetState.ts](/src/Views/BinaryOptions/Hooks/useActiveAssetState.ts) | TypeScript | 238 | 41 | 20 | 299 | +| [src/Views/BinaryOptions/Hooks/useBinaryActions.tsx](/src/Views/BinaryOptions/Hooks/useBinaryActions.tsx) | TypeScript React | 216 | 7 | 13 | 236 | +| [src/Views/BinaryOptions/Hooks/useBinaryActiveChainId.ts](/src/Views/BinaryOptions/Hooks/useBinaryActiveChainId.ts) | TypeScript | 6 | 0 | 2 | 8 | +| [src/Views/BinaryOptions/Hooks/useBinaryHistory.ts](/src/Views/BinaryOptions/Hooks/useBinaryHistory.ts) | TypeScript | 83 | 20 | 7 | 110 | +| [src/Views/BinaryOptions/Hooks/useFavouritesFns.ts](/src/Views/BinaryOptions/Hooks/useFavouritesFns.ts) | TypeScript | 80 | 0 | 11 | 91 | +| [src/Views/BinaryOptions/Hooks/useGetDataFromConfig.ts](/src/Views/BinaryOptions/Hooks/useGetDataFromConfig.ts) | TypeScript | 11 | 0 | 2 | 13 | +| [src/Views/BinaryOptions/Hooks/useHostName.ts](/src/Views/BinaryOptions/Hooks/useHostName.ts) | TypeScript | 10 | 0 | 2 | 12 | +| [src/Views/BinaryOptions/Hooks/useIsMerketOpen.tsx](/src/Views/BinaryOptions/Hooks/useIsMerketOpen.tsx) | TypeScript React | 19 | 0 | 2 | 21 | +| [src/Views/BinaryOptions/Hooks/useLatest24hrChange.ts](/src/Views/BinaryOptions/Hooks/useLatest24hrChange.ts) | TypeScript | 38 | 2 | 7 | 47 | +| [src/Views/BinaryOptions/Hooks/usePastTradeQuery.ts](/src/Views/BinaryOptions/Hooks/usePastTradeQuery.ts) | TypeScript | 234 | 35 | 21 | 290 | +| [src/Views/BinaryOptions/Hooks/usePastTradeQueryByFetch.ts](/src/Views/BinaryOptions/Hooks/usePastTradeQueryByFetch.ts) | TypeScript | 185 | 1 | 10 | 196 | +| [src/Views/BinaryOptions/Hooks/useTradeHistory.ts](/src/Views/BinaryOptions/Hooks/useTradeHistory.ts) | TypeScript | 222 | 3 | 8 | 233 | +| [src/Views/BinaryOptions/MarketTimingWarning.tsx](/src/Views/BinaryOptions/MarketTimingWarning.tsx) | TypeScript React | 35 | 0 | 5 | 40 | +| [src/Views/BinaryOptions/MarketTimingsInfo.tsx](/src/Views/BinaryOptions/MarketTimingsInfo.tsx) | TypeScript React | 24 | 0 | 5 | 29 | +| [src/Views/BinaryOptions/MarketTimingsModal.tsx](/src/Views/BinaryOptions/MarketTimingsModal.tsx) | TypeScript React | 101 | 0 | 6 | 107 | +| [src/Views/BinaryOptions/OrderBookComponents/BuyModal/index.tsx](/src/Views/BinaryOptions/OrderBookComponents/BuyModal/index.tsx) | TypeScript React | 386 | 11 | 31 | 428 | +| [src/Views/BinaryOptions/OrderBookComponents/BuyModal/style.ts](/src/Views/BinaryOptions/OrderBookComponents/BuyModal/style.ts) | TypeScript | 128 | 2 | 8 | 138 | +| [src/Views/BinaryOptions/OrderBookComponents/GraphModal/index.tsx](/src/Views/BinaryOptions/OrderBookComponents/GraphModal/index.tsx) | TypeScript React | 39 | 2 | 3 | 44 | +| [src/Views/BinaryOptions/OrderBookComponents/GraphModal/style.ts](/src/Views/BinaryOptions/OrderBookComponents/GraphModal/style.ts) | TypeScript | 45 | 1 | 3 | 49 | +| [src/Views/BinaryOptions/PGDrawer/ActiveAsset.tsx](/src/Views/BinaryOptions/PGDrawer/ActiveAsset.tsx) | TypeScript React | 111 | 0 | 4 | 115 | +| [src/Views/BinaryOptions/PGDrawer/BuyUsdcLink.tsx](/src/Views/BinaryOptions/PGDrawer/BuyUsdcLink.tsx) | TypeScript React | 35 | 2 | 2 | 39 | +| [src/Views/BinaryOptions/PGDrawer/CustomOption.tsx](/src/Views/BinaryOptions/PGDrawer/CustomOption.tsx) | TypeScript React | 310 | 3 | 7 | 320 | +| [src/Views/BinaryOptions/PGDrawer/DateDropdown.tsx](/src/Views/BinaryOptions/PGDrawer/DateDropdown.tsx) | TypeScript React | 45 | 1 | 4 | 50 | +| [src/Views/BinaryOptions/PGDrawer/DrawerChild.tsx](/src/Views/BinaryOptions/PGDrawer/DrawerChild.tsx) | TypeScript React | 44 | 2 | 4 | 50 | +| [src/Views/BinaryOptions/PGDrawer/DurationPicker.tsx](/src/Views/BinaryOptions/PGDrawer/DurationPicker.tsx) | TypeScript React | 119 | 7 | 6 | 132 | +| [src/Views/BinaryOptions/PGDrawer/PoolDropDown.tsx](/src/Views/BinaryOptions/PGDrawer/PoolDropDown.tsx) | TypeScript React | 95 | 0 | 8 | 103 | +| [src/Views/BinaryOptions/PGDrawer/SettingsIcon.tsx](/src/Views/BinaryOptions/PGDrawer/SettingsIcon.tsx) | TypeScript React | 16 | 0 | 1 | 17 | +| [src/Views/BinaryOptions/PGDrawer/TimeSelector.tsx](/src/Views/BinaryOptions/PGDrawer/TimeSelector.tsx) | TypeScript React | 328 | 36 | 19 | 383 | +| [src/Views/BinaryOptions/PGDrawer/index.tsx](/src/Views/BinaryOptions/PGDrawer/index.tsx) | TypeScript React | 42 | 0 | 4 | 46 | +| [src/Views/BinaryOptions/PGDrawer/style.ts](/src/Views/BinaryOptions/PGDrawer/style.ts) | TypeScript | 204 | 37 | 18 | 259 | +| [src/Views/BinaryOptions/Tables/Desktop.tsx](/src/Views/BinaryOptions/Tables/Desktop.tsx) | TypeScript React | 327 | 15 | 23 | 365 | +| [src/Views/BinaryOptions/Tables/Mobile.tsx](/src/Views/BinaryOptions/Tables/Mobile.tsx) | TypeScript React | 8 | 0 | 4 | 12 | +| [src/Views/BinaryOptions/Tables/OrderBookTable/index.tsx](/src/Views/BinaryOptions/Tables/OrderBookTable/index.tsx) | TypeScript React | 237 | 44 | 19 | 300 | +| [src/Views/BinaryOptions/Tables/OrderBookTable/style.ts](/src/Views/BinaryOptions/Tables/OrderBookTable/style.ts) | TypeScript | 81 | 10 | 3 | 94 | +| [src/Views/BinaryOptions/Tables/TableComponents.tsx](/src/Views/BinaryOptions/Tables/TableComponents.tsx) | TypeScript React | 679 | 27 | 35 | 741 | +| [src/Views/BinaryOptions/Tables/index.tsx](/src/Views/BinaryOptions/Tables/index.tsx) | TypeScript React | 37 | 5 | 4 | 46 | +| [src/Views/BinaryOptions/Tables/style.ts](/src/Views/BinaryOptions/Tables/style.ts) | TypeScript | 12 | 1 | 2 | 15 | +| [src/Views/BinaryOptions/config.json](/src/Views/BinaryOptions/config.json) | JSON | 578 | 0 | 11 | 589 | +| [src/Views/BinaryOptions/discarded.json](/src/Views/BinaryOptions/discarded.json) | JSON | 343 | 0 | 4 | 347 | +| [src/Views/BinaryOptions/index.tsx](/src/Views/BinaryOptions/index.tsx) | TypeScript React | 353 | 11 | 15 | 379 | +| [src/Views/BinaryOptions/store.ts](/src/Views/BinaryOptions/store.ts) | TypeScript | 91 | 3 | 5 | 99 | +| [src/Views/BinaryOptions/style.ts](/src/Views/BinaryOptions/style.ts) | TypeScript | 195 | 13 | 12 | 220 | +| [src/Views/Common/AccountInfo/index.tsx](/src/Views/Common/AccountInfo/index.tsx) | TypeScript React | 51 | 1 | 7 | 59 | +| [src/Views/Common/AccountInfo/style.ts](/src/Views/Common/AccountInfo/style.ts) | TypeScript | 44 | 2 | 3 | 49 | +| [src/Views/Common/Aligner/index.tsx](/src/Views/Common/Aligner/index.tsx) | TypeScript React | 64 | 0 | 4 | 68 | +| [src/Views/Common/Aligner/style.ts](/src/Views/Common/Aligner/style.ts) | TypeScript | 35 | 1 | 2 | 38 | +| [src/Views/Common/AreaChart/index.tsx](/src/Views/Common/AreaChart/index.tsx) | TypeScript React | 304 | 22 | 7 | 333 | +| [src/Views/Common/AreaChart/style.ts](/src/Views/Common/AreaChart/style.ts) | TypeScript | 3 | 0 | 2 | 5 | +| [src/Views/Common/AssetInfo/index.tsx](/src/Views/Common/AssetInfo/index.tsx) | TypeScript React | 167 | 5 | 7 | 179 | +| [src/Views/Common/AssetInfo/styles.ts](/src/Views/Common/AssetInfo/styles.ts) | TypeScript | 112 | 22 | 4 | 138 | +| [src/Views/Common/Banner/index.tsx](/src/Views/Common/Banner/index.tsx) | TypeScript React | 45 | 0 | 3 | 48 | +| [src/Views/Common/Banner/style.ts](/src/Views/Common/Banner/style.ts) | TypeScript | 62 | 0 | 9 | 71 | +| [src/Views/Common/Buffer-Dropdown/index.tsx](/src/Views/Common/Buffer-Dropdown/index.tsx) | TypeScript React | 81 | 4 | 4 | 89 | +| [src/Views/Common/Buffer-Dropdown/style.tsx](/src/Views/Common/Buffer-Dropdown/style.tsx) | TypeScript React | 118 | 0 | 2 | 120 | +| [src/Views/Common/BufferAnimatableTab.tsx](/src/Views/Common/BufferAnimatableTab.tsx) | TypeScript React | 76 | 0 | 3 | 79 | +| [src/Views/Common/BufferCheckbox/index.tsx](/src/Views/Common/BufferCheckbox/index.tsx) | TypeScript React | 59 | 10 | 4 | 73 | +| [src/Views/Common/BufferCheckbox/style.ts](/src/Views/Common/BufferCheckbox/style.ts) | TypeScript | 34 | 0 | 3 | 37 | +| [src/Views/Common/BufferDisclaimer/index.tsx](/src/Views/Common/BufferDisclaimer/index.tsx) | TypeScript React | 33 | 1 | 4 | 38 | +| [src/Views/Common/BufferDisclaimer/style.ts](/src/Views/Common/BufferDisclaimer/style.ts) | TypeScript | 28 | 0 | 3 | 31 | +| [src/Views/Common/BufferDropdown/index.tsx](/src/Views/Common/BufferDropdown/index.tsx) | TypeScript React | 94 | 4 | 7 | 105 | +| [src/Views/Common/BufferDropdown/style.ts](/src/Views/Common/BufferDropdown/style.ts) | TypeScript | 112 | 5 | 8 | 125 | +| [src/Views/Common/BufferInput/index.tsx](/src/Views/Common/BufferInput/index.tsx) | TypeScript React | 155 | 1 | 8 | 164 | +| [src/Views/Common/BufferProgressBar.tsx/index.tsx](/src/Views/Common/BufferProgressBar.tsx/index.tsx) | TypeScript React | 31 | 0 | 4 | 35 | +| [src/Views/Common/BufferSlider/index.tsx](/src/Views/Common/BufferSlider/index.tsx) | TypeScript React | 53 | 1 | 6 | 60 | +| [src/Views/Common/BufferSlider/style.ts](/src/Views/Common/BufferSlider/style.ts) | TypeScript | 78 | 1 | 4 | 83 | +| [src/Views/Common/BufferSwitch/index.tsx](/src/Views/Common/BufferSwitch/index.tsx) | TypeScript React | 44 | 0 | 6 | 50 | +| [src/Views/Common/BufferSwitch/style.ts](/src/Views/Common/BufferSwitch/style.ts) | TypeScript | 73 | 0 | 12 | 85 | +| [src/Views/Common/BufferSwitchLabelled/index.tsx](/src/Views/Common/BufferSwitchLabelled/index.tsx) | TypeScript React | 30 | 1 | 4 | 35 | +| [src/Views/Common/BufferTab/index.tsx](/src/Views/Common/BufferTab/index.tsx) | TypeScript React | 56 | 41 | 6 | 103 | +| [src/Views/Common/BufferTab/style.tsx](/src/Views/Common/BufferTab/style.tsx) | TypeScript React | 54 | 0 | 3 | 57 | +| [src/Views/Common/BufferTable/CellInfo.tsx](/src/Views/Common/BufferTable/CellInfo.tsx) | TypeScript React | 135 | 1 | 9 | 145 | +| [src/Views/Common/BufferTable/ErrorMsg/index.tsx](/src/Views/Common/BufferTable/ErrorMsg/index.tsx) | TypeScript React | 44 | 0 | 4 | 48 | +| [src/Views/Common/BufferTable/ErrorMsg/style.ts](/src/Views/Common/BufferTable/ErrorMsg/style.ts) | TypeScript | 23 | 0 | 2 | 25 | +| [src/Views/Common/BufferTable/TableAssetCell/index.tsx](/src/Views/Common/BufferTable/TableAssetCell/index.tsx) | TypeScript React | 26 | 0 | 4 | 30 | +| [src/Views/Common/BufferTable/TableAssetCell/style.ts](/src/Views/Common/BufferTable/TableAssetCell/style.ts) | TypeScript | 30 | 1 | 3 | 34 | +| [src/Views/Common/BufferTable/index.tsx](/src/Views/Common/BufferTable/index.tsx) | TypeScript React | 201 | 0 | 5 | 206 | +| [src/Views/Common/BufferTable/style.ts](/src/Views/Common/BufferTable/style.ts) | TypeScript | 159 | 0 | 10 | 169 | +| [src/Views/Common/BufferTableCard/index.tsx](/src/Views/Common/BufferTableCard/index.tsx) | TypeScript React | 67 | 14 | 8 | 89 | +| [src/Views/Common/BufferTableCard/style.ts](/src/Views/Common/BufferTableCard/style.ts) | TypeScript | 31 | 1 | 5 | 37 | +| [src/Views/Common/BufferTextInputRoot/index.tsx](/src/Views/Common/BufferTextInputRoot/index.tsx) | TypeScript React | 107 | 4 | 6 | 117 | +| [src/Views/Common/BufferTextInputRoot/style.tsx](/src/Views/Common/BufferTextInputRoot/style.tsx) | TypeScript React | 51 | 0 | 2 | 53 | +| [src/Views/Common/BufferThemeSwitcher/index.tsx](/src/Views/Common/BufferThemeSwitcher/index.tsx) | TypeScript React | 109 | 2 | 6 | 117 | +| [src/Views/Common/BufferThemeSwitcher/styles.tsx](/src/Views/Common/BufferThemeSwitcher/styles.tsx) | TypeScript React | 55 | 0 | 2 | 57 | +| [src/Views/Common/BufferToggleButton/index.tsx](/src/Views/Common/BufferToggleButton/index.tsx) | TypeScript React | 30 | 1 | 1 | 32 | +| [src/Views/Common/BufferToggleButton/style.ts](/src/Views/Common/BufferToggleButton/style.ts) | TypeScript | 53 | 3 | 3 | 59 | +| [src/Views/Common/BufferTransitionedTab.tsx](/src/Views/Common/BufferTransitionedTab.tsx) | TypeScript React | 62 | 0 | 3 | 65 | +| [src/Views/Common/ButtonLoader/ButtonLoader.tsx](/src/Views/Common/ButtonLoader/ButtonLoader.tsx) | TypeScript React | 13 | 0 | 3 | 16 | +| [src/Views/Common/Buttons/index.tsx](/src/Views/Common/Buttons/index.tsx) | TypeScript React | 92 | 11 | 8 | 111 | +| [src/Views/Common/Buttons/style.tsx](/src/Views/Common/Buttons/style.tsx) | TypeScript React | 36 | 0 | 3 | 39 | +| [src/Views/Common/Card/index.tsx](/src/Views/Common/Card/index.tsx) | TypeScript React | 14 | 0 | 4 | 18 | +| [src/Views/Common/Card/style.ts](/src/Views/Common/Card/style.ts) | TypeScript | 3 | 0 | 2 | 5 | +| [src/Views/Common/ChainAccountDropdowns/index.tsx](/src/Views/Common/ChainAccountDropdowns/index.tsx) | TypeScript React | 120 | 5 | 9 | 134 | +| [src/Views/Common/ChainAccountDropdowns/style.ts](/src/Views/Common/ChainAccountDropdowns/style.ts) | TypeScript | 88 | 37 | 6 | 131 | +| [src/Views/Common/Chips/index.tsx](/src/Views/Common/Chips/index.tsx) | TypeScript React | 10 | 0 | 4 | 14 | +| [src/Views/Common/Chips/style.ts](/src/Views/Common/Chips/style.ts) | TypeScript | 12 | 0 | 2 | 14 | +| [src/Views/Common/ClientOnlyPortal/index.tsx](/src/Views/Common/ClientOnlyPortal/index.tsx) | TypeScript React | 18 | 1 | 5 | 24 | +| [src/Views/Common/ClientOnlyPortal/styles.ts](/src/Views/Common/ClientOnlyPortal/styles.ts) | TypeScript | 3 | 0 | 2 | 5 | +| [src/Views/Common/ConfirmationModal/index.tsx](/src/Views/Common/ConfirmationModal/index.tsx) | TypeScript React | 151 | 10 | 3 | 164 | +| [src/Views/Common/ConfirmationModal/style.ts](/src/Views/Common/ConfirmationModal/style.ts) | TypeScript | 116 | 4 | 8 | 128 | +| [src/Views/Common/ConnectionDrawer/index.tsx](/src/Views/Common/ConnectionDrawer/index.tsx) | TypeScript React | 113 | 1 | 10 | 124 | +| [src/Views/Common/ConnectionDrawer/style.ts](/src/Views/Common/ConnectionDrawer/style.ts) | TypeScript | 56 | 7 | 4 | 67 | +| [src/Views/Common/Dialog/index.tsx](/src/Views/Common/Dialog/index.tsx) | TypeScript React | 75 | 4 | 11 | 90 | +| [src/Views/Common/Disclaimer/index.tsx](/src/Views/Common/Disclaimer/index.tsx) | TypeScript React | 13 | 0 | 4 | 17 | +| [src/Views/Common/Disclaimer/style.ts](/src/Views/Common/Disclaimer/style.ts) | TypeScript | 12 | 0 | 2 | 14 | +| [src/Views/Common/DraggableModal/index.tsx](/src/Views/Common/DraggableModal/index.tsx) | TypeScript React | 38 | 0 | 7 | 45 | +| [src/Views/Common/DraggableModal/style.ts](/src/Views/Common/DraggableModal/style.ts) | TypeScript | 33 | 1 | 4 | 38 | +| [src/Views/Common/Dropdown/index.tsx](/src/Views/Common/Dropdown/index.tsx) | TypeScript React | 91 | 2 | 6 | 99 | +| [src/Views/Common/Dropdown/styles.ts](/src/Views/Common/Dropdown/styles.ts) | TypeScript | 294 | 41 | 11 | 346 | +| [src/Views/Common/GraphView/AreaData.ts](/src/Views/Common/GraphView/AreaData.ts) | TypeScript | 152 | 0 | 1 | 153 | +| [src/Views/Common/GraphView/PriceData.ts](/src/Views/Common/GraphView/PriceData.ts) | TypeScript | 152 | 0 | 1 | 153 | +| [src/Views/Common/GraphView/PriceData2.ts](/src/Views/Common/GraphView/PriceData2.ts) | TypeScript | 58 | 0 | 1 | 59 | +| [src/Views/Common/GraphView/index.tsx](/src/Views/Common/GraphView/index.tsx) | TypeScript React | 8 | 0 | 3 | 11 | +| [src/Views/Common/GraphView/style.ts](/src/Views/Common/GraphView/style.ts) | TypeScript | 29 | 0 | 2 | 31 | +| [src/Views/Common/Header.tsx](/src/Views/Common/Header.tsx) | TypeScript React | 71 | 0 | 3 | 74 | +| [src/Views/Common/HeroCard/index.tsx](/src/Views/Common/HeroCard/index.tsx) | TypeScript React | 27 | 0 | 4 | 31 | +| [src/Views/Common/HeroCard/style.ts](/src/Views/Common/HeroCard/style.ts) | TypeScript | 35 | 21 | 4 | 60 | +| [src/Views/Common/InfoCard/index.tsx](/src/Views/Common/InfoCard/index.tsx) | TypeScript React | 17 | 0 | 4 | 21 | +| [src/Views/Common/InfoCard/style.ts](/src/Views/Common/InfoCard/style.ts) | TypeScript | 14 | 2 | 2 | 18 | +| [src/Views/Common/InfoTooltip/index.tsx](/src/Views/Common/InfoTooltip/index.tsx) | TypeScript React | 12 | 0 | 3 | 15 | +| [src/Views/Common/LeftBorderedDiv.tsx](/src/Views/Common/LeftBorderedDiv.tsx) | TypeScript React | 30 | 1 | 6 | 37 | +| [src/Views/Common/Missing/index.tsx](/src/Views/Common/Missing/index.tsx) | TypeScript React | 46 | 4 | 5 | 55 | +| [src/Views/Common/Missing/style.ts](/src/Views/Common/Missing/style.ts) | TypeScript | 22 | 0 | 2 | 24 | +| [src/Views/Common/Mobile/AlignerMobile/index.tsx](/src/Views/Common/Mobile/AlignerMobile/index.tsx) | TypeScript React | 65 | 1 | 5 | 71 | +| [src/Views/Common/Mobile/AlignerMobile/style.ts](/src/Views/Common/Mobile/AlignerMobile/style.ts) | TypeScript | 8 | 0 | 2 | 10 | +| [src/Views/Common/Mobile/AssetCellMobile/index.tsx](/src/Views/Common/Mobile/AssetCellMobile/index.tsx) | TypeScript React | 68 | 0 | 5 | 73 | +| [src/Views/Common/Mobile/AssetCellMobile/style.ts](/src/Views/Common/Mobile/AssetCellMobile/style.ts) | TypeScript | 36 | 2 | 3 | 41 | +| [src/Views/Common/NFTtier.tsx](/src/Views/Common/NFTtier.tsx) | TypeScript React | 17 | 0 | 2 | 19 | +| [src/Views/Common/Navbar/AccountDropdown.tsx](/src/Views/Common/Navbar/AccountDropdown.tsx) | TypeScript React | 86 | 3 | 8 | 97 | +| [src/Views/Common/Navbar/BufferLogo.tsx](/src/Views/Common/Navbar/BufferLogo.tsx) | TypeScript React | 21 | 0 | 2 | 23 | +| [src/Views/Common/Navbar/Tab.tsx](/src/Views/Common/Navbar/Tab.tsx) | TypeScript React | 20 | 0 | 2 | 22 | +| [src/Views/Common/Navbar/TabsDropDown.tsx](/src/Views/Common/Navbar/TabsDropDown.tsx) | TypeScript React | 85 | 0 | 4 | 89 | +| [src/Views/Common/Navbar/chainDropdown.tsx](/src/Views/Common/Navbar/chainDropdown.tsx) | TypeScript React | 125 | 0 | 7 | 132 | +| [src/Views/Common/Navbar/index.tsx](/src/Views/Common/Navbar/index.tsx) | TypeScript React | 67 | 17 | 8 | 92 | +| [src/Views/Common/Navbar/socialLinks.ts](/src/Views/Common/Navbar/socialLinks.ts) | TypeScript | 42 | 0 | 2 | 44 | +| [src/Views/Common/Notification/index.tsx](/src/Views/Common/Notification/index.tsx) | TypeScript React | 29 | 0 | 4 | 33 | +| [src/Views/Common/Notification/notifications.tsx](/src/Views/Common/Notification/notifications.tsx) | TypeScript React | 18 | 0 | 2 | 20 | +| [src/Views/Common/Notification/warning.tsx](/src/Views/Common/Notification/warning.tsx) | TypeScript React | 30 | 0 | 2 | 32 | +| [src/Views/Common/RowStrip/index.tsx](/src/Views/Common/RowStrip/index.tsx) | TypeScript React | 15 | 0 | 4 | 19 | +| [src/Views/Common/RowStrip/style.ts](/src/Views/Common/RowStrip/style.ts) | TypeScript | 59 | 2 | 2 | 63 | +| [src/Views/Common/SocialMedia/MobileFooter/index.tsx](/src/Views/Common/SocialMedia/MobileFooter/index.tsx) | TypeScript React | 23 | 0 | 5 | 28 | +| [src/Views/Common/SocialMedia/MobileFooter/style.tsx](/src/Views/Common/SocialMedia/MobileFooter/style.tsx) | TypeScript React | 21 | 0 | 2 | 23 | +| [src/Views/Common/SocialMedia/TimerStyle.tsx](/src/Views/Common/SocialMedia/TimerStyle.tsx) | TypeScript React | 23 | 0 | 3 | 26 | +| [src/Views/Common/SocialMedia/index.tsx](/src/Views/Common/SocialMedia/index.tsx) | TypeScript React | 63 | 0 | 4 | 67 | +| [src/Views/Common/SocialMedia/style.tsx](/src/Views/Common/SocialMedia/style.tsx) | TypeScript React | 41 | 0 | 3 | 44 | +| [src/Views/Common/TabList/index.tsx](/src/Views/Common/TabList/index.tsx) | TypeScript React | 41 | 0 | 5 | 46 | +| [src/Views/Common/TabList/style.ts](/src/Views/Common/TabList/style.ts) | TypeScript | 26 | 1 | 2 | 29 | +| [src/Views/Common/TabSwitch/index.tsx](/src/Views/Common/TabSwitch/index.tsx) | TypeScript React | 27 | 0 | 3 | 30 | +| [src/Views/Common/TabSwitch/style.ts](/src/Views/Common/TabSwitch/style.ts) | TypeScript | 20 | 0 | 2 | 22 | +| [src/Views/Common/TableComponents/TableComponents.tsx](/src/Views/Common/TableComponents/TableComponents.tsx) | TypeScript React | 103 | 0 | 9 | 112 | +| [src/Views/Common/TableComponents/style.ts](/src/Views/Common/TableComponents/style.ts) | TypeScript | 75 | 1 | 6 | 82 | +| [src/Views/Common/TableMobile/index.tsx](/src/Views/Common/TableMobile/index.tsx) | TypeScript React | 150 | 0 | 11 | 161 | +| [src/Views/Common/TableMobile/style.ts](/src/Views/Common/TableMobile/style.ts) | TypeScript | 97 | 4 | 5 | 106 | +| [src/Views/Common/TitleHead.tsx](/src/Views/Common/TitleHead.tsx) | TypeScript React | 7 | 0 | 2 | 9 | +| [src/Views/Common/TnCModal.tsx](/src/Views/Common/TnCModal.tsx) | TypeScript React | 51 | 3 | 5 | 59 | +| [src/Views/Common/Toast/index.tsx](/src/Views/Common/Toast/index.tsx) | TypeScript React | 147 | 23 | 11 | 181 | +| [src/Views/Common/Toast/style.ts](/src/Views/Common/Toast/style.ts) | TypeScript | 138 | 4 | 8 | 150 | +| [src/Views/Common/Toggler/index.tsx](/src/Views/Common/Toggler/index.tsx) | TypeScript React | 29 | 0 | 3 | 32 | +| [src/Views/Common/Toggler/style.ts](/src/Views/Common/Toggler/style.ts) | TypeScript | 32 | 0 | 2 | 34 | +| [src/Views/Common/Tooltip/index.tsx](/src/Views/Common/Tooltip/index.tsx) | TypeScript React | 30 | 0 | 2 | 32 | +| [src/Views/Common/Tooltip/style.ts](/src/Views/Common/Tooltip/style.ts) | TypeScript | 101 | 0 | 14 | 115 | +| [src/Views/Common/Tooltips/Display/index.tsx](/src/Views/Common/Tooltips/Display/index.tsx) | TypeScript React | 114 | 19 | 8 | 141 | +| [src/Views/Common/Tooltips/index.tsx](/src/Views/Common/Tooltips/index.tsx) | TypeScript React | 35 | 1 | 5 | 41 | +| [src/Views/Common/TopBanner/index.tsx](/src/Views/Common/TopBanner/index.tsx) | TypeScript React | 20 | 1 | 4 | 25 | +| [src/Views/Common/TopBanner/style.ts](/src/Views/Common/TopBanner/style.ts) | TypeScript | 28 | 1 | 3 | 32 | +| [src/Views/Common/Transition/index.tsx](/src/Views/Common/Transition/index.tsx) | TypeScript React | 53 | 3 | 6 | 62 | +| [src/Views/Common/Transitions/Horizontal/index.tsx](/src/Views/Common/Transitions/Horizontal/index.tsx) | TypeScript React | 24 | 0 | 3 | 27 | +| [src/Views/Common/Transitions/Horizontal/style.ts](/src/Views/Common/Transitions/Horizontal/style.ts) | TypeScript | 25 | 1 | 4 | 30 | +| [src/Views/Common/Transitions/Vertical/index.tsx](/src/Views/Common/Transitions/Vertical/index.tsx) | TypeScript React | 20 | 0 | 3 | 23 | +| [src/Views/Common/Transitions/Vertical/style.ts](/src/Views/Common/Transitions/Vertical/style.ts) | TypeScript | 11 | 0 | 2 | 13 | +| [src/Views/Common/TryTestnet/index.tsx](/src/Views/Common/TryTestnet/index.tsx) | TypeScript React | 38 | 0 | 4 | 42 | +| [src/Views/Common/TryTestnet/style.ts](/src/Views/Common/TryTestnet/style.ts) | TypeScript | 45 | 7 | 5 | 57 | +| [src/Views/Common/TypeChip/index.tsx](/src/Views/Common/TypeChip/index.tsx) | TypeScript React | 8 | 0 | 3 | 11 | +| [src/Views/Common/UnorderedList/index.tsx](/src/Views/Common/UnorderedList/index.tsx) | TypeScript React | 19 | 0 | 4 | 23 | +| [src/Views/Common/UnorderedList/style.ts](/src/Views/Common/UnorderedList/style.ts) | TypeScript | 34 | 1 | 2 | 37 | +| [src/Views/Common/V2-Button/ButtonLoader.tsx](/src/Views/Common/V2-Button/ButtonLoader.tsx) | TypeScript React | 13 | 0 | 3 | 16 | +| [src/Views/Common/V2-Button/index.tsx](/src/Views/Common/V2-Button/index.tsx) | TypeScript React | 99 | 0 | 3 | 102 | +| [src/Views/Common/V2-Drawer/connectionDrawer.tsx](/src/Views/Common/V2-Drawer/connectionDrawer.tsx) | TypeScript React | 118 | 1 | 5 | 124 | +| [src/Views/Common/V2-Drawer/index.tsx](/src/Views/Common/V2-Drawer/index.tsx) | TypeScript React | 38 | 0 | 4 | 42 | +| [src/Views/Common/VersionChip/index.tsx](/src/Views/Common/VersionChip/index.tsx) | TypeScript React | 17 | 0 | 3 | 20 | +| [src/Views/Common/VersionChip/style.ts](/src/Views/Common/VersionChip/style.ts) | TypeScript | 13 | 0 | 2 | 15 | +| [src/Views/Common/VerticalTabs/index.tsx](/src/Views/Common/VerticalTabs/index.tsx) | TypeScript React | 85 | 3 | 5 | 93 | +| [src/Views/Common/VerticalTabs/style.ts](/src/Views/Common/VerticalTabs/style.ts) | TypeScript | 44 | 0 | 2 | 46 | +| [src/Views/Common/pagination.tsx](/src/Views/Common/pagination.tsx) | TypeScript React | 43 | 0 | 4 | 47 | +| [src/Views/Common/v2-AssetDropDown/index.tsx](/src/Views/Common/v2-AssetDropDown/index.tsx) | TypeScript React | 166 | 4 | 8 | 178 | +| [src/Views/Common/v2-AssetDropDown/style.ts](/src/Views/Common/v2-AssetDropDown/style.ts) | TypeScript | 86 | 2 | 6 | 94 | +| [src/Views/Common/v2-BufferInput/index.tsx](/src/Views/Common/v2-BufferInput/index.tsx) | TypeScript React | 100 | 5 | 3 | 108 | +| [src/Views/Common/v2-BufferInput/style.ts](/src/Views/Common/v2-BufferInput/style.ts) | TypeScript | 39 | 2 | 5 | 46 | +| [src/Views/Common/v2-OptionsDropdown/index.tsx](/src/Views/Common/v2-OptionsDropdown/index.tsx) | TypeScript React | 89 | 11 | 4 | 104 | +| [src/Views/Common/v2-OptionsDropdown/style.ts](/src/Views/Common/v2-OptionsDropdown/style.ts) | TypeScript | 49 | 1 | 3 | 53 | +| [src/Views/Earn/Components/Card.tsx](/src/Views/Earn/Components/Card.tsx) | TypeScript React | 35 | 0 | 4 | 39 | +| [src/Views/Earn/Components/Divider.tsx](/src/Views/Earn/Components/Divider.tsx) | TypeScript React | 3 | 0 | 1 | 4 | +| [src/Views/Earn/Components/EarnButtons.tsx](/src/Views/Earn/Components/EarnButtons.tsx) | TypeScript React | 185 | 27 | 6 | 218 | +| [src/Views/Earn/Components/EarnCards.tsx](/src/Views/Earn/Components/EarnCards.tsx) | TypeScript React | 594 | 22 | 10 | 626 | +| [src/Views/Earn/Components/ExchangeIcon.tsx](/src/Views/Earn/Components/ExchangeIcon.tsx) | TypeScript React | 6 | 0 | 2 | 8 | +| [src/Views/Earn/Components/Section.tsx](/src/Views/Earn/Components/Section.tsx) | TypeScript React | 27 | 0 | 1 | 28 | +| [src/Views/Earn/Components/VestCards.tsx](/src/Views/Earn/Components/VestCards.tsx) | TypeScript React | 138 | 2 | 4 | 144 | +| [src/Views/Earn/Config/Abis/BFR.json](/src/Views/Earn/Config/Abis/BFR.json) | JSON | 686 | 0 | 0 | 686 | +| [src/Views/Earn/Config/Abis/BLP.json](/src/Views/Earn/Config/Abis/BLP.json) | JSON | 1,154 | 0 | 0 | 1,154 | +| [src/Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json](/src/Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json) | JSON | 1,193 | 0 | 0 | 1,193 | +| [src/Views/Earn/Config/Abis/EsBFR.json](/src/Views/Earn/Config/Abis/EsBFR.json) | JSON | 686 | 0 | 0 | 686 | +| [src/Views/Earn/Config/Abis/RewardRouterV2.json](/src/Views/Earn/Config/Abis/RewardRouterV2.json) | JSON | 661 | 0 | 0 | 661 | +| [src/Views/Earn/Config/Abis/RewardTracker.json](/src/Views/Earn/Config/Abis/RewardTracker.json) | JSON | 911 | 0 | 0 | 911 | +| [src/Views/Earn/Config/Abis/Token.json](/src/Views/Earn/Config/Abis/Token.json) | JSON | 338 | 0 | 0 | 338 | +| [src/Views/Earn/Config/Abis/Vester.json](/src/Views/Earn/Config/Abis/Vester.json) | JSON | 1,024 | 0 | 0 | 1,024 | +| [src/Views/Earn/Config/Address.tsx](/src/Views/Earn/Config/Address.tsx) | TypeScript React | 45 | 0 | 2 | 47 | +| [src/Views/Earn/Hooks/useEarnWriteCalls.tsx](/src/Views/Earn/Hooks/useEarnWriteCalls.tsx) | TypeScript React | 131 | 27 | 13 | 171 | +| [src/Views/Earn/Hooks/useTokenomicsMulticall.tsx](/src/Views/Earn/Hooks/useTokenomicsMulticall.tsx) | TypeScript React | 990 | 32 | 30 | 1,052 | +| [src/Views/Earn/Modals/buy.tsx](/src/Views/Earn/Modals/buy.tsx) | TypeScript React | 177 | 0 | 5 | 182 | +| [src/Views/Earn/Modals/claim.tsx](/src/Views/Earn/Modals/claim.tsx) | TypeScript React | 92 | 17 | 2 | 111 | +| [src/Views/Earn/Modals/compound.tsx](/src/Views/Earn/Modals/compound.tsx) | TypeScript React | 162 | 19 | 3 | 184 | +| [src/Views/Earn/Modals/deposit.tsx](/src/Views/Earn/Modals/deposit.tsx) | TypeScript React | 241 | 2 | 9 | 252 | +| [src/Views/Earn/Modals/index.tsx](/src/Views/Earn/Modals/index.tsx) | TypeScript React | 103 | 0 | 14 | 117 | +| [src/Views/Earn/Modals/sell.tsx](/src/Views/Earn/Modals/sell.tsx) | TypeScript React | 138 | 13 | 5 | 156 | +| [src/Views/Earn/Modals/stake.tsx](/src/Views/Earn/Modals/stake.tsx) | TypeScript React | 197 | 0 | 10 | 207 | +| [src/Views/Earn/earnAtom.ts](/src/Views/Earn/earnAtom.ts) | TypeScript | 150 | 0 | 10 | 160 | +| [src/Views/Earn/index.tsx](/src/Views/Earn/index.tsx) | TypeScript React | 117 | 3 | 8 | 128 | +| [src/Views/Faucet/Faucet.json](/src/Views/Faucet/Faucet.json) | JSON | 213 | 0 | 1 | 214 | +| [src/Views/Faucet/index.tsx](/src/Views/Faucet/index.tsx) | TypeScript React | 160 | 10 | 7 | 177 | +| [src/Views/Faucet/style.ts](/src/Views/Faucet/style.ts) | TypeScript | 81 | 10 | 5 | 96 | +| [src/Views/Pro/Common/TableHead.tsx](/src/Views/Pro/Common/TableHead.tsx) | TypeScript React | 22 | 0 | 1 | 23 | +| [src/Views/Referral/Components/PlainCard.tsx](/src/Views/Referral/Components/PlainCard.tsx) | TypeScript React | 36 | 0 | 3 | 39 | +| [src/Views/Referral/Components/ReferralModal.tsx](/src/Views/Referral/Components/ReferralModal.tsx) | TypeScript React | 56 | 1 | 4 | 61 | +| [src/Views/Referral/Components/ReferralTable.tsx](/src/Views/Referral/Components/ReferralTable.tsx) | TypeScript React | 64 | 0 | 6 | 70 | +| [src/Views/Referral/Components/ReferralTableBody.tsx](/src/Views/Referral/Components/ReferralTableBody.tsx) | TypeScript React | 10 | 0 | 3 | 13 | +| [src/Views/Referral/Config/Address.ts](/src/Views/Referral/Config/Address.ts) | TypeScript | 15 | 0 | 2 | 17 | +| [src/Views/Referral/Config/ReferralABI.json](/src/Views/Referral/Config/ReferralABI.json) | JSON | 287 | 0 | 1 | 288 | +| [src/Views/Referral/Hooks/useAppliedReferral.ts](/src/Views/Referral/Hooks/useAppliedReferral.ts) | TypeScript | 21 | 0 | 3 | 24 | +| [src/Views/Referral/Hooks/useCodeOwner.ts](/src/Views/Referral/Hooks/useCodeOwner.ts) | TypeScript | 34 | 1 | 4 | 39 | +| [src/Views/Referral/Hooks/useReferralWriteCalls.ts](/src/Views/Referral/Hooks/useReferralWriteCalls.ts) | TypeScript | 18 | 0 | 6 | 24 | +| [src/Views/Referral/Hooks/useUserCode.ts](/src/Views/Referral/Hooks/useUserCode.ts) | TypeScript | 33 | 0 | 6 | 39 | +| [src/Views/Referral/Hooks/useUserReferralData.ts](/src/Views/Referral/Hooks/useUserReferralData.ts) | TypeScript | 60 | 0 | 8 | 68 | +| [src/Views/Referral/Utils/isNullAds.ts](/src/Views/Referral/Utils/isNullAds.ts) | TypeScript | 10 | 0 | 2 | 12 | +| [src/Views/Referral/Utils/useReferralCode.tsx](/src/Views/Referral/Utils/useReferralCode.tsx) | TypeScript React | 13 | 1 | 2 | 16 | +| [src/Views/Referral/index.tsx](/src/Views/Referral/index.tsx) | TypeScript React | 463 | 17 | 24 | 504 | +| [src/Views/Referral/referralAtom.ts](/src/Views/Referral/referralAtom.ts) | TypeScript | 8 | 0 | 4 | 12 | +| [src/Views/V2-Leaderboard/Components/ContestFilterDD/index.tsx](/src/Views/V2-Leaderboard/Components/ContestFilterDD/index.tsx) | TypeScript React | 74 | 0 | 8 | 82 | +| [src/Views/V2-Leaderboard/Components/Rank.tsx](/src/Views/V2-Leaderboard/Components/Rank.tsx) | TypeScript React | 25 | 0 | 3 | 28 | +| [src/Views/V2-Leaderboard/Components/TableAligner/index.tsx](/src/Views/V2-Leaderboard/Components/TableAligner/index.tsx) | TypeScript React | 51 | 0 | 3 | 54 | +| [src/Views/V2-Leaderboard/Components/TableAligner/style.ts](/src/Views/V2-Leaderboard/Components/TableAligner/style.ts) | TypeScript | 9 | 5 | 2 | 16 | +| [src/Views/V2-Leaderboard/Components/TopData/index.tsx](/src/Views/V2-Leaderboard/Components/TopData/index.tsx) | TypeScript React | 24 | 0 | 1 | 25 | +| [src/Views/V2-Leaderboard/Components/Trophy.tsx](/src/Views/V2-Leaderboard/Components/Trophy.tsx) | TypeScript React | 52 | 0 | 2 | 54 | +| [src/Views/V2-Leaderboard/Daily/DailyMobileTable.tsx](/src/Views/V2-Leaderboard/Daily/DailyMobileTable.tsx) | TypeScript React | 186 | 6 | 9 | 201 | +| [src/Views/V2-Leaderboard/Daily/DailyWebTable.tsx](/src/Views/V2-Leaderboard/Daily/DailyWebTable.tsx) | TypeScript React | 243 | 10 | 12 | 265 | +| [src/Views/V2-Leaderboard/Daily/index.tsx](/src/Views/V2-Leaderboard/Daily/index.tsx) | TypeScript React | 94 | 0 | 8 | 102 | +| [src/Views/V2-Leaderboard/Daily/stlye.ts](/src/Views/V2-Leaderboard/Daily/stlye.ts) | TypeScript | 55 | 1 | 7 | 63 | +| [src/Views/V2-Leaderboard/Hooks/useDayOfTournament.ts](/src/Views/V2-Leaderboard/Hooks/useDayOfTournament.ts) | TypeScript | 19 | 2 | 2 | 23 | +| [src/Views/V2-Leaderboard/Hooks/useLeaderboardQuery.ts](/src/Views/V2-Leaderboard/Hooks/useLeaderboardQuery.ts) | TypeScript | 132 | 10 | 12 | 154 | +| [src/Views/V2-Leaderboard/Incentivised/index.tsx](/src/Views/V2-Leaderboard/Incentivised/index.tsx) | TypeScript React | 161 | 91 | 11 | 263 | +| [src/Views/V2-Leaderboard/PNL/index.tsx](/src/Views/V2-Leaderboard/PNL/index.tsx) | TypeScript React | 100 | 12 | 7 | 119 | +| [src/Views/V2-Leaderboard/PNL/style.ts](/src/Views/V2-Leaderboard/PNL/style.ts) | TypeScript | 2 | 0 | 2 | 4 | +| [src/Views/V2-Leaderboard/PNL/tabFilter.tsx](/src/Views/V2-Leaderboard/PNL/tabFilter.tsx) | TypeScript React | 70 | 0 | 6 | 76 | +| [src/Views/V2-Leaderboard/Sidebar/index.tsx](/src/Views/V2-Leaderboard/Sidebar/index.tsx) | TypeScript React | 199 | 178 | 20 | 397 | +| [src/Views/V2-Leaderboard/Sidebar/style.ts](/src/Views/V2-Leaderboard/Sidebar/style.ts) | TypeScript | 61 | 0 | 7 | 68 | +| [src/Views/V2-Leaderboard/Weekly/index.tsx](/src/Views/V2-Leaderboard/Weekly/index.tsx) | TypeScript React | 289 | 99 | 14 | 402 | +| [src/Views/V2-Leaderboard/Weekly/style.ts](/src/Views/V2-Leaderboard/Weekly/style.ts) | TypeScript | 117 | 4 | 5 | 126 | +| [src/Views/V2-Leaderboard/atom.ts](/src/Views/V2-Leaderboard/atom.ts) | TypeScript | 36 | 0 | 5 | 41 | +| [src/Views/V2-Leaderboard/drawers.tsx](/src/Views/V2-Leaderboard/drawers.tsx) | TypeScript React | 9 | 0 | 2 | 11 | +| [src/Views/V2-Leaderboard/index.tsx](/src/Views/V2-Leaderboard/index.tsx) | TypeScript React | 25 | 1 | 3 | 29 | +| [src/Views/V2-Leaderboard/interfaces.ts](/src/Views/V2-Leaderboard/interfaces.ts) | TypeScript | 23 | 0 | 1 | 24 | +| [src/Views/V2-Leaderboard/style.ts](/src/Views/V2-Leaderboard/style.ts) | TypeScript | 38 | 3 | 4 | 45 | +| [src/assets/Elements/BackIcon.tsx](/src/assets/Elements/BackIcon.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [src/assets/Elements/BufferLogo.tsx](/src/assets/Elements/BufferLogo.tsx) | TypeScript React | 21 | 0 | 3 | 24 | +| [src/assets/Elements/Closelogo.tsx](/src/assets/Elements/Closelogo.tsx) | TypeScript React | 25 | 0 | 3 | 28 | +| [src/assets/Elements/Disconnect.tsx](/src/assets/Elements/Disconnect.tsx) | TypeScript React | 19 | 0 | 3 | 22 | +| [src/assets/Elements/ErrorIcon.tsx](/src/assets/Elements/ErrorIcon.tsx) | TypeScript React | 31 | 0 | 2 | 33 | +| [src/assets/Elements/FailedSuccess.tsx](/src/assets/Elements/FailedSuccess.tsx) | TypeScript React | 26 | 0 | 3 | 29 | +| [src/assets/Elements/MenuLogo.tsx](/src/assets/Elements/MenuLogo.tsx) | TypeScript React | 31 | 0 | 3 | 34 | +| [src/assets/Elements/SuccessIcon.tsx](/src/assets/Elements/SuccessIcon.tsx) | TypeScript React | 26 | 0 | 3 | 29 | +| [src/assets/Elements/ToastCrossIcon.tsx](/src/assets/Elements/ToastCrossIcon.tsx) | TypeScript React | 15 | 0 | 3 | 18 | +| [src/assets/Elements/wallet.tsx](/src/assets/Elements/wallet.tsx) | TypeScript React | 28 | 0 | 3 | 31 | +| [src/assets/Social/DD/discord.tsx](/src/assets/Social/DD/discord.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [src/assets/Social/DD/gitbook.tsx](/src/assets/Social/DD/gitbook.tsx) | TypeScript React | 18 | 0 | 3 | 21 | +| [src/assets/Social/DD/github.tsx](/src/assets/Social/DD/github.tsx) | TypeScript React | 18 | 0 | 3 | 21 | +| [src/assets/Social/DD/medium.tsx](/src/assets/Social/DD/medium.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [src/assets/Social/DD/telegram.tsx](/src/assets/Social/DD/telegram.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [src/assets/Social/DD/twitter.tsx](/src/assets/Social/DD/twitter.tsx) | TypeScript React | 16 | 0 | 3 | 19 | +| [src/atoms/generic.ts](/src/atoms/generic.ts) | TypeScript | 14 | 0 | 3 | 17 | +| [src/contexts/Global/index.tsx](/src/contexts/Global/index.tsx) | TypeScript React | 29 | 2 | 8 | 39 | +| [src/contexts/Global/interfaces.tsx](/src/contexts/Global/interfaces.tsx) | TypeScript React | 25 | 0 | 1 | 26 | +| [src/contexts/Global/reducer.ts](/src/contexts/Global/reducer.ts) | TypeScript | 358 | 7 | 10 | 375 | +| [src/contexts/Refresher/index.tsx](/src/contexts/Refresher/index.tsx) | TypeScript React | 56 | 2 | 11 | 69 | +| [src/contexts/Toast/index.tsx](/src/contexts/Toast/index.tsx) | TypeScript React | 18 | 0 | 4 | 22 | +| [src/contexts/Toast/reducer.ts](/src/contexts/Toast/reducer.ts) | TypeScript | 47 | 2 | 3 | 52 | +| [src/contexts/index.tsx](/src/contexts/index.tsx) | TypeScript React | 11 | 0 | 2 | 13 | +| [src/globalStore.ts](/src/globalStore.ts) | TypeScript | 3 | 0 | 2 | 5 | +| [src/main.tsx](/src/main.tsx) | TypeScript React | 30 | 0 | 3 | 33 | +| [src/redux/consents/reducer.ts](/src/redux/consents/reducer.ts) | TypeScript | 29 | 0 | 2 | 31 | +| [src/redux/index.ts](/src/redux/index.ts) | TypeScript | 55 | 0 | 3 | 58 | +| [src/redux/persisted/reducer.ts](/src/redux/persisted/reducer.ts) | TypeScript | 43 | 0 | 2 | 45 | +| [src/redux/rootReducer.ts](/src/redux/rootReducer.ts) | TypeScript | 8 | 0 | 2 | 10 | +| [src/vite-env.d.ts](/src/vite-env.d.ts) | TypeScript | 0 | 1 | 1 | 2 | +| [tailwind.config.cjs](/tailwind.config.cjs) | JavaScript | 128 | 1 | 1 | 130 | +| [tsconfig.json](/tsconfig.json) | JSON with Comments | 4 | 34 | 0 | 38 | +| [tsconfig.node.json](/tsconfig.node.json) | JSON | 9 | 0 | 1 | 10 | +| [vite.config.ts](/vite.config.ts) | TypeScript | 12 | 4 | 4 | 20 | + +[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-01-21_11-36-14/diff-details.md b/.VSCodeCounter/2023-01-21_11-36-14/diff-details.md new file mode 100644 index 0000000..dee2bc8 --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/diff-details.md @@ -0,0 +1,15 @@ +# Diff Details + +Date : 2023-01-21 11:36:14 + +Directory /home/amit/buffer-ui + +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | + +[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details \ No newline at end of file diff --git a/.VSCodeCounter/2023-01-21_11-36-14/diff.csv b/.VSCodeCounter/2023-01-21_11-36-14/diff.csv new file mode 100644 index 0000000..b7d8d75 --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/diff.csv @@ -0,0 +1,2 @@ +"filename", "language", "", "comment", "blank", "total" +"Total", "-", , 0, 0, 0 \ No newline at end of file diff --git a/.VSCodeCounter/2023-01-21_11-36-14/diff.md b/.VSCodeCounter/2023-01-21_11-36-14/diff.md new file mode 100644 index 0000000..c24f0e3 --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/diff.md @@ -0,0 +1,19 @@ +# Diff Summary + +Date : 2023-01-21 11:36:14 + +Directory /home/amit/buffer-ui + +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | + +[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-01-21_11-36-14/diff.txt b/.VSCodeCounter/2023-01-21_11-36-14/diff.txt new file mode 100644 index 0000000..c39f0cf --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/diff.txt @@ -0,0 +1,22 @@ +Date : 2023-01-21 11:36:14 +Directory : /home/amit/buffer-ui +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +Languages ++----------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------+------------+------------+------------+------------+------------+ ++----------+------------+------------+------------+------------+------------+ + +Directories ++------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++------+------------+------------+------------+------------+------------+ ++------+------------+------------+------------+------------+------------+ + +Files ++----------+----------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++----------+----------+------------+------------+------------+------------+ +| Total | | 0 | 0 | 0 | 0 | ++----------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2023-01-21_11-36-14/results.csv b/.VSCodeCounter/2023-01-21_11-36-14/results.csv new file mode 100644 index 0000000..342b0ad --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/results.csv @@ -0,0 +1,823 @@ +"filename", "language", "JavaScript", "TypeScript", "JSON", "CSS", "TypeScript React", "JavaScript React", "HTML", "JSON with Comments", "XML", "Markdown", "comment", "blank", "total" +"/home/amit/buffer-ui/.eslintrc.js", "JavaScript", 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 65 +"/home/amit/buffer-ui/.prettierrc", "JSON", 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 11 +"/home/amit/buffer-ui/config/axios.tsx", "TypeScript React", 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 6, 49 +"/home/amit/buffer-ui/config/connectors.ts", "TypeScript", 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 18 +"/home/amit/buffer-ui/config/index.ts", "TypeScript", 0, 460, 0, 0, 0, 0, 0, 0, 0, 0, 128, 26, 614 +"/home/amit/buffer-ui/fonts.css", "CSS", 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 86, 4, 118 +"/home/amit/buffer-ui/index.css", "CSS", 0, 0, 0, 2297, 0, 0, 0, 0, 0, 0, 132, 431, 2860 +"/home/amit/buffer-ui/index.html", "HTML", 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 1, 16 +"/home/amit/buffer-ui/package-lock.json", "JSON", 0, 0, 15318, 0, 0, 0, 0, 0, 0, 0, 0, 1, 15319 +"/home/amit/buffer-ui/package.json", "JSON", 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 1, 90 +"/home/amit/buffer-ui/postcss.config.cjs", "JavaScript", 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7 +"/home/amit/buffer-ui/public/ComponentSVGS/CoinsUp.tsx", "TypeScript React", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 2, 27 +"/home/amit/buffer-ui/public/ComponentSVGS/DownTriangle.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/public/ComponentSVGS/Edit.tsx", "TypeScript React", 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 3, 29 +"/home/amit/buffer-ui/public/ComponentSVGS/Quick.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/public/ComponentSVGS/Star.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 2, 20 +"/home/amit/buffer-ui/public/ComponentSVGS/UpTriangle.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/public/ComponentSVGS/bufferLogo.tsx", "TypeScript React", 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 3, 24 +"/home/amit/buffer-ui/public/ComponentSVGS/wallet.tsx", "TypeScript React", 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 3, 31 +"/home/amit/buffer-ui/public/LeaderBoard/Daily.tsx", "TypeScript React", 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 4, 13 +"/home/amit/buffer-ui/public/LeaderBoard/PNL.tsx", "TypeScript React", 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 3, 29 +"/home/amit/buffer-ui/public/LeaderBoard/Trophy.tsx", "TypeScript React", 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 3, 39 +"/home/amit/buffer-ui/public/Social/Blue/Discord.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 1, 30 +"/home/amit/buffer-ui/public/Social/Blue/Telegram.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 4 +"/home/amit/buffer-ui/public/Social/Blue/Twitter.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 4 +"/home/amit/buffer-ui/public/Social/DD/discord.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/public/Social/DD/gitbook.tsx", "TypeScript React", 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 3, 15 +"/home/amit/buffer-ui/public/Social/DD/github.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/public/Social/DD/medium.tsx", "TypeScript React", 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 4, 11 +"/home/amit/buffer-ui/public/Social/DD/telegram.tsx", "TypeScript React", 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 3, 20 +"/home/amit/buffer-ui/public/Social/DD/twitter.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/public/Social/Discord.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 1, 30 +"/home/amit/buffer-ui/public/Social/Telegram.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 4 +"/home/amit/buffer-ui/public/Social/Twitter.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 4 +"/home/amit/buffer-ui/public/Social/discord.tsx", "TypeScript React", 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 3, 13 +"/home/amit/buffer-ui/public/Social/github.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/public/Social/medium.tsx", "TypeScript React", 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 3, 13 +"/home/amit/buffer-ui/public/Social/telegram.tsx", "TypeScript React", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 3, 14 +"/home/amit/buffer-ui/public/Social/twitter.tsx", "TypeScript React", 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 3, 10 +"/home/amit/buffer-ui/public/Triangle_Down.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 4 +"/home/amit/buffer-ui/public/Triangle_Up.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 4 +"/home/amit/buffer-ui/public/shareModal/ShareIcon.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/public/site.webmanifest", "JSON", 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +"/home/amit/buffer-ui/public/static/charting_library/ar-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1529.30943dc0c4f6a9ddaaa6.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1829.1d41207f53b42b7a2cba.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2391.07217bcacc2a0c3b5526.js", "JavaScript", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2402.4ce4e3425dce9bceed85.js", "JavaScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2444.89916595bdde00535f06.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2614.9b290389192f690dd33c.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2614.9b290389192f690dd33c.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/306.547d2bcc2b4af2c3a922.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3223.783979b0683ba0a325de.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3223.783979b0683ba0a325de.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3463.65423ae1c1f3301a6bc0.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3590.9ba8c934cf8289ea708f.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3708.b21be6dee862262304cf.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3708.b21be6dee862262304cf.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3876.fbb750fd312778403036.css", "CSS", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3876.fbb750fd312778403036.rtl.css", "CSS", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4093.8b84af355871cc700cb8.js", "JavaScript", 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4940.6aeb4a6f298568a71905.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4985.6abfd9453389325f7436.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/4985.6abfd9453389325f7436.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5019.5e7f23f81809b4af9b28.js", "JavaScript", 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5030.3f535fc5b94422bc913a.js", "JavaScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5254.776db7a6898f96fdd81f.js", "JavaScript", 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5383.22c502e2ba80f4b4fc32.js", "JavaScript", 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5551.407668886ab3145df3b5.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5551.407668886ab3145df3b5.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/587.144039f5c693ee079edb.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/587.144039f5c693ee079edb.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/708.7f4b99c8dfd3f4cda1d1.js", "JavaScript", 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7365.fb40181a46db7cf2d8b0.js", "JavaScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7371.81bb2bc38b8ec23308e1.js", "JavaScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 +"/home/amit/buffer-ui/public/static/charting_library/bundles/739.ac9682232ee125adb331.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7400.30502d5397989951046f.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7400.30502d5397989951046f.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7591.cea4aee1089cbf340ee7.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7607.99350c6a482907066b03.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7607.99350c6a482907066b03.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7703.be823882173b57ef030c.js", "JavaScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7799.681df0cf83dba8ef3cc5.js", "JavaScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/7962.eed46026b7fd77b57cb3.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8193.01090d4d9384825040ad.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8193.01090d4d9384825040ad.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8434.99d7135551ebc9e84366.js", "JavaScript", 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/847.0e2ec220427667ac4afb.js", "JavaScript", 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8625.2718a9cf5d44ca766c9d.js", "JavaScript", 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8680.a98f949c3d71bf32d2c7.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8933.9d36818107c1f276f948.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8933.9d36818107c1f276f948.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9256.c6fbca120598828685f3.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9256.c6fbca120598828685f3.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9628.8f8514eafeb1da3bbdee.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9772.0967c8fb7beae0056cf7.js", "JavaScript", 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.rtl.css", "CSS", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/add-compare-dialog.0e0f4b81cf8178378c14.js", "JavaScript", 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10 +"/home/amit/buffer-ui/public/static/charting_library/bundles/change-interval-dialog.15fea722d205fbdde7d1.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/chart-bottom-toolbar.05a57b6389d7ddc2a351.js", "JavaScript", 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 +"/home/amit/buffer-ui/public/static/charting_library/bundles/chart-event-hint.cb517ed06ee9725b8a76.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/chart-screenshot-hint.6d0f2e7ac3cebd7b650c.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/chart-widget-gui.9891573a47b469e91df5.js", "JavaScript", 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55 +"/home/amit/buffer-ui/public/static/charting_library/bundles/compare-model.08356f64fbfcdcdc3776.js", "JavaScript", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 +"/home/amit/buffer-ui/public/static/charting_library/bundles/context-menu-renderer.9a0385060e4241baf12d.js", "JavaScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 +"/home/amit/buffer-ui/public/static/charting_library/bundles/currency-label-menu.6dde8a17826b1fb3712c.js", "JavaScript", 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 +"/home/amit/buffer-ui/public/static/charting_library/bundles/custom-intervals-add-dialog.3506afd973a0a43dc42a.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/drawing-toolbar.8399395e7103ba30e756.js", "JavaScript", 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13 +"/home/amit/buffer-ui/public/static/charting_library/bundles/export-data.429732b8c4ae52bcac7d.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/floating-toolbars.913e12fe2b73959f49ca.js", "JavaScript", 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23 +"/home/amit/buffer-ui/public/static/charting_library/bundles/full-tooltips-popup.c97f4f88ba2959dd66bb.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/general-chart-properties-dialog.742b577b84c6f9fdb26f.js", "JavaScript", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 +"/home/amit/buffer-ui/public/static/charting_library/bundles/general-property-page.86f95ff011c77a44071d.js", "JavaScript", 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 +"/home/amit/buffer-ui/public/static/charting_library/bundles/get-error-card.dfe1662b6e974e519b68.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/go-to-date-dialog-impl.dadfac644efdcd254d91.js", "JavaScript", 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11 +"/home/amit/buffer-ui/public/static/charting_library/bundles/hammerjs.c69dac2431e462e3fc71.js", "JavaScript", 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 +"/home/amit/buffer-ui/public/static/charting_library/bundles/header-toolbar.d302e948bcd970bc1897.js", "JavaScript", 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 +"/home/amit/buffer-ui/public/static/charting_library/bundles/library.1fbbf36d35f97ccfbd00.js", "JavaScript", 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 613, 0, 770 +"/home/amit/buffer-ui/public/static/charting_library/bundles/line-tools-icons.2ebfde56d4ef0139cc64.js", "JavaScript", 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28 +"/home/amit/buffer-ui/public/static/charting_library/bundles/load-chart-dialog.418fa6c99a7803f5cc10.js", "JavaScript", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 +"/home/amit/buffer-ui/public/static/charting_library/bundles/lollipop-tooltip-renderer.76349a508c9e9d8b8af2.js", "JavaScript", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 +"/home/amit/buffer-ui/public/static/charting_library/bundles/lt-pane-views.a54c6c59d86ab4d390bf.js", "JavaScript", 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101 +"/home/amit/buffer-ui/public/static/charting_library/bundles/lt-property-pages-with-definitions.ced0df22c184338b3396.js", "JavaScript", 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39 +"/home/amit/buffer-ui/public/static/charting_library/bundles/manage-drawings-dialog.ce43d4b42ea019cc5518.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/new-confirm-inputs-dialog.88813711209cf273d882.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/new-edit-object-dialog.e069889125138e0cf97a.js", "JavaScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19 +"/home/amit/buffer-ui/public/static/charting_library/bundles/object-tree-dialog.ec325666665d14d13dd5.js", "JavaScript", 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57 +"/home/amit/buffer-ui/public/static/charting_library/bundles/react.13567dea1b1173009d35.js", "JavaScript", 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45 +"/home/amit/buffer-ui/public/static/charting_library/bundles/redux.e48a9c831cd697f8a38d.js", "JavaScript", 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 +"/home/amit/buffer-ui/public/static/charting_library/bundles/restricted-toolset.8f58ab2a275c8e1f72b1.js", "JavaScript", 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30 +"/home/amit/buffer-ui/public/static/charting_library/bundles/runtime.f1210af3518e525e94d7.js", "JavaScript", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 +"/home/amit/buffer-ui/public/static/charting_library/bundles/series-icons-map.9d92dfe755e0c94c0c8d.js", "JavaScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 +"/home/amit/buffer-ui/public/static/charting_library/bundles/series-pane-views.d49b8ec162ba0c43260c.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/share-chart-to-social-utils.830f7e41690ac8285de5.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/show-theme-save-dialog.b99932982e0d8e47d562.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/simple-dialog.4965864a1f87b628af01.js", "JavaScript", 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 +"/home/amit/buffer-ui/public/static/charting_library/bundles/source-properties-editor.6854af2788acfa4ef4d4.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/study-inputs-pane-views.1763111669ad2eaa2f52.js", "JavaScript", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 +"/home/amit/buffer-ui/public/static/charting_library/bundles/study-market.aaf59e23fa593dd538bc.js", "JavaScript", 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 +"/home/amit/buffer-ui/public/static/charting_library/bundles/study-pane-views.d9686c973fa1f1a93ff4.js", "JavaScript", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 +"/home/amit/buffer-ui/public/static/charting_library/bundles/study-property-pages-with-definitions.72083d0a0868166ca2b7.js", "JavaScript", 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 +"/home/amit/buffer-ui/public/static/charting_library/bundles/study-template-dialog.fd30d0463b77c8858d31.js", "JavaScript", 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 +"/home/amit/buffer-ui/public/static/charting_library/bundles/symbol-info-dialog-impl.6aa56a0ae77115394b2f.js", "JavaScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 +"/home/amit/buffer-ui/public/static/charting_library/bundles/symbol-search-dialog.4e741ef8a94e2a1cdf8c.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/take-chart-image-impl.013638618dfc6d4c1eaa.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/bundles/vendors.3197279804dd7477f3fb.js", "JavaScript", 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33 +"/home/amit/buffer-ui/public/static/charting_library/charting_library.cjs.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 +"/home/amit/buffer-ui/public/static/charting_library/charting_library.d.ts", "TypeScript", 0, 2258, 0, 0, 0, 0, 0, 0, 0, 0, 267, 4, 2529 +"/home/amit/buffer-ui/public/static/charting_library/charting_library.esm.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 +"/home/amit/buffer-ui/public/static/charting_library/charting_library.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 +"/home/amit/buffer-ui/public/static/charting_library/charting_library.standalone.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 +"/home/amit/buffer-ui/public/static/charting_library/cs-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/da_DK-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/datafeed-api.d.ts", "TypeScript", 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 81, 4, 290 +"/home/amit/buffer-ui/public/static/charting_library/de-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/el-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/en-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/es-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/et_EE-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/fa-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/fr-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/he_IL-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/hu_HU-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/id_ID-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/it-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/ja-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/ko-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/ms_MY-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/nl_NL-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/no-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/package.json", "JSON", 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9 +"/home/amit/buffer-ui/public/static/charting_library/pl-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/pt-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/ro-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/ru-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/sk_SK-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/sv-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/th-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/tr-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/vi-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/zh-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/charting_library/zh_TW-tv-chart.e2a841ff.html", "HTML", 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/public/static/datafeeds/README.md", "Markdown", 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 4 +"/home/amit/buffer-ui/public/static/datafeeds/udf/README.md", "Markdown", 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 19, 47 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/data-pulse-provider.js", "JavaScript", 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 105 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/helpers.js", "JavaScript", 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 21 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/history-provider.js", "JavaScript", 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 74 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/iquotes-provider.js", "JavaScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/quotes-provider.js", "JavaScript", 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 26 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/quotes-pulse-provider.js", "JavaScript", 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 45 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/requester.js", "JavaScript", 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 29 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/symbols-storage.js", "JavaScript", 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 182 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/udf-compatible-datafeed-base.js", "JavaScript", 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 253 +"/home/amit/buffer-ui/public/static/datafeeds/udf/lib/udf-compatible-datafeed.js", "JavaScript", 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 11 +"/home/amit/buffer-ui/public/static/datafeeds/udf/package.json", "JSON", 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 18 +"/home/amit/buffer-ui/public/static/datafeeds/udf/rollup.config.js", "JavaScript", 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 26 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/data-pulse-provider.ts", "TypeScript", 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 5, 28, 153 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/helpers.ts", "TypeScript", 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 39 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/history-provider.ts", "TypeScript", 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 135 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/iquotes-provider.ts", "TypeScript", 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 15 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/quotes-provider.ts", "TypeScript", 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 38 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/quotes-pulse-provider.ts", "TypeScript", 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 86 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/requester.ts", "TypeScript", 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9, 40 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/symbols-storage.ts", "TypeScript", 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 6, 52, 302 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/udf-compatible-datafeed-base.ts", "TypeScript", 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 7, 57, 370 +"/home/amit/buffer-ui/public/static/datafeeds/udf/src/udf-compatible-datafeed.ts", "TypeScript", 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 12 +"/home/amit/buffer-ui/public/static/datafeeds/udf/tsconfig.json", "JSON with Comments", 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 26 +"/home/amit/buffer-ui/public/wallets/coin98.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1, 10 +"/home/amit/buffer-ui/public/wallets/coinbase.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1, 10 +"/home/amit/buffer-ui/public/wallets/metamask.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1, 10 +"/home/amit/buffer-ui/public/wallets/tally_ho.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1, 10 +"/home/amit/buffer-ui/public/wallets/trust_wallet.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 4 +"/home/amit/buffer-ui/public/wallets/wallet_connect.svg", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 +"/home/amit/buffer-ui/src/ABIs/BFR.json", "JSON", 0, 0, 686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686 +"/home/amit/buffer-ui/src/ABIs/BLP.json", "JSON", 0, 0, 1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154 +"/home/amit/buffer-ui/src/ABIs/BufferBinaryIBFRPoolBinaryV2.json", "JSON", 0, 0, 1193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193 +"/home/amit/buffer-ui/src/ABIs/EsBFR.json", "JSON", 0, 0, 686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686 +"/home/amit/buffer-ui/src/ABIs/Multicall.json", "JSON", 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 1, 166 +"/home/amit/buffer-ui/src/ABIs/Multicallv1.json", "JSON", 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 1, 142 +"/home/amit/buffer-ui/src/ABIs/Multicallv2.json", "JSON", 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141 +"/home/amit/buffer-ui/src/ABIs/PriceProvider.json", "JSON", 0, 0, 528, 0, 0, 0, 0, 0, 0, 0, 0, 19, 547 +"/home/amit/buffer-ui/src/ABIs/RewardRouterV2.json", "JSON", 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661 +"/home/amit/buffer-ui/src/ABIs/RewardTracker.json", "JSON", 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911 +"/home/amit/buffer-ui/src/ABIs/Token.json", "JSON", 0, 0, 338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338 +"/home/amit/buffer-ui/src/ABIs/Vester.json", "JSON", 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024 +"/home/amit/buffer-ui/src/App.tsx", "TypeScript React", 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 4, 96 +"/home/amit/buffer-ui/src/AppStyles.ts", "TypeScript", 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 51 +"/home/amit/buffer-ui/src/Config/axios.ts", "TypeScript", 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 49 +"/home/amit/buffer-ui/src/Config/getTabs.ts", "TypeScript", 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 12, 3, 85 +"/home/amit/buffer-ui/src/Config/globalAtoms.ts", "TypeScript", 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6 +"/home/amit/buffer-ui/src/Config/index.ts", "TypeScript", 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 10, 9, 181 +"/home/amit/buffer-ui/src/Config/wagmiClient.ts", "TypeScript", 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 56 +"/home/amit/buffer-ui/src/Hooks/Contracts/useLiquidityContract.tsx", "TypeScript React", 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 9, 6, 88 +"/home/amit/buffer-ui/src/Hooks/Contracts/useNFTContract.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 17, 5, 40 +"/home/amit/buffer-ui/src/Hooks/Utilities/useClickAway.tsx", "TypeScript React", 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 1, 2, 18 +"/home/amit/buffer-ui/src/Hooks/Utilities/useDateFormatter.ts", "TypeScript", 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 44 +"/home/amit/buffer-ui/src/Hooks/Utilities/useDeboncedEffect.tsx", "TypeScript React", 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 2, 9 +"/home/amit/buffer-ui/src/Hooks/Utilities/useOpenConnectionDrawer.ts", "TypeScript", 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 36 +"/home/amit/buffer-ui/src/Hooks/Utilities/useStopWatch.ts", "TypeScript", 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 110 +"/home/amit/buffer-ui/src/Hooks/Utilities/useTImer.ts", "TypeScript", 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 9 +"/home/amit/buffer-ui/src/Hooks/Utilities/useTimeout.tsx", "TypeScript React", 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 8, 31 +"/home/amit/buffer-ui/src/Hooks/Utilities/useToggle.ts", "TypeScript", 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8 +"/home/amit/buffer-ui/src/Hooks/Utilities/useWriteCallValidations.tsx", "TypeScript React", 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 4, 34 +"/home/amit/buffer-ui/src/Hooks/useActiveChain.ts", "TypeScript", 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 16 +"/home/amit/buffer-ui/src/Hooks/useAheadTrades.ts", "TypeScript", 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, 21, 18, 326 +"/home/amit/buffer-ui/src/Hooks/useClickAway.ts", "TypeScript", 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 19 +"/home/amit/buffer-ui/src/Hooks/useGenericHook.tsx", "TypeScript React", 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 3, 8, 73 +"/home/amit/buffer-ui/src/Hooks/useNFTGraph.ts", "TypeScript", 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 65 +"/home/amit/buffer-ui/src/Hooks/useOpenConnectionDrawer.ts", "TypeScript", 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 36 +"/home/amit/buffer-ui/src/Hooks/useQuery.ts", "TypeScript", 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9 +"/home/amit/buffer-ui/src/Hooks/useUserAccount.ts", "TypeScript", 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 12 +"/home/amit/buffer-ui/src/Hooks/useWalletConnect.ts", "TypeScript", 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 11, 6, 61 +"/home/amit/buffer-ui/src/Hooks/useWriteCall.ts", "TypeScript", 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 13, 17, 207 +"/home/amit/buffer-ui/src/Interfaces/interfaces.ts", "TypeScript", 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 22 +"/home/amit/buffer-ui/src/Providers/configuredChains.ts", "TypeScript", 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40 +"/home/amit/buffer-ui/src/Providers/index.tsx", "TypeScript React", 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 2, 5, 110 +"/home/amit/buffer-ui/src/Providers/styles.ts", "TypeScript", 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 51 +"/home/amit/buffer-ui/src/Providers/wagmiClient.tsx", "TypeScript React", 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 5, 6, 73 +"/home/amit/buffer-ui/src/SVG/Elements/BackButtonHalf.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/src/SVG/Elements/BufferLogo.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/SVG/Elements/Chart.tsx", "TypeScript React", 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 3, 35 +"/home/amit/buffer-ui/src/SVG/Elements/Closelogo.tsx", "TypeScript React", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 3, 28 +"/home/amit/buffer-ui/src/SVG/Elements/CopyIcon.tsx", "TypeScript React", 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22 +"/home/amit/buffer-ui/src/SVG/Elements/DDIcon.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/SVG/Elements/Disconnect.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/src/SVG/Elements/DownIcon.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/src/SVG/Elements/DropDownArrow.tsx", "TypeScript React", 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 1, 14 +"/home/amit/buffer-ui/src/SVG/Elements/EarnIcon.tsx", "TypeScript React", 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 1, 46 +"/home/amit/buffer-ui/src/SVG/Elements/EditIcon.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/SVG/Elements/ErrorIcon.tsx", "TypeScript React", 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 3, 31 +"/home/amit/buffer-ui/src/SVG/Elements/ErrorIconSmall.tsx", "TypeScript React", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 3, 14 +"/home/amit/buffer-ui/src/SVG/Elements/FailedSuccess.tsx", "TypeScript React", 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 3, 30 +"/home/amit/buffer-ui/src/SVG/Elements/FailureIcon.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/src/SVG/Elements/GlobeIcon.tsx", "TypeScript React", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 3, 14 +"/home/amit/buffer-ui/src/SVG/Elements/GridViewIcon.tsx", "TypeScript React", 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 3, 49 +"/home/amit/buffer-ui/src/SVG/Elements/InfoIcon.tsx", "TypeScript React", 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 5, 83 +"/home/amit/buffer-ui/src/SVG/Elements/LinkTargetIcon.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/SVG/Elements/ListViewIcon.tsx", "TypeScript React", 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 3, 38 +"/home/amit/buffer-ui/src/SVG/Elements/MenuLogo.tsx", "TypeScript React", 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 3, 34 +"/home/amit/buffer-ui/src/SVG/Elements/Moneybag.tsx", "TypeScript React", 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 3, 31 +"/home/amit/buffer-ui/src/SVG/Elements/NoMatchFound.tsx", "TypeScript React", 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 3, 18 +"/home/amit/buffer-ui/src/SVG/Elements/NotificationCount.tsx", "TypeScript React", 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 3, 10 +"/home/amit/buffer-ui/src/SVG/Elements/PNLL.tsx", "TypeScript React", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 3, 28 +"/home/amit/buffer-ui/src/SVG/Elements/Payout.jsx", "JavaScript React", 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/SVG/Elements/PeckSheildLogo.tsx", "TypeScript React", 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 3, 29 +"/home/amit/buffer-ui/src/SVG/Elements/RetryIcon.tsx", "TypeScript React", 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 3, 27 +"/home/amit/buffer-ui/src/SVG/Elements/Search.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/SVG/Elements/ShareIconComp.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/SVG/Elements/ShieldIcon.tsx", "TypeScript React", 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 1, 79 +"/home/amit/buffer-ui/src/SVG/Elements/SuccessIcon.tsx", "TypeScript React", 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 3, 30 +"/home/amit/buffer-ui/src/SVG/Elements/SwapIcon.tsx", "TypeScript React", 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 3, 20 +"/home/amit/buffer-ui/src/SVG/Elements/TimerIcon.tsx", "TypeScript React", 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 3, 27 +"/home/amit/buffer-ui/src/SVG/Elements/ToastCrossIcon.tsx", "TypeScript React", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 3, 14 +"/home/amit/buffer-ui/src/SVG/Elements/TofuNFT.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/src/SVG/Elements/Unseen.tsx", "TypeScript React", 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 3, 11 +"/home/amit/buffer-ui/src/SVG/Elements/UpIcon.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/src/SVG/Elements/YellowWarning.tsx", "TypeScript React", 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 3, 23 +"/home/amit/buffer-ui/src/SVG/Elements/sidebarCollpaseIcon.tsx", "TypeScript React", 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 1, 3, 27 +"/home/amit/buffer-ui/src/SVG/Elements/usdc.tsx", "TypeScript React", 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2, 4, 39 +"/home/amit/buffer-ui/src/SVG/PeckShield.tsx", "TypeScript React", 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 3, 32 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/CallBoosters.tsx", "TypeScript React", 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 4, 37 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/Doccumentation.tsx", "TypeScript React", 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 3, 23 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/Home.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 4, 23 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/Leaderboard.tsx", "TypeScript React", 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 3, 26 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/Liquidity.tsx", "TypeScript React", 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 4, 104 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/Options.tsx", "TypeScript React", 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 3, 54 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/PG.tsx", "TypeScript React", 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 3, 17 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/PGCard.tsx", "TypeScript React", 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 3, 39 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/Referralcon.tsx", "TypeScript React", 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 3, 52 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/RevenueSharing.tsx", "TypeScript React", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 2, 27 +"/home/amit/buffer-ui/src/SVG/SidebarIcons/Staking.tsx", "TypeScript React", 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 3, 31 +"/home/amit/buffer-ui/src/SVG/buttons/Chart.tsx", "TypeScript React", 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 3, 15 +"/home/amit/buffer-ui/src/SVG/buttons/back.tsx", "TypeScript React", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 3, 14 +"/home/amit/buffer-ui/src/SVG/buttons/cross.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/src/SVG/buttons/enter.tsx", "TypeScript React", 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 3, 15 +"/home/amit/buffer-ui/src/SVG/buttons/enterDisabled.tsx", "TypeScript React", 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 3, 15 +"/home/amit/buffer-ui/src/SVG/buttons/exit.tsx", "TypeScript React", 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 3, 15 +"/home/amit/buffer-ui/src/SVG/frontArrow.tsx", "TypeScript React", 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 3, 17 +"/home/amit/buffer-ui/src/TradingView/ChartTypeSelectionDD.tsx", "TypeScript React", 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 30, 4, 183 +"/home/amit/buffer-ui/src/TradingView/TV.tsx", "TypeScript React", 0, 0, 0, 0, 473, 0, 0, 0, 0, 0, 47, 37, 557 +"/home/amit/buffer-ui/src/TradingView/TZ.json", "JSON", 0, 0, 2390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2390 +"/home/amit/buffer-ui/src/TradingView/useDataFeed.tsx", "TypeScript React", 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 469, 23, 858 +"/home/amit/buffer-ui/src/Utils/Contract/getContract.tsx", "TypeScript React", 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 2, 8 +"/home/amit/buffer-ui/src/Utils/Contract/getError.tsx", "TypeScript React", 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 1, 3, 49 +"/home/amit/buffer-ui/src/Utils/Contract/getNodeUrl.ts", "TypeScript", 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 13 +"/home/amit/buffer-ui/src/Utils/Contract/getProvider.tsx", "TypeScript React", 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 3, 13 +"/home/amit/buffer-ui/src/Utils/Contract/multiContract.ts", "TypeScript", 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6, 294 +"/home/amit/buffer-ui/src/Utils/DOMutils.ts", "TypeScript", 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 31 +"/home/amit/buffer-ui/src/Utils/Dates/displayDateTime.ts", "TypeScript", 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 81 +"/home/amit/buffer-ui/src/Utils/DisplayDate.tsx", "TypeScript React", 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2, 35 +"/home/amit/buffer-ui/src/Utils/Formulas/blackscholes.js", "JavaScript", 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 4, 42 +"/home/amit/buffer-ui/src/Utils/JSUtils/createArray.ts", "TypeScript", 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4 +"/home/amit/buffer-ui/src/Utils/JSUtils/isCharPresent.tsx", "TypeScript React", 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 9 +"/home/amit/buffer-ui/src/Utils/NumString/eToWide.tsx", "TypeScript React", 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 9, 7, 104 +"/home/amit/buffer-ui/src/Utils/NumString/formatNumStr.tsx", "TypeScript React", 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 7, 3, 39 +"/home/amit/buffer-ui/src/Utils/NumString/getSignificantNum.tsx", "TypeScript React", 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 6, 3, 73 +"/home/amit/buffer-ui/src/Utils/NumString/index.tsx", "TypeScript React", 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 1, 8 +"/home/amit/buffer-ui/src/Utils/NumString/kpiChartPoints.ts", "TypeScript", 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 22, 6, 89 +"/home/amit/buffer-ui/src/Utils/NumString/numtostr.tsx", "TypeScript React", 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 1, 13 +"/home/amit/buffer-ui/src/Utils/NumString/putChartPoints.ts", "TypeScript", 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 42 +"/home/amit/buffer-ui/src/Utils/NumString/stringArithmatics.tsx", "TypeScript React", 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 1, 2, 92 +"/home/amit/buffer-ui/src/Utils/NumString/toFixed.tsx", "TypeScript React", 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 3, 5, 20 +"/home/amit/buffer-ui/src/Utils/PosthogCaptureAccount.tsx", "TypeScript React", 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 6 +"/home/amit/buffer-ui/src/Utils/Staking/utils.ts", "TypeScript", 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 8, 6, 76 +"/home/amit/buffer-ui/src/Utils/StringToBytes32.ts", "TypeScript", 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 10 +"/home/amit/buffer-ui/src/Utils/Time.ts", "TypeScript", 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 8, 6, 76 +"/home/amit/buffer-ui/src/Utils/apis/api.ts", "TypeScript", 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 127 +"/home/amit/buffer-ui/src/Utils/apis/contextInitializers.ts", "TypeScript", 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 43 +"/home/amit/buffer-ui/src/Utils/apis/getAbi.ts", "TypeScript", 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 10 +"/home/amit/buffer-ui/src/Utils/apis/getMetaData.ts", "TypeScript", 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 34 +"/home/amit/buffer-ui/src/Utils/appControls/changeRoute.ts", "TypeScript", 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 13 +"/home/amit/buffer-ui/src/Utils/appControls/convertibleChartPoints.ts", "TypeScript", 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54 +"/home/amit/buffer-ui/src/Utils/appControls/getBrowserName.ts", "TypeScript", 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 20 +"/home/amit/buffer-ui/src/Utils/appControls/getSupportedPages.ts", "TypeScript", 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 17 +"/home/amit/buffer-ui/src/Utils/appControls/mobileDrawerHandlers.ts", "TypeScript", 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 20, 12, 76 +"/home/amit/buffer-ui/src/Utils/appControls/pageSupported.ts", "TypeScript", 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 20 +"/home/amit/buffer-ui/src/Utils/appControls/redirectChain.ts", "TypeScript", 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7 +"/home/amit/buffer-ui/src/Utils/appControls/redirectRoute.ts", "TypeScript", 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7 +"/home/amit/buffer-ui/src/Utils/appControls/removeMargin.ts", "TypeScript", 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35 +"/home/amit/buffer-ui/src/Utils/appControls/replaceAsset.ts", "TypeScript", 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7 +"/home/amit/buffer-ui/src/Utils/bigNumber.ts", "TypeScript", 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 20 +"/home/amit/buffer-ui/src/Utils/captureScreenShot.ts", "TypeScript", 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4 +"/home/amit/buffer-ui/src/Utils/chartDataPoints.ts", "TypeScript", 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 74 +"/home/amit/buffer-ui/src/Utils/copyToClipBoard.ts", "TypeScript", 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 33 +"/home/amit/buffer-ui/src/Utils/copyToClipboard.ts", "TypeScript", 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 33 +"/home/amit/buffer-ui/src/Utils/display.tsx", "TypeScript React", 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 5, 33 +"/home/amit/buffer-ui/src/Utils/getDeepCopy.ts", "TypeScript", 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 14 +"/home/amit/buffer-ui/src/Utils/getErrorFromCode.ts", "TypeScript", 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 58 +"/home/amit/buffer-ui/src/Utils/getLogs.ts", "TypeScript", 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 70 +"/home/amit/buffer-ui/src/Utils/isUserPaused.ts", "TypeScript", 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 18, 11, 81 +"/home/amit/buffer-ui/src/Utils/kpiChartPoints.ts", "TypeScript", 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 60 +"/home/amit/buffer-ui/src/Utils/logger.tsx", "TypeScript React", 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 5 +"/home/amit/buffer-ui/src/Utils/memoize.tsx", "TypeScript React", 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 1, 11 +"/home/amit/buffer-ui/src/Utils/putChartPoints.ts", "TypeScript", 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 27, 5, 81 +"/home/amit/buffer-ui/src/Utils/speedtest.js", "JavaScript", 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 25 +"/home/amit/buffer-ui/src/Utils/successChartPoints.ts", "TypeScript", 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 85 +"/home/amit/buffer-ui/src/Utils/useIbfrBalance.ts", "TypeScript", 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 34 +"/home/amit/buffer-ui/src/Utils/useMultiCallSWR.tsx", "TypeScript React", 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 4, 30 +"/home/amit/buffer-ui/src/Utils/useMulticall.ts", "TypeScript", 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 30 +"/home/amit/buffer-ui/src/Utils/useReadCall.ts", "TypeScript", 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 57 +"/home/amit/buffer-ui/src/Utils/web3react/wallet.ts", "TypeScript", 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 13, 6, 97 +"/home/amit/buffer-ui/src/Views/BinaryOptions/ABI/ConfigAbi.json", "JSON", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/src/Views/BinaryOptions/ABI/MaxTrade.json", "JSON", 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 81 +"/home/amit/buffer-ui/src/Views/BinaryOptions/ABI/OptionMeta.json", "JSON", 0, 0, 779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 779 +"/home/amit/buffer-ui/src/Views/BinaryOptions/ABI/configABI.json", "JSON", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"/home/amit/buffer-ui/src/Views/BinaryOptions/ABI/optionsABI.json", "JSON", 0, 0, 865, 0, 0, 0, 0, 0, 0, 0, 0, 1, 866 +"/home/amit/buffer-ui/src/Views/BinaryOptions/ABI/poolABI.json", "JSON", 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 1, 655 +"/home/amit/buffer-ui/src/Views/BinaryOptions/ABI/routerABI.json", "JSON", 0, 0, 501, 0, 0, 0, 0, 0, 0, 0, 0, 1, 502 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Address.ts", "TypeScript", 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/src/Views/BinaryOptions/ComingSoonModal.tsx", "TypeScript React", 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 5, 4, 29 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/BinaryInfo.tsx", "TypeScript React", 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 7, 116 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/Navbar.tsx", "TypeScript React", 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 3, 39 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/Screens.tsx", "TypeScript React", 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 1, 1, 52 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/buyOptionsTab.tsx", "TypeScript React", 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 1, 3, 44 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/historyTab.tsx", "TypeScript React", 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 4, 18, 332 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/SlippageModal.tsx", "TypeScript React", 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 8, 6, 184 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/approveModal.tsx", "TypeScript React", 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 22, 5, 177 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/shareModal.tsx", "TypeScript React", 0, 0, 0, 0, 315, 0, 0, 0, 0, 0, 19, 20, 354 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Components/stats.tsx", "TypeScript React", 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 4, 5, 53 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/AssetTable.tsx", "TypeScript React", 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 1, 10, 161 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/AssetTypeSelector.tsx", "TypeScript React", 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 7, 3, 57 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/FavouriteAssetDD.tsx", "TypeScript React", 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 1, 4, 92 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Favourites.tsx", "TypeScript React", 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 8, 11, 223 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/LastDayChange.tsx", "TypeScript React", 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 2, 23 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getAssetTypes.ts", "TypeScript", 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 11 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getFavouriteKey.ts", "TypeScript", 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 11 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getFilteredAssets.ts", "TypeScript", 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 44 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/style.ts", "TypeScript", 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 9, 5, 176 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/BinaryOptionsABI.json", "JSON", 0, 0, 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1680 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useActiveAssetState.ts", "TypeScript", 0, 238, 0, 0, 0, 0, 0, 0, 0, 0, 41, 20, 299 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryActions.tsx", "TypeScript React", 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 7, 13, 236 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryActiveChainId.ts", "TypeScript", 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryHistory.ts", "TypeScript", 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 20, 7, 110 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useFavouritesFns.ts", "TypeScript", 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 91 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useGetDataFromConfig.ts", "TypeScript", 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 13 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useHostName.ts", "TypeScript", 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 12 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useIsMerketOpen.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 2, 21 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useLatest24hrChange.ts", "TypeScript", 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 2, 7, 47 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/usePastTradeQuery.ts", "TypeScript", 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, 35, 21, 290 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/usePastTradeQueryByFetch.ts", "TypeScript", 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 1, 10, 196 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useTradeHistory.ts", "TypeScript", 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 233 +"/home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingWarning.tsx", "TypeScript React", 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 5, 40 +"/home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingsInfo.tsx", "TypeScript React", 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 5, 29 +"/home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingsModal.tsx", "TypeScript React", 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 6, 107 +"/home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/BuyModal/index.tsx", "TypeScript React", 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 11, 31, 428 +"/home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/BuyModal/style.ts", "TypeScript", 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 138 +"/home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/GraphModal/index.tsx", "TypeScript React", 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 2, 3, 44 +"/home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/GraphModal/style.ts", "TypeScript", 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 49 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/ActiveAsset.tsx", "TypeScript React", 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 4, 115 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/BuyUsdcLink.tsx", "TypeScript React", 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 2, 2, 39 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/CustomOption.tsx", "TypeScript React", 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 3, 7, 320 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DateDropdown.tsx", "TypeScript React", 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 1, 4, 50 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DrawerChild.tsx", "TypeScript React", 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 2, 4, 50 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DurationPicker.tsx", "TypeScript React", 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 7, 6, 132 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/PoolDropDown.tsx", "TypeScript React", 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 8, 103 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/SettingsIcon.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 1, 17 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/TimeSelector.tsx", "TypeScript React", 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 36, 19, 383 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/index.tsx", "TypeScript React", 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 4, 46 +"/home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/style.ts", "TypeScript", 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 37, 18, 259 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Tables/Desktop.tsx", "TypeScript React", 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 15, 23, 365 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Tables/Mobile.tsx", "TypeScript React", 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 4, 12 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Tables/OrderBookTable/index.tsx", "TypeScript React", 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 44, 19, 300 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Tables/OrderBookTable/style.ts", "TypeScript", 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 94 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Tables/TableComponents.tsx", "TypeScript React", 0, 0, 0, 0, 679, 0, 0, 0, 0, 0, 27, 35, 741 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Tables/index.tsx", "TypeScript React", 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 5, 4, 46 +"/home/amit/buffer-ui/src/Views/BinaryOptions/Tables/style.ts", "TypeScript", 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 15 +"/home/amit/buffer-ui/src/Views/BinaryOptions/config.json", "JSON", 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 11, 589 +"/home/amit/buffer-ui/src/Views/BinaryOptions/discarded.json", "JSON", 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 4, 347 +"/home/amit/buffer-ui/src/Views/BinaryOptions/index.tsx", "TypeScript React", 0, 0, 0, 0, 353, 0, 0, 0, 0, 0, 11, 15, 379 +"/home/amit/buffer-ui/src/Views/BinaryOptions/store.ts", "TypeScript", 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 99 +"/home/amit/buffer-ui/src/Views/BinaryOptions/style.ts", "TypeScript", 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 13, 12, 220 +"/home/amit/buffer-ui/src/Views/Common/AccountInfo/index.tsx", "TypeScript React", 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 1, 7, 59 +"/home/amit/buffer-ui/src/Views/Common/AccountInfo/style.ts", "TypeScript", 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 49 +"/home/amit/buffer-ui/src/Views/Common/Aligner/index.tsx", "TypeScript React", 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 4, 68 +"/home/amit/buffer-ui/src/Views/Common/Aligner/style.ts", "TypeScript", 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 38 +"/home/amit/buffer-ui/src/Views/Common/AreaChart/index.tsx", "TypeScript React", 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 22, 7, 333 +"/home/amit/buffer-ui/src/Views/Common/AreaChart/style.ts", "TypeScript", 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5 +"/home/amit/buffer-ui/src/Views/Common/AssetInfo/index.tsx", "TypeScript React", 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 5, 7, 179 +"/home/amit/buffer-ui/src/Views/Common/AssetInfo/styles.ts", "TypeScript", 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 22, 4, 138 +"/home/amit/buffer-ui/src/Views/Common/Banner/index.tsx", "TypeScript React", 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 3, 48 +"/home/amit/buffer-ui/src/Views/Common/Banner/style.ts", "TypeScript", 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 71 +"/home/amit/buffer-ui/src/Views/Common/Buffer-Dropdown/index.tsx", "TypeScript React", 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 4, 4, 89 +"/home/amit/buffer-ui/src/Views/Common/Buffer-Dropdown/style.tsx", "TypeScript React", 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 2, 120 +"/home/amit/buffer-ui/src/Views/Common/BufferAnimatableTab.tsx", "TypeScript React", 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 3, 79 +"/home/amit/buffer-ui/src/Views/Common/BufferCheckbox/index.tsx", "TypeScript React", 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 10, 4, 73 +"/home/amit/buffer-ui/src/Views/Common/BufferCheckbox/style.ts", "TypeScript", 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37 +"/home/amit/buffer-ui/src/Views/Common/BufferDisclaimer/index.tsx", "TypeScript React", 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 1, 4, 38 +"/home/amit/buffer-ui/src/Views/Common/BufferDisclaimer/style.ts", "TypeScript", 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31 +"/home/amit/buffer-ui/src/Views/Common/BufferDropdown/index.tsx", "TypeScript React", 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 4, 7, 105 +"/home/amit/buffer-ui/src/Views/Common/BufferDropdown/style.ts", "TypeScript", 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 125 +"/home/amit/buffer-ui/src/Views/Common/BufferInput/index.tsx", "TypeScript React", 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 1, 8, 164 +"/home/amit/buffer-ui/src/Views/Common/BufferProgressBar.tsx/index.tsx", "TypeScript React", 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 4, 35 +"/home/amit/buffer-ui/src/Views/Common/BufferSlider/index.tsx", "TypeScript React", 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 1, 6, 60 +"/home/amit/buffer-ui/src/Views/Common/BufferSlider/style.ts", "TypeScript", 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 83 +"/home/amit/buffer-ui/src/Views/Common/BufferSwitch/index.tsx", "TypeScript React", 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 6, 50 +"/home/amit/buffer-ui/src/Views/Common/BufferSwitch/style.ts", "TypeScript", 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 85 +"/home/amit/buffer-ui/src/Views/Common/BufferSwitchLabelled/index.tsx", "TypeScript React", 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 1, 4, 35 +"/home/amit/buffer-ui/src/Views/Common/BufferTab/index.tsx", "TypeScript React", 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 41, 6, 103 +"/home/amit/buffer-ui/src/Views/Common/BufferTab/style.tsx", "TypeScript React", 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 3, 57 +"/home/amit/buffer-ui/src/Views/Common/BufferTable/CellInfo.tsx", "TypeScript React", 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 1, 9, 145 +"/home/amit/buffer-ui/src/Views/Common/BufferTable/ErrorMsg/index.tsx", "TypeScript React", 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 4, 48 +"/home/amit/buffer-ui/src/Views/Common/BufferTable/ErrorMsg/style.ts", "TypeScript", 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 25 +"/home/amit/buffer-ui/src/Views/Common/BufferTable/TableAssetCell/index.tsx", "TypeScript React", 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 4, 30 +"/home/amit/buffer-ui/src/Views/Common/BufferTable/TableAssetCell/style.ts", "TypeScript", 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 34 +"/home/amit/buffer-ui/src/Views/Common/BufferTable/index.tsx", "TypeScript React", 0, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 5, 206 +"/home/amit/buffer-ui/src/Views/Common/BufferTable/style.ts", "TypeScript", 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 169 +"/home/amit/buffer-ui/src/Views/Common/BufferTableCard/index.tsx", "TypeScript React", 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 14, 8, 89 +"/home/amit/buffer-ui/src/Views/Common/BufferTableCard/style.ts", "TypeScript", 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 37 +"/home/amit/buffer-ui/src/Views/Common/BufferTextInputRoot/index.tsx", "TypeScript React", 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 4, 6, 117 +"/home/amit/buffer-ui/src/Views/Common/BufferTextInputRoot/style.tsx", "TypeScript React", 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 2, 53 +"/home/amit/buffer-ui/src/Views/Common/BufferThemeSwitcher/index.tsx", "TypeScript React", 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 2, 6, 117 +"/home/amit/buffer-ui/src/Views/Common/BufferThemeSwitcher/styles.tsx", "TypeScript React", 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 2, 57 +"/home/amit/buffer-ui/src/Views/Common/BufferToggleButton/index.tsx", "TypeScript React", 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 1, 1, 32 +"/home/amit/buffer-ui/src/Views/Common/BufferToggleButton/style.ts", "TypeScript", 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 59 +"/home/amit/buffer-ui/src/Views/Common/BufferTransitionedTab.tsx", "TypeScript React", 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 3, 65 +"/home/amit/buffer-ui/src/Views/Common/ButtonLoader/ButtonLoader.tsx", "TypeScript React", 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 3, 16 +"/home/amit/buffer-ui/src/Views/Common/Buttons/index.tsx", "TypeScript React", 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 11, 8, 111 +"/home/amit/buffer-ui/src/Views/Common/Buttons/style.tsx", "TypeScript React", 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 3, 39 +"/home/amit/buffer-ui/src/Views/Common/Card/index.tsx", "TypeScript React", 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 4, 18 +"/home/amit/buffer-ui/src/Views/Common/Card/style.ts", "TypeScript", 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5 +"/home/amit/buffer-ui/src/Views/Common/ChainAccountDropdowns/index.tsx", "TypeScript React", 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 5, 9, 134 +"/home/amit/buffer-ui/src/Views/Common/ChainAccountDropdowns/style.ts", "TypeScript", 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 37, 6, 131 +"/home/amit/buffer-ui/src/Views/Common/Chips/index.tsx", "TypeScript React", 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 4, 14 +"/home/amit/buffer-ui/src/Views/Common/Chips/style.ts", "TypeScript", 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 14 +"/home/amit/buffer-ui/src/Views/Common/ClientOnlyPortal/index.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 1, 5, 24 +"/home/amit/buffer-ui/src/Views/Common/ClientOnlyPortal/styles.ts", "TypeScript", 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5 +"/home/amit/buffer-ui/src/Views/Common/ConfirmationModal/index.tsx", "TypeScript React", 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 10, 3, 164 +"/home/amit/buffer-ui/src/Views/Common/ConfirmationModal/style.ts", "TypeScript", 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 128 +"/home/amit/buffer-ui/src/Views/Common/ConnectionDrawer/index.tsx", "TypeScript React", 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 1, 10, 124 +"/home/amit/buffer-ui/src/Views/Common/ConnectionDrawer/style.ts", "TypeScript", 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 7, 4, 67 +"/home/amit/buffer-ui/src/Views/Common/Dialog/index.tsx", "TypeScript React", 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 4, 11, 90 +"/home/amit/buffer-ui/src/Views/Common/Disclaimer/index.tsx", "TypeScript React", 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 4, 17 +"/home/amit/buffer-ui/src/Views/Common/Disclaimer/style.ts", "TypeScript", 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 14 +"/home/amit/buffer-ui/src/Views/Common/DraggableModal/index.tsx", "TypeScript React", 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 7, 45 +"/home/amit/buffer-ui/src/Views/Common/DraggableModal/style.ts", "TypeScript", 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 38 +"/home/amit/buffer-ui/src/Views/Common/Dropdown/index.tsx", "TypeScript React", 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 2, 6, 99 +"/home/amit/buffer-ui/src/Views/Common/Dropdown/styles.ts", "TypeScript", 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 41, 11, 346 +"/home/amit/buffer-ui/src/Views/Common/GraphView/AreaData.ts", "TypeScript", 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 153 +"/home/amit/buffer-ui/src/Views/Common/GraphView/PriceData.ts", "TypeScript", 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 153 +"/home/amit/buffer-ui/src/Views/Common/GraphView/PriceData2.ts", "TypeScript", 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59 +"/home/amit/buffer-ui/src/Views/Common/GraphView/index.tsx", "TypeScript React", 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 3, 11 +"/home/amit/buffer-ui/src/Views/Common/GraphView/style.ts", "TypeScript", 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 31 +"/home/amit/buffer-ui/src/Views/Common/Header.tsx", "TypeScript React", 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 3, 74 +"/home/amit/buffer-ui/src/Views/Common/HeroCard/index.tsx", "TypeScript React", 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 4, 31 +"/home/amit/buffer-ui/src/Views/Common/HeroCard/style.ts", "TypeScript", 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 21, 4, 60 +"/home/amit/buffer-ui/src/Views/Common/InfoCard/index.tsx", "TypeScript React", 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 4, 21 +"/home/amit/buffer-ui/src/Views/Common/InfoCard/style.ts", "TypeScript", 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 18 +"/home/amit/buffer-ui/src/Views/Common/InfoTooltip/index.tsx", "TypeScript React", 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 3, 15 +"/home/amit/buffer-ui/src/Views/Common/LeftBorderedDiv.tsx", "TypeScript React", 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 1, 6, 37 +"/home/amit/buffer-ui/src/Views/Common/Missing/index.tsx", "TypeScript React", 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 4, 5, 55 +"/home/amit/buffer-ui/src/Views/Common/Missing/style.ts", "TypeScript", 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 24 +"/home/amit/buffer-ui/src/Views/Common/Mobile/AlignerMobile/index.tsx", "TypeScript React", 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 1, 5, 71 +"/home/amit/buffer-ui/src/Views/Common/Mobile/AlignerMobile/style.ts", "TypeScript", 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 10 +"/home/amit/buffer-ui/src/Views/Common/Mobile/AssetCellMobile/index.tsx", "TypeScript React", 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 5, 73 +"/home/amit/buffer-ui/src/Views/Common/Mobile/AssetCellMobile/style.ts", "TypeScript", 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 41 +"/home/amit/buffer-ui/src/Views/Common/NFTtier.tsx", "TypeScript React", 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 19 +"/home/amit/buffer-ui/src/Views/Common/Navbar/AccountDropdown.tsx", "TypeScript React", 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 3, 8, 97 +"/home/amit/buffer-ui/src/Views/Common/Navbar/BufferLogo.tsx", "TypeScript React", 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 2, 23 +"/home/amit/buffer-ui/src/Views/Common/Navbar/Tab.tsx", "TypeScript React", 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22 +"/home/amit/buffer-ui/src/Views/Common/Navbar/TabsDropDown.tsx", "TypeScript React", 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 4, 89 +"/home/amit/buffer-ui/src/Views/Common/Navbar/chainDropdown.tsx", "TypeScript React", 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 7, 132 +"/home/amit/buffer-ui/src/Views/Common/Navbar/index.tsx", "TypeScript React", 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 17, 8, 92 +"/home/amit/buffer-ui/src/Views/Common/Navbar/socialLinks.ts", "TypeScript", 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 44 +"/home/amit/buffer-ui/src/Views/Common/Notification/index.tsx", "TypeScript React", 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 4, 33 +"/home/amit/buffer-ui/src/Views/Common/Notification/notifications.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 2, 20 +"/home/amit/buffer-ui/src/Views/Common/Notification/warning.tsx", "TypeScript React", 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2, 32 +"/home/amit/buffer-ui/src/Views/Common/RowStrip/index.tsx", "TypeScript React", 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 4, 19 +"/home/amit/buffer-ui/src/Views/Common/RowStrip/style.ts", "TypeScript", 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 63 +"/home/amit/buffer-ui/src/Views/Common/SocialMedia/MobileFooter/index.tsx", "TypeScript React", 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 5, 28 +"/home/amit/buffer-ui/src/Views/Common/SocialMedia/MobileFooter/style.tsx", "TypeScript React", 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 2, 23 +"/home/amit/buffer-ui/src/Views/Common/SocialMedia/TimerStyle.tsx", "TypeScript React", 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 3, 26 +"/home/amit/buffer-ui/src/Views/Common/SocialMedia/index.tsx", "TypeScript React", 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 4, 67 +"/home/amit/buffer-ui/src/Views/Common/SocialMedia/style.tsx", "TypeScript React", 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 3, 44 +"/home/amit/buffer-ui/src/Views/Common/TabList/index.tsx", "TypeScript React", 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 5, 46 +"/home/amit/buffer-ui/src/Views/Common/TabList/style.ts", "TypeScript", 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 29 +"/home/amit/buffer-ui/src/Views/Common/TabSwitch/index.tsx", "TypeScript React", 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 3, 30 +"/home/amit/buffer-ui/src/Views/Common/TabSwitch/style.ts", "TypeScript", 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 22 +"/home/amit/buffer-ui/src/Views/Common/TableComponents/TableComponents.tsx", "TypeScript React", 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 9, 112 +"/home/amit/buffer-ui/src/Views/Common/TableComponents/style.ts", "TypeScript", 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 82 +"/home/amit/buffer-ui/src/Views/Common/TableMobile/index.tsx", "TypeScript React", 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 11, 161 +"/home/amit/buffer-ui/src/Views/Common/TableMobile/style.ts", "TypeScript", 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 106 +"/home/amit/buffer-ui/src/Views/Common/TitleHead.tsx", "TypeScript React", 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 2, 9 +"/home/amit/buffer-ui/src/Views/Common/TnCModal.tsx", "TypeScript React", 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 3, 5, 59 +"/home/amit/buffer-ui/src/Views/Common/Toast/index.tsx", "TypeScript React", 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 23, 11, 181 +"/home/amit/buffer-ui/src/Views/Common/Toast/style.ts", "TypeScript", 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 150 +"/home/amit/buffer-ui/src/Views/Common/Toggler/index.tsx", "TypeScript React", 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 3, 32 +"/home/amit/buffer-ui/src/Views/Common/Toggler/style.ts", "TypeScript", 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 34 +"/home/amit/buffer-ui/src/Views/Common/Tooltip/index.tsx", "TypeScript React", 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2, 32 +"/home/amit/buffer-ui/src/Views/Common/Tooltip/style.ts", "TypeScript", 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 115 +"/home/amit/buffer-ui/src/Views/Common/Tooltips/Display/index.tsx", "TypeScript React", 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, 19, 8, 141 +"/home/amit/buffer-ui/src/Views/Common/Tooltips/index.tsx", "TypeScript React", 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 5, 41 +"/home/amit/buffer-ui/src/Views/Common/TopBanner/index.tsx", "TypeScript React", 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 1, 4, 25 +"/home/amit/buffer-ui/src/Views/Common/TopBanner/style.ts", "TypeScript", 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 32 +"/home/amit/buffer-ui/src/Views/Common/Transition/index.tsx", "TypeScript React", 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 3, 6, 62 +"/home/amit/buffer-ui/src/Views/Common/Transitions/Horizontal/index.tsx", "TypeScript React", 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 3, 27 +"/home/amit/buffer-ui/src/Views/Common/Transitions/Horizontal/style.ts", "TypeScript", 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 30 +"/home/amit/buffer-ui/src/Views/Common/Transitions/Vertical/index.tsx", "TypeScript React", 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 3, 23 +"/home/amit/buffer-ui/src/Views/Common/Transitions/Vertical/style.ts", "TypeScript", 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 13 +"/home/amit/buffer-ui/src/Views/Common/TryTestnet/index.tsx", "TypeScript React", 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 4, 42 +"/home/amit/buffer-ui/src/Views/Common/TryTestnet/style.ts", "TypeScript", 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 7, 5, 57 +"/home/amit/buffer-ui/src/Views/Common/TypeChip/index.tsx", "TypeScript React", 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 3, 11 +"/home/amit/buffer-ui/src/Views/Common/UnorderedList/index.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 4, 23 +"/home/amit/buffer-ui/src/Views/Common/UnorderedList/style.ts", "TypeScript", 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 37 +"/home/amit/buffer-ui/src/Views/Common/V2-Button/ButtonLoader.tsx", "TypeScript React", 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 3, 16 +"/home/amit/buffer-ui/src/Views/Common/V2-Button/index.tsx", "TypeScript React", 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 3, 102 +"/home/amit/buffer-ui/src/Views/Common/V2-Drawer/connectionDrawer.tsx", "TypeScript React", 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 1, 5, 124 +"/home/amit/buffer-ui/src/Views/Common/V2-Drawer/index.tsx", "TypeScript React", 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 4, 42 +"/home/amit/buffer-ui/src/Views/Common/VersionChip/index.tsx", "TypeScript React", 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 3, 20 +"/home/amit/buffer-ui/src/Views/Common/VersionChip/style.ts", "TypeScript", 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 15 +"/home/amit/buffer-ui/src/Views/Common/VerticalTabs/index.tsx", "TypeScript React", 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 3, 5, 93 +"/home/amit/buffer-ui/src/Views/Common/VerticalTabs/style.ts", "TypeScript", 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 46 +"/home/amit/buffer-ui/src/Views/Common/pagination.tsx", "TypeScript React", 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 4, 47 +"/home/amit/buffer-ui/src/Views/Common/v2-AssetDropDown/index.tsx", "TypeScript React", 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 4, 8, 178 +"/home/amit/buffer-ui/src/Views/Common/v2-AssetDropDown/style.ts", "TypeScript", 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6, 94 +"/home/amit/buffer-ui/src/Views/Common/v2-BufferInput/index.tsx", "TypeScript React", 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 5, 3, 108 +"/home/amit/buffer-ui/src/Views/Common/v2-BufferInput/style.ts", "TypeScript", 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 46 +"/home/amit/buffer-ui/src/Views/Common/v2-OptionsDropdown/index.tsx", "TypeScript React", 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 11, 4, 104 +"/home/amit/buffer-ui/src/Views/Common/v2-OptionsDropdown/style.ts", "TypeScript", 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 53 +"/home/amit/buffer-ui/src/Views/Earn/Components/Card.tsx", "TypeScript React", 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 4, 39 +"/home/amit/buffer-ui/src/Views/Earn/Components/Divider.tsx", "TypeScript React", 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 4 +"/home/amit/buffer-ui/src/Views/Earn/Components/EarnButtons.tsx", "TypeScript React", 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 27, 6, 218 +"/home/amit/buffer-ui/src/Views/Earn/Components/EarnCards.tsx", "TypeScript React", 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, 22, 10, 626 +"/home/amit/buffer-ui/src/Views/Earn/Components/ExchangeIcon.tsx", "TypeScript React", 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 2, 8 +"/home/amit/buffer-ui/src/Views/Earn/Components/Section.tsx", "TypeScript React", 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 1, 28 +"/home/amit/buffer-ui/src/Views/Earn/Components/VestCards.tsx", "TypeScript React", 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 2, 4, 144 +"/home/amit/buffer-ui/src/Views/Earn/Config/Abis/BFR.json", "JSON", 0, 0, 686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686 +"/home/amit/buffer-ui/src/Views/Earn/Config/Abis/BLP.json", "JSON", 0, 0, 1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154 +"/home/amit/buffer-ui/src/Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json", "JSON", 0, 0, 1193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193 +"/home/amit/buffer-ui/src/Views/Earn/Config/Abis/EsBFR.json", "JSON", 0, 0, 686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686 +"/home/amit/buffer-ui/src/Views/Earn/Config/Abis/RewardRouterV2.json", "JSON", 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661 +"/home/amit/buffer-ui/src/Views/Earn/Config/Abis/RewardTracker.json", "JSON", 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911 +"/home/amit/buffer-ui/src/Views/Earn/Config/Abis/Token.json", "JSON", 0, 0, 338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338 +"/home/amit/buffer-ui/src/Views/Earn/Config/Abis/Vester.json", "JSON", 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024 +"/home/amit/buffer-ui/src/Views/Earn/Config/Address.tsx", "TypeScript React", 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 2, 47 +"/home/amit/buffer-ui/src/Views/Earn/Hooks/useEarnWriteCalls.tsx", "TypeScript React", 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 27, 13, 171 +"/home/amit/buffer-ui/src/Views/Earn/Hooks/useTokenomicsMulticall.tsx", "TypeScript React", 0, 0, 0, 0, 990, 0, 0, 0, 0, 0, 32, 30, 1052 +"/home/amit/buffer-ui/src/Views/Earn/Modals/buy.tsx", "TypeScript React", 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 5, 182 +"/home/amit/buffer-ui/src/Views/Earn/Modals/claim.tsx", "TypeScript React", 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 17, 2, 111 +"/home/amit/buffer-ui/src/Views/Earn/Modals/compound.tsx", "TypeScript React", 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 19, 3, 184 +"/home/amit/buffer-ui/src/Views/Earn/Modals/deposit.tsx", "TypeScript React", 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 2, 9, 252 +"/home/amit/buffer-ui/src/Views/Earn/Modals/index.tsx", "TypeScript React", 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 14, 117 +"/home/amit/buffer-ui/src/Views/Earn/Modals/sell.tsx", "TypeScript React", 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 13, 5, 156 +"/home/amit/buffer-ui/src/Views/Earn/Modals/stake.tsx", "TypeScript React", 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 10, 207 +"/home/amit/buffer-ui/src/Views/Earn/earnAtom.ts", "TypeScript", 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 160 +"/home/amit/buffer-ui/src/Views/Earn/index.tsx", "TypeScript React", 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 3, 8, 128 +"/home/amit/buffer-ui/src/Views/Faucet/Faucet.json", "JSON", 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 1, 214 +"/home/amit/buffer-ui/src/Views/Faucet/index.tsx", "TypeScript React", 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 10, 7, 177 +"/home/amit/buffer-ui/src/Views/Faucet/style.ts", "TypeScript", 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 10, 5, 96 +"/home/amit/buffer-ui/src/Views/Pro/Common/TableHead.tsx", "TypeScript React", 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 23 +"/home/amit/buffer-ui/src/Views/Referral/Components/PlainCard.tsx", "TypeScript React", 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 3, 39 +"/home/amit/buffer-ui/src/Views/Referral/Components/ReferralModal.tsx", "TypeScript React", 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 1, 4, 61 +"/home/amit/buffer-ui/src/Views/Referral/Components/ReferralTable.tsx", "TypeScript React", 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 6, 70 +"/home/amit/buffer-ui/src/Views/Referral/Components/ReferralTableBody.tsx", "TypeScript React", 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 3, 13 +"/home/amit/buffer-ui/src/Views/Referral/Config/Address.ts", "TypeScript", 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 17 +"/home/amit/buffer-ui/src/Views/Referral/Config/ReferralABI.json", "JSON", 0, 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, 1, 288 +"/home/amit/buffer-ui/src/Views/Referral/Hooks/useAppliedReferral.ts", "TypeScript", 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24 +"/home/amit/buffer-ui/src/Views/Referral/Hooks/useCodeOwner.ts", "TypeScript", 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 39 +"/home/amit/buffer-ui/src/Views/Referral/Hooks/useReferralWriteCalls.ts", "TypeScript", 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 24 +"/home/amit/buffer-ui/src/Views/Referral/Hooks/useUserCode.ts", "TypeScript", 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 39 +"/home/amit/buffer-ui/src/Views/Referral/Hooks/useUserReferralData.ts", "TypeScript", 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 68 +"/home/amit/buffer-ui/src/Views/Referral/Utils/isNullAds.ts", "TypeScript", 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 12 +"/home/amit/buffer-ui/src/Views/Referral/Utils/useReferralCode.tsx", "TypeScript React", 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 1, 2, 16 +"/home/amit/buffer-ui/src/Views/Referral/index.tsx", "TypeScript React", 0, 0, 0, 0, 463, 0, 0, 0, 0, 0, 17, 24, 504 +"/home/amit/buffer-ui/src/Views/Referral/referralAtom.ts", "TypeScript", 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 12 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/ContestFilterDD/index.tsx", "TypeScript React", 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 8, 82 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/Rank.tsx", "TypeScript React", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 3, 28 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TableAligner/index.tsx", "TypeScript React", 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 3, 54 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TableAligner/style.ts", "TypeScript", 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 16 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TopData/index.tsx", "TypeScript React", 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 25 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/Trophy.tsx", "TypeScript React", 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 2, 54 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/DailyMobileTable.tsx", "TypeScript React", 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 6, 9, 201 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/DailyWebTable.tsx", "TypeScript React", 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 10, 12, 265 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/index.tsx", "TypeScript React", 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 8, 102 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/stlye.ts", "TypeScript", 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 63 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Hooks/useDayOfTournament.ts", "TypeScript", 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 23 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Hooks/useLeaderboardQuery.ts", "TypeScript", 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 10, 12, 154 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Incentivised/index.tsx", "TypeScript React", 0, 0, 0, 0, 161, 0, 0, 0, 0, 0, 91, 11, 263 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/index.tsx", "TypeScript React", 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 7, 119 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/style.ts", "TypeScript", 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/tabFilter.tsx", "TypeScript React", 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 6, 76 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Sidebar/index.tsx", "TypeScript React", 0, 0, 0, 0, 199, 0, 0, 0, 0, 0, 178, 20, 397 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Sidebar/style.ts", "TypeScript", 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 68 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Weekly/index.tsx", "TypeScript React", 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 99, 14, 402 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/Weekly/style.ts", "TypeScript", 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 126 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/atom.ts", "TypeScript", 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 41 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/drawers.tsx", "TypeScript React", 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 2, 11 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/index.tsx", "TypeScript React", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 1, 3, 29 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/interfaces.ts", "TypeScript", 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24 +"/home/amit/buffer-ui/src/Views/V2-Leaderboard/style.ts", "TypeScript", 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 45 +"/home/amit/buffer-ui/src/assets/Elements/BackIcon.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/src/assets/Elements/BufferLogo.tsx", "TypeScript React", 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 3, 24 +"/home/amit/buffer-ui/src/assets/Elements/Closelogo.tsx", "TypeScript React", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 3, 28 +"/home/amit/buffer-ui/src/assets/Elements/Disconnect.tsx", "TypeScript React", 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 22 +"/home/amit/buffer-ui/src/assets/Elements/ErrorIcon.tsx", "TypeScript React", 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 2, 33 +"/home/amit/buffer-ui/src/assets/Elements/FailedSuccess.tsx", "TypeScript React", 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 3, 29 +"/home/amit/buffer-ui/src/assets/Elements/MenuLogo.tsx", "TypeScript React", 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 3, 34 +"/home/amit/buffer-ui/src/assets/Elements/SuccessIcon.tsx", "TypeScript React", 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 3, 29 +"/home/amit/buffer-ui/src/assets/Elements/ToastCrossIcon.tsx", "TypeScript React", 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 3, 18 +"/home/amit/buffer-ui/src/assets/Elements/wallet.tsx", "TypeScript React", 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 3, 31 +"/home/amit/buffer-ui/src/assets/Social/DD/discord.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/src/assets/Social/DD/gitbook.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/assets/Social/DD/github.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 21 +"/home/amit/buffer-ui/src/assets/Social/DD/medium.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/src/assets/Social/DD/telegram.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/src/assets/Social/DD/twitter.tsx", "TypeScript React", 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19 +"/home/amit/buffer-ui/src/atoms/generic.ts", "TypeScript", 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17 +"/home/amit/buffer-ui/src/contexts/Global/index.tsx", "TypeScript React", 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 2, 8, 39 +"/home/amit/buffer-ui/src/contexts/Global/interfaces.tsx", "TypeScript React", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 1, 26 +"/home/amit/buffer-ui/src/contexts/Global/reducer.ts", "TypeScript", 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 7, 10, 375 +"/home/amit/buffer-ui/src/contexts/Refresher/index.tsx", "TypeScript React", 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 2, 11, 69 +"/home/amit/buffer-ui/src/contexts/Toast/index.tsx", "TypeScript React", 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 4, 22 +"/home/amit/buffer-ui/src/contexts/Toast/reducer.ts", "TypeScript", 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 52 +"/home/amit/buffer-ui/src/contexts/index.tsx", "TypeScript React", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 2, 13 +"/home/amit/buffer-ui/src/globalStore.ts", "TypeScript", 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5 +"/home/amit/buffer-ui/src/main.tsx", "TypeScript React", 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 3, 33 +"/home/amit/buffer-ui/src/redux/consents/reducer.ts", "TypeScript", 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 31 +"/home/amit/buffer-ui/src/redux/index.ts", "TypeScript", 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58 +"/home/amit/buffer-ui/src/redux/persisted/reducer.ts", "TypeScript", 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 45 +"/home/amit/buffer-ui/src/redux/rootReducer.ts", "TypeScript", 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 10 +"/home/amit/buffer-ui/src/vite-env.d.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2 +"/home/amit/buffer-ui/tailwind.config.cjs", "JavaScript", 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 130 +"/home/amit/buffer-ui/tsconfig.json", "JSON with Comments", 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 34, 0, 38 +"/home/amit/buffer-ui/tsconfig.node.json", "JSON", 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 10 +"/home/amit/buffer-ui/vite.config.ts", "TypeScript", 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 20 +"Total", "-", 1878, 13474, 38123, 2463, 21464, 18, 45, 29, 118, 30, 3788, 3115, 84545 \ No newline at end of file diff --git a/.VSCodeCounter/2023-01-21_11-36-14/results.json b/.VSCodeCounter/2023-01-21_11-36-14/results.json new file mode 100644 index 0000000..1b0d667 --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/results.json @@ -0,0 +1 @@ +{"file:///home/amit/buffer-ui/.eslintrc.js":{"language":"JavaScript","code":12,"comment":53,"blank":0},"file:///home/amit/buffer-ui/tailwind.config.cjs":{"language":"JavaScript","code":128,"comment":1,"blank":1},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Sidebar/style.ts":{"language":"TypeScript","code":61,"comment":0,"blank":7},"file:///home/amit/buffer-ui/tsconfig.node.json":{"language":"JSON","code":9,"comment":0,"blank":1},"file:///home/amit/buffer-ui/fonts.css":{"language":"CSS","code":28,"comment":86,"blank":4},"file:///home/amit/buffer-ui/.prettierrc":{"language":"JSON","code":10,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TableAligner/style.ts":{"language":"TypeScript","code":9,"comment":5,"blank":2},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TopData/index.tsx":{"language":"TypeScript React","code":24,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TableAligner/index.tsx":{"language":"TypeScript React","code":51,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/Rank.tsx":{"language":"TypeScript React","code":25,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Sidebar/index.tsx":{"language":"TypeScript React","code":199,"comment":178,"blank":20},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/ContestFilterDD/index.tsx":{"language":"TypeScript React","code":74,"comment":0,"blank":8},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Weekly/style.ts":{"language":"TypeScript","code":117,"comment":4,"blank":5},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/stlye.ts":{"language":"TypeScript","code":55,"comment":1,"blank":7},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/Trophy.tsx":{"language":"TypeScript React","code":52,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Weekly/index.tsx":{"language":"TypeScript React","code":289,"comment":99,"blank":14},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/DailyMobileTable.tsx":{"language":"TypeScript React","code":186,"comment":6,"blank":9},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/index.tsx":{"language":"TypeScript React","code":94,"comment":0,"blank":8},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/tabFilter.tsx":{"language":"TypeScript React","code":70,"comment":0,"blank":6},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/style.ts":{"language":"TypeScript","code":2,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/DailyWebTable.tsx":{"language":"TypeScript React","code":243,"comment":10,"blank":12},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Hooks/useDayOfTournament.ts":{"language":"TypeScript","code":19,"comment":2,"blank":2},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/index.tsx":{"language":"TypeScript React","code":100,"comment":12,"blank":7},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/style.ts":{"language":"TypeScript","code":38,"comment":3,"blank":4},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Hooks/useLeaderboardQuery.ts":{"language":"TypeScript","code":132,"comment":10,"blank":12},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/drawers.tsx":{"language":"TypeScript React","code":9,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/interfaces.ts":{"language":"TypeScript","code":23,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/index.tsx":{"language":"TypeScript React","code":25,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/Incentivised/index.tsx":{"language":"TypeScript React","code":161,"comment":91,"blank":11},"file:///home/amit/buffer-ui/src/Views/V2-Leaderboard/atom.ts":{"language":"TypeScript","code":36,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Address.ts":{"language":"TypeScript","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/FavouriteAssetDD.tsx":{"language":"TypeScript React","code":87,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/config.json":{"language":"JSON","code":578,"comment":0,"blank":11},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Favourites.tsx":{"language":"TypeScript React","code":204,"comment":8,"blank":11},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getFilteredAssets.ts":{"language":"TypeScript","code":40,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/style.ts":{"language":"TypeScript","code":162,"comment":9,"blank":5},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/AssetTable.tsx":{"language":"TypeScript React","code":150,"comment":1,"blank":10},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getAssetTypes.ts":{"language":"TypeScript","code":9,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getFavouriteKey.ts":{"language":"TypeScript","code":9,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/LastDayChange.tsx":{"language":"TypeScript React","code":21,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/AssetTypeSelector.tsx":{"language":"TypeScript React","code":47,"comment":7,"blank":3},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/GraphModal/style.ts":{"language":"TypeScript","code":45,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/GraphModal/index.tsx":{"language":"TypeScript React","code":39,"comment":2,"blank":3},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/BuyModal/style.ts":{"language":"TypeScript","code":128,"comment":2,"blank":8},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/BuyModal/index.tsx":{"language":"TypeScript React","code":386,"comment":11,"blank":31},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingWarning.tsx":{"language":"TypeScript React","code":35,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/store.ts":{"language":"TypeScript","code":91,"comment":3,"blank":5},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/ABI/ConfigAbi.json":{"language":"JSON","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/ABI/MaxTrade.json":{"language":"JSON","code":80,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/ABI/routerABI.json":{"language":"JSON","code":501,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/ABI/optionsABI.json":{"language":"JSON","code":865,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/ABI/configABI.json":{"language":"JSON","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/ABI/OptionMeta.json":{"language":"JSON","code":779,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/historyTab.tsx":{"language":"TypeScript React","code":310,"comment":4,"blank":18},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/ABI/poolABI.json":{"language":"JSON","code":654,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/stats.tsx":{"language":"TypeScript React","code":44,"comment":4,"blank":5},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/buyOptionsTab.tsx":{"language":"TypeScript React","code":40,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/Screens.tsx":{"language":"TypeScript React","code":50,"comment":1,"blank":1},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/Navbar.tsx":{"language":"TypeScript React","code":36,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/approveModal.tsx":{"language":"TypeScript React","code":150,"comment":22,"blank":5},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/SlippageModal.tsx":{"language":"TypeScript React","code":170,"comment":8,"blank":6},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/BinaryInfo.tsx":{"language":"TypeScript React","code":109,"comment":0,"blank":7},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Components/shareModal.tsx":{"language":"TypeScript React","code":315,"comment":19,"blank":20},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Tables/OrderBookTable/index.tsx":{"language":"TypeScript React","code":237,"comment":44,"blank":19},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Tables/Desktop.tsx":{"language":"TypeScript React","code":327,"comment":15,"blank":23},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Tables/OrderBookTable/style.ts":{"language":"TypeScript","code":81,"comment":10,"blank":3},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Tables/TableComponents.tsx":{"language":"TypeScript React","code":679,"comment":27,"blank":35},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Tables/Mobile.tsx":{"language":"TypeScript React","code":8,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Tables/index.tsx":{"language":"TypeScript React","code":37,"comment":5,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Tables/style.ts":{"language":"TypeScript","code":12,"comment":1,"blank":2},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DurationPicker.tsx":{"language":"TypeScript React","code":119,"comment":7,"blank":6},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DrawerChild.tsx":{"language":"TypeScript React","code":44,"comment":2,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DateDropdown.tsx":{"language":"TypeScript React","code":45,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/TimeSelector.tsx":{"language":"TypeScript React","code":328,"comment":36,"blank":19},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/PoolDropDown.tsx":{"language":"TypeScript React","code":95,"comment":0,"blank":8},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/style.ts":{"language":"TypeScript","code":204,"comment":37,"blank":18},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/ActiveAsset.tsx":{"language":"TypeScript React","code":111,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/SettingsIcon.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/CustomOption.tsx":{"language":"TypeScript React","code":310,"comment":3,"blank":7},"file:///home/amit/buffer-ui/package-lock.json":{"language":"JSON","code":15318,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/BuyUsdcLink.tsx":{"language":"TypeScript React","code":35,"comment":2,"blank":2},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryActions.tsx":{"language":"TypeScript React","code":216,"comment":7,"blank":13},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/index.tsx":{"language":"TypeScript React","code":42,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingsModal.tsx":{"language":"TypeScript React","code":101,"comment":0,"blank":6},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/style.ts":{"language":"TypeScript","code":195,"comment":13,"blank":12},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingsInfo.tsx":{"language":"TypeScript React","code":24,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useTradeHistory.ts":{"language":"TypeScript","code":222,"comment":3,"blank":8},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useGetDataFromConfig.ts":{"language":"TypeScript","code":11,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useFavouritesFns.ts":{"language":"TypeScript","code":80,"comment":0,"blank":11},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryActiveChainId.ts":{"language":"TypeScript","code":6,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useActiveAssetState.ts":{"language":"TypeScript","code":238,"comment":41,"blank":20},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/usePastTradeQuery.ts":{"language":"TypeScript","code":234,"comment":35,"blank":21},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/BinaryOptionsABI.json":{"language":"JSON","code":1680,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useLatest24hrChange.ts":{"language":"TypeScript","code":38,"comment":2,"blank":7},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/usePastTradeQueryByFetch.ts":{"language":"TypeScript","code":185,"comment":1,"blank":10},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/ComingSoonModal.tsx":{"language":"TypeScript React","code":20,"comment":5,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryHistory.ts":{"language":"TypeScript","code":83,"comment":20,"blank":7},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useHostName.ts":{"language":"TypeScript","code":10,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Earn/Modals/sell.tsx":{"language":"TypeScript React","code":138,"comment":13,"blank":5},"file:///home/amit/buffer-ui/src/Views/Earn/Modals/claim.tsx":{"language":"TypeScript React","code":92,"comment":17,"blank":2},"file:///home/amit/buffer-ui/src/Views/Earn/Modals/compound.tsx":{"language":"TypeScript React","code":162,"comment":19,"blank":3},"file:///home/amit/buffer-ui/src/Views/Earn/Modals/buy.tsx":{"language":"TypeScript React","code":177,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Views/Earn/Modals/stake.tsx":{"language":"TypeScript React","code":197,"comment":0,"blank":10},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useIsMerketOpen.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Earn/Components/EarnButtons.tsx":{"language":"TypeScript React","code":185,"comment":27,"blank":6},"file:///home/amit/buffer-ui/src/Views/Earn/Modals/deposit.tsx":{"language":"TypeScript React","code":241,"comment":2,"blank":9},"file:///home/amit/buffer-ui/src/Views/Earn/Modals/index.tsx":{"language":"TypeScript React","code":103,"comment":0,"blank":14},"file:///home/amit/buffer-ui/src/Views/Earn/Components/Section.tsx":{"language":"TypeScript React","code":27,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Earn/Components/EarnCards.tsx":{"language":"TypeScript React","code":594,"comment":22,"blank":10},"file:///home/amit/buffer-ui/src/Views/Earn/Components/ExchangeIcon.tsx":{"language":"TypeScript React","code":6,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Earn/Components/Card.tsx":{"language":"TypeScript React","code":35,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Earn/Components/Divider.tsx":{"language":"TypeScript React","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Earn/Components/VestCards.tsx":{"language":"TypeScript React","code":138,"comment":2,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/discarded.json":{"language":"JSON","code":343,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/BinaryOptions/index.tsx":{"language":"TypeScript React","code":353,"comment":11,"blank":15},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Address.tsx":{"language":"TypeScript React","code":45,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Abis/Token.json":{"language":"JSON","code":338,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Abis/BLP.json":{"language":"JSON","code":1154,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Abis/Vester.json":{"language":"JSON","code":1024,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Abis/RewardRouterV2.json":{"language":"JSON","code":661,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json":{"language":"JSON","code":1193,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Abis/BFR.json":{"language":"JSON","code":686,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Earn/Hooks/useEarnWriteCalls.tsx":{"language":"TypeScript React","code":131,"comment":27,"blank":13},"file:///home/amit/buffer-ui/src/Views/Earn/earnAtom.ts":{"language":"TypeScript","code":150,"comment":0,"blank":10},"file:///home/amit/buffer-ui/src/Views/Earn/Hooks/useTokenomicsMulticall.tsx":{"language":"TypeScript React","code":990,"comment":32,"blank":30},"file:///home/amit/buffer-ui/src/Views/Earn/index.tsx":{"language":"TypeScript React","code":117,"comment":3,"blank":8},"file:///home/amit/buffer-ui/src/Views/Referral/Components/ReferralModal.tsx":{"language":"TypeScript React","code":56,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/Referral/Utils/isNullAds.ts":{"language":"TypeScript","code":10,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Referral/Components/ReferralTable.tsx":{"language":"TypeScript React","code":64,"comment":0,"blank":6},"file:///home/amit/buffer-ui/src/Views/Referral/Components/ReferralTableBody.tsx":{"language":"TypeScript React","code":10,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Referral/Utils/useReferralCode.tsx":{"language":"TypeScript React","code":13,"comment":1,"blank":2},"file:///home/amit/buffer-ui/src/Views/Referral/Components/PlainCard.tsx":{"language":"TypeScript React","code":36,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Referral/Hooks/useReferralWriteCalls.ts":{"language":"TypeScript","code":18,"comment":0,"blank":6},"file:///home/amit/buffer-ui/src/Views/Referral/Config/ReferralABI.json":{"language":"JSON","code":287,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Abis/RewardTracker.json":{"language":"JSON","code":911,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Earn/Config/Abis/EsBFR.json":{"language":"JSON","code":686,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Referral/Config/Address.ts":{"language":"TypeScript","code":15,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Referral/Hooks/useCodeOwner.ts":{"language":"TypeScript","code":34,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/Referral/Hooks/useAppliedReferral.ts":{"language":"TypeScript","code":21,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Referral/Hooks/useUserReferralData.ts":{"language":"TypeScript","code":60,"comment":0,"blank":8},"file:///home/amit/buffer-ui/src/Views/Pro/Common/TableHead.tsx":{"language":"TypeScript React","code":22,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Referral/Hooks/useUserCode.ts":{"language":"TypeScript","code":33,"comment":0,"blank":6},"file:///home/amit/buffer-ui/src/Views/Referral/referralAtom.ts":{"language":"TypeScript","code":8,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Faucet/index.tsx":{"language":"TypeScript React","code":160,"comment":10,"blank":7},"file:///home/amit/buffer-ui/src/Views/Faucet/style.ts":{"language":"TypeScript","code":81,"comment":10,"blank":5},"file:///home/amit/buffer-ui/src/Views/Faucet/Faucet.json":{"language":"JSON","code":213,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Referral/index.tsx":{"language":"TypeScript React","code":463,"comment":17,"blank":24},"file:///home/amit/buffer-ui/src/Views/Common/v2-AssetDropDown/style.ts":{"language":"TypeScript","code":86,"comment":2,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/ClientOnlyPortal/index.tsx":{"language":"TypeScript React","code":18,"comment":1,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/UnorderedList/style.ts":{"language":"TypeScript","code":34,"comment":1,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/ClientOnlyPortal/styles.ts":{"language":"TypeScript","code":3,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/UnorderedList/index.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/v2-AssetDropDown/index.tsx":{"language":"TypeScript React","code":166,"comment":4,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/RowStrip/style.ts":{"language":"TypeScript","code":59,"comment":2,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/InfoCard/style.ts":{"language":"TypeScript","code":14,"comment":2,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/RowStrip/index.tsx":{"language":"TypeScript React","code":15,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/InfoCard/index.tsx":{"language":"TypeScript React","code":17,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Header.tsx":{"language":"TypeScript React","code":71,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/DraggableModal/style.ts":{"language":"TypeScript","code":33,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/DraggableModal/index.tsx":{"language":"TypeScript React","code":38,"comment":0,"blank":7},"file:///home/amit/buffer-ui/src/Views/Common/BufferDisclaimer/index.tsx":{"language":"TypeScript React","code":33,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferDisclaimer/style.ts":{"language":"TypeScript","code":28,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Aligner/style.ts":{"language":"TypeScript","code":35,"comment":1,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/TabSwitch/index.tsx":{"language":"TypeScript React","code":27,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Aligner/index.tsx":{"language":"TypeScript React","code":64,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/TabSwitch/style.ts":{"language":"TypeScript","code":20,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/BufferCheckbox/index.tsx":{"language":"TypeScript React","code":59,"comment":10,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferCheckbox/style.ts":{"language":"TypeScript","code":34,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/ChainAccountDropdowns/style.ts":{"language":"TypeScript","code":88,"comment":37,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/ChainAccountDropdowns/index.tsx":{"language":"TypeScript React","code":120,"comment":5,"blank":9},"file:///home/amit/buffer-ui/src/Views/Common/Navbar/chainDropdown.tsx":{"language":"TypeScript React","code":125,"comment":0,"blank":7},"file:///home/amit/buffer-ui/src/Views/Common/Navbar/socialLinks.ts":{"language":"TypeScript","code":42,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Navbar/TabsDropDown.tsx":{"language":"TypeScript React","code":85,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Navbar/BufferLogo.tsx":{"language":"TypeScript React","code":21,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Navbar/index.tsx":{"language":"TypeScript React","code":67,"comment":17,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/Navbar/AccountDropdown.tsx":{"language":"TypeScript React","code":86,"comment":3,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/Navbar/Tab.tsx":{"language":"TypeScript React","code":20,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/TableComponents/style.ts":{"language":"TypeScript","code":75,"comment":1,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/ConfirmationModal/index.tsx":{"language":"TypeScript React","code":151,"comment":10,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/TableComponents/TableComponents.tsx":{"language":"TypeScript React","code":103,"comment":0,"blank":9},"file:///home/amit/buffer-ui/src/Views/Common/ConfirmationModal/style.ts":{"language":"TypeScript","code":116,"comment":4,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/NFTtier.tsx":{"language":"TypeScript React","code":17,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/VersionChip/style.ts":{"language":"TypeScript","code":13,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Chips/style.ts":{"language":"TypeScript","code":12,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/TitleHead.tsx":{"language":"TypeScript React","code":7,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/VersionChip/index.tsx":{"language":"TypeScript React","code":17,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Chips/index.tsx":{"language":"TypeScript React","code":10,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Disclaimer/style.ts":{"language":"TypeScript","code":12,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/InfoTooltip/index.tsx":{"language":"TypeScript React","code":12,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Disclaimer/index.tsx":{"language":"TypeScript React","code":13,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferProgressBar.tsx/index.tsx":{"language":"TypeScript React","code":31,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/SocialMedia/index.tsx":{"language":"TypeScript React","code":63,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/SocialMedia/style.tsx":{"language":"TypeScript React","code":41,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/SocialMedia/MobileFooter/index.tsx":{"language":"TypeScript React","code":23,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/SocialMedia/MobileFooter/style.tsx":{"language":"TypeScript React","code":21,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/SocialMedia/TimerStyle.tsx":{"language":"TypeScript React","code":23,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/ButtonLoader/ButtonLoader.tsx":{"language":"TypeScript React","code":13,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/VerticalTabs/index.tsx":{"language":"TypeScript React","code":85,"comment":3,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/BufferDropdown/index.tsx":{"language":"TypeScript React","code":94,"comment":4,"blank":7},"file:///home/amit/buffer-ui/src/Views/Common/VerticalTabs/style.ts":{"language":"TypeScript","code":44,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/BufferTextInputRoot/index.tsx":{"language":"TypeScript React","code":107,"comment":4,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/HeroCard/style.ts":{"language":"TypeScript","code":35,"comment":21,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/LeftBorderedDiv.tsx":{"language":"TypeScript React","code":30,"comment":1,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/BufferDropdown/style.ts":{"language":"TypeScript","code":112,"comment":5,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/BufferTextInputRoot/style.tsx":{"language":"TypeScript React","code":51,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/HeroCard/index.tsx":{"language":"TypeScript React","code":27,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Mobile/AlignerMobile/index.tsx":{"language":"TypeScript React","code":65,"comment":1,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/TypeChip/index.tsx":{"language":"TypeScript React","code":8,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/TopBanner/style.ts":{"language":"TypeScript","code":28,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Mobile/AlignerMobile/style.ts":{"language":"TypeScript","code":8,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/TryTestnet/index.tsx":{"language":"TypeScript React","code":38,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/TopBanner/index.tsx":{"language":"TypeScript React","code":20,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Banner/index.tsx":{"language":"TypeScript React","code":45,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/BufferTransitionedTab.tsx":{"language":"TypeScript React","code":62,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Tooltip/style.ts":{"language":"TypeScript","code":101,"comment":0,"blank":14},"file:///home/amit/buffer-ui/src/Views/Common/Tooltip/index.tsx":{"language":"TypeScript React","code":30,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Banner/style.ts":{"language":"TypeScript","code":62,"comment":0,"blank":9},"file:///home/amit/buffer-ui/src/Views/Common/BufferSwitch/index.tsx":{"language":"TypeScript React","code":44,"comment":0,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/v2-OptionsDropdown/index.tsx":{"language":"TypeScript React","code":89,"comment":11,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferSwitch/style.ts":{"language":"TypeScript","code":73,"comment":0,"blank":12},"file:///home/amit/buffer-ui/src/Views/Common/v2-OptionsDropdown/style.ts":{"language":"TypeScript","code":49,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/V2-Button/index.tsx":{"language":"TypeScript React","code":99,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/BufferSwitchLabelled/index.tsx":{"language":"TypeScript React","code":30,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Buttons/index.tsx":{"language":"TypeScript React","code":92,"comment":11,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/V2-Button/ButtonLoader.tsx":{"language":"TypeScript React","code":13,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/BufferTable/index.tsx":{"language":"TypeScript React","code":201,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/TabList/style.ts":{"language":"TypeScript","code":26,"comment":1,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/TabList/index.tsx":{"language":"TypeScript React","code":41,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/Buffer-Dropdown/style.tsx":{"language":"TypeScript React","code":118,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Buffer-Dropdown/index.tsx":{"language":"TypeScript React","code":81,"comment":4,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferSlider/style.ts":{"language":"TypeScript","code":78,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferSlider/index.tsx":{"language":"TypeScript React","code":53,"comment":1,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/BufferTable/ErrorMsg/style.ts":{"language":"TypeScript","code":23,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/AssetInfo/styles.ts":{"language":"TypeScript","code":112,"comment":22,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferTable/ErrorMsg/index.tsx":{"language":"TypeScript React","code":44,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Missing/style.ts":{"language":"TypeScript","code":22,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Transitions/Vertical/style.ts":{"language":"TypeScript","code":11,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Missing/index.tsx":{"language":"TypeScript React","code":46,"comment":4,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/BufferTable/style.ts":{"language":"TypeScript","code":159,"comment":0,"blank":10},"file:///home/amit/buffer-ui/src/Views/Common/TryTestnet/style.ts":{"language":"TypeScript","code":45,"comment":7,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/AssetInfo/index.tsx":{"language":"TypeScript React","code":167,"comment":5,"blank":7},"file:///home/amit/buffer-ui/src/Views/Common/BufferTable/CellInfo.tsx":{"language":"TypeScript React","code":135,"comment":1,"blank":9},"file:///home/amit/buffer-ui/src/Views/Common/pagination.tsx":{"language":"TypeScript React","code":43,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Transitions/Vertical/index.tsx":{"language":"TypeScript React","code":20,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/BufferTable/TableAssetCell/index.tsx":{"language":"TypeScript React","code":26,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferTable/TableAssetCell/style.ts":{"language":"TypeScript","code":30,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Toast/index.tsx":{"language":"TypeScript React","code":147,"comment":23,"blank":11},"file:///home/amit/buffer-ui/src/Views/Common/Buttons/style.tsx":{"language":"TypeScript React","code":36,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Toast/style.ts":{"language":"TypeScript","code":138,"comment":4,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/Card/style.ts":{"language":"TypeScript","code":3,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/ConnectionDrawer/style.ts":{"language":"TypeScript","code":56,"comment":7,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Dropdown/styles.ts":{"language":"TypeScript","code":294,"comment":41,"blank":11},"file:///home/amit/buffer-ui/src/Views/Common/Transition/index.tsx":{"language":"TypeScript React","code":53,"comment":3,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/BufferAnimatableTab.tsx":{"language":"TypeScript React","code":76,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/ConnectionDrawer/index.tsx":{"language":"TypeScript React","code":113,"comment":1,"blank":10},"file:///home/amit/buffer-ui/src/Views/Common/Dropdown/index.tsx":{"language":"TypeScript React","code":91,"comment":2,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/Mobile/AssetCellMobile/index.tsx":{"language":"TypeScript React","code":68,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/Transitions/Horizontal/style.ts":{"language":"TypeScript","code":25,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Mobile/AssetCellMobile/style.ts":{"language":"TypeScript","code":36,"comment":2,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Card/index.tsx":{"language":"TypeScript React","code":14,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/Transitions/Horizontal/index.tsx":{"language":"TypeScript React","code":24,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/v2-BufferInput/index.tsx":{"language":"TypeScript React","code":100,"comment":5,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/GraphView/AreaData.ts":{"language":"TypeScript","code":152,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Common/GraphView/index.tsx":{"language":"TypeScript React","code":8,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/AccountInfo/index.tsx":{"language":"TypeScript React","code":51,"comment":1,"blank":7},"file:///home/amit/buffer-ui/src/Views/Common/v2-BufferInput/style.ts":{"language":"TypeScript","code":39,"comment":2,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/TnCModal.tsx":{"language":"TypeScript React","code":51,"comment":3,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/GraphView/PriceData2.ts":{"language":"TypeScript","code":58,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Common/AccountInfo/style.ts":{"language":"TypeScript","code":44,"comment":2,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/BufferInput/index.tsx":{"language":"TypeScript React","code":155,"comment":1,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/BufferTab/style.tsx":{"language":"TypeScript React","code":54,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Notification/index.tsx":{"language":"TypeScript React","code":29,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/TableMobile/index.tsx":{"language":"TypeScript React","code":150,"comment":0,"blank":11},"file:///home/amit/buffer-ui/src/Views/Common/GraphView/PriceData.ts":{"language":"TypeScript","code":152,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Common/BufferTab/index.tsx":{"language":"TypeScript React","code":56,"comment":41,"blank":6},"file:///home/amit/buffer-ui/src/Views/Common/BufferTableCard/index.tsx":{"language":"TypeScript React","code":67,"comment":14,"blank":8},"file:///home/amit/buffer-ui/src/Views/Common/GraphView/style.ts":{"language":"TypeScript","code":29,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Dialog/index.tsx":{"language":"TypeScript React","code":75,"comment":4,"blank":11},"file:///home/amit/buffer-ui/src/App.tsx":{"language":"TypeScript React","code":92,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferTableCard/style.ts":{"language":"TypeScript","code":31,"comment":1,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/Notification/warning.tsx":{"language":"TypeScript React","code":30,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/TableMobile/style.ts":{"language":"TypeScript","code":97,"comment":4,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/V2-Drawer/connectionDrawer.tsx":{"language":"TypeScript React","code":118,"comment":1,"blank":5},"file:///home/amit/buffer-ui/src/Views/Common/V2-Drawer/index.tsx":{"language":"TypeScript React","code":38,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Views/Common/BufferToggleButton/index.tsx":{"language":"TypeScript React","code":30,"comment":1,"blank":1},"file:///home/amit/buffer-ui/src/Views/Common/BufferToggleButton/style.ts":{"language":"TypeScript","code":53,"comment":3,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/Toggler/style.ts":{"language":"TypeScript","code":32,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Notification/notifications.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/vite-env.d.ts":{"language":"TypeScript","code":0,"comment":1,"blank":1},"file:///home/amit/buffer-ui/src/Views/Common/Tooltips/index.tsx":{"language":"TypeScript React","code":35,"comment":1,"blank":5},"file:///home/amit/buffer-ui/src/Interfaces/interfaces.ts":{"language":"TypeScript","code":21,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Views/Common/BufferThemeSwitcher/styles.tsx":{"language":"TypeScript React","code":55,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Toggler/index.tsx":{"language":"TypeScript React","code":29,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Views/Common/BufferThemeSwitcher/index.tsx":{"language":"TypeScript React","code":109,"comment":2,"blank":6},"file:///home/amit/buffer-ui/src/main.tsx":{"language":"TypeScript React","code":30,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/redux/rootReducer.ts":{"language":"TypeScript","code":8,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/atoms/generic.ts":{"language":"TypeScript","code":14,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/contexts/index.tsx":{"language":"TypeScript React","code":11,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Views/Common/Tooltips/Display/index.tsx":{"language":"TypeScript React","code":114,"comment":19,"blank":8},"file:///home/amit/buffer-ui/src/Config/axios.ts":{"language":"TypeScript","code":43,"comment":0,"blank":6},"file:///home/amit/buffer-ui/src/Config/index.ts":{"language":"TypeScript","code":162,"comment":10,"blank":9},"file:///home/amit/buffer-ui/src/SVG/frontArrow.tsx":{"language":"TypeScript React","code":14,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/buttons/exit.tsx":{"language":"TypeScript React","code":12,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/Time.ts":{"language":"TypeScript","code":62,"comment":8,"blank":6},"file:///home/amit/buffer-ui/src/Config/getTabs.ts":{"language":"TypeScript","code":70,"comment":12,"blank":3},"file:///home/amit/buffer-ui/src/ABIs/Multicallv2.json":{"language":"JSON","code":141,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Config/globalAtoms.ts":{"language":"TypeScript","code":4,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/getLogs.ts":{"language":"TypeScript","code":68,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/contexts/Refresher/index.tsx":{"language":"TypeScript React","code":56,"comment":2,"blank":11},"file:///home/amit/buffer-ui/src/SVG/buttons/Chart.tsx":{"language":"TypeScript React","code":12,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/ABIs/BufferBinaryIBFRPoolBinaryV2.json":{"language":"JSON","code":1193,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/redux/persisted/reducer.ts":{"language":"TypeScript","code":43,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/SVG/buttons/enterDisabled.tsx":{"language":"TypeScript React","code":12,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/ABIs/Vester.json":{"language":"JSON","code":1024,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/ABIs/BFR.json":{"language":"JSON","code":686,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Config/wagmiClient.ts":{"language":"TypeScript","code":51,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/contexts/Global/index.tsx":{"language":"TypeScript React","code":29,"comment":2,"blank":8},"file:///home/amit/buffer-ui/src/Utils/kpiChartPoints.ts":{"language":"TypeScript","code":47,"comment":10,"blank":3},"file:///home/amit/buffer-ui/src/Utils/Dates/displayDateTime.ts":{"language":"TypeScript","code":73,"comment":0,"blank":8},"file:///home/amit/buffer-ui/src/SVG/buttons/cross.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/contexts/Global/reducer.ts":{"language":"TypeScript","code":358,"comment":7,"blank":10},"file:///home/amit/buffer-ui/src/ABIs/RewardTracker.json":{"language":"JSON","code":911,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/ABIs/BLP.json":{"language":"JSON","code":1154,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/ABIs/RewardRouterV2.json":{"language":"JSON","code":661,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/ABIs/Multicallv1.json":{"language":"JSON","code":141,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/contexts/Global/interfaces.tsx":{"language":"TypeScript React","code":25,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Utils/apis/api.ts":{"language":"TypeScript","code":121,"comment":2,"blank":4},"file:///home/amit/buffer-ui/src/Utils/web3react/wallet.ts":{"language":"TypeScript","code":78,"comment":13,"blank":6},"file:///home/amit/buffer-ui/src/Utils/appControls/changeRoute.ts":{"language":"TypeScript","code":12,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/redux/consents/reducer.ts":{"language":"TypeScript","code":29,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/apis/contextInitializers.ts":{"language":"TypeScript","code":38,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Utils/appControls/redirectRoute.ts":{"language":"TypeScript","code":4,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/useMultiCallSWR.tsx":{"language":"TypeScript React","code":26,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/SVG/buttons/enter.tsx":{"language":"TypeScript React","code":12,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/ABIs/EsBFR.json":{"language":"JSON","code":686,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/ABIs/Token.json":{"language":"JSON","code":338,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Utils/appControls/mobileDrawerHandlers.ts":{"language":"TypeScript","code":44,"comment":20,"blank":12},"file:///home/amit/buffer-ui/src/SVG/buttons/back.tsx":{"language":"TypeScript React","code":11,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/useMulticall.ts":{"language":"TypeScript","code":26,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/Utils/PosthogCaptureAccount.tsx":{"language":"TypeScript React","code":4,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/appControls/replaceAsset.ts":{"language":"TypeScript","code":6,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Utils/appControls/pageSupported.ts":{"language":"TypeScript","code":15,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/ABIs/PriceProvider.json":{"language":"JSON","code":528,"comment":0,"blank":19},"file:///home/amit/buffer-ui/src/ABIs/Multicall.json":{"language":"JSON","code":165,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Utils/apis/getAbi.ts":{"language":"TypeScript","code":8,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/apis/getMetaData.ts":{"language":"TypeScript","code":32,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/appControls/getSupportedPages.ts":{"language":"TypeScript","code":15,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/speedtest.js":{"language":"JavaScript","code":21,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Utils/appControls/redirectChain.ts":{"language":"TypeScript","code":4,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/appControls/getBrowserName.ts":{"language":"TypeScript","code":18,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/Formulas/blackscholes.js":{"language":"JavaScript","code":29,"comment":9,"blank":4},"file:///home/amit/buffer-ui/src/Utils/DisplayDate.tsx":{"language":"TypeScript React","code":33,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/SVG/Elements/SuccessIcon.tsx":{"language":"TypeScript React","code":27,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/memoize.tsx":{"language":"TypeScript React","code":10,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Utils/JSUtils/createArray.ts":{"language":"TypeScript","code":2,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/contexts/Toast/index.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/contexts/Toast/reducer.ts":{"language":"TypeScript","code":47,"comment":2,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/TofuNFT.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/Unseen.tsx":{"language":"TypeScript React","code":8,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/appControls/removeMargin.ts":{"language":"TypeScript","code":32,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/appControls/convertibleChartPoints.ts":{"language":"TypeScript","code":51,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/redux/index.ts":{"language":"TypeScript","code":55,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/PeckShield.tsx":{"language":"TypeScript React","code":29,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/PNLL.tsx":{"language":"TypeScript React","code":25,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/JSUtils/isCharPresent.tsx":{"language":"TypeScript React","code":8,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Utils/NumString/index.tsx":{"language":"TypeScript React","code":7,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Utils/successChartPoints.ts":{"language":"TypeScript","code":77,"comment":1,"blank":7},"file:///home/amit/buffer-ui/src/SVG/Elements/NotificationCount.tsx":{"language":"TypeScript React","code":7,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/LinkTargetIcon.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/Chart.tsx":{"language":"TypeScript React","code":32,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/isUserPaused.ts":{"language":"TypeScript","code":52,"comment":18,"blank":11},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/Leaderboard.tsx":{"language":"TypeScript React","code":23,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Hooks/useActiveChain.ts":{"language":"TypeScript","code":12,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/TradingView/useDataFeed.tsx":{"language":"TypeScript React","code":366,"comment":469,"blank":23},"file:///home/amit/buffer-ui/src/TradingView/ChartTypeSelectionDD.tsx":{"language":"TypeScript React","code":149,"comment":30,"blank":4},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/PG.tsx":{"language":"TypeScript React","code":14,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/TradingView/TV.tsx":{"language":"TypeScript React","code":473,"comment":47,"blank":37},"file:///home/amit/buffer-ui/src/Hooks/useGenericHook.tsx":{"language":"TypeScript React","code":62,"comment":3,"blank":8},"file:///home/amit/buffer-ui/src/SVG/Elements/Disconnect.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/Doccumentation.tsx":{"language":"TypeScript React","code":20,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/CallBoosters.tsx":{"language":"TypeScript React","code":33,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Utils/copyToClipBoard.ts":{"language":"TypeScript","code":30,"comment":2,"blank":1},"file:///home/amit/buffer-ui/src/Utils/bigNumber.ts":{"language":"TypeScript","code":14,"comment":1,"blank":5},"file:///home/amit/buffer-ui/src/SVG/Elements/TimerIcon.tsx":{"language":"TypeScript React","code":24,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useDeboncedEffect.tsx":{"language":"TypeScript React","code":7,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Hooks/Contracts/useNFTContract.tsx":{"language":"TypeScript React","code":18,"comment":17,"blank":5},"file:///home/amit/buffer-ui/src/Hooks/useUserAccount.ts":{"language":"TypeScript","code":10,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Hooks/useAheadTrades.ts":{"language":"TypeScript","code":287,"comment":21,"blank":18},"file:///home/amit/buffer-ui/src/assets/Social/DD/github.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/Staking.tsx":{"language":"TypeScript React","code":28,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/useReadCall.ts":{"language":"TypeScript","code":50,"comment":2,"blank":5},"file:///home/amit/buffer-ui/src/SVG/Elements/GlobeIcon.tsx":{"language":"TypeScript React","code":11,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/usdc.tsx":{"language":"TypeScript React","code":33,"comment":2,"blank":4},"file:///home/amit/buffer-ui/src/Hooks/Contracts/useLiquidityContract.tsx":{"language":"TypeScript React","code":73,"comment":9,"blank":6},"file:///home/amit/buffer-ui/src/assets/Social/DD/medium.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/assets/Social/DD/gitbook.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/Referralcon.tsx":{"language":"TypeScript React","code":49,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/getDeepCopy.ts":{"language":"TypeScript","code":13,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Hooks/useNFTGraph.ts":{"language":"TypeScript","code":58,"comment":1,"blank":6},"file:///home/amit/buffer-ui/src/assets/Social/DD/telegram.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/assets/Social/DD/twitter.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/Closelogo.tsx":{"language":"TypeScript React","code":25,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/NumString/eToWide.tsx":{"language":"TypeScript React","code":88,"comment":9,"blank":7},"file:///home/amit/buffer-ui/src/SVG/Elements/EarnIcon.tsx":{"language":"TypeScript React","code":45,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/assets/Social/DD/discord.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/EditIcon.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/putChartPoints.ts":{"language":"TypeScript","code":49,"comment":27,"blank":5},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/RevenueSharing.tsx":{"language":"TypeScript React","code":25,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/SVG/Elements/GridViewIcon.tsx":{"language":"TypeScript React","code":46,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/NumString/getSignificantNum.tsx":{"language":"TypeScript React","code":64,"comment":6,"blank":3},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/Home.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/SVG/Elements/ErrorIconSmall.tsx":{"language":"TypeScript React","code":11,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/chartDataPoints.ts":{"language":"TypeScript","code":68,"comment":0,"blank":6},"file:///home/amit/buffer-ui/src/Utils/NumString/putChartPoints.ts":{"language":"TypeScript","code":38,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/PGCard.tsx":{"language":"TypeScript React","code":36,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Hooks/useWalletConnect.ts":{"language":"TypeScript","code":44,"comment":11,"blank":6},"file:///home/amit/buffer-ui/src/SVG/Elements/BackButtonHalf.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/NoMatchFound.tsx":{"language":"TypeScript React","code":15,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/NumString/toFixed.tsx":{"language":"TypeScript React","code":12,"comment":3,"blank":5},"file:///home/amit/buffer-ui/src/Utils/captureScreenShot.ts":{"language":"TypeScript","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Utils/display.tsx":{"language":"TypeScript React","code":28,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Hooks/useQuery.ts":{"language":"TypeScript","code":6,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/DDIcon.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/useIbfrBalance.ts":{"language":"TypeScript","code":28,"comment":1,"blank":5},"file:///home/amit/buffer-ui/src/TradingView/TZ.json":{"language":"JSON","code":2390,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Hooks/useOpenConnectionDrawer.ts":{"language":"TypeScript","code":31,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/Liquidity.tsx":{"language":"TypeScript React","code":100,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Utils/DOMutils.ts":{"language":"TypeScript","code":22,"comment":5,"blank":4},"file:///home/amit/buffer-ui/src/Utils/NumString/stringArithmatics.tsx":{"language":"TypeScript React","code":89,"comment":1,"blank":2},"file:///home/amit/buffer-ui/src/Utils/NumString/formatNumStr.tsx":{"language":"TypeScript React","code":29,"comment":7,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/SwapIcon.tsx":{"language":"TypeScript React","code":17,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/YellowWarning.tsx":{"language":"TypeScript React","code":20,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/Moneybag.tsx":{"language":"TypeScript React","code":28,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/NumString/numtostr.tsx":{"language":"TypeScript React","code":12,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Hooks/useWriteCall.ts":{"language":"TypeScript","code":177,"comment":13,"blank":17},"file:///home/amit/buffer-ui/src/Utils/copyToClipboard.ts":{"language":"TypeScript","code":30,"comment":2,"blank":1},"file:///home/amit/buffer-ui/src/SVG/Elements/sidebarCollpaseIcon.tsx":{"language":"TypeScript React","code":23,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/Payout.jsx":{"language":"JavaScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/StringToBytes32.ts":{"language":"TypeScript","code":9,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/SVG/Elements/ShareIconComp.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Hooks/useClickAway.ts":{"language":"TypeScript","code":17,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/Contract/getProvider.tsx":{"language":"TypeScript React","code":7,"comment":3,"blank":3},"file:///home/amit/buffer-ui/src/Utils/NumString/kpiChartPoints.ts":{"language":"TypeScript","code":61,"comment":22,"blank":6},"file:///home/amit/buffer-ui/src/SVG/SidebarIcons/Options.tsx":{"language":"TypeScript React","code":51,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/InfoIcon.tsx":{"language":"TypeScript React","code":78,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Utils/logger.tsx":{"language":"TypeScript React","code":4,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/globalStore.ts":{"language":"TypeScript","code":3,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/Staking/utils.ts":{"language":"TypeScript","code":62,"comment":8,"blank":6},"file:///home/amit/buffer-ui/src/Utils/Contract/getNodeUrl.ts":{"language":"TypeScript","code":9,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/AppStyles.ts":{"language":"TypeScript","code":46,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/SVG/Elements/CopyIcon.tsx":{"language":"TypeScript React","code":20,"comment":0,"blank":2},"file:///home/amit/buffer-ui/index.html":{"language":"HTML","code":15,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/SVG/Elements/PeckSheildLogo.tsx":{"language":"TypeScript React","code":26,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/assets/Elements/SuccessIcon.tsx":{"language":"TypeScript React","code":26,"comment":0,"blank":3},"file:///home/amit/buffer-ui/postcss.config.cjs":{"language":"JavaScript","code":6,"comment":0,"blank":1},"file:///home/amit/buffer-ui/vite.config.ts":{"language":"TypeScript","code":12,"comment":4,"blank":4},"file:///home/amit/buffer-ui/src/Utils/Contract/multiContract.ts":{"language":"TypeScript","code":286,"comment":2,"blank":6},"file:///home/amit/buffer-ui/tsconfig.json":{"language":"JSON with Comments","code":4,"comment":34,"blank":0},"file:///home/amit/buffer-ui/src/Providers/index.tsx":{"language":"TypeScript React","code":103,"comment":2,"blank":5},"file:///home/amit/buffer-ui/src/Providers/configuredChains.ts":{"language":"TypeScript","code":37,"comment":0,"blank":3},"file:///home/amit/buffer-ui/index.css":{"language":"CSS","code":2297,"comment":132,"blank":431},"file:///home/amit/buffer-ui/src/Utils/Contract/getError.tsx":{"language":"TypeScript React","code":45,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/assets/Elements/MenuLogo.tsx":{"language":"TypeScript React","code":31,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/ErrorIcon.tsx":{"language":"TypeScript React","code":28,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/MenuLogo.tsx":{"language":"TypeScript React","code":31,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/FailedSuccess.tsx":{"language":"TypeScript React","code":27,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Providers/styles.ts":{"language":"TypeScript","code":46,"comment":0,"blank":5},"file:///home/amit/buffer-ui/src/Providers/wagmiClient.tsx":{"language":"TypeScript React","code":62,"comment":5,"blank":6},"file:///home/amit/buffer-ui/src/assets/Elements/wallet.tsx":{"language":"TypeScript React","code":28,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/assets/Elements/ErrorIcon.tsx":{"language":"TypeScript React","code":31,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Utils/Contract/getContract.tsx":{"language":"TypeScript React","code":6,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/assets/Elements/Closelogo.tsx":{"language":"TypeScript React","code":25,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/assets/Elements/FailedSuccess.tsx":{"language":"TypeScript React","code":26,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/ListViewIcon.tsx":{"language":"TypeScript React","code":35,"comment":0,"blank":3},"file:///home/amit/buffer-ui/package.json":{"language":"JSON","code":89,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/SVG/Elements/RetryIcon.tsx":{"language":"TypeScript React","code":24,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/site.webmanifest":{"language":"JSON","code":19,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useTimeout.tsx":{"language":"TypeScript React","code":23,"comment":0,"blank":8},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useToggle.ts":{"language":"TypeScript","code":5,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useTImer.ts":{"language":"TypeScript","code":7,"comment":0,"blank":2},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useDateFormatter.ts":{"language":"TypeScript","code":34,"comment":3,"blank":7},"file:///home/amit/buffer-ui/src/SVG/Elements/ShieldIcon.tsx":{"language":"TypeScript React","code":78,"comment":0,"blank":1},"file:///home/amit/buffer-ui/config/index.ts":{"language":"TypeScript","code":460,"comment":128,"blank":26},"file:///home/amit/buffer-ui/config/axios.tsx":{"language":"TypeScript React","code":43,"comment":0,"blank":6},"file:///home/amit/buffer-ui/public/Triangle_Up.svg":{"language":"XML","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useStopWatch.ts":{"language":"TypeScript","code":102,"comment":0,"blank":8},"file:///home/amit/buffer-ui/config/connectors.ts":{"language":"TypeScript","code":17,"comment":0,"blank":1},"file:///home/amit/buffer-ui/src/SVG/Elements/FailureIcon.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/ComponentSVGS/wallet.tsx":{"language":"TypeScript React","code":28,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/ComponentSVGS/bufferLogo.tsx":{"language":"TypeScript React","code":21,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/LeaderBoard/Trophy.tsx":{"language":"TypeScript React","code":35,"comment":1,"blank":3},"file:///home/amit/buffer-ui/src/assets/Elements/Disconnect.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Utils/getErrorFromCode.ts":{"language":"TypeScript","code":57,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/LeaderBoard/PNL.tsx":{"language":"TypeScript React","code":26,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/LeaderBoard/Daily.tsx":{"language":"TypeScript React","code":9,"comment":0,"blank":4},"file:///home/amit/buffer-ui/public/wallets/trust_wallet.svg":{"language":"XML","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/ComponentSVGS/Star.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":2},"file:///home/amit/buffer-ui/public/Triangle_Down.svg":{"language":"XML","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/shareModal/ShareIcon.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/wallets/tally_ho.svg":{"language":"XML","code":9,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/ComponentSVGS/Quick.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/ComponentSVGS/CoinsUp.tsx":{"language":"TypeScript React","code":25,"comment":0,"blank":2},"file:///home/amit/buffer-ui/public/ComponentSVGS/UpTriangle.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/ComponentSVGS/DownTriangle.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/wallets/coin98.svg":{"language":"XML","code":9,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/Social/discord.tsx":{"language":"TypeScript React","code":10,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/wallets/wallet_connect.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/wallets/coinbase.svg":{"language":"XML","code":9,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/charting_library.d.ts":{"language":"TypeScript","code":2258,"comment":267,"blank":4},"file:///home/amit/buffer-ui/public/wallets/metamask.svg":{"language":"XML","code":9,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/pl-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/Social/DD/gitbook.tsx":{"language":"TypeScript React","code":12,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/static/charting_library/fa-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/Social/telegram.tsx":{"language":"TypeScript React","code":11,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/Social/DD/twitter.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/Social/DD/medium.tsx":{"language":"TypeScript React","code":7,"comment":0,"blank":4},"file:///home/amit/buffer-ui/public/Social/github.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/static/charting_library/pt-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/hu_HU-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/Social/DD/discord.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/static/charting_library/fr-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/Social/DD/telegram.tsx":{"language":"TypeScript React","code":17,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/Social/Blue/Twitter.svg":{"language":"XML","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/Social/DD/github.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/static/charting_library/ar-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/da_DK-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/charting_library.cjs.js":{"language":"JavaScript","code":1,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/Social/medium.tsx":{"language":"TypeScript React","code":10,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/static/charting_library/ru-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/Social/Blue/Telegram.svg":{"language":"XML","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/Social/Blue/Discord.svg":{"language":"XML","code":29,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/Social/twitter.tsx":{"language":"TypeScript React","code":7,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/Social/Discord.svg":{"language":"XML","code":29,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/ms_MY-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/Social/Telegram.svg":{"language":"XML","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/no-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/Social/Twitter.svg":{"language":"XML","code":3,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/README.md":{"language":"Markdown","code":2,"comment":0,"blank":2},"file:///home/amit/buffer-ui/public/static/charting_library/th-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/it-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/datafeed-api.d.ts":{"language":"TypeScript","code":205,"comment":81,"blank":4},"file:///home/amit/buffer-ui/public/ComponentSVGS/Edit.tsx":{"language":"TypeScript React","code":26,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/static/charting_library/id_ID-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/cs-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/charting_library.standalone.js":{"language":"JavaScript","code":1,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/package.json":{"language":"JSON","code":17,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/tsconfig.json":{"language":"JSON with Comments","code":25,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/tr-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/nl_NL-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/helpers.ts":{"language":"TypeScript","code":28,"comment":4,"blank":7},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/quotes-pulse-provider.js":{"language":"JavaScript","code":44,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/symbols-storage.ts":{"language":"TypeScript","code":244,"comment":6,"blank":52},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/udf-compatible-datafeed.ts":{"language":"TypeScript","code":10,"comment":0,"blank":2},"file:///home/amit/buffer-ui/public/static/charting_library/ko-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/quotes-pulse-provider.ts":{"language":"TypeScript","code":69,"comment":0,"blank":17},"file:///home/amit/buffer-ui/public/static/charting_library/sk_SK-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/sv-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/data-pulse-provider.js":{"language":"JavaScript","code":99,"comment":5,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/ro-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/ja-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/charting_library.esm.js":{"language":"JavaScript","code":1,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/requester.ts":{"language":"TypeScript","code":30,"comment":1,"blank":9},"file:///home/amit/buffer-ui/public/static/charting_library/vi-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/history-provider.ts":{"language":"TypeScript","code":112,"comment":3,"blank":20},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/quotes-provider.ts":{"language":"TypeScript","code":33,"comment":0,"blank":5},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/udf-compatible-datafeed-base.ts":{"language":"TypeScript","code":306,"comment":7,"blank":57},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/udf-compatible-datafeed.js":{"language":"JavaScript","code":10,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/data-pulse-provider.ts":{"language":"TypeScript","code":120,"comment":5,"blank":28},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/history-provider.js":{"language":"JavaScript","code":72,"comment":1,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/charting_library.js":{"language":"JavaScript","code":1,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/requester.js":{"language":"JavaScript","code":27,"comment":1,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/el-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/quotes-provider.js":{"language":"JavaScript","code":25,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/symbols-storage.js":{"language":"JavaScript","code":177,"comment":4,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/zh_TW-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/es-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/helpers.js":{"language":"JavaScript","code":16,"comment":4,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/udf-compatible-datafeed-base.js":{"language":"JavaScript","code":248,"comment":4,"blank":1},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/src/iquotes-provider.ts":{"language":"TypeScript","code":10,"comment":1,"blank":4},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/lib/iquotes-provider.js":{"language":"JavaScript","code":1,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/en-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/de-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/README.md":{"language":"Markdown","code":28,"comment":0,"blank":19},"file:///home/amit/buffer-ui/public/static/charting_library/et_EE-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/package.json":{"language":"JSON","code":8,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/zh-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/datafeeds/udf/rollup.config.js":{"language":"JavaScript","code":21,"comment":1,"blank":4},"file:///home/amit/buffer-ui/src/SVG/Elements/ToastCrossIcon.tsx":{"language":"TypeScript React","code":11,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useWriteCallValidations.tsx":{"language":"TypeScript React","code":30,"comment":0,"blank":4},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useOpenConnectionDrawer.ts":{"language":"TypeScript","code":31,"comment":0,"blank":5},"file:///home/amit/buffer-ui/public/static/charting_library/he_IL-tv-chart.e2a841ff.html":{"language":"HTML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/SVG/Elements/Search.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/Hooks/Utilities/useClickAway.tsx":{"language":"TypeScript React","code":15,"comment":1,"blank":2},"file:///home/amit/buffer-ui/src/SVG/Elements/UpIcon.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/assets/Elements/BackIcon.tsx":{"language":"TypeScript React","code":16,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/BufferLogo.tsx":{"language":"TypeScript React","code":18,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/DownIcon.tsx":{"language":"TypeScript React","code":19,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/assets/Elements/ToastCrossIcon.tsx":{"language":"TypeScript React","code":15,"comment":0,"blank":3},"file:///home/amit/buffer-ui/src/SVG/Elements/DropDownArrow.tsx":{"language":"TypeScript React","code":13,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/assets/Elements/BufferLogo.tsx":{"language":"TypeScript React","code":21,"comment":0,"blank":3},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/full-tooltips-popup.c97f4f88ba2959dd66bb.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Common/AreaChart/style.ts":{"language":"TypeScript","code":3,"comment":0,"blank":2},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/take-chart-image-impl.013638618dfc6d4c1eaa.js":{"language":"JavaScript","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/src/Views/Common/AreaChart/index.tsx":{"language":"TypeScript React","code":304,"comment":22,"blank":7},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/context-menu-renderer.9a0385060e4241baf12d.js":{"language":"JavaScript","code":4,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1529.30943dc0c4f6a9ddaaa6.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7799.681df0cf83dba8ef3cc5.js":{"language":"JavaScript","code":4,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/export-data.429732b8c4ae52bcac7d.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/587.144039f5c693ee079edb.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/share-chart-to-social-utils.830f7e41690ac8285de5.js":{"language":"JavaScript","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/hammerjs.c69dac2431e462e3fc71.js":{"language":"JavaScript","code":7,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/redux.e48a9c831cd697f8a38d.js":{"language":"JavaScript","code":8,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/manage-drawings-dialog.ce43d4b42ea019cc5518.js":{"language":"JavaScript","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7365.fb40181a46db7cf2d8b0.js":{"language":"JavaScript","code":4,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/lt-pane-views.a54c6c59d86ab4d390bf.js":{"language":"JavaScript","code":101,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7371.81bb2bc38b8ec23308e1.js":{"language":"JavaScript","code":4,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3223.783979b0683ba0a325de.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8680.a98f949c3d71bf32d2c7.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/study-pane-views.d9686c973fa1f1a93ff4.js":{"language":"JavaScript","code":5,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2614.9b290389192f690dd33c.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/new-confirm-inputs-dialog.88813711209cf273d882.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/get-error-card.dfe1662b6e974e519b68.js":{"language":"JavaScript","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/study-inputs-pane-views.1763111669ad2eaa2f52.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1829.1d41207f53b42b7a2cba.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2614.9b290389192f690dd33c.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/general-chart-properties-dialog.742b577b84c6f9fdb26f.js":{"language":"JavaScript","code":5,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/header-toolbar.d302e948bcd970bc1897.js":{"language":"JavaScript","code":9,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/study-property-pages-with-definitions.72083d0a0868166ca2b7.js":{"language":"JavaScript","code":7,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/study-market.aaf59e23fa593dd538bc.js":{"language":"JavaScript","code":9,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7607.99350c6a482907066b03.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/lt-property-pages-with-definitions.ced0df22c184338b3396.js":{"language":"JavaScript","code":39,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3876.fbb750fd312778403036.css":{"language":"CSS","code":0,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4940.6aeb4a6f298568a71905.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/add-compare-dialog.0e0f4b81cf8178378c14.js":{"language":"JavaScript","code":10,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7962.eed46026b7fd77b57cb3.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8933.9d36818107c1f276f948.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3463.65423ae1c1f3301a6bc0.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8933.9d36818107c1f276f948.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/drawing-toolbar.8399395e7103ba30e756.js":{"language":"JavaScript","code":13,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/restricted-toolset.8f58ab2a275c8e1f72b1.js":{"language":"JavaScript","code":30,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9628.8f8514eafeb1da3bbdee.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8434.99d7135551ebc9e84366.js":{"language":"JavaScript","code":6,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/series-pane-views.d49b8ec162ba0c43260c.js":{"language":"JavaScript","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/chart-bottom-toolbar.05a57b6389d7ddc2a351.js":{"language":"JavaScript","code":16,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9772.0967c8fb7beae0056cf7.js":{"language":"JavaScript","code":20,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/847.0e2ec220427667ac4afb.js":{"language":"JavaScript","code":8,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/series-icons-map.9d92dfe755e0c94c0c8d.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5254.776db7a6898f96fdd81f.js":{"language":"JavaScript","code":13,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8625.2718a9cf5d44ca766c9d.js":{"language":"JavaScript","code":25,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/symbol-info-dialog-impl.6aa56a0ae77115394b2f.js":{"language":"JavaScript","code":4,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/708.7f4b99c8dfd3f4cda1d1.js":{"language":"JavaScript","code":7,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5383.22c502e2ba80f4b4fc32.js":{"language":"JavaScript","code":6,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8193.01090d4d9384825040ad.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/739.ac9682232ee125adb331.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/chart-event-hint.cb517ed06ee9725b8a76.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/vendors.3197279804dd7477f3fb.js":{"language":"JavaScript","code":33,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2391.07217bcacc2a0c3b5526.js":{"language":"JavaScript","code":5,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7400.30502d5397989951046f.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7591.cea4aee1089cbf340ee7.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/runtime.f1210af3518e525e94d7.js":{"language":"JavaScript","code":5,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3708.b21be6dee862262304cf.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9256.c6fbca120598828685f3.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/symbol-search-dialog.4e741ef8a94e2a1cdf8c.js":{"language":"JavaScript","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3590.9ba8c934cf8289ea708f.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5030.3f535fc5b94422bc913a.js":{"language":"JavaScript","code":4,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/show-theme-save-dialog.b99932982e0d8e47d562.js":{"language":"JavaScript","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/floating-toolbars.913e12fe2b73959f49ca.js":{"language":"JavaScript","code":23,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/line-tools-icons.2ebfde56d4ef0139cc64.js":{"language":"JavaScript","code":28,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4985.6abfd9453389325f7436.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/react.13567dea1b1173009d35.js":{"language":"JavaScript","code":45,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8193.01090d4d9384825040ad.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2444.89916595bdde00535f06.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/general-property-page.86f95ff011c77a44071d.js":{"language":"JavaScript","code":9,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/change-interval-dialog.15fea722d205fbdde7d1.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3223.783979b0683ba0a325de.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/object-tree-dialog.ec325666665d14d13dd5.js":{"language":"JavaScript","code":57,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/306.547d2bcc2b4af2c3a922.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/lollipop-tooltip-renderer.76349a508c9e9d8b8af2.js":{"language":"JavaScript","code":5,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/587.144039f5c693ee079edb.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/new-edit-object-dialog.e069889125138e0cf97a.js":{"language":"JavaScript","code":19,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/go-to-date-dialog-impl.dadfac644efdcd254d91.js":{"language":"JavaScript","code":11,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5551.407668886ab3145df3b5.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/simple-dialog.4965864a1f87b628af01.js":{"language":"JavaScript","code":6,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7607.99350c6a482907066b03.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4093.8b84af355871cc700cb8.js":{"language":"JavaScript","code":10,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2402.4ce4e3425dce9bceed85.js":{"language":"JavaScript","code":4,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3876.fbb750fd312778403036.rtl.css":{"language":"CSS","code":0,"comment":0,"blank":1},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5551.407668886ab3145df3b5.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/chart-screenshot-hint.6d0f2e7ac3cebd7b650c.js":{"language":"JavaScript","code":2,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4985.6abfd9453389325f7436.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/study-template-dialog.fd30d0463b77c8858d31.js":{"language":"JavaScript","code":7,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/chart-widget-gui.9891573a47b469e91df5.js":{"language":"JavaScript","code":55,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/source-properties-editor.6854af2788acfa4ef4d4.js":{"language":"JavaScript","code":3,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/3708.b21be6dee862262304cf.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7703.be823882173b57ef030c.js":{"language":"JavaScript","code":4,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/custom-intervals-add-dialog.3506afd973a0a43dc42a.js":{"language":"JavaScript","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7400.30502d5397989951046f.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/load-chart-dialog.418fa6c99a7803f5cc10.js":{"language":"JavaScript","code":5,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9256.c6fbca120598828685f3.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5019.5e7f23f81809b4af9b28.js":{"language":"JavaScript","code":9,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/currency-label-menu.6dde8a17826b1fb3712c.js":{"language":"JavaScript","code":7,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.rtl.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.css":{"language":"CSS","code":1,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/compare-model.08356f64fbfcdcdc3776.js":{"language":"JavaScript","code":5,"comment":0,"blank":0},"file:///home/amit/buffer-ui/public/static/charting_library/bundles/library.1fbbf36d35f97ccfbd00.js":{"language":"JavaScript","code":157,"comment":613,"blank":0}} \ No newline at end of file diff --git a/.VSCodeCounter/2023-01-21_11-36-14/results.md b/.VSCodeCounter/2023-01-21_11-36-14/results.md new file mode 100644 index 0000000..d9fff3c --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/results.md @@ -0,0 +1,217 @@ +# Summary + +Date : 2023-01-21 11:36:14 + +Directory /home/amit/buffer-ui + +Total : 821 files, 77642 codes, 3788 comments, 3115 blanks, all 84545 lines + +Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| JSON | 40 | 38,123 | 0 | 49 | 38,172 | +| TypeScript React | 309 | 21,464 | 1,712 | 1,549 | 24,725 | +| TypeScript | 181 | 13,474 | 1,128 | 1,013 | 15,615 | +| CSS | 142 | 2,463 | 218 | 437 | 3,118 | +| JavaScript | 97 | 1,878 | 696 | 28 | 2,602 | +| XML | 16 | 118 | 0 | 13 | 131 | +| HTML | 31 | 45 | 0 | 1 | 46 | +| Markdown | 2 | 30 | 0 | 21 | 51 | +| JSON with Comments | 2 | 29 | 34 | 1 | 64 | +| JavaScript React | 1 | 18 | 0 | 3 | 21 | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| . | 821 | 77,642 | 3,788 | 3,115 | 84,545 | +| . (Files) | 12 | 17,928 | 310 | 446 | 18,684 | +| config | 3 | 520 | 128 | 33 | 681 | +| public | 319 | 5,894 | 1,009 | 336 | 7,239 | +| public (Files) | 3 | 25 | 0 | 3 | 28 | +| public/ComponentSVGS | 8 | 169 | 0 | 22 | 191 | +| public/LeaderBoard | 3 | 70 | 1 | 10 | 81 | +| public/Social | 17 | 214 | 0 | 40 | 254 | +| public/Social (Files) | 8 | 92 | 0 | 18 | 110 | +| public/Social/Blue | 3 | 35 | 0 | 3 | 38 | +| public/Social/DD | 6 | 87 | 0 | 19 | 106 | +| public/shareModal | 1 | 19 | 0 | 3 | 22 | +| public/static | 281 | 5,357 | 1,008 | 253 | 6,618 | +| public/static/charting_library | 256 | 3,583 | 961 | 15 | 4,559 | +| public/static/charting_library (Files) | 37 | 2,505 | 348 | 13 | 2,866 | +| public/static/charting_library/bundles | 219 | 1,078 | 613 | 2 | 1,693 | +| public/static/datafeeds | 25 | 1,774 | 47 | 238 | 2,059 | +| public/static/datafeeds (Files) | 1 | 2 | 0 | 2 | 4 | +| public/static/datafeeds/udf | 24 | 1,772 | 47 | 236 | 2,055 | +| public/static/datafeeds/udf (Files) | 4 | 91 | 1 | 25 | 117 | +| public/static/datafeeds/udf/lib | 10 | 719 | 19 | 10 | 748 | +| public/static/datafeeds/udf/src | 10 | 962 | 27 | 201 | 1,190 | +| public/wallets | 6 | 40 | 0 | 5 | 45 | +| src | 487 | 53,300 | 2,341 | 2,300 | 57,941 | +| src (Files) | 5 | 171 | 1 | 15 | 187 | +| src/ABIs | 12 | 7,628 | 0 | 21 | 7,649 | +| src/Config | 5 | 330 | 22 | 25 | 377 | +| src/Hooks | 21 | 1,049 | 79 | 123 | 1,251 | +| src/Hooks (Files) | 10 | 704 | 49 | 71 | 824 | +| src/Hooks/Contracts | 2 | 91 | 26 | 11 | 128 | +| src/Hooks/Utilities | 9 | 254 | 4 | 41 | 299 | +| src/Interfaces | 1 | 21 | 0 | 1 | 22 | +| src/Providers | 4 | 248 | 7 | 19 | 274 | +| src/SVG | 60 | 1,521 | 3 | 178 | 1,702 | +| src/SVG (Files) | 2 | 43 | 0 | 6 | 49 | +| src/SVG/Elements | 41 | 1,002 | 3 | 119 | 1,124 | +| src/SVG/SidebarIcons | 11 | 398 | 0 | 35 | 433 | +| src/SVG/buttons | 6 | 78 | 0 | 18 | 96 | +| src/TradingView | 4 | 3,378 | 546 | 64 | 3,988 | +| src/Utils | 59 | 2,236 | 186 | 210 | 2,632 | +| src/Utils (Files) | 25 | 831 | 78 | 87 | 996 | +| src/Utils/Contract | 5 | 353 | 7 | 17 | 377 | +| src/Utils/Dates | 1 | 73 | 0 | 8 | 81 | +| src/Utils/Formulas | 1 | 29 | 9 | 4 | 42 | +| src/Utils/JSUtils | 2 | 10 | 0 | 3 | 13 | +| src/Utils/NumString | 9 | 400 | 48 | 32 | 480 | +| src/Utils/Staking | 1 | 62 | 8 | 6 | 76 | +| src/Utils/apis | 4 | 199 | 2 | 13 | 214 | +| src/Utils/appControls | 10 | 201 | 21 | 34 | 256 | +| src/Utils/web3react | 1 | 78 | 13 | 6 | 97 | +| src/Views | 288 | 35,687 | 1,484 | 1,546 | 38,717 | +| src/Views/BinaryOptions | 70 | 12,943 | 433 | 501 | 13,877 | +| src/Views/BinaryOptions (Files) | 10 | 1,759 | 32 | 70 | 1,861 | +| src/Views/BinaryOptions/ABI | 7 | 2,881 | 0 | 4 | 2,885 | +| src/Views/BinaryOptions/Components | 9 | 1,224 | 59 | 68 | 1,351 | +| src/Views/BinaryOptions/Components (Files) | 5 | 788 | 53 | 43 | 884 | +| src/Views/BinaryOptions/Components/Mobile | 4 | 436 | 6 | 25 | 467 | +| src/Views/BinaryOptions/Favourites | 9 | 729 | 27 | 42 | 798 | +| src/Views/BinaryOptions/Favourites (Files) | 6 | 671 | 26 | 35 | 732 | +| src/Views/BinaryOptions/Favourites/Utils | 3 | 58 | 1 | 7 | 66 | +| src/Views/BinaryOptions/Hooks | 13 | 3,022 | 109 | 105 | 3,236 | +| src/Views/BinaryOptions/OrderBookComponents | 4 | 598 | 16 | 45 | 659 | +| src/Views/BinaryOptions/OrderBookComponents/BuyModal | 2 | 514 | 13 | 39 | 566 | +| src/Views/BinaryOptions/OrderBookComponents/GraphModal | 2 | 84 | 3 | 6 | 93 | +| src/Views/BinaryOptions/PGDrawer | 11 | 1,349 | 88 | 77 | 1,514 | +| src/Views/BinaryOptions/Tables | 7 | 1,381 | 102 | 90 | 1,573 | +| src/Views/BinaryOptions/Tables (Files) | 5 | 1,063 | 48 | 68 | 1,179 | +| src/Views/BinaryOptions/Tables/OrderBookTable | 2 | 318 | 54 | 22 | 394 | +| src/Views/Common | 147 | 8,862 | 425 | 658 | 9,945 | +| src/Views/Common (Files) | 8 | 357 | 4 | 28 | 389 | +| src/Views/Common/AccountInfo | 2 | 95 | 3 | 10 | 108 | +| src/Views/Common/Aligner | 2 | 99 | 1 | 6 | 106 | +| src/Views/Common/AreaChart | 2 | 307 | 22 | 9 | 338 | +| src/Views/Common/AssetInfo | 2 | 279 | 27 | 11 | 317 | +| src/Views/Common/Banner | 2 | 107 | 0 | 12 | 119 | +| src/Views/Common/Buffer-Dropdown | 2 | 199 | 4 | 6 | 209 | +| src/Views/Common/BufferCheckbox | 2 | 93 | 10 | 7 | 110 | +| src/Views/Common/BufferDisclaimer | 2 | 61 | 1 | 7 | 69 | +| src/Views/Common/BufferDropdown | 2 | 206 | 9 | 15 | 230 | +| src/Views/Common/BufferInput | 1 | 155 | 1 | 8 | 164 | +| src/Views/Common/BufferProgressBar.tsx | 1 | 31 | 0 | 4 | 35 | +| src/Views/Common/BufferSlider | 2 | 131 | 2 | 10 | 143 | +| src/Views/Common/BufferSwitch | 2 | 117 | 0 | 18 | 135 | +| src/Views/Common/BufferSwitchLabelled | 1 | 30 | 1 | 4 | 35 | +| src/Views/Common/BufferTab | 2 | 110 | 41 | 9 | 160 | +| src/Views/Common/BufferTable | 7 | 618 | 2 | 37 | 657 | +| src/Views/Common/BufferTable (Files) | 3 | 495 | 1 | 24 | 520 | +| src/Views/Common/BufferTable/ErrorMsg | 2 | 67 | 0 | 6 | 73 | +| src/Views/Common/BufferTable/TableAssetCell | 2 | 56 | 1 | 7 | 64 | +| src/Views/Common/BufferTableCard | 2 | 98 | 15 | 13 | 126 | +| src/Views/Common/BufferTextInputRoot | 2 | 158 | 4 | 8 | 170 | +| src/Views/Common/BufferThemeSwitcher | 2 | 164 | 2 | 8 | 174 | +| src/Views/Common/BufferToggleButton | 2 | 83 | 4 | 4 | 91 | +| src/Views/Common/ButtonLoader | 1 | 13 | 0 | 3 | 16 | +| src/Views/Common/Buttons | 2 | 128 | 11 | 11 | 150 | +| src/Views/Common/Card | 2 | 17 | 0 | 6 | 23 | +| src/Views/Common/ChainAccountDropdowns | 2 | 208 | 42 | 15 | 265 | +| src/Views/Common/Chips | 2 | 22 | 0 | 6 | 28 | +| src/Views/Common/ClientOnlyPortal | 2 | 21 | 1 | 7 | 29 | +| src/Views/Common/ConfirmationModal | 2 | 267 | 14 | 11 | 292 | +| src/Views/Common/ConnectionDrawer | 2 | 169 | 8 | 14 | 191 | +| src/Views/Common/Dialog | 1 | 75 | 4 | 11 | 90 | +| src/Views/Common/Disclaimer | 2 | 25 | 0 | 6 | 31 | +| src/Views/Common/DraggableModal | 2 | 71 | 1 | 11 | 83 | +| src/Views/Common/Dropdown | 2 | 385 | 43 | 17 | 445 | +| src/Views/Common/GraphView | 5 | 399 | 0 | 8 | 407 | +| src/Views/Common/HeroCard | 2 | 62 | 21 | 8 | 91 | +| src/Views/Common/InfoCard | 2 | 31 | 2 | 6 | 39 | +| src/Views/Common/InfoTooltip | 1 | 12 | 0 | 3 | 15 | +| src/Views/Common/Missing | 2 | 68 | 4 | 7 | 79 | +| src/Views/Common/Mobile | 4 | 177 | 3 | 15 | 195 | +| src/Views/Common/Mobile/AlignerMobile | 2 | 73 | 1 | 7 | 81 | +| src/Views/Common/Mobile/AssetCellMobile | 2 | 104 | 2 | 8 | 114 | +| src/Views/Common/Navbar | 7 | 446 | 20 | 33 | 499 | +| src/Views/Common/Notification | 3 | 77 | 0 | 8 | 85 | +| src/Views/Common/RowStrip | 2 | 74 | 2 | 6 | 82 | +| src/Views/Common/SocialMedia | 5 | 171 | 0 | 17 | 188 | +| src/Views/Common/SocialMedia (Files) | 3 | 127 | 0 | 10 | 137 | +| src/Views/Common/SocialMedia/MobileFooter | 2 | 44 | 0 | 7 | 51 | +| src/Views/Common/TabList | 2 | 67 | 1 | 7 | 75 | +| src/Views/Common/TabSwitch | 2 | 47 | 0 | 5 | 52 | +| src/Views/Common/TableComponents | 2 | 178 | 1 | 15 | 194 | +| src/Views/Common/TableMobile | 2 | 247 | 4 | 16 | 267 | +| src/Views/Common/Toast | 2 | 285 | 27 | 19 | 331 | +| src/Views/Common/Toggler | 2 | 61 | 0 | 5 | 66 | +| src/Views/Common/Tooltip | 2 | 131 | 0 | 16 | 147 | +| src/Views/Common/Tooltips | 2 | 149 | 20 | 13 | 182 | +| src/Views/Common/Tooltips (Files) | 1 | 35 | 1 | 5 | 41 | +| src/Views/Common/Tooltips/Display | 1 | 114 | 19 | 8 | 141 | +| src/Views/Common/TopBanner | 2 | 48 | 2 | 7 | 57 | +| src/Views/Common/Transition | 1 | 53 | 3 | 6 | 62 | +| src/Views/Common/Transitions | 4 | 80 | 1 | 12 | 93 | +| src/Views/Common/Transitions/Horizontal | 2 | 49 | 1 | 7 | 57 | +| src/Views/Common/Transitions/Vertical | 2 | 31 | 0 | 5 | 36 | +| src/Views/Common/TryTestnet | 2 | 83 | 7 | 9 | 99 | +| src/Views/Common/TypeChip | 1 | 8 | 0 | 3 | 11 | +| src/Views/Common/UnorderedList | 2 | 53 | 1 | 6 | 60 | +| src/Views/Common/V2-Button | 2 | 112 | 0 | 6 | 118 | +| src/Views/Common/V2-Drawer | 2 | 156 | 1 | 9 | 166 | +| src/Views/Common/VersionChip | 2 | 30 | 0 | 5 | 35 | +| src/Views/Common/VerticalTabs | 2 | 129 | 3 | 7 | 139 | +| src/Views/Common/v2-AssetDropDown | 2 | 252 | 6 | 14 | 272 | +| src/Views/Common/v2-BufferInput | 2 | 139 | 7 | 8 | 154 | +| src/Views/Common/v2-OptionsDropdown | 2 | 138 | 12 | 7 | 157 | +| src/Views/Earn | 27 | 10,184 | 164 | 139 | 10,487 | +| src/Views/Earn (Files) | 2 | 267 | 3 | 18 | 288 | +| src/Views/Earn/Components | 7 | 988 | 51 | 28 | 1,067 | +| src/Views/Earn/Config | 9 | 6,698 | 0 | 2 | 6,700 | +| src/Views/Earn/Config (Files) | 1 | 45 | 0 | 2 | 47 | +| src/Views/Earn/Config/Abis | 8 | 6,653 | 0 | 0 | 6,653 | +| src/Views/Earn/Hooks | 2 | 1,121 | 59 | 43 | 1,223 | +| src/Views/Earn/Modals | 7 | 1,110 | 51 | 48 | 1,209 | +| src/Views/Faucet | 3 | 454 | 20 | 13 | 487 | +| src/Views/Pro | 1 | 22 | 0 | 1 | 23 | +| src/Views/Pro/Common | 1 | 22 | 0 | 1 | 23 | +| src/Views/Referral | 15 | 1,128 | 20 | 78 | 1,226 | +| src/Views/Referral (Files) | 2 | 471 | 17 | 28 | 516 | +| src/Views/Referral/Components | 4 | 166 | 1 | 16 | 183 | +| src/Views/Referral/Config | 2 | 302 | 0 | 3 | 305 | +| src/Views/Referral/Hooks | 5 | 166 | 1 | 27 | 194 | +| src/Views/Referral/Utils | 2 | 23 | 1 | 4 | 28 | +| src/Views/V2-Leaderboard | 25 | 2,094 | 422 | 156 | 2,672 | +| src/Views/V2-Leaderboard (Files) | 5 | 131 | 4 | 15 | 150 | +| src/Views/V2-Leaderboard/Components | 6 | 235 | 5 | 19 | 259 | +| src/Views/V2-Leaderboard/Components (Files) | 2 | 77 | 0 | 5 | 82 | +| src/Views/V2-Leaderboard/Components/ContestFilterDD | 1 | 74 | 0 | 8 | 82 | +| src/Views/V2-Leaderboard/Components/TableAligner | 2 | 60 | 5 | 5 | 70 | +| src/Views/V2-Leaderboard/Components/TopData | 1 | 24 | 0 | 1 | 25 | +| src/Views/V2-Leaderboard/Daily | 4 | 578 | 17 | 36 | 631 | +| src/Views/V2-Leaderboard/Hooks | 2 | 151 | 12 | 14 | 177 | +| src/Views/V2-Leaderboard/Incentivised | 1 | 161 | 91 | 11 | 263 | +| src/Views/V2-Leaderboard/PNL | 3 | 172 | 12 | 15 | 199 | +| src/Views/V2-Leaderboard/Sidebar | 2 | 260 | 178 | 27 | 465 | +| src/Views/V2-Leaderboard/Weekly | 2 | 406 | 103 | 19 | 528 | +| src/assets | 16 | 338 | 0 | 47 | 385 | +| src/assets/Elements | 10 | 238 | 0 | 29 | 267 | +| src/assets/Social | 6 | 100 | 0 | 18 | 118 | +| src/assets/Social/DD | 6 | 100 | 0 | 18 | 118 | +| src/atoms | 1 | 14 | 0 | 3 | 17 | +| src/contexts | 7 | 544 | 13 | 39 | 596 | +| src/contexts (Files) | 1 | 11 | 0 | 2 | 13 | +| src/contexts/Global | 3 | 412 | 9 | 19 | 440 | +| src/contexts/Refresher | 1 | 56 | 2 | 11 | 69 | +| src/contexts/Toast | 2 | 65 | 2 | 7 | 74 | +| src/redux | 4 | 135 | 0 | 9 | 144 | +| src/redux (Files) | 2 | 63 | 0 | 5 | 68 | +| src/redux/consents | 1 | 29 | 0 | 2 | 31 | +| src/redux/persisted | 1 | 43 | 0 | 2 | 45 | + +Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-01-21_11-36-14/results.txt b/.VSCodeCounter/2023-01-21_11-36-14/results.txt new file mode 100644 index 0000000..4d01c96 --- /dev/null +++ b/.VSCodeCounter/2023-01-21_11-36-14/results.txt @@ -0,0 +1,1041 @@ +Date : 2023-01-21 11:36:14 +Directory : /home/amit/buffer-ui +Total : 821 files, 77642 codes, 3788 comments, 3115 blanks, all 84545 lines + +Languages ++--------------------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++--------------------+------------+------------+------------+------------+------------+ +| JSON | 40 | 38,123 | 0 | 49 | 38,172 | +| TypeScript React | 309 | 21,464 | 1,712 | 1,549 | 24,725 | +| TypeScript | 181 | 13,474 | 1,128 | 1,013 | 15,615 | +| CSS | 142 | 2,463 | 218 | 437 | 3,118 | +| JavaScript | 97 | 1,878 | 696 | 28 | 2,602 | +| XML | 16 | 118 | 0 | 13 | 131 | +| HTML | 31 | 45 | 0 | 1 | 46 | +| Markdown | 2 | 30 | 0 | 21 | 51 | +| JSON with Comments | 2 | 29 | 34 | 1 | 64 | +| JavaScript React | 1 | 18 | 0 | 3 | 21 | ++--------------------+------------+------------+------------+------------+------------+ + +Directories ++---------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++---------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| . | 821 | 77,642 | 3,788 | 3,115 | 84,545 | +| . (Files) | 12 | 17,928 | 310 | 446 | 18,684 | +| config | 3 | 520 | 128 | 33 | 681 | +| public | 319 | 5,894 | 1,009 | 336 | 7,239 | +| public (Files) | 3 | 25 | 0 | 3 | 28 | +| public/ComponentSVGS | 8 | 169 | 0 | 22 | 191 | +| public/LeaderBoard | 3 | 70 | 1 | 10 | 81 | +| public/Social | 17 | 214 | 0 | 40 | 254 | +| public/Social (Files) | 8 | 92 | 0 | 18 | 110 | +| public/Social/Blue | 3 | 35 | 0 | 3 | 38 | +| public/Social/DD | 6 | 87 | 0 | 19 | 106 | +| public/shareModal | 1 | 19 | 0 | 3 | 22 | +| public/static | 281 | 5,357 | 1,008 | 253 | 6,618 | +| public/static/charting_library | 256 | 3,583 | 961 | 15 | 4,559 | +| public/static/charting_library (Files) | 37 | 2,505 | 348 | 13 | 2,866 | +| public/static/charting_library/bundles | 219 | 1,078 | 613 | 2 | 1,693 | +| public/static/datafeeds | 25 | 1,774 | 47 | 238 | 2,059 | +| public/static/datafeeds (Files) | 1 | 2 | 0 | 2 | 4 | +| public/static/datafeeds/udf | 24 | 1,772 | 47 | 236 | 2,055 | +| public/static/datafeeds/udf (Files) | 4 | 91 | 1 | 25 | 117 | +| public/static/datafeeds/udf/lib | 10 | 719 | 19 | 10 | 748 | +| public/static/datafeeds/udf/src | 10 | 962 | 27 | 201 | 1,190 | +| public/wallets | 6 | 40 | 0 | 5 | 45 | +| src | 487 | 53,300 | 2,341 | 2,300 | 57,941 | +| src (Files) | 5 | 171 | 1 | 15 | 187 | +| src/ABIs | 12 | 7,628 | 0 | 21 | 7,649 | +| src/Config | 5 | 330 | 22 | 25 | 377 | +| src/Hooks | 21 | 1,049 | 79 | 123 | 1,251 | +| src/Hooks (Files) | 10 | 704 | 49 | 71 | 824 | +| src/Hooks/Contracts | 2 | 91 | 26 | 11 | 128 | +| src/Hooks/Utilities | 9 | 254 | 4 | 41 | 299 | +| src/Interfaces | 1 | 21 | 0 | 1 | 22 | +| src/Providers | 4 | 248 | 7 | 19 | 274 | +| src/SVG | 60 | 1,521 | 3 | 178 | 1,702 | +| src/SVG (Files) | 2 | 43 | 0 | 6 | 49 | +| src/SVG/Elements | 41 | 1,002 | 3 | 119 | 1,124 | +| src/SVG/SidebarIcons | 11 | 398 | 0 | 35 | 433 | +| src/SVG/buttons | 6 | 78 | 0 | 18 | 96 | +| src/TradingView | 4 | 3,378 | 546 | 64 | 3,988 | +| src/Utils | 59 | 2,236 | 186 | 210 | 2,632 | +| src/Utils (Files) | 25 | 831 | 78 | 87 | 996 | +| src/Utils/Contract | 5 | 353 | 7 | 17 | 377 | +| src/Utils/Dates | 1 | 73 | 0 | 8 | 81 | +| src/Utils/Formulas | 1 | 29 | 9 | 4 | 42 | +| src/Utils/JSUtils | 2 | 10 | 0 | 3 | 13 | +| src/Utils/NumString | 9 | 400 | 48 | 32 | 480 | +| src/Utils/Staking | 1 | 62 | 8 | 6 | 76 | +| src/Utils/apis | 4 | 199 | 2 | 13 | 214 | +| src/Utils/appControls | 10 | 201 | 21 | 34 | 256 | +| src/Utils/web3react | 1 | 78 | 13 | 6 | 97 | +| src/Views | 288 | 35,687 | 1,484 | 1,546 | 38,717 | +| src/Views/BinaryOptions | 70 | 12,943 | 433 | 501 | 13,877 | +| src/Views/BinaryOptions (Files) | 10 | 1,759 | 32 | 70 | 1,861 | +| src/Views/BinaryOptions/ABI | 7 | 2,881 | 0 | 4 | 2,885 | +| src/Views/BinaryOptions/Components | 9 | 1,224 | 59 | 68 | 1,351 | +| src/Views/BinaryOptions/Components (Files) | 5 | 788 | 53 | 43 | 884 | +| src/Views/BinaryOptions/Components/Mobile | 4 | 436 | 6 | 25 | 467 | +| src/Views/BinaryOptions/Favourites | 9 | 729 | 27 | 42 | 798 | +| src/Views/BinaryOptions/Favourites (Files) | 6 | 671 | 26 | 35 | 732 | +| src/Views/BinaryOptions/Favourites/Utils | 3 | 58 | 1 | 7 | 66 | +| src/Views/BinaryOptions/Hooks | 13 | 3,022 | 109 | 105 | 3,236 | +| src/Views/BinaryOptions/OrderBookComponents | 4 | 598 | 16 | 45 | 659 | +| src/Views/BinaryOptions/OrderBookComponents/BuyModal | 2 | 514 | 13 | 39 | 566 | +| src/Views/BinaryOptions/OrderBookComponents/GraphModal | 2 | 84 | 3 | 6 | 93 | +| src/Views/BinaryOptions/PGDrawer | 11 | 1,349 | 88 | 77 | 1,514 | +| src/Views/BinaryOptions/Tables | 7 | 1,381 | 102 | 90 | 1,573 | +| src/Views/BinaryOptions/Tables (Files) | 5 | 1,063 | 48 | 68 | 1,179 | +| src/Views/BinaryOptions/Tables/OrderBookTable | 2 | 318 | 54 | 22 | 394 | +| src/Views/Common | 147 | 8,862 | 425 | 658 | 9,945 | +| src/Views/Common (Files) | 8 | 357 | 4 | 28 | 389 | +| src/Views/Common/AccountInfo | 2 | 95 | 3 | 10 | 108 | +| src/Views/Common/Aligner | 2 | 99 | 1 | 6 | 106 | +| src/Views/Common/AreaChart | 2 | 307 | 22 | 9 | 338 | +| src/Views/Common/AssetInfo | 2 | 279 | 27 | 11 | 317 | +| src/Views/Common/Banner | 2 | 107 | 0 | 12 | 119 | +| src/Views/Common/Buffer-Dropdown | 2 | 199 | 4 | 6 | 209 | +| src/Views/Common/BufferCheckbox | 2 | 93 | 10 | 7 | 110 | +| src/Views/Common/BufferDisclaimer | 2 | 61 | 1 | 7 | 69 | +| src/Views/Common/BufferDropdown | 2 | 206 | 9 | 15 | 230 | +| src/Views/Common/BufferInput | 1 | 155 | 1 | 8 | 164 | +| src/Views/Common/BufferProgressBar.tsx | 1 | 31 | 0 | 4 | 35 | +| src/Views/Common/BufferSlider | 2 | 131 | 2 | 10 | 143 | +| src/Views/Common/BufferSwitch | 2 | 117 | 0 | 18 | 135 | +| src/Views/Common/BufferSwitchLabelled | 1 | 30 | 1 | 4 | 35 | +| src/Views/Common/BufferTab | 2 | 110 | 41 | 9 | 160 | +| src/Views/Common/BufferTable | 7 | 618 | 2 | 37 | 657 | +| src/Views/Common/BufferTable (Files) | 3 | 495 | 1 | 24 | 520 | +| src/Views/Common/BufferTable/ErrorMsg | 2 | 67 | 0 | 6 | 73 | +| src/Views/Common/BufferTable/TableAssetCell | 2 | 56 | 1 | 7 | 64 | +| src/Views/Common/BufferTableCard | 2 | 98 | 15 | 13 | 126 | +| src/Views/Common/BufferTextInputRoot | 2 | 158 | 4 | 8 | 170 | +| src/Views/Common/BufferThemeSwitcher | 2 | 164 | 2 | 8 | 174 | +| src/Views/Common/BufferToggleButton | 2 | 83 | 4 | 4 | 91 | +| src/Views/Common/ButtonLoader | 1 | 13 | 0 | 3 | 16 | +| src/Views/Common/Buttons | 2 | 128 | 11 | 11 | 150 | +| src/Views/Common/Card | 2 | 17 | 0 | 6 | 23 | +| src/Views/Common/ChainAccountDropdowns | 2 | 208 | 42 | 15 | 265 | +| src/Views/Common/Chips | 2 | 22 | 0 | 6 | 28 | +| src/Views/Common/ClientOnlyPortal | 2 | 21 | 1 | 7 | 29 | +| src/Views/Common/ConfirmationModal | 2 | 267 | 14 | 11 | 292 | +| src/Views/Common/ConnectionDrawer | 2 | 169 | 8 | 14 | 191 | +| src/Views/Common/Dialog | 1 | 75 | 4 | 11 | 90 | +| src/Views/Common/Disclaimer | 2 | 25 | 0 | 6 | 31 | +| src/Views/Common/DraggableModal | 2 | 71 | 1 | 11 | 83 | +| src/Views/Common/Dropdown | 2 | 385 | 43 | 17 | 445 | +| src/Views/Common/GraphView | 5 | 399 | 0 | 8 | 407 | +| src/Views/Common/HeroCard | 2 | 62 | 21 | 8 | 91 | +| src/Views/Common/InfoCard | 2 | 31 | 2 | 6 | 39 | +| src/Views/Common/InfoTooltip | 1 | 12 | 0 | 3 | 15 | +| src/Views/Common/Missing | 2 | 68 | 4 | 7 | 79 | +| src/Views/Common/Mobile | 4 | 177 | 3 | 15 | 195 | +| src/Views/Common/Mobile/AlignerMobile | 2 | 73 | 1 | 7 | 81 | +| src/Views/Common/Mobile/AssetCellMobile | 2 | 104 | 2 | 8 | 114 | +| src/Views/Common/Navbar | 7 | 446 | 20 | 33 | 499 | +| src/Views/Common/Notification | 3 | 77 | 0 | 8 | 85 | +| src/Views/Common/RowStrip | 2 | 74 | 2 | 6 | 82 | +| src/Views/Common/SocialMedia | 5 | 171 | 0 | 17 | 188 | +| src/Views/Common/SocialMedia (Files) | 3 | 127 | 0 | 10 | 137 | +| src/Views/Common/SocialMedia/MobileFooter | 2 | 44 | 0 | 7 | 51 | +| src/Views/Common/TabList | 2 | 67 | 1 | 7 | 75 | +| src/Views/Common/TabSwitch | 2 | 47 | 0 | 5 | 52 | +| src/Views/Common/TableComponents | 2 | 178 | 1 | 15 | 194 | +| src/Views/Common/TableMobile | 2 | 247 | 4 | 16 | 267 | +| src/Views/Common/Toast | 2 | 285 | 27 | 19 | 331 | +| src/Views/Common/Toggler | 2 | 61 | 0 | 5 | 66 | +| src/Views/Common/Tooltip | 2 | 131 | 0 | 16 | 147 | +| src/Views/Common/Tooltips | 2 | 149 | 20 | 13 | 182 | +| src/Views/Common/Tooltips (Files) | 1 | 35 | 1 | 5 | 41 | +| src/Views/Common/Tooltips/Display | 1 | 114 | 19 | 8 | 141 | +| src/Views/Common/TopBanner | 2 | 48 | 2 | 7 | 57 | +| src/Views/Common/Transition | 1 | 53 | 3 | 6 | 62 | +| src/Views/Common/Transitions | 4 | 80 | 1 | 12 | 93 | +| src/Views/Common/Transitions/Horizontal | 2 | 49 | 1 | 7 | 57 | +| src/Views/Common/Transitions/Vertical | 2 | 31 | 0 | 5 | 36 | +| src/Views/Common/TryTestnet | 2 | 83 | 7 | 9 | 99 | +| src/Views/Common/TypeChip | 1 | 8 | 0 | 3 | 11 | +| src/Views/Common/UnorderedList | 2 | 53 | 1 | 6 | 60 | +| src/Views/Common/V2-Button | 2 | 112 | 0 | 6 | 118 | +| src/Views/Common/V2-Drawer | 2 | 156 | 1 | 9 | 166 | +| src/Views/Common/VersionChip | 2 | 30 | 0 | 5 | 35 | +| src/Views/Common/VerticalTabs | 2 | 129 | 3 | 7 | 139 | +| src/Views/Common/v2-AssetDropDown | 2 | 252 | 6 | 14 | 272 | +| src/Views/Common/v2-BufferInput | 2 | 139 | 7 | 8 | 154 | +| src/Views/Common/v2-OptionsDropdown | 2 | 138 | 12 | 7 | 157 | +| src/Views/Earn | 27 | 10,184 | 164 | 139 | 10,487 | +| src/Views/Earn (Files) | 2 | 267 | 3 | 18 | 288 | +| src/Views/Earn/Components | 7 | 988 | 51 | 28 | 1,067 | +| src/Views/Earn/Config | 9 | 6,698 | 0 | 2 | 6,700 | +| src/Views/Earn/Config (Files) | 1 | 45 | 0 | 2 | 47 | +| src/Views/Earn/Config/Abis | 8 | 6,653 | 0 | 0 | 6,653 | +| src/Views/Earn/Hooks | 2 | 1,121 | 59 | 43 | 1,223 | +| src/Views/Earn/Modals | 7 | 1,110 | 51 | 48 | 1,209 | +| src/Views/Faucet | 3 | 454 | 20 | 13 | 487 | +| src/Views/Pro | 1 | 22 | 0 | 1 | 23 | +| src/Views/Pro/Common | 1 | 22 | 0 | 1 | 23 | +| src/Views/Referral | 15 | 1,128 | 20 | 78 | 1,226 | +| src/Views/Referral (Files) | 2 | 471 | 17 | 28 | 516 | +| src/Views/Referral/Components | 4 | 166 | 1 | 16 | 183 | +| src/Views/Referral/Config | 2 | 302 | 0 | 3 | 305 | +| src/Views/Referral/Hooks | 5 | 166 | 1 | 27 | 194 | +| src/Views/Referral/Utils | 2 | 23 | 1 | 4 | 28 | +| src/Views/V2-Leaderboard | 25 | 2,094 | 422 | 156 | 2,672 | +| src/Views/V2-Leaderboard (Files) | 5 | 131 | 4 | 15 | 150 | +| src/Views/V2-Leaderboard/Components | 6 | 235 | 5 | 19 | 259 | +| src/Views/V2-Leaderboard/Components (Files) | 2 | 77 | 0 | 5 | 82 | +| src/Views/V2-Leaderboard/Components/ContestFilterDD | 1 | 74 | 0 | 8 | 82 | +| src/Views/V2-Leaderboard/Components/TableAligner | 2 | 60 | 5 | 5 | 70 | +| src/Views/V2-Leaderboard/Components/TopData | 1 | 24 | 0 | 1 | 25 | +| src/Views/V2-Leaderboard/Daily | 4 | 578 | 17 | 36 | 631 | +| src/Views/V2-Leaderboard/Hooks | 2 | 151 | 12 | 14 | 177 | +| src/Views/V2-Leaderboard/Incentivised | 1 | 161 | 91 | 11 | 263 | +| src/Views/V2-Leaderboard/PNL | 3 | 172 | 12 | 15 | 199 | +| src/Views/V2-Leaderboard/Sidebar | 2 | 260 | 178 | 27 | 465 | +| src/Views/V2-Leaderboard/Weekly | 2 | 406 | 103 | 19 | 528 | +| src/assets | 16 | 338 | 0 | 47 | 385 | +| src/assets/Elements | 10 | 238 | 0 | 29 | 267 | +| src/assets/Social | 6 | 100 | 0 | 18 | 118 | +| src/assets/Social/DD | 6 | 100 | 0 | 18 | 118 | +| src/atoms | 1 | 14 | 0 | 3 | 17 | +| src/contexts | 7 | 544 | 13 | 39 | 596 | +| src/contexts (Files) | 1 | 11 | 0 | 2 | 13 | +| src/contexts/Global | 3 | 412 | 9 | 19 | 440 | +| src/contexts/Refresher | 1 | 56 | 2 | 11 | 69 | +| src/contexts/Toast | 2 | 65 | 2 | 7 | 74 | +| src/redux | 4 | 135 | 0 | 9 | 144 | +| src/redux (Files) | 2 | 63 | 0 | 5 | 68 | +| src/redux/consents | 1 | 29 | 0 | 2 | 31 | +| src/redux/persisted | 1 | 43 | 0 | 2 | 45 | ++---------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ + +Files ++---------------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++---------------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ +| /home/amit/buffer-ui/.eslintrc.js | JavaScript | 12 | 53 | 0 | 65 | +| /home/amit/buffer-ui/.prettierrc | JSON | 10 | 0 | 1 | 11 | +| /home/amit/buffer-ui/config/axios.tsx | TypeScript React | 43 | 0 | 6 | 49 | +| /home/amit/buffer-ui/config/connectors.ts | TypeScript | 17 | 0 | 1 | 18 | +| /home/amit/buffer-ui/config/index.ts | TypeScript | 460 | 128 | 26 | 614 | +| /home/amit/buffer-ui/fonts.css | CSS | 28 | 86 | 4 | 118 | +| /home/amit/buffer-ui/index.css | CSS | 2,297 | 132 | 431 | 2,860 | +| /home/amit/buffer-ui/index.html | HTML | 15 | 0 | 1 | 16 | +| /home/amit/buffer-ui/package-lock.json | JSON | 15,318 | 0 | 1 | 15,319 | +| /home/amit/buffer-ui/package.json | JSON | 89 | 0 | 1 | 90 | +| /home/amit/buffer-ui/postcss.config.cjs | JavaScript | 6 | 0 | 1 | 7 | +| /home/amit/buffer-ui/public/ComponentSVGS/CoinsUp.tsx | TypeScript React | 25 | 0 | 2 | 27 | +| /home/amit/buffer-ui/public/ComponentSVGS/DownTriangle.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/public/ComponentSVGS/Edit.tsx | TypeScript React | 26 | 0 | 3 | 29 | +| /home/amit/buffer-ui/public/ComponentSVGS/Quick.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/public/ComponentSVGS/Star.tsx | TypeScript React | 18 | 0 | 2 | 20 | +| /home/amit/buffer-ui/public/ComponentSVGS/UpTriangle.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/public/ComponentSVGS/bufferLogo.tsx | TypeScript React | 21 | 0 | 3 | 24 | +| /home/amit/buffer-ui/public/ComponentSVGS/wallet.tsx | TypeScript React | 28 | 0 | 3 | 31 | +| /home/amit/buffer-ui/public/LeaderBoard/Daily.tsx | TypeScript React | 9 | 0 | 4 | 13 | +| /home/amit/buffer-ui/public/LeaderBoard/PNL.tsx | TypeScript React | 26 | 0 | 3 | 29 | +| /home/amit/buffer-ui/public/LeaderBoard/Trophy.tsx | TypeScript React | 35 | 1 | 3 | 39 | +| /home/amit/buffer-ui/public/Social/Blue/Discord.svg | XML | 29 | 0 | 1 | 30 | +| /home/amit/buffer-ui/public/Social/Blue/Telegram.svg | XML | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/public/Social/Blue/Twitter.svg | XML | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/public/Social/DD/discord.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/public/Social/DD/gitbook.tsx | TypeScript React | 12 | 0 | 3 | 15 | +| /home/amit/buffer-ui/public/Social/DD/github.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/public/Social/DD/medium.tsx | TypeScript React | 7 | 0 | 4 | 11 | +| /home/amit/buffer-ui/public/Social/DD/telegram.tsx | TypeScript React | 17 | 0 | 3 | 20 | +| /home/amit/buffer-ui/public/Social/DD/twitter.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/public/Social/Discord.svg | XML | 29 | 0 | 1 | 30 | +| /home/amit/buffer-ui/public/Social/Telegram.svg | XML | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/public/Social/Twitter.svg | XML | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/public/Social/discord.tsx | TypeScript React | 10 | 0 | 3 | 13 | +| /home/amit/buffer-ui/public/Social/github.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/public/Social/medium.tsx | TypeScript React | 10 | 0 | 3 | 13 | +| /home/amit/buffer-ui/public/Social/telegram.tsx | TypeScript React | 11 | 0 | 3 | 14 | +| /home/amit/buffer-ui/public/Social/twitter.tsx | TypeScript React | 7 | 0 | 3 | 10 | +| /home/amit/buffer-ui/public/Triangle_Down.svg | XML | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/public/Triangle_Up.svg | XML | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/public/shareModal/ShareIcon.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/public/site.webmanifest | JSON | 19 | 0 | 1 | 20 | +| /home/amit/buffer-ui/public/static/charting_library/ar-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1529.30943dc0c4f6a9ddaaa6.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1829.1d41207f53b42b7a2cba.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2391.07217bcacc2a0c3b5526.js | JavaScript | 5 | 0 | 0 | 5 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2402.4ce4e3425dce9bceed85.js | JavaScript | 4 | 0 | 0 | 4 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2444.89916595bdde00535f06.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2614.9b290389192f690dd33c.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2614.9b290389192f690dd33c.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/306.547d2bcc2b4af2c3a922.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3223.783979b0683ba0a325de.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3223.783979b0683ba0a325de.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3463.65423ae1c1f3301a6bc0.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3590.9ba8c934cf8289ea708f.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3708.b21be6dee862262304cf.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3708.b21be6dee862262304cf.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3876.fbb750fd312778403036.css | CSS | 0 | 0 | 1 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3876.fbb750fd312778403036.rtl.css | CSS | 0 | 0 | 1 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg | XML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4093.8b84af355871cc700cb8.js | JavaScript | 10 | 0 | 0 | 10 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4940.6aeb4a6f298568a71905.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4985.6abfd9453389325f7436.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/4985.6abfd9453389325f7436.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5019.5e7f23f81809b4af9b28.js | JavaScript | 9 | 0 | 0 | 9 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5030.3f535fc5b94422bc913a.js | JavaScript | 4 | 0 | 0 | 4 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5254.776db7a6898f96fdd81f.js | JavaScript | 13 | 0 | 0 | 13 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5383.22c502e2ba80f4b4fc32.js | JavaScript | 6 | 0 | 0 | 6 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5551.407668886ab3145df3b5.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5551.407668886ab3145df3b5.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/587.144039f5c693ee079edb.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/587.144039f5c693ee079edb.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/708.7f4b99c8dfd3f4cda1d1.js | JavaScript | 7 | 0 | 0 | 7 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7365.fb40181a46db7cf2d8b0.js | JavaScript | 4 | 0 | 0 | 4 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7371.81bb2bc38b8ec23308e1.js | JavaScript | 4 | 0 | 0 | 4 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/739.ac9682232ee125adb331.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7400.30502d5397989951046f.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7400.30502d5397989951046f.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7591.cea4aee1089cbf340ee7.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7607.99350c6a482907066b03.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7607.99350c6a482907066b03.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7703.be823882173b57ef030c.js | JavaScript | 4 | 0 | 0 | 4 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7799.681df0cf83dba8ef3cc5.js | JavaScript | 4 | 0 | 0 | 4 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/7962.eed46026b7fd77b57cb3.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8193.01090d4d9384825040ad.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8193.01090d4d9384825040ad.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8434.99d7135551ebc9e84366.js | JavaScript | 6 | 0 | 0 | 6 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/847.0e2ec220427667ac4afb.js | JavaScript | 8 | 0 | 0 | 8 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8625.2718a9cf5d44ca766c9d.js | JavaScript | 25 | 0 | 0 | 25 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8680.a98f949c3d71bf32d2c7.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8933.9d36818107c1f276f948.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8933.9d36818107c1f276f948.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9256.c6fbca120598828685f3.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9256.c6fbca120598828685f3.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9628.8f8514eafeb1da3bbdee.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9772.0967c8fb7beae0056cf7.js | JavaScript | 20 | 0 | 0 | 20 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.rtl.css | CSS | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg | XML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/add-compare-dialog.0e0f4b81cf8178378c14.js | JavaScript | 10 | 0 | 0 | 10 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/change-interval-dialog.15fea722d205fbdde7d1.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/chart-bottom-toolbar.05a57b6389d7ddc2a351.js | JavaScript | 16 | 0 | 0 | 16 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/chart-event-hint.cb517ed06ee9725b8a76.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/chart-screenshot-hint.6d0f2e7ac3cebd7b650c.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/chart-widget-gui.9891573a47b469e91df5.js | JavaScript | 55 | 0 | 0 | 55 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/compare-model.08356f64fbfcdcdc3776.js | JavaScript | 5 | 0 | 0 | 5 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/context-menu-renderer.9a0385060e4241baf12d.js | JavaScript | 4 | 0 | 0 | 4 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/currency-label-menu.6dde8a17826b1fb3712c.js | JavaScript | 7 | 0 | 0 | 7 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/custom-intervals-add-dialog.3506afd973a0a43dc42a.js | JavaScript | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/drawing-toolbar.8399395e7103ba30e756.js | JavaScript | 13 | 0 | 0 | 13 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/export-data.429732b8c4ae52bcac7d.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/floating-toolbars.913e12fe2b73959f49ca.js | JavaScript | 23 | 0 | 0 | 23 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/full-tooltips-popup.c97f4f88ba2959dd66bb.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/general-chart-properties-dialog.742b577b84c6f9fdb26f.js | JavaScript | 5 | 0 | 0 | 5 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/general-property-page.86f95ff011c77a44071d.js | JavaScript | 9 | 0 | 0 | 9 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/get-error-card.dfe1662b6e974e519b68.js | JavaScript | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/go-to-date-dialog-impl.dadfac644efdcd254d91.js | JavaScript | 11 | 0 | 0 | 11 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/hammerjs.c69dac2431e462e3fc71.js | JavaScript | 7 | 0 | 0 | 7 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/header-toolbar.d302e948bcd970bc1897.js | JavaScript | 9 | 0 | 0 | 9 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/library.1fbbf36d35f97ccfbd00.js | JavaScript | 157 | 613 | 0 | 770 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/line-tools-icons.2ebfde56d4ef0139cc64.js | JavaScript | 28 | 0 | 0 | 28 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/load-chart-dialog.418fa6c99a7803f5cc10.js | JavaScript | 5 | 0 | 0 | 5 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/lollipop-tooltip-renderer.76349a508c9e9d8b8af2.js | JavaScript | 5 | 0 | 0 | 5 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/lt-pane-views.a54c6c59d86ab4d390bf.js | JavaScript | 101 | 0 | 0 | 101 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/lt-property-pages-with-definitions.ced0df22c184338b3396.js | JavaScript | 39 | 0 | 0 | 39 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/manage-drawings-dialog.ce43d4b42ea019cc5518.js | JavaScript | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/new-confirm-inputs-dialog.88813711209cf273d882.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/new-edit-object-dialog.e069889125138e0cf97a.js | JavaScript | 19 | 0 | 0 | 19 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/object-tree-dialog.ec325666665d14d13dd5.js | JavaScript | 57 | 0 | 0 | 57 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/react.13567dea1b1173009d35.js | JavaScript | 45 | 0 | 0 | 45 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/redux.e48a9c831cd697f8a38d.js | JavaScript | 8 | 0 | 0 | 8 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/restricted-toolset.8f58ab2a275c8e1f72b1.js | JavaScript | 30 | 0 | 0 | 30 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/runtime.f1210af3518e525e94d7.js | JavaScript | 5 | 0 | 0 | 5 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/series-icons-map.9d92dfe755e0c94c0c8d.js | JavaScript | 2 | 0 | 0 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/series-pane-views.d49b8ec162ba0c43260c.js | JavaScript | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/share-chart-to-social-utils.830f7e41690ac8285de5.js | JavaScript | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/show-theme-save-dialog.b99932982e0d8e47d562.js | JavaScript | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/simple-dialog.4965864a1f87b628af01.js | JavaScript | 6 | 0 | 0 | 6 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/source-properties-editor.6854af2788acfa4ef4d4.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/study-inputs-pane-views.1763111669ad2eaa2f52.js | JavaScript | 3 | 0 | 0 | 3 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/study-market.aaf59e23fa593dd538bc.js | JavaScript | 9 | 0 | 0 | 9 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/study-pane-views.d9686c973fa1f1a93ff4.js | JavaScript | 5 | 0 | 0 | 5 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/study-property-pages-with-definitions.72083d0a0868166ca2b7.js | JavaScript | 7 | 0 | 0 | 7 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/study-template-dialog.fd30d0463b77c8858d31.js | JavaScript | 7 | 0 | 0 | 7 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/symbol-info-dialog-impl.6aa56a0ae77115394b2f.js | JavaScript | 4 | 0 | 0 | 4 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/symbol-search-dialog.4e741ef8a94e2a1cdf8c.js | JavaScript | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/take-chart-image-impl.013638618dfc6d4c1eaa.js | JavaScript | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/bundles/vendors.3197279804dd7477f3fb.js | JavaScript | 33 | 0 | 0 | 33 | +| /home/amit/buffer-ui/public/static/charting_library/charting_library.cjs.js | JavaScript | 1 | 0 | 1 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/charting_library.d.ts | TypeScript | 2,258 | 267 | 4 | 2,529 | +| /home/amit/buffer-ui/public/static/charting_library/charting_library.esm.js | JavaScript | 1 | 0 | 1 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/charting_library.js | JavaScript | 1 | 0 | 1 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/charting_library.standalone.js | JavaScript | 1 | 0 | 1 | 2 | +| /home/amit/buffer-ui/public/static/charting_library/cs-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/da_DK-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/datafeed-api.d.ts | TypeScript | 205 | 81 | 4 | 290 | +| /home/amit/buffer-ui/public/static/charting_library/de-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/el-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/en-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/es-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/et_EE-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/fa-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/fr-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/he_IL-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/hu_HU-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/id_ID-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/it-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/ja-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/ko-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/ms_MY-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/nl_NL-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/no-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/package.json | JSON | 8 | 0 | 1 | 9 | +| /home/amit/buffer-ui/public/static/charting_library/pl-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/pt-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/ro-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/ru-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/sk_SK-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/sv-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/th-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/tr-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/vi-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/zh-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/charting_library/zh_TW-tv-chart.e2a841ff.html | HTML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/public/static/datafeeds/README.md | Markdown | 2 | 0 | 2 | 4 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/README.md | Markdown | 28 | 0 | 19 | 47 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/data-pulse-provider.js | JavaScript | 99 | 5 | 1 | 105 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/helpers.js | JavaScript | 16 | 4 | 1 | 21 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/history-provider.js | JavaScript | 72 | 1 | 1 | 74 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/iquotes-provider.js | JavaScript | 1 | 0 | 1 | 2 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/quotes-provider.js | JavaScript | 25 | 0 | 1 | 26 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/quotes-pulse-provider.js | JavaScript | 44 | 0 | 1 | 45 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/requester.js | JavaScript | 27 | 1 | 1 | 29 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/symbols-storage.js | JavaScript | 177 | 4 | 1 | 182 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/udf-compatible-datafeed-base.js | JavaScript | 248 | 4 | 1 | 253 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/lib/udf-compatible-datafeed.js | JavaScript | 10 | 0 | 1 | 11 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/package.json | JSON | 17 | 0 | 1 | 18 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/rollup.config.js | JavaScript | 21 | 1 | 4 | 26 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/data-pulse-provider.ts | TypeScript | 120 | 5 | 28 | 153 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/helpers.ts | TypeScript | 28 | 4 | 7 | 39 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/history-provider.ts | TypeScript | 112 | 3 | 20 | 135 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/iquotes-provider.ts | TypeScript | 10 | 1 | 4 | 15 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/quotes-provider.ts | TypeScript | 33 | 0 | 5 | 38 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/quotes-pulse-provider.ts | TypeScript | 69 | 0 | 17 | 86 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/requester.ts | TypeScript | 30 | 1 | 9 | 40 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/symbols-storage.ts | TypeScript | 244 | 6 | 52 | 302 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/udf-compatible-datafeed-base.ts | TypeScript | 306 | 7 | 57 | 370 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/src/udf-compatible-datafeed.ts | TypeScript | 10 | 0 | 2 | 12 | +| /home/amit/buffer-ui/public/static/datafeeds/udf/tsconfig.json | JSON with Comments | 25 | 0 | 1 | 26 | +| /home/amit/buffer-ui/public/wallets/coin98.svg | XML | 9 | 0 | 1 | 10 | +| /home/amit/buffer-ui/public/wallets/coinbase.svg | XML | 9 | 0 | 1 | 10 | +| /home/amit/buffer-ui/public/wallets/metamask.svg | XML | 9 | 0 | 1 | 10 | +| /home/amit/buffer-ui/public/wallets/tally_ho.svg | XML | 9 | 0 | 1 | 10 | +| /home/amit/buffer-ui/public/wallets/trust_wallet.svg | XML | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/public/wallets/wallet_connect.svg | XML | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/src/ABIs/BFR.json | JSON | 686 | 0 | 0 | 686 | +| /home/amit/buffer-ui/src/ABIs/BLP.json | JSON | 1,154 | 0 | 0 | 1,154 | +| /home/amit/buffer-ui/src/ABIs/BufferBinaryIBFRPoolBinaryV2.json | JSON | 1,193 | 0 | 0 | 1,193 | +| /home/amit/buffer-ui/src/ABIs/EsBFR.json | JSON | 686 | 0 | 0 | 686 | +| /home/amit/buffer-ui/src/ABIs/Multicall.json | JSON | 165 | 0 | 1 | 166 | +| /home/amit/buffer-ui/src/ABIs/Multicallv1.json | JSON | 141 | 0 | 1 | 142 | +| /home/amit/buffer-ui/src/ABIs/Multicallv2.json | JSON | 141 | 0 | 0 | 141 | +| /home/amit/buffer-ui/src/ABIs/PriceProvider.json | JSON | 528 | 0 | 19 | 547 | +| /home/amit/buffer-ui/src/ABIs/RewardRouterV2.json | JSON | 661 | 0 | 0 | 661 | +| /home/amit/buffer-ui/src/ABIs/RewardTracker.json | JSON | 911 | 0 | 0 | 911 | +| /home/amit/buffer-ui/src/ABIs/Token.json | JSON | 338 | 0 | 0 | 338 | +| /home/amit/buffer-ui/src/ABIs/Vester.json | JSON | 1,024 | 0 | 0 | 1,024 | +| /home/amit/buffer-ui/src/App.tsx | TypeScript React | 92 | 0 | 4 | 96 | +| /home/amit/buffer-ui/src/AppStyles.ts | TypeScript | 46 | 0 | 5 | 51 | +| /home/amit/buffer-ui/src/Config/axios.ts | TypeScript | 43 | 0 | 6 | 49 | +| /home/amit/buffer-ui/src/Config/getTabs.ts | TypeScript | 70 | 12 | 3 | 85 | +| /home/amit/buffer-ui/src/Config/globalAtoms.ts | TypeScript | 4 | 0 | 2 | 6 | +| /home/amit/buffer-ui/src/Config/index.ts | TypeScript | 162 | 10 | 9 | 181 | +| /home/amit/buffer-ui/src/Config/wagmiClient.ts | TypeScript | 51 | 0 | 5 | 56 | +| /home/amit/buffer-ui/src/Hooks/Contracts/useLiquidityContract.tsx | TypeScript React | 73 | 9 | 6 | 88 | +| /home/amit/buffer-ui/src/Hooks/Contracts/useNFTContract.tsx | TypeScript React | 18 | 17 | 5 | 40 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useClickAway.tsx | TypeScript React | 15 | 1 | 2 | 18 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useDateFormatter.ts | TypeScript | 34 | 3 | 7 | 44 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useDeboncedEffect.tsx | TypeScript React | 7 | 0 | 2 | 9 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useOpenConnectionDrawer.ts | TypeScript | 31 | 0 | 5 | 36 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useStopWatch.ts | TypeScript | 102 | 0 | 8 | 110 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useTImer.ts | TypeScript | 7 | 0 | 2 | 9 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useTimeout.tsx | TypeScript React | 23 | 0 | 8 | 31 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useToggle.ts | TypeScript | 5 | 0 | 3 | 8 | +| /home/amit/buffer-ui/src/Hooks/Utilities/useWriteCallValidations.tsx | TypeScript React | 30 | 0 | 4 | 34 | +| /home/amit/buffer-ui/src/Hooks/useActiveChain.ts | TypeScript | 12 | 0 | 4 | 16 | +| /home/amit/buffer-ui/src/Hooks/useAheadTrades.ts | TypeScript | 287 | 21 | 18 | 326 | +| /home/amit/buffer-ui/src/Hooks/useClickAway.ts | TypeScript | 17 | 0 | 2 | 19 | +| /home/amit/buffer-ui/src/Hooks/useGenericHook.tsx | TypeScript React | 62 | 3 | 8 | 73 | +| /home/amit/buffer-ui/src/Hooks/useNFTGraph.ts | TypeScript | 58 | 1 | 6 | 65 | +| /home/amit/buffer-ui/src/Hooks/useOpenConnectionDrawer.ts | TypeScript | 31 | 0 | 5 | 36 | +| /home/amit/buffer-ui/src/Hooks/useQuery.ts | TypeScript | 6 | 0 | 3 | 9 | +| /home/amit/buffer-ui/src/Hooks/useUserAccount.ts | TypeScript | 10 | 0 | 2 | 12 | +| /home/amit/buffer-ui/src/Hooks/useWalletConnect.ts | TypeScript | 44 | 11 | 6 | 61 | +| /home/amit/buffer-ui/src/Hooks/useWriteCall.ts | TypeScript | 177 | 13 | 17 | 207 | +| /home/amit/buffer-ui/src/Interfaces/interfaces.ts | TypeScript | 21 | 0 | 1 | 22 | +| /home/amit/buffer-ui/src/Providers/configuredChains.ts | TypeScript | 37 | 0 | 3 | 40 | +| /home/amit/buffer-ui/src/Providers/index.tsx | TypeScript React | 103 | 2 | 5 | 110 | +| /home/amit/buffer-ui/src/Providers/styles.ts | TypeScript | 46 | 0 | 5 | 51 | +| /home/amit/buffer-ui/src/Providers/wagmiClient.tsx | TypeScript React | 62 | 5 | 6 | 73 | +| /home/amit/buffer-ui/src/SVG/Elements/BackButtonHalf.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/src/SVG/Elements/BufferLogo.tsx | TypeScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/SVG/Elements/Chart.tsx | TypeScript React | 32 | 0 | 3 | 35 | +| /home/amit/buffer-ui/src/SVG/Elements/Closelogo.tsx | TypeScript React | 25 | 0 | 3 | 28 | +| /home/amit/buffer-ui/src/SVG/Elements/CopyIcon.tsx | TypeScript React | 20 | 0 | 2 | 22 | +| /home/amit/buffer-ui/src/SVG/Elements/DDIcon.tsx | TypeScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/SVG/Elements/Disconnect.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/src/SVG/Elements/DownIcon.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/src/SVG/Elements/DropDownArrow.tsx | TypeScript React | 13 | 0 | 1 | 14 | +| /home/amit/buffer-ui/src/SVG/Elements/EarnIcon.tsx | TypeScript React | 45 | 0 | 1 | 46 | +| /home/amit/buffer-ui/src/SVG/Elements/EditIcon.tsx | TypeScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/SVG/Elements/ErrorIcon.tsx | TypeScript React | 28 | 0 | 3 | 31 | +| /home/amit/buffer-ui/src/SVG/Elements/ErrorIconSmall.tsx | TypeScript React | 11 | 0 | 3 | 14 | +| /home/amit/buffer-ui/src/SVG/Elements/FailedSuccess.tsx | TypeScript React | 27 | 0 | 3 | 30 | +| /home/amit/buffer-ui/src/SVG/Elements/FailureIcon.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/src/SVG/Elements/GlobeIcon.tsx | TypeScript React | 11 | 0 | 3 | 14 | +| /home/amit/buffer-ui/src/SVG/Elements/GridViewIcon.tsx | TypeScript React | 46 | 0 | 3 | 49 | +| /home/amit/buffer-ui/src/SVG/Elements/InfoIcon.tsx | TypeScript React | 78 | 0 | 5 | 83 | +| /home/amit/buffer-ui/src/SVG/Elements/LinkTargetIcon.tsx | TypeScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/SVG/Elements/ListViewIcon.tsx | TypeScript React | 35 | 0 | 3 | 38 | +| /home/amit/buffer-ui/src/SVG/Elements/MenuLogo.tsx | TypeScript React | 31 | 0 | 3 | 34 | +| /home/amit/buffer-ui/src/SVG/Elements/Moneybag.tsx | TypeScript React | 28 | 0 | 3 | 31 | +| /home/amit/buffer-ui/src/SVG/Elements/NoMatchFound.tsx | TypeScript React | 15 | 0 | 3 | 18 | +| /home/amit/buffer-ui/src/SVG/Elements/NotificationCount.tsx | TypeScript React | 7 | 0 | 3 | 10 | +| /home/amit/buffer-ui/src/SVG/Elements/PNLL.tsx | TypeScript React | 25 | 0 | 3 | 28 | +| /home/amit/buffer-ui/src/SVG/Elements/Payout.jsx | JavaScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/SVG/Elements/PeckSheildLogo.tsx | TypeScript React | 26 | 0 | 3 | 29 | +| /home/amit/buffer-ui/src/SVG/Elements/RetryIcon.tsx | TypeScript React | 24 | 0 | 3 | 27 | +| /home/amit/buffer-ui/src/SVG/Elements/Search.tsx | TypeScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/SVG/Elements/ShareIconComp.tsx | TypeScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/SVG/Elements/ShieldIcon.tsx | TypeScript React | 78 | 0 | 1 | 79 | +| /home/amit/buffer-ui/src/SVG/Elements/SuccessIcon.tsx | TypeScript React | 27 | 0 | 3 | 30 | +| /home/amit/buffer-ui/src/SVG/Elements/SwapIcon.tsx | TypeScript React | 17 | 0 | 3 | 20 | +| /home/amit/buffer-ui/src/SVG/Elements/TimerIcon.tsx | TypeScript React | 24 | 0 | 3 | 27 | +| /home/amit/buffer-ui/src/SVG/Elements/ToastCrossIcon.tsx | TypeScript React | 11 | 0 | 3 | 14 | +| /home/amit/buffer-ui/src/SVG/Elements/TofuNFT.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/src/SVG/Elements/Unseen.tsx | TypeScript React | 8 | 0 | 3 | 11 | +| /home/amit/buffer-ui/src/SVG/Elements/UpIcon.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/src/SVG/Elements/YellowWarning.tsx | TypeScript React | 20 | 0 | 3 | 23 | +| /home/amit/buffer-ui/src/SVG/Elements/sidebarCollpaseIcon.tsx | TypeScript React | 23 | 1 | 3 | 27 | +| /home/amit/buffer-ui/src/SVG/Elements/usdc.tsx | TypeScript React | 33 | 2 | 4 | 39 | +| /home/amit/buffer-ui/src/SVG/PeckShield.tsx | TypeScript React | 29 | 0 | 3 | 32 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/CallBoosters.tsx | TypeScript React | 33 | 0 | 4 | 37 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/Doccumentation.tsx | TypeScript React | 20 | 0 | 3 | 23 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/Home.tsx | TypeScript React | 19 | 0 | 4 | 23 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/Leaderboard.tsx | TypeScript React | 23 | 0 | 3 | 26 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/Liquidity.tsx | TypeScript React | 100 | 0 | 4 | 104 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/Options.tsx | TypeScript React | 51 | 0 | 3 | 54 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/PG.tsx | TypeScript React | 14 | 0 | 3 | 17 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/PGCard.tsx | TypeScript React | 36 | 0 | 3 | 39 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/Referralcon.tsx | TypeScript React | 49 | 0 | 3 | 52 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/RevenueSharing.tsx | TypeScript React | 25 | 0 | 2 | 27 | +| /home/amit/buffer-ui/src/SVG/SidebarIcons/Staking.tsx | TypeScript React | 28 | 0 | 3 | 31 | +| /home/amit/buffer-ui/src/SVG/buttons/Chart.tsx | TypeScript React | 12 | 0 | 3 | 15 | +| /home/amit/buffer-ui/src/SVG/buttons/back.tsx | TypeScript React | 11 | 0 | 3 | 14 | +| /home/amit/buffer-ui/src/SVG/buttons/cross.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/src/SVG/buttons/enter.tsx | TypeScript React | 12 | 0 | 3 | 15 | +| /home/amit/buffer-ui/src/SVG/buttons/enterDisabled.tsx | TypeScript React | 12 | 0 | 3 | 15 | +| /home/amit/buffer-ui/src/SVG/buttons/exit.tsx | TypeScript React | 12 | 0 | 3 | 15 | +| /home/amit/buffer-ui/src/SVG/frontArrow.tsx | TypeScript React | 14 | 0 | 3 | 17 | +| /home/amit/buffer-ui/src/TradingView/ChartTypeSelectionDD.tsx | TypeScript React | 149 | 30 | 4 | 183 | +| /home/amit/buffer-ui/src/TradingView/TV.tsx | TypeScript React | 473 | 47 | 37 | 557 | +| /home/amit/buffer-ui/src/TradingView/TZ.json | JSON | 2,390 | 0 | 0 | 2,390 | +| /home/amit/buffer-ui/src/TradingView/useDataFeed.tsx | TypeScript React | 366 | 469 | 23 | 858 | +| /home/amit/buffer-ui/src/Utils/Contract/getContract.tsx | TypeScript React | 6 | 0 | 2 | 8 | +| /home/amit/buffer-ui/src/Utils/Contract/getError.tsx | TypeScript React | 45 | 1 | 3 | 49 | +| /home/amit/buffer-ui/src/Utils/Contract/getNodeUrl.ts | TypeScript | 9 | 1 | 3 | 13 | +| /home/amit/buffer-ui/src/Utils/Contract/getProvider.tsx | TypeScript React | 7 | 3 | 3 | 13 | +| /home/amit/buffer-ui/src/Utils/Contract/multiContract.ts | TypeScript | 286 | 2 | 6 | 294 | +| /home/amit/buffer-ui/src/Utils/DOMutils.ts | TypeScript | 22 | 5 | 4 | 31 | +| /home/amit/buffer-ui/src/Utils/Dates/displayDateTime.ts | TypeScript | 73 | 0 | 8 | 81 | +| /home/amit/buffer-ui/src/Utils/DisplayDate.tsx | TypeScript React | 33 | 0 | 2 | 35 | +| /home/amit/buffer-ui/src/Utils/Formulas/blackscholes.js | JavaScript | 29 | 9 | 4 | 42 | +| /home/amit/buffer-ui/src/Utils/JSUtils/createArray.ts | TypeScript | 2 | 0 | 2 | 4 | +| /home/amit/buffer-ui/src/Utils/JSUtils/isCharPresent.tsx | TypeScript React | 8 | 0 | 1 | 9 | +| /home/amit/buffer-ui/src/Utils/NumString/eToWide.tsx | TypeScript React | 88 | 9 | 7 | 104 | +| /home/amit/buffer-ui/src/Utils/NumString/formatNumStr.tsx | TypeScript React | 29 | 7 | 3 | 39 | +| /home/amit/buffer-ui/src/Utils/NumString/getSignificantNum.tsx | TypeScript React | 64 | 6 | 3 | 73 | +| /home/amit/buffer-ui/src/Utils/NumString/index.tsx | TypeScript React | 7 | 0 | 1 | 8 | +| /home/amit/buffer-ui/src/Utils/NumString/kpiChartPoints.ts | TypeScript | 61 | 22 | 6 | 89 | +| /home/amit/buffer-ui/src/Utils/NumString/numtostr.tsx | TypeScript React | 12 | 0 | 1 | 13 | +| /home/amit/buffer-ui/src/Utils/NumString/putChartPoints.ts | TypeScript | 38 | 0 | 4 | 42 | +| /home/amit/buffer-ui/src/Utils/NumString/stringArithmatics.tsx | TypeScript React | 89 | 1 | 2 | 92 | +| /home/amit/buffer-ui/src/Utils/NumString/toFixed.tsx | TypeScript React | 12 | 3 | 5 | 20 | +| /home/amit/buffer-ui/src/Utils/PosthogCaptureAccount.tsx | TypeScript React | 4 | 0 | 2 | 6 | +| /home/amit/buffer-ui/src/Utils/Staking/utils.ts | TypeScript | 62 | 8 | 6 | 76 | +| /home/amit/buffer-ui/src/Utils/StringToBytes32.ts | TypeScript | 9 | 0 | 1 | 10 | +| /home/amit/buffer-ui/src/Utils/Time.ts | TypeScript | 62 | 8 | 6 | 76 | +| /home/amit/buffer-ui/src/Utils/apis/api.ts | TypeScript | 121 | 2 | 4 | 127 | +| /home/amit/buffer-ui/src/Utils/apis/contextInitializers.ts | TypeScript | 38 | 0 | 5 | 43 | +| /home/amit/buffer-ui/src/Utils/apis/getAbi.ts | TypeScript | 8 | 0 | 2 | 10 | +| /home/amit/buffer-ui/src/Utils/apis/getMetaData.ts | TypeScript | 32 | 0 | 2 | 34 | +| /home/amit/buffer-ui/src/Utils/appControls/changeRoute.ts | TypeScript | 12 | 0 | 1 | 13 | +| /home/amit/buffer-ui/src/Utils/appControls/convertibleChartPoints.ts | TypeScript | 51 | 0 | 3 | 54 | +| /home/amit/buffer-ui/src/Utils/appControls/getBrowserName.ts | TypeScript | 18 | 0 | 2 | 20 | +| /home/amit/buffer-ui/src/Utils/appControls/getSupportedPages.ts | TypeScript | 15 | 0 | 2 | 17 | +| /home/amit/buffer-ui/src/Utils/appControls/mobileDrawerHandlers.ts | TypeScript | 44 | 20 | 12 | 76 | +| /home/amit/buffer-ui/src/Utils/appControls/pageSupported.ts | TypeScript | 15 | 1 | 4 | 20 | +| /home/amit/buffer-ui/src/Utils/appControls/redirectChain.ts | TypeScript | 4 | 0 | 3 | 7 | +| /home/amit/buffer-ui/src/Utils/appControls/redirectRoute.ts | TypeScript | 4 | 0 | 3 | 7 | +| /home/amit/buffer-ui/src/Utils/appControls/removeMargin.ts | TypeScript | 32 | 0 | 3 | 35 | +| /home/amit/buffer-ui/src/Utils/appControls/replaceAsset.ts | TypeScript | 6 | 0 | 1 | 7 | +| /home/amit/buffer-ui/src/Utils/bigNumber.ts | TypeScript | 14 | 1 | 5 | 20 | +| /home/amit/buffer-ui/src/Utils/captureScreenShot.ts | TypeScript | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/src/Utils/chartDataPoints.ts | TypeScript | 68 | 0 | 6 | 74 | +| /home/amit/buffer-ui/src/Utils/copyToClipBoard.ts | TypeScript | 30 | 2 | 1 | 33 | +| /home/amit/buffer-ui/src/Utils/copyToClipboard.ts | TypeScript | 30 | 2 | 1 | 33 | +| /home/amit/buffer-ui/src/Utils/display.tsx | TypeScript React | 28 | 0 | 5 | 33 | +| /home/amit/buffer-ui/src/Utils/getDeepCopy.ts | TypeScript | 13 | 0 | 1 | 14 | +| /home/amit/buffer-ui/src/Utils/getErrorFromCode.ts | TypeScript | 57 | 0 | 1 | 58 | +| /home/amit/buffer-ui/src/Utils/getLogs.ts | TypeScript | 68 | 0 | 2 | 70 | +| /home/amit/buffer-ui/src/Utils/isUserPaused.ts | TypeScript | 52 | 18 | 11 | 81 | +| /home/amit/buffer-ui/src/Utils/kpiChartPoints.ts | TypeScript | 47 | 10 | 3 | 60 | +| /home/amit/buffer-ui/src/Utils/logger.tsx | TypeScript React | 4 | 0 | 1 | 5 | +| /home/amit/buffer-ui/src/Utils/memoize.tsx | TypeScript React | 10 | 0 | 1 | 11 | +| /home/amit/buffer-ui/src/Utils/putChartPoints.ts | TypeScript | 49 | 27 | 5 | 81 | +| /home/amit/buffer-ui/src/Utils/speedtest.js | JavaScript | 21 | 0 | 4 | 25 | +| /home/amit/buffer-ui/src/Utils/successChartPoints.ts | TypeScript | 77 | 1 | 7 | 85 | +| /home/amit/buffer-ui/src/Utils/useIbfrBalance.ts | TypeScript | 28 | 1 | 5 | 34 | +| /home/amit/buffer-ui/src/Utils/useMultiCallSWR.tsx | TypeScript React | 26 | 0 | 4 | 30 | +| /home/amit/buffer-ui/src/Utils/useMulticall.ts | TypeScript | 26 | 1 | 3 | 30 | +| /home/amit/buffer-ui/src/Utils/useReadCall.ts | TypeScript | 50 | 2 | 5 | 57 | +| /home/amit/buffer-ui/src/Utils/web3react/wallet.ts | TypeScript | 78 | 13 | 6 | 97 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/ABI/ConfigAbi.json | JSON | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/ABI/MaxTrade.json | JSON | 80 | 0 | 1 | 81 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/ABI/OptionMeta.json | JSON | 779 | 0 | 0 | 779 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/ABI/configABI.json | JSON | 1 | 0 | 0 | 1 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/ABI/optionsABI.json | JSON | 865 | 0 | 1 | 866 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/ABI/poolABI.json | JSON | 654 | 0 | 1 | 655 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/ABI/routerABI.json | JSON | 501 | 0 | 1 | 502 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Address.ts | TypeScript | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/ComingSoonModal.tsx | TypeScript React | 20 | 5 | 4 | 29 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/BinaryInfo.tsx | TypeScript React | 109 | 0 | 7 | 116 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/Navbar.tsx | TypeScript React | 36 | 0 | 3 | 39 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/Screens.tsx | TypeScript React | 50 | 1 | 1 | 52 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/buyOptionsTab.tsx | TypeScript React | 40 | 1 | 3 | 44 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/Mobile/historyTab.tsx | TypeScript React | 310 | 4 | 18 | 332 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/SlippageModal.tsx | TypeScript React | 170 | 8 | 6 | 184 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/approveModal.tsx | TypeScript React | 150 | 22 | 5 | 177 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/shareModal.tsx | TypeScript React | 315 | 19 | 20 | 354 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Components/stats.tsx | TypeScript React | 44 | 4 | 5 | 53 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/AssetTable.tsx | TypeScript React | 150 | 1 | 10 | 161 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/AssetTypeSelector.tsx | TypeScript React | 47 | 7 | 3 | 57 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/FavouriteAssetDD.tsx | TypeScript React | 87 | 1 | 4 | 92 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Favourites.tsx | TypeScript React | 204 | 8 | 11 | 223 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/LastDayChange.tsx | TypeScript React | 21 | 0 | 2 | 23 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getAssetTypes.ts | TypeScript | 9 | 0 | 2 | 11 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getFavouriteKey.ts | TypeScript | 9 | 0 | 2 | 11 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/Utils/getFilteredAssets.ts | TypeScript | 40 | 1 | 3 | 44 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Favourites/style.ts | TypeScript | 162 | 9 | 5 | 176 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/BinaryOptionsABI.json | JSON | 1,680 | 0 | 0 | 1,680 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useActiveAssetState.ts | TypeScript | 238 | 41 | 20 | 299 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryActions.tsx | TypeScript React | 216 | 7 | 13 | 236 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryActiveChainId.ts | TypeScript | 6 | 0 | 2 | 8 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useBinaryHistory.ts | TypeScript | 83 | 20 | 7 | 110 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useFavouritesFns.ts | TypeScript | 80 | 0 | 11 | 91 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useGetDataFromConfig.ts | TypeScript | 11 | 0 | 2 | 13 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useHostName.ts | TypeScript | 10 | 0 | 2 | 12 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useIsMerketOpen.tsx | TypeScript React | 19 | 0 | 2 | 21 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useLatest24hrChange.ts | TypeScript | 38 | 2 | 7 | 47 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/usePastTradeQuery.ts | TypeScript | 234 | 35 | 21 | 290 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/usePastTradeQueryByFetch.ts | TypeScript | 185 | 1 | 10 | 196 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Hooks/useTradeHistory.ts | TypeScript | 222 | 3 | 8 | 233 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingWarning.tsx | TypeScript React | 35 | 0 | 5 | 40 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingsInfo.tsx | TypeScript React | 24 | 0 | 5 | 29 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/MarketTimingsModal.tsx | TypeScript React | 101 | 0 | 6 | 107 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/BuyModal/index.tsx | TypeScript React | 386 | 11 | 31 | 428 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/BuyModal/style.ts | TypeScript | 128 | 2 | 8 | 138 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/GraphModal/index.tsx | TypeScript React | 39 | 2 | 3 | 44 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/OrderBookComponents/GraphModal/style.ts | TypeScript | 45 | 1 | 3 | 49 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/ActiveAsset.tsx | TypeScript React | 111 | 0 | 4 | 115 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/BuyUsdcLink.tsx | TypeScript React | 35 | 2 | 2 | 39 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/CustomOption.tsx | TypeScript React | 310 | 3 | 7 | 320 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DateDropdown.tsx | TypeScript React | 45 | 1 | 4 | 50 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DrawerChild.tsx | TypeScript React | 44 | 2 | 4 | 50 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/DurationPicker.tsx | TypeScript React | 119 | 7 | 6 | 132 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/PoolDropDown.tsx | TypeScript React | 95 | 0 | 8 | 103 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/SettingsIcon.tsx | TypeScript React | 16 | 0 | 1 | 17 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/TimeSelector.tsx | TypeScript React | 328 | 36 | 19 | 383 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/index.tsx | TypeScript React | 42 | 0 | 4 | 46 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/PGDrawer/style.ts | TypeScript | 204 | 37 | 18 | 259 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Tables/Desktop.tsx | TypeScript React | 327 | 15 | 23 | 365 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Tables/Mobile.tsx | TypeScript React | 8 | 0 | 4 | 12 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Tables/OrderBookTable/index.tsx | TypeScript React | 237 | 44 | 19 | 300 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Tables/OrderBookTable/style.ts | TypeScript | 81 | 10 | 3 | 94 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Tables/TableComponents.tsx | TypeScript React | 679 | 27 | 35 | 741 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Tables/index.tsx | TypeScript React | 37 | 5 | 4 | 46 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/Tables/style.ts | TypeScript | 12 | 1 | 2 | 15 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/config.json | JSON | 578 | 0 | 11 | 589 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/discarded.json | JSON | 343 | 0 | 4 | 347 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/index.tsx | TypeScript React | 353 | 11 | 15 | 379 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/store.ts | TypeScript | 91 | 3 | 5 | 99 | +| /home/amit/buffer-ui/src/Views/BinaryOptions/style.ts | TypeScript | 195 | 13 | 12 | 220 | +| /home/amit/buffer-ui/src/Views/Common/AccountInfo/index.tsx | TypeScript React | 51 | 1 | 7 | 59 | +| /home/amit/buffer-ui/src/Views/Common/AccountInfo/style.ts | TypeScript | 44 | 2 | 3 | 49 | +| /home/amit/buffer-ui/src/Views/Common/Aligner/index.tsx | TypeScript React | 64 | 0 | 4 | 68 | +| /home/amit/buffer-ui/src/Views/Common/Aligner/style.ts | TypeScript | 35 | 1 | 2 | 38 | +| /home/amit/buffer-ui/src/Views/Common/AreaChart/index.tsx | TypeScript React | 304 | 22 | 7 | 333 | +| /home/amit/buffer-ui/src/Views/Common/AreaChart/style.ts | TypeScript | 3 | 0 | 2 | 5 | +| /home/amit/buffer-ui/src/Views/Common/AssetInfo/index.tsx | TypeScript React | 167 | 5 | 7 | 179 | +| /home/amit/buffer-ui/src/Views/Common/AssetInfo/styles.ts | TypeScript | 112 | 22 | 4 | 138 | +| /home/amit/buffer-ui/src/Views/Common/Banner/index.tsx | TypeScript React | 45 | 0 | 3 | 48 | +| /home/amit/buffer-ui/src/Views/Common/Banner/style.ts | TypeScript | 62 | 0 | 9 | 71 | +| /home/amit/buffer-ui/src/Views/Common/Buffer-Dropdown/index.tsx | TypeScript React | 81 | 4 | 4 | 89 | +| /home/amit/buffer-ui/src/Views/Common/Buffer-Dropdown/style.tsx | TypeScript React | 118 | 0 | 2 | 120 | +| /home/amit/buffer-ui/src/Views/Common/BufferAnimatableTab.tsx | TypeScript React | 76 | 0 | 3 | 79 | +| /home/amit/buffer-ui/src/Views/Common/BufferCheckbox/index.tsx | TypeScript React | 59 | 10 | 4 | 73 | +| /home/amit/buffer-ui/src/Views/Common/BufferCheckbox/style.ts | TypeScript | 34 | 0 | 3 | 37 | +| /home/amit/buffer-ui/src/Views/Common/BufferDisclaimer/index.tsx | TypeScript React | 33 | 1 | 4 | 38 | +| /home/amit/buffer-ui/src/Views/Common/BufferDisclaimer/style.ts | TypeScript | 28 | 0 | 3 | 31 | +| /home/amit/buffer-ui/src/Views/Common/BufferDropdown/index.tsx | TypeScript React | 94 | 4 | 7 | 105 | +| /home/amit/buffer-ui/src/Views/Common/BufferDropdown/style.ts | TypeScript | 112 | 5 | 8 | 125 | +| /home/amit/buffer-ui/src/Views/Common/BufferInput/index.tsx | TypeScript React | 155 | 1 | 8 | 164 | +| /home/amit/buffer-ui/src/Views/Common/BufferProgressBar.tsx/index.tsx | TypeScript React | 31 | 0 | 4 | 35 | +| /home/amit/buffer-ui/src/Views/Common/BufferSlider/index.tsx | TypeScript React | 53 | 1 | 6 | 60 | +| /home/amit/buffer-ui/src/Views/Common/BufferSlider/style.ts | TypeScript | 78 | 1 | 4 | 83 | +| /home/amit/buffer-ui/src/Views/Common/BufferSwitch/index.tsx | TypeScript React | 44 | 0 | 6 | 50 | +| /home/amit/buffer-ui/src/Views/Common/BufferSwitch/style.ts | TypeScript | 73 | 0 | 12 | 85 | +| /home/amit/buffer-ui/src/Views/Common/BufferSwitchLabelled/index.tsx | TypeScript React | 30 | 1 | 4 | 35 | +| /home/amit/buffer-ui/src/Views/Common/BufferTab/index.tsx | TypeScript React | 56 | 41 | 6 | 103 | +| /home/amit/buffer-ui/src/Views/Common/BufferTab/style.tsx | TypeScript React | 54 | 0 | 3 | 57 | +| /home/amit/buffer-ui/src/Views/Common/BufferTable/CellInfo.tsx | TypeScript React | 135 | 1 | 9 | 145 | +| /home/amit/buffer-ui/src/Views/Common/BufferTable/ErrorMsg/index.tsx | TypeScript React | 44 | 0 | 4 | 48 | +| /home/amit/buffer-ui/src/Views/Common/BufferTable/ErrorMsg/style.ts | TypeScript | 23 | 0 | 2 | 25 | +| /home/amit/buffer-ui/src/Views/Common/BufferTable/TableAssetCell/index.tsx | TypeScript React | 26 | 0 | 4 | 30 | +| /home/amit/buffer-ui/src/Views/Common/BufferTable/TableAssetCell/style.ts | TypeScript | 30 | 1 | 3 | 34 | +| /home/amit/buffer-ui/src/Views/Common/BufferTable/index.tsx | TypeScript React | 201 | 0 | 5 | 206 | +| /home/amit/buffer-ui/src/Views/Common/BufferTable/style.ts | TypeScript | 159 | 0 | 10 | 169 | +| /home/amit/buffer-ui/src/Views/Common/BufferTableCard/index.tsx | TypeScript React | 67 | 14 | 8 | 89 | +| /home/amit/buffer-ui/src/Views/Common/BufferTableCard/style.ts | TypeScript | 31 | 1 | 5 | 37 | +| /home/amit/buffer-ui/src/Views/Common/BufferTextInputRoot/index.tsx | TypeScript React | 107 | 4 | 6 | 117 | +| /home/amit/buffer-ui/src/Views/Common/BufferTextInputRoot/style.tsx | TypeScript React | 51 | 0 | 2 | 53 | +| /home/amit/buffer-ui/src/Views/Common/BufferThemeSwitcher/index.tsx | TypeScript React | 109 | 2 | 6 | 117 | +| /home/amit/buffer-ui/src/Views/Common/BufferThemeSwitcher/styles.tsx | TypeScript React | 55 | 0 | 2 | 57 | +| /home/amit/buffer-ui/src/Views/Common/BufferToggleButton/index.tsx | TypeScript React | 30 | 1 | 1 | 32 | +| /home/amit/buffer-ui/src/Views/Common/BufferToggleButton/style.ts | TypeScript | 53 | 3 | 3 | 59 | +| /home/amit/buffer-ui/src/Views/Common/BufferTransitionedTab.tsx | TypeScript React | 62 | 0 | 3 | 65 | +| /home/amit/buffer-ui/src/Views/Common/ButtonLoader/ButtonLoader.tsx | TypeScript React | 13 | 0 | 3 | 16 | +| /home/amit/buffer-ui/src/Views/Common/Buttons/index.tsx | TypeScript React | 92 | 11 | 8 | 111 | +| /home/amit/buffer-ui/src/Views/Common/Buttons/style.tsx | TypeScript React | 36 | 0 | 3 | 39 | +| /home/amit/buffer-ui/src/Views/Common/Card/index.tsx | TypeScript React | 14 | 0 | 4 | 18 | +| /home/amit/buffer-ui/src/Views/Common/Card/style.ts | TypeScript | 3 | 0 | 2 | 5 | +| /home/amit/buffer-ui/src/Views/Common/ChainAccountDropdowns/index.tsx | TypeScript React | 120 | 5 | 9 | 134 | +| /home/amit/buffer-ui/src/Views/Common/ChainAccountDropdowns/style.ts | TypeScript | 88 | 37 | 6 | 131 | +| /home/amit/buffer-ui/src/Views/Common/Chips/index.tsx | TypeScript React | 10 | 0 | 4 | 14 | +| /home/amit/buffer-ui/src/Views/Common/Chips/style.ts | TypeScript | 12 | 0 | 2 | 14 | +| /home/amit/buffer-ui/src/Views/Common/ClientOnlyPortal/index.tsx | TypeScript React | 18 | 1 | 5 | 24 | +| /home/amit/buffer-ui/src/Views/Common/ClientOnlyPortal/styles.ts | TypeScript | 3 | 0 | 2 | 5 | +| /home/amit/buffer-ui/src/Views/Common/ConfirmationModal/index.tsx | TypeScript React | 151 | 10 | 3 | 164 | +| /home/amit/buffer-ui/src/Views/Common/ConfirmationModal/style.ts | TypeScript | 116 | 4 | 8 | 128 | +| /home/amit/buffer-ui/src/Views/Common/ConnectionDrawer/index.tsx | TypeScript React | 113 | 1 | 10 | 124 | +| /home/amit/buffer-ui/src/Views/Common/ConnectionDrawer/style.ts | TypeScript | 56 | 7 | 4 | 67 | +| /home/amit/buffer-ui/src/Views/Common/Dialog/index.tsx | TypeScript React | 75 | 4 | 11 | 90 | +| /home/amit/buffer-ui/src/Views/Common/Disclaimer/index.tsx | TypeScript React | 13 | 0 | 4 | 17 | +| /home/amit/buffer-ui/src/Views/Common/Disclaimer/style.ts | TypeScript | 12 | 0 | 2 | 14 | +| /home/amit/buffer-ui/src/Views/Common/DraggableModal/index.tsx | TypeScript React | 38 | 0 | 7 | 45 | +| /home/amit/buffer-ui/src/Views/Common/DraggableModal/style.ts | TypeScript | 33 | 1 | 4 | 38 | +| /home/amit/buffer-ui/src/Views/Common/Dropdown/index.tsx | TypeScript React | 91 | 2 | 6 | 99 | +| /home/amit/buffer-ui/src/Views/Common/Dropdown/styles.ts | TypeScript | 294 | 41 | 11 | 346 | +| /home/amit/buffer-ui/src/Views/Common/GraphView/AreaData.ts | TypeScript | 152 | 0 | 1 | 153 | +| /home/amit/buffer-ui/src/Views/Common/GraphView/PriceData.ts | TypeScript | 152 | 0 | 1 | 153 | +| /home/amit/buffer-ui/src/Views/Common/GraphView/PriceData2.ts | TypeScript | 58 | 0 | 1 | 59 | +| /home/amit/buffer-ui/src/Views/Common/GraphView/index.tsx | TypeScript React | 8 | 0 | 3 | 11 | +| /home/amit/buffer-ui/src/Views/Common/GraphView/style.ts | TypeScript | 29 | 0 | 2 | 31 | +| /home/amit/buffer-ui/src/Views/Common/Header.tsx | TypeScript React | 71 | 0 | 3 | 74 | +| /home/amit/buffer-ui/src/Views/Common/HeroCard/index.tsx | TypeScript React | 27 | 0 | 4 | 31 | +| /home/amit/buffer-ui/src/Views/Common/HeroCard/style.ts | TypeScript | 35 | 21 | 4 | 60 | +| /home/amit/buffer-ui/src/Views/Common/InfoCard/index.tsx | TypeScript React | 17 | 0 | 4 | 21 | +| /home/amit/buffer-ui/src/Views/Common/InfoCard/style.ts | TypeScript | 14 | 2 | 2 | 18 | +| /home/amit/buffer-ui/src/Views/Common/InfoTooltip/index.tsx | TypeScript React | 12 | 0 | 3 | 15 | +| /home/amit/buffer-ui/src/Views/Common/LeftBorderedDiv.tsx | TypeScript React | 30 | 1 | 6 | 37 | +| /home/amit/buffer-ui/src/Views/Common/Missing/index.tsx | TypeScript React | 46 | 4 | 5 | 55 | +| /home/amit/buffer-ui/src/Views/Common/Missing/style.ts | TypeScript | 22 | 0 | 2 | 24 | +| /home/amit/buffer-ui/src/Views/Common/Mobile/AlignerMobile/index.tsx | TypeScript React | 65 | 1 | 5 | 71 | +| /home/amit/buffer-ui/src/Views/Common/Mobile/AlignerMobile/style.ts | TypeScript | 8 | 0 | 2 | 10 | +| /home/amit/buffer-ui/src/Views/Common/Mobile/AssetCellMobile/index.tsx | TypeScript React | 68 | 0 | 5 | 73 | +| /home/amit/buffer-ui/src/Views/Common/Mobile/AssetCellMobile/style.ts | TypeScript | 36 | 2 | 3 | 41 | +| /home/amit/buffer-ui/src/Views/Common/NFTtier.tsx | TypeScript React | 17 | 0 | 2 | 19 | +| /home/amit/buffer-ui/src/Views/Common/Navbar/AccountDropdown.tsx | TypeScript React | 86 | 3 | 8 | 97 | +| /home/amit/buffer-ui/src/Views/Common/Navbar/BufferLogo.tsx | TypeScript React | 21 | 0 | 2 | 23 | +| /home/amit/buffer-ui/src/Views/Common/Navbar/Tab.tsx | TypeScript React | 20 | 0 | 2 | 22 | +| /home/amit/buffer-ui/src/Views/Common/Navbar/TabsDropDown.tsx | TypeScript React | 85 | 0 | 4 | 89 | +| /home/amit/buffer-ui/src/Views/Common/Navbar/chainDropdown.tsx | TypeScript React | 125 | 0 | 7 | 132 | +| /home/amit/buffer-ui/src/Views/Common/Navbar/index.tsx | TypeScript React | 67 | 17 | 8 | 92 | +| /home/amit/buffer-ui/src/Views/Common/Navbar/socialLinks.ts | TypeScript | 42 | 0 | 2 | 44 | +| /home/amit/buffer-ui/src/Views/Common/Notification/index.tsx | TypeScript React | 29 | 0 | 4 | 33 | +| /home/amit/buffer-ui/src/Views/Common/Notification/notifications.tsx | TypeScript React | 18 | 0 | 2 | 20 | +| /home/amit/buffer-ui/src/Views/Common/Notification/warning.tsx | TypeScript React | 30 | 0 | 2 | 32 | +| /home/amit/buffer-ui/src/Views/Common/RowStrip/index.tsx | TypeScript React | 15 | 0 | 4 | 19 | +| /home/amit/buffer-ui/src/Views/Common/RowStrip/style.ts | TypeScript | 59 | 2 | 2 | 63 | +| /home/amit/buffer-ui/src/Views/Common/SocialMedia/MobileFooter/index.tsx | TypeScript React | 23 | 0 | 5 | 28 | +| /home/amit/buffer-ui/src/Views/Common/SocialMedia/MobileFooter/style.tsx | TypeScript React | 21 | 0 | 2 | 23 | +| /home/amit/buffer-ui/src/Views/Common/SocialMedia/TimerStyle.tsx | TypeScript React | 23 | 0 | 3 | 26 | +| /home/amit/buffer-ui/src/Views/Common/SocialMedia/index.tsx | TypeScript React | 63 | 0 | 4 | 67 | +| /home/amit/buffer-ui/src/Views/Common/SocialMedia/style.tsx | TypeScript React | 41 | 0 | 3 | 44 | +| /home/amit/buffer-ui/src/Views/Common/TabList/index.tsx | TypeScript React | 41 | 0 | 5 | 46 | +| /home/amit/buffer-ui/src/Views/Common/TabList/style.ts | TypeScript | 26 | 1 | 2 | 29 | +| /home/amit/buffer-ui/src/Views/Common/TabSwitch/index.tsx | TypeScript React | 27 | 0 | 3 | 30 | +| /home/amit/buffer-ui/src/Views/Common/TabSwitch/style.ts | TypeScript | 20 | 0 | 2 | 22 | +| /home/amit/buffer-ui/src/Views/Common/TableComponents/TableComponents.tsx | TypeScript React | 103 | 0 | 9 | 112 | +| /home/amit/buffer-ui/src/Views/Common/TableComponents/style.ts | TypeScript | 75 | 1 | 6 | 82 | +| /home/amit/buffer-ui/src/Views/Common/TableMobile/index.tsx | TypeScript React | 150 | 0 | 11 | 161 | +| /home/amit/buffer-ui/src/Views/Common/TableMobile/style.ts | TypeScript | 97 | 4 | 5 | 106 | +| /home/amit/buffer-ui/src/Views/Common/TitleHead.tsx | TypeScript React | 7 | 0 | 2 | 9 | +| /home/amit/buffer-ui/src/Views/Common/TnCModal.tsx | TypeScript React | 51 | 3 | 5 | 59 | +| /home/amit/buffer-ui/src/Views/Common/Toast/index.tsx | TypeScript React | 147 | 23 | 11 | 181 | +| /home/amit/buffer-ui/src/Views/Common/Toast/style.ts | TypeScript | 138 | 4 | 8 | 150 | +| /home/amit/buffer-ui/src/Views/Common/Toggler/index.tsx | TypeScript React | 29 | 0 | 3 | 32 | +| /home/amit/buffer-ui/src/Views/Common/Toggler/style.ts | TypeScript | 32 | 0 | 2 | 34 | +| /home/amit/buffer-ui/src/Views/Common/Tooltip/index.tsx | TypeScript React | 30 | 0 | 2 | 32 | +| /home/amit/buffer-ui/src/Views/Common/Tooltip/style.ts | TypeScript | 101 | 0 | 14 | 115 | +| /home/amit/buffer-ui/src/Views/Common/Tooltips/Display/index.tsx | TypeScript React | 114 | 19 | 8 | 141 | +| /home/amit/buffer-ui/src/Views/Common/Tooltips/index.tsx | TypeScript React | 35 | 1 | 5 | 41 | +| /home/amit/buffer-ui/src/Views/Common/TopBanner/index.tsx | TypeScript React | 20 | 1 | 4 | 25 | +| /home/amit/buffer-ui/src/Views/Common/TopBanner/style.ts | TypeScript | 28 | 1 | 3 | 32 | +| /home/amit/buffer-ui/src/Views/Common/Transition/index.tsx | TypeScript React | 53 | 3 | 6 | 62 | +| /home/amit/buffer-ui/src/Views/Common/Transitions/Horizontal/index.tsx | TypeScript React | 24 | 0 | 3 | 27 | +| /home/amit/buffer-ui/src/Views/Common/Transitions/Horizontal/style.ts | TypeScript | 25 | 1 | 4 | 30 | +| /home/amit/buffer-ui/src/Views/Common/Transitions/Vertical/index.tsx | TypeScript React | 20 | 0 | 3 | 23 | +| /home/amit/buffer-ui/src/Views/Common/Transitions/Vertical/style.ts | TypeScript | 11 | 0 | 2 | 13 | +| /home/amit/buffer-ui/src/Views/Common/TryTestnet/index.tsx | TypeScript React | 38 | 0 | 4 | 42 | +| /home/amit/buffer-ui/src/Views/Common/TryTestnet/style.ts | TypeScript | 45 | 7 | 5 | 57 | +| /home/amit/buffer-ui/src/Views/Common/TypeChip/index.tsx | TypeScript React | 8 | 0 | 3 | 11 | +| /home/amit/buffer-ui/src/Views/Common/UnorderedList/index.tsx | TypeScript React | 19 | 0 | 4 | 23 | +| /home/amit/buffer-ui/src/Views/Common/UnorderedList/style.ts | TypeScript | 34 | 1 | 2 | 37 | +| /home/amit/buffer-ui/src/Views/Common/V2-Button/ButtonLoader.tsx | TypeScript React | 13 | 0 | 3 | 16 | +| /home/amit/buffer-ui/src/Views/Common/V2-Button/index.tsx | TypeScript React | 99 | 0 | 3 | 102 | +| /home/amit/buffer-ui/src/Views/Common/V2-Drawer/connectionDrawer.tsx | TypeScript React | 118 | 1 | 5 | 124 | +| /home/amit/buffer-ui/src/Views/Common/V2-Drawer/index.tsx | TypeScript React | 38 | 0 | 4 | 42 | +| /home/amit/buffer-ui/src/Views/Common/VersionChip/index.tsx | TypeScript React | 17 | 0 | 3 | 20 | +| /home/amit/buffer-ui/src/Views/Common/VersionChip/style.ts | TypeScript | 13 | 0 | 2 | 15 | +| /home/amit/buffer-ui/src/Views/Common/VerticalTabs/index.tsx | TypeScript React | 85 | 3 | 5 | 93 | +| /home/amit/buffer-ui/src/Views/Common/VerticalTabs/style.ts | TypeScript | 44 | 0 | 2 | 46 | +| /home/amit/buffer-ui/src/Views/Common/pagination.tsx | TypeScript React | 43 | 0 | 4 | 47 | +| /home/amit/buffer-ui/src/Views/Common/v2-AssetDropDown/index.tsx | TypeScript React | 166 | 4 | 8 | 178 | +| /home/amit/buffer-ui/src/Views/Common/v2-AssetDropDown/style.ts | TypeScript | 86 | 2 | 6 | 94 | +| /home/amit/buffer-ui/src/Views/Common/v2-BufferInput/index.tsx | TypeScript React | 100 | 5 | 3 | 108 | +| /home/amit/buffer-ui/src/Views/Common/v2-BufferInput/style.ts | TypeScript | 39 | 2 | 5 | 46 | +| /home/amit/buffer-ui/src/Views/Common/v2-OptionsDropdown/index.tsx | TypeScript React | 89 | 11 | 4 | 104 | +| /home/amit/buffer-ui/src/Views/Common/v2-OptionsDropdown/style.ts | TypeScript | 49 | 1 | 3 | 53 | +| /home/amit/buffer-ui/src/Views/Earn/Components/Card.tsx | TypeScript React | 35 | 0 | 4 | 39 | +| /home/amit/buffer-ui/src/Views/Earn/Components/Divider.tsx | TypeScript React | 3 | 0 | 1 | 4 | +| /home/amit/buffer-ui/src/Views/Earn/Components/EarnButtons.tsx | TypeScript React | 185 | 27 | 6 | 218 | +| /home/amit/buffer-ui/src/Views/Earn/Components/EarnCards.tsx | TypeScript React | 594 | 22 | 10 | 626 | +| /home/amit/buffer-ui/src/Views/Earn/Components/ExchangeIcon.tsx | TypeScript React | 6 | 0 | 2 | 8 | +| /home/amit/buffer-ui/src/Views/Earn/Components/Section.tsx | TypeScript React | 27 | 0 | 1 | 28 | +| /home/amit/buffer-ui/src/Views/Earn/Components/VestCards.tsx | TypeScript React | 138 | 2 | 4 | 144 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Abis/BFR.json | JSON | 686 | 0 | 0 | 686 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Abis/BLP.json | JSON | 1,154 | 0 | 0 | 1,154 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json | JSON | 1,193 | 0 | 0 | 1,193 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Abis/EsBFR.json | JSON | 686 | 0 | 0 | 686 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Abis/RewardRouterV2.json | JSON | 661 | 0 | 0 | 661 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Abis/RewardTracker.json | JSON | 911 | 0 | 0 | 911 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Abis/Token.json | JSON | 338 | 0 | 0 | 338 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Abis/Vester.json | JSON | 1,024 | 0 | 0 | 1,024 | +| /home/amit/buffer-ui/src/Views/Earn/Config/Address.tsx | TypeScript React | 45 | 0 | 2 | 47 | +| /home/amit/buffer-ui/src/Views/Earn/Hooks/useEarnWriteCalls.tsx | TypeScript React | 131 | 27 | 13 | 171 | +| /home/amit/buffer-ui/src/Views/Earn/Hooks/useTokenomicsMulticall.tsx | TypeScript React | 990 | 32 | 30 | 1,052 | +| /home/amit/buffer-ui/src/Views/Earn/Modals/buy.tsx | TypeScript React | 177 | 0 | 5 | 182 | +| /home/amit/buffer-ui/src/Views/Earn/Modals/claim.tsx | TypeScript React | 92 | 17 | 2 | 111 | +| /home/amit/buffer-ui/src/Views/Earn/Modals/compound.tsx | TypeScript React | 162 | 19 | 3 | 184 | +| /home/amit/buffer-ui/src/Views/Earn/Modals/deposit.tsx | TypeScript React | 241 | 2 | 9 | 252 | +| /home/amit/buffer-ui/src/Views/Earn/Modals/index.tsx | TypeScript React | 103 | 0 | 14 | 117 | +| /home/amit/buffer-ui/src/Views/Earn/Modals/sell.tsx | TypeScript React | 138 | 13 | 5 | 156 | +| /home/amit/buffer-ui/src/Views/Earn/Modals/stake.tsx | TypeScript React | 197 | 0 | 10 | 207 | +| /home/amit/buffer-ui/src/Views/Earn/earnAtom.ts | TypeScript | 150 | 0 | 10 | 160 | +| /home/amit/buffer-ui/src/Views/Earn/index.tsx | TypeScript React | 117 | 3 | 8 | 128 | +| /home/amit/buffer-ui/src/Views/Faucet/Faucet.json | JSON | 213 | 0 | 1 | 214 | +| /home/amit/buffer-ui/src/Views/Faucet/index.tsx | TypeScript React | 160 | 10 | 7 | 177 | +| /home/amit/buffer-ui/src/Views/Faucet/style.ts | TypeScript | 81 | 10 | 5 | 96 | +| /home/amit/buffer-ui/src/Views/Pro/Common/TableHead.tsx | TypeScript React | 22 | 0 | 1 | 23 | +| /home/amit/buffer-ui/src/Views/Referral/Components/PlainCard.tsx | TypeScript React | 36 | 0 | 3 | 39 | +| /home/amit/buffer-ui/src/Views/Referral/Components/ReferralModal.tsx | TypeScript React | 56 | 1 | 4 | 61 | +| /home/amit/buffer-ui/src/Views/Referral/Components/ReferralTable.tsx | TypeScript React | 64 | 0 | 6 | 70 | +| /home/amit/buffer-ui/src/Views/Referral/Components/ReferralTableBody.tsx | TypeScript React | 10 | 0 | 3 | 13 | +| /home/amit/buffer-ui/src/Views/Referral/Config/Address.ts | TypeScript | 15 | 0 | 2 | 17 | +| /home/amit/buffer-ui/src/Views/Referral/Config/ReferralABI.json | JSON | 287 | 0 | 1 | 288 | +| /home/amit/buffer-ui/src/Views/Referral/Hooks/useAppliedReferral.ts | TypeScript | 21 | 0 | 3 | 24 | +| /home/amit/buffer-ui/src/Views/Referral/Hooks/useCodeOwner.ts | TypeScript | 34 | 1 | 4 | 39 | +| /home/amit/buffer-ui/src/Views/Referral/Hooks/useReferralWriteCalls.ts | TypeScript | 18 | 0 | 6 | 24 | +| /home/amit/buffer-ui/src/Views/Referral/Hooks/useUserCode.ts | TypeScript | 33 | 0 | 6 | 39 | +| /home/amit/buffer-ui/src/Views/Referral/Hooks/useUserReferralData.ts | TypeScript | 60 | 0 | 8 | 68 | +| /home/amit/buffer-ui/src/Views/Referral/Utils/isNullAds.ts | TypeScript | 10 | 0 | 2 | 12 | +| /home/amit/buffer-ui/src/Views/Referral/Utils/useReferralCode.tsx | TypeScript React | 13 | 1 | 2 | 16 | +| /home/amit/buffer-ui/src/Views/Referral/index.tsx | TypeScript React | 463 | 17 | 24 | 504 | +| /home/amit/buffer-ui/src/Views/Referral/referralAtom.ts | TypeScript | 8 | 0 | 4 | 12 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/ContestFilterDD/index.tsx | TypeScript React | 74 | 0 | 8 | 82 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/Rank.tsx | TypeScript React | 25 | 0 | 3 | 28 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TableAligner/index.tsx | TypeScript React | 51 | 0 | 3 | 54 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TableAligner/style.ts | TypeScript | 9 | 5 | 2 | 16 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/TopData/index.tsx | TypeScript React | 24 | 0 | 1 | 25 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Components/Trophy.tsx | TypeScript React | 52 | 0 | 2 | 54 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/DailyMobileTable.tsx | TypeScript React | 186 | 6 | 9 | 201 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/DailyWebTable.tsx | TypeScript React | 243 | 10 | 12 | 265 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/index.tsx | TypeScript React | 94 | 0 | 8 | 102 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Daily/stlye.ts | TypeScript | 55 | 1 | 7 | 63 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Hooks/useDayOfTournament.ts | TypeScript | 19 | 2 | 2 | 23 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Hooks/useLeaderboardQuery.ts | TypeScript | 132 | 10 | 12 | 154 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Incentivised/index.tsx | TypeScript React | 161 | 91 | 11 | 263 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/index.tsx | TypeScript React | 100 | 12 | 7 | 119 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/style.ts | TypeScript | 2 | 0 | 2 | 4 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/PNL/tabFilter.tsx | TypeScript React | 70 | 0 | 6 | 76 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Sidebar/index.tsx | TypeScript React | 199 | 178 | 20 | 397 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Sidebar/style.ts | TypeScript | 61 | 0 | 7 | 68 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Weekly/index.tsx | TypeScript React | 289 | 99 | 14 | 402 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/Weekly/style.ts | TypeScript | 117 | 4 | 5 | 126 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/atom.ts | TypeScript | 36 | 0 | 5 | 41 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/drawers.tsx | TypeScript React | 9 | 0 | 2 | 11 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/index.tsx | TypeScript React | 25 | 1 | 3 | 29 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/interfaces.ts | TypeScript | 23 | 0 | 1 | 24 | +| /home/amit/buffer-ui/src/Views/V2-Leaderboard/style.ts | TypeScript | 38 | 3 | 4 | 45 | +| /home/amit/buffer-ui/src/assets/Elements/BackIcon.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/src/assets/Elements/BufferLogo.tsx | TypeScript React | 21 | 0 | 3 | 24 | +| /home/amit/buffer-ui/src/assets/Elements/Closelogo.tsx | TypeScript React | 25 | 0 | 3 | 28 | +| /home/amit/buffer-ui/src/assets/Elements/Disconnect.tsx | TypeScript React | 19 | 0 | 3 | 22 | +| /home/amit/buffer-ui/src/assets/Elements/ErrorIcon.tsx | TypeScript React | 31 | 0 | 2 | 33 | +| /home/amit/buffer-ui/src/assets/Elements/FailedSuccess.tsx | TypeScript React | 26 | 0 | 3 | 29 | +| /home/amit/buffer-ui/src/assets/Elements/MenuLogo.tsx | TypeScript React | 31 | 0 | 3 | 34 | +| /home/amit/buffer-ui/src/assets/Elements/SuccessIcon.tsx | TypeScript React | 26 | 0 | 3 | 29 | +| /home/amit/buffer-ui/src/assets/Elements/ToastCrossIcon.tsx | TypeScript React | 15 | 0 | 3 | 18 | +| /home/amit/buffer-ui/src/assets/Elements/wallet.tsx | TypeScript React | 28 | 0 | 3 | 31 | +| /home/amit/buffer-ui/src/assets/Social/DD/discord.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/src/assets/Social/DD/gitbook.tsx | TypeScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/assets/Social/DD/github.tsx | TypeScript React | 18 | 0 | 3 | 21 | +| /home/amit/buffer-ui/src/assets/Social/DD/medium.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/src/assets/Social/DD/telegram.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/src/assets/Social/DD/twitter.tsx | TypeScript React | 16 | 0 | 3 | 19 | +| /home/amit/buffer-ui/src/atoms/generic.ts | TypeScript | 14 | 0 | 3 | 17 | +| /home/amit/buffer-ui/src/contexts/Global/index.tsx | TypeScript React | 29 | 2 | 8 | 39 | +| /home/amit/buffer-ui/src/contexts/Global/interfaces.tsx | TypeScript React | 25 | 0 | 1 | 26 | +| /home/amit/buffer-ui/src/contexts/Global/reducer.ts | TypeScript | 358 | 7 | 10 | 375 | +| /home/amit/buffer-ui/src/contexts/Refresher/index.tsx | TypeScript React | 56 | 2 | 11 | 69 | +| /home/amit/buffer-ui/src/contexts/Toast/index.tsx | TypeScript React | 18 | 0 | 4 | 22 | +| /home/amit/buffer-ui/src/contexts/Toast/reducer.ts | TypeScript | 47 | 2 | 3 | 52 | +| /home/amit/buffer-ui/src/contexts/index.tsx | TypeScript React | 11 | 0 | 2 | 13 | +| /home/amit/buffer-ui/src/globalStore.ts | TypeScript | 3 | 0 | 2 | 5 | +| /home/amit/buffer-ui/src/main.tsx | TypeScript React | 30 | 0 | 3 | 33 | +| /home/amit/buffer-ui/src/redux/consents/reducer.ts | TypeScript | 29 | 0 | 2 | 31 | +| /home/amit/buffer-ui/src/redux/index.ts | TypeScript | 55 | 0 | 3 | 58 | +| /home/amit/buffer-ui/src/redux/persisted/reducer.ts | TypeScript | 43 | 0 | 2 | 45 | +| /home/amit/buffer-ui/src/redux/rootReducer.ts | TypeScript | 8 | 0 | 2 | 10 | +| /home/amit/buffer-ui/src/vite-env.d.ts | TypeScript | 0 | 1 | 1 | 2 | +| /home/amit/buffer-ui/tailwind.config.cjs | JavaScript | 128 | 1 | 1 | 130 | +| /home/amit/buffer-ui/tsconfig.json | JSON with Comments | 4 | 34 | 0 | 38 | +| /home/amit/buffer-ui/tsconfig.node.json | JSON | 9 | 0 | 1 | 10 | +| /home/amit/buffer-ui/vite.config.ts | TypeScript | 12 | 4 | 4 | 20 | +| Total | | 77,642 | 3,788 | 3,115 | 84,545 | ++---------------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.env.local b/.env.local new file mode 100644 index 0000000..315a191 --- /dev/null +++ b/.env.local @@ -0,0 +1,3 @@ +VITE_ENV = MAINNET +VITE_MODE = production +BASE_PATH = public \ No newline at end of file diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..315a191 --- /dev/null +++ b/.env.sample @@ -0,0 +1,3 @@ +VITE_ENV = MAINNET +VITE_MODE = production +BASE_PATH = public \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..97b0023 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,64 @@ +module.exports = { + root: true, + env: { + node: true, + es6: true, + }, + parserOptions: { + ecmaVersion: 8, + allowImportExportEverywhere: true, + // sourceType: "module", + }, // to enable features such as async/await + ignorePatterns: ["node_modules/*", ".next/*", ".out/*", "!.prettierrc.js"], // We don't want to lint generated files nor node_modules, but we want to lint .prettierrc.js (ignored by default by eslint) + extends: ["eslint:recommended"], + overrides: [ + // This configuration will apply only to TypeScript files + { + files: ["**/*.ts", "**/*.tsx"], + parser: "@typescript-eslint/parser", + settings: { react: { version: "detect" } }, + env: { + browser: true, + node: true, + es6: true, + }, + extends: [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", // TypeScript rules + "plugin:react/recommended", // React rules + "plugin:react-hooks/recommended", // React hooks rules + "plugin:jsx-a11y/recommended", // Accessibility rules + "plugin:prettier/recommended", // Prettier plugin + ], + rules: { + // We will use TypeScript's types for component props instead + "react/prop-types": "off", + + // No need to import React when using Next.js + "react/react-in-jsx-scope": "off", + + // This rule is not compatible with Next.js's components + "jsx-a11y/anchor-is-valid": "off", + + // Why would you want unused vars? + "@typescript-eslint/no-unused-vars": ["error"], + + // Includes .prettierrc.js rules + "prettier/prettier": [ + "error", + { endOfLine: "auto" }, + { usePrettierrc: true }, + ], + + // I suggest this setting for requiring return types on functions only where useful + "@typescript-eslint/explicit-function-return-type": [ + "warn", + { + allowExpressions: true, + allowConciseArrowFunctionExpressionsStartingWithVoid: true, + }, + ], + }, + }, + ], +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d96fba3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +.env.local + +# Editor directories and files +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..22351db --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "trailingComma": "es5", + "tabWidth": 2, + "semi": true, + "singleQuote": true, + "printWidth": 80, + "bracketSpacing": true, + "arrowParens": "always", + "endOfLine": "auto" +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..ad92582 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.formatOnSave": true +} diff --git a/config/axios.tsx b/config/axios.tsx new file mode 100644 index 0000000..b7a97e1 --- /dev/null +++ b/config/axios.tsx @@ -0,0 +1,48 @@ +import axios from "axios"; + +export const cancelTokenObjectProducer = (calledFrom = "NEW NEW NEW") => { + const { CancelToken } = axios; + const source = CancelToken.source(); + return { + ...source, + }; +}; + +export const axiosInstance = axios.create({ + baseURL: "https://api-v2.buffer.finance", + headers: { + "Content-Type": "application/json", + }, + timeout: 40000, +}); + +axiosInstance.interceptors.response.use( + (req) => { + let newResp: any = { + ...req, + }; + if (req.data && req.data.data && req.data.data.error) { + newResp = { + ...req, + error: req.data.data.error.message, + status: req.data.data.error.code, + }; + } + return Promise.resolve(newResp); + }, + (error) => { + return Promise.reject(error); + } +); + +export function setAuthorizationToken(user: any) { + if (user) { + axiosInstance.defaults.headers.common[ + "session-token" + ] = `${user.session_token}`; + } else { + delete axiosInstance.defaults.headers.common["session-token"]; + } +} + +export default axiosInstance; diff --git a/config/connectors.ts b/config/connectors.ts new file mode 100644 index 0000000..207c7db --- /dev/null +++ b/config/connectors.ts @@ -0,0 +1,17 @@ +export enum ConnectorNames { + Injected = 'Injected', + Network = 'Network', + WalletConnect = 'WalletConnect', + WalletLink = 'WalletLink', + Ledger = 'Ledger', + Trezor = 'Trezor', + Lattice = 'Lattice', + Frame = 'Frame', + BSC = 'BSC', + Authereum = 'Authereum', + Fortmatic = 'Fortmatic', + Magic = 'Magic', + Portis = 'Portis', + Torus = 'Torus', +} +export const connectorLocalStorageKey = 'connectorIdv2' diff --git a/config/index.ts b/config/index.ts new file mode 100644 index 0000000..c325d4c --- /dev/null +++ b/config/index.ts @@ -0,0 +1,625 @@ +import { IAsset } from 'src/contexts/Global/interfaces'; +export const defaultPair = 'GBP-USD'; + +const toHex = (num: number) => { + return `0x${num.toString(16)}`; +}; +interface IAssetConfig extends IAsset { + symbol: string; + decimals: number; +} +interface IChainConfig { + env: string; + name: string; + chainId: string; + img: string; + displayName: string; + chainIdHex: string; + chainName: string; + nativeAsset: IAssetConfig; + rpcUrls: string[]; + blockExplorerUrls: string[]; + rollupTypeHash?: string; + ethAccountLockCodeHash?: string; + supportedPages?: number[]; + minGasPrice?: number; + gasKey?: string; +} + +export const baseGraphqlUrl = + import.meta.env.VITE_ENV.toLowerCase() === 'mainnet' + ? 'https://api.thegraph.com/subgraphs/name/bufferfinance/buffer-mainnet' + : 'https://api.thegraph.com/subgraphs/name/bufferfinance/buffer-testnet'; + +export const baseGraphqlLiteUrl = + import.meta.env.VITE_ENV.toLowerCase() === 'mainnet' + ? { + sandbox: + 'https://api.thegraph.com/subgraphs/name/bufferfinance/mainnet-lite-v2', + testnet: + 'https://api.thegraph.com/subgraphs/name/bufferfinance/mainnet-lite-v2', + } + : { + sandbox: + 'https://api.thegraph.com/subgraphs/name/bufferfinance/sandbox-lite', + testnet: + 'https://api.thegraph.com/subgraphs/name/bufferfinance/sandbox-lite', + }; + +export const periodsValue = [86400, 259200, 604800, 2592000, 5184000, 7776000]; +export const optionsPeriodsValue = [ + 86400, 604800, 1209600, 1814400, 2419200, 2592000, 5184000, 7776000, +]; +export const pgTabs = ['Predictions', 'Active', 'History']; +export const optionsTabs = ['Options', 'Active', 'History']; +export const lpTabs = ['Add Liquidity']; +export const cbTabs = ['Call Boosters', 'History']; +export const spTabs = ['Buy', 'Active', 'History']; +export const kpiTabs = ['KPI Options', 'History']; +export const binaryTabs = [ + 'Place Trade', + 'Chart', + 'Active', + 'History', + 'Cancelled', +]; +export const insuaranceTabs = ['Secured Put', 'History']; +export const referralTabs = ['Referral']; +export const stakingTabs = ['Staking']; +export const revenueTabs = ['Revenue Sharing']; +export const vaultTabs = ['Vault']; +export const proIdentifier = 'pro'; +export const positionsTabs = ['Active', 'History']; +export const allTradesTabs = ['History', 'Old Trades']; +export const breakPoint = 1200; + +export const TESTNET_ENVS = [ + 'meter-test', + 'cube-test', + 'stardust-test', + 'mumbai-test', +]; +/** + [ + 0 - binary + 1 - faucet + 2 - competition + 3 - earn + 4 - referral + 5 - migration + ] + */ +export const MAINNET_ENVS = ['mainnet', 'avalanche-mainnet', 'aurora-mainnet']; +// if you don't mention exact RPC URL and Block Explorer URL, Chain won't be switched if user tries to. +// Make sure you double check if URL contains "/" at last or not. +export const CHAIN_CONFIGS = { + TESTNET: { + ARBITRUM: { + img: '/Chains/ARBITRIUM.png', + env: 'arbitrum-test', + name: 'ARBITRUM', + displayName: 'Arbitrum', + chainId: '421613', + defaultAsset: 'ETH', + chainIdHex: toHex(421613), + chainName: `Arbitrum Goerli`, + nativeAsset: { + name: 'AETH', + symbol: 'AETH', + faucet: [ + { + step: 'Claim goerliETH from goerli faucet', + url: 'https://goerlifaucet.com/', + options: [ + { + step: 'Using the Goerli faucet', + url: 'https://goerlifaucet.com/', + }, + { + step: 'Using the Goerli Mudit faucet', + url: 'https://goerli-faucet.mudit.blog/', + }, + { + step: 'Using the Paradigm Multifaucet', + url: 'https://faucet.paradigm.xyz/', + }, + ], + }, + { + step: 'Bridge GoerliETH to AETH', + url: 'https://bridge.arbitrum.io/?l2ChainId=421613', + }, + ], + img: '/Chains/ARBITRIUM.png', + decimals: 18, + category: 'Crypto', + }, + rpcUrls: ['https://goerli-rollup.arbitrum.io/rpc'], + gasKey: 'https://gasstation-mainnet.matic.network/v2', + + blockExplorerUrls: [`https://goerli-rollup-explorer.arbitrum.io/`], + supportedPages: [1, 1, 1, 1, 1, 0], + } as IChainConfig, + }, + MAINNET: { + BSC: { + img: '/Chains/BSC.png', + env: 'mainnet', + name: 'BSC', + displayName: 'Binance', + chainId: '56', + chainIdHex: toHex(56), + defaultAsset: 'BNB', + chainName: `Binance Smart Chain Mainnet`, + nativeAsset: { + name: 'BNB', + symbol: 'BNB', + img: '/Chains/BSC.png', + decimals: 18, + category: 'Crypto', + }, + rpcUrls: ['https://bsc-dataseed1.binance.org/'], + blockExplorerUrls: [`https://bscscan.com/`], + supportedPages: [0, 0, 0, 0, 0, 1], + } as IChainConfig, + + ARBITRUM: { + img: '/Chains/ARBITRIUM.png', + env: 'arbitrum-main', + chainId: '42161', + defaultAsset: 'ETH', + chainIdHex: toHex(42161), + rpcUrls: ['https://arb1.arbitrum.io/rpc'], + blockExplorerUrls: ['https://arbiscan.io/'], + chainName: `Arbitrum Mainnet`, + displayName: 'Arbitrum', + name: 'ARBITRUM', + minGasPrice: 0.17 * 1e9, + nativeAsset: { + name: 'ETH', + symbol: 'ETH', + decimals: 18, + img: '/Chains/ARBITRIUM.png', + category: 'Crypto', + }, + supportedPages: [1, 1, 1, 1, 1, 0], + }, + }, +}; +export const pgTypeMapping = { + Put: 'Down', + Call: 'Up', + exercised: 'closed', + active: 'active', + expired: 'expired', +}; + +export const BSC_BLOCK_TIME = 3; +export const DEFAULT_GAS_LIMIT = 1500000; +export const CHAIN_CONFIG = + CHAIN_CONFIGS[import.meta.env.VITE_ENV.toUpperCase()]; +export const LONG_TIMEOUT = 50000; + +export const getENV = () => { + let chain: any = router.router.query.chain; + if (!chain) return import.meta.env.VITE_ENV.toLowerCase(); + chain = chain.toUpperCase(); + return CHAIN_CONFIG[chain].env; +}; + +export const RETRY_LIMIT = 35; + +export const getChain: ( + providedRouter?: any +) => [IChainConfig, string | false] = (providedRouter) => { + let activeChain: string; + if (providedRouter) { + activeChain = providedRouter.query.chain as string; + } else { + activeChain = router.router.query.chain as string; + } + let notFound: boolean = false; + if (!activeChain) { + notFound = true; + activeChain = 'BSC'; + } + activeChain = activeChain.toUpperCase(); + return [CHAIN_CONFIG[activeChain], notFound ? false : activeChain]; +}; +export const getActiveChain: () => IChainConfig | null = () => { + if (typeof window !== 'undefined') { + const str = window.location.href.split('/')[3]; + return CHAIN_CONFIG[str.toUpperCase()]; + } + return null; +}; +export const getChainName = (router) => { + const requestedChain = router.query.chain; + if (requestedChain && requestedChain !== '') { + const chainObj = + CHAIN_CONFIGS[import.meta.env.VITE_ENV.toUpperCase()][ + (requestedChain as string).toUpperCase() + ]; + if (chainObj) { + return chainObj.chainName; + } + } + return null; +}; + +export const BASE_URL = 'https://pancakeswap.finance'; +export const LOWERCASE_ENV = import.meta.env.VITE_ENV.toLowerCase(); + +export const multiCall = { + 56: '0xfF6FD90A470Aaa0c1B8A54681746b07AcdFedc9B', + 97: '0x8F3273Fb89B075b1645095ABaC6ed17B2d4Bc576', + 71393: '0x8BE87Ac9376c33C64583d0CD512227151FeD5bfe', + 80001: '0xa1D6a0B3bE26FA898340b53d130FaAc855B87545', + 43113: '0x3525056b441957683c646e60f155A5db6390144F', + 43114: '0x115452aF3dD96809F61777010215219B8B30819D', + 3: '0x53c43764255c17bd724f74c4ef150724ac50a3ed', + 4002: '0x0f0142450b65E562dbe871975da7ED0974e20D0e', + 421613: '0x8ea98eFC38dE6739FBDC93dA7789c926D54d72c6', + 42161: '0x7A7443F8c577d537f1d8cD4a629d40a3148Dd7ee', +}; + +export const supportedWallets = + import.meta.env.VITE_ENV.toLowerCase() === 'testnet' + ? [ + { name: 'Metamask', img: 'metamask', connectorId: 0 }, + { name: 'Coin98', img: 'coin98', connectorId: 1 }, + { name: 'Trust Wallet', img: 'trust_wallet', connectorId: 2 }, + { + name: 'Wallet Connect', + img: 'wallet_connect', + connectorId: 3, + }, + // { + // name: "Tally Ho", + // img: "tally_ho", + // connectorId: 2, + // }, + // { + // name: "Coinbase", + // img: "coinbase", + // connectorId: 1, + // }, + ] + : [ + { name: 'Metamask', img: 'metamask', connectorId: 0 }, + { name: 'Coin98', img: 'coin98', connectorId: 1 }, + { name: 'Trust Wallet', img: 'trust_wallet', connectorId: 2 }, + { + name: 'Wallet Connect', + img: 'wallet_connect', + connectorId: 3, + }, + { + name: 'Tally Ho', + img: 'tally_ho', + connectorId: 2, + }, + { + name: 'Coinbase', + img: 'coinbase', + connectorId: 1, + }, + ]; + +export const gitbookLink = 'https://github.com/Buffer-Finance/Buffer-Protocol'; + +export const INDEX_MAPPINGS = { + generic: 'main', + call_boosters: 'call_booster', +}; + +export const standAloneSlugs = ['NFT']; +export const expiredExpiry = 'roll-over pending'; +export const rootBreak = 600; +export const notOverText = 'Round 1 is not over yet for this pool.'; +export const NA = 'N/A'; +export const European = 'European'; +export const American = 'American'; +export const getLeaderBoardTabs = (chain: string) => { + return [ + { + pathname: '/[chain]/leaderboard/[offset]/incentivised', + as: `/ARBITRUM/leaderboard/0/incentivised`, + name: 'Arbitrum Testnet', + slug: 'leaderboard', + id: 0, + + subTabs: [ + // { + // pathname: "/[chain]/leaderboard/[offset]/weekly/[league]", + // as: `/POLYGON/leaderboard/0/weekly/diamond`, + // name: "diamond", + // slug: "diamond", + // id: 2, + // img: "/LeaderBoard/Diamond.png", + // subTabs: [], + // }, + // { + // pathname: "/[chain]/leaderboard/[offset]/weekly/[league]", + // as: `/POLYGON/leaderboard/0/weekly/platinum`, + // name: "platinum", + // slug: "platinum", + // id: 3, + // img: "/LeaderBoard/Platinum.png", + // subTabs: [], + // }, + // { + // pathname: "/[chain]/leaderboard/[offset]/weekly/[league]", + // as: `/POLYGON/leaderboard/0/weekly/gold`, + // name: "gold", + // slug: "gold", + // id: 4, + // img: "/LeaderBoard/Gold.png", + // subTabs: [], + // }, + // { + // pathname: "/[chain]/leaderboard/[offset]/weekly/[league]", + // as: `/POLYGON/leaderboard/0/weekly/silver`, + // name: "silver", + // slug: "silver", + // id: 5, + // img: "/LeaderBoard/Silver.png", + // subTabs: [], + // }, + // { + // pathname: "/[chain]/leaderboard/[offset]/weekly/[league]", + // as: `/POLYGON/leaderboard/0/weekly/bronze`, + // name: "bronze", + // slug: "bronze", + // id: 6, + // img: "/LeaderBoard/Bronze.png", + // subTabs: [], + // }, + ], + }, + // { + // pathname: "/[chain]/leaderboard/[offset]/daily", + // as: `/${chain}leaderboard/0/daily`, + // name: "Daily", + // slug: "daily", + // id: 1, + + // subTabs: [], + // }, + // { + // pathname: "/[chain]/leaderboard/weekly", + // as: `/${chain}leaderboard/weekly`, + // name: "Weekly", + // slug: "weekly", + // id: 1, + // subTabs: [], + // }, + { + pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', + as: `/${chain}leaderboard/0/weekly/diamond`, + name: 'diamond', + slug: 'diamond', + id: 2, + img: '/LeaderBoard/Diamond.png', + subTabs: [], + }, + { + pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', + as: `/${chain}leaderboard/0/weekly/platinum`, + name: 'platinum', + slug: 'platinum', + id: 3, + img: '/LeaderBoard/Platinum.png', + subTabs: [], + }, + { + pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', + as: `/${chain}leaderboard/0/weekly/gold`, + name: 'gold', + slug: 'gold', + id: 4, + img: '/LeaderBoard/Gold.png', + subTabs: [], + }, + { + pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', + as: `/${chain}leaderboard/0/weekly/silver`, + name: 'silver', + slug: 'silver', + id: 5, + img: '/LeaderBoard/Silver.png', + subTabs: [], + }, + { + pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', + as: `/${chain}leaderboard/0/weekly/bronze`, + name: 'bronze', + slug: 'bronze', + id: 6, + img: '/LeaderBoard/Bronze.png', + subTabs: [], + }, + { + pathname: '/[chain]/leaderboard/[offset]/pnl', + as: `/${chain}leaderboard/0/pnl`, + name: 'Profit & Loss', + slug: 'pnl', + id: 7, + subTabs: [], + }, + ]; +}; +export const getProTabs = (chain: string, asset: string) => { + return [ + { + pathname: '/[chain]/markets/[product]', + as: `/${chain}markets/all`, + name: 'Markets', + slug: 'markets', + id: 2, + subTabs: [], + }, + { + pathname: '/[chain]/partners', + as: `/${chain}partners`, + name: 'Partners', + slug: 'partners', + id: 0, + subTabs: [], + }, + { + pathname: '/[chain]/positions', + as: `/${chain}positions`, + name: 'Positions', + defaultName: 'Positions', + slug: 'positions', + id: 3, + subTabs: [], + }, + { + pathname: '/[chain]/faucet', + as: `/${chain}faucet`, + name: 'Faucet', + slug: 'faucet', + id: 5, + subTabs: [], + }, + ]; +}; + +export const envNetworkMapping = { + 'mumbai-testnet': 'Polygon Testnet', +}; +export const getTabs = (chain: string, isLeaderboard = false) => { + if (isLeaderboard) return getLeaderBoardTabs(chain); + + if (import.meta.env.VITE_ENV.toLowerCase() === 'mainnet') { + return [ + { + pathname: '/[chain]/binary/[asset]', + as: `/ARBITRUM/binary/${defaultPair}`, + name: 'Trade', + slug: 'binary', + id: 2, + subTabs: [], + isExternalLink: false, + }, + // { + // pathname: "/[chain]/migration", + // as: `https://forms.gle/Z5oXXz9fSqUN71bi6`, + // name: "Migrate", + // slug: "migration", + // id: 8, + // subTabs: [], + // isExternalLink: true, + // }, + { + pathname: '/[chain]/earn', + as: `/ARBITRUM/earn`, + name: 'Earn', + slug: 'earn', + id: 8, + subTabs: [], + isExternalLink: false, + }, + + { + pathname: 'practice', + as: `https://testnet.buffer.finance/`, + name: 'Practice Trading', + slug: 'practice', + id: 8, + subTabs: [], + isExternalLink: true, + }, + // { + // pathname: 'vesting', + // as: `https://app-v0.buffer.finance/vesting`, + // name: 'Vesting', + // slug: 'vesting', + // id: 8, + // subTabs: [], + // isExternalLink: true, + // }, + // { + // pathname: 'old-App', + // as: `https://app-v1.buffer.finance/`, + // name: 'Old App', + // slug: 'old-app', + // id: 8, + // subTabs: [], + // isExternalLink: true, + // }, + // { + // pathname: "blog", + // as: "https://buffer-finance.medium.com/", + // name: "Blog", + // slug: "blog", + // id: 9, + // subTabs: [], + // isExternalLink: true, + // }, + ]; + } + return [ + { + pathname: '/[chain]/binary/[asset]', + as: `/ARBITRUM/binary/${defaultPair}`, + name: 'Trade', + slug: 'binary', + id: 2, + subTabs: [], + isExternalLink: false, + }, + { + pathname: '/[chain]/faucet', + as: `/ARBITRUM/faucet`, + name: 'Faucet', + slug: 'faucet', + id: 5, + subTabs: [], + isExternalLink: false, + }, + // { + // pathname: "/[chain]/earn", + // as: `/ARBITRUM/earn`, + // name: "Earn", + // slug: "earn", + // id: 8, + // subTabs: [], + // isExternalLink: false, + // }, + + // { + // pathname: "/[chain]/dashboard", + // as: `/ARBITRUM/dashboard`, + // name: "Dashboard", + // slug: "dashboard", + // id: 8, + // subTabs: [], + // isExternalLink: false, + // }, + // { + // pathname: "/[chain]/referral", + // as: `/ARBITRUM/referral`, + // name: "Referral", + // slug: "referral", + // id: 8, + // subTabs: [], + // isExternalLink: false, + // }, + + { + pathname: '/[chain]/leaderboard/[offset]/incentivised', + as: `/${chain}leaderboard/0/incentivised`, + name: 'Competitions', + slug: 'leaderboard', + id: 6, + subTabs: [], + }, + ]; +}; + +export enum ENV { + ArbitrumGoerli = 'arbitrum-test', +} diff --git a/index.css b/index.css new file mode 100644 index 0000000..5f41c45 --- /dev/null +++ b/index.css @@ -0,0 +1,2866 @@ +@import url('src/styles/fonts.css'); +@import url('src/styles/dim.css'); +@import url('src/styles/margin-padding.css'); + +@tailwind components; +@tailwind utilities; +@tailwind base; + +html, +body { + font-size: 10px; + padding: 0; + margin: 0; + background-color: var(--bg-17); +} + +@media (max-width: 800px) and (min-width: 600px) { + .custom-view { + display: none; + } +} +html .MuiDialog-container { + backdrop-filter: blur(10px); +} +.gradient_txt{ + + font-family: Arial, + Helvetica, sans-serif; + background: linear-gradient( #bfe5f6, #A3E3FF); + -webkit-text-fill-color: transparent; + -webkit-background-clip: text; +} +:root { + --yellow-border: #e2ca18; + --white-border: #c2c1d3; + --mole-offset: 140%; + --mole-animation-duration: 0.4s; +} +.blue-text-shadow { + text-shadow: 0px 5px 34px rgba(255, 255, 255, 0.39); +} + +.mole-down-anim { + animation: MoleDown var(--mole-animation-duration); + /* background-color: red; */ + transform: translateY(0%); + animation-timing-function: cubic-bezier(0.42, 0, 1, 1); +} +.mole-down-animdelayed { + animation: MoleDown var(--mole-animation-duration); + animation-delay: 5s; + /* background-color: red; */ + transform: translateY(0%); + animation-timing-function: cubic-bezier(0.42, 0, 1, 1); +} + +@keyframes MoleDown { + from { + transform: translateY(0%); + } + to { + transform: translateY(var(--mole-offset)); + } +} +.mole-up-anim { + animation: MoleUp 1s; + /* animation-delay: 3s; */ + /* transform: translateY(var(--mole-offset)); */ + animation-timing-function: cubic-bezier(0.42, 0, 1, 1); +} + +@keyframes MoleUp { + from { + transform: translateY(var(--mole-offset)); + } + to { + transform: translateY(0%); + } +} + +.tv-h { + border-top-right-radius: 20px; + border-top-left-radius: 20px; + padding-top: 10px; +} + +.mouse-animation { + animation: Mouse infinite 4s; + transform: translateY(130%); + animation-timing-function: cubic-bezier(0.42, 0, 1, 1); +} + +/* + +state-{ + animate: 0|1, + imgs[] (len ==2) +}[] + +animate:1 means add down animation. + + +
+
+
+
+
+ +onDownEnd( + div.first_img h = 0 + div.second_img h = auto + div.addAnimation = up +) + +onUpEnd(c-(idx) + in state[idx] + make state[idx] = {imgs:[state[idx].second, pick random]} + pick random indexes whole + setState() +) + + + + +*/ + +/* 2 5 8 10 */ +/* 0 */ +@keyframes Mouse { + 0% { + transform: translateY(130%); + } + 15% { + transform: translateY(0%); + } + 85% { + transform: translateY(0%); + } + 100% { + transform: translateY(130%); + } +} +.claim-nft-btn { + min-width: 200px !important; + font-size: 20px !important; + font-weight: 600 !important; +} +@media (max-width: 600px) { + .claim-nft-btn { + min-width: 160px !important; + + font-size: 18px !important; + } +} + +.nft-wrapper { + /* display: grid; */ + grid-template-areas: 'header' 'nfts' 'desc'; + grid-template-rows: min-content; +} +.nft-container { + grid-area: nfts; + overflow: auto; +} +.wavy-desc { + --offset: 42px; + grid-area: desc; + grid-template-rows: min-content min-content min-content; + transform: translateY(var(--offset)); + /* display: grid; */ + /* height: calc(100%); */ + background: #303044; + + grid-template-areas: 'title' 'summary' 'buttons'; +} +@media (max-width: 900px) { + .wavy-desc { + --offset: 79px; + /* height: calc(100% + var(--offset) - 33px); */ + } +} + +@media (max-width: 1200px) { + .scrollbarnil::after { + position: absolute; + top: 0px; + right: calc(var(--global-padding) * -1); + background: linear-gradient( + 90deg, + rgba(2, 0, 36, 0) 0%, + rgba(255, 255, 255, 0) 0%, + rgba(0, 0, 0, 0.575) 100% + ); + content: ''; + width: 20px; + height: 100%; + } + + .tgp { + transform: translateX(var(--global-padding)); + } +} +.chart-type { + display: flex; + cursor: pointer; +} +div.chart-type-dd { + width: fit-content; + background-color: #131722; + padding: 8px; +} +.chart-type svg { + width: 20px; + height: 20px; +} +.scrollbarnil ::-webkit-scrollbar { + width: 0px; + height: 0px; +} +@media (max-width: 800px) { + .tgp { + transform: none; + } + .scrollbarnil::after { + right: 0px; + } +} + +.tv-h .active-chart .ele { + color: #a3e3ff !important; +} +.tv-h .chart-type .ele { + margin-right: 4px; +} + +@media (max-width: 600px) { + + + .tv-h .ele { + margin-right: 10px !important; + } +} +.tv-h .ele { + margin-right: 0.8vw; + font-size: 1.2rem; + font-family: Trebuchet MS, roboto, ubuntu, sans-serif; + color: #b2b5be; +} +.tv-h .ele.active { + color: #a3e3ff; +} +.tv-h .chart-type:hover { + color: #fff; + filter: brightness(1.14); +} + +.bfr-marked-text { + color: #0788e6; +} +.bord-l::before { + content: ''; + width: 3px; + height: 100%; + position: absolute; + top: 0px; + left: 0px; + background-color: currentColor; + /* background-color: var(--white-border); */ +} + +.bord-l { + overflow: hidden; + position: relative; +} +html .plus-icon { + color: white; + font-weight: 600; + font-size: 2rem; + width: 3rem; + height: 3rem; + background-color: var(--primary); + border-radius: 1rem; +} +.disclaimer-width { + width: min(400px, 95%) !important; +} +.wrapper-3 { + width: min(42rem, 90%); +} +.skel-hdd { + min-height: 40vh; +} +.App { + display: flex; + flex-direction: column; + flex: 1; +} + +.chart-container { + flex: 1; +} + +html .plus-icon span { + transition: 0.2s ease-in-out; + transform-origin: 53% 53%; + font-size: 2.6rem; + font-weight: 400; +} +html .plus-icon:hover { + background-color: var(--primary); +} + +div.custom-rm { + margin-left: 20%; +} +html .plus-icon.cross span { + transform: rotate(45deg); + font-size: 2.6rem; + font-weight: 400; +} +html .win-lose-chip { + padding: 0.1rem 0.7rem; + padding-bottom: 0; + font-size: 1.4rem; + font-weight: 500; + /* background-color: var(--green); */ + border-radius: 0.5rem; +} +* { + box-sizing: border-box; + margin: 0rem; + font-family: 'Relative Mono', 'Relative Pro'; + padding: 0rem; + /* font-feature-settings: "zero" 1 !important; */ +} + +.error-icon { + --dim: 1.4rem; + width: var(--dim); + height: var(--dim); + margin-right: 0.6rem; +} +.info-coming { + /* background-color:#353945; */ + border-radius: 1rem; + font-size: 1.4rem; + color: white; + padding: 0.2rem 0.5rem; + margin-top: 0.2rem; +} +.info-coming.translatex { + transform: translateX(4rem); +} +html .stat-skel { + width: 100%; + height: 40vh; + border-radius: 1.5rem; +} +html .scale0-9x { + transform: scale(0.9); +} +html .scale0-8x { + transform: scale(0.8); +} +html .scale0-7x { + transform: scale(0.7); +} +html .scale0-6x { + transform: scale(0.6); +} +.wrap { + flex-wrap: wrap; +} +.pxmb { + margin-bottom: 1px; +} +#mobile-sidebar-logo { + transform: translateY(2px); +} +.dropdown-asset-image-dim { + width: 2rem; + height: 2rem; + border-radius: 50%; + margin-right: 0.3rem; +} +html .hover-blue:hover { + color: var(--primary); + cursor: pointer; +} +html .relative { + font-family: Relative Pro; +} +html .hover-blue-underline:hover { + color: var(--bg-20); + cursor: pointer; + text-decoration: underline; +} + +html .lf { + font-size: 1.2rem; +} +html .contain { + object-fit: contain; +} +.pointer { + cursor: pointer; +} +.swap-icon { + transform: scale(1.4); +} + +.inactive { + opacity: 0.5; +} +.inactive:hover { + opacity: 1; +} + +.normal-cursor { + cursor: text; +} + +.call-booster-lp-asset { + --dim: 2.5rem; + width: var(--dim); + height: var(--dim); + border-radius: 50%; + margin-right: 0.7rem; +} +html.pro { + --primary: #6f4fef !important; + --partner-bg: rgba(54, 56, 64, 0.4); + --light-violet: #e2dbff; + --hero-bg: #16161a; + --hero-text: #fcfcfc; + --bg-20: var(--light-violet); +} +.light-violet-text { + color: var(--light-violet); +} +.pro-hero-text { + color: var(--hero-text); +} + +html { + --drawer-transition-duration: 200ms; + --navbar-height: 4.5rem; + --leaderboard-sidebar-width: 18rem; + --top-banner-height: 2.8rem; + --asset-dim: 2.8rem; + --sidepanel-width: 23.2rem; + --drawer-width: 36rem; + --left-pannel: 8.3rem; + --bg-4: #2f3241; + --bg-8: #242731; + --global-padding: 8px; + --light-bg: #2c2c3b; + --sp-w: 40rem; + --bg-14: #353945; + --bg-14-blue: #353945; + --light-border: rgba(36, 39, 49, 0.4); + --bg-17: #000000; + --bg-19: #191b20; + --bg-20: #a3e3ff; + --bg-21: #bbb5e2; + --bg-22: #abe8ff; + --bg-23: #0e1014; + --text-white: #f7f7f7; + --text-9: #fcfcfd; + --bg-23-table-row: #0e1014; + --text-8: #2b2557; + --text-7: rgb(63, 182, 139); + --green: #3fb68b; + --red: rgb(255, 83, 83); + --text-6: #808191; + --text-1: #ffffff; + --primary: rgb(55, 114, 255); + --v2-text-box: #0e0e0e; + --dropdown-hover: #1d2027; + --secondary-button: rgb(55, 114, 255, 0.15); + --nft-nav: #777e90; + --dot-animation-2: rgba(255, 255, 255, 0.2); + --dot-animation-3: rgba(255, 255, 255, 0.4); + --dot-animation-4: rgba(255, 255, 255, 2); + --white-blue: #fff; + --time-selector-bg: #1a1920; + --f12: 1.2rem; + --f14: 1.4rem; + --f15: 1.5rem; + --mobile-padding: 1.7rem; + --f16: 1.6rem; + --f18: 1.8rem; + --f20: 2rem; + --f22: 2.2rem; + --f24: 2.4rem; + --f26: 2.4rem; + --f40: 4rem; + --zer0: 0; + --txxx: 0.1rem; + --txx: 0.2rem; + --tx: 0.3rem; + --t: 0.4rem; + --xt: 0.5rem; + --xxt: 0.6rem; + --sxxxx: 0.2rem; + --sxxx: 0.4rem; + --sxx: 0.6rem; + --sx: 0.8rem; + --s: 1rem; + --xs: 1.2rem; + --xxs: 1.4rem; + --xxxs: 1.6rem; + --mxx: 1.6rem; + --mx: 1.8rem; + --m: 2rem; + --xm: 2.2rem; + --xxm: 2.4rem; + --xxxm: 2.6rem; + --l: 3rem; + --xl: 3.2rem; + --xxl: 3.4rem; + --xxxl: 3.6rem; + --b: 4rem; + --gl: #24273166; + --xb: 4.2rem; + --xxb: 4.4rem; + --xxxb: 4.6rem; + --v: 6rem; + --z: 10rem; + --zoom: 300ms cubic-bezier(0.32, 0.6, 0.35, 0.85); + --mw: 100rem; + --text-blue: #ffffff; + --bg-14-blue: #353945; + --white-shadow: rgb(0 0 0 / 25%) 0px 14px 28px, rgb(0 0 0 / 22%) 0px 10px 10px; + --money-bag: #bbb5e2; + --revenue-info: rgba(36, 39, 49, 0.4); + --slider: #aae; + --calc: #242731; + --calc-shadow: 0 0.4rem 2rem 0 rgba(0, 0, 0, 0.5); + --bg20-primary: var(--bg-20); + --bg19-white: var(--bg-19); + --main-bg: black; + --bg-grey: rgb(90, 90, 90); + --disabled-button: #353945; + --border-bottom: 2px solid #2a2a3a; + --border-color: #2a2a3a; + color: var(--text-1); +} +/* +@media only screen and (max-width: 600px) { + html { + --sidepanel-width: 22rem; + } +} */ + +html.light { + --bg-4: #f5f5f5; + --bg-14: #e9e9e9; + --bg-20: #dfeaff; + --bg-17: #f4f5f9; + --bg-23: #ffffff; + --bg-19: #f5f5f5; + --bg-21: #bbb5e2; + --bg-22: #d7f4ff; + --bg-8: rgba(228, 228, 228, 0.3); + --light-border: rgba(36, 39, 49, 0.4); + --text-8: #2b2557; + --text-7: #4fbf67; + --red: #ff5353; + --text-6: #808191; + --text-1: #343434; + --primary: #3772ff; + --text-blue: #3772ff; + --bg-14-blue: rgba(43, 113, 255, 0.15); + --bg-23-table-row: #f5f5f5; + --white-shadow: 0 0 16px rgb(228 231 232 / 45%); + --money-bag: #bbb5e2; + --revenue-info: #ffffff; + --slider: #3772ff; + --calc: #ffffff; + --calc-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.1); + --dot-animation-2: rgba(130, 130, 130, 0.468); + --dot-animation-3: rgba(112, 108, 108, 0.621); + --dot-animation-4: rgba(245, 229, 229, 0.904); + --bg20-primary: #3773ffbe; + --bg19-white: #ffffff; + --main-bg: #fdfdfd; + --bg-grey: rgba(204, 201, 201, 0.664); + --disabled-button: #343434; + --white-blue: var(--primary); +} + +html .text-1 { + color: var(--text-1); +} + +html .c-light-grey { + color: #c3c2d4; +} + +html .light-bg { + background-color: var(--light-bg); +} + +html .transparent { + /* background-color: transparent !important; */ +} + +html .f13 { + font-size: 1.3rem; +} + +html .txxxmb { + margin-bottom: var(--txxx); +} +html .text-white { + color: var(--text-white); +} + +html .txxmb { + margin-bottom: var(--txx); +} + +html .txmb { + margin-bottom: var(--tx); +} +.drawer-child { + height: 100%; +} +.default { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 100; + transform: translateX(0%); + transition: 200ms ease-in-out; +} +@media (max-width: 600px) { + .default { + position: relative; + top: auto; + bottom: auto; + } + /* * { + overflow-x: hidden; + } */ +} +.close { + transform: translateX(120%); +} + +html .tmb { + margin-bottom: var(--t); +} + +html .xtmb { + margin-bottom: var(--xt); +} + +html .xxtmb { + margin-bottom: var(--xxt); +} + +html .txxxmt { + margin-top: var(--txxx); +} + +html .sxxmt { + margin-top: var(--sxx); +} + +html .sxxxmt { + margin-top: var(--sxxx); +} + +html .mxxmt { + margin-top: var(--mxx); +} + +html .mxmt { + margin-top: var(--mx); +} + +html .mxxmt { + margin-top: var(--mxx); +} + +html .txxmt { + margin-top: var(--txx); +} + +html .txmt { + margin-top: var(--tx); +} + +html .tmt { + margin-top: var(--t); +} + +html .xtmt { + margin-top: var(--xt); +} + +html .xxtmt { + margin-top: var(--xxt); +} + +html .txxxml { + margin-left: var(--txxx); +} + +html .txxml { + margin-left: var(--txx); +} + +html .txml { + margin-left: var(--tx); +} + +html .tml { + margin-left: var(--t); +} + +html .tableFix { + margin-right: 2rem !important; +} +html .xtml { + margin-left: var(--xt); +} + +html .xxtml { + margin-left: var(--xxt); +} + +html .txxxmr { + margin-right: var(--txxx); +} + +html .txxmr { + margin-right: var(--txx); +} +html .ma { + margin: auto; +} +html .mmb { + margin-bottom: var(--m); +} +html .txmr { + margin-right: var(--tx); +} +html .balck-bg { + background: #1b1c22 !important; +} + +html .tmr { + margin-right: var(--t); +} +html .nft-nav { + color: var(--nft-nav); +} + +html .xtmr { + margin-right: var(--xt); +} + +html .xxtmr { + margin-right: var(--xxt); +} + +html .txxxpb { + padding-bottom: var(--txxx); +} + +html .txxpb { + padding-bottom: var(--txx); +} + +html .txpb { + padding-bottom: var(--tx); +} + +html .tmbp { + padding-bottom: var(--t); +} + +html .xtpb { + padding-bottom: var(--xt); +} + +html .xxtpb { + padding-bottom: var(--xxt); +} + +html .txxxpt { + padding-top: var(--txxx); +} + +html .txxpt { + padding-top: var(--txx); +} + +html .txpt { + padding-top: var(--tx); +} + +html .tmtp { + padding-top: var(--t); +} + +html .xtpt { + padding-top: var(--xt); +} + +html .xxtpt { + padding-top: var(--xxt); +} + +html .txxxpl { + padding-left: var(--txxx); +} + +html .txxpl { + padding-left: var(--txx); +} + +html .txpl { + padding-left: var(--tx); +} + +html .tmlp { + padding-left: var(--t); +} + +html .xtpl { + padding-left: var(--xt); +} + +html .xxtpl { + padding-left: var(--xxt); +} + +html .txxxpr { + padding-right: var(--txxx); +} + +html .txxpr { + padding-right: var(--txx); +} +html .xmpr { + padding-right: var(--xm); +} + +html .txpr { + padding-right: var(--tx); +} + +html .tmrp { + padding-right: var(--t); +} + +html .xtpr { + padding-right: var(--xt); +} + +html .xxtpr { + padding-right: var(--xxt); +} + +html .red { + color: var(--red); +} + +html .green { + color: var(--green); +} + +html .green-bold { + color: var(--green); + font-weight: 900; +} + +html .up { + color: var(--text-7); +} + +html .sxxxmb { + margin-bottom: var(--sxxx); +} + +html .zeromt { + margin-top: var(--zero); +} + +html .zeromb { + margin-bottom: var(--zero); +} + +html .bmt { + margin-top: var(--b); +} + +html .sxxxmt { + margin-top: var(--sxxx); +} + +html .xxxsmr { + margin-right: var(--xxxs); +} +html .xxxsmt { + margin-top: var(--xxxs); +} + +html .xxmr { + margin-right: var(--xxm); +} + +html .xxmb { + margin-bottom: var(--xxm); +} + +html .pointer { + cursor: pointer; +} + +html .sxxxpv { + padding-top: var(--sxxx); + padding-bottom: var(--sxxx); +} + +html .sxxpv { + padding-top: var(--sxx); + padding-bottom: var(--sxx); +} + +html .sxpv { + padding-top: var(--sx); + padding-bottom: var(--sx); +} + +html .bg { + background-color: var(--bg); +} +html .bg-23 { + background-color: var(--bg-23); +} +html .bg-19 { + background-color: var(--bg-19); +} + +html .sxpl { + padding-left: var(--sx); +} + +html .sxxpl { + padding-left: var(--sxx); +} + +html .sxxmr { + margin-right: var(--sxx); +} + +html .sxxxpl { + padding-left: var(--sxxx); +} + +html .bpl { + padding-left: var(--b); +} + +html .sxxxmr { + margin-right: var(--sxxx); +} + +html .sxxxmb { + margin-bottom: var(--sxxx); +} + +html .sxxxmt { + margin-top: var(--sxxx); +} + +html .sxxxml { + margin-left: var(--sxxx); +} + +html .xbpl { + padding-left: var(--xb); +} + +html .mxxph { + padding-left: var(--mxx); + padding-right: var(--mxx); +} + +html .mxph { + padding-left: var(--mx); + padding-right: var(--mx); +} + +html .sxmr { + margin-right: var(--sx); +} + +html .mxmt { + margin-top: var(--mx); +} + +html .mxxmt { + margin-top: var(--mxx); +} + +html .mph { + padding-left: var(--m); + padding-right: var(--m); +} + +html .nowrap { + white-space: nowrap; +} + +html .xxbpl { + padding-left: var(--xxb); +} + +html .bpr { + padding-right: var(--b); +} + +html .xbpr { + padding-right: var(--xb); +} + +html .xxbpr { + padding-right: var(--xxb); +} +/* +html .bg-primary { + background: var(--primary); +} */ + +html .primary { + color: var(--primary); +} +html .light-blue-text { + color: var(--bg-20); +} +html .outlined { + border: 1px solid var(--text-1); +} + +html .mra { + margin-right: auto; +} + +html .mla { + margin-left: auto; +} + +html .mta { + margin-top: auto; +} + +html .mba { + margin-bottom: auto; +} + +html .mva { + margin-bottom: auto; + margin-top: auto; +} + +html .mha { + margin-right: auto; + margin-left: auto; +} + +/* html .text-3 { + color: var(--text-3); +} */ + +html .f11 { + font-size: 1.1rem; +} +html .xxsf { + font-size: 1.2rem; +} + +html .xsf { + font-size: 1.4rem; +} +/* html .f15 { + font-size: 1.5rem; +} */ + +html .sf { + font-size: 1.6rem; +} + +html .head-size { + font-size: 1.8rem; +} + +html .mf { + font-size: 2.4rem; +} + +html .xmf { + font-size: 3.4rem; +} + +html .col-borders { + border-left: 1px solid #393953; +} + +html .col-borders:first-of-type { + border-left: none; +} + +.asset-grid { + display: grid; +} +html .mlf { + font-size: 4.2rem; +} + +html .lf { + font-size: 4.8rem; +} + +/* html .flex { + display: flex; +} */ + +html .inline { + display: inline; +} +.full-name-chip { + background-color: #353945; + font-size: 1.2rem; + padding: 0.1rem 0.5rem; + margin-left: 0.7rem; + border-radius: 0.5rem; + font-weight: 500; +} + +html .btn { + text-transform: none; + font-size: 1.4rem; + padding: 0.9rem 1.6rem; + border-radius: 1rem; + /* min-width: 14.1rem; */ +} +html .dropdown-arrow { + width: 24px; + height: 24px; +} +.special-hover:hover { + background-color: #232334; +} +html .c-232334 { + background-color: #27273c; +} +.special-hover { + transition: 300ms ease; +} +html .flex-center { + display: flex; + justify-content: center; + align-items: center; +} + +html .flex-bw { + display: flex; + justify-content: space-between; + align-items: center; +} + +html .flex-sbw { + display: flex; + justify-content: space-between; + align-items: center; +} + +html .flex-rev { + display: flex; + flex-direction: row-reverse; +} + +/* html .flex-col { + display: flex; + flex-direction: column; +} */ +html .flex-col-center { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +html .flexc-center { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +html .content-sbw { + justify-content: space-between; +} + +html .content-center { + justify-content: center; +} + +html .content-end { + justify-content: flex-end; +} + +html .content-start { + justify-content: flex-start; +} + +html .flex-end { + justify-content: flex-end; +} + +/* html .items-center { + align-items: center; +} */ + +html .items-start { + align-items: flex-start; +} + +html .items-end { + align-items: flex-end; +} +html .items-stretch { + align-items: stretch; +} + +html .content-end { + justify-content: flex-end; +} + +html .content-start { + justify-content: flex-start; +} +html .self-align-start { + align-self: flex-start; +} +html .self-align-end { + align-self: flex-end; +} +html .full-width { + width: 100%; +} + +html .max-width { + width: 100%; +} + +@media screen and (min-width: 1920px) { + html .max-width { + max-width: var(--mw); + margin: auto; + } +} + +html .spr { + padding-right: var(--s); +} + +html .smr { + margin-right: var(--s); +} + +html .xxsmr { + margin-right: var(--xxs); +} + +html .xsmr { + margin-right: var(--xs); +} + +.highlight { + background: var(--bg-4); +} +html .xxsmt { + margin-top: var(--xxs); +} + +html .xxsml { + margin-left: var(--xxs); +} + +.xxsmb { + margin-bottom: var(--xxs); +} +html .xxxsmr { + margin-right: var(--xxxs); +} + +html .xxxsmt { + margin-top: var(--xxxs); +} + +html .xxxsml { + margin-left: var(--xxxs); +} + +.xxxsmb { + margin-bottom: var(--xxxs); +} + +html .smt { + margin-top: var(--s); +} + +html .smb { + margin-bottom: var(--s); +} + +html .sxxxmb { + margin-bottom: var(--sxxx); +} + +.xsmt { + margin-top: var(--xs); +} + +.xsmb { + margin-bottom: var(--xs); +} + +.smb { + margin-bottom: var(--s); +} + +html .margin-auto { + margin: auto; +} + +html .spl { + padding-left: var(--s); +} + +.sml { + margin-left: var(--s); +} + +.sxxml { + margin-left: var(--sxx); +} + +.sxxmb { + margin-bottom: var(--sxx); +} + +.sxxxxmb { + margin-bottom: var(--sxxxx); +} + +.sxml { + margin-left: var(--sx); +} + +.sxmt { + margin-top: var(--sx); +} + +.sxmb { + margin-bottom: var(--sx); +} + +.mxmb { + margin-bottom: var(--mx); +} + +.mml { + margin-left: var(--m); +} + +.mmr { + margin-right: var(--m); +} + +.xxlml { + margin-left: var(--xxl); +} + +.xspr { + padding-right: var(--xs); +} + +html .xxsph { + padding-right: var(--xxs); + padding-left: var(--xxs); +} + +.xsmr { + margin-right: var(--xs); +} + +.xsmv { + margin: var(--xs) 0; +} + +.xspv { + padding: var(--xs) 0; +} + +.text-center { + text-align: center; +} + +html .text-left { + text-align: left !important; +} +html .text-right { + text-align: right !important; +} + +html .smv { + margin: var(--s) 0; +} + +.spv { + padding-top: var(--s); + padding-bottom: var(--s); +} + +.mpv { + padding-top: var(--m); + padding-bottom: var(--m); +} + +.xxsmv { + margin: var(--xxs) 0; +} + +html .xxsmt { + margin-top: var(--xxs); +} + +html .xxsmb { + margin-bottom: var(--xxs); +} + +html .xxsml { + margin-left: var(--xxs); +} + +.xspl { + padding-left: var(--xs); +} + +.xsml { + margin-left: var(--xs); +} + +.normal { + font-weight: 400; +} + +html body .sm-p { + padding: 0.3rem 0.9rem; +} +html .w400 { + font-weight: 400; +} + +html .bold { + font-weight: 600; +} + +.x-bold { + font-weight: 700; +} + +html .lbold { + font-weight: 500; +} + +html .mmt { + margin-top: var(--m); +} + +html .xmmt { + margin-top: var(--xm); +} + +html .xxmmt { + margin-top: var(--xxm); +} + +html .xxxmmt { + margin-top: var(--xxxm); +} + +html .xmmb { + margin-bottom: var(--xm); +} + +html .xxmmb { + margin-bottom: var(--xxm); +} + +html .xxxmmb { + margin-bottom: var(--xxxm); +} + +html .xmml { + margin-left: var(--xm); +} + +html .xxmml { + margin-left: var(--xxm); +} + +html .xxxmml { + margin-left: var(--xxxm); +} + +html .xmmr { + margin-right: var(--xm); +} + +html .xxmmr { + margin-right: var(--xxm); +} + +html .xxxmmr { + margin-right: var(--xxxm); +} + +.mmb { + margin-bottom: var(--m); +} + +.mml { + margin-left: var(--m); +} + +.mpl { + padding-left: var(--m); +} + +.mpr { + padding-right: var(--m); +} + +.lpl { + padding-left: var(--l); +} + +.lpr { + padding-right: var(--l); +} + +.lmb { + margin-bottom: var(--l); +} + +.xxxbph { + padding-right: var(--xxxb); + padding-left: var(--xxxb); +} + +.zph { + padding-right: var(--z); + padding-left: var(--z); +} + +.zmt { + margin-top: var(--z); +} + +.vph { + padding-right: var(--v); + padding-left: var(--v); +} + +.xxxpr { + padding-right: var(--xxxb); +} + +.xxxpl { + padding-left: var(--xxxb); +} + +.mmv { + margin: var(--m) 0; +} + +html .xlmt { + margin-top: var(--xl); +} + +.xxlmt { + margin-top: var(--xxl); +} + +html .lmt { + margin-top: var(--l); +} + +html .xlmb { + margin-bottom: var(--xl); +} + +html .xlph { + padding-right: var(--xl); + padding-left: var(--xl); +} + +html .lph { + padding-right: var(--l); + padding-left: var(--l); +} + +html .margin-nil { + margin: 0; +} + +.xlmb { + margin-bottom: var(--xxl); +} + +html .nil-p { + padding: 0; +} + +.xxlmt { + margin-top: var(--xxl); +} + +.background { + background: var(--bg-1); +} + +html .font1 { + /* font-family: "Relative Pro", sans-serif; */ + font-family: Relative Pro, sans-serif; +} + +html .font2 { + font-family: Relative Pro, sans-serif; + /* font-family: "DM Sans", sans-serif; */ +} + +html .font3 { + font-family: Relative Pro, sans-serif; +} + +.weight-400 { + font-weight: 400; +} + +.weight-500 { + font-weight: 500; +} + +.weight-600 { + font-weight: 600; +} + +.weight-700 { + font-weight: 700 !important; +} + +@media screen and (min-width: 601px) { + .s { + display: none !important; + } +} + +html .tab { + display: none; +} + +@media screen and (min-width: 601px) and (max-width: 1200px) { + .tab { + display: block; + } +} +@media screen and (max-width: 1200px) { + html .tab-none { + display: none; + } +} +.sm { + display: none; +} + +@media screen and (max-width: 600px) { + .mobile-block { + display: block; + } + + .sm { + display: block; + } + .tb { + display: none !important; + } + .mobile-items-center { + align-items: center; + } + .mobile-content-center { + justify-content: center; + } + + html span.lc-m { + background-color: var(--bg-4); + } + + html .primary-btn { + padding: 0.7rem 1.3rem; + } + + html .mob-flex-col-center { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + } + + .mob-gap { + gap: 1rem; + } +} + +html .vsf { + font-size: 1.3rem; +} +.gradient_txt { + color: var(--primary) !important; +} + +html .capitalize { + text-transform: capitalize; +} + +.unset { + all: unset; +} + +.y-scroll { + overflow-y: scroll; +} + +.y-auto { + overflow-y: auto; +} + +::-webkit-scrollbar { + background: var(--bg-grey); + height: 7px; + width: 0px; +} + +::-webkit-scrollbar-thumb { + border-radius: 24px; + background: #bfbfbfab; + opacity: 0.7; +} + +::-webkit-scrollbar-track { + border-radius: 24px; + background: var(--bg-grey); +} + +/* Remove Arrows */ +/* Chrome, Safari, Edge, Opera */ +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Firefox */ +input[type='number'] { + -moz-appearance: textfield; +} + +.card { + background-color: var(--bg-19); + border-radius: 1.2rem; +} + +#drawer { + position: sticky; + z-index: 102; + padding: 0 var(--global-padding); + top: 0; + padding-right: 10px; + padding-top: var(--global-padding); + overflow: visible; +} +.minww { + width: 320px; +} + +.portal-drawer--enter { + transform: translate(100%, 0px); + transition: ease-out; + transition-duration: var(--drawer-transition-duration); + + /* opacity: 0; */ +} + +.portal-drawer--enter-active { + transform: translate(0px, 0px); + + /* opacity: 1; */ +} + +.portal-drawer--enter-done { + transition: ease-out; + transition-duration: var(--drawer-transition-duration); + /* opacity: 1; */ +} + +.portal-drawer--exit { + transition: ease-out; + transition-duration: var(--drawer-transition-duration); + transform: translate(100%, 0px); + /* opacity: 0; */ +} + +#connection-drawer { + height: 100vh; + top: calc(var(--navbar-height) + var(--top-banner-height)); + z-index: 1000; + /* position: relative; */ + /* z-index: 10000; */ +} + +.portal-connection-drawer--enter { + transform: translate(100%, 0px); + transition: ease-out; + transition-duration: var(--drawer-transition-duration); + + /* opacity: 0; */ +} + +.portal-connection-drawer--enter-active { + transform: translate(0px, 0px); + + /* opacity: 1; */ +} + +.portal-connection-drawer--enter-done { + transition: ease-out; + transition-duration: var(--drawer-transition-duration); + /* opacity: 1; */ +} + +.portal-connection-drawer--exit { + transition: ease-out; + transition-duration: var(--drawer-transition-duration); + transform: translate(100%, 0px); + /* opacity: 0; */ +} + +#tooltip { + z-index: 200000; + font-family: Relative Pro; +} +@media only screen and (max-width: 600px) { + #tooltip { + z-index: 1700; + font-family: Relative Pro; + } + .minww { + width: 100%; + } +} + +.relative { + position: relative; +} +.absolute { + position: absolute; +} + +.table-asset-icon { + display: inline-block; + width: var(--asset-dim); + height: var(--asset-dim); + border-radius: 50%; +} + +.title-text { + font-size: 3.2rem; + font-weight: 600; + color: var(--text-1); +} + +.subtitle-text { + font-size: 3.2rem; + font-weight: 600; + color: var(--text-1); +} + +.head-text { + font-size: 1.5rem; + color: var(--text-1); + font-family: Relative Pro, sans-serif; +} + +.desc-text { + font-family: Relative Pro; + font-size: 1.4rem; + color: var(--text-6); +} + +.info-tooltip { + font-family: Relative Pro; + --dim: 1.4rem; + margin-left: 0.4rem; + width: var(--dim); + height: var(--dim); + border-radius: 50%; +} + +html .primary-btn { + font-family: Relative Pro; + font-weight: 500; + background-color: var(--primary); + color: #ffffff; + border-radius: 1rem; + padding: 0.9rem 2.5rem; + font-size: 1.56rem; + text-transform: initial; + transition: 500ms; + transform: translateY(0%); +} +/* html .bg-primary { + background-color: var(--primary); +} */ + +html .primary-btn:hover { + background-color: var(--primary); + transform: translateY(-5%); + box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.2); +} + +html .primary-btn:active { + transform: translateY(0%); +} + +html .primary-action-btn { + font-family: Relative Pro; + background-color: var(--primary); + color: #ffffff; + border-radius: 1rem; + padding: 0.6rem 1.4rem; + font-weight: 500; + text-transform: initial; + font-size: 1.3rem; +} + +html .action-button { + padding: 0.7rem 1.8rem; + font-size: 1.4rem; + /* font-weight: 400; */ +} +html .primary-action-btn:hover { + background-color: var(--primary); + transform: translateY(-5%); + box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.2); +} + +html .secondary-action-btn { + font-family: Relative Pro; + color: var(--text-1); + border-radius: 1rem; + padding: 0.5rem 1rem; + background-color: var(--secondary-button); + font-weight: 500; + text-transform: initial; + font-size: 1.4rem; + /* transition: 500ms; */ + border: 0.8px solid var(--primary); +} + +html .secondary-action-btn:hover { + color: white; + background-color: var(--primary); + transform: translateY(-5%); + box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.2); +} +html .secondary-btn:hover { + background-color: var(--secondary-button) !important; +} + +html .secondary-outlined { + border: 1px solid var(--primary) !important; +} + +html .secondary-btn { + font-family: Relative Pro; + color: var(--text-1); + border-radius: 1rem; + padding: 0.915rem 2.5rem; + font-weight: 400; + text-transform: initial; + font-size: 1.4rem; + transition: 500ms; + transform: translateY(0%); + border: 0.8px solid var(--primary); + background-color: var(--secondary-button); +} + +html .secondary-btn:hover { + color: white; + background-color: var(--primary); + transform: translateY(-5%); + box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.2); +} + +.btn-icon { + width: 1.6rem; + height: 1.6rem; + margin-right: 0.4rem; +} +.content-drawer { + display: grid; + width: 100%; + height: 100%; + grid-template: 'Content Drawer'; + grid-template-columns: 1fr auto; + /* background-color: var(--color-layer-base); */ + /* background: radial-gradient( + 40.45% 40.45% at 50% 46.16%, + rgba(1, 9, 80, 0.9) 3.12%, + rgba(14, 17, 32, 0) 100% + ); */ +} + +.portal-drawer { + width: var(--drawer-width); + /* width: max-content; */ + border-left: 2px solid var(--bg-8); + overflow-x: hidden; +} +@media (max-width: 1100px) { + .portal-drawer { + width: calc(var(--drawer-width) + 4rem); + } +} +@media (max-width: 800px) { + .content-drawer { + grid-template-areas: 'Content'; + grid-template-columns: 100vw 0px; + grid-template-rows: max-content max-content; + background-color: var(--color-layer-base); + overflow-x: hidden; + } + .portal-drawer { + width: 100%; + /* padding: var(--global-padding); */ + /* border-left: 2px solid var(--bg-8); */ + overflow-x: hidden; + border-left: none; + + bottom: 0; + top: 0; + padding: 0rem; + } +} +@media only screen and (max-width: 1200px) { + /* .bg-opacity { + opacity: 0.1; + } */ + + .drawer { + transform: translate(0px, 0px); + transition: ease-out; + transition: var(--drawer-transition-duration); + } + + #connection-drawer { + z-index: 1700; + } +} +iframe { + width: 100%; + height: 100%; +} +@media (max-width: 600px) { + iframe { + width: 100%; + height: 80vh; + } +} +.cross-btn-all { + padding: 0 !important; + margin-right: 2px !important; +} + +.portal-connection-drawer { + bottom: 0; + width: 40rem; + position: fixed; + right: 0; + padding: 1.5rem 3rem 3rem; + background-color: #1c1c28; + top: var(--navbar-height); + border-left: 2px solid var(--bg-8); +} + +@media only screen and (max-width: 1200px) { + .portal-connection-drawer { + top: 0; + z-index: 1600; + padding: 2rem 1rem; + width: 33rem; + } +} + +.i { + font-style: italic; +} + +.italic { + font-style: italic; +} + +.fit { + width: fit-content; + height: fit-content; +} + +html .fit-content { + width: fit-content; +} +html .m-border-radius { + border-radius: 1.4rem; +} +html .border-radius-12 { + border-radius: 1.2rem; +} +html .border-radius-10 { + border-radius: 1.2rem; +} +html .border-radius-8 { + border-radius: 1.2rem; +} + +html .MuiDialog-paperWidthSm { + margin: 0 5px; + overflow: hidden; + border-radius: 1rem; + background-color: transparent; + max-width: max-content; +} + +/* @media only screen and (max-width: 600px) { + html .MuiDialog-paperWidthSm { + width: 80%; + } +} */ + +html .MuiPagination-ul { + flex-wrap: nowrap; +} +.version-chip { + background-color: var(--bg-20); + color: var(--primary); + font-size: 1rem; + font-weight: 700; + border-radius: 7px; + display: inline-block; + padding: 0px 5px; + padding-top: 1px; +} +.type-chip { + background-color: var(--bg-14); + color: var(--text-1); + font-size: 1.1rem; + border-radius: 8px; + display: inline-block; + padding: 3px 6px; + width: fit-content; +} +.version-chip-wrapper { + position: absolute; + top: var(--asset-dim); + left: 50%; + transform: translateX(-50%); +} + +.grid { + display: grid; +} + +html .tooltip { + font-family: Relative Pro; + font-weight: 500; + font-size: 1.2rem; + background-color: rgb(21, 21, 32); + box-shadow: rgba(30, 30, 30, 0.25) 0px 14px 28px, + rgba(30, 30, 30, 0.22) 0px 10px 10px; + color: var(--text-1); + padding: 0.4rem 1.2rem; + line-height: 20px; + border-radius: 10px; + text-align: center; +} + +html .arrow:before { + background-color: rgb(21, 21, 32); + box-shadow: rgba(30, 30, 30, 0.25) 0px 14px 28px, + rgba(30, 30, 30, 0.22) 0px 10px 10px; +} + +.pg-tab { + transition: 100ms; +} + +.pg-tab--enter { + transform: translate(-100px, 0); + opacity: 0; +} + +.pg-tab--enter-active { + opacity: 1; + transform: translate(0, 0); +} + +.pg-tab--exit { + opacity: 0; + transform: translate(60%, 0); +} + +.right-text { + text-align: right; +} + +.toast--enter { + transform: rotateY(90deg) rotateX(45deg); +} + +.toast--enter-active { + transform: rotateY(0deg) rotateX(0deg); +} + +.toast--exit { + transform: rotateY(90deg) rotateX(45deg); + opacity: 0; + transform: translate(0, 300px); +} + +html .lc { + background-color: var(--bg-8); +} + +html .lc-m { + background-color: var(--bg-8); +} + +html .sxr { + border-radius: 6px; +} + +html .sr { + border-radius: 8px; +} + +html .xsr { + border-radius: 10px; +} + +html .xxsr { + border-radius: 12px; +} + +html .xxxsr { + border-radius: 14px; +} + +html .h2 { + height: 2rem; +} +html .height17 { + height: 1.7rem; +} +html .height20 { + height: 2rem; +} + +html .h25 { + height: 2.5rem; +} +html .h3 { + height: 3rem; +} +html .h35 { + height: 3.5rem; +} + +html .h4 { + height: 4rem; +} + +html .h5 { + height: 5rem; +} + +html .h6 { + height: 6rem; +} + +html .h7 { + height: 7rem; +} + +html .h8 { + height: 8rem; +} + +html .h9 { + height: 9rem; +} + +html .h10 { + height: 10rem; +} + +html .h11 { + height: 12rem; +} + +html .h12 { + height: 12rem; +} + +html .h13 { + height: 13rem; +} + +html .h14 { + height: 14rem; +} + +html .h15 { + height: 15rem; +} + +html .h16 { + height: 16rem; +} + +html .h17 { + height: 17rem; +} + +html .h18 { + height: 18rem; +} + +html .h19 { + height: 19rem; +} + +html .h20 { + height: 20rem; +} +html .h30 { + height: 30rem; +} +html .h40 { + height: 40rem; +} +html .height45 { + height: 4.5rem; +} + +html .hf { + height: 100%; +} + +html .width17 { + width: 1.7rem; +} +html .width20 { + width: 2rem; +} +html .width45 { + width: 4.5rem; +} +html .w2 { + width: 2rem; +} + +html .w3 { + width: 3rem; +} + +html .w4 { + width: 4rem; +} + +html .w5 { + width: 5rem; +} + +html .w6 { + width: 6rem; +} + +html .w7 { + width: 7rem; +} + +html .w8 { + width: 8rem; +} + +html .w9 { + width: 9rem; +} + +html .w10 { + width: 10rem; +} + +html .w11 { + width: 11rem; +} + +html .w12 { + width: 12rem; +} + +html .w13 { + width: 13rem; +} + +html .w14 { + width: 14rem; +} + +html .w15 { + width: 15rem; +} +html .w20 { + width: 20rem; +} +html .w30 { + width: 30rem; +} + +html .wf { + width: 100%; +} + +.rowgapxs { + row-gap: var(--xs); +} + +.gutterxxm { + column-gap: var(--xxm); + row-gap: var(--xxm); +} + +.table-grid { + display: grid; + grid-template-columns: auto auto; +} + +.dot-carousel { + position: relative; + left: -9999px; + width: 10px; + height: 10px; + border-radius: 5px; + background-color: var(--text-1); + color: var(--text-1); + box-shadow: 9984px 0 0 0 var(--text-1), 9999px 0 0 0 var(--text-1), + 10014px 0 0 0 var(--text-1); + animation: dotCarousel 1.5s infinite linear; +} + +@keyframes dotCarousel { + 0% { + box-shadow: 9984px 0 0 -1px var(--text-1), 9999px 0 0 1px var(--text-1), + 10014px 0 0 -1px var(--text-1); + } + + 50% { + box-shadow: 10014px 0 0 -1px var(--text-1), 9984px 0 0 -1px var(--text-1), + 9999px 0 0 1px var(--text-1); + } + + 100% { + box-shadow: 9999px 0 0 1px var(--text-1), 10014px 0 0 -1px var(--text-1), + 9984px 0 0 -1px var(--text-1); + } +} + +.snippet { + /* position: relative; */ + background: transparent; + width: 100%; + border-radius: 0.25rem; +} + +.stage { + height: 100%; + display: flex; + justify-content: center; + align-items: center; + /* position: relative; */ + /* overflow: hidden; */ +} + +.notif-text { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 1rem; + color: var(--text-1); +} + +.notif-container { + position: relative; + width: 1.6rem; + height: 1.6rem; + background-color: var(--primary); + border-radius: 50%; + margin-left: 8px; + font-size: 1rem; + margin-bottom: 0.2rem; +} + +.fit-height { + height: fit-content; +} + +.group:not:first-child { + background-color: #900; +} + +@keyframes full-width-anime { + from { + width: 0%; + } + + to { + width: 100%; + } +} + +.timer { + width: 24px; + height: 24px; + background-color: transparent; + box-shadow: inset 0px 0px 0px 2px var(--primary); + border-radius: 50%; + position: relative; + margin-right: 1rem; +} + +.timer:after, +.timer:before { + position: absolute; + content: ''; + background-color: var(--primary); +} + +.timer:after { + width: 10px; + height: 2px; + top: 11px; + left: 11px; + -webkit-transform-origin: 1px 1px; + -moz-transform-origin: 1px 1px; + transform-origin: 1px 1px; + -webkit-animation: minhand 2s linear infinite; + -moz-animation: minhand 2s linear infinite; + animation: minhand 2s linear infinite; +} + +.timer:before { + width: 8px; + height: 2px; + top: 11px; + left: 11px; + -webkit-transform-origin: 1px 1px; + -moz-transform-origin: 1px 1px; + transform-origin: 1px 1px; + -webkit-animation: hrhand 8s linear infinite; + -moz-animation: hrhand 8s linear infinite; + animation: hrhand 8s linear infinite; +} + +@keyframes minhand { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +@keyframes hrhand { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +.eye { + width: 20px; + height: 20px; + background-color: rgba(255, 255, 255, 0.8); + border-radius: 50%; + box-shadow: 30px 0px 0px 0px rgba(255, 255, 255, 0.8); + position: relative; + margin-right: 4.3rem; +} + +.eye:after { + background-color: var(--bg-1); + width: 10px; + height: 10px; + box-shadow: 30px 0px 0px 0px var(--bg-1); + border-radius: 50%; + left: 9px; + top: 8px; + position: absolute; + content: ''; + animation: eyeball 1s linear infinite alternate; +} + +@keyframes eyeball { + 0% { + left: 9px; + } + + 100% { + left: 1px; + } +} + +.typing_loader { + width: 6px; + height: 6px; + border-radius: 50%; + -webkit-animation: typing 1s linear infinite alternate; + -moz-animation: Typing 1s linear infinite alternate; + animation: typing 1s linear infinite alternate; + margin-right: 2.5rem; + margin-left: 0.5rem; + position: relative; + left: -12px; +} + +@keyframes typing { + 0% { + background-color: var(--text-1); + box-shadow: 12px 0px 0px 0px var(--dot-animation-2), + 24px 0px 0px 0px var(--dot-animation-2); + } + + 25% { + background-color: var(--dot-animation-3); + box-shadow: 12px 0px 0px 0px var(--dot-animation-4), + 24px 0px 0px 0px var(--dot-animation-2); + } + + 75% { + background-color: var(--dot-animation-3); + box-shadow: 12px 0px 0px 0px var(--dot-animation-2), + 24px 0px 0px 0px var(--text-1); + } +} + +.active-drawer { + margin-right: var(--drawer-width); +} + +@media (max-width: 1200px) { + .active-drawer { + margin-right: 0; + } +} + +.btn-loader { + height: 2.8rem; +} + +/* .mobile-drop-down { + display: none; +} */ + +@media (max-width: 1200px) { + /* .mobile-drop-down { + display: block; + } */ + .hide { + overflow: hidden; + } +} + +.toast-body { + display: flex; + padding: 0 3rem 3rem; + font-size: 1.4rem; + /* font-family: "Relative Pro"; */ + font-weight: 400; + color: var(--text-1); + justify-content: space-between; + background: var(--bg-19); +} + +.toast-body > button { + all: unset; + cursor: pointer; + border-radius: 12px; + background-color: var(--text-2); + color: var(--text-8); + padding: 0.5rem 1.7rem; + /* font-family: "Inter"; */ + font-size: 1.4rem; + font-weight: 600; + white-space: nowrap; + text-align: center; + max-height: 32px; +} + +.toast-body > button :hover { + cursor: pointer; +} + +.nav-link-sidebar { + font-size: 1.5rem; + margin-bottom: 2rem; +} + +.sidebar-text { + color: var(--text-6); +} + +.black-bg { + background-color: var(--bg-15) !important; +} + +.close-icon { + position: absolute; + top: 20px; + right: 20px; + color: var(--text-1); + font-size: 2.4rem; +} + +.MuiDrawer-paper { + width: 50% !important; + display: flex; + flex-direction: column; + align-items: center; + background-color: var(--bg-15) !important; +} + +.MuiButton-root { + font-family: 'Relative Pro'; + line-height: normal; +} + +html .launch { + padding: 0.5rem 1.5rem; + min-width: 14.1rem; +} + +/* #main-section { + margin-right: var(--drawer-width); +} */ +@media (max-width: 1200px) { + #main-section { + margin-right: 0; + } +} +html #main-section { + transition: 200ms ease; + padding-bottom: 4rem !important; + /* margin-right: 0; */ +} +@media (max-width: 600px) { + .mob-full-width { + width: 100%; + } +} + +/* @media (max-width: 1200px) { */ +#overlay { + z-index: 1600; + position: fixed; + width: 100vw; + height: 100vh; + top: 0; + bottom: 0; + right: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.4); +} + +#overlay:hover { + cursor: pointer; +} +/* } */ +.logo { + width: 2.4rem; + height: 2.4rem; +} +.rotate { + transform: rotateZ(180deg); +} +html .arrow { + grid-area: arrow; + font-size: 2rem; + width: 2rem; + height: 2rem; + transition: transform 0.2s ease-out; +} +.kpi_doc { + position: fixed; + right: 3rem; + bottom: 4rem; + z-index: 12000; + max-width: 33rem; +} + +.bgNotFound { + background-color: var(--bg-23-table-row); + border-radius: 1rem; +} + +.half-width { + width: 50%; +} + +html .transform-none { + transform: none; +} + +input[type='time']::-webkit-calendar-picker-indicator { + background: none !important; + pointer-events: none; +} +input[type='time'] { + margin-left: 2.6rem; +} +html .pagination-root { + color: white; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..1b23474 --- /dev/null +++ b/index.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Buffer + + +
+ + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..fdff87f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,15318 @@ +{ + "name": "buffer-frontend-react-app-v3", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "buffer-frontend-react-app-v3", + "version": "0.0.0", + "dependencies": { + "@emotion/react": "^11.10.5", + "@emotion/styled": "^11.10.5", + "@mui/icons-material": "^5.10.16", + "@mui/material": "^5.10.16", + "big.js": "^6.2.1", + "bn.js": "^5.2.0", + "dotenv": "^16.0.3", + "ethers": "^5.7.2", + "jotai": "^1.11.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.4.3", + "wagmi": "^0.10.11" + }, + "devDependencies": { + "@types/big.js": "^6.1.6", + "@types/react": "^18.0.24", + "@types/react-dom": "^18.0.8", + "@vitejs/plugin-react": "^2.2.0", + "autoprefixer": "^10.4.13", + "eslint": "8.32.0", + "postcss": "^8.4.19", + "prettier": "^2.8.3", + "tailwindcss": "^3.2.4", + "typescript": "^4.6.4", + "vite": "^3.2.3", + "vite-tsconfig-paths": "^3.6.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@coinbase/wallet-sdk": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.6.3.tgz", + "integrity": "sha512-XUR4poOJE+dKzwBTdlM693CdLFitr046oZOVY3iDnbFcRrrQswhbDji7q4CmUcD4HxbfViX7PFoIwl79YQcukg==", + "license": "Apache-2.0", + "dependencies": { + "@metamask/safe-event-emitter": "2.0.0", + "@solana/web3.js": "^1.70.1", + "bind-decorator": "^1.0.11", + "bn.js": "^5.1.1", + "buffer": "^6.0.3", + "clsx": "^1.1.0", + "eth-block-tracker": "4.4.3", + "eth-json-rpc-filters": "4.2.2", + "eth-rpc-errors": "4.0.2", + "json-rpc-engine": "6.1.0", + "keccak": "^3.0.1", + "preact": "^10.5.9", + "qs": "^6.10.3", + "rxjs": "^6.6.3", + "sha.js": "^2.4.11", + "stream-browserify": "^3.0.0", + "util": "^0.12.4" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@coinbase/wallet-sdk/node_modules/eth-rpc-errors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz", + "integrity": "sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==", + "license": "MIT", + "dependencies": { + "fast-safe-stringify": "^2.0.6" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@cush/relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cush/relative/-/relative-1.0.0.tgz", + "integrity": "sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz", + "integrity": "sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==", + "license": "MIT" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.8.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz", + "integrity": "sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.5", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==", + "license": "MIT" + }, + "node_modules/@emotion/styled": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz", + "integrity": "sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.5", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==", + "license": "MIT" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==", + "license": "MIT" + }, + "node_modules/@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT" + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "node_modules/@ethersproject/providers/node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@json-rpc-tools/provider": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz", + "integrity": "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==", + "license": "MIT", + "dependencies": { + "@json-rpc-tools/utils": "^1.7.6", + "axios": "^0.21.0", + "safe-json-utils": "^1.1.1", + "ws": "^7.4.0" + } + }, + "node_modules/@json-rpc-tools/types": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz", + "integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==", + "license": "MIT", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0" + } + }, + "node_modules/@json-rpc-tools/utils": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz", + "integrity": "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==", + "license": "MIT", + "dependencies": { + "@json-rpc-tools/types": "^1.7.6", + "@pedrouid/environment": "^1.0.1" + } + }, + "node_modules/@ledgerhq/connect-kit-loader": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.2.tgz", + "integrity": "sha512-TQ21IjcZOw/scqypaVFY3jHVqI7X7Hta3qN/us6FvTol3AY06UmrhhXGww0E9xHmAbdX241ddwXEiMBSQZFr9g==", + "license": "MIT" + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.0.0.tgz", + "integrity": "sha512-ic93MBXfApIFTrup4a70M/+ddD8xdt2zxxj9sRwHQzhS9ag/syqkD8JPdTXsc1gUy2K8TTirhlCqyTEM/sifNw==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit/reactive-element": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.1.tgz", + "integrity": "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@metamask/safe-event-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", + "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==", + "license": "ISC" + }, + "node_modules/@motionone/animation": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz", + "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==", + "license": "MIT", + "dependencies": { + "@motionone/easing": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/animation/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@motionone/dom": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.15.5.tgz", + "integrity": "sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA==", + "license": "MIT", + "dependencies": { + "@motionone/animation": "^10.15.1", + "@motionone/generators": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/dom/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@motionone/easing": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz", + "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==", + "license": "MIT", + "dependencies": { + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/easing/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@motionone/generators": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz", + "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==", + "license": "MIT", + "dependencies": { + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/generators/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@motionone/svelte": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.15.5.tgz", + "integrity": "sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg==", + "license": "MIT", + "dependencies": { + "@motionone/dom": "^10.15.5", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/svelte/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@motionone/types": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz", + "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==", + "license": "MIT" + }, + "node_modules/@motionone/utils": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz", + "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==", + "license": "MIT", + "dependencies": { + "@motionone/types": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/utils/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@motionone/vue": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.15.5.tgz", + "integrity": "sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw==", + "license": "MIT", + "dependencies": { + "@motionone/dom": "^10.15.5", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/vue/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@mui/base": { + "version": "5.0.0-alpha.108", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.108.tgz", + "integrity": "sha512-KjzRUts2i/ODlMfywhFTqTzQl+Cr9nlDSZxJcnYjrbOV/iRyQNBTDoiFJt+XEdRi0fZBHnk74AFbnP56ehybsA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.2", + "@mui/utils": "^5.10.16", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.16.tgz", + "integrity": "sha512-eK9+olw2ZbXX+vGrtKnN01/vLP1aX0Lq0xok35bqWM1aB93Dcmky/xPNf8h31oJ/C+IzJBjZaZMEDzVZg4Qc0A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + } + }, + "node_modules/@mui/icons-material": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.16.tgz", + "integrity": "sha512-jjCc0IF6iyLiucQCu5igg3fOscSqbbvRCmyRxXgzOcLR56B0sg2L8o+ZfJ0dAg59+wvgtXaxvjze/mJg0B4iWA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.16.tgz", + "integrity": "sha512-JSHcDQQ+k30NKkCM/0KX6jq4F5LOrbFKZpS+cEl7scZWOCJpUPH5ccAT5a7O8wzrgNZ8Y9PnwzNvWBrfShpJFw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@mui/base": "5.0.0-alpha.108", + "@mui/core-downloads-tracker": "^5.10.16", + "@mui/system": "^5.10.16", + "@mui/types": "^7.2.2", + "@mui/utils": "^5.10.16", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/private-theming": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.16.tgz", + "integrity": "sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@mui/utils": "^5.10.16", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.16.tgz", + "integrity": "sha512-ZMSjXvtiGwGDKqrSlXhpxK2voUaF2/lpC/pSTfFmZvKH9j9a9h1/iwo3ybgjFVYGgbfNeW4h0xEchiRohu9xsw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@emotion/cache": "^11.10.5", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.16.tgz", + "integrity": "sha512-OqI9B1jZ9zQ/dmoqseku4CzdEs9DbLiiMOaWxC3WeAJxM1UavlCgXz0encqm93LIlmSL7TjuHN1/rW8BJCnU8A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@mui/private-theming": "^5.10.16", + "@mui/styled-engine": "^5.10.16", + "@mui/types": "^7.2.2", + "@mui/utils": "^5.10.16", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.2.tgz", + "integrity": "sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.16.tgz", + "integrity": "sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0" + } + }, + "node_modules/@noble/ed25519": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.7.1.tgz", + "integrity": "sha512-Rk4SkJFaXZiznFyC/t77Q0NKS4FL7TLJJsVG2V2oiEq3kJVeTdxysEe/yRWSpnWMe808XRDJ+VFh5pt/FN5plw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" + }, + "node_modules/@noble/hashes": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz", + "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" + }, + "node_modules/@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pedrouid/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pedrouid/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==", + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@remix-run/router": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.3.tgz", + "integrity": "sha512-ceuyTSs7PZ/tQqi19YZNBc5X7kj1f8p+4DIyrcIYFY9h+hd1OKm4RqtiWldR9eGEvIiJfsqwM4BsuCtRIuEw6Q==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@solana/buffer-layout": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz", + "integrity": "sha512-lR0EMP2HC3+Mxwd4YcnZb0smnaDw7Bl2IQWZiTevRH5ZZBZn6VRWn3/92E3qdU4SSImJkA6IDHawOHAnx/qUvQ==", + "license": "MIT", + "dependencies": { + "buffer": "~6.0.3" + }, + "engines": { + "node": ">=5.10" + } + }, + "node_modules/@solana/web3.js": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.73.0.tgz", + "integrity": "sha512-YrgX3Py7ylh8NYkbanoINUPCj//bWUjYZ5/WPy9nQ9SK3Cl7QWCR+NmbDjmC/fTspZGR+VO9LTQslM++jr5PRw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@noble/ed25519": "^1.7.0", + "@noble/hashes": "^1.1.2", + "@noble/secp256k1": "^1.6.3", + "@solana/buffer-layout": "^4.0.0", + "agentkeepalive": "^4.2.1", + "bigint-buffer": "^1.1.5", + "bn.js": "^5.0.0", + "borsh": "^0.7.0", + "bs58": "^4.0.1", + "buffer": "6.0.1", + "fast-stable-stringify": "^1.0.0", + "jayson": "^3.4.4", + "node-fetch": "2", + "rpc-websockets": "^7.5.0", + "superstruct": "^0.14.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/@solana/web3.js/node_modules/buffer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.1.tgz", + "integrity": "sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/@stablelib/aead": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", + "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==", + "license": "MIT" + }, + "node_modules/@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "license": "MIT", + "dependencies": { + "@stablelib/int": "^1.0.1" + } + }, + "node_modules/@stablelib/bytes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", + "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==", + "license": "MIT" + }, + "node_modules/@stablelib/chacha": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", + "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/chacha20poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", + "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", + "license": "MIT", + "dependencies": { + "@stablelib/aead": "^1.0.1", + "@stablelib/binary": "^1.0.1", + "@stablelib/chacha": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/poly1305": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", + "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==", + "license": "MIT" + }, + "node_modules/@stablelib/ed25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", + "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", + "license": "MIT", + "dependencies": { + "@stablelib/random": "^1.0.2", + "@stablelib/sha512": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==", + "license": "MIT" + }, + "node_modules/@stablelib/hkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", + "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", + "license": "MIT", + "dependencies": { + "@stablelib/hash": "^1.0.1", + "@stablelib/hmac": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/hmac": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", + "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", + "license": "MIT", + "dependencies": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==", + "license": "MIT" + }, + "node_modules/@stablelib/keyagreement": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", + "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", + "license": "MIT", + "dependencies": { + "@stablelib/bytes": "^1.0.1" + } + }, + "node_modules/@stablelib/poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", + "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", + "license": "MIT", + "dependencies": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/sha256": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", + "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/sha512": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", + "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==", + "license": "MIT" + }, + "node_modules/@stablelib/x25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", + "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", + "license": "MIT", + "dependencies": { + "@stablelib/keyagreement": "^1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@tanstack/query-core": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.18.0.tgz", + "integrity": "sha512-PP4mG8MD08sq64RZCqMfXMYfaj7+Oulwg7xZ/fJoEOdTZNcPIgaOkHajZvUBsNLbi/0ViMvJB4cFkL2Jg2WPbw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/query-persist-client-core": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-4.18.0.tgz", + "integrity": "sha512-GZlZTQdW0MH0pTQv1T4JyOG4PO6xZA+OKUDRnYHjbG5hp6njouoxisaNV/zhGN9m6zpqb+mV+4tbz7WM42i0Vw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/query-core": "4.18.0" + } + }, + "node_modules/@tanstack/query-sync-storage-persister": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.18.0.tgz", + "integrity": "sha512-um2+3LuzHZDNKMWkfhVaiRw6GWTX7Lvk8ir9f2NoeAaRAMmLy7OgBWDlMkPqmGob7DjWK+DcNb8GcpqPt8H7fw==", + "license": "MIT", + "dependencies": { + "@tanstack/query-persist-client-core": "4.18.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.18.0.tgz", + "integrity": "sha512-s1kdbGMdVcfUIllzsHUqVUdktBT5uuIRgnvrqFNLjl9TSOXEoBSDrhjsGjao0INQZv8cMpQlgOh3YH9YtN6cKw==", + "license": "MIT", + "dependencies": { + "@tanstack/query-core": "4.18.0", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@tanstack/react-query-persist-client": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-4.18.0.tgz", + "integrity": "sha512-CMXPrrK4oEMhD5FS0LJSbp18j+Q/ob22T0hUINwhMJADsiijEabpVzxQ4NE8bmmOJ6YBJpKm1cIslJj7AxiF3A==", + "license": "MIT", + "dependencies": { + "@tanstack/query-persist-client-core": "4.18.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/react-query": "4.18.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "license": "MIT" + }, + "node_modules/@types/big.js": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-6.1.6.tgz", + "integrity": "sha512-0r9J+Zz9rYm2hOTwiMAVkm3XFQ4u5uTK37xrQMhc9bysn/sf/okzovWMYYIBMFTn/yrEZ11pusgLEaoarTlQbA==", + "dev": true + }, + "node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "18.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.10.tgz", + "integrity": "sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==", + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "license": "MIT" + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.0.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz", + "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.9", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz", + "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "license": "MIT" + }, + "node_modules/@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz", + "integrity": "sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-jsx": "^7.19.0", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.26.7", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^3.0.0" + } + }, + "node_modules/@wagmi/chains": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@wagmi/chains/-/chains-0.1.10.tgz", + "integrity": "sha512-UD6KFKGYOt049EoZfWYHqsV2eu8DikJgv5TQW6LoIIv4t1btIJsG8k79H5Di74VF+39M36PKkpcm0qj84TpaNQ==", + "funding": [ + { + "type": "gitcoin", + "url": "https://gitcoin.co/grants/4493/wagmi-react-hooks-library-for-ethereum" + }, + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "license": "MIT" + }, + "node_modules/@wagmi/connectors": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-0.1.8.tgz", + "integrity": "sha512-v5rK/RDkyTm+XQ7f+/Uh/YIqDdhzzo+K+wdKsvoghNs3kioFxBjtKnFy+9KILCXppjbglThNJyhg08g8Q9QqMQ==", + "funding": [ + { + "type": "gitcoin", + "url": "https://gitcoin.co/grants/4493/wagmi-react-hooks-library-for-ethereum" + }, + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "license": "MIT", + "dependencies": { + "@coinbase/wallet-sdk": "^3.5.4", + "@ledgerhq/connect-kit-loader": "^1.0.1", + "@walletconnect/ethereum-provider": "^1.8.0", + "@walletconnect/universal-provider": "^2.2.1", + "@web3modal/standalone": "^2.0.0-rc.2", + "abitype": "^0.1.8", + "eventemitter3": "^4.0.7" + }, + "peerDependencies": { + "@wagmi/core": "0.8.x", + "ethers": "^5.0.0" + }, + "peerDependenciesMeta": { + "@wagmi/core": { + "optional": true + } + } + }, + "node_modules/@wagmi/connectors/node_modules/abitype": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.1.8.tgz", + "integrity": "sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "license": "WAGMIT", + "engines": { + "pnpm": ">=7" + }, + "peerDependencies": { + "typescript": ">=4.7.4" + } + }, + "node_modules/@wagmi/core": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-0.8.15.tgz", + "integrity": "sha512-HTfLHNbTygxTG47Unae9HbmMkwZZvtAK9oMP9RmWwZup+LaiExxb7EF0TGJt7J4gtXnHDXPkwcx12lwRmc7YvA==", + "funding": [ + { + "type": "gitcoin", + "url": "https://gitcoin.co/grants/4493/wagmi-react-hooks-library-for-ethereum" + }, + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "license": "MIT", + "dependencies": { + "@wagmi/chains": "0.1.10", + "@wagmi/connectors": "0.1.8", + "abitype": "^0.2.5", + "eventemitter3": "^4.0.7", + "zustand": "^4.3.1" + }, + "peerDependencies": { + "@coinbase/wallet-sdk": ">=3.6.0", + "@walletconnect/ethereum-provider": ">=1.7.5", + "ethers": ">=5.5.1" + }, + "peerDependenciesMeta": { + "@coinbase/wallet-sdk": { + "optional": true + }, + "@walletconnect/ethereum-provider": { + "optional": true + } + } + }, + "node_modules/@walletconnect/browser-utils": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz", + "integrity": "sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/safe-json": "1.0.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/window-getters": "1.0.0", + "@walletconnect/window-metadata": "1.0.0", + "detect-browser": "5.2.0" + } + }, + "node_modules/@walletconnect/browser-utils/node_modules/@walletconnect/safe-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", + "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==", + "license": "MIT" + }, + "node_modules/@walletconnect/browser-utils/node_modules/@walletconnect/window-getters": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.0.tgz", + "integrity": "sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==", + "license": "MIT" + }, + "node_modules/@walletconnect/client": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.8.0.tgz", + "integrity": "sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/core": "^1.8.0", + "@walletconnect/iso-crypto": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "node_modules/@walletconnect/core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.8.0.tgz", + "integrity": "sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/socket-transport": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "node_modules/@walletconnect/crypto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz", + "integrity": "sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==", + "license": "MIT", + "dependencies": { + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "@walletconnect/randombytes": "^1.0.3", + "aes-js": "^3.1.2", + "hash.js": "^1.1.7", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/crypto/node_modules/aes-js": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", + "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==", + "license": "MIT" + }, + "node_modules/@walletconnect/encoding": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.2.tgz", + "integrity": "sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==", + "license": "MIT", + "dependencies": { + "is-typedarray": "1.0.0", + "tslib": "1.14.1", + "typedarray-to-buffer": "3.1.5" + } + }, + "node_modules/@walletconnect/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/ethereum-provider": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-1.8.0.tgz", + "integrity": "sha512-Nq9m+oo5P0F+njsROHw9KMWdoc/8iGHYzQdkjJN/1C7DtsqFRg5k5a3hd9rzCLpbPsOC1q8Z5lRs6JQgDvPm6Q==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/client": "^1.8.0", + "@walletconnect/jsonrpc-http-connection": "^1.0.2", + "@walletconnect/jsonrpc-provider": "^1.0.5", + "@walletconnect/signer-connection": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0", + "eip1193-provider": "1.0.1", + "eventemitter3": "4.0.7" + } + }, + "node_modules/@walletconnect/events": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", + "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", + "license": "MIT", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/heartbeat": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.0.tgz", + "integrity": "sha512-0vbzTa/ARrpmMmOD+bQMxPvFYKtOLQZObgZakrYr0aODiMOO71CmPVNV2eAqXnw9rMmcP+z91OybLeIFlwTjjA==", + "license": "MIT", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "chai": "^4.3.7", + "mocha": "^10.2.0", + "ts-node": "^10.9.1", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/iso-crypto": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz", + "integrity": "sha512-pWy19KCyitpfXb70hA73r9FcvklS+FvO9QUIttp3c2mfW8frxgYeRXfxLRCIQTkaYueRKvdqPjbyhPLam508XQ==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/crypto": "^1.0.2", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "node_modules/@walletconnect/jsonrpc-http-connection": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.4.tgz", + "integrity": "sha512-ji79pspdBhmIbTwve383tMaDu5Le9plW+oj5GE2aqzxIl3ib8JvRBZRn5lGEBGqVCvqB3MBJL7gBlEwpyRtoxQ==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "cross-fetch": "^3.1.4", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-provider": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.6.tgz", + "integrity": "sha512-f5vQxr53vUVQ51/9mRLb1OiNciT/546XZ68Byn9OYnDBGeGJXK2kQWDHp8sPWZbN5x0p7B6asdCWMVFJ6danlw==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz", + "integrity": "sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg==", + "license": "MIT", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.4.tgz", + "integrity": "sha512-y0+tDxcTZ9BHBBKBJbjZxLUXb+zQZCylf7y/jTvDPNx76J0hYYc+F9zHzyqBLeorSKepLTk6yI8hw3NXbAQB3g==", + "license": "MIT", + "dependencies": { + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.6.tgz", + "integrity": "sha512-WFu8uTXbIDgxFfyax9uNcqFYtexUq/OdCA3SBsOqIipsnJFbjXK8OaR8WCoec4tkJbDRQO9mrr1KpA0ZlIcnCQ==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "events": "^3.3.0", + "tslib": "1.14.1", + "ws": "^7.5.1" + } + }, + "node_modules/@walletconnect/keyvaluestorage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz", + "integrity": "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==", + "license": "MIT", + "dependencies": { + "safe-json-utils": "^1.1.1", + "tslib": "1.14.1" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x", + "lokijs": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + }, + "lokijs": { + "optional": true + } + } + }, + "node_modules/@walletconnect/logger": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz", + "integrity": "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==", + "license": "MIT", + "dependencies": { + "pino": "7.11.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/mobile-registry": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz", + "integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==", + "license": "MIT" + }, + "node_modules/@walletconnect/qrcode-modal": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz", + "integrity": "sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/browser-utils": "^1.8.0", + "@walletconnect/mobile-registry": "^1.4.0", + "@walletconnect/types": "^1.8.0", + "copy-to-clipboard": "^3.3.1", + "preact": "10.4.1", + "qrcode": "1.4.4" + } + }, + "node_modules/@walletconnect/qrcode-modal/node_modules/preact": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.4.1.tgz", + "integrity": "sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/@walletconnect/randombytes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.3.tgz", + "integrity": "sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==", + "license": "MIT", + "dependencies": { + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "randombytes": "^2.1.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/relay-api": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.7.tgz", + "integrity": "sha512-Mf/Ql7Z0waZzAuondHS9bbUi12Kyvl95ihxVDM7mPO8o7Ke7S1ffpujCUhXbSacSKcw9aV2+7bKADlsBjQLR5Q==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/relay-auth": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", + "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", + "license": "MIT", + "dependencies": { + "@stablelib/ed25519": "^1.0.2", + "@stablelib/random": "^1.0.1", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "tslib": "1.14.1", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/@walletconnect/relay-auth/node_modules/uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "license": "MIT", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@walletconnect/safe-json": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.1.tgz", + "integrity": "sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/sign-client": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.2.1.tgz", + "integrity": "sha512-oABkkYPU8tlN42U8ht3Um7bzwrRiUb2S74Y0rWjc3xfs76g6MLO5Ja4ER1jAhCcECs9tFf84wdNwLLhT77JoSg==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/core": "2.2.1", + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "^1.0.1", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.2.1", + "@walletconnect/utils": "2.2.1", + "events": "^3.3.0", + "pino": "7.11.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/core": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.2.1.tgz", + "integrity": "sha512-UoXohoIavMxj2iUOcnixY8uGl0sibJdGU6UX9zkke2Wgc2UKsvtkFZ/ZU3YG1XrIPWSpZ94lkhkNGstuRKz0wQ==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/heartbeat": "^1.0.1", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/jsonrpc-ws-connection": "^1.0.6", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/relay-auth": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.2.1", + "@walletconnect/utils": "2.2.1", + "events": "^3.3.0", + "lodash.isequal": "4.5.0", + "pino": "7.11.0", + "uint8arrays": "3.1.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/types": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.2.1.tgz", + "integrity": "sha512-97Ko6u6jC/B/7ymI2ddc+Hdn4x47Pkv0Y7IYHU0RD/J9878S5pJ2nQjDfWhvfDp1GWKgzHVDy6VHwaxDiLtkSw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.2.1.tgz", + "integrity": "sha512-DkjYcWMMBGznlyuenJkt1Z+IcPchhVbnYwMeQIZCu7gSbL9nUBsyzixfcWat5lapsBeGJDquhV63dU8pbkdhfg==", + "license": "Apache-2.0", + "dependencies": { + "@stablelib/chacha20poly1305": "1.0.1", + "@stablelib/hkdf": "1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/sha256": "1.0.1", + "@stablelib/x25519": "^1.0.3", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.2.1", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "uint8arrays": "3.1.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/window-metadata": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", + "license": "MIT", + "dependencies": { + "@walletconnect/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==", + "license": "MIT" + }, + "node_modules/@walletconnect/sign-client/node_modules/query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@walletconnect/signer-connection": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz", + "integrity": "sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/client": "^1.8.0", + "@walletconnect/jsonrpc-types": "^1.0.1", + "@walletconnect/jsonrpc-utils": "^1.0.3", + "@walletconnect/qrcode-modal": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "eventemitter3": "4.0.7" + } + }, + "node_modules/@walletconnect/socket-transport": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.8.0.tgz", + "integrity": "sha512-5DyIyWrzHXTcVp0Vd93zJ5XMW61iDM6bcWT4p8DTRfFsOtW46JquruMhxOLeCOieM4D73kcr3U7WtyR4JUsGuQ==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0", + "ws": "7.5.3" + } + }, + "node_modules/@walletconnect/socket-transport/node_modules/ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@walletconnect/time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", + "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/types": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz", + "integrity": "sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==", + "license": "Apache-2.0" + }, + "node_modules/@walletconnect/universal-provider": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.2.1.tgz", + "integrity": "sha512-6I4JxAZ5rC+UQCqsVjMlZ/EmYP7z16J7Kixqh1Iw7Ro7SnSfFeahUr80sctGs2vR7XF1ADzVyxmreJBriXdXDg==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/jsonrpc-http-connection": "^1.0.4", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/sign-client": "2.2.1", + "@walletconnect/types": "2.2.1", + "@walletconnect/utils": "2.2.1", + "eip1193-provider": "1.0.1", + "events": "^3.3.0", + "pino": "7.11.0" + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/types": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.2.1.tgz", + "integrity": "sha512-97Ko6u6jC/B/7ymI2ddc+Hdn4x47Pkv0Y7IYHU0RD/J9878S5pJ2nQjDfWhvfDp1GWKgzHVDy6VHwaxDiLtkSw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.2.1.tgz", + "integrity": "sha512-DkjYcWMMBGznlyuenJkt1Z+IcPchhVbnYwMeQIZCu7gSbL9nUBsyzixfcWat5lapsBeGJDquhV63dU8pbkdhfg==", + "license": "Apache-2.0", + "dependencies": { + "@stablelib/chacha20poly1305": "1.0.1", + "@stablelib/hkdf": "1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/sha256": "1.0.1", + "@stablelib/x25519": "^1.0.3", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.2.1", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "uint8arrays": "3.1.0" + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/window-metadata": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", + "license": "MIT", + "dependencies": { + "@walletconnect/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==", + "license": "MIT" + }, + "node_modules/@walletconnect/universal-provider/node_modules/query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@walletconnect/utils": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.8.0.tgz", + "integrity": "sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/browser-utils": "^1.8.0", + "@walletconnect/encoding": "^1.0.1", + "@walletconnect/jsonrpc-utils": "^1.0.3", + "@walletconnect/types": "^1.8.0", + "bn.js": "4.11.8", + "js-sha3": "0.8.0", + "query-string": "6.13.5" + } + }, + "node_modules/@walletconnect/utils/node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "license": "MIT" + }, + "node_modules/@walletconnect/window-getters": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/window-metadata": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz", + "integrity": "sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA==", + "license": "MIT", + "dependencies": { + "@walletconnect/window-getters": "^1.0.0" + } + }, + "node_modules/@web3modal/core": { + "version": "2.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@web3modal/core/-/core-2.0.0-rc.3.tgz", + "integrity": "sha512-5mTI8lb41P2lOvdB2eic6ckdh8DpTOvqR76up+s6W5nkRJ2nNL9ZoU2sVeJUGFdbQHUbK46yaZBm17zxXT0y2Q==", + "license": "Apache-2.0", + "dependencies": { + "buffer": "6.0.3", + "valtio": "1.8.2" + } + }, + "node_modules/@web3modal/standalone": { + "version": "2.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.0.0-rc.3.tgz", + "integrity": "sha512-ZrJ9Jml2e0eXXi5ZQVyFpPonRO7WEl91pMwe9gBI7nYGC5WeAqd6qoZe3qUnPLOif/gjNaKv/zrefFH/L7knzA==", + "license": "Apache-2.0", + "dependencies": { + "@web3modal/core": "2.0.0-rc.3", + "@web3modal/ui": "2.0.0-rc.3" + } + }, + "node_modules/@web3modal/ui": { + "version": "2.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@web3modal/ui/-/ui-2.0.0-rc.3.tgz", + "integrity": "sha512-AkIkOwaWzqBDVhUZGFGsQuGs0Xfnn2m5WPu+1LqTPcFmMGOr9jaUAGX30/0Vl79Ss3bSBS+Z3zB6OpOzzL7ctw==", + "license": "Apache-2.0", + "dependencies": { + "@web3modal/core": "2.0.0-rc.3", + "lit": "2.6.1", + "motion": "10.15.5", + "qrcode": "1.5.1" + } + }, + "node_modules/@web3modal/ui/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/@web3modal/ui/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@web3modal/ui/node_modules/qrcode": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz", + "integrity": "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@web3modal/ui/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/abitype": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.2.5.tgz", + "integrity": "sha512-t1iiokWYpkrziu4WL2Gb6YdGvaP9ZKs7WnA39TI8TsW2E99GVRgDPW/xOKhzoCdyxOYt550CNYEFluCwGaFHaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "license": "MIT", + "engines": { + "pnpm": ">=7" + }, + "peerDependencies": { + "typescript": ">=4.7.4", + "zod": ">=3.19.1" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "license": "MIT" + }, + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/async-mutex": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz", + "integrity": "sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + } + }, + "node_modules/async-mutex/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", + "license": "MIT" + }, + "node_modules/big.js": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz", + "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bigjs" + } + }, + "node_modules/bigint-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz", + "integrity": "sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "bindings": "^1.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/bind-decorator": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/bind-decorator/-/bind-decorator-1.0.11.tgz", + "integrity": "sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg==", + "license": "MIT" + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "license": "MIT" + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "license": "MIT" + }, + "node_modules/borsh": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz", + "integrity": "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==", + "license": "Apache-2.0", + "dependencies": { + "bn.js": "^5.2.0", + "bs58": "^4.0.0", + "text-encoding-utf-8": "^1.0.2" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "license": "MIT" + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "license": "ISC" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "license": "MIT", + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "license": "MIT", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "license": "MIT" + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "license": "MIT" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "license": "MIT" + }, + "node_modules/bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001435", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz", + "integrity": "sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "license": "MIT", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "license": "MIT" + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "license": "MIT", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "license": "MIT", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/detect-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.2.0.tgz", + "integrity": "sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA==", + "license": "MIT" + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", + "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==", + "license": "MIT" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/eip1193-provider": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eip1193-provider/-/eip1193-provider-1.0.1.tgz", + "integrity": "sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==", + "license": "MIT", + "dependencies": { + "@json-rpc-tools/provider": "^1.5.5" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "license": "ISC" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "license": "MIT" + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "license": "MIT", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/esbuild": { + "version": "0.15.16", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.16.tgz", + "integrity": "sha512-o6iS9zxdHrrojjlj6pNGC2NAg86ECZqIETswTM5KmJitq+R1YmahhWtMumeQp9lHqJaROGnsBi2RLawGnfo5ZQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.16", + "@esbuild/linux-loong64": "0.15.16", + "esbuild-android-64": "0.15.16", + "esbuild-android-arm64": "0.15.16", + "esbuild-darwin-64": "0.15.16", + "esbuild-darwin-arm64": "0.15.16", + "esbuild-freebsd-64": "0.15.16", + "esbuild-freebsd-arm64": "0.15.16", + "esbuild-linux-32": "0.15.16", + "esbuild-linux-64": "0.15.16", + "esbuild-linux-arm": "0.15.16", + "esbuild-linux-arm64": "0.15.16", + "esbuild-linux-mips64le": "0.15.16", + "esbuild-linux-ppc64le": "0.15.16", + "esbuild-linux-riscv64": "0.15.16", + "esbuild-linux-s390x": "0.15.16", + "esbuild-netbsd-64": "0.15.16", + "esbuild-openbsd-64": "0.15.16", + "esbuild-sunos-64": "0.15.16", + "esbuild-windows-32": "0.15.16", + "esbuild-windows-64": "0.15.16", + "esbuild-windows-arm64": "0.15.16" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.16", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz", + "integrity": "sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", + "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eth-block-tracker": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", + "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-runtime": "^7.5.5", + "@babel/runtime": "^7.5.5", + "eth-query": "^2.1.0", + "json-rpc-random-id": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "node_modules/eth-json-rpc-filters": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz", + "integrity": "sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw==", + "license": "ISC", + "dependencies": { + "@metamask/safe-event-emitter": "^2.0.0", + "async-mutex": "^0.2.6", + "eth-json-rpc-middleware": "^6.0.0", + "eth-query": "^2.1.2", + "json-rpc-engine": "^6.1.0", + "pify": "^5.0.0" + } + }, + "node_modules/eth-json-rpc-filters/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eth-json-rpc-middleware": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz", + "integrity": "sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ==", + "license": "ISC", + "dependencies": { + "btoa": "^1.2.1", + "clone": "^2.1.1", + "eth-query": "^2.1.2", + "eth-rpc-errors": "^3.0.0", + "eth-sig-util": "^1.4.2", + "ethereumjs-util": "^5.1.2", + "json-rpc-engine": "^5.3.0", + "json-stable-stringify": "^1.0.1", + "node-fetch": "^2.6.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "node_modules/eth-json-rpc-middleware/node_modules/json-rpc-engine": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", + "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", + "license": "ISC", + "dependencies": { + "eth-rpc-errors": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "node_modules/eth-query": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", + "integrity": "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==", + "license": "ISC", + "dependencies": { + "json-rpc-random-id": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "node_modules/eth-rpc-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz", + "integrity": "sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==", + "license": "MIT", + "dependencies": { + "fast-safe-stringify": "^2.0.6" + } + }, + "node_modules/eth-sig-util": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", + "integrity": "sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw==", + "license": "ISC", + "dependencies": { + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "ethereumjs-util": "^5.1.1" + } + }, + "node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/ethereumjs-abi": { + "version": "0.6.8", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ethereumjs-abi/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "license": "MPL-2.0", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "license": "MPL-2.0", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "license": "MIT", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", + "engines": { + "node": "> 0.1.90" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-redact": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", + "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, + "node_modules/fast-stable-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz", + "integrity": "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "license": "MIT" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-regex": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/glob-regex/-/glob-regex-0.3.2.tgz", + "integrity": "sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==", + "dev": true + }, + "node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true, + "license": "MIT" + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==", + "license": "MIT" + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "license": "MIT", + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/jayson": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.7.0.tgz", + "integrity": "sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==", + "license": "MIT", + "dependencies": { + "@types/connect": "^3.4.33", + "@types/node": "^12.12.54", + "@types/ws": "^7.4.4", + "commander": "^2.20.3", + "delay": "^5.0.0", + "es6-promisify": "^5.0.0", + "eyes": "^0.1.8", + "isomorphic-ws": "^4.0.1", + "json-stringify-safe": "^5.0.1", + "JSONStream": "^1.3.5", + "lodash": "^4.17.20", + "uuid": "^8.3.2", + "ws": "^7.4.5" + }, + "bin": { + "jayson": "bin/jayson.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jayson/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "license": "MIT" + }, + "node_modules/jayson/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/jotai": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/jotai/-/jotai-1.11.0.tgz", + "integrity": "sha512-8OzJmRxcTZoAOJSz6uTnmofmjAOgNOdAOy26rvyw3OBxt6XIoklNnfUTCm8wgp84SSLJbPZA01VS5O/SUz+QYg==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@babel/core": "*", + "@babel/template": "*", + "jotai-immer": "*", + "jotai-optics": "*", + "jotai-redux": "*", + "jotai-tanstack-query": "*", + "jotai-urql": "*", + "jotai-valtio": "*", + "jotai-xstate": "*", + "jotai-zustand": "*", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@babel/template": { + "optional": true + }, + "jotai-immer": { + "optional": true + }, + "jotai-optics": { + "optional": true + }, + "jotai-redux": { + "optional": true + }, + "jotai-tanstack-query": { + "optional": true + }, + "jotai-urql": { + "optional": true + }, + "jotai-valtio": { + "optional": true + }, + "jotai-xstate": { + "optional": true + }, + "jotai-zustand": { + "optional": true + } + } + }, + "node_modules/js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-rpc-engine": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", + "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", + "license": "ISC", + "dependencies": { + "@metamask/safe-event-emitter": "^2.0.0", + "eth-rpc-errors": "^4.0.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/json-rpc-engine/node_modules/eth-rpc-errors": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", + "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", + "license": "MIT", + "dependencies": { + "fast-safe-stringify": "^2.0.6" + } + }, + "node_modules/json-rpc-random-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", + "integrity": "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==", + "license": "ISC" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", + "license": "MIT", + "dependencies": { + "jsonify": "^0.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "license": "ISC" + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "license": "Public Domain", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/keyvaluestorage-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", + "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==", + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/lit": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", + "integrity": "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.2.0", + "lit-html": "^2.6.0" + } + }, + "node_modules/lit-element": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.2.tgz", + "integrity": "sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.2.0" + } + }, + "node_modules/lit-html": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.6.1.tgz", + "integrity": "sha512-Z3iw+E+3KKFn9t2YKNjsXNEu/LRLI98mtH/C6lnFg7kvaqPIzPn124Yd4eT/43lyqrejpc5Wb6BHq3fdv4S8Rw==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "license": "ISC" + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/mocha/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/motion": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/motion/-/motion-10.15.5.tgz", + "integrity": "sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw==", + "license": "MIT", + "dependencies": { + "@motionone/animation": "^10.15.1", + "@motionone/dom": "^10.15.5", + "@motionone/svelte": "^10.15.5", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "@motionone/vue": "^10.15.5" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", + "license": "(Apache-2.0 AND MIT)" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-exit-leak-free": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", + "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==", + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "license": "MIT", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pino": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", + "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.0.0", + "on-exit-leak-free": "^0.2.0", + "pino-abstract-transport": "v0.5.0", + "pino-std-serializers": "^4.0.0", + "process-warning": "^1.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.1.0", + "safe-stable-stringify": "^2.1.0", + "sonic-boom": "^2.2.1", + "thread-stream": "^0.15.1" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "license": "MIT", + "dependencies": { + "duplexify": "^4.1.2", + "split2": "^4.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==", + "license": "MIT" + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss": { + "version": "8.4.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", + "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/preact": { + "version": "10.11.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz", + "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==", + "license": "MIT" + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/proxy-compare": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.4.0.tgz", + "integrity": "sha512-FD8KmQUQD6Mfpd0hywCOzcon/dbkFP8XBd9F1ycbKtvVsfv6TsFUKJ2eC0Iz2y+KzlkdT1Z8SY6ZSgm07zOyqg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", + "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", + "license": "MIT", + "dependencies": { + "buffer": "^5.4.3", + "buffer-alloc": "^1.2.0", + "buffer-from": "^1.1.1", + "dijkstrajs": "^1.0.1", + "isarray": "^2.0.1", + "pngjs": "^3.3.0", + "yargs": "^13.2.4" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "6.13.5", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.5.tgz", + "integrity": "sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.3.tgz", + "integrity": "sha512-BT6DoGn6aV1FVP5yfODMOiieakp3z46P1Fk0RNzJMACzE7C339sFuHebfvWtnB4pzBvXXkHP2vscJzWRuUjTtA==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.0.3" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.3.tgz", + "integrity": "sha512-MiaYQU8CwVCaOfJdYvt84KQNjT78VF0TJrA17SIQgNHRvLnXDJO6qsFqq8F/zzB1BWZjCFIrQpu4QxcshitziQ==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.0.3", + "react-router": "6.4.3" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/real-require": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", + "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/recrawl-sync": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recrawl-sync/-/recrawl-sync-2.2.3.tgz", + "integrity": "sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cush/relative": "^1.0.0", + "glob-regex": "^0.3.0", + "slash": "^3.0.0", + "sucrase": "^3.20.3", + "tslib": "^1.9.3" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "license": "MPL-2.0", + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rpc-websockets": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.5.0.tgz", + "integrity": "sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ==", + "license": "LGPL-3.0-only", + "dependencies": { + "@babel/runtime": "^7.17.2", + "eventemitter3": "^4.0.7", + "uuid": "^8.3.2", + "ws": "^8.5.0" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/kozjak" + }, + "optionalDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + } + }, + "node_modules/rpc-websockets/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-event-emitter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", + "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", + "license": "ISC", + "dependencies": { + "events": "^3.0.0" + } + }, + "node_modules/safe-json-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz", + "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==", + "license": "MIT" + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", + "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "license": "MIT" + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sonic-boom": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", + "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true, + "license": "MIT" + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/split2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", + "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "license": "MIT" + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "license": "MIT", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==", + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.29.0.tgz", + "integrity": "sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/superstruct": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz", + "integrity": "sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", + "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.18", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/text-encoding-utf-8": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz", + "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thread-stream": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", + "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", + "license": "MIT", + "dependencies": { + "real-require": "^0.1.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "license": "MIT" + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "license": "MIT" + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tsconfig-paths": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.1.1.tgz", + "integrity": "sha512-VgPrtLKpRgEAJsMj5Q/I/mXouC6A/7eJ/X4Nuk6o0cRPwBtznYxTCU4FodbexbzH9somBPEXYi0ZkUViUpJ21Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uint8arrays": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", + "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", + "license": "MIT", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "license": "MIT" + }, + "node_modules/valtio": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.8.2.tgz", + "integrity": "sha512-ypFWPi3aY04tojWAFPbTYBDw5iFaCDbKAJ2XqhmY2XOSorNtaCZJNg++FSssv8gMJwmPXfrU/RjncQtsoOHbUg==", + "license": "MIT", + "dependencies": { + "proxy-compare": "2.4.0", + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + }, + "node_modules/vite": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.4.tgz", + "integrity": "sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.15.9", + "postcss": "^8.4.18", + "resolve": "^1.22.1", + "rollup": "^2.79.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-3.6.0.tgz", + "integrity": "sha512-UfsPYonxLqPD633X8cWcPFVuYzx/CMNHAjZTasYwX69sXpa4gNmQkR0XCjj82h7zhLGdTWagMjC1qfb9S+zv0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "recrawl-sync": "^2.0.3", + "tsconfig-paths": "^4.0.0" + }, + "peerDependencies": { + "vite": ">2.0.0-0" + } + }, + "node_modules/wagmi": { + "version": "0.10.11", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-0.10.11.tgz", + "integrity": "sha512-LvXh3XmJRw2bJ5ziUr5EbccDdWi8kmuf5+cQZ1gM0X2oM5KJLPZiwNbEbxTrJ3yMQPffTud0zwV2M6qUSUgOgQ==", + "funding": [ + { + "type": "gitcoin", + "url": "https://gitcoin.co/grants/4493/wagmi-react-hooks-library-for-ethereum" + }, + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "license": "MIT", + "dependencies": { + "@coinbase/wallet-sdk": "^3.6.0", + "@tanstack/query-sync-storage-persister": "^4.14.5", + "@tanstack/react-query": "^4.14.5", + "@tanstack/react-query-persist-client": "^4.14.5", + "@wagmi/core": "0.8.15", + "@walletconnect/ethereum-provider": "^1.8.0", + "abitype": "^0.2.5", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "ethers": ">=5.5.1", + "react": ">=17.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "license": "ISC" + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "license": "Apache-2.0" + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "license": "MIT", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zustand": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.3.2.tgz", + "integrity": "sha512-rd4haDmlwMTVWVqwvgy00ny8rtti/klRoZjFbL/MAcDnmD5qSw/RZc+Vddstdv90M5Lv6RPgWvm1Hivyn0QgJw==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "immer": ">=9.0", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==" + }, + "@babel/core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "requires": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "requires": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + }, + "@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==" + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + } + }, + "@babel/runtime": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + } + } + }, + "@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@coinbase/wallet-sdk": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.6.3.tgz", + "integrity": "sha512-XUR4poOJE+dKzwBTdlM693CdLFitr046oZOVY3iDnbFcRrrQswhbDji7q4CmUcD4HxbfViX7PFoIwl79YQcukg==", + "requires": { + "@metamask/safe-event-emitter": "2.0.0", + "@solana/web3.js": "^1.70.1", + "bind-decorator": "^1.0.11", + "bn.js": "^5.1.1", + "buffer": "^6.0.3", + "clsx": "^1.1.0", + "eth-block-tracker": "4.4.3", + "eth-json-rpc-filters": "4.2.2", + "eth-rpc-errors": "4.0.2", + "json-rpc-engine": "6.1.0", + "keccak": "^3.0.1", + "preact": "^10.5.9", + "qs": "^6.10.3", + "rxjs": "^6.6.3", + "sha.js": "^2.4.11", + "stream-browserify": "^3.0.0", + "util": "^0.12.4" + }, + "dependencies": { + "eth-rpc-errors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz", + "integrity": "sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==", + "requires": { + "fast-safe-stringify": "^2.0.6" + } + } + } + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@cush/relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cush/relative/-/relative-1.0.0.tgz", + "integrity": "sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==", + "dev": true + }, + "@emotion/babel-plugin": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz", + "integrity": "sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + } + }, + "@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "requires": { + "@emotion/memoize": "^0.8.0" + } + }, + "@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "@emotion/react": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz", + "integrity": "sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.5", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "requires": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "@emotion/styled": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz", + "integrity": "sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.5", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + } + }, + "@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "requires": {} + }, + "@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "requires": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" + }, + "@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + }, + "dependencies": { + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "requires": {} + } + } + }, + "@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "requires": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@json-rpc-tools/provider": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz", + "integrity": "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==", + "requires": { + "@json-rpc-tools/utils": "^1.7.6", + "axios": "^0.21.0", + "safe-json-utils": "^1.1.1", + "ws": "^7.4.0" + } + }, + "@json-rpc-tools/types": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz", + "integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==", + "requires": { + "keyvaluestorage-interface": "^1.0.0" + } + }, + "@json-rpc-tools/utils": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz", + "integrity": "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==", + "requires": { + "@json-rpc-tools/types": "^1.7.6", + "@pedrouid/environment": "^1.0.1" + } + }, + "@ledgerhq/connect-kit-loader": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.2.tgz", + "integrity": "sha512-TQ21IjcZOw/scqypaVFY3jHVqI7X7Hta3qN/us6FvTol3AY06UmrhhXGww0E9xHmAbdX241ddwXEiMBSQZFr9g==" + }, + "@lit-labs/ssr-dom-shim": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.0.0.tgz", + "integrity": "sha512-ic93MBXfApIFTrup4a70M/+ddD8xdt2zxxj9sRwHQzhS9ag/syqkD8JPdTXsc1gUy2K8TTirhlCqyTEM/sifNw==" + }, + "@lit/reactive-element": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.1.tgz", + "integrity": "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==", + "requires": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "@metamask/safe-event-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", + "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" + }, + "@motionone/animation": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz", + "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==", + "requires": { + "@motionone/easing": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/dom": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.15.5.tgz", + "integrity": "sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA==", + "requires": { + "@motionone/animation": "^10.15.1", + "@motionone/generators": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/easing": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz", + "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==", + "requires": { + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/generators": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz", + "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==", + "requires": { + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/svelte": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.15.5.tgz", + "integrity": "sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg==", + "requires": { + "@motionone/dom": "^10.15.5", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/types": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz", + "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==" + }, + "@motionone/utils": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz", + "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==", + "requires": { + "@motionone/types": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/vue": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.15.5.tgz", + "integrity": "sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw==", + "requires": { + "@motionone/dom": "^10.15.5", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@mui/base": { + "version": "5.0.0-alpha.108", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.108.tgz", + "integrity": "sha512-KjzRUts2i/ODlMfywhFTqTzQl+Cr9nlDSZxJcnYjrbOV/iRyQNBTDoiFJt+XEdRi0fZBHnk74AFbnP56ehybsA==", + "requires": { + "@babel/runtime": "^7.20.1", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.2", + "@mui/utils": "^5.10.16", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + } + }, + "@mui/core-downloads-tracker": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.16.tgz", + "integrity": "sha512-eK9+olw2ZbXX+vGrtKnN01/vLP1aX0Lq0xok35bqWM1aB93Dcmky/xPNf8h31oJ/C+IzJBjZaZMEDzVZg4Qc0A==" + }, + "@mui/icons-material": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.16.tgz", + "integrity": "sha512-jjCc0IF6iyLiucQCu5igg3fOscSqbbvRCmyRxXgzOcLR56B0sg2L8o+ZfJ0dAg59+wvgtXaxvjze/mJg0B4iWA==", + "requires": { + "@babel/runtime": "^7.20.1" + } + }, + "@mui/material": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.16.tgz", + "integrity": "sha512-JSHcDQQ+k30NKkCM/0KX6jq4F5LOrbFKZpS+cEl7scZWOCJpUPH5ccAT5a7O8wzrgNZ8Y9PnwzNvWBrfShpJFw==", + "requires": { + "@babel/runtime": "^7.20.1", + "@mui/base": "5.0.0-alpha.108", + "@mui/core-downloads-tracker": "^5.10.16", + "@mui/system": "^5.10.16", + "@mui/types": "^7.2.2", + "@mui/utils": "^5.10.16", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + } + }, + "@mui/private-theming": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.16.tgz", + "integrity": "sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg==", + "requires": { + "@babel/runtime": "^7.20.1", + "@mui/utils": "^5.10.16", + "prop-types": "^15.8.1" + } + }, + "@mui/styled-engine": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.16.tgz", + "integrity": "sha512-ZMSjXvtiGwGDKqrSlXhpxK2voUaF2/lpC/pSTfFmZvKH9j9a9h1/iwo3ybgjFVYGgbfNeW4h0xEchiRohu9xsw==", + "requires": { + "@babel/runtime": "^7.20.1", + "@emotion/cache": "^11.10.5", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/system": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.16.tgz", + "integrity": "sha512-OqI9B1jZ9zQ/dmoqseku4CzdEs9DbLiiMOaWxC3WeAJxM1UavlCgXz0encqm93LIlmSL7TjuHN1/rW8BJCnU8A==", + "requires": { + "@babel/runtime": "^7.20.1", + "@mui/private-theming": "^5.10.16", + "@mui/styled-engine": "^5.10.16", + "@mui/types": "^7.2.2", + "@mui/utils": "^5.10.16", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.2.tgz", + "integrity": "sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA==", + "requires": {} + }, + "@mui/utils": { + "version": "5.10.16", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.16.tgz", + "integrity": "sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ==", + "requires": { + "@babel/runtime": "^7.20.1", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + } + }, + "@noble/ed25519": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.7.1.tgz", + "integrity": "sha512-Rk4SkJFaXZiznFyC/t77Q0NKS4FL7TLJJsVG2V2oiEq3kJVeTdxysEe/yRWSpnWMe808XRDJ+VFh5pt/FN5plw==" + }, + "@noble/hashes": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz", + "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==" + }, + "@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pedrouid/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pedrouid/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==" + }, + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + }, + "@remix-run/router": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.3.tgz", + "integrity": "sha512-ceuyTSs7PZ/tQqi19YZNBc5X7kj1f8p+4DIyrcIYFY9h+hd1OKm4RqtiWldR9eGEvIiJfsqwM4BsuCtRIuEw6Q==" + }, + "@solana/buffer-layout": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz", + "integrity": "sha512-lR0EMP2HC3+Mxwd4YcnZb0smnaDw7Bl2IQWZiTevRH5ZZBZn6VRWn3/92E3qdU4SSImJkA6IDHawOHAnx/qUvQ==", + "requires": { + "buffer": "~6.0.3" + } + }, + "@solana/web3.js": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.73.0.tgz", + "integrity": "sha512-YrgX3Py7ylh8NYkbanoINUPCj//bWUjYZ5/WPy9nQ9SK3Cl7QWCR+NmbDjmC/fTspZGR+VO9LTQslM++jr5PRw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@noble/ed25519": "^1.7.0", + "@noble/hashes": "^1.1.2", + "@noble/secp256k1": "^1.6.3", + "@solana/buffer-layout": "^4.0.0", + "agentkeepalive": "^4.2.1", + "bigint-buffer": "^1.1.5", + "bn.js": "^5.0.0", + "borsh": "^0.7.0", + "bs58": "^4.0.1", + "buffer": "6.0.1", + "fast-stable-stringify": "^1.0.0", + "jayson": "^3.4.4", + "node-fetch": "2", + "rpc-websockets": "^7.5.0", + "superstruct": "^0.14.2" + }, + "dependencies": { + "buffer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.1.tgz", + "integrity": "sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } + } + }, + "@stablelib/aead": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", + "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" + }, + "@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "requires": { + "@stablelib/int": "^1.0.1" + } + }, + "@stablelib/bytes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", + "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" + }, + "@stablelib/chacha": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", + "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/chacha20poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", + "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", + "requires": { + "@stablelib/aead": "^1.0.1", + "@stablelib/binary": "^1.0.1", + "@stablelib/chacha": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/poly1305": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", + "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" + }, + "@stablelib/ed25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", + "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", + "requires": { + "@stablelib/random": "^1.0.2", + "@stablelib/sha512": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" + }, + "@stablelib/hkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", + "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", + "requires": { + "@stablelib/hash": "^1.0.1", + "@stablelib/hmac": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/hmac": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", + "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", + "requires": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "@stablelib/keyagreement": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", + "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", + "requires": { + "@stablelib/bytes": "^1.0.1" + } + }, + "@stablelib/poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", + "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", + "requires": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/sha256": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", + "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/sha512": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", + "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, + "@stablelib/x25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", + "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", + "requires": { + "@stablelib/keyagreement": "^1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/wipe": "^1.0.1" + } + }, + "@tanstack/query-core": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.18.0.tgz", + "integrity": "sha512-PP4mG8MD08sq64RZCqMfXMYfaj7+Oulwg7xZ/fJoEOdTZNcPIgaOkHajZvUBsNLbi/0ViMvJB4cFkL2Jg2WPbw==" + }, + "@tanstack/query-persist-client-core": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-4.18.0.tgz", + "integrity": "sha512-GZlZTQdW0MH0pTQv1T4JyOG4PO6xZA+OKUDRnYHjbG5hp6njouoxisaNV/zhGN9m6zpqb+mV+4tbz7WM42i0Vw==", + "requires": {} + }, + "@tanstack/query-sync-storage-persister": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.18.0.tgz", + "integrity": "sha512-um2+3LuzHZDNKMWkfhVaiRw6GWTX7Lvk8ir9f2NoeAaRAMmLy7OgBWDlMkPqmGob7DjWK+DcNb8GcpqPt8H7fw==", + "requires": { + "@tanstack/query-persist-client-core": "4.18.0" + } + }, + "@tanstack/react-query": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.18.0.tgz", + "integrity": "sha512-s1kdbGMdVcfUIllzsHUqVUdktBT5uuIRgnvrqFNLjl9TSOXEoBSDrhjsGjao0INQZv8cMpQlgOh3YH9YtN6cKw==", + "requires": { + "@tanstack/query-core": "4.18.0", + "use-sync-external-store": "^1.2.0" + } + }, + "@tanstack/react-query-persist-client": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-4.18.0.tgz", + "integrity": "sha512-CMXPrrK4oEMhD5FS0LJSbp18j+Q/ob22T0hUINwhMJADsiijEabpVzxQ4NE8bmmOJ6YBJpKm1cIslJj7AxiF3A==", + "requires": { + "@tanstack/query-persist-client-core": "4.18.0" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" + }, + "@types/big.js": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-6.1.6.tgz", + "integrity": "sha512-0r9J+Zz9rYm2hOTwiMAVkm3XFQ4u5uTK37xrQMhc9bysn/sf/okzovWMYYIBMFTn/yrEZ11pusgLEaoarTlQbA==", + "dev": true + }, + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "18.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.10.tgz", + "integrity": "sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.0.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz", + "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.9", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz", + "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "requires": { + "@types/node": "*" + } + }, + "@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, + "@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "requires": { + "@types/node": "*" + } + }, + "@vitejs/plugin-react": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz", + "integrity": "sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==", + "dev": true, + "requires": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-jsx": "^7.19.0", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.26.7", + "react-refresh": "^0.14.0" + } + }, + "@wagmi/chains": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@wagmi/chains/-/chains-0.1.10.tgz", + "integrity": "sha512-UD6KFKGYOt049EoZfWYHqsV2eu8DikJgv5TQW6LoIIv4t1btIJsG8k79H5Di74VF+39M36PKkpcm0qj84TpaNQ==" + }, + "@wagmi/connectors": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-0.1.8.tgz", + "integrity": "sha512-v5rK/RDkyTm+XQ7f+/Uh/YIqDdhzzo+K+wdKsvoghNs3kioFxBjtKnFy+9KILCXppjbglThNJyhg08g8Q9QqMQ==", + "requires": { + "@coinbase/wallet-sdk": "^3.5.4", + "@ledgerhq/connect-kit-loader": "^1.0.1", + "@walletconnect/ethereum-provider": "^1.8.0", + "@walletconnect/universal-provider": "^2.2.1", + "@web3modal/standalone": "^2.0.0-rc.2", + "abitype": "^0.1.8", + "eventemitter3": "^4.0.7" + }, + "dependencies": { + "abitype": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.1.8.tgz", + "integrity": "sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ==", + "requires": {} + } + } + }, + "@wagmi/core": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-0.8.15.tgz", + "integrity": "sha512-HTfLHNbTygxTG47Unae9HbmMkwZZvtAK9oMP9RmWwZup+LaiExxb7EF0TGJt7J4gtXnHDXPkwcx12lwRmc7YvA==", + "requires": { + "@wagmi/chains": "0.1.10", + "@wagmi/connectors": "0.1.8", + "abitype": "^0.2.5", + "eventemitter3": "^4.0.7", + "zustand": "^4.3.1" + } + }, + "@walletconnect/browser-utils": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz", + "integrity": "sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A==", + "requires": { + "@walletconnect/safe-json": "1.0.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/window-getters": "1.0.0", + "@walletconnect/window-metadata": "1.0.0", + "detect-browser": "5.2.0" + }, + "dependencies": { + "@walletconnect/safe-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", + "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" + }, + "@walletconnect/window-getters": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.0.tgz", + "integrity": "sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==" + } + } + }, + "@walletconnect/client": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.8.0.tgz", + "integrity": "sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ==", + "requires": { + "@walletconnect/core": "^1.8.0", + "@walletconnect/iso-crypto": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "@walletconnect/core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.8.0.tgz", + "integrity": "sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw==", + "requires": { + "@walletconnect/socket-transport": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "@walletconnect/crypto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz", + "integrity": "sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==", + "requires": { + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "@walletconnect/randombytes": "^1.0.3", + "aes-js": "^3.1.2", + "hash.js": "^1.1.7", + "tslib": "1.14.1" + }, + "dependencies": { + "aes-js": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", + "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" + } + } + }, + "@walletconnect/encoding": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.2.tgz", + "integrity": "sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==", + "requires": { + "is-typedarray": "1.0.0", + "tslib": "1.14.1", + "typedarray-to-buffer": "3.1.5" + } + }, + "@walletconnect/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", + "requires": { + "tslib": "1.14.1" + } + }, + "@walletconnect/ethereum-provider": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-1.8.0.tgz", + "integrity": "sha512-Nq9m+oo5P0F+njsROHw9KMWdoc/8iGHYzQdkjJN/1C7DtsqFRg5k5a3hd9rzCLpbPsOC1q8Z5lRs6JQgDvPm6Q==", + "requires": { + "@walletconnect/client": "^1.8.0", + "@walletconnect/jsonrpc-http-connection": "^1.0.2", + "@walletconnect/jsonrpc-provider": "^1.0.5", + "@walletconnect/signer-connection": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0", + "eip1193-provider": "1.0.1", + "eventemitter3": "4.0.7" + } + }, + "@walletconnect/events": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", + "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", + "requires": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + } + }, + "@walletconnect/heartbeat": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.0.tgz", + "integrity": "sha512-0vbzTa/ARrpmMmOD+bQMxPvFYKtOLQZObgZakrYr0aODiMOO71CmPVNV2eAqXnw9rMmcP+z91OybLeIFlwTjjA==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "chai": "^4.3.7", + "mocha": "^10.2.0", + "ts-node": "^10.9.1", + "tslib": "1.14.1" + } + }, + "@walletconnect/iso-crypto": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz", + "integrity": "sha512-pWy19KCyitpfXb70hA73r9FcvklS+FvO9QUIttp3c2mfW8frxgYeRXfxLRCIQTkaYueRKvdqPjbyhPLam508XQ==", + "requires": { + "@walletconnect/crypto": "^1.0.2", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "@walletconnect/jsonrpc-http-connection": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.4.tgz", + "integrity": "sha512-ji79pspdBhmIbTwve383tMaDu5Le9plW+oj5GE2aqzxIl3ib8JvRBZRn5lGEBGqVCvqB3MBJL7gBlEwpyRtoxQ==", + "requires": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "cross-fetch": "^3.1.4", + "tslib": "1.14.1" + } + }, + "@walletconnect/jsonrpc-provider": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.6.tgz", + "integrity": "sha512-f5vQxr53vUVQ51/9mRLb1OiNciT/546XZ68Byn9OYnDBGeGJXK2kQWDHp8sPWZbN5x0p7B6asdCWMVFJ6danlw==", + "requires": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "tslib": "1.14.1" + } + }, + "@walletconnect/jsonrpc-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz", + "integrity": "sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg==", + "requires": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + } + }, + "@walletconnect/jsonrpc-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.4.tgz", + "integrity": "sha512-y0+tDxcTZ9BHBBKBJbjZxLUXb+zQZCylf7y/jTvDPNx76J0hYYc+F9zHzyqBLeorSKepLTk6yI8hw3NXbAQB3g==", + "requires": { + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + } + }, + "@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.6.tgz", + "integrity": "sha512-WFu8uTXbIDgxFfyax9uNcqFYtexUq/OdCA3SBsOqIipsnJFbjXK8OaR8WCoec4tkJbDRQO9mrr1KpA0ZlIcnCQ==", + "requires": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "events": "^3.3.0", + "tslib": "1.14.1", + "ws": "^7.5.1" + } + }, + "@walletconnect/keyvaluestorage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz", + "integrity": "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==", + "requires": { + "safe-json-utils": "^1.1.1", + "tslib": "1.14.1" + } + }, + "@walletconnect/logger": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz", + "integrity": "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==", + "requires": { + "pino": "7.11.0", + "tslib": "1.14.1" + } + }, + "@walletconnect/mobile-registry": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz", + "integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==" + }, + "@walletconnect/qrcode-modal": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz", + "integrity": "sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg==", + "requires": { + "@walletconnect/browser-utils": "^1.8.0", + "@walletconnect/mobile-registry": "^1.4.0", + "@walletconnect/types": "^1.8.0", + "copy-to-clipboard": "^3.3.1", + "preact": "10.4.1", + "qrcode": "1.4.4" + }, + "dependencies": { + "preact": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.4.1.tgz", + "integrity": "sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==" + } + } + }, + "@walletconnect/randombytes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.3.tgz", + "integrity": "sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==", + "requires": { + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "randombytes": "^2.1.0", + "tslib": "1.14.1" + } + }, + "@walletconnect/relay-api": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.7.tgz", + "integrity": "sha512-Mf/Ql7Z0waZzAuondHS9bbUi12Kyvl95ihxVDM7mPO8o7Ke7S1ffpujCUhXbSacSKcw9aV2+7bKADlsBjQLR5Q==", + "requires": { + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + } + }, + "@walletconnect/relay-auth": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", + "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", + "requires": { + "@stablelib/ed25519": "^1.0.2", + "@stablelib/random": "^1.0.1", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "tslib": "1.14.1", + "uint8arrays": "^3.0.0" + }, + "dependencies": { + "uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "requires": { + "multiformats": "^9.4.2" + } + } + } + }, + "@walletconnect/safe-json": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.1.tgz", + "integrity": "sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A==", + "requires": { + "tslib": "1.14.1" + } + }, + "@walletconnect/sign-client": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.2.1.tgz", + "integrity": "sha512-oABkkYPU8tlN42U8ht3Um7bzwrRiUb2S74Y0rWjc3xfs76g6MLO5Ja4ER1jAhCcECs9tFf84wdNwLLhT77JoSg==", + "requires": { + "@walletconnect/core": "2.2.1", + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "^1.0.1", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.2.1", + "@walletconnect/utils": "2.2.1", + "events": "^3.3.0", + "pino": "7.11.0" + }, + "dependencies": { + "@walletconnect/core": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.2.1.tgz", + "integrity": "sha512-UoXohoIavMxj2iUOcnixY8uGl0sibJdGU6UX9zkke2Wgc2UKsvtkFZ/ZU3YG1XrIPWSpZ94lkhkNGstuRKz0wQ==", + "requires": { + "@walletconnect/heartbeat": "^1.0.1", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/jsonrpc-ws-connection": "^1.0.6", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/relay-auth": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.2.1", + "@walletconnect/utils": "2.2.1", + "events": "^3.3.0", + "lodash.isequal": "4.5.0", + "pino": "7.11.0", + "uint8arrays": "3.1.0" + } + }, + "@walletconnect/types": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.2.1.tgz", + "integrity": "sha512-97Ko6u6jC/B/7ymI2ddc+Hdn4x47Pkv0Y7IYHU0RD/J9878S5pJ2nQjDfWhvfDp1GWKgzHVDy6VHwaxDiLtkSw==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "@walletconnect/utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.2.1.tgz", + "integrity": "sha512-DkjYcWMMBGznlyuenJkt1Z+IcPchhVbnYwMeQIZCu7gSbL9nUBsyzixfcWat5lapsBeGJDquhV63dU8pbkdhfg==", + "requires": { + "@stablelib/chacha20poly1305": "1.0.1", + "@stablelib/hkdf": "1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/sha256": "1.0.1", + "@stablelib/x25519": "^1.0.3", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.2.1", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "uint8arrays": "3.1.0" + } + }, + "@walletconnect/window-metadata": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", + "requires": { + "@walletconnect/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + }, + "query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + } + } + }, + "@walletconnect/signer-connection": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz", + "integrity": "sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==", + "requires": { + "@walletconnect/client": "^1.8.0", + "@walletconnect/jsonrpc-types": "^1.0.1", + "@walletconnect/jsonrpc-utils": "^1.0.3", + "@walletconnect/qrcode-modal": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "eventemitter3": "4.0.7" + } + }, + "@walletconnect/socket-transport": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.8.0.tgz", + "integrity": "sha512-5DyIyWrzHXTcVp0Vd93zJ5XMW61iDM6bcWT4p8DTRfFsOtW46JquruMhxOLeCOieM4D73kcr3U7WtyR4JUsGuQ==", + "requires": { + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0", + "ws": "7.5.3" + }, + "dependencies": { + "ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "requires": {} + } + } + }, + "@walletconnect/time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", + "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", + "requires": { + "tslib": "1.14.1" + } + }, + "@walletconnect/types": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz", + "integrity": "sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==" + }, + "@walletconnect/universal-provider": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.2.1.tgz", + "integrity": "sha512-6I4JxAZ5rC+UQCqsVjMlZ/EmYP7z16J7Kixqh1Iw7Ro7SnSfFeahUr80sctGs2vR7XF1ADzVyxmreJBriXdXDg==", + "requires": { + "@walletconnect/jsonrpc-http-connection": "^1.0.4", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/sign-client": "2.2.1", + "@walletconnect/types": "2.2.1", + "@walletconnect/utils": "2.2.1", + "eip1193-provider": "1.0.1", + "events": "^3.3.0", + "pino": "7.11.0" + }, + "dependencies": { + "@walletconnect/types": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.2.1.tgz", + "integrity": "sha512-97Ko6u6jC/B/7ymI2ddc+Hdn4x47Pkv0Y7IYHU0RD/J9878S5pJ2nQjDfWhvfDp1GWKgzHVDy6VHwaxDiLtkSw==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "@walletconnect/utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.2.1.tgz", + "integrity": "sha512-DkjYcWMMBGznlyuenJkt1Z+IcPchhVbnYwMeQIZCu7gSbL9nUBsyzixfcWat5lapsBeGJDquhV63dU8pbkdhfg==", + "requires": { + "@stablelib/chacha20poly1305": "1.0.1", + "@stablelib/hkdf": "1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/sha256": "1.0.1", + "@stablelib/x25519": "^1.0.3", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.2.1", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "uint8arrays": "3.1.0" + } + }, + "@walletconnect/window-metadata": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", + "requires": { + "@walletconnect/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + }, + "query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + } + } + }, + "@walletconnect/utils": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.8.0.tgz", + "integrity": "sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA==", + "requires": { + "@walletconnect/browser-utils": "^1.8.0", + "@walletconnect/encoding": "^1.0.1", + "@walletconnect/jsonrpc-utils": "^1.0.3", + "@walletconnect/types": "^1.8.0", + "bn.js": "4.11.8", + "js-sha3": "0.8.0", + "query-string": "6.13.5" + }, + "dependencies": { + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + } + } + }, + "@walletconnect/window-getters": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", + "requires": { + "tslib": "1.14.1" + } + }, + "@walletconnect/window-metadata": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz", + "integrity": "sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA==", + "requires": { + "@walletconnect/window-getters": "^1.0.0" + } + }, + "@web3modal/core": { + "version": "2.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@web3modal/core/-/core-2.0.0-rc.3.tgz", + "integrity": "sha512-5mTI8lb41P2lOvdB2eic6ckdh8DpTOvqR76up+s6W5nkRJ2nNL9ZoU2sVeJUGFdbQHUbK46yaZBm17zxXT0y2Q==", + "requires": { + "buffer": "6.0.3", + "valtio": "1.8.2" + } + }, + "@web3modal/standalone": { + "version": "2.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.0.0-rc.3.tgz", + "integrity": "sha512-ZrJ9Jml2e0eXXi5ZQVyFpPonRO7WEl91pMwe9gBI7nYGC5WeAqd6qoZe3qUnPLOif/gjNaKv/zrefFH/L7knzA==", + "requires": { + "@web3modal/core": "2.0.0-rc.3", + "@web3modal/ui": "2.0.0-rc.3" + } + }, + "@web3modal/ui": { + "version": "2.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@web3modal/ui/-/ui-2.0.0-rc.3.tgz", + "integrity": "sha512-AkIkOwaWzqBDVhUZGFGsQuGs0Xfnn2m5WPu+1LqTPcFmMGOr9jaUAGX30/0Vl79Ss3bSBS+Z3zB6OpOzzL7ctw==", + "requires": { + "@web3modal/core": "2.0.0-rc.3", + "lit": "2.6.1", + "motion": "10.15.5", + "qrcode": "1.5.1" + }, + "dependencies": { + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" + }, + "qrcode": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz", + "integrity": "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==", + "requires": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "abitype": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.2.5.tgz", + "integrity": "sha512-t1iiokWYpkrziu4WL2Gb6YdGvaP9ZKs7WnA39TI8TsW2E99GVRgDPW/xOKhzoCdyxOYt550CNYEFluCwGaFHaA==", + "requires": {} + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + }, + "async-mutex": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz", + "integrity": "sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" + }, + "autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "big.js": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz", + "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==" + }, + "bigint-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz", + "integrity": "sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==", + "requires": { + "bindings": "^1.3.0" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bind-decorator": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/bind-decorator/-/bind-decorator-1.0.11.tgz", + "integrity": "sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "borsh": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz", + "integrity": "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==", + "requires": { + "bn.js": "^5.2.0", + "bs58": "^4.0.0", + "text-encoding-utf-8": "^1.0.2" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", + "optional": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001435", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz", + "integrity": "sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==" + }, + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "requires": { + "browserslist": "^4.21.4" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "detect-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.2.0.tgz", + "integrity": "sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA==" + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, + "dijkstrajs": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", + "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" + }, + "duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "eip1193-provider": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eip1193-provider/-/eip1193-provider-1.0.1.tgz", + "integrity": "sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==", + "requires": { + "@json-rpc-tools/provider": "^1.5.5" + } + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "esbuild": { + "version": "0.15.16", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.16.tgz", + "integrity": "sha512-o6iS9zxdHrrojjlj6pNGC2NAg86ECZqIETswTM5KmJitq+R1YmahhWtMumeQp9lHqJaROGnsBi2RLawGnfo5ZQ==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.16", + "@esbuild/linux-loong64": "0.15.16", + "esbuild-android-64": "0.15.16", + "esbuild-android-arm64": "0.15.16", + "esbuild-darwin-64": "0.15.16", + "esbuild-darwin-arm64": "0.15.16", + "esbuild-freebsd-64": "0.15.16", + "esbuild-freebsd-arm64": "0.15.16", + "esbuild-linux-32": "0.15.16", + "esbuild-linux-64": "0.15.16", + "esbuild-linux-arm": "0.15.16", + "esbuild-linux-arm64": "0.15.16", + "esbuild-linux-mips64le": "0.15.16", + "esbuild-linux-ppc64le": "0.15.16", + "esbuild-linux-riscv64": "0.15.16", + "esbuild-linux-s390x": "0.15.16", + "esbuild-netbsd-64": "0.15.16", + "esbuild-openbsd-64": "0.15.16", + "esbuild-sunos-64": "0.15.16", + "esbuild-windows-32": "0.15.16", + "esbuild-windows-64": "0.15.16", + "esbuild-windows-arm64": "0.15.16" + } + }, + "esbuild-windows-64": { + "version": "0.15.16", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz", + "integrity": "sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "eslint": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", + "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + } + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "eth-block-tracker": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", + "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", + "requires": { + "@babel/plugin-transform-runtime": "^7.5.5", + "@babel/runtime": "^7.5.5", + "eth-query": "^2.1.0", + "json-rpc-random-id": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "eth-json-rpc-filters": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz", + "integrity": "sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw==", + "requires": { + "@metamask/safe-event-emitter": "^2.0.0", + "async-mutex": "^0.2.6", + "eth-json-rpc-middleware": "^6.0.0", + "eth-query": "^2.1.2", + "json-rpc-engine": "^6.1.0", + "pify": "^5.0.0" + }, + "dependencies": { + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" + } + } + }, + "eth-json-rpc-middleware": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz", + "integrity": "sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ==", + "requires": { + "btoa": "^1.2.1", + "clone": "^2.1.1", + "eth-query": "^2.1.2", + "eth-rpc-errors": "^3.0.0", + "eth-sig-util": "^1.4.2", + "ethereumjs-util": "^5.1.2", + "json-rpc-engine": "^5.3.0", + "json-stable-stringify": "^1.0.1", + "node-fetch": "^2.6.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + }, + "dependencies": { + "json-rpc-engine": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", + "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", + "requires": { + "eth-rpc-errors": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + } + } + }, + "eth-query": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", + "integrity": "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==", + "requires": { + "json-rpc-random-id": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "eth-rpc-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz", + "integrity": "sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==", + "requires": { + "fast-safe-stringify": "^2.0.6" + } + }, + "eth-sig-util": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", + "integrity": "sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw==", + "requires": { + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "ethereumjs-util": "^5.1.1" + } + }, + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "ethereumjs-abi": { + "version": "0.6.8", + "requires": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "requires": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fast-redact": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", + "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==" + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "fast-stable-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz", + "integrity": "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==" + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-regex": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/glob-regex/-/glob-regex-0.3.2.tgz", + "integrity": "sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==", + "dev": true + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "requires": { + "ms": "^2.0.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "requires": {} + }, + "jayson": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.7.0.tgz", + "integrity": "sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==", + "requires": { + "@types/connect": "^3.4.33", + "@types/node": "^12.12.54", + "@types/ws": "^7.4.4", + "commander": "^2.20.3", + "delay": "^5.0.0", + "es6-promisify": "^5.0.0", + "eyes": "^0.1.8", + "isomorphic-ws": "^4.0.1", + "json-stringify-safe": "^5.0.1", + "JSONStream": "^1.3.5", + "lodash": "^4.17.20", + "uuid": "^8.3.2", + "ws": "^7.4.5" + }, + "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "jotai": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/jotai/-/jotai-1.11.0.tgz", + "integrity": "sha512-8OzJmRxcTZoAOJSz6uTnmofmjAOgNOdAOy26rvyw3OBxt6XIoklNnfUTCm8wgp84SSLJbPZA01VS5O/SUz+QYg==", + "requires": {} + }, + "js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-rpc-engine": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", + "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", + "requires": { + "@metamask/safe-event-emitter": "^2.0.0", + "eth-rpc-errors": "^4.0.2" + }, + "dependencies": { + "eth-rpc-errors": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", + "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", + "requires": { + "fast-safe-stringify": "^2.0.6" + } + } + } + }, + "json-rpc-random-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", + "integrity": "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", + "requires": { + "jsonify": "^0.0.1" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "keyvaluestorage-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", + "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "lit": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", + "integrity": "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==", + "requires": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.2.0", + "lit-html": "^2.6.0" + } + }, + "lit-element": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.2.tgz", + "integrity": "sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==", + "requires": { + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.2.0" + } + }, + "lit-html": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.6.1.tgz", + "integrity": "sha512-Z3iw+E+3KKFn9t2YKNjsXNEu/LRLI98mtH/C6lnFg7kvaqPIzPn124Yd4eT/43lyqrejpc5Wb6BHq3fdv4S8Rw==", + "requires": { + "@types/trusted-types": "^2.0.2" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "requires": { + "get-func-name": "^2.0.0" + } + }, + "magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true + }, + "mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + } + } + }, + "motion": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/motion/-/motion-10.15.5.tgz", + "integrity": "sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw==", + "requires": { + "@motionone/animation": "^10.15.1", + "@motionone/dom": "^10.15.5", + "@motionone/svelte": "^10.15.5", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "@motionone/vue": "^10.15.5" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "on-exit-leak-free": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", + "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + }, + "pino": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", + "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "requires": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.0.0", + "on-exit-leak-free": "^0.2.0", + "pino-abstract-transport": "v0.5.0", + "pino-std-serializers": "^4.0.0", + "process-warning": "^1.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.1.0", + "safe-stable-stringify": "^2.1.0", + "sonic-boom": "^2.2.1", + "thread-stream": "^0.15.1" + } + }, + "pino-abstract-transport": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "requires": { + "duplexify": "^4.1.2", + "split2": "^4.0.0" + } + }, + "pino-std-serializers": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, + "postcss": { + "version": "8.4.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", + "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "preact": { + "version": "10.11.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz", + "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", + "dev": true + }, + "process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "proxy-compare": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.4.0.tgz", + "integrity": "sha512-FD8KmQUQD6Mfpd0hywCOzcon/dbkFP8XBd9F1ycbKtvVsfv6TsFUKJ2eC0Iz2y+KzlkdT1Z8SY6ZSgm07zOyqg==" + }, + "punycode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", + "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==", + "dev": true + }, + "qrcode": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", + "requires": { + "buffer": "^5.4.3", + "buffer-alloc": "^1.2.0", + "buffer-from": "^1.1.1", + "dijkstrajs": "^1.0.1", + "isarray": "^2.0.1", + "pngjs": "^3.3.0", + "yargs": "^13.2.4" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "6.13.5", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.5.tgz", + "integrity": "sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q==", + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "react-router": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.3.tgz", + "integrity": "sha512-BT6DoGn6aV1FVP5yfODMOiieakp3z46P1Fk0RNzJMACzE7C339sFuHebfvWtnB4pzBvXXkHP2vscJzWRuUjTtA==", + "requires": { + "@remix-run/router": "1.0.3" + } + }, + "react-router-dom": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.3.tgz", + "integrity": "sha512-MiaYQU8CwVCaOfJdYvt84KQNjT78VF0TJrA17SIQgNHRvLnXDJO6qsFqq8F/zzB1BWZjCFIrQpu4QxcshitziQ==", + "requires": { + "@remix-run/router": "1.0.3", + "react-router": "6.4.3" + } + }, + "react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "real-require": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", + "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==" + }, + "recrawl-sync": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recrawl-sync/-/recrawl-sync-2.2.3.tgz", + "integrity": "sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ==", + "dev": true, + "requires": { + "@cush/relative": "^1.0.0", + "glob-regex": "^0.3.0", + "slash": "^3.0.0", + "sucrase": "^3.20.3", + "tslib": "^1.9.3" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "requires": { + "bn.js": "^5.2.0" + } + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rpc-websockets": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.5.0.tgz", + "integrity": "sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ==", + "requires": { + "@babel/runtime": "^7.17.2", + "bufferutil": "^4.0.1", + "eventemitter3": "^4.0.7", + "utf-8-validate": "^5.0.2", + "uuid": "^8.3.2", + "ws": "^8.5.0" + }, + "dependencies": { + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "requires": {} + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-event-emitter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", + "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", + "requires": { + "events": "^3.0.0" + } + }, + "safe-json-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz", + "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==" + }, + "safe-stable-stringify": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", + "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==" + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "requires": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "sonic-boom": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", + "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", + "requires": { + "atomic-sleep": "^1.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "split2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", + "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==" + }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, + "sucrase": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.29.0.tgz", + "integrity": "sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==", + "dev": true, + "requires": { + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + } + }, + "superstruct": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz", + "integrity": "sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "tailwindcss": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", + "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.18", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + } + } + }, + "text-encoding-utf-8": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz", + "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-stream": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", + "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", + "requires": { + "real-require": "^0.1.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "dependencies": { + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + } + } + }, + "tsconfig-paths": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.1.1.tgz", + "integrity": "sha512-VgPrtLKpRgEAJsMj5Q/I/mXouC6A/7eJ/X4Nuk6o0cRPwBtznYxTCU4FodbexbzH9somBPEXYi0ZkUViUpJ21Q==", + "dev": true, + "requires": { + "json5": "^2.2.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==" + }, + "uint8arrays": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", + "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", + "requires": { + "multiformats": "^9.4.2" + } + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, + "utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "optional": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "valtio": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.8.2.tgz", + "integrity": "sha512-ypFWPi3aY04tojWAFPbTYBDw5iFaCDbKAJ2XqhmY2XOSorNtaCZJNg++FSssv8gMJwmPXfrU/RjncQtsoOHbUg==", + "requires": { + "proxy-compare": "2.4.0", + "use-sync-external-store": "1.2.0" + } + }, + "vite": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.4.tgz", + "integrity": "sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==", + "dev": true, + "requires": { + "esbuild": "^0.15.9", + "fsevents": "~2.3.2", + "postcss": "^8.4.18", + "resolve": "^1.22.1", + "rollup": "^2.79.1" + } + }, + "vite-tsconfig-paths": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-3.6.0.tgz", + "integrity": "sha512-UfsPYonxLqPD633X8cWcPFVuYzx/CMNHAjZTasYwX69sXpa4gNmQkR0XCjj82h7zhLGdTWagMjC1qfb9S+zv0A==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "recrawl-sync": "^2.0.3", + "tsconfig-paths": "^4.0.0" + } + }, + "wagmi": { + "version": "0.10.11", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-0.10.11.tgz", + "integrity": "sha512-LvXh3XmJRw2bJ5ziUr5EbccDdWi8kmuf5+cQZ1gM0X2oM5KJLPZiwNbEbxTrJ3yMQPffTud0zwV2M6qUSUgOgQ==", + "requires": { + "@coinbase/wallet-sdk": "^3.6.0", + "@tanstack/query-sync-storage-persister": "^4.14.5", + "@tanstack/react-query": "^4.14.5", + "@tanstack/react-query-persist-client": "^4.14.5", + "@wagmi/core": "0.8.15", + "@walletconnect/ethereum-provider": "^1.8.0", + "abitype": "^0.2.5", + "use-sync-external-store": "^1.2.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + } + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "zustand": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.3.2.tgz", + "integrity": "sha512-rd4haDmlwMTVWVqwvgy00ny8rtti/klRoZjFbL/MAcDnmD5qSw/RZc+Vddstdv90M5Lv6RPgWvm1Hivyn0QgJw==", + "requires": { + "use-sync-external-store": "1.2.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..865724a --- /dev/null +++ b/package.json @@ -0,0 +1,93 @@ +{ + "name": "buffer-frontend-react-app-v3", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": " vite build", + "preview": "vite preview" + }, + "dependencies": { + "@binance-chain/bsc-connector": "^1.0.0", + "@emotion/react": "^11.7.1", + "@emotion/styled": "^11.6.0", + "@ethersproject/experimental": "^5.0.1", + "@ethersproject/providers": "^5.1.2", + "@ethersproject/units": "^5.1.0", + "@formkit/auto-animate": "^1.0.0-beta.6", + "@mui/core": "^5.0.0-alpha.54", + "@mui/icons-material": "^5.3.1", + "@mui/lab": "^5.0.0-alpha.67", + "@mui/material": "^5.3.1", + "@mui/styles": "^5.3.0", + "@polyjuice-provider/web3": "^0.1.2", + "@rainbow-me/rainbowkit": "^0.8.1", + "@sentry/react": "^6.15.0", + "@sentry/tracing": "^6.15.0", + "@synthetixio/synpress": "^1.2.0", + "@thirdweb-dev/react": "^3.6.9", + "@thirdweb-dev/sdk": "^3.6.9", + "@types/react": "^17.0.38", + "@vercel/analytics": "^0.1.8", + "@web3-react/abstract-connector": "latest", + "@web3-react/authereum-connector": "latest", + "@web3-react/core": "^6.1.9", + "@web3-react/injected-connector": "^6.0.7", + "@web3-react/walletconnect-connector": "6.2.4", + "aws-sdk": "^2.1236.0", + "axios": "^0.26.0", + "axios-retry": "^3.3.1", + "big.js": "^6.1.1", + "bn.js": "^5.2.0", + "cloudinary": "^1.32.0", + "cors": "^2.8.5", + "dotenv": "^16.0.3", + "ethers": "^5.7.2", + "events": "^3.3.0", + "graphql": "^16.6.0", + "hex-to-rgba": "2.0.1", + "html-to-image": "^1.10.8", + "jotai": "^1.11.0", + "keen-slider": "^6.8.5", + "lightweight-charts": "^3.8.0", + "network-speed": "^2.1.1", + "numeral": "^2.0.6", + "posthog-js": "^1.16.7", + "qrcode.react": "^3.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-gravatar": "^2.6.3", + "react-html-parser": "^2.0.2", + "react-redux": "^7.2.6", + "react-reveal": "^1.2.2", + "react-router-dom": "^6.4.3", + "react-transition-group": "^4.4.2", + "react-use": "^17.4.0", + "recharts": "2.1.10", + "redux": "^4.1.2", + "redux-persist": "^6.0.0", + "redux-thunk": "^2.4.0", + "sass": "^1.43.4", + "styled-components": "^5.3.3", + "swr": "^1.3.0", + "typescript": "^3.7.5", + "wagmi": "^0.10.11", + "web3": "^1.6.1", + "websocket": "^1.0.34" + }, + "devDependencies": { + "@types/big.js": "^6.1.6", + "@types/react": "^18.0.24", + "@types/react-dom": "^18.0.8", + "@vitejs/plugin-react": "^2.2.0", + "autoprefixer": "^10.4.13", + "eslint": "8.32.0", + "postcss": "^8.4.19", + "prettier": "^2.8.3", + "tailwindcss": "^3.2.4", + "typescript": "^4.6.4", + "vite": "^3.2.3", + "vite-tsconfig-paths": "^3.6.0" + } +} diff --git a/polyfill.ts b/polyfill.ts new file mode 100644 index 0000000..57e078c --- /dev/null +++ b/polyfill.ts @@ -0,0 +1,6 @@ +import { Buffer } from 'buffer' +import process from 'process' + +window.global = window +window.process = process +window.Buffer = Buffer diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..e9a3be6 --- /dev/null +++ b/public/404.html @@ -0,0 +1,43 @@ + + + + + + + + + + + Buffer Finance + + +
+ + + You accessed a link which is deprecated! + + + Be patient, pack your bags we are taking you to right place. + +
+ + diff --git a/public/404.png b/public/404.png new file mode 100644 index 0000000..2346238 Binary files /dev/null and b/public/404.png differ diff --git a/public/404light.png b/public/404light.png new file mode 100644 index 0000000..964d994 Binary files /dev/null and b/public/404light.png differ diff --git a/public/BG.png b/public/BG.png new file mode 100644 index 0000000..7700f1b Binary files /dev/null and b/public/BG.png differ diff --git a/public/Chains/ARBITRIUM.png b/public/Chains/ARBITRIUM.png new file mode 100644 index 0000000..ba1949b Binary files /dev/null and b/public/Chains/ARBITRIUM.png differ diff --git a/public/Chains/AVAX.png b/public/Chains/AVAX.png new file mode 100644 index 0000000..881bba3 Binary files /dev/null and b/public/Chains/AVAX.png differ diff --git a/public/Chains/BSC.png b/public/Chains/BSC.png new file mode 100644 index 0000000..22e677c Binary files /dev/null and b/public/Chains/BSC.png differ diff --git a/public/Chains/ETH.png b/public/Chains/ETH.png new file mode 100644 index 0000000..eca7d9a Binary files /dev/null and b/public/Chains/ETH.png differ diff --git a/public/Chains/FTM.png b/public/Chains/FTM.png new file mode 100644 index 0000000..ec07a87 Binary files /dev/null and b/public/Chains/FTM.png differ diff --git a/public/Chains/NERVOS.png b/public/Chains/NERVOS.png new file mode 100644 index 0000000..8df151d Binary files /dev/null and b/public/Chains/NERVOS.png differ diff --git a/public/ComponentSVGS/CoinsUp.tsx b/public/ComponentSVGS/CoinsUp.tsx new file mode 100644 index 0000000..16be77e --- /dev/null +++ b/public/ComponentSVGS/CoinsUp.tsx @@ -0,0 +1,26 @@ +import React from "react"; + +export const CoinsUp = (props) => { + return ( + + + + + ); +}; diff --git a/public/ComponentSVGS/DownTriangle.tsx b/public/ComponentSVGS/DownTriangle.tsx new file mode 100644 index 0000000..5fa2963 --- /dev/null +++ b/public/ComponentSVGS/DownTriangle.tsx @@ -0,0 +1,18 @@ +import * as React from "react"; + +const DOwnTriangle = (props) => ( + + + +); + +export { DOwnTriangle }; diff --git a/public/ComponentSVGS/Edit.tsx b/public/ComponentSVGS/Edit.tsx new file mode 100644 index 0000000..34c171c --- /dev/null +++ b/public/ComponentSVGS/Edit.tsx @@ -0,0 +1,28 @@ +import * as React from "react"; + +const EditLogo = (props) => ( + + + + +); + +export default EditLogo; diff --git a/public/ComponentSVGS/Quick.tsx b/public/ComponentSVGS/Quick.tsx new file mode 100644 index 0000000..f2f2bb0 --- /dev/null +++ b/public/ComponentSVGS/Quick.tsx @@ -0,0 +1,21 @@ +import { SVGProps } from "react"; + +const Quick = (props: any) => ( + + + +); + +export default Quick; diff --git a/public/ComponentSVGS/Star.tsx b/public/ComponentSVGS/Star.tsx new file mode 100644 index 0000000..0df3774 --- /dev/null +++ b/public/ComponentSVGS/Star.tsx @@ -0,0 +1,19 @@ +const Star = (props: any) => ( + + + +); + +export default Star; diff --git a/public/ComponentSVGS/UpTriangle.tsx b/public/ComponentSVGS/UpTriangle.tsx new file mode 100644 index 0000000..c603e93 --- /dev/null +++ b/public/ComponentSVGS/UpTriangle.tsx @@ -0,0 +1,18 @@ +import * as React from "react"; + +const UpTriangle = (props) => ( + + + +); + +export { UpTriangle }; diff --git a/public/ComponentSVGS/bufferLogo.tsx b/public/ComponentSVGS/bufferLogo.tsx new file mode 100644 index 0000000..b5f12af --- /dev/null +++ b/public/ComponentSVGS/bufferLogo.tsx @@ -0,0 +1,23 @@ +import { SVGProps } from "react"; + +const BufferLogo = (props: SVGProps) => ( + + + + +); + +export default BufferLogo; diff --git a/public/ComponentSVGS/wallet.tsx b/public/ComponentSVGS/wallet.tsx new file mode 100644 index 0000000..2e91692 --- /dev/null +++ b/public/ComponentSVGS/wallet.tsx @@ -0,0 +1,30 @@ +import { SVGProps } from "react"; + +const Wallet = (props: SVGProps) => ( + + + + + + + + + + + +); + +export default Wallet; diff --git a/public/Diamond.png b/public/Diamond.png new file mode 100644 index 0000000..d915a7d Binary files /dev/null and b/public/Diamond.png differ diff --git a/public/Disconnect.svg b/public/Disconnect.svg new file mode 100644 index 0000000..ad47a73 --- /dev/null +++ b/public/Disconnect.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/Earn/Shield.svg b/public/Earn/Shield.svg new file mode 100644 index 0000000..43f1f9d --- /dev/null +++ b/public/Earn/Shield.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/EditIcon.svg b/public/EditIcon.svg new file mode 100644 index 0000000..3c311a0 --- /dev/null +++ b/public/EditIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/Fonts/Fonts/mono-400.woff b/public/Fonts/Fonts/mono-400.woff new file mode 100644 index 0000000..54a642a Binary files /dev/null and b/public/Fonts/Fonts/mono-400.woff differ diff --git a/public/Fonts/Fonts/mono.woff b/public/Fonts/Fonts/mono.woff new file mode 100644 index 0000000..f9c2a5e Binary files /dev/null and b/public/Fonts/Fonts/mono.woff differ diff --git a/public/Fonts/Fonts/pro-300.woff b/public/Fonts/Fonts/pro-300.woff new file mode 100644 index 0000000..5e70597 Binary files /dev/null and b/public/Fonts/Fonts/pro-300.woff differ diff --git a/public/Fonts/Fonts/pro-400.woff b/public/Fonts/Fonts/pro-400.woff new file mode 100644 index 0000000..06a5820 Binary files /dev/null and b/public/Fonts/Fonts/pro-400.woff differ diff --git a/public/Fonts/Fonts/pro-500.woff b/public/Fonts/Fonts/pro-500.woff new file mode 100644 index 0000000..f9c2a5e Binary files /dev/null and b/public/Fonts/Fonts/pro-500.woff differ diff --git a/public/Fonts/Fonts/pro-700.woff b/public/Fonts/Fonts/pro-700.woff new file mode 100644 index 0000000..62654d6 Binary files /dev/null and b/public/Fonts/Fonts/pro-700.woff differ diff --git a/public/Fonts/mono-400.woff b/public/Fonts/mono-400.woff new file mode 100644 index 0000000..54a642a Binary files /dev/null and b/public/Fonts/mono-400.woff differ diff --git a/public/Fonts/mono.woff b/public/Fonts/mono.woff new file mode 100644 index 0000000..f9c2a5e Binary files /dev/null and b/public/Fonts/mono.woff differ diff --git a/public/Fonts/pro-300.woff b/public/Fonts/pro-300.woff new file mode 100644 index 0000000..5e70597 Binary files /dev/null and b/public/Fonts/pro-300.woff differ diff --git a/public/Fonts/pro-400.woff b/public/Fonts/pro-400.woff new file mode 100644 index 0000000..06a5820 Binary files /dev/null and b/public/Fonts/pro-400.woff differ diff --git a/public/Fonts/pro-500.woff b/public/Fonts/pro-500.woff new file mode 100644 index 0000000..f9c2a5e Binary files /dev/null and b/public/Fonts/pro-500.woff differ diff --git a/public/Fonts/pro-700.woff b/public/Fonts/pro-700.woff new file mode 100644 index 0000000..62654d6 Binary files /dev/null and b/public/Fonts/pro-700.woff differ diff --git a/public/Gear.png b/public/Gear.png new file mode 100644 index 0000000..2fe8b72 Binary files /dev/null and b/public/Gear.png differ diff --git a/public/LeaderBoard/Bronze.png b/public/LeaderBoard/Bronze.png new file mode 100644 index 0000000..c85eeb2 Binary files /dev/null and b/public/LeaderBoard/Bronze.png differ diff --git a/public/LeaderBoard/Daily.tsx b/public/LeaderBoard/Daily.tsx new file mode 100644 index 0000000..d4a2124 --- /dev/null +++ b/public/LeaderBoard/Daily.tsx @@ -0,0 +1,12 @@ +import { SVGProps } from "react"; + +const Daily = (props: SVGProps) => ( + + + + + + +); + +export default Daily; diff --git a/public/LeaderBoard/Diamond.png b/public/LeaderBoard/Diamond.png new file mode 100644 index 0000000..a46649f Binary files /dev/null and b/public/LeaderBoard/Diamond.png differ diff --git a/public/LeaderBoard/Gold.png b/public/LeaderBoard/Gold.png new file mode 100644 index 0000000..1dd19d2 Binary files /dev/null and b/public/LeaderBoard/Gold.png differ diff --git a/public/LeaderBoard/PNL.tsx b/public/LeaderBoard/PNL.tsx new file mode 100644 index 0000000..0d91172 --- /dev/null +++ b/public/LeaderBoard/PNL.tsx @@ -0,0 +1,28 @@ +import { SVGProps } from "react"; + +const PNL = (props: SVGProps) => ( + + + + + +); + +export default PNL; diff --git a/public/LeaderBoard/Platinum.png b/public/LeaderBoard/Platinum.png new file mode 100644 index 0000000..ac5bbfc Binary files /dev/null and b/public/LeaderBoard/Platinum.png differ diff --git a/public/LeaderBoard/Silver.png b/public/LeaderBoard/Silver.png new file mode 100644 index 0000000..d3e76cd Binary files /dev/null and b/public/LeaderBoard/Silver.png differ diff --git a/public/LeaderBoard/Trophy.tsx b/public/LeaderBoard/Trophy.tsx new file mode 100644 index 0000000..b34bb3b --- /dev/null +++ b/public/LeaderBoard/Trophy.tsx @@ -0,0 +1,38 @@ +import { SVGProps } from "react"; + +const LeaderboardTropy = (props: SVGProps) => ( + + + + + + + + + +); + +export default LeaderboardTropy; diff --git a/public/NFT/.png b/public/NFT/.png new file mode 100644 index 0000000..497fa3a Binary files /dev/null and b/public/NFT/.png differ diff --git a/public/NFT/1.png b/public/NFT/1.png new file mode 100644 index 0000000..5ce9b5c Binary files /dev/null and b/public/NFT/1.png differ diff --git a/public/NFT/10.png b/public/NFT/10.png new file mode 100644 index 0000000..662477f Binary files /dev/null and b/public/NFT/10.png differ diff --git a/public/NFT/11.png b/public/NFT/11.png new file mode 100644 index 0000000..c34cf7c Binary files /dev/null and b/public/NFT/11.png differ diff --git a/public/NFT/12.png b/public/NFT/12.png new file mode 100644 index 0000000..46ec4a0 Binary files /dev/null and b/public/NFT/12.png differ diff --git a/public/NFT/13.png b/public/NFT/13.png new file mode 100644 index 0000000..74057ae Binary files /dev/null and b/public/NFT/13.png differ diff --git a/public/NFT/14.png b/public/NFT/14.png new file mode 100644 index 0000000..2f7ae50 Binary files /dev/null and b/public/NFT/14.png differ diff --git a/public/NFT/15.png b/public/NFT/15.png new file mode 100644 index 0000000..0e588b6 Binary files /dev/null and b/public/NFT/15.png differ diff --git a/public/NFT/16.png b/public/NFT/16.png new file mode 100644 index 0000000..39e93fa Binary files /dev/null and b/public/NFT/16.png differ diff --git a/public/NFT/2.png b/public/NFT/2.png new file mode 100644 index 0000000..439f0a7 Binary files /dev/null and b/public/NFT/2.png differ diff --git a/public/NFT/3.png b/public/NFT/3.png new file mode 100644 index 0000000..ff4c822 Binary files /dev/null and b/public/NFT/3.png differ diff --git a/public/NFT/4.png b/public/NFT/4.png new file mode 100644 index 0000000..d729fc8 Binary files /dev/null and b/public/NFT/4.png differ diff --git a/public/NFT/5.png b/public/NFT/5.png new file mode 100644 index 0000000..1927f91 Binary files /dev/null and b/public/NFT/5.png differ diff --git a/public/NFT/6.png b/public/NFT/6.png new file mode 100644 index 0000000..acbc3d8 Binary files /dev/null and b/public/NFT/6.png differ diff --git a/public/NFT/7.png b/public/NFT/7.png new file mode 100644 index 0000000..651fdad Binary files /dev/null and b/public/NFT/7.png differ diff --git a/public/NFT/8.png b/public/NFT/8.png new file mode 100644 index 0000000..e5c47cd Binary files /dev/null and b/public/NFT/8.png differ diff --git a/public/NFT/9.png b/public/NFT/9.png new file mode 100644 index 0000000..afbad71 Binary files /dev/null and b/public/NFT/9.png differ diff --git a/public/NFTS/01.png b/public/NFTS/01.png new file mode 100644 index 0000000..4df3e15 Binary files /dev/null and b/public/NFTS/01.png differ diff --git a/public/NFTS/02.png b/public/NFTS/02.png new file mode 100644 index 0000000..9ca50d9 Binary files /dev/null and b/public/NFTS/02.png differ diff --git a/public/NFTS/03.png b/public/NFTS/03.png new file mode 100644 index 0000000..0a01639 Binary files /dev/null and b/public/NFTS/03.png differ diff --git a/public/NFTS/04.png b/public/NFTS/04.png new file mode 100644 index 0000000..a8f8a73 Binary files /dev/null and b/public/NFTS/04.png differ diff --git a/public/NFTS/05.png b/public/NFTS/05.png new file mode 100644 index 0000000..9b4a457 Binary files /dev/null and b/public/NFTS/05.png differ diff --git a/public/NFTS/06.png b/public/NFTS/06.png new file mode 100644 index 0000000..e3565cc Binary files /dev/null and b/public/NFTS/06.png differ diff --git a/public/NFTS/07.png b/public/NFTS/07.png new file mode 100644 index 0000000..fb60300 Binary files /dev/null and b/public/NFTS/07.png differ diff --git a/public/NFTS/08.png b/public/NFTS/08.png new file mode 100644 index 0000000..3630ebe Binary files /dev/null and b/public/NFTS/08.png differ diff --git a/public/NFTS/09.png b/public/NFTS/09.png new file mode 100644 index 0000000..5d95cbe Binary files /dev/null and b/public/NFTS/09.png differ diff --git a/public/NFTS/NFT-coming-soon.png b/public/NFTS/NFT-coming-soon.png new file mode 100644 index 0000000..3d1c9fa Binary files /dev/null and b/public/NFTS/NFT-coming-soon.png differ diff --git a/public/NFTS/OpenSea.png b/public/NFTS/OpenSea.png new file mode 100644 index 0000000..01abd25 Binary files /dev/null and b/public/NFTS/OpenSea.png differ diff --git a/public/NFTS/diamond.png b/public/NFTS/diamond.png new file mode 100644 index 0000000..0af04f2 Binary files /dev/null and b/public/NFTS/diamond.png differ diff --git a/public/NFTS/diamond_background.png b/public/NFTS/diamond_background.png new file mode 100644 index 0000000..16c5286 Binary files /dev/null and b/public/NFTS/diamond_background.png differ diff --git a/public/NFTS/diamond_foreground.png b/public/NFTS/diamond_foreground.png new file mode 100644 index 0000000..1fcca61 Binary files /dev/null and b/public/NFTS/diamond_foreground.png differ diff --git a/public/NFTS/gold.png b/public/NFTS/gold.png new file mode 100644 index 0000000..54c4f42 Binary files /dev/null and b/public/NFTS/gold.png differ diff --git a/public/NFTS/gold_background.png b/public/NFTS/gold_background.png new file mode 100644 index 0000000..85a8d66 Binary files /dev/null and b/public/NFTS/gold_background.png differ diff --git a/public/NFTS/gold_foreground.png b/public/NFTS/gold_foreground.png new file mode 100644 index 0000000..62ac063 Binary files /dev/null and b/public/NFTS/gold_foreground.png differ diff --git a/public/NFTS/platinum.png b/public/NFTS/platinum.png new file mode 100644 index 0000000..cf34926 Binary files /dev/null and b/public/NFTS/platinum.png differ diff --git a/public/NFTS/platinum_background.png b/public/NFTS/platinum_background.png new file mode 100644 index 0000000..a21dff7 Binary files /dev/null and b/public/NFTS/platinum_background.png differ diff --git a/public/NFTS/platinum_foreground.png b/public/NFTS/platinum_foreground.png new file mode 100644 index 0000000..6f94394 Binary files /dev/null and b/public/NFTS/platinum_foreground.png differ diff --git a/public/NFTS/silver.png b/public/NFTS/silver.png new file mode 100644 index 0000000..5c653e8 Binary files /dev/null and b/public/NFTS/silver.png differ diff --git a/public/NFTS/silver_background.png b/public/NFTS/silver_background.png new file mode 100644 index 0000000..fda0da2 Binary files /dev/null and b/public/NFTS/silver_background.png differ diff --git a/public/NFTS/silver_foreground.png b/public/NFTS/silver_foreground.png new file mode 100644 index 0000000..1e74e16 Binary files /dev/null and b/public/NFTS/silver_foreground.png differ diff --git a/public/PeckShieldLogo.svg b/public/PeckShieldLogo.svg new file mode 100644 index 0000000..af683ff --- /dev/null +++ b/public/PeckShieldLogo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/public/PredictionGames/info.svg b/public/PredictionGames/info.svg new file mode 100644 index 0000000..efb7990 --- /dev/null +++ b/public/PredictionGames/info.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/Referral/Referral.svg b/public/Referral/Referral.svg new file mode 100644 index 0000000..961c8f8 --- /dev/null +++ b/public/Referral/Referral.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/Revenue/availablebalance.svg b/public/Revenue/availablebalance.svg new file mode 100644 index 0000000..a6dc345 --- /dev/null +++ b/public/Revenue/availablebalance.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/public/Revenue/iBFR.svg b/public/Revenue/iBFR.svg new file mode 100644 index 0000000..c06ef27 --- /dev/null +++ b/public/Revenue/iBFR.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/Social/Blue/Discord.svg b/public/Social/Blue/Discord.svg new file mode 100644 index 0000000..4a7f315 --- /dev/null +++ b/public/Social/Blue/Discord.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/Social/Blue/Telegram.svg b/public/Social/Blue/Telegram.svg new file mode 100644 index 0000000..99ed759 --- /dev/null +++ b/public/Social/Blue/Telegram.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/Social/Blue/Twitter.svg b/public/Social/Blue/Twitter.svg new file mode 100644 index 0000000..28d79e3 --- /dev/null +++ b/public/Social/Blue/Twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/Social/DD/discord.tsx b/public/Social/DD/discord.tsx new file mode 100644 index 0000000..f41ff6d --- /dev/null +++ b/public/Social/DD/discord.tsx @@ -0,0 +1,18 @@ +import { SVGProps } from "react"; + +const Discord = (props: SVGProps) => ( + + + +); + +export default Discord; diff --git a/public/Social/DD/gitbook.tsx b/public/Social/DD/gitbook.tsx new file mode 100644 index 0000000..6678f3d --- /dev/null +++ b/public/Social/DD/gitbook.tsx @@ -0,0 +1,14 @@ +import { SVGProps } from "react"; + +const Gitbook = (props: SVGProps) => ( + + + +); + +export default Gitbook; diff --git a/public/Social/DD/github.tsx b/public/Social/DD/github.tsx new file mode 100644 index 0000000..ed3c4fa --- /dev/null +++ b/public/Social/DD/github.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const GitHub = (props: SVGProps) => ( + + + +); + +export default GitHub; diff --git a/public/Social/DD/medium.tsx b/public/Social/DD/medium.tsx new file mode 100644 index 0000000..eaaebc2 --- /dev/null +++ b/public/Social/DD/medium.tsx @@ -0,0 +1,10 @@ +import { SVGProps } from "react"; + +const Medium = (props: SVGProps) => ( + + + + +); + +export default Medium; diff --git a/public/Social/DD/telegram.tsx b/public/Social/DD/telegram.tsx new file mode 100644 index 0000000..8de7c66 --- /dev/null +++ b/public/Social/DD/telegram.tsx @@ -0,0 +1,19 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const Telegram = (props: SVGProps) => ( + + + +); + +export default Telegram; diff --git a/public/Social/DD/twitter.tsx b/public/Social/DD/twitter.tsx new file mode 100644 index 0000000..9761e8f --- /dev/null +++ b/public/Social/DD/twitter.tsx @@ -0,0 +1,18 @@ +import { SVGProps } from "react"; + +const Twitter = (props: SVGProps) => ( + + + +); + +export default Twitter; diff --git a/public/Social/Discord.svg b/public/Social/Discord.svg new file mode 100644 index 0000000..67bc3b2 --- /dev/null +++ b/public/Social/Discord.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/Social/Telegram.svg b/public/Social/Telegram.svg new file mode 100644 index 0000000..fe8d91e --- /dev/null +++ b/public/Social/Telegram.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/Social/Twitter.svg b/public/Social/Twitter.svg new file mode 100644 index 0000000..22607ca --- /dev/null +++ b/public/Social/Twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/Social/discord.tsx b/public/Social/discord.tsx new file mode 100644 index 0000000..b0effa5 --- /dev/null +++ b/public/Social/discord.tsx @@ -0,0 +1,12 @@ +import { SVGProps } from "react"; + +const Discord = (props: SVGProps) => ( + + + +); + +export default Discord; diff --git a/public/Social/github.tsx b/public/Social/github.tsx new file mode 100644 index 0000000..ed3c4fa --- /dev/null +++ b/public/Social/github.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const GitHub = (props: SVGProps) => ( + + + +); + +export default GitHub; diff --git a/public/Social/medium.tsx b/public/Social/medium.tsx new file mode 100644 index 0000000..f121f10 --- /dev/null +++ b/public/Social/medium.tsx @@ -0,0 +1,12 @@ +import { SVGProps } from "react"; + +const Medium = (props: SVGProps) => ( + + + +); + +export default Medium; diff --git a/public/Social/telegram.tsx b/public/Social/telegram.tsx new file mode 100644 index 0000000..4a0f2d1 --- /dev/null +++ b/public/Social/telegram.tsx @@ -0,0 +1,13 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const Telegram = (props: SVGProps) => ( + + + +); + +export default Telegram; diff --git a/public/Social/twitter.tsx b/public/Social/twitter.tsx new file mode 100644 index 0000000..f230f03 --- /dev/null +++ b/public/Social/twitter.tsx @@ -0,0 +1,9 @@ +import { SVGProps } from "react"; + +const Twitter = (props: SVGProps) => ( + + + +); + +export default Twitter; diff --git a/public/Triangle_Down.svg b/public/Triangle_Down.svg new file mode 100644 index 0000000..614abfc --- /dev/null +++ b/public/Triangle_Down.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/Triangle_Up.svg b/public/Triangle_Up.svg new file mode 100644 index 0000000..35d988e --- /dev/null +++ b/public/Triangle_Up.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000..4a994cf Binary files /dev/null and b/public/android-chrome-192x192.png differ diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000..0678bd6 Binary files /dev/null and b/public/android-chrome-512x512.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000..df9f065 Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/public/config.json b/public/config.json new file mode 100644 index 0000000..5b5ccc4 --- /dev/null +++ b/public/config.json @@ -0,0 +1,208 @@ +{ + "arbitrum-test": { + "referral_storage": "0x6f4ECcB5d1441854ac130D03Cd83895ad5EB8d04", + "meta": "0xddc2Fbc6761eabf131E51101Dd3b43A295e121F1", + "router": "0x76c52E83d7dcCc70107a66BAd44D042D22D06be7", + "tokens": { + "USDC": { + "address": "0x658e6B62e7ab1d2B29a08F85f8442edEed562b48", + "decimals": 6, + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/bnb.svg", + "name": "USDC", + "pool_address": "0x1CDA6A34D84F444183E89D2D41D920EeaE883439" + }, + "BFR": { + "address": "0x89fEF05446aEA764C53a2f09bB763876FB57ea8E", + "decimals": 18, + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/bnb.svg", + "name": "BFR", + "pool_address": "0xEAf4738C83B48055b54B5E9E48a96A7ee6CbB412" + } + }, + "pairs": [ + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "BTCUSD", + "pair": "BTC-USD", + "price_precision": 100, + "token1": "BTC", + "token2": "USD", + "full_name": "Bitcoin", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/btc.svg", + "pools": [ + { + "token": "USDC", + "options_contracts": { + "config": "0xc6C370741eCa565D2f10F0Aeee34E6398A7DBA4d", + "current": "0x0823584A67005C9855ff583FC7840D40cfB30276" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "ETHUSD", + "pair": "ETH-USD", + "price_precision": 100, + "token1": "ETH", + "token2": "USD", + "full_name": "Ethereum", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/eth.svg", + "pools": [ + { + "token": "USDC", + "options_contracts": { + "config": "0x28b11Bde44236FBF2772ED6e0e2DD992B65ceCac", + "current": "0xd7c4448e2Ac721e77360d86e413Ae66620034b8A" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Forex", + "tv_id": "EURUSD", + "pair": "EUR-USD", + "price_precision": 1000000, + "token1": "EUR", + "token2": "USD", + "full_name": "Euro", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/euro.png", + "pools": [ + { + "token": "USDC", + "options_contracts": { + "config": "0x25E845e9B6d361fE6aa1a796CcE010F55daA9A50", + "current": "0xfe1F6691dF24B1b786e7C7a3c57D4ec0cfc43B77" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Forex", + "tv_id": "GBPUSD", + "pair": "GBP-USD", + "price_precision": 1000000, + "token1": "GBP", + "token2": "USD", + "full_name": "Pound", + "img": "https://cdn.buffer.finance/Buffer-Media/main/GBP.png", + "pools": [ + { + "token": "USDC", + "options_contracts": { + "config": "0x06f96c3c08679642d80878A51F5919dF1B380869", + "current": "0x105e1f5044e651309F7E2fc1114351Ab8dffBBE9" + } + } + ] + } + ] + }, + "arbitrum-main": { + "referral_storage": "0xFea57B9548cd72D8705e4BB0fa83AA35966D9c29", + "meta": "0xd43eBDeA4efEDFa14024F9894169fad8896728A4", + "router": "0x0e0A1241C9cE6649d5D30134a194BA3E24130305", + "tokens": { + "USDC": { + "address": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8", + "decimals": 6, + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/bnb.svg", + "name": "USDC", + "pool_address": "0x6Ec7B10bF7331794adAaf235cb47a2A292cD9c7e" + }, + "BFR": { + "address": "0x1A5B0aaF478bf1FDA7b934c76E7692D722982a6D", + "decimals": 18, + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/bnb.svg", + "name": "BFR", + "pool_address": "0x6Ec7B10bF7331794adAaf235cb47a2A292cD9c7e" + } + }, + "pairs": [ + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "BTCUSD", + "pair": "BTC-USD", + "price_precision": 100, + "token1": "BTC", + "token2": "USD", + "full_name": "Bitcoin", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/btc.svg", + "pools": [ + { + "token": "USDC", + "options_contracts": { + "config": "0x08d5E019fB16f92822befaC9986E7b7402DAE610", + "current": "0x532321e6a2D8A54cf87E34850A7d55466B1ec197" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "ETHUSD", + "pair": "ETH-USD", + "price_precision": 100, + "token1": "ETH", + "token2": "USD", + "full_name": "Ethereum", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/eth.svg", + "pools": [ + { + "token": "USDC", + "options_contracts": { + "config": "0xbC7DBEB9a7b158711b4B5fb0177F3E0bE024125a", + "current": "0x89dD9bA4d290045211A6cE597a98181C7f9D899d" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Forex", + "tv_id": "EURUSD", + "pair": "EUR-USD", + "price_precision": 1000000, + "token1": "EUR", + "token2": "USD", + "full_name": "Euro", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/euro.png", + "pools": [ + { + "token": "USDC", + "options_contracts": { + "config": "0x8DaC2Eb302DD9CcB3a9A23263BC021f6f1E8Cd9C", + "current": "0xbCD52d37F41dA2277aF92617D70931A787f66Fd5" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Forex", + "tv_id": "GBPUSD", + "pair": "GBP-USD", + "price_precision": 1000000, + "token1": "GBP", + "token2": "USD", + "full_name": "Pound", + "img": "https://cdn.buffer.finance/Buffer-Media/main/GBP.png", + "pools": [ + { + "token": "USDC", + "options_contracts": { + "config": "0xc1925460Fe5669878D5963c29aC51677866dE67F", + "current": "0x5d61FE708c9D41acf59009013f14496d559aad09" + } + } + ] + } + ] + } +} diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000..0678bd6 Binary files /dev/null and b/public/favicon-16x16.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000..841e2c0 Binary files /dev/null and b/public/favicon-32x32.png differ diff --git a/public/lightning.png b/public/lightning.png new file mode 100644 index 0000000..7c8cd49 Binary files /dev/null and b/public/lightning.png differ diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png new file mode 100644 index 0000000..00f2331 Binary files /dev/null and b/public/mstile-150x150.png differ diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg new file mode 100644 index 0000000..23e2e8e --- /dev/null +++ b/public/safari-pinned-tab.svg @@ -0,0 +1,30 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + diff --git a/public/shareModal/ShareIcon.tsx b/public/shareModal/ShareIcon.tsx new file mode 100644 index 0000000..4299586 --- /dev/null +++ b/public/shareModal/ShareIcon.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; + +const ShareIcon = (props) => ( + + + + +); + +export default ShareIcon; diff --git a/public/shareModal/shareModalBg.png b/public/shareModal/shareModalBg.png new file mode 100644 index 0000000..627f400 Binary files /dev/null and b/public/shareModal/shareModalBg.png differ diff --git a/public/shareModal/yellowWarning.tsx b/public/shareModal/yellowWarning.tsx new file mode 100644 index 0000000..32374d5 --- /dev/null +++ b/public/shareModal/yellowWarning.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; +import NumberTooltip from "Views/Common/Tooltips"; + +const YellowWarning = (props) => ( + + + + + + +); + +export default YellowWarning; diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/public/static/.gitkeep b/public/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/public/static/charting_library/ar-tv-chart.e2a841ff.html b/public/static/charting_library/ar-tv-chart.e2a841ff.html new file mode 100644 index 0000000..109782f --- /dev/null +++ b/public/static/charting_library/ar-tv-chart.e2a841ff.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/public/static/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur b/public/static/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur new file mode 100644 index 0000000..13b6033 Binary files /dev/null and b/public/static/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur differ diff --git a/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.css b/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.css new file mode 100644 index 0000000..7cadc31 --- /dev/null +++ b/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.css @@ -0,0 +1 @@ +.autocomplete-2wlTLOUu{flex:1 1 auto;position:relative}.autocomplete-2wlTLOUu .caret-2wlTLOUu{border-radius:2px;display:flex;height:calc(100% - 2px);justify-content:center;margin:1px 0;width:21px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.autocomplete-2wlTLOUu .caret-2wlTLOUu:hover{background-color:#f0f3fa}html.theme-dark .autocomplete-2wlTLOUu .caret-2wlTLOUu:hover{background-color:#363a45}.autocomplete-2wlTLOUu .caret-2wlTLOUu:hover .icon-2wlTLOUu{color:#131722}html.theme-dark .autocomplete-2wlTLOUu .caret-2wlTLOUu:hover .icon-2wlTLOUu{color:#b2b5be}}.autocomplete-2wlTLOUu .caret-2wlTLOUu .icon-2wlTLOUu{color:#787b86}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu{background-color:#fff;border-radius:3px;box-shadow:0 1px 2px 1px rgba(0,0,0,.275);font-size:13px;max-height:0;outline:0;overflow-x:hidden;overflow-y:auto;padding:10px 0;position:absolute;transform:translateZ(0);visibility:hidden;width:100%;z-index:150}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu{background-color:#1e222d}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar{height:5px;width:5px}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-corner{display:none}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .noResults-2wlTLOUu,.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu{overflow:hidden;padding:10px 15px;position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu{cursor:pointer}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu.selected-2wlTLOUu{background-color:#e3effd;color:#4a4a4a}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu.selected-2wlTLOUu{background-color:#142e61;color:#758696}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu:hover{background-color:#e0e3eb;color:#4a4a4a}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu:hover{background-color:#1e222d;color:#758696}}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu:active{background-color:#e0e3eb;color:#4a4a4a}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu:active{background-color:#2a2e39;color:#758696}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .noResults-2wlTLOUu,html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu .noResults-2wlTLOUu{color:#787b86}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu{max-height:45vh;visibility:visible}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar{height:5px;width:5px}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-corner{display:none}.loading-20Nb4yny{color:#0000}.container-1FV_LSwA{border-top:1px solid #e0e3eb;display:flex;flex:1 1 auto;flex-direction:column;height:100%;max-width:400px;min-height:0;overflow:auto;padding:16px 20px 0}html.theme-dark .container-1FV_LSwA{border-top:1px solid #434651}.container-1FV_LSwA::-webkit-scrollbar{height:5px;width:5px}.container-1FV_LSwA::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .container-1FV_LSwA::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.container-1FV_LSwA::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.container-1FV_LSwA::-webkit-scrollbar-corner{display:none}.container-1FV_LSwA.withSuggestions-1FV_LSwA{overflow:visible}.container-1FV_LSwA .title-1FV_LSwA{color:#787b86;cursor:default;display:flex;flex:0 0 auto;font-size:11px;letter-spacing:.4px;line-height:16px;text-transform:uppercase}.container-1FV_LSwA .autocomplete-1FV_LSwA{display:flex;flex:0 0 auto;padding-top:2px}.container-1FV_LSwA .saveInterval-1FV_LSwA,.container-1FV_LSwA .saveSymbol-1FV_LSwA{display:flex;flex:0 0 auto;padding-top:16px}.container-1FV_LSwA .saveInterval-1FV_LSwA{padding-bottom:24px}.container-1FV_LSwA .indicators-1FV_LSwA{word-wrap:break-word;color:#131722;cursor:default;display:flex;flex:1 1 auto;flex-direction:column;font-size:14px;line-height:21px;padding-top:8px}html.theme-dark .container-1FV_LSwA .indicators-1FV_LSwA{color:#b2b5be}.container-1FV_LSwA .indicators-1FV_LSwA.withSuggestions-1FV_LSwA{overflow:hidden}.container-1FV_LSwA .indicators-1FV_LSwA:after{content:"";display:block;padding-bottom:20px}.container-1FV_LSwA .hintLabel-1FV_LSwA{align-items:center;display:flex}.container-1FV_LSwA .hintLabel-1FV_LSwA .hintMark-1FV_LSwA{color:#787b86;height:18px;margin-left:8px;width:18px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.rtl.css b/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.rtl.css new file mode 100644 index 0000000..e844550 --- /dev/null +++ b/public/static/charting_library/bundles/1403.5c193407bf9023ec51df.rtl.css @@ -0,0 +1 @@ +.autocomplete-2wlTLOUu{flex:1 1 auto;position:relative}.autocomplete-2wlTLOUu .caret-2wlTLOUu{border-radius:2px;display:flex;height:calc(100% - 2px);justify-content:center;margin:1px 0;width:21px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.autocomplete-2wlTLOUu .caret-2wlTLOUu:hover{background-color:#f0f3fa}html.theme-dark .autocomplete-2wlTLOUu .caret-2wlTLOUu:hover{background-color:#363a45}.autocomplete-2wlTLOUu .caret-2wlTLOUu:hover .icon-2wlTLOUu{color:#131722}html.theme-dark .autocomplete-2wlTLOUu .caret-2wlTLOUu:hover .icon-2wlTLOUu{color:#b2b5be}}.autocomplete-2wlTLOUu .caret-2wlTLOUu .icon-2wlTLOUu{color:#787b86}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu{background-color:#fff;border-radius:3px;box-shadow:0 1px 2px 1px rgba(0,0,0,.275);font-size:13px;max-height:0;outline:0;overflow-x:hidden;overflow-y:auto;padding:10px 0;position:absolute;transform:translateZ(0);visibility:hidden;width:100%;z-index:150}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu{background-color:#1e222d}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar{height:5px;width:5px}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-corner{display:none}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .noResults-2wlTLOUu,.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu{overflow:hidden;padding:10px 15px;position:relative;text-align:right;text-overflow:ellipsis;white-space:nowrap}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu{cursor:pointer}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu.selected-2wlTLOUu{background-color:#e3effd;color:#4a4a4a}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu.selected-2wlTLOUu{background-color:#142e61;color:#758696}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu:hover{background-color:#e0e3eb;color:#4a4a4a}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu:hover{background-color:#1e222d;color:#758696}}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu:active{background-color:#e0e3eb;color:#4a4a4a}html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu .suggestion-2wlTLOUu:active{background-color:#2a2e39;color:#758696}.autocomplete-2wlTLOUu .suggestions-2wlTLOUu .noResults-2wlTLOUu,html.theme-dark .autocomplete-2wlTLOUu .suggestions-2wlTLOUu .noResults-2wlTLOUu{color:#787b86}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu{max-height:45vh;visibility:visible}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar{height:5px;width:5px}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.autocomplete-2wlTLOUu.opened-2wlTLOUu .suggestions-2wlTLOUu::-webkit-scrollbar-corner{display:none}.loading-20Nb4yny{color:#0000}.container-1FV_LSwA{border-top:1px solid #e0e3eb;display:flex;flex:1 1 auto;flex-direction:column;height:100%;max-width:400px;min-height:0;overflow:auto;padding:16px 20px 0}html.theme-dark .container-1FV_LSwA{border-top:1px solid #434651}.container-1FV_LSwA::-webkit-scrollbar{height:5px;width:5px}.container-1FV_LSwA::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .container-1FV_LSwA::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.container-1FV_LSwA::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.container-1FV_LSwA::-webkit-scrollbar-corner{display:none}.container-1FV_LSwA.withSuggestions-1FV_LSwA{overflow:visible}.container-1FV_LSwA .title-1FV_LSwA{color:#787b86;cursor:default;display:flex;flex:0 0 auto;font-size:11px;letter-spacing:.4px;line-height:16px;text-transform:uppercase}.container-1FV_LSwA .autocomplete-1FV_LSwA{display:flex;flex:0 0 auto;padding-top:2px}.container-1FV_LSwA .saveInterval-1FV_LSwA,.container-1FV_LSwA .saveSymbol-1FV_LSwA{display:flex;flex:0 0 auto;padding-top:16px}.container-1FV_LSwA .saveInterval-1FV_LSwA{padding-bottom:24px}.container-1FV_LSwA .indicators-1FV_LSwA{word-wrap:break-word;color:#131722;cursor:default;display:flex;flex:1 1 auto;flex-direction:column;font-size:14px;line-height:21px;padding-top:8px}html.theme-dark .container-1FV_LSwA .indicators-1FV_LSwA{color:#b2b5be}.container-1FV_LSwA .indicators-1FV_LSwA.withSuggestions-1FV_LSwA{overflow:hidden}.container-1FV_LSwA .indicators-1FV_LSwA:after{content:"";display:block;padding-bottom:20px}.container-1FV_LSwA .hintLabel-1FV_LSwA{align-items:center;display:flex}.container-1FV_LSwA .hintLabel-1FV_LSwA .hintMark-1FV_LSwA{color:#787b86;height:18px;margin-right:8px;width:18px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.css b/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.css new file mode 100644 index 0000000..f1ae9be --- /dev/null +++ b/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.css @@ -0,0 +1 @@ +.wrap-3jbioG5e{align-items:center;display:flex;flex:1 0 auto;flex-direction:row;height:100%}.button-2eVMAgh-.first-2eVMAgh-{margin-left:2px}.button-2eVMAgh-.last-2eVMAgh-{margin-right:2px}.button-3HNCAKoZ{padding:0 1px}.menu-3HNCAKoZ:only-child{padding:0 5px}.button-mPM2q3lb.withText-mPM2q3lb{padding:0 10px 0 5px}.button-mPM2q3lb.withoutText-mPM2q3lb{padding:0 5px}.spinnerWrap-1dkAsm33{height:68px;position:relative}.title-2VoDfDWK{color:#787b86;cursor:default;font-size:11px;letter-spacing:.4px;line-height:16px;margin:6px 0;padding:0 12px;text-transform:uppercase}.dropdown-3UuXmxSn{min-width:200px}.label-3UuXmxSn{max-width:314px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smallWidthTitle-3UuXmxSn{margin-bottom:8px;margin-top:2px;padding-left:20px;padding-right:20px}.smallWidthMenuItem-3UuXmxSn{padding:6px 16px}.smallWidthWrapper-3UuXmxSn{padding-top:8px}.value-2y-wa9jT{font-size:14px;text-align:left}.value-2y-wa9jT.selected-2y-wa9jT{color:#2962ff}html.theme-sa .value-2y-wa9jT.selected-2y-wa9jT{color:#ff7200}html.theme-dark .value-2y-wa9jT.selected-2y-wa9jT{color:#2962ff}.form-9dAINdeN{align-items:center;box-sizing:border-box;color:#131722;display:flex;flex-direction:row;font-size:14px;height:38px;margin:-6px 0;min-width:200px;width:100%}html.theme-dark .form-9dAINdeN{color:#b2b5be}.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.form-9dAINdeN:hover .add-9dAINdeN,.form-9dAINdeN:hover .input-9dAINdeN,.form-9dAINdeN:hover .menu-9dAINdeN{color:#131722}}html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .input-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN{color:#b2b5be}}.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:active,.form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN:active,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:hover,.form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN:hover,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:hover,.form-9dAINdeN:hover .add-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN:hover .add-9dAINdeN:active,.form-9dAINdeN:hover .add-9dAINdeN:hover,.form-9dAINdeN:hover .input-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN:hover .input-9dAINdeN:active,.form-9dAINdeN:hover .input-9dAINdeN:hover,.form-9dAINdeN:hover .menu-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN:hover .menu-9dAINdeN:active,.form-9dAINdeN:hover .menu-9dAINdeN:hover{color:#131722}}html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:active,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN:active,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:hover,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN:hover,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:hover,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN:active,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN:hover,html.theme-dark .form-9dAINdeN:hover .input-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .input-9dAINdeN:active,html.theme-dark .form-9dAINdeN:hover .input-9dAINdeN:hover,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN:active,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN:hover{color:#c1c4cd}}.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN{position:relative;z-index:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.form-9dAINdeN:hover .add-9dAINdeN,.form-9dAINdeN:hover .menu-9dAINdeN{position:relative;z-index:0}}.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN.hover-9dAINdeN:before,.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:active:before,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN.hover-9dAINdeN:before,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:hover:before,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:hover:before,.form-9dAINdeN:hover .add-9dAINdeN.hover-9dAINdeN:before,.form-9dAINdeN:hover .add-9dAINdeN:active:before,.form-9dAINdeN:hover .add-9dAINdeN:hover:before,.form-9dAINdeN:hover .menu-9dAINdeN.hover-9dAINdeN:before,.form-9dAINdeN:hover .menu-9dAINdeN:active:before,.form-9dAINdeN:hover .menu-9dAINdeN:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN.hover-9dAINdeN:before,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:active:before,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN.hover-9dAINdeN:before,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:hover:before,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:hover:before,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN.hover-9dAINdeN:before,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN:active:before,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN:hover:before,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN.hover-9dAINdeN:before,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN:active:before,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.wrap-9dAINdeN{flex:1 0 auto}.input-9dAINdeN{background-color:initial;border:none;height:100%;margin:0;padding:0 2px;text-align:center;width:60px}.add-9dAINdeN,.menu-9dAINdeN{align-items:center;display:flex;height:100%}.menu-9dAINdeN{border-bottom-color:#e0e3eb;border-left:1px solid #e0e3eb;border-right:1px solid #e0e3eb;border-top-color:#e0e3eb;box-sizing:border-box;cursor:default;flex:1 0 auto;justify-content:space-between;padding:0 6px 0 10px}html.theme-dark .menu-9dAINdeN{border-color:#434651}.add-9dAINdeN{cursor:default;padding:0 10px}.smallWidthMenuItem-2BP6_jxN{padding:6px 16px}.button-2R6OKuTS{padding:0 6px}.button-2R6OKuTS.first-2R6OKuTS{margin-left:2px}.button-2R6OKuTS.last-2R6OKuTS{margin-right:2px}.button-2R6OKuTS.newStyles-2R6OKuTS{padding:0 6px}.menu-2R6OKuTS:only-child{padding:0 10px}.dropdown-2R6OKuTS{min-width:140px}.menuContent-2R6OKuTS{justify-content:center}.section-2R6OKuTS{margin:-2px 0}.section-2R6OKuTS:first-child{margin-top:4px}.section-2R6OKuTS[data-open=true]{margin-bottom:4px}.smallTabletSectionTitle-2R6OKuTS{color:#787b86;font-size:11px;letter-spacing:.4px;line-height:16px;overflow:hidden;padding:10px 20px 8px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.addCustomInterval-2R6OKuTS{color:#131722;font-size:16px;line-height:24px;margin-top:6px;padding:8px 20px}html.theme-dark .addCustomInterval-2R6OKuTS{color:#b2b5be}.addCustomInterval-2R6OKuTS.hovered-2R6OKuTS,.addCustomInterval-2R6OKuTS:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.addCustomInterval-2R6OKuTS:hover{color:#131722}}html.theme-dark .addCustomInterval-2R6OKuTS.hovered-2R6OKuTS,html.theme-dark .addCustomInterval-2R6OKuTS:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .addCustomInterval-2R6OKuTS:hover{color:#c1c4cd}}.addCustomInterval-2R6OKuTS.hovered-2R6OKuTS,.addCustomInterval-2R6OKuTS:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.addCustomInterval-2R6OKuTS:hover{background-color:#f0f3fa}}html.theme-dark .addCustomInterval-2R6OKuTS.hovered-2R6OKuTS,html.theme-dark .addCustomInterval-2R6OKuTS:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .addCustomInterval-2R6OKuTS:hover{background-color:#2a2e39}}.button-2twPcS_V{justify-content:center;width:37px}.check-3RnJMRVd,.dottedCloud-3RnJMRVd,.spinningCloud-3RnJMRVd{display:none}.arrow-3RnJMRVd{opacity:0;transition:transform .2s ease-in,opacity .2s ease-in}.arrowGap-3RnJMRVd{fill:#f0f3fa;opacity:0;transition:opacity .2s ease-in}html.theme-dark .arrowGap-3RnJMRVd{fill:#2a2e39}.container-3RnJMRVd{overflow:hidden}.container-3RnJMRVd.unsaved-3RnJMRVd .dottedCloud-3RnJMRVd{display:inline}.container-3RnJMRVd.unsaved-3RnJMRVd .arrow-3RnJMRVd{transform:translateY(200%)}.container-3RnJMRVd.unsaved-3RnJMRVd.hovered-3RnJMRVd .arrow-3RnJMRVd{opacity:1;transform:translateY(0)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-3RnJMRVd.unsaved-3RnJMRVd:hover .arrow-3RnJMRVd{opacity:1;transform:translateY(0)}}.container-3RnJMRVd.unsaved-3RnJMRVd.hovered-3RnJMRVd .arrowGap-3RnJMRVd{opacity:1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-3RnJMRVd.unsaved-3RnJMRVd:hover .arrowGap-3RnJMRVd{opacity:1}}.container-3RnJMRVd.saving-3RnJMRVd .spinningCloud-3RnJMRVd{display:inline}.container-3RnJMRVd.saving-3RnJMRVd .arrow-3RnJMRVd{transform:translateY(-300%)}.container-3RnJMRVd.saved-3RnJMRVd .check-3RnJMRVd,.container-3RnJMRVd.saved-3RnJMRVd .spinningCloud-3RnJMRVd{display:inline}.container-3RnJMRVd.saved-3RnJMRVd .arrow-3RnJMRVd{display:inline;transform:translateY(-300%)}.container-3RnJMRVd.saved-3RnJMRVd .arrowGap-3RnJMRVd{display:inline}.wrapper-2wbe1KZX{padding:10px 20px}.labelRow-2wbe1KZX{line-height:20px;padding:0}.label-2wbe1KZX{font-size:16px}.labelHint-2wbe1KZX{line-height:17px}.labelOn-2wbe1KZX+.labelHint-2wbe1KZX{margin-top:0}.opened-90gXp5JL.hover-90gXp5JL:before,.opened-90gXp5JL:active:before,.opened-90gXp5JL:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-left,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-right,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.opened-90gXp5JL:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-left,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-right,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}}html.theme-dark .opened-90gXp5JL.hover-90gXp5JL:before,html.theme-dark .opened-90gXp5JL:active:before,html.theme-dark .opened-90gXp5JL:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .opened-90gXp5JL:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}}.autoSaveWrapper-90gXp5JL,.sharingWrapper-90gXp5JL{min-width:calc(100% - 22px);width:192px}.button-90gXp5JL.buttonSmallPadding-90gXp5JL{padding-right:6px}.hintPlaceHolder-90gXp5JL{height:128px}.smallHintPlaceHolder-90gXp5JL{height:100%;width:100%}.popupItemRowTabletSmall-90gXp5JL:first-child{margin-bottom:6px;margin-top:6px;padding-left:12px;padding-right:0}.shortcut-90gXp5JL{flex-shrink:0;margin-right:0;text-align:right}.button-2DZWpSVr.isDisabled-2DZWpSVr{opacity:1!important}.text-2DZWpSVr{max-width:100px;overflow:hidden;text-overflow:ellipsis}.hidden-y5m62lMJ{opacity:0}.item-NklSvNSQ{position:relative}.item-NklSvNSQ.withIcon-NklSvNSQ{padding-bottom:2px;padding-top:2px}@media screen and (max-width:428px){.item-NklSvNSQ.withIcon-NklSvNSQ{font-size:16px;padding-bottom:6px;padding-top:6px}}.shortcut-NklSvNSQ{margin-right:0;min-width:auto}@media screen and (max-width:479px){.shortcut-NklSvNSQ{display:none}}.loading-NklSvNSQ .icon-NklSvNSQ,.loading-NklSvNSQ .shortcut-NklSvNSQ{opacity:0}.button-1n0tF4SR{padding:5px 9px;width:100px}.text-1n0tF4SR{font-size:14px;font-weight:700;overflow:hidden}.uppercase-1n0tF4SR{text-transform:uppercase}.button-1iP43u_z{padding:5px 8px}.text-1iP43u_z{color:var(--tv-color-toolbar-button-text-active,#2962ff);max-width:60px}html.theme-sa .text-1iP43u_z{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .text-1iP43u_z{color:var(--tv-color-toolbar-button-text-active,#2962ff)}.logo-1iP43u_z{height:18px;margin-right:4px;width:18px}.item-2gtivim-{align-items:center;color:#131722;cursor:default;display:flex;flex:0 0 auto;height:100%;padding:0 3px;position:relative;z-index:0}html.theme-dark .item-2gtivim-{color:#787b86}.item-2gtivim-:active{color:#000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2gtivim-:hover{color:#000}}html.theme-dark .item-2gtivim-:active{color:#868993}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2gtivim-:hover{color:#868993}}.item-2gtivim-:active:before{background-color:#f0f3fa;border-radius:50%;bottom:0;content:"";display:block;height:28px;left:0;margin:auto;position:absolute;right:0;top:0;width:28px;z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2gtivim-:hover:before{background-color:#f0f3fa;border-radius:50%;bottom:0;content:"";display:block;height:28px;left:0;margin:auto;position:absolute;right:0;top:0;width:28px;z-index:-1}}html.theme-dark .item-2gtivim-:active:before{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2gtivim-:hover:before{background-color:#2a2e39}}.round-2gtivim-{align-items:center;border:1px solid #d6d8e0;border-radius:50%;cursor:default;display:flex;flex:0 0 auto;font-size:10px;height:20px;justify-content:center;text-align:center;width:20px}html.theme-dark .round-2gtivim-{border-color:#6b7988}.description-2U1ZnBls{word-wrap:break-word;color:#787b86;font-size:12px;line-height:18px;max-width:280px;min-width:170px;padding-bottom:4px;white-space:normal}.labelRow-2noQNU_F{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 60px)}.toolbox-2noQNU_F{margin-left:auto}.description-2noQNU_F{padding:0}.descriptionTabletSmall-2noQNU_F{max-width:100%;padding-right:56px}.item-2noQNU_F{margin-top:-3px;padding-bottom:8px;padding-top:0}.item-2noQNU_F:before{content:none}.item-2noQNU_F,.item-2noQNU_F:active,.titleItem-2noQNU_F,.titleItem-2noQNU_F:active,html.theme-dark .item-2noQNU_F,html.theme-dark .item-2noQNU_F:active,html.theme-dark .titleItem-2noQNU_F,html.theme-dark .titleItem-2noQNU_F:active{background-color:initial}.itemTabletSmall-2noQNU_F:before,.titleItemTabletSmall-2noQNU_F:before{content:none}.itemTabletSmall-2noQNU_F,.itemTabletSmall-2noQNU_F:active,.titleItemTabletSmall-2noQNU_F,.titleItemTabletSmall-2noQNU_F:active,html.theme-dark .itemTabletSmall-2noQNU_F,html.theme-dark .itemTabletSmall-2noQNU_F:active,html.theme-dark .titleItemTabletSmall-2noQNU_F,html.theme-dark .titleItemTabletSmall-2noQNU_F:active{background-color:initial}.titleItemTabletSmall-2noQNU_F{line-height:24px;padding:4px 20px 0 16px}.itemTabletSmall-2noQNU_F{line-height:17px;padding:1px 20px 8px 16px}.itemLabelTabletSmall-2noQNU_F{font-size:16px}.wrap-2noQNU_F{color:#131722}html.theme-dark .wrap-2noQNU_F{color:#b2b5be}.wrap-2noQNU_F.hovered-2noQNU_F,.wrap-2noQNU_F:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-2noQNU_F:hover{color:#131722}}html.theme-dark .wrap-2noQNU_F.hovered-2noQNU_F,html.theme-dark .wrap-2noQNU_F:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrap-2noQNU_F:hover{color:#c1c4cd}}.wrap-2noQNU_F.hovered-2noQNU_F,.wrap-2noQNU_F:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-2noQNU_F:hover{background-color:#f0f3fa}}html.theme-dark .wrap-2noQNU_F.hovered-2noQNU_F,html.theme-dark .wrap-2noQNU_F:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrap-2noQNU_F:hover{background-color:#2a2e39}}.wrap-3FnlLKfX{padding-left:4px}.titleWrap-3FnlLKfX{display:flex;flex-direction:column}.indicators-3FnlLKfX{margin-left:33px;margin-right:12px}.title-3FnlLKfX{align-items:center;color:#131722;display:flex;flex-direction:row;white-space:nowrap}html.theme-dark .title-3FnlLKfX{color:#b2b5be}.title-3FnlLKfX .icon-3FnlLKfX{display:flex}.title-3FnlLKfX .icon-3FnlLKfX svg{fill:#131722;display:block}html.theme-dark .title-3FnlLKfX .icon-3FnlLKfX svg{fill:#b2b5be}.title-3FnlLKfX .text-3FnlLKfX{font-size:14px;margin:0 20px 0 5px}.titleTabletSmall-3FnlLKfX{padding-bottom:4px;padding-top:4px}.titleTabletSmall-3FnlLKfX .text-3FnlLKfX{font-size:16px}.labelRow-3FnlLKfX{flex:1 0 100%;min-width:100%}.label-3FnlLKfX{flex:0 0 100%;min-width:100%}.menu-N-Iyk8ip{max-width:340px}.menuSmallTablet-N-Iyk8ip{max-width:100%}.menuItemHeaderTabletSmall-N-Iyk8ip{padding:10px 20px 2px}.menuItemHeader-N-Iyk8ip{cursor:default;margin:0;padding-bottom:3px;padding-top:4px}.wrap-13GsG5XA.full-13GsG5XA .first-13GsG5XA{margin-left:0}.wrap-13GsG5XA.full-13GsG5XA .last-13GsG5XA{margin-right:7px}.wrap-13GsG5XA.medium-13GsG5XA .first-13GsG5XA{margin-left:0}.wrap-13GsG5XA.medium-13GsG5XA .last-13GsG5XA{margin-right:7px}.buttonWithFavorites-13GsG5XA{padding-right:7px}.buttonUndo-nGqa616C{padding-left:3px;padding-right:0}.buttonRedo-nGqa616C{padding-left:0;padding-right:3px}.icon-1sGQ7NAX{padding:5px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.rtl.css b/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.rtl.css new file mode 100644 index 0000000..4906c0f --- /dev/null +++ b/public/static/charting_library/bundles/1413.0beb5c102530e80c962f.rtl.css @@ -0,0 +1 @@ +.wrap-3jbioG5e{align-items:center;display:flex;flex:1 0 auto;flex-direction:row;height:100%}.button-2eVMAgh-.first-2eVMAgh-{margin-right:2px}.button-2eVMAgh-.last-2eVMAgh-{margin-left:2px}.button-3HNCAKoZ{padding:0 1px}.menu-3HNCAKoZ:only-child{padding:0 5px}.button-mPM2q3lb.withText-mPM2q3lb{padding:0 5px 0 10px}.button-mPM2q3lb.withoutText-mPM2q3lb{padding:0 5px}.spinnerWrap-1dkAsm33{height:68px;position:relative}.title-2VoDfDWK{color:#787b86;cursor:default;font-size:11px;letter-spacing:.4px;line-height:16px;margin:6px 0;padding:0 12px;text-transform:uppercase}.dropdown-3UuXmxSn{min-width:200px}.label-3UuXmxSn{max-width:314px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smallWidthTitle-3UuXmxSn{margin-bottom:8px;margin-top:2px;padding-left:20px;padding-right:20px}.smallWidthMenuItem-3UuXmxSn{padding:6px 16px}.smallWidthWrapper-3UuXmxSn{padding-top:8px}.value-2y-wa9jT{font-size:14px;text-align:right}.value-2y-wa9jT.selected-2y-wa9jT{color:#2962ff}html.theme-sa .value-2y-wa9jT.selected-2y-wa9jT{color:#ff7200}html.theme-dark .value-2y-wa9jT.selected-2y-wa9jT{color:#2962ff}.form-9dAINdeN{align-items:center;box-sizing:border-box;color:#131722;display:flex;flex-direction:row;font-size:14px;height:38px;margin:-6px 0;min-width:200px;width:100%}html.theme-dark .form-9dAINdeN{color:#b2b5be}.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.form-9dAINdeN:hover .add-9dAINdeN,.form-9dAINdeN:hover .input-9dAINdeN,.form-9dAINdeN:hover .menu-9dAINdeN{color:#131722}}html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .input-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN{color:#b2b5be}}.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:active,.form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN:active,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:hover,.form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN:hover,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:hover,.form-9dAINdeN:hover .add-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN:hover .add-9dAINdeN:active,.form-9dAINdeN:hover .add-9dAINdeN:hover,.form-9dAINdeN:hover .input-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN:hover .input-9dAINdeN:active,.form-9dAINdeN:hover .input-9dAINdeN:hover,.form-9dAINdeN:hover .menu-9dAINdeN.hovered-9dAINdeN,.form-9dAINdeN:hover .menu-9dAINdeN:active,.form-9dAINdeN:hover .menu-9dAINdeN:hover{color:#131722}}html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:active,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN:active,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:hover,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .input-9dAINdeN:hover,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:hover,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN:active,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN:hover,html.theme-dark .form-9dAINdeN:hover .input-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .input-9dAINdeN:active,html.theme-dark .form-9dAINdeN:hover .input-9dAINdeN:hover,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN.hovered-9dAINdeN,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN:active,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN:hover{color:#c1c4cd}}.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN{position:relative;z-index:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.form-9dAINdeN:hover .add-9dAINdeN,.form-9dAINdeN:hover .menu-9dAINdeN{position:relative;z-index:0}}.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN.hover-9dAINdeN:before,.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:active:before,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN.hover-9dAINdeN:before,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:hover:before,.form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:hover:before,.form-9dAINdeN:hover .add-9dAINdeN.hover-9dAINdeN:before,.form-9dAINdeN:hover .add-9dAINdeN:active:before,.form-9dAINdeN:hover .add-9dAINdeN:hover:before,.form-9dAINdeN:hover .menu-9dAINdeN.hover-9dAINdeN:before,.form-9dAINdeN:hover .menu-9dAINdeN:active:before,.form-9dAINdeN:hover .menu-9dAINdeN:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN.hover-9dAINdeN:before,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:active:before,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN.hover-9dAINdeN:before,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .add-9dAINdeN:hover:before,html.theme-dark .form-9dAINdeN.interacting-9dAINdeN .menu-9dAINdeN:hover:before,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN.hover-9dAINdeN:before,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN:active:before,html.theme-dark .form-9dAINdeN:hover .add-9dAINdeN:hover:before,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN.hover-9dAINdeN:before,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN:active:before,html.theme-dark .form-9dAINdeN:hover .menu-9dAINdeN:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.wrap-9dAINdeN{flex:1 0 auto}.input-9dAINdeN{background-color:initial;border:none;height:100%;margin:0;padding:0 2px;text-align:center;width:60px}.add-9dAINdeN,.menu-9dAINdeN{align-items:center;display:flex;height:100%}.menu-9dAINdeN{border-bottom-color:#e0e3eb;border-left:1px solid #e0e3eb;border-right:1px solid #e0e3eb;border-top-color:#e0e3eb;box-sizing:border-box;cursor:default;flex:1 0 auto;justify-content:space-between;padding:0 10px 0 6px}html.theme-dark .menu-9dAINdeN{border-color:#434651}.add-9dAINdeN{cursor:default;padding:0 10px}.smallWidthMenuItem-2BP6_jxN{padding:6px 16px}.button-2R6OKuTS{padding:0 6px}.button-2R6OKuTS.first-2R6OKuTS{margin-right:2px}.button-2R6OKuTS.last-2R6OKuTS{margin-left:2px}.button-2R6OKuTS.newStyles-2R6OKuTS{padding:0 6px}.menu-2R6OKuTS:only-child{padding:0 10px}.dropdown-2R6OKuTS{min-width:140px}.menuContent-2R6OKuTS{justify-content:center}.section-2R6OKuTS{margin:-2px 0}.section-2R6OKuTS:first-child{margin-top:4px}.section-2R6OKuTS[data-open=true]{margin-bottom:4px}.smallTabletSectionTitle-2R6OKuTS{color:#787b86;font-size:11px;letter-spacing:.4px;line-height:16px;overflow:hidden;padding:10px 20px 8px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.addCustomInterval-2R6OKuTS{color:#131722;font-size:16px;line-height:24px;margin-top:6px;padding:8px 20px}html.theme-dark .addCustomInterval-2R6OKuTS{color:#b2b5be}.addCustomInterval-2R6OKuTS.hovered-2R6OKuTS,.addCustomInterval-2R6OKuTS:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.addCustomInterval-2R6OKuTS:hover{color:#131722}}html.theme-dark .addCustomInterval-2R6OKuTS.hovered-2R6OKuTS,html.theme-dark .addCustomInterval-2R6OKuTS:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .addCustomInterval-2R6OKuTS:hover{color:#c1c4cd}}.addCustomInterval-2R6OKuTS.hovered-2R6OKuTS,.addCustomInterval-2R6OKuTS:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.addCustomInterval-2R6OKuTS:hover{background-color:#f0f3fa}}html.theme-dark .addCustomInterval-2R6OKuTS.hovered-2R6OKuTS,html.theme-dark .addCustomInterval-2R6OKuTS:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .addCustomInterval-2R6OKuTS:hover{background-color:#2a2e39}}.button-2twPcS_V{justify-content:center;width:37px}.check-3RnJMRVd,.dottedCloud-3RnJMRVd,.spinningCloud-3RnJMRVd{display:none}.arrow-3RnJMRVd{opacity:0;transition:transform .2s ease-in,opacity .2s ease-in}.arrowGap-3RnJMRVd{fill:#f0f3fa;opacity:0;transition:opacity .2s ease-in}html.theme-dark .arrowGap-3RnJMRVd{fill:#2a2e39}.container-3RnJMRVd{overflow:hidden}.container-3RnJMRVd.unsaved-3RnJMRVd .dottedCloud-3RnJMRVd{display:inline}.container-3RnJMRVd.unsaved-3RnJMRVd .arrow-3RnJMRVd{transform:translateY(200%)}.container-3RnJMRVd.unsaved-3RnJMRVd.hovered-3RnJMRVd .arrow-3RnJMRVd{opacity:1;transform:translateY(0)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-3RnJMRVd.unsaved-3RnJMRVd:hover .arrow-3RnJMRVd{opacity:1;transform:translateY(0)}}.container-3RnJMRVd.unsaved-3RnJMRVd.hovered-3RnJMRVd .arrowGap-3RnJMRVd{opacity:1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-3RnJMRVd.unsaved-3RnJMRVd:hover .arrowGap-3RnJMRVd{opacity:1}}.container-3RnJMRVd.saving-3RnJMRVd .spinningCloud-3RnJMRVd{display:inline}.container-3RnJMRVd.saving-3RnJMRVd .arrow-3RnJMRVd{transform:translateY(-300%)}.container-3RnJMRVd.saved-3RnJMRVd .check-3RnJMRVd,.container-3RnJMRVd.saved-3RnJMRVd .spinningCloud-3RnJMRVd{display:inline}.container-3RnJMRVd.saved-3RnJMRVd .arrow-3RnJMRVd{display:inline;transform:translateY(-300%)}.container-3RnJMRVd.saved-3RnJMRVd .arrowGap-3RnJMRVd{display:inline}.wrapper-2wbe1KZX{padding:10px 20px}.labelRow-2wbe1KZX{line-height:20px;padding:0}.label-2wbe1KZX{font-size:16px}.labelHint-2wbe1KZX{line-height:17px}.labelOn-2wbe1KZX+.labelHint-2wbe1KZX{margin-top:0}.opened-90gXp5JL.hover-90gXp5JL:before,.opened-90gXp5JL:active:before,.opened-90gXp5JL:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-right,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-left,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.opened-90gXp5JL:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-right,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-left,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}}html.theme-dark .opened-90gXp5JL.hover-90gXp5JL:before,html.theme-dark .opened-90gXp5JL:active:before,html.theme-dark .opened-90gXp5JL:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .opened-90gXp5JL:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}}.autoSaveWrapper-90gXp5JL,.sharingWrapper-90gXp5JL{min-width:calc(100% - 22px);width:192px}.button-90gXp5JL.buttonSmallPadding-90gXp5JL{padding-left:6px}.hintPlaceHolder-90gXp5JL{height:128px}.smallHintPlaceHolder-90gXp5JL{height:100%;width:100%}.popupItemRowTabletSmall-90gXp5JL:first-child{margin-bottom:6px;margin-top:6px;padding-left:0;padding-right:12px}.shortcut-90gXp5JL{flex-shrink:0;margin-left:0;text-align:left}.button-2DZWpSVr.isDisabled-2DZWpSVr{opacity:1!important}.text-2DZWpSVr{max-width:100px;overflow:hidden;text-overflow:ellipsis}.hidden-y5m62lMJ{opacity:0}.item-NklSvNSQ{position:relative}.item-NklSvNSQ.withIcon-NklSvNSQ{padding-bottom:2px;padding-top:2px}@media screen and (max-width:428px){.item-NklSvNSQ.withIcon-NklSvNSQ{font-size:16px;padding-bottom:6px;padding-top:6px}}.shortcut-NklSvNSQ{margin-left:0;min-width:auto}@media screen and (max-width:479px){.shortcut-NklSvNSQ{display:none}}.loading-NklSvNSQ .icon-NklSvNSQ,.loading-NklSvNSQ .shortcut-NklSvNSQ{opacity:0}.button-1n0tF4SR{padding:5px 9px;width:100px}.text-1n0tF4SR{font-size:14px;font-weight:700;overflow:hidden}.uppercase-1n0tF4SR{text-transform:uppercase}.button-1iP43u_z{padding:5px 8px}.text-1iP43u_z{color:var(--tv-color-toolbar-button-text-active,#2962ff);max-width:60px}html.theme-sa .text-1iP43u_z{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .text-1iP43u_z{color:var(--tv-color-toolbar-button-text-active,#2962ff)}.logo-1iP43u_z{height:18px;margin-left:4px;width:18px}.item-2gtivim-{align-items:center;color:#131722;cursor:default;display:flex;flex:0 0 auto;height:100%;padding:0 3px;position:relative;z-index:0}html.theme-dark .item-2gtivim-{color:#787b86}.item-2gtivim-:active{color:#000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2gtivim-:hover{color:#000}}html.theme-dark .item-2gtivim-:active{color:#868993}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2gtivim-:hover{color:#868993}}.item-2gtivim-:active:before{background-color:#f0f3fa;border-radius:50%;bottom:0;content:"";display:block;height:28px;left:0;margin:auto;position:absolute;right:0;top:0;width:28px;z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2gtivim-:hover:before{background-color:#f0f3fa;border-radius:50%;bottom:0;content:"";display:block;height:28px;left:0;margin:auto;position:absolute;right:0;top:0;width:28px;z-index:-1}}html.theme-dark .item-2gtivim-:active:before{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2gtivim-:hover:before{background-color:#2a2e39}}.round-2gtivim-{align-items:center;border:1px solid #d6d8e0;border-radius:50%;cursor:default;display:flex;flex:0 0 auto;font-size:10px;height:20px;justify-content:center;text-align:center;width:20px}html.theme-dark .round-2gtivim-{border-color:#6b7988}.description-2U1ZnBls{word-wrap:break-word;color:#787b86;font-size:12px;line-height:18px;max-width:280px;min-width:170px;padding-bottom:4px;white-space:normal}.labelRow-2noQNU_F{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 60px)}.toolbox-2noQNU_F{margin-right:auto}.description-2noQNU_F{padding:0}.descriptionTabletSmall-2noQNU_F{max-width:100%;padding-left:56px}.item-2noQNU_F{margin-top:-3px;padding-bottom:8px;padding-top:0}.item-2noQNU_F:before{content:none}.item-2noQNU_F,.item-2noQNU_F:active,.titleItem-2noQNU_F,.titleItem-2noQNU_F:active,html.theme-dark .item-2noQNU_F,html.theme-dark .item-2noQNU_F:active,html.theme-dark .titleItem-2noQNU_F,html.theme-dark .titleItem-2noQNU_F:active{background-color:initial}.itemTabletSmall-2noQNU_F:before,.titleItemTabletSmall-2noQNU_F:before{content:none}.itemTabletSmall-2noQNU_F,.itemTabletSmall-2noQNU_F:active,.titleItemTabletSmall-2noQNU_F,.titleItemTabletSmall-2noQNU_F:active,html.theme-dark .itemTabletSmall-2noQNU_F,html.theme-dark .itemTabletSmall-2noQNU_F:active,html.theme-dark .titleItemTabletSmall-2noQNU_F,html.theme-dark .titleItemTabletSmall-2noQNU_F:active{background-color:initial}.titleItemTabletSmall-2noQNU_F{line-height:24px;padding:4px 16px 0 20px}.itemTabletSmall-2noQNU_F{line-height:17px;padding:1px 16px 8px 20px}.itemLabelTabletSmall-2noQNU_F{font-size:16px}.wrap-2noQNU_F{color:#131722}html.theme-dark .wrap-2noQNU_F{color:#b2b5be}.wrap-2noQNU_F.hovered-2noQNU_F,.wrap-2noQNU_F:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-2noQNU_F:hover{color:#131722}}html.theme-dark .wrap-2noQNU_F.hovered-2noQNU_F,html.theme-dark .wrap-2noQNU_F:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrap-2noQNU_F:hover{color:#c1c4cd}}.wrap-2noQNU_F.hovered-2noQNU_F,.wrap-2noQNU_F:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-2noQNU_F:hover{background-color:#f0f3fa}}html.theme-dark .wrap-2noQNU_F.hovered-2noQNU_F,html.theme-dark .wrap-2noQNU_F:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrap-2noQNU_F:hover{background-color:#2a2e39}}.wrap-3FnlLKfX{padding-right:4px}.titleWrap-3FnlLKfX{display:flex;flex-direction:column}.indicators-3FnlLKfX{margin-left:12px;margin-right:33px}.title-3FnlLKfX{align-items:center;color:#131722;display:flex;flex-direction:row;white-space:nowrap}html.theme-dark .title-3FnlLKfX{color:#b2b5be}.title-3FnlLKfX .icon-3FnlLKfX{display:flex}.title-3FnlLKfX .icon-3FnlLKfX svg{fill:#131722;display:block}html.theme-dark .title-3FnlLKfX .icon-3FnlLKfX svg{fill:#b2b5be}.title-3FnlLKfX .text-3FnlLKfX{font-size:14px;margin:0 5px 0 20px}.titleTabletSmall-3FnlLKfX{padding-bottom:4px;padding-top:4px}.titleTabletSmall-3FnlLKfX .text-3FnlLKfX{font-size:16px}.labelRow-3FnlLKfX{flex:1 0 100%;min-width:100%}.label-3FnlLKfX{flex:0 0 100%;min-width:100%}.menu-N-Iyk8ip{max-width:340px}.menuSmallTablet-N-Iyk8ip{max-width:100%}.menuItemHeaderTabletSmall-N-Iyk8ip{padding:10px 20px 2px}.menuItemHeader-N-Iyk8ip{cursor:default;margin:0;padding-bottom:3px;padding-top:4px}.wrap-13GsG5XA.full-13GsG5XA .first-13GsG5XA{margin-right:0}.wrap-13GsG5XA.full-13GsG5XA .last-13GsG5XA{margin-left:7px}.wrap-13GsG5XA.medium-13GsG5XA .first-13GsG5XA{margin-right:0}.wrap-13GsG5XA.medium-13GsG5XA .last-13GsG5XA{margin-left:7px}.buttonWithFavorites-13GsG5XA{padding-left:7px}.buttonUndo-nGqa616C{padding-left:0;padding-right:3px}.buttonRedo-nGqa616C{padding-left:3px;padding-right:0}.icon-1sGQ7NAX{padding:5px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1529.30943dc0c4f6a9ddaaa6.js b/public/static/charting_library/bundles/1529.30943dc0c4f6a9ddaaa6.js new file mode 100644 index 0000000..1bfbf15 --- /dev/null +++ b/public/static/charting_library/bundles/1529.30943dc0c4f6a9ddaaa6.js @@ -0,0 +1,3 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1529],{1529:(t,e,n)=>{n.r(e),n.d(e,{default:()=>M});var r=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var n=-1;return t.some((function(t,r){return t[0]===e&&(n=r,!0)})),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),r=this.__entries__[n];return r&&r[1]},e.prototype.set=function(e,n){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,r=t(n,e);~r&&n.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,r=this.__entries__;n0},t.prototype.connect_=function(){i&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),a?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){i&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_), +window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;c.some((function(t){return!!~n.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),u=function(t,e){for(var n=0,r=Object.keys(e);n0},t}(),E="undefined"!=typeof WeakMap?new WeakMap:new r,O=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=h.getInstance(),r=new g(e,n,this);E.set(this,r)};["observe","unobserve","disconnect"].forEach((function(t){O.prototype[t]=function(){var e;return(e=E.get(this))[t].apply(e,arguments)}}));const M=void 0!==o.ResizeObserver?o.ResizeObserver:O}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.css b/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.css new file mode 100644 index 0000000..55d7bd9 --- /dev/null +++ b/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.css @@ -0,0 +1 @@ +.button-15caiVtH{margin-left:4px;padding:0 6px 0 12px}.separator-15caiVtH{margin:6px 0}.item-3SbREAgE{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);display:flex;font-size:14px;height:100%;padding:0 7px;position:relative;z-index:0}html.theme-dark .item-3SbREAgE{color:var(--tv-color-toolbar-button-text,#b2b5be)}.item-3SbREAgE.hover-3SbREAgE,.item-3SbREAgE:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .item-3SbREAgE.hover-3SbREAgE,html.theme-dark .item-3SbREAgE:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.item-3SbREAgE.hover-3SbREAgE:before,.item-3SbREAgE:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-3SbREAgE:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .item-3SbREAgE.hover-3SbREAgE:before,html.theme-dark .item-3SbREAgE:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-3SbREAgE:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.item-3SbREAgE.isActive-3SbREAgE{color:var(--tv-color-toolbar-button-text-active,#2962ff)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-3SbREAgE.isActive-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-active,#2962ff)}}html.theme-sa .item-3SbREAgE.isActive-3SbREAgE{color:var(--tv-color-toolbar-button-text-active,#ff7200)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-sa .item-3SbREAgE.isActive-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-active,#ff7200)}}html.theme-dark .item-3SbREAgE.isActive-3SbREAgE{color:var(--tv-color-toolbar-button-text-active,#2962ff)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-3SbREAgE.isActive-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-active,#2962ff)}}.item-3SbREAgE.isFirst-3SbREAgE{margin-left:9px}.item-3SbREAgE.isLast-3SbREAgE{margin-right:9px}.slider-3GYrNsPp{bottom:15%;height:2px;transition-duration:175ms;transition-property:transform,opacity}.slider-3GYrNsPp,html.theme-dark .slider-3GYrNsPp{background-color:initial}.slider-3GYrNsPp .inner-3GYrNsPp{background-color:var(--tv-color-toolbar-button-text-active,#2962ff);height:100%;margin:0 8px}html.theme-sa .slider-3GYrNsPp .inner-3GYrNsPp{background-color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .slider-3GYrNsPp .inner-3GYrNsPp{background-color:var(--tv-color-toolbar-button-text-active,#2962ff)}.sliderRow-1emAA4_D{height:100%}.button-yLOygoSG{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);display:flex;height:100%;margin-left:9px;padding:0 7px;position:relative;z-index:0}html.theme-dark .button-yLOygoSG{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-yLOygoSG.hover-yLOygoSG,.button-yLOygoSG:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-yLOygoSG:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-yLOygoSG.hover-yLOygoSG,html.theme-dark .button-yLOygoSG:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-yLOygoSG:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-yLOygoSG.hover-yLOygoSG:before,.button-yLOygoSG:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-yLOygoSG:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-yLOygoSG.hover-yLOygoSG:before,html.theme-dark .button-yLOygoSG:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-yLOygoSG:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.icon-yLOygoSG{height:18px;width:18px}.button-2pZNJ24z{align-items:center;background-color:initial;border:none;color:var(--tv-color-toolbar-button-text,#131722);cursor:default;display:flex;height:100%;margin:0;outline:none;padding:0;position:relative;z-index:0}html.theme-dark .button-2pZNJ24z{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-2pZNJ24z.hover-2pZNJ24z,.button-2pZNJ24z:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2pZNJ24z:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-2pZNJ24z.hover-2pZNJ24z,html.theme-dark .button-2pZNJ24z:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2pZNJ24z:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-2pZNJ24z.hover-2pZNJ24z:before,.button-2pZNJ24z:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2pZNJ24z:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-2pZNJ24z.hover-2pZNJ24z:before,html.theme-dark .button-2pZNJ24z:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2pZNJ24z:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-2pZNJ24z[disabled]{position:relative;z-index:0}.button-2pZNJ24z[disabled].hover-2pZNJ24z:before,.button-2pZNJ24z[disabled]:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);background-color:initial;border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2pZNJ24z[disabled]:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);background-color:initial;border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-2pZNJ24z[disabled].hover-2pZNJ24z:before,html.theme-dark .button-2pZNJ24z[disabled]:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2pZNJ24z[disabled]:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-2pZNJ24z.open.hover-2pZNJ24z:before,.button-2pZNJ24z.open:active:before,.button-2pZNJ24z.open:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-left,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-right,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2pZNJ24z.open:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-left,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-right,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}}html.theme-dark .button-2pZNJ24z.open.hover-2pZNJ24z:before,html.theme-dark .button-2pZNJ24z.open:active:before,html.theme-dark .button-2pZNJ24z.open:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2pZNJ24z.open:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}}.button-2pZNJ24z .inner-2pZNJ24z{position:relative}.button-2-onvH7F{white-space:nowrap}.separator-13-1nlsQ{background-color:var(--tv-color-platform-background,#e0e3eb);display:inline-block;height:calc(100% - 16px);margin:8px 0;width:1px}html.theme-dark .separator-13-1nlsQ{background-color:var(--tv-color-platform-background,#2a2e39)}.toolbar-2yU8ifXU{cursor:default;font-size:14px;height:100%;position:relative;white-space:nowrap}.dateRangeWrapper-2yU8ifXU{display:block;height:100%;left:0;position:absolute}.seriesControlWrapper-2yU8ifXU{display:block;height:100%;position:absolute;right:0}.dateRangeCollapsed-2yU8ifXU,.dateRangeExpanded-2yU8ifXU{display:inline-flex;flex:0 1 0%;height:100%}.item-2yU8ifXU{flex:0 0 auto;height:100%;padding:0 7px}.item-2yU8ifXU.first-2yU8ifXU{margin-left:9px}.item-2yU8ifXU.last-2yU8ifXU{margin-right:4px}.inline-2yU8ifXU{display:inline-block;height:100%;vertical-align:top}.session-2yU8ifXU,.timezone-2yU8ifXU{flex:0 0 auto;margin-right:9px;padding:0 7px}.icon-2yU8ifXU{flex:0 0 auto;height:100%;padding:0 7px}.icon-2yU8ifXU.first-2yU8ifXU{margin-left:9px}.icon-2yU8ifXU.last-2yU8ifXU{margin-right:9px}.hidden-2yU8ifXU{visibility:hidden}.collapsed-2yU8ifXU{height:100%;left:0;position:absolute;top:0;visibility:hidden} \ No newline at end of file diff --git a/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.rtl.css b/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.rtl.css new file mode 100644 index 0000000..10d75e4 --- /dev/null +++ b/public/static/charting_library/bundles/167.4a7b6d5ac49e0365fb9f.rtl.css @@ -0,0 +1 @@ +.button-15caiVtH{margin-right:4px;padding:0 12px 0 6px}.separator-15caiVtH{margin:6px 0}.item-3SbREAgE{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);display:flex;font-size:14px;height:100%;padding:0 7px;position:relative;z-index:0}html.theme-dark .item-3SbREAgE{color:var(--tv-color-toolbar-button-text,#b2b5be)}.item-3SbREAgE.hover-3SbREAgE,.item-3SbREAgE:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .item-3SbREAgE.hover-3SbREAgE,html.theme-dark .item-3SbREAgE:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.item-3SbREAgE.hover-3SbREAgE:before,.item-3SbREAgE:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-3SbREAgE:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .item-3SbREAgE.hover-3SbREAgE:before,html.theme-dark .item-3SbREAgE:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-3SbREAgE:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.item-3SbREAgE.isActive-3SbREAgE{color:var(--tv-color-toolbar-button-text-active,#2962ff)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-3SbREAgE.isActive-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-active,#2962ff)}}html.theme-sa .item-3SbREAgE.isActive-3SbREAgE{color:var(--tv-color-toolbar-button-text-active,#ff7200)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-sa .item-3SbREAgE.isActive-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-active,#ff7200)}}html.theme-dark .item-3SbREAgE.isActive-3SbREAgE{color:var(--tv-color-toolbar-button-text-active,#2962ff)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-3SbREAgE.isActive-3SbREAgE:hover{color:var(--tv-color-toolbar-button-text-active,#2962ff)}}.item-3SbREAgE.isFirst-3SbREAgE{margin-right:9px}.item-3SbREAgE.isLast-3SbREAgE{margin-left:9px}.slider-3GYrNsPp{bottom:15%;height:2px;transition-duration:175ms;transition-property:transform,opacity}.slider-3GYrNsPp,html.theme-dark .slider-3GYrNsPp{background-color:initial}.slider-3GYrNsPp .inner-3GYrNsPp{background-color:var(--tv-color-toolbar-button-text-active,#2962ff);height:100%;margin:0 8px}html.theme-sa .slider-3GYrNsPp .inner-3GYrNsPp{background-color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .slider-3GYrNsPp .inner-3GYrNsPp{background-color:var(--tv-color-toolbar-button-text-active,#2962ff)}.sliderRow-1emAA4_D{height:100%}.button-yLOygoSG{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);display:flex;height:100%;margin-right:9px;padding:0 7px;position:relative;z-index:0}html.theme-dark .button-yLOygoSG{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-yLOygoSG.hover-yLOygoSG,.button-yLOygoSG:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-yLOygoSG:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-yLOygoSG.hover-yLOygoSG,html.theme-dark .button-yLOygoSG:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-yLOygoSG:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-yLOygoSG.hover-yLOygoSG:before,.button-yLOygoSG:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-yLOygoSG:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-yLOygoSG.hover-yLOygoSG:before,html.theme-dark .button-yLOygoSG:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-yLOygoSG:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.icon-yLOygoSG{height:18px;width:18px}.button-2pZNJ24z{align-items:center;background-color:initial;border:none;color:var(--tv-color-toolbar-button-text,#131722);cursor:default;display:flex;height:100%;margin:0;outline:none;padding:0;position:relative;z-index:0}html.theme-dark .button-2pZNJ24z{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-2pZNJ24z.hover-2pZNJ24z,.button-2pZNJ24z:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2pZNJ24z:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-2pZNJ24z.hover-2pZNJ24z,html.theme-dark .button-2pZNJ24z:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2pZNJ24z:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-2pZNJ24z.hover-2pZNJ24z:before,.button-2pZNJ24z:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2pZNJ24z:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-2pZNJ24z.hover-2pZNJ24z:before,html.theme-dark .button-2pZNJ24z:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2pZNJ24z:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-2pZNJ24z[disabled]{position:relative;z-index:0}.button-2pZNJ24z[disabled].hover-2pZNJ24z:before,.button-2pZNJ24z[disabled]:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);background-color:initial;border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2pZNJ24z[disabled]:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);background-color:initial;border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-2pZNJ24z[disabled].hover-2pZNJ24z:before,html.theme-dark .button-2pZNJ24z[disabled]:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2pZNJ24z[disabled]:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-2pZNJ24z.open.hover-2pZNJ24z:before,.button-2pZNJ24z.open:active:before,.button-2pZNJ24z.open:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-right,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-left,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2pZNJ24z.open:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-right,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-left,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}}html.theme-dark .button-2pZNJ24z.open.hover-2pZNJ24z:before,html.theme-dark .button-2pZNJ24z.open:active:before,html.theme-dark .button-2pZNJ24z.open:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2pZNJ24z.open:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}}.button-2pZNJ24z .inner-2pZNJ24z{position:relative}.button-2-onvH7F{white-space:nowrap}.separator-13-1nlsQ{background-color:var(--tv-color-platform-background,#e0e3eb);display:inline-block;height:calc(100% - 16px);margin:8px 0;width:1px}html.theme-dark .separator-13-1nlsQ{background-color:var(--tv-color-platform-background,#2a2e39)}.toolbar-2yU8ifXU{cursor:default;font-size:14px;height:100%;position:relative;white-space:nowrap}.dateRangeWrapper-2yU8ifXU{display:block;height:100%;position:absolute;right:0}.seriesControlWrapper-2yU8ifXU{display:block;height:100%;left:0;position:absolute}.dateRangeCollapsed-2yU8ifXU,.dateRangeExpanded-2yU8ifXU{display:inline-flex;flex:0 1 0%;height:100%}.item-2yU8ifXU{flex:0 0 auto;height:100%;padding:0 7px}.item-2yU8ifXU.first-2yU8ifXU{margin-right:9px}.item-2yU8ifXU.last-2yU8ifXU{margin-left:4px}.inline-2yU8ifXU{display:inline-block;height:100%;vertical-align:top}.session-2yU8ifXU,.timezone-2yU8ifXU{flex:0 0 auto;margin-left:9px;padding:0 7px}.icon-2yU8ifXU{flex:0 0 auto;height:100%;padding:0 7px}.icon-2yU8ifXU.first-2yU8ifXU{margin-right:9px}.icon-2yU8ifXU.last-2yU8ifXU{margin-left:9px}.hidden-2yU8ifXU{visibility:hidden}.collapsed-2yU8ifXU{height:100%;position:absolute;right:0;top:0;visibility:hidden} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.css b/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.css new file mode 100644 index 0000000..214facb --- /dev/null +++ b/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.css @@ -0,0 +1 @@ +.tabs-3I2ohC86{display:flex;position:relative;width:100%}.tab-3I2ohC86{border-bottom:1px solid;border-color:#e0e3eb;color:var(--tv-tabs-slider-text-color,#131722);flex:1 1;padding:13px 0;text-align:center;transition:color .35s ease;-webkit-user-select:none;user-select:none}html.theme-dark .tab-3I2ohC86{border-color:#434651;color:var(--tv-tabs-slider-text-color,#d1d4dc)}.tab-3I2ohC86.noBorder-3I2ohC86{border-bottom:0}.tab-3I2ohC86.disabled-3I2ohC86{color:#eceff2}.tab-3I2ohC86.active-3I2ohC86,html.theme-dark .tab-3I2ohC86.active-3I2ohC86{color:#2962ff}.defaultCursor-3I2ohC86{cursor:default}.slider-3I2ohC86{bottom:0;height:3px;left:0;position:absolute;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.slider-3I2ohC86,html.theme-dark .slider-3I2ohC86{background-color:#2962ff}.content-3I2ohC86{width:100%} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.rtl.css b/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.rtl.css new file mode 100644 index 0000000..214facb --- /dev/null +++ b/public/static/charting_library/bundles/1778.3dcfedd5fc468612cdc9.rtl.css @@ -0,0 +1 @@ +.tabs-3I2ohC86{display:flex;position:relative;width:100%}.tab-3I2ohC86{border-bottom:1px solid;border-color:#e0e3eb;color:var(--tv-tabs-slider-text-color,#131722);flex:1 1;padding:13px 0;text-align:center;transition:color .35s ease;-webkit-user-select:none;user-select:none}html.theme-dark .tab-3I2ohC86{border-color:#434651;color:var(--tv-tabs-slider-text-color,#d1d4dc)}.tab-3I2ohC86.noBorder-3I2ohC86{border-bottom:0}.tab-3I2ohC86.disabled-3I2ohC86{color:#eceff2}.tab-3I2ohC86.active-3I2ohC86,html.theme-dark .tab-3I2ohC86.active-3I2ohC86{color:#2962ff}.defaultCursor-3I2ohC86{cursor:default}.slider-3I2ohC86{bottom:0;height:3px;left:0;position:absolute;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.slider-3I2ohC86,html.theme-dark .slider-3I2ohC86{background-color:#2962ff}.content-3I2ohC86{width:100%} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1829.1d41207f53b42b7a2cba.js b/public/static/charting_library/bundles/1829.1d41207f53b42b7a2cba.js new file mode 100644 index 0000000..e4c4a96 --- /dev/null +++ b/public/static/charting_library/bundles/1829.1d41207f53b42b7a2cba.js @@ -0,0 +1,3 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1829],{40266:e=>{e.exports={container:"container-QDd7xRJ1","intent-default":"intent-default-QDd7xRJ1",focused:"focused-QDd7xRJ1",readonly:"readonly-QDd7xRJ1",disabled:"disabled-QDd7xRJ1","with-highlight":"with-highlight-QDd7xRJ1",grouped:"grouped-QDd7xRJ1","adjust-position":"adjust-position-QDd7xRJ1","first-row":"first-row-QDd7xRJ1","first-col":"first-col-QDd7xRJ1",stretch:"stretch-QDd7xRJ1","font-size-medium":"font-size-medium-QDd7xRJ1","font-size-large":"font-size-large-QDd7xRJ1","size-small":"size-small-QDd7xRJ1","size-medium":"size-medium-QDd7xRJ1","size-large":"size-large-QDd7xRJ1","intent-success":"intent-success-QDd7xRJ1","intent-warning":"intent-warning-QDd7xRJ1","intent-danger":"intent-danger-QDd7xRJ1","intent-primary":"intent-primary-QDd7xRJ1","border-none":"border-none-QDd7xRJ1","border-thin":"border-thin-QDd7xRJ1","border-thick":"border-thick-QDd7xRJ1","no-corner-top-left":"no-corner-top-left-QDd7xRJ1","no-corner-top-right":"no-corner-top-right-QDd7xRJ1","no-corner-bottom-right":"no-corner-bottom-right-QDd7xRJ1","no-corner-bottom-left":"no-corner-bottom-left-QDd7xRJ1",highlight:"highlight-QDd7xRJ1",shown:"shown-QDd7xRJ1"}},16321:e=>{e.exports={"inner-slot":"inner-slot-1cMNQxXi",interactive:"interactive-1cMNQxXi",icon:"icon-1cMNQxXi","inner-middle-slot":"inner-middle-slot-1cMNQxXi","before-slot":"before-slot-1cMNQxXi","after-slot":"after-slot-1cMNQxXi"}},93463:e=>{e.exports={input:"input-saRppuvn","with-start-slot":"with-start-slot-saRppuvn","with-end-slot":"with-end-slot-saRppuvn"}},94618:(e,t,n)=>{"use strict";n.d(t,{ControlGroupContext:()=>o});const o=n(67294).createContext({isGrouped:!1,cellState:{isTop:!0,isRight:!0,isBottom:!0,isLeft:!0}})},48413:(e,t,n)=>{"use strict";function o(e){let t=0;return e.isTop&&e.isLeft||(t+=1),e.isTop&&e.isRight||(t+=2),e.isBottom&&e.isLeft||(t+=8),e.isBottom&&e.isRight||(t+=4),t}n.d(t,{getGroupCellRemoveRoundBorders:()=>o})},11888:(e,t,n)=>{"use strict";n.d(t,{ControlSkeleton:()=>x,InputClasses:()=>m});var o=n(67294),r=n(94184),s=n(16282),i=n(66364),l=n(74818),u=n(94618),a=n(48413);var c=n(40266),d=n.n(c);function f(e){let t="";return 0!==e&&(1&e&&(t=r(t,d()["no-corner-top-left"])),2&e&&(t=r(t,d()["no-corner-top-right"])),4&e&&(t=r(t,d()["no-corner-bottom-right"])),8&e&&(t=r(t,d()["no-corner-bottom-left"]))),t}function h(e,t,n,o){const{removeRoundBorder:s,className:i,intent:l="default",borderStyle:u="thin",size:c,highlight:h,disabled:p,readonly:m,stretch:g,noReadonlyStyles:R,isFocused:x}=e,b=f(null!=s?s:(0,a.getGroupCellRemoveRoundBorders)(n));return r(d().container,d()["intent-"+l],d()["border-"+u],c&&d()["size-"+c],b,h&&d()["with-highlight"],p&&d().disabled,m&&!R&&d().readonly,x&&d().focused,g&&d().stretch,t&&d().grouped,!o&&d()["adjust-position"],n.isTop&&d()["first-row"],n.isLeft&&d()["first-col"],i)}function p(e,t){const{highlight:n,highlightRemoveRoundBorder:o}=e;if(!n)return d().highlight;const s=f(null!=o?o:(0,a.getGroupCellRemoveRoundBorders)(t));return r(d().highlight,d().shown,s)}const m={ +FontSizeMedium:(0,s.ensureDefined)(d()["font-size-medium"]),FontSizeLarge:(0,s.ensureDefined)(d()["font-size-large"])},g={passive:!1};function R(e,t){const{id:n,role:r,onFocus:s,onBlur:a,onMouseOver:c,onMouseOut:d,onMouseDown:f,onMouseUp:m,onKeyDown:R,onClick:x,tabIndex:b,startSlot:D,middleSlot:v,endSlot:C,onWheel:M,onWheelNoPassive:w=null}=e,{isGrouped:Q,cellState:S,disablePositionAdjustment:J=!1}=(0,o.useContext)(u.ControlGroupContext),y=function(e,t=null,n){const r=(0,o.useRef)(null),s=(0,o.useRef)(null),i=(0,o.useCallback)(()=>{if(null===r.current||null===s.current)return;const[e,t,n]=s.current;null!==t&&r.current.addEventListener(e,t,n)},[]),l=(0,o.useCallback)(()=>{if(null===r.current||null===s.current)return;const[e,t,n]=s.current;null!==t&&r.current.removeEventListener(e,t,n)},[]),u=(0,o.useCallback)(e=>{l(),r.current=e,i()},[]);return(0,o.useEffect)(()=>(s.current=[e,t,n],i(),l),[e,t,n]),u}("wheel",w,g);return o.createElement("span",{id:n,role:r,className:h(e,Q,S,J),tabIndex:b,ref:(0,i.useMergedRefs)([t,y]),onFocus:s,onBlur:a,onMouseOver:c,onMouseOut:d,onMouseDown:f,onMouseUp:m,onKeyDown:R,onClick:x,onWheel:M,...(0,l.filterDataProps)(e),...(0,l.filterAriaProps)(e)},D,v,C,o.createElement("span",{className:p(e,S)}))}R.displayName="ControlSkeleton";const x=o.forwardRef(R)},92136:(e,t,n)=>{"use strict";n.d(t,{StartSlot:()=>l,MiddleSlot:()=>u,EndSlot:()=>a,AfterSlot:()=>c});var o=n(67294),r=n(94184),s=n(16321),i=n.n(s);function l(e){const{className:t,interactive:n=!0,icon:s=!1,children:l}=e;return o.createElement("span",{className:r(i()["inner-slot"],n&&i().interactive,s&&i().icon,t)},l)}function u(e){const{className:t,children:n}=e;return o.createElement("span",{className:r(i()["inner-slot"],i()["inner-middle-slot"],t)},n)}function a(e){const{className:t,interactive:n=!0,icon:s=!1,children:l}=e;return o.createElement("span",{className:r(i()["inner-slot"],n&&i().interactive,s&&i().icon,t)},l)}function c(e){const{className:t,children:n}=e;return o.createElement("span",{className:r(i()["after-slot"],t)},n)}},81829:(e,t,n)=>{"use strict";n.d(t,{InputControl:()=>x});var o=n(67294),r=n(94184),s=n(74818),i=n(66213),l=n(1130),u=n(66364),a=n(65686),c=n(15965),d=n(53563),f=n(11888),h=n(92136),p=n(93463),m=n.n(p);function g(e){return!(0,s.isAriaAttribute)(e)&&!(0,s.isDataAttribute)(e)}function R(e){const{id:t,title:n,role:i,tabIndex:l,placeholder:u,name:a,type:c,value:d,defaultValue:p,draggable:R,autoComplete:x,autoFocus:b,maxLength:D,min:v,max:C,step:M,pattern:w,inputMode:Q,onSelect:S,onFocus:J,onBlur:y,onKeyDown:F,onKeyUp:N,onKeyPress:k,onChange:E,onDragStart:B,size:z="medium",className:I,inputClassName:A,disabled:L,readonly:P,containerTabIndex:K,startSlot:G,endSlot:T,reference:U,containerReference:O,onContainerFocus:X,...j}=e,H=(0,s.filterProps)(j,g),W={...(0,s.filterAriaProps)(j),...(0,s.filterDataProps)(j),id:t,title:n,role:i,tabIndex:l,placeholder:u,name:a,type:c,value:d,defaultValue:p,draggable:R,autoComplete:x,autoFocus:b,maxLength:D,min:v,max:C,step:M,pattern:w,inputMode:Q,onSelect:S,onFocus:J,onBlur:y, +onKeyDown:F,onKeyUp:N,onKeyPress:k,onChange:E,onDragStart:B};return o.createElement(f.ControlSkeleton,{...H,disabled:L,readonly:P,tabIndex:K,className:r(m().container,I),size:z,ref:O,onFocus:X,startSlot:G,middleSlot:o.createElement(h.MiddleSlot,null,o.createElement("input",{...W,className:r(m().input,A,G&&m()["with-start-slot"],T&&m()["with-end-slot"]),disabled:L,readOnly:P,ref:U})),endSlot:T})}function x(e){e=(0,a.useControl)(e);const{disabled:t,autoSelectOnFocus:n,tabIndex:r=0,onFocus:s,onBlur:f,reference:h,containerReference:p=null}=e,m=(0,o.useRef)(null),g=(0,o.useRef)(null),[x,b]=(0,c.useFocus)(),D=t?void 0:x?-1:r,v=t?void 0:x?r:-1,{isMouseDown:C,handleMouseDown:M,handleMouseUp:w}=(0,d.useIsMouseDown)(),Q=(0,i.createSafeMulticastEventHandler)(b.onFocus,(function(e){n&&!C.current&&(0,l.selectAllContent)(e.currentTarget)}),s),S=(0,i.createSafeMulticastEventHandler)(b.onBlur,f),J=(0,o.useCallback)(e=>{m.current=e,h&&("function"==typeof h&&h(e),"object"==typeof h&&(h.current=e))},[m,h]);return o.createElement(R,{...e,isFocused:x,containerTabIndex:D,tabIndex:v,onContainerFocus:function(e){g.current===e.target&&null!==m.current&&m.current.focus()},onFocus:Q,onBlur:S,reference:J,containerReference:(0,u.useMergedRefs)([g,p]),onMouseDown:M,onMouseUp:w})}},65686:(e,t,n)=>{"use strict";n.d(t,{useControl:()=>s});var o=n(66213),r=n(15965);function s(e){const{onFocus:t,onBlur:n,intent:s,highlight:i,disabled:l}=e,[u,a]=(0,r.useFocus)(),c=(0,o.createSafeMulticastEventHandler)(l?void 0:a.onFocus,t),d=(0,o.createSafeMulticastEventHandler)(l?void 0:a.onBlur,n);return{...e,intent:s||(u?"primary":"default"),highlight:null!=i?i:u,onFocus:c,onBlur:d}}},15965:(e,t,n)=>{"use strict";n.d(t,{useFocus:()=>r});var o=n(67294);function r(e){const[t,n]=(0,o.useState)(!1);return[t,{onFocus:(0,o.useCallback)((function(t){void 0!==e&&e.current!==t.target||n(!0)}),[e]),onBlur:(0,o.useCallback)((function(t){void 0!==e&&e.current!==t.target||n(!1)}),[e])}]}},53563:(e,t,n)=>{"use strict";n.d(t,{useIsMouseDown:()=>r});var o=n(67294);function r(){const e=(0,o.useRef)(!1),t=(0,o.useCallback)(()=>{e.current=!0},[e]),n=(0,o.useCallback)(()=>{e.current=!1},[e]);return{isMouseDown:e,handleMouseDown:t,handleMouseUp:n}}},66364:(e,t,n)=>{"use strict";n.d(t,{useMergedRefs:()=>r});var o=n(67294);function r(e){return(0,o.useCallback)(function(e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!==e&&(e.current=t)})}}(e),e)}},1130:(e,t,n)=>{"use strict";function o(e){null!==e&&e.setSelectionRange(0,e.value.length)}n.d(t,{selectAllContent:()=>o})},66213:(e,t,n)=>{"use strict";function o(...e){return t=>{for(const n of e)void 0!==n&&n(t)}}n.d(t,{createSafeMulticastEventHandler:()=>o})}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.css b/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.css new file mode 100644 index 0000000..80b04f9 --- /dev/null +++ b/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.css @@ -0,0 +1 @@ +.button-5-QHyx-s{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);cursor:default;display:flex;height:36px;justify-content:center;position:relative;-webkit-user-select:none;user-select:none;width:52px}html.theme-dark .button-5-QHyx-s{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-5-QHyx-s.hover-5-QHyx-s,.button-5-QHyx-s:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-5-QHyx-s.hover-5-QHyx-s,html.theme-dark .button-5-QHyx-s:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-5-QHyx-s .bg-5-QHyx-s{align-items:center;border-radius:4px;display:flex;height:34px;justify-content:center;width:34px}.button-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,.button-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa)}}html.theme-dark .button-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-5-QHyx-s .icon-5-QHyx-s svg{vertical-align:middle}.button-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s{height:30px;width:30px}.button-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.button-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#fff)}html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#d1d4dc)}.button-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,.button-5-QHyx-s.isActive-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isActive-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}}html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}}.button-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .icon-5-QHyx-s,.button-5-QHyx-s.isActive-5-QHyx-s:active .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#fff)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isActive-5-QHyx-s:hover .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#fff)}}html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .icon-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s:active .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#d1d4dc)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s:hover .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#d1d4dc)}}.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active,#2962ff)}html.theme-sa .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active,#2962ff)}.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);height:34px;width:34px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);height:34px;width:34px}}html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .icon-5-QHyx-s,.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:active .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:hover .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}}html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .icon-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:active .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:hover .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}}.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s{background-color:initial;height:34px;width:34px}html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s{background-color:initial}.button-5-QHyx-s.isGrayed-5-QHyx-s{cursor:default;opacity:.3}.button-5-QHyx-s.isGrayed-5-QHyx-s,.button-5-QHyx-s.isGrayed-5-QHyx-s .bg-5-QHyx-s,.button-5-QHyx-s.isGrayed-5-QHyx-s:active,.button-5-QHyx-s.isGrayed-5-QHyx-s:active .bg-5-QHyx-s{background-color:initial}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isGrayed-5-QHyx-s:hover,.button-5-QHyx-s.isGrayed-5-QHyx-s:hover .bg-5-QHyx-s{background-color:initial}}html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s:active,html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s:active .bg-5-QHyx-s{background-color:initial}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s:hover,html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s:hover .bg-5-QHyx-s{background-color:initial}}.button-5-QHyx-s.isHidden-5-QHyx-s{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.rtl.css b/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.rtl.css new file mode 100644 index 0000000..80b04f9 --- /dev/null +++ b/public/static/charting_library/bundles/1941.ae71d13122bc90f281f2.rtl.css @@ -0,0 +1 @@ +.button-5-QHyx-s{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);cursor:default;display:flex;height:36px;justify-content:center;position:relative;-webkit-user-select:none;user-select:none;width:52px}html.theme-dark .button-5-QHyx-s{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-5-QHyx-s.hover-5-QHyx-s,.button-5-QHyx-s:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-5-QHyx-s.hover-5-QHyx-s,html.theme-dark .button-5-QHyx-s:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-5-QHyx-s .bg-5-QHyx-s{align-items:center;border-radius:4px;display:flex;height:34px;justify-content:center;width:34px}.button-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,.button-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa)}}html.theme-dark .button-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-5-QHyx-s .icon-5-QHyx-s svg{vertical-align:middle}.button-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s{height:30px;width:30px}.button-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.button-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#fff)}html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#d1d4dc)}.button-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,.button-5-QHyx-s.isActive-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isActive-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}}html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}}.button-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .icon-5-QHyx-s,.button-5-QHyx-s.isActive-5-QHyx-s:active .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#fff)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isActive-5-QHyx-s:hover .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#fff)}}html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .icon-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s:active .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#d1d4dc)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isActive-5-QHyx-s:hover .icon-5-QHyx-s{color:var(--tv-color-item-active-text,#d1d4dc)}}.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active,#2962ff)}html.theme-sa .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active,#2962ff)}.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);height:34px;width:34px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);height:34px;width:34px}}html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:active .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:hover .bg-5-QHyx-s{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .icon-5-QHyx-s,.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:active .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:hover .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}}html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s.hover-5-QHyx-s .icon-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:active .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s:hover .icon-5-QHyx-s{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}}.button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s{background-color:initial;height:34px;width:34px}html.theme-dark .button-5-QHyx-s.isTransparent-5-QHyx-s.isActive-5-QHyx-s .bg-5-QHyx-s{background-color:initial}.button-5-QHyx-s.isGrayed-5-QHyx-s{cursor:default;opacity:.3}.button-5-QHyx-s.isGrayed-5-QHyx-s,.button-5-QHyx-s.isGrayed-5-QHyx-s .bg-5-QHyx-s,.button-5-QHyx-s.isGrayed-5-QHyx-s:active,.button-5-QHyx-s.isGrayed-5-QHyx-s:active .bg-5-QHyx-s{background-color:initial}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-5-QHyx-s.isGrayed-5-QHyx-s:hover,.button-5-QHyx-s.isGrayed-5-QHyx-s:hover .bg-5-QHyx-s{background-color:initial}}html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s .bg-5-QHyx-s,html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s:active,html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s:active .bg-5-QHyx-s{background-color:initial}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s:hover,html.theme-dark .button-5-QHyx-s.isGrayed-5-QHyx-s:hover .bg-5-QHyx-s{background-color:initial}}.button-5-QHyx-s.isHidden-5-QHyx-s{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png b/public/static/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png new file mode 100644 index 0000000..9423e7c Binary files /dev/null and b/public/static/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png differ diff --git a/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.css b/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.css new file mode 100644 index 0000000..3699bcc --- /dev/null +++ b/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.css @@ -0,0 +1 @@ +.defaultsButtonText-3mn75BN0{color:#131722;font-size:16px;width:100px}html.theme-dark .defaultsButtonText-3mn75BN0{color:#b2b5be}.defaultsButtonItem-3mn75BN0{min-width:100px}.defaultsButtonIcon-3mn75BN0{display:flex}.themesButtonText-3nid3QQp{color:#131722;font-size:14px;width:100px}html.theme-dark .themesButtonText-3nid3QQp{color:#b2b5be}.themesButtonIcon-3nid3QQp{display:flex}.defaultsButtonText-3nid3QQp{color:#131722;font-size:16px;width:100px}html.theme-dark .defaultsButtonText-3nid3QQp{color:#b2b5be}.defaultsButtonItem-3nid3QQp{min-width:100px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.rtl.css b/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.rtl.css new file mode 100644 index 0000000..3699bcc --- /dev/null +++ b/public/static/charting_library/bundles/2091.b5cd26b120d8f015a5f6.rtl.css @@ -0,0 +1 @@ +.defaultsButtonText-3mn75BN0{color:#131722;font-size:16px;width:100px}html.theme-dark .defaultsButtonText-3mn75BN0{color:#b2b5be}.defaultsButtonItem-3mn75BN0{min-width:100px}.defaultsButtonIcon-3mn75BN0{display:flex}.themesButtonText-3nid3QQp{color:#131722;font-size:14px;width:100px}html.theme-dark .themesButtonText-3nid3QQp{color:#b2b5be}.themesButtonIcon-3nid3QQp{display:flex}.defaultsButtonText-3nid3QQp{color:#131722;font-size:16px;width:100px}html.theme-dark .defaultsButtonText-3nid3QQp{color:#b2b5be}.defaultsButtonItem-3nid3QQp{min-width:100px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.css b/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.css new file mode 100644 index 0000000..7b877c0 --- /dev/null +++ b/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.css @@ -0,0 +1 @@ +.radio-ZflVGoxm{-webkit-tap-highlight-color:transparent;align-items:center;cursor:default;display:inline-flex;font-size:14px;font-stretch:normal;font-style:normal;font-weight:400;letter-spacing:normal;line-height:normal;position:relative;-webkit-user-select:none;user-select:none}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.radio-ZflVGoxm:hover .input-ZflVGoxm:not(:focus):not(:disabled)+.box-ZflVGoxm:before{border-color:#a3a6af}html.theme-dark .radio-ZflVGoxm:hover .input-ZflVGoxm:not(:focus):not(:disabled)+.box-ZflVGoxm:before{border-color:#5d606b}.radio-ZflVGoxm:hover .input-ZflVGoxm:checked:not(:focus):not(:disabled)+.box-ZflVGoxm:before,html.theme-dark .radio-ZflVGoxm:hover .input-ZflVGoxm:checked:not(:focus):not(:disabled)+.box-ZflVGoxm:before{border-color:#1e53e5}}.radio-ZflVGoxm.reverse-ZflVGoxm{flex-direction:row-reverse}.radio-ZflVGoxm.reverse-ZflVGoxm .label-ZflVGoxm{margin-left:0;margin-right:8px}.radio-ZflVGoxm .wrapper-ZflVGoxm{display:inline-block;flex-shrink:0;height:18px;position:relative;width:18px}.radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm{display:inline-block;height:100%;position:relative;width:100%}.radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm:before{background-color:initial;border:1px solid #b2b5be;border-radius:50%;box-sizing:border-box;content:"";height:100%;position:absolute;transition:border-color .35s ease;width:100%}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm:before{border:1px solid #50535e}.radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm:after{border:2px solid #2962ff80;border-radius:50%;box-sizing:border-box;content:"";height:26px;left:-4px;opacity:0;position:absolute;top:-4px;transform:scale(.69231);width:26px}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm:after{border:2px solid #2962ff80}.radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm.noOutline-ZflVGoxm:after{content:none}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm{cursor:inherit;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:active:not(:disabled)+.box-ZflVGoxm:before,html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:active:not(:disabled)+.box-ZflVGoxm:before{border-color:#2962ff}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:checked+.box-ZflVGoxm:before{background-color:#fff;border-color:#2962ff;border-width:6px}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:checked+.box-ZflVGoxm:before{background-color:#d1d4dc;border-color:#2962ff}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:focus+.box-ZflVGoxm:after{opacity:1;transform:scale(1)}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:focus-visible+.box-ZflVGoxm:after{opacity:1;transform:scale(1)}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:focus:not(:focus-visible)+.box-ZflVGoxm:after{opacity:0;transform:scale(.69231)}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:disabled+.box-ZflVGoxm:before{background-color:#e0e3eb;border-color:#b2b5be}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:disabled+.box-ZflVGoxm:before{background-color:#2a2e39;border-color:#50535e}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:checked:disabled+.box-ZflVGoxm:before{background-color:#b2b5be;border-color:#e0e3eb}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:checked:disabled+.box-ZflVGoxm:before{background-color:#50535e;border-color:#2a2e39}.radio-ZflVGoxm .label-ZflVGoxm{color:#000;margin-left:8px;min-width:0}html.theme-dark .radio-ZflVGoxm .label-ZflVGoxm{color:#b2b5be}.icon-3oPFhRYI{color:#787b86;height:18px;width:18px}.input-1zfqRRWX{height:34px;margin-right:12px;width:100px}.input-1zfqRRWX.symbol-1zfqRRWX{width:150px}.input-1zfqRRWX:last-child{margin-right:0}.checkbox-1zfqRRWX{max-width:100%}.checkbox-1zfqRRWX .label-1zfqRRWX{display:inline-block;max-width:100%;min-width:0;overflow-wrap:break-word;vertical-align:top}.checkbox-1zfqRRWX .label-1zfqRRWX:first-letter{text-transform:capitalize}.dropdownMenu-1zfqRRWX{min-width:100px}.sessionEnd-1zfqRRWX,.sessionStart-1zfqRRWX{align-items:center;display:inline-flex}.sessionInputContainer-1zfqRRWX{margin-right:0}.sessionDash-1zfqRRWX{flex:1 0 auto}.inputGroup-1zfqRRWX{align-items:center;display:flex}.textarea-1zfqRRWX{height:200px;padding-top:0;width:100%}@media screen and (max-width:379px){.input-1zfqRRWX{margin-bottom:8px}.input-1zfqRRWX:last-child{margin-bottom:0}.inputGroup-1zfqRRWX{display:block}.inputGroup-1zfqRRWX.inlineGroup-1zfqRRWX{display:flex}.inputGroup-1zfqRRWX.inlineGroup-1zfqRRWX .sessionStart-1zfqRRWX,.sessionInputContainer-1zfqRRWX{margin-bottom:0}.sessionStart-1zfqRRWX{margin-bottom:8px}.sessionEnd-1zfqRRWX{display:block}}.hasTooltip-1zfqRRWX{margin-right:9px}.wrap--0fHTrjW{flex-direction:column}.labelWrap--0fHTrjW{align-items:center;display:flex;margin-bottom:6px}.label--0fHTrjW{word-break:break-word}.label--0fHTrjW.hasTooltip--0fHTrjW{margin-right:8px}.inlineRow-3IOXimxZ{align-items:center;display:flex;flex-wrap:wrap;grid-column:1/3;margin-right:-8px;padding:4px 0}.titleWrap-24p2N42k{align-items:center;display:flex;height:34px;padding:24px 0 8px}.titleWrap-24p2N42k:first-child{padding-top:8px}.groupFooter-24p2N42k{height:16px}.groupFooter-24p2N42k:last-child{height:0}.groupFooter-24p2N42k,.titleWrap-24p2N42k{grid-column:1/3}.groupFooter-24p2N42k+.titleWrap-24p2N42k{padding-top:8px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.rtl.css b/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.rtl.css new file mode 100644 index 0000000..82f49c8 --- /dev/null +++ b/public/static/charting_library/bundles/2162.da7cb9d498f064a9ef84.rtl.css @@ -0,0 +1 @@ +.radio-ZflVGoxm{-webkit-tap-highlight-color:transparent;align-items:center;cursor:default;display:inline-flex;font-size:14px;font-stretch:normal;font-style:normal;font-weight:400;letter-spacing:normal;line-height:normal;position:relative;-webkit-user-select:none;user-select:none}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.radio-ZflVGoxm:hover .input-ZflVGoxm:not(:focus):not(:disabled)+.box-ZflVGoxm:before{border-color:#a3a6af}html.theme-dark .radio-ZflVGoxm:hover .input-ZflVGoxm:not(:focus):not(:disabled)+.box-ZflVGoxm:before{border-color:#5d606b}.radio-ZflVGoxm:hover .input-ZflVGoxm:checked:not(:focus):not(:disabled)+.box-ZflVGoxm:before,html.theme-dark .radio-ZflVGoxm:hover .input-ZflVGoxm:checked:not(:focus):not(:disabled)+.box-ZflVGoxm:before{border-color:#1e53e5}}.radio-ZflVGoxm.reverse-ZflVGoxm{flex-direction:row-reverse}.radio-ZflVGoxm.reverse-ZflVGoxm .label-ZflVGoxm{margin-left:8px;margin-right:0}.radio-ZflVGoxm .wrapper-ZflVGoxm{display:inline-block;flex-shrink:0;height:18px;position:relative;width:18px}.radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm{display:inline-block;height:100%;position:relative;width:100%}.radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm:before{background-color:initial;border:1px solid #b2b5be;border-radius:50%;box-sizing:border-box;content:"";height:100%;position:absolute;transition:border-color .35s ease;width:100%}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm:before{border:1px solid #50535e}.radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm:after{border:2px solid #2962ff80;border-radius:50%;box-sizing:border-box;content:"";height:26px;opacity:0;position:absolute;right:-4px;top:-4px;transform:scale(.69231);width:26px}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm:after{border:2px solid #2962ff80}.radio-ZflVGoxm .wrapper-ZflVGoxm .box-ZflVGoxm.noOutline-ZflVGoxm:after{content:none}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm{cursor:inherit;height:100%;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0;width:100%}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:active:not(:disabled)+.box-ZflVGoxm:before,html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:active:not(:disabled)+.box-ZflVGoxm:before{border-color:#2962ff}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:checked+.box-ZflVGoxm:before{background-color:#fff;border-color:#2962ff;border-width:6px}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:checked+.box-ZflVGoxm:before{background-color:#d1d4dc;border-color:#2962ff}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:focus+.box-ZflVGoxm:after{opacity:1;transform:scale(1)}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:focus-visible+.box-ZflVGoxm:after{opacity:1;transform:scale(1)}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:focus:not(:focus-visible)+.box-ZflVGoxm:after{opacity:0;transform:scale(.69231)}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:disabled+.box-ZflVGoxm:before{background-color:#e0e3eb;border-color:#b2b5be}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:disabled+.box-ZflVGoxm:before{background-color:#2a2e39;border-color:#50535e}.radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:checked:disabled+.box-ZflVGoxm:before{background-color:#b2b5be;border-color:#e0e3eb}html.theme-dark .radio-ZflVGoxm .wrapper-ZflVGoxm .input-ZflVGoxm:checked:disabled+.box-ZflVGoxm:before{background-color:#50535e;border-color:#2a2e39}.radio-ZflVGoxm .label-ZflVGoxm{color:#000;margin-right:8px;min-width:0}html.theme-dark .radio-ZflVGoxm .label-ZflVGoxm{color:#b2b5be}.icon-3oPFhRYI{color:#787b86;height:18px;width:18px}.input-1zfqRRWX{height:34px;margin-left:12px;width:100px}.input-1zfqRRWX.symbol-1zfqRRWX{width:150px}.input-1zfqRRWX:last-child{margin-left:0}.checkbox-1zfqRRWX{max-width:100%}.checkbox-1zfqRRWX .label-1zfqRRWX{display:inline-block;max-width:100%;min-width:0;overflow-wrap:break-word;vertical-align:top}.checkbox-1zfqRRWX .label-1zfqRRWX:first-letter{text-transform:capitalize}.dropdownMenu-1zfqRRWX{min-width:100px}.sessionEnd-1zfqRRWX,.sessionStart-1zfqRRWX{align-items:center;display:inline-flex}.sessionInputContainer-1zfqRRWX{margin-left:0}.sessionDash-1zfqRRWX{flex:1 0 auto}.inputGroup-1zfqRRWX{align-items:center;display:flex}.textarea-1zfqRRWX{height:200px;padding-top:0;width:100%}@media screen and (max-width:379px){.input-1zfqRRWX{margin-bottom:8px}.input-1zfqRRWX:last-child{margin-bottom:0}.inputGroup-1zfqRRWX{display:block}.inputGroup-1zfqRRWX.inlineGroup-1zfqRRWX{display:flex}.inputGroup-1zfqRRWX.inlineGroup-1zfqRRWX .sessionStart-1zfqRRWX,.sessionInputContainer-1zfqRRWX{margin-bottom:0}.sessionStart-1zfqRRWX{margin-bottom:8px}.sessionEnd-1zfqRRWX{display:block}}.hasTooltip-1zfqRRWX{margin-left:9px}.wrap--0fHTrjW{flex-direction:column}.labelWrap--0fHTrjW{align-items:center;display:flex;margin-bottom:6px}.label--0fHTrjW{word-break:break-word}.label--0fHTrjW.hasTooltip--0fHTrjW{margin-left:8px}.inlineRow-3IOXimxZ{align-items:center;display:flex;flex-wrap:wrap;grid-column:1/3;margin-left:-8px;padding:4px 0}.titleWrap-24p2N42k{align-items:center;display:flex;height:34px;padding:24px 0 8px}.titleWrap-24p2N42k:first-child{padding-top:8px}.groupFooter-24p2N42k{height:16px}.groupFooter-24p2N42k:last-child{height:0}.groupFooter-24p2N42k,.titleWrap-24p2N42k{grid-column:1/3}.groupFooter-24p2N42k+.titleWrap-24p2N42k{padding-top:8px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.css b/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.css new file mode 100644 index 0000000..033dd74 --- /dev/null +++ b/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.css @@ -0,0 +1 @@ +.themesButtonText-3vn5WLwC{color:#131722;font-size:14px;width:100px}html.theme-dark .themesButtonText-3vn5WLwC{color:#b2b5be}.themesButtonIcon-3vn5WLwC{display:flex}.defaultsButtonText-3vn5WLwC{color:#131722;font-size:16px;width:100px}html.theme-dark .defaultsButtonText-3vn5WLwC{color:#b2b5be}.defaultsButtonItem-3vn5WLwC{min-width:100px}.backButton-ukxmTk5_{align-items:center;color:#131722;display:flex;height:100%;padding-right:20px;width:28px}html.theme-dark .backButton-ukxmTk5_{color:#b2b5be}.withSidebar-1e-cIUlp{display:block;max-width:750px;min-width:610px;width:auto}@media screen and (max-width:768px){.withSidebar-1e-cIUlp{max-width:610px;min-width:420px;width:auto}}@media screen and (max-width:428px){.withSidebar-1e-cIUlp{min-height:auto;min-width:100%}}.withSidebar-1e-cIUlp .content-1e-cIUlp{border-top:1px solid #e0e3eb;display:flex;flex:1 1 auto;flex-direction:row;overflow:hidden}html.theme-dark .withSidebar-1e-cIUlp .content-1e-cIUlp{border-top:1px solid #434651}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin;width:auto}html.theme-dark .withSidebar-1e-cIUlp .tabContent-1e-cIUlp{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.withSidebar-1e-cIUlp .tabContent-1e-cIUlp{min-height:auto}}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar{height:5px;width:5px}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar-corner{display:none}.withSidebar-1e-cIUlp .applyToAllButton-1e-cIUlp{padding-right:12px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.rtl.css b/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.rtl.css new file mode 100644 index 0000000..e955a1f --- /dev/null +++ b/public/static/charting_library/bundles/2269.e35db23226edaf77f36d.rtl.css @@ -0,0 +1 @@ +.themesButtonText-3vn5WLwC{color:#131722;font-size:14px;width:100px}html.theme-dark .themesButtonText-3vn5WLwC{color:#b2b5be}.themesButtonIcon-3vn5WLwC{display:flex}.defaultsButtonText-3vn5WLwC{color:#131722;font-size:16px;width:100px}html.theme-dark .defaultsButtonText-3vn5WLwC{color:#b2b5be}.defaultsButtonItem-3vn5WLwC{min-width:100px}.backButton-ukxmTk5_{align-items:center;color:#131722;display:flex;height:100%;padding-left:20px;width:28px}html.theme-dark .backButton-ukxmTk5_{color:#b2b5be}.backButton-ukxmTk5_ svg{transform:rotate(180deg)}.withSidebar-1e-cIUlp{display:block;max-width:750px;min-width:610px;width:auto}@media screen and (max-width:768px){.withSidebar-1e-cIUlp{max-width:610px;min-width:420px;width:auto}}@media screen and (max-width:428px){.withSidebar-1e-cIUlp{min-height:auto;min-width:100%}}.withSidebar-1e-cIUlp .content-1e-cIUlp{border-top:1px solid #e0e3eb;display:flex;flex:1 1 auto;flex-direction:row;overflow:hidden}html.theme-dark .withSidebar-1e-cIUlp .content-1e-cIUlp{border-top:1px solid #434651}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin;width:auto}html.theme-dark .withSidebar-1e-cIUlp .tabContent-1e-cIUlp{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.withSidebar-1e-cIUlp .tabContent-1e-cIUlp{min-height:auto}}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar{height:5px;width:5px}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.withSidebar-1e-cIUlp .tabContent-1e-cIUlp::-webkit-scrollbar-corner{display:none}.withSidebar-1e-cIUlp .applyToAllButton-1e-cIUlp{padding-left:12px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.css b/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.css new file mode 100644 index 0000000..6bc0e1d --- /dev/null +++ b/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.css @@ -0,0 +1 @@ +.loader-38qh0l_K{bottom:0;font-size:0;height:100%;left:0;margin:0 auto;opacity:1;position:absolute;right:0;text-align:center;top:0;transition:opacity .35s ease}.loader-38qh0l_K.static-38qh0l_K{display:inline-flex;position:static}.loader-38qh0l_K:after{content:" ";display:inline-block;height:100%;vertical-align:middle}.loader-38qh0l_K .item-38qh0l_K{--ui-lib-loader-color-default:currentColor;animation:tv-button-loader-38qh0l_K .96s ease-in-out infinite both;background-color:var(--ui-lib-loader-color,var(--ui-lib-loader-color-default));border-radius:100%;display:inline-block;height:10px;margin-left:2px;margin-right:2px;opacity:1;transform:translateY(0) scale(.6);transition:transform .35s cubic-bezier(.68,-.55,.265,1.55);vertical-align:middle;width:10px}.loader-38qh0l_K .item-38qh0l_K:nth-child(2){animation-delay:.151s;transition-delay:.11666667s}.loader-38qh0l_K .item-38qh0l_K:nth-child(3){animation-delay:.32s;transition-delay:233.33333ms}.loader-38qh0l_K .item-38qh0l_K.black-38qh0l_K{--ui-lib-loader-color-default:#787b86}.loader-38qh0l_K .item-38qh0l_K.white-38qh0l_K{--ui-lib-loader-color-default:#fff}.loader-38qh0l_K .item-38qh0l_K.gray-38qh0l_K{--ui-lib-loader-color-default:#b2b5be}.loader-38qh0l_K .item-38qh0l_K.primary-38qh0l_K{--ui-lib-loader-color-default:#131722}html.theme-dark .loader-38qh0l_K .item-38qh0l_K.primary-38qh0l_K{--ui-lib-loader-color-default:#d1d4dc}.loader-38qh0l_K.loader-initial-38qh0l_K{opacity:.1}.loader-38qh0l_K.loader-initial-38qh0l_K .item-38qh0l_K{animation:none;transform:translateY(12px) scale(.6)}.loader-38qh0l_K.loader-appear-38qh0l_K{opacity:1;transition:opacity .7s ease}.loader-38qh0l_K.loader-appear-38qh0l_K .item-38qh0l_K{animation:none;transform:translateY(0) scale(.6)}@keyframes tv-button-loader-38qh0l_K{0%,to{transform:scale(.6)}50%{transform:scale(.9)}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.rtl.css b/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.rtl.css new file mode 100644 index 0000000..6bc0e1d --- /dev/null +++ b/public/static/charting_library/bundles/2273.c8e768dcdd52b58e948e.rtl.css @@ -0,0 +1 @@ +.loader-38qh0l_K{bottom:0;font-size:0;height:100%;left:0;margin:0 auto;opacity:1;position:absolute;right:0;text-align:center;top:0;transition:opacity .35s ease}.loader-38qh0l_K.static-38qh0l_K{display:inline-flex;position:static}.loader-38qh0l_K:after{content:" ";display:inline-block;height:100%;vertical-align:middle}.loader-38qh0l_K .item-38qh0l_K{--ui-lib-loader-color-default:currentColor;animation:tv-button-loader-38qh0l_K .96s ease-in-out infinite both;background-color:var(--ui-lib-loader-color,var(--ui-lib-loader-color-default));border-radius:100%;display:inline-block;height:10px;margin-left:2px;margin-right:2px;opacity:1;transform:translateY(0) scale(.6);transition:transform .35s cubic-bezier(.68,-.55,.265,1.55);vertical-align:middle;width:10px}.loader-38qh0l_K .item-38qh0l_K:nth-child(2){animation-delay:.151s;transition-delay:.11666667s}.loader-38qh0l_K .item-38qh0l_K:nth-child(3){animation-delay:.32s;transition-delay:233.33333ms}.loader-38qh0l_K .item-38qh0l_K.black-38qh0l_K{--ui-lib-loader-color-default:#787b86}.loader-38qh0l_K .item-38qh0l_K.white-38qh0l_K{--ui-lib-loader-color-default:#fff}.loader-38qh0l_K .item-38qh0l_K.gray-38qh0l_K{--ui-lib-loader-color-default:#b2b5be}.loader-38qh0l_K .item-38qh0l_K.primary-38qh0l_K{--ui-lib-loader-color-default:#131722}html.theme-dark .loader-38qh0l_K .item-38qh0l_K.primary-38qh0l_K{--ui-lib-loader-color-default:#d1d4dc}.loader-38qh0l_K.loader-initial-38qh0l_K{opacity:.1}.loader-38qh0l_K.loader-initial-38qh0l_K .item-38qh0l_K{animation:none;transform:translateY(12px) scale(.6)}.loader-38qh0l_K.loader-appear-38qh0l_K{opacity:1;transition:opacity .7s ease}.loader-38qh0l_K.loader-appear-38qh0l_K .item-38qh0l_K{animation:none;transform:translateY(0) scale(.6)}@keyframes tv-button-loader-38qh0l_K{0%,to{transform:scale(.6)}50%{transform:scale(.9)}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.css b/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.css new file mode 100644 index 0000000..5278bec --- /dev/null +++ b/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.css @@ -0,0 +1 @@ +.icon-26rGYU-z{display:flex}.wrap-3JkbcgoB{position:relative}.input-3JkbcgoB{bottom:0;left:0;margin:0;max-width:100%;min-width:100%;opacity:0;position:absolute;top:0} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.rtl.css b/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.rtl.css new file mode 100644 index 0000000..4eefbdf --- /dev/null +++ b/public/static/charting_library/bundles/2321.4f5fec7d39b99277caa5.rtl.css @@ -0,0 +1 @@ +.icon-26rGYU-z{display:flex}.wrap-3JkbcgoB{position:relative}.input-3JkbcgoB{bottom:0;margin:0;max-width:100%;min-width:100%;opacity:0;position:absolute;right:0;top:0} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.css b/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.css new file mode 100644 index 0000000..c9c884d --- /dev/null +++ b/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.css @@ -0,0 +1 @@ +.favorite-I_fAY9V2{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.favorite-I_fAY9V2:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .favorite-I_fAY9V2:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .favorite-I_fAY9V2:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2:hover{color:#b2b5be}}.favorite-I_fAY9V2.disabled-I_fAY9V2,.favorite-I_fAY9V2.disabled-I_fAY9V2:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2.disabled-I_fAY9V2:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2,html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.favorite-I_fAY9V2.active-I_fAY9V2,html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2{color:#90bff9}.favorite-I_fAY9V2.active-I_fAY9V2:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2.active-I_fAY9V2:hover{background-color:#1848cc}}html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2:hover{background-color:#1848cc}}.favorite-I_fAY9V2.checked-I_fAY9V2{color:#fbc02d}html.theme-dark .favorite-I_fAY9V2.checked-I_fAY9V2{color:#f9a825} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.rtl.css b/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.rtl.css new file mode 100644 index 0000000..c9c884d --- /dev/null +++ b/public/static/charting_library/bundles/2359.18a49f656f3259463f4f.rtl.css @@ -0,0 +1 @@ +.favorite-I_fAY9V2{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.favorite-I_fAY9V2:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .favorite-I_fAY9V2:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .favorite-I_fAY9V2:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2:hover{color:#b2b5be}}.favorite-I_fAY9V2.disabled-I_fAY9V2,.favorite-I_fAY9V2.disabled-I_fAY9V2:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2.disabled-I_fAY9V2:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2,html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.favorite-I_fAY9V2.active-I_fAY9V2,html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2{color:#90bff9}.favorite-I_fAY9V2.active-I_fAY9V2:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2.active-I_fAY9V2:hover{background-color:#1848cc}}html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2:hover{background-color:#1848cc}}.favorite-I_fAY9V2.checked-I_fAY9V2{color:#fbc02d}html.theme-dark .favorite-I_fAY9V2.checked-I_fAY9V2{color:#f9a825} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2391.07217bcacc2a0c3b5526.js b/public/static/charting_library/bundles/2391.07217bcacc2a0c3b5526.js new file mode 100644 index 0000000..bf4dc74 --- /dev/null +++ b/public/static/charting_library/bundles/2391.07217bcacc2a0c3b5526.js @@ -0,0 +1,5 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2391],{80152:e=>{e.exports={button:"button-14c_DKWJ",disabled:"disabled-14c_DKWJ",hidden:"hidden-14c_DKWJ",icon:"icon-14c_DKWJ",dropped:"dropped-14c_DKWJ"}},31722:e=>{e.exports={button:"button-1WqyvKNY","button-children":"button-children-1WqyvKNY",hiddenArrow:"hiddenArrow-1WqyvKNY",invisibleFocusHandler:"invisibleFocusHandler-1WqyvKNY"}},31199:e=>{e.exports={placeholder:"placeholder-1J6emFeA"}},41615:(e,t,n)=>{"use strict";n.d(t,{createDomId:()=>a,joinDomIds:()=>c});const l=/\s/g;function o(e){return"string"==typeof e}function r(e){switch(typeof e){case"string":return e;case"number":case"bigint":return e.toString(10);case"boolean":case"symbol":return e.toString();default:return null}}function i(e){return e.trim().length>0}function s(e){return e.replace(l,"-")}function a(...e){const t=e.map(r).filter(o).filter(i).map(s);return(t.length>0&&t[0].startsWith("id_")?t:["id",...t]).join("_")}function c(...e){return e.map(r).filter(o).filter(i).join(" ")}},5862:(e,t,n)=>{"use strict";n.d(t,{useKeyboardToggle:()=>r,useKeyboardClose:()=>i,useKeyboardOpen:()=>s});var l=n(67294),o=n(42998);function r(e){return(0,l.useCallback)(t=>{switch(t){case 13:case 32:return e(),!0;default:return!1}},[e])}function i(e,t){return(0,l.useCallback)(n=>{if(!e)return!1;switch(n){case 9:case o.Modifiers.Shift+9:case 27:return t(),!0;default:return!1}},[e,t])}function s(e,t){return(0,l.useCallback)(n=>{if(e)return!1;switch(n){case 40:case 38:return t(),!0;default:return!1}},[e,t])}},98981:(e,t,n)=>{"use strict";n.d(t,{DisclosureMenuView:()=>v});var l=n(67294),o=n(94184),r=n.n(o),i=n(16282),s=n(66364),a=n(11888),c=n(92136),u=n(49775),d=n(20914),h=n(80152);function f(e){const{isDropped:t}=e;return l.createElement(u.Icon,{className:r()(h.icon,t&&h.dropped),icon:d})}function p(e){const{className:t,disabled:n,isDropped:o}=e;return l.createElement("span",{className:r()(h.button,n&&h.disabled,t)},l.createElement(f,{isDropped:o}))}var b=n(76420),m=n(31722);const v=l.forwardRef((e,t)=>{const{listboxId:n,className:o,listboxClassName:u,listboxTabIndex:d,hideArrowButton:h,matchButtonAndListboxWidths:f,disabled:v,isOpened:g,scrollWrapReference:C,listboxReference:S,size:w="medium",onClose:y,onOpen:k,onListboxFocus:_,onListboxBlur:E,onListboxKeyDown:x,buttonChildren:N,children:M,caretClassName:R,listboxAria:z,...D}=e,B=(0,l.useRef)(null),F=(0,l.useCallback)(()=>{const e=(0,i.ensureNotNull)(B.current).getBoundingClientRect(),t={x:e.left,y:e.top+e.height};return f&&(t.overrideWidth=e.width),t},[]),I=!h&&l.createElement(c.EndSlot,null,l.createElement(p,{isDropped:g,disabled:v,className:R}));return l.createElement(l.Fragment,null,l.createElement(a.ControlSkeleton,{...D,"data-role":"listbox","aria-expanded":g,"aria-owns":g?n:void 0,"aria-controls":g?n:void 0,"aria-disabled":v,disabled:v,className:r()(m.button,o),size:w,ref:(0,s.useMergedRefs)([B,t]),middleSlot:l.createElement(c.MiddleSlot,null,l.createElement("span",{className:r()(m["button-children"],h&&m.hiddenArrow)},N)),endSlot:I +}),l.createElement(b.PopupMenu,{...z,id:n,className:u,tabIndex:d,isOpened:g,position:F,onClose:y,onOpen:k,doNotCloseOn:B.current,reference:S,scrollWrapReference:C,onFocus:_,onBlur:E,onKeyDown:x},M))});v.displayName="DisclosureMenuView"},22904:(e,t,n)=>{"use strict";n.d(t,{useDisclosureMenuControl:()=>a});var l=n(67294),o=n(16282),r=n(15965),i=n(66213),s=n(15738);function a(e){const{disabled:t,intent:n,highlight:a,onFocus:c,onBlur:u,onClick:d}=e,[h,f]=(0,l.useState)(!1),[p,b]=(0,r.useFocus)(),m=p||h,v=null!=a?a:m,g=null!=n?n:m?"primary":"default",C=(0,l.useRef)(null),S=(0,l.useCallback)(()=>(0,o.ensureNotNull)(C.current).focus(),[C]),w=(0,l.useRef)(null),y=(0,l.useCallback)(()=>(0,o.ensureNotNull)(w.current).focus(),[w]),k=(0,l.useCallback)(()=>f(!0),[f]),_=(0,l.useCallback)(()=>{f(!1);const{activeElement:e}=document;e&&(0,s.isTextEditingField)(e)||S()},[f,S]),E=(0,l.useCallback)(()=>{h?_():k()},[h,_,k]),x=t?[]:[c,b.onFocus],N=t?[]:[u,b.onBlur],M=t?[]:[d,E],R=(0,i.createSafeMulticastEventHandler)(...x),z=(0,i.createSafeMulticastEventHandler)(...N),D=(0,i.createSafeMulticastEventHandler)(...M);return{isOpened:h,isFocused:m,highlight:v,intent:g,open:k,onOpen:y,close:_,toggle:E,buttonFocusBindings:{onFocus:R,onBlur:z},onButtonClick:D,buttonRef:C,listboxRef:w}}},45221:(e,t,n)=>{"use strict";n.d(t,{Select:()=>_});var l=n(67294),o=n(16282),r=n(41615),i=n(8596);const s={duration:200},a={vertical:{scrollSize:"scrollHeight",clientSize:"clientHeight",start:"top",end:"bottom",size:"height"},horizontal:{scrollSize:"scrollWidth",clientSize:"clientWidth",start:"left",end:"right",size:"width"}};function c(e,t){const n=a[e];return t[n.scrollSize]>t[n.clientSize]}function u(e,t,n,l,o,r){const s=function(e,t,n){const l=a[e];return{start:0,middle:-1*(Math.floor(n[l.size]/2)-Math.floor(t[l.size]/2)),end:-1*(n[l.size]-t[l.size])}}(e,l,o);let c=0;if(function(e,t,n){const l=a[e];return t[l.start]n[l.end]+n[l.size]/2}(e,l,o))c=s.middle;else{const t=function(e){const{start:t,middle:n,end:l}=e,o=new Map([[Math.abs(t),{key:"start",value:Math.sign(t)}],[Math.abs(n),{key:"middle",value:Math.sign(n)}],[Math.abs(l),{key:"end",value:Math.sign(l)}]]),r=Math.min(...o.keys());return o.get(r)}(function(e,t,n){const l=a[e],o=t[l.start]+Math.floor(t[l.size]/2),r=n[l.start]+Math.floor(n[l.size]/2);return{start:t[l.start]-n[l.start],middle:o-r,end:t[l.end]-n[l.end]}}(e,l,o));c=void 0!==t?s[t.key]:0}return function(e){const{additionalScroll:t=0,duration:n=i.dur,func:l=i.easingFunc.easeInOutCubic,onScrollEnd:o,target:r,wrap:s,direction:a="vertical"}=e;let{targetRect:c,wrapRect:u}=e;c=null!=c?c:r.getBoundingClientRect(),u=null!=u?u:s.getBoundingClientRect();const d=("vertical"===a?c.top-u.top:c.left-u.left)+t,h="vertical"===a?"scrollTop":"scrollLeft",f=s?s[h]:0;let p,b=0;return b=window.requestAnimationFrame((function e(t){let r;if(p?r=t-p:(r=0,p=t),r>=n)return s[h]=f+d,void(o&&o());const i=f+d*l(r/n);s[h]=Math.floor(i),b=window.requestAnimationFrame(e)})),function(){window.cancelAnimationFrame(b),o&&o()}}({...r,target:t, +targetRect:l,wrap:n,wrapRect:o,additionalScroll:c,direction:e})}class d{constructor(e=null){this._container=null,this._lastScrolledElement=null,this._stopVerticalScroll=null,this._stopHorizontalScroll=null,this._container=e}scrollTo(e,t=s){if(null!==this._container&&null!==e&&!function(e,t){const n=e.getBoundingClientRect(),l=t.getBoundingClientRect();return n.top>=l.top&&n.bottom<=l.bottom&&n.left>=l.left&&n.right<=l.right}(e,this._container)){const n=e.getBoundingClientRect(),l=this._container.getBoundingClientRect();this.stopScroll(),c("vertical",this._container)&&(this._stopVerticalScroll=u("vertical",e,this._container,n,l,this._modifyOptions("vertical",t))),c("horizontal",this._container)&&(this._stopHorizontalScroll=u("horizontal",e,this._container,n,l,this._modifyOptions("horizontal",t)))}this._lastScrolledElement=e}scrollToLastElement(e){this.scrollTo(this._lastScrolledElement,e)}stopScroll(){null!==this._stopVerticalScroll&&this._stopVerticalScroll(),null!==this._stopHorizontalScroll&&this._stopHorizontalScroll()}setContainer(e){var t;this._container=e,(null===(t=this._container)||void 0===t?void 0:t.contains(this._lastScrolledElement))||(this._lastScrolledElement=null)}destroy(){this.stopScroll(),this._container=null,this._lastScrolledElement=null}_handleScrollEnd(e){"vertical"===e?this._stopVerticalScroll=null:this._stopHorizontalScroll=null}_modifyOptions(e,t){return Object.assign({},t,{onScrollEnd:()=>{this._handleScrollEnd(e),void 0!==t.onScrollEnd&&t.onScrollEnd()}})}}var h=n(66364),f=n(95860),p=n(99479),b=n(58848);var m=n(98981),v=n(5862),g=n(22904),C=n(42998),S=n(31199);function w(e){return!e.readonly}function y(e,t){var n;return null!==(n=null==t?void 0:t.id)&&void 0!==n?n:(0,r.createDomId)(e,"item",null==t?void 0:t.value)}function k(e){var t,n;const{selectedItem:o,placeholder:r}=e;if(!o)return l.createElement("span",{className:S.placeholder},r);const i=null!==(n=null!==(t=o.selectedContent)&&void 0!==t?t:o.content)&&void 0!==n?n:o.value;return l.createElement("span",null,i)}const _=l.forwardRef((e,t)=>{const{id:n,menuClassName:i,menuItemClassName:s,tabIndex:a=0,disabled:c,highlight:u,intent:S,hideArrowButton:_,placeholder:E,addPlaceholderToItems:x=!0,value:N,"aria-labelledby":M,onFocus:R,onBlur:z,onClick:D,onChange:B,...F}=e;let{items:I}=e;if(E&&x){I=[{value:void 0,content:E,id:(0,r.createDomId)(n,"placeholder")},...I]}const{isOpened:W,isFocused:K,highlight:O,intent:A,open:T,onOpen:H,close:L,toggle:V,buttonFocusBindings:q,onButtonClick:J,buttonRef:j,listboxRef:P}=(0,g.useDisclosureMenuControl)({disabled:c,intent:S,highlight:u,onFocus:R,onBlur:z,onClick:D}),Y=function(e){const t=(0,l.useRef)(null);return(0,l.useEffect)(()=>(t.current=new d(e),()=>(0,o.ensureNotNull)(t.current).destroy()),[]),t}(),G=(0,l.useRef)(null),Q=(0,l.useRef)(new WeakMap),U=I.filter(w),X=U.find(e=>e.value===N);(0,l.useEffect)(()=>ae(),[X,ae]);const Z=(0,r.joinDomIds)(M,n),$=Z.length>0?Z:void 0,ee=(0,r.createDomId)(n,"listbox"),te=(0,l.useMemo)(()=>({role:"listbox","aria-labelledby":M,"aria-activedescendant":y(n,X) +}),[M,X]),ne=function(e,t,n){const o=(0,l.useCallback)(()=>{const l=e.findIndex(e=>e.value===t);l!==e.length-1&&n&&n(e[l+1].value)},[e,t,n]),r=(0,l.useCallback)(()=>{const l=e.findIndex(e=>e.value===t);if(0===l)return;n&&n(e[l>0?l-1:0].value)},[e,t,n]),i=(0,l.useCallback)(()=>{n&&n(e[0].value)},[n,e]),s=(0,l.useCallback)(()=>{n&&n(e[e.length-1].value)},[n,e]);return(0,l.useCallback)(e=>{switch(e){case 40:return o(),!0;case 38:return r(),!0;case 34:return s(),!0;case 33:return i(),!0;default:return!1}},[o,r,i,s])}(U,N,B),le=(0,v.useKeyboardToggle)(V),oe=(0,v.useKeyboardClose)(W,L),re=(0,v.useKeyboardOpen)(W,T),ie=function(e){const t=(0,l.useRef)(""),n=(0,l.useMemo)(()=>(0,p.default)(()=>{t.current=""},500),[]),o=(0,l.useMemo)(()=>(0,b.default)(e,200),[e]);return(0,l.useCallback)(e=>{e.key.length>0&&e.key.length<3&&(t.current+=e.key,o(t.current,e),n())},[n,o])}((e,t)=>{const n=function(e,t){return e.find(e=>{var n;const l=t.toLowerCase();return!e.readonly&&(!e.readonly&&("string"==typeof e.content&&e.content.toLowerCase().startsWith(l)||String(null!==(n=e.value)&&void 0!==n?n:"").toLowerCase().startsWith(l)))})}(U,e);void 0!==n&&B&&(t.stopPropagation(),W||T(),B(n.value))});return l.createElement(m.DisclosureMenuView,{...F,...q,id:n,role:"button",tabIndex:c?-1:a,"aria-haspopup":"listbox","aria-labelledby":$,disabled:c,hideArrowButton:_,isFocused:K,isOpened:W,highlight:O,intent:A,ref:(0,h.useMergedRefs)([j,t]),onClick:J,onOpen:function(){ae({duration:0}),H()},onClose:L,onKeyDown:function(e){const t=(0,C.hashFromEvent)(e);if(le(t)||oe(t)||re(t))return void e.preventDefault();ie(e)},listboxId:ee,listboxTabIndex:-1,listboxClassName:i,listboxAria:te,listboxReference:P,scrollWrapReference:function(e){G.current=e,(0,o.ensureNotNull)(Y.current).setContainer(e)},onListboxKeyDown:function(e){const t=(0,C.hashFromEvent)(e);if(ne(t)||le(t)||oe(t))return void e.preventDefault();ie(e)},buttonChildren:l.createElement(k,{selectedItem:X,placeholder:E})},I.map((e,t)=>{var o;if(e.readonly)return l.createElement(l.Fragment,{key:"readonly_item_"+t},e.content);const r=y(n,e);return l.createElement(f.PopupMenuItem,{key:r,id:r,className:s,role:"option","aria-selected":N===e.value,isActive:N===e.value,label:null!==(o=e.content)&&void 0!==o?o:e.value,onClick:se,onClickArg:e.value,isDisabled:e.disabled,reference:t=>function(e,t){Q.current.set(e,t)}(e,t)})}));function se(e){B&&B(e)}function ae(e){if(W&&void 0!==X){const t=Q.current.get(X);null!=t&&(0,o.ensureNotNull)(Y.current).scrollTo(t,e)}}});_.displayName="Select"},73991:(e,t,n)=>{"use strict";n.d(t,{TouchScrollContainer:()=>s});var l=n(67294),o=n(67891),r=n(16282),i=n(43367);function s(e){const{reference:t,children:n,...r}=e,s=(0,l.useRef)(null),c=(0,l.useCallback)(e=>{t&&(t.current=e),i.CheckMobile.iOS()&&(null!==s.current&&(0,o.enableBodyScroll)(s.current),s.current=e,null!==s.current&&(0,o.disableBodyScroll)(s.current,{allowTouchMove:a(s)}))},[t]);return l.createElement("div",{ref:c,...r},n)}function a(e){return t=>{const n=(0,r.ensureNotNull)(e.current),l=document.activeElement +;return!n.contains(t)||null!==l&&n.contains(l)&&l.contains(t)}}},20914:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/2402.4ce4e3425dce9bceed85.js b/public/static/charting_library/bundles/2402.4ce4e3425dce9bceed85.js new file mode 100644 index 0000000..c2f7fcb --- /dev/null +++ b/public/static/charting_library/bundles/2402.4ce4e3425dce9bceed85.js @@ -0,0 +1,4 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2402],{66541:t=>{t.exports={dialog:"dialog-UM6w7sFp",rounded:"rounded-UM6w7sFp",shadowed:"shadowed-UM6w7sFp",fullscreen:"fullscreen-UM6w7sFp",darker:"darker-UM6w7sFp",backdrop:"backdrop-UM6w7sFp"}},27898:t=>{t.exports={"tablet-normal-breakpoint":"screen and (max-width: 768px)","tooltip-offset":"20px",dialog:"dialog-2AogBbC7",dragging:"dragging-2AogBbC7",dialogAnimatedAppearance:"dialogAnimatedAppearance-2AogBbC7",dialogAnimation:"dialogAnimation-2AogBbC7",dialogTooltip:"dialogTooltip-2AogBbC7"}},90714:(t,e,i)=>{"use strict";i.d(e,{PopupContext:()=>s});const s=i(67294).createContext(null)},32402:(t,e,i)=>{"use strict";i.d(e,{PopupDialog:()=>T});var s=i(67294),o=i(94184),n=i(16282),a=i(78106),r=i(90071),l=i(74818),h=i(66541);class d extends s.PureComponent{constructor(){super(...arguments),this._manager=new r.OverlapManager,this._handleSlot=t=>{this._manager.setContainer(t)}}render(){const{rounded:t=!0,shadowed:e=!0,fullscreen:i=!1,darker:n=!1,className:r,backdrop:d}=this.props,c=o(r,h.dialog,t&&h.rounded,e&&h.shadowed,i&&h.fullscreen,n&&h.darker),u=(0,l.filterDataProps)(this.props),g=this.props.style?{...this._createStyles(),...this.props.style}:this._createStyles();return s.createElement(s.Fragment,null,s.createElement(a.SlotContext.Provider,{value:this._manager},d&&s.createElement("div",{onClick:this.props.onClickBackdrop,className:h.backdrop}),s.createElement("div",{...u,className:c,style:g,ref:this.props.reference,onFocus:this.props.onFocus,onMouseDown:this.props.onMouseDown,onMouseUp:this.props.onMouseUp,onClick:this.props.onClick,onKeyDown:this.props.onKeyDown,tabIndex:-1},this.props.children)),s.createElement(a.Slot,{reference:this._handleSlot}))}_createStyles(){const{bottom:t,left:e,width:i,right:s,top:o,zIndex:n,height:a}=this.props;return{bottom:t,left:e,right:s,top:o,zIndex:n,maxWidth:i,height:a}}}var c=i(36668),u=i(13894),g=i(57968);function p(t,e,i,s){return t+e>s&&(t=s-e),t{if(0!==t.button)return;t.preventDefault(),document.addEventListener("mousemove",this._onMouseDragMove),document.addEventListener("mouseup",this._onMouseDragEnd);const e=_(m(t));this._dragStart(e)},this._onTouchDragStart=t=>{this._canBeTouchClick=!0,t.preventDefault(),this._header.addEventListener("touchmove",this._onTouchDragMove,{passive:!1});const e=_(f(t));this._dragStart(e)},this._onMouseDragEnd=t=>{t.target instanceof Node&&this._header.contains(t.target)&&t.preventDefault(),document.removeEventListener("mousemove",this._onMouseDragMove),document.removeEventListener("mouseup",this._onMouseDragEnd),this._onDragStop()},this._onTouchDragEnd=t=>{ +this._header.removeEventListener("touchmove",this._onTouchDragMove),this._onDragStop(),this._canBeTouchClick&&(this._canBeTouchClick=!1,function(t){if(t instanceof SVGElement){const e=document.createEvent("SVGEvents");e.initEvent("click",!0,!0),t.dispatchEvent(e)}t instanceof HTMLElement&&t.click()}(t.target))},this._onMouseDragMove=t=>{const e=_(m(t));this._dragMove(e)},this._onTouchDragMove=t=>{this._canBeTouchClick=!1,t.preventDefault();const e=_(f(t));this._dragMove(e)},this._onDragStop=()=>{this._drag=null,this._header.classList.remove("dragging")},this._dialog=t,this._header=e,this._options=i,this._header.addEventListener("mousedown",this._onMouseDragStart),this._header.addEventListener("touchstart",this._onTouchDragStart),this._header.addEventListener("touchend",this._onTouchDragEnd)}destroy(){null!==this._frame&&cancelAnimationFrame(this._frame),this._header.removeEventListener("mousedown",this._onMouseDragStart),document.removeEventListener("mouseup",this._onMouseDragEnd),this._header.removeEventListener("touchstart",this._onTouchDragStart),this._header.removeEventListener("touchend",this._onTouchDragEnd),document.removeEventListener("mouseleave",this._onMouseDragEnd)}updateOptions(t){this._options=t}_dragStart(t){const e=this._dialog.getBoundingClientRect();this._drag={startX:t.x,startY:t.y,finishX:t.x,finishY:t.y,dialogX:e.left,dialogY:e.top};const i=Math.round(e.left),s=Math.round(e.top);this._dialog.style.transform=`translate(${i}px, ${s}px)`,this._header.classList.add("dragging"),this._options.onDragStart&&this._options.onDragStart()}_dragMove(t){if(this._drag){if(this._drag.finishX=t.x,this._drag.finishY=t.y,null!==this._frame)return;this._frame=requestAnimationFrame(()=>{if(this._drag){const e=t.x-this._drag.startX,i=t.y-this._drag.startY;this._moveDialog(this._drag.dialogX+e,this._drag.dialogY+i)}this._frame=null})}}_moveDialog(t,e){const i=this._dialog.getBoundingClientRect(),{boundByScreen:s}=this._options,o=p(t,i.width,s?0:-1/0,s?window.innerWidth:1/0),n=p(e,i.height,s?0:-1/0,s?window.innerHeight:1/0);this._dialog.style.transform=`translate(${Math.round(o)}px, ${Math.round(n)}px)`}}const y={vertical:0};class D{constructor(t,e){this._frame=null,this._isFullscreen=!1,this._handleResize=()=>{null===this._frame&&(this._frame=requestAnimationFrame(()=>{this.recalculateBounds(),this._frame=null}))},this._dialog=t,this._guard=e.guard||y,this._calculateDialogPosition=e.calculateDialogPosition,this._initialHeight=t.style.height,window.addEventListener("resize",this._handleResize)}updateOptions(t){this._guard=t.guard||y,this._calculateDialogPosition=t.calculateDialogPosition}setFullscreen(t){this._isFullscreen!==t&&(this._isFullscreen=t,this.recalculateBounds())}centerAndFit(){const{x:t,y:e}=this.getDialogsTopLeftCoordinates(),i=this._calcAvailableHeight(),s=this._calcDialogHeight();i===s&&(this._dialog.style.height=s+"px"),this._dialog.style.top="0px",this._dialog.style.left="0px",this._dialog.style.transform=`translate(${t}px, ${e}px)`}getDialogsTopLeftCoordinates(){ +const{clientHeight:t,clientWidth:e}=document.documentElement,i=this._calcDialogHeight(),s=e/2-this._dialog.clientWidth/2,o=t/2-i/2;return{x:Math.round(s),y:Math.round(o)}}recalculateBounds(){const{clientHeight:t,clientWidth:e}=document.documentElement;if(this._isFullscreen)this._dialog.style.top="0px",this._dialog.style.left="0px",this._dialog.style.width="100%",this._dialog.style.height="100%",this._dialog.style.transform="none";else{const{vertical:i}=this._guard;if(this._calculateDialogPosition){const s=this._calculateDialogPosition(this._dialog,{clientWidth:e,clientHeight:t},{vertical:i}),{left:o,top:n}=s;this._dialog.style.transform=`translate(${Math.round(o)}px, ${Math.round(n)}px)`}else{this._dialog.style.width="",this._dialog.style.height="";const s=this._dialog.getBoundingClientRect(),o=t-2*i,n=p(s.left,s.width,0,e),a=p(s.top,s.height,i,t);this._dialog.style.top="0px",this._dialog.style.left="0px",this._dialog.style.transform=`translate(${Math.round(n)}px, ${Math.round(a)}px)`,this._dialog.style.height=o{const{reference:e}=this.props;this._dialog=t,"function"==typeof e&&e(t)},this._handleFocus=t=>{this._moveToTop()},this._handleMouseDown=t=>{this._moveToTop()},this._handleTouchStart=t=>{this._moveToTop()},this.state={canFitTooltip:!1}}render(){return s.createElement(E.PopupContext.Provider,{value:this},s.createElement(u.OutsideEvent,{mouseDown:!0,touchStart:!0,handler:this.props.onClickOutside},t=>s.createElement("div",{ref:t,"data-outside-boundary-for":this.props.name,onFocus:this._handleFocus,onMouseDown:this._handleMouseDown,onTouchStart:this._handleTouchStart,"data-dialog-name":this.props["data-dialog-name"]},s.createElement(d,{style:this._applyAnimationCSSVariables(),...this.props,reference:this._handleDialogRef,className:o(M.dialog,this.props.className)},!1,this.props.children))))}componentDidMount(){const{draggable:t,boundByScreen:e,onDragStart:i}=this.props,s=(0,n.ensureNotNull)(this._dialog);if(t){const t=s.querySelector("[data-dragg-area]");t&&t instanceof HTMLElement&&(this._drag=new v(s,t,{boundByScreen:Boolean(e),onDragStart:i}))}this.props.autofocus&&!s.contains(document.activeElement)&&s.focus(),(this._isFullScreen()||this.props.fixedBody)&&(0,S.setFixedBodyState)(!0);const{guard:o,calculateDialogPosition:a}=this.props;this._resize=new D(s,{guard:o,calculateDialogPosition:a}),this.props.isAnimationEnabled&&this.props.growPoint&&this._applyAppearanceAnimation(this.props.growPoint),this.props.centeredOnMount&&this._resize.centerAndFit(), +this._resize.setFullscreen(this._isFullScreen()),this.props.shouldForceFocus&&s.focus()}componentDidUpdate(){if(this._resize){const{guard:t,calculateDialogPosition:e}=this.props;this._resize.updateOptions({guard:t,calculateDialogPosition:e}),this._resize.setFullscreen(this._isFullScreen())}this._drag&&this._drag.updateOptions({boundByScreen:Boolean(this.props.boundByScreen),onDragStart:this.props.onDragStart})}componentWillUnmount(){this._drag&&this._drag.destroy(),this._resize&&this._resize.destroy(),(this._isFullScreen()||this.props.fixedBody)&&(0,S.setFixedBodyState)(!1)}focus(){this._dialog&&this._dialog.focus()}centerAndFit(){this._resize&&this._resize.centerAndFit()}recalculateBounds(){this._resize&&this._resize.recalculateBounds()}_moveToTop(){null!==this.context&&this.context.moveToTop()}_applyAnimationCSSVariables(){return{"--animationTranslateStartX":null,"--animationTranslateStartY":null,"--animationTranslateEndX":null,"--animationTranslateEndY":null}}_applyAppearanceAnimation(t){if(this._resize&&this._dialog){const{x:e,y:i}=t,{x:s,y:o}=this._resize.getDialogsTopLeftCoordinates();this._dialog.style.setProperty("--animationTranslateStartX",e+"px"),this._dialog.style.setProperty("--animationTranslateStartY",i+"px"),this._dialog.style.setProperty("--animationTranslateEndX",s+"px"),this._dialog.style.setProperty("--animationTranslateEndY",o+"px"),this._dialog.classList.add(M.dialogAnimatedAppearance)}}_handleTooltipFit(){0}_isFullScreen(){return Boolean(this.props.fullscreen)}}w.contextType=x.PortalContext,w.defaultProps={boundByScreen:!0,draggable:!0,centeredOnMount:!0};const T=(0,c.makeOverlapable)(w)},13894:(t,e,i)=>{"use strict";i.d(e,{OutsideEvent:()=>o});var s=i(47165);function o(t){const{children:e,...i}=t;return e((0,s.useOutsideEvent)(i))}},36668:(t,e,i)=>{"use strict";i.d(e,{makeOverlapable:()=>n});var s=i(67294),o=i(4735);function n(t){return class extends s.PureComponent{render(){const{isOpened:e,root:i}=this.props;if(!e)return null;const n=s.createElement(t,{...this.props,zIndex:150});return"parent"===i?n:s.createElement(o.Portal,null,n)}}}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/2444.89916595bdde00535f06.js b/public/static/charting_library/bundles/2444.89916595bdde00535f06.js new file mode 100644 index 0000000..4a09ce5 --- /dev/null +++ b/public/static/charting_library/bundles/2444.89916595bdde00535f06.js @@ -0,0 +1,2 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2444],{36677:t=>{t.exports={wrap:"wrap-3obNZqvj",wrapWithArrowsOuting:"wrapWithArrowsOuting-3obNZqvj",wrapOverflow:"wrapOverflow-3obNZqvj",scrollWrap:"scrollWrap-3obNZqvj",noScrollBar:"noScrollBar-3obNZqvj",icon:"icon-3obNZqvj",scrollLeft:"scrollLeft-3obNZqvj",scrollRight:"scrollRight-3obNZqvj",isVisible:"isVisible-3obNZqvj",iconWrap:"iconWrap-3obNZqvj",fadeLeft:"fadeLeft-3obNZqvj",fadeRight:"fadeRight-3obNZqvj"}},52444:(t,e,s)=>{"use strict";s.d(e,{HorizontalScroll:()=>R});var i=s(67294),r=s(94184),o=s(5383),n=s(16282),l=s(49775),a=s(99432),h=s(83939),c=s(76553),u=s(38508),d=s(36677);const p={isVisibleScrollbar:!0,shouldMeasure:!0,hideButtonsFrom:1};function f(t){return i.createElement("div",{className:r(d.fadeLeft,t.className,{[d.isVisible]:t.isVisible})})}function w(t){return i.createElement("div",{className:r(d.fadeRight,t.className,{[d.isVisible]:t.isVisible})})}function b(t){return i.createElement(v,{...t,className:d.scrollLeft})}function m(t){return i.createElement(v,{...t,className:d.scrollRight})}function v(t){return i.createElement("div",{className:r(t.className,{[d.isVisible]:t.isVisible}),onClick:t.onClick},i.createElement("div",{className:d.iconWrap},i.createElement(l.Icon,{icon:u,className:d.icon})))}const R=function(t=b,e=m,s=f,l=w){var u;return(u=class extends i.PureComponent{constructor(t){super(t),this._scroll=i.createRef(),this._wrapMeasureRef=i.createRef(),this._contentMeasureRef=i.createRef(),this._handleScrollLeft=()=>{if(this.props.onScrollButtonClick)return void this.props.onScrollButtonClick("left");const t=this.props.scrollStepSize||this.state.widthWrap-50;this.animateTo(Math.max(0,this.currentPosition()-t))},this._handleScrollRight=()=>{if(this.props.onScrollButtonClick)return void this.props.onScrollButtonClick("right");const t=this.props.scrollStepSize||this.state.widthWrap-50;this.animateTo(Math.min((this.state.widthContent||0)-(this.state.widthWrap||0),this.currentPosition()+t))},this._handleResizeWrap=t=>{this.props.onMeasureWrap&&this.props.onMeasureWrap(t),this.setState({widthWrap:t.width}),this._checkButtonsVisibility()},this._handleResizeContent=t=>{this.props.onMeasureContent&&this.props.onMeasureContent(t);const{shouldDecreaseWidthContent:e,buttonsWidthIfDecreasedWidthContent:s}=this.props;e&&s?this.setState({widthContent:t.width+2*s}):this.setState({widthContent:t.width})},this._handleScroll=()=>{const{onScroll:t}=this.props;t&&t(this.currentPosition(),this.isAtLeft(),this.isAtRight()),this._checkButtonsVisibility()},this._checkButtonsVisibility=()=>{const{isVisibleLeftButton:t,isVisibleRightButton:e}=this.state,s=this.isAtLeft(),i=this.isAtRight();s||t?s&&t&&this.setState({isVisibleLeftButton:!1}):this.setState({isVisibleLeftButton:!0}),i||e?i&&e&&this.setState({isVisibleRightButton:!1}):this.setState({isVisibleRightButton:!0})},this.state={widthContent:0,widthWrap:0,isVisibleRightButton:!1,isVisibleLeftButton:!1}}componentDidMount(){this._checkButtonsVisibility()}componentDidUpdate(t,e){ +e.widthWrap===this.state.widthWrap&&e.widthContent===this.state.widthContent||this._handleScroll(),this.props.shouldMeasure&&this._wrapMeasureRef.current&&this._contentMeasureRef.current&&(this._wrapMeasureRef.current.measure(),this._contentMeasureRef.current.measure())}currentPosition(){return this._scroll.current?(0,c.isRtl)()?(0,c.getLTRScrollLeft)(this._scroll.current):this._scroll.current.scrollLeft:0}isAtLeft(){return!this._isOverflowed()||this.currentPosition()<=(0,n.ensureDefined)(this.props.hideButtonsFrom)}isAtRight(){return!this._isOverflowed()||this.currentPosition()+this.state.widthWrap>=this.state.widthContent-(0,n.ensureDefined)(this.props.hideButtonsFrom)}animateTo(t,e=h.dur){const s=this._scroll.current;s&&((0,c.isRtl)()&&(t=(0,c.getLTRScrollLeftOffset)(s,t)),e<=0?s.scrollLeft=Math.round(t):(0,a.doAnimate)({onStep(t,e){s.scrollLeft=Math.round(e)},from:s.scrollLeft,to:Math.round(t),easing:h.easingFunc.easeInOutCubic,duration:e}))}render(){const{children:n,isVisibleScrollbar:a,isVisibleFade:h,isVisibleButtons:c,shouldMeasure:u,shouldDecreaseWidthContent:p,buttonsWidthIfDecreasedWidthContent:f,onMouseOver:w,onMouseOut:b,scrollWrapClassName:m,fadeClassName:v}=this.props,{isVisibleRightButton:R,isVisibleLeftButton:S}=this.state,_=p&&f;return i.createElement(o,{whitelist:["width"],onMeasure:this._handleResizeWrap,shouldMeasure:u,ref:this._wrapMeasureRef},i.createElement("div",{className:d.wrapOverflow,onMouseOver:w,onMouseOut:b},i.createElement("div",{className:r(d.wrap,_?d.wrapWithArrowsOuting:"")},i.createElement("div",{className:r(d.scrollWrap,m,{[d.noScrollBar]:!a}),onScroll:this._handleScroll,ref:this._scroll},i.createElement(o,{onMeasure:this._handleResizeContent,whitelist:["width"],shouldMeasure:u,ref:this._contentMeasureRef},n)),h&&i.createElement(s,{isVisible:S,className:v}),h&&i.createElement(l,{isVisible:R,className:v}),c&&i.createElement(t,{onClick:this._handleScrollLeft,isVisible:S}),c&&i.createElement(e,{onClick:this._handleScrollRight,isVisible:R}))))}_isOverflowed(){const{widthContent:t,widthWrap:e}=this.state;return t>e}}).defaultProps=p,u}(b,m,f,w)},38508:t=>{t.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/2614.9b290389192f690dd33c.css b/public/static/charting_library/bundles/2614.9b290389192f690dd33c.css new file mode 100644 index 0000000..85900bb --- /dev/null +++ b/public/static/charting_library/bundles/2614.9b290389192f690dd33c.css @@ -0,0 +1 @@ +.dialog-23lGwisF{min-width:254px;padding:40px;width:auto}.dialogInner-23lGwisF{align-items:center;display:flex;flex-direction:column}.titleWrapper-23lGwisF{align-items:center;display:flex;justify-content:center;margin-bottom:16px;max-width:100%}.title-23lGwisF{color:#131722;cursor:default;font-size:20px;font-weight:700;line-height:28px;overflow:hidden;white-space:nowrap}html.theme-dark .title-23lGwisF{color:#b2b5be}.infoHint-23lGwisF{color:#787b86;height:18px;margin-left:8px;width:18px}.form-23lGwisF{display:flex;max-width:200px;width:100%}.inputWrapper-23lGwisF{flex-grow:1}.input-23lGwisF{font-size:24px;text-align:center}.hint-23lGwisF{color:#787b86;cursor:default;font-size:12px;line-height:18px;margin-top:3px;max-width:100%;overflow:hidden;white-space:nowrap}.error-23lGwisF{color:#f23645} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2614.9b290389192f690dd33c.rtl.css b/public/static/charting_library/bundles/2614.9b290389192f690dd33c.rtl.css new file mode 100644 index 0000000..2e74466 --- /dev/null +++ b/public/static/charting_library/bundles/2614.9b290389192f690dd33c.rtl.css @@ -0,0 +1 @@ +.dialog-23lGwisF{min-width:254px;padding:40px;width:auto}.dialogInner-23lGwisF{align-items:center;display:flex;flex-direction:column}.titleWrapper-23lGwisF{align-items:center;display:flex;justify-content:center;margin-bottom:16px;max-width:100%}.title-23lGwisF{color:#131722;cursor:default;font-size:20px;font-weight:700;line-height:28px;overflow:hidden;white-space:nowrap}html.theme-dark .title-23lGwisF{color:#b2b5be}.infoHint-23lGwisF{color:#787b86;height:18px;margin-right:8px;width:18px}.form-23lGwisF{display:flex;max-width:200px;width:100%}.inputWrapper-23lGwisF{flex-grow:1}.input-23lGwisF{font-size:24px;text-align:center}.hint-23lGwisF{color:#787b86;cursor:default;font-size:12px;line-height:18px;margin-top:3px;max-width:100%;overflow:hidden;white-space:nowrap}.error-23lGwisF{color:#f23645} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.css b/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.css new file mode 100644 index 0000000..8e140b7 --- /dev/null +++ b/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.css @@ -0,0 +1 @@ +.button-14c_DKWJ{align-items:center;background-color:initial;border:none;border-radius:2px;box-sizing:border-box;cursor:default;display:flex;flex:none;height:100%;justify-content:center;margin:0;outline:none!important;padding:0;width:21px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-14c_DKWJ:hover:not(.disabled-14c_DKWJ){background-color:#f0f3fa}html.theme-dark .button-14c_DKWJ:hover:not(.disabled-14c_DKWJ){background-color:#363a45}}.button-14c_DKWJ.hidden-14c_DKWJ{display:none}.icon-14c_DKWJ{align-items:center;display:flex;flex:none;justify-content:center;transition:transform .35s ease}.icon-14c_DKWJ.dropped-14c_DKWJ{transform:rotate(180deg)}.button-1WqyvKNY{cursor:default;-webkit-user-select:none;user-select:none}.button-children-1WqyvKNY{display:block;overflow:hidden;padding:0 2px 0 6px;text-overflow:ellipsis;white-space:nowrap;width:100%}.button-children-1WqyvKNY.hiddenArrow-1WqyvKNY{padding-right:6px}.invisibleFocusHandler-1WqyvKNY{height:0;opacity:0;pointer-events:none;width:0}.placeholder-1J6emFeA{-webkit-text-fill-color:currentColor;color:#a3a6af;opacity:1}html.theme-dark .placeholder-1J6emFeA{color:#434651} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.rtl.css b/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.rtl.css new file mode 100644 index 0000000..5f82f53 --- /dev/null +++ b/public/static/charting_library/bundles/2778.22f147dbe677a02ae3db.rtl.css @@ -0,0 +1 @@ +.button-14c_DKWJ{align-items:center;background-color:initial;border:none;border-radius:2px;box-sizing:border-box;cursor:default;display:flex;flex:none;height:100%;justify-content:center;margin:0;outline:none!important;padding:0;width:21px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-14c_DKWJ:hover:not(.disabled-14c_DKWJ){background-color:#f0f3fa}html.theme-dark .button-14c_DKWJ:hover:not(.disabled-14c_DKWJ){background-color:#363a45}}.button-14c_DKWJ.hidden-14c_DKWJ{display:none}.icon-14c_DKWJ{align-items:center;display:flex;flex:none;justify-content:center;transition:transform .35s ease}.icon-14c_DKWJ.dropped-14c_DKWJ{transform:rotate(-180deg)}.button-1WqyvKNY{cursor:default;-webkit-user-select:none;user-select:none}.button-children-1WqyvKNY{display:block;overflow:hidden;padding:0 6px 0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.button-children-1WqyvKNY.hiddenArrow-1WqyvKNY{padding-left:6px}.invisibleFocusHandler-1WqyvKNY{height:0;opacity:0;pointer-events:none;width:0}.placeholder-1J6emFeA{-webkit-text-fill-color:currentColor;color:#a3a6af;opacity:1}html.theme-dark .placeholder-1J6emFeA{color:#434651} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.css b/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.css new file mode 100644 index 0000000..da27642 --- /dev/null +++ b/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.css @@ -0,0 +1 @@ +.wrapper-DggvOZTm{display:flex;flex:1 1 auto;height:100%;overflow:hidden}.container-DggvOZTm{-webkit-overflow-scrolling:touch;border-right:1px solid #e0e3eb;display:flex;flex:1 1 auto;flex:none;flex-direction:column;min-height:145px;overflow-x:hidden;overflow-y:auto;padding-bottom:6px;padding-top:6px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin;width:200px}html.theme-dark .container-DggvOZTm{border-right:1px solid #434651;scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.container-DggvOZTm{min-height:auto}}.container-DggvOZTm::-webkit-scrollbar{height:5px;width:5px}.container-DggvOZTm::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .container-DggvOZTm::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.container-DggvOZTm::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.container-DggvOZTm::-webkit-scrollbar-corner{display:none}.tab-DggvOZTm{align-items:center;color:#131722;display:flex;padding:6px 0 6px 20px}html.theme-dark .tab-DggvOZTm{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tab-DggvOZTm:hover{background-color:#f0f3fa}html.theme-dark .tab-DggvOZTm:hover{background-color:#2a2e39}}.tab-DggvOZTm.active-DggvOZTm,html.theme-dark .tab-DggvOZTm.active-DggvOZTm{background-color:#2962ff}.tab-DggvOZTm.active-DggvOZTm .icon-DggvOZTm,.tab-DggvOZTm.active-DggvOZTm .title-DggvOZTm{color:#fff}html.theme-dark .tab-DggvOZTm.active-DggvOZTm .icon-DggvOZTm,html.theme-dark .tab-DggvOZTm.active-DggvOZTm .title-DggvOZTm{color:#d1d4dc}.icon-DggvOZTm{height:28px;width:28px}.title-DggvOZTm{cursor:default;display:flex;font-size:14px;margin-left:8px;min-width:0;white-space:nowrap}.titleText-DggvOZTm{flex:0 100%;min-width:0;overflow:hidden;text-overflow:ellipsis}.nested-DggvOZTm{align-items:center;color:#787b86;display:flex;flex:1 1 auto;height:0;justify-content:flex-end;padding-right:8px}.isTablet-DggvOZTm.container-DggvOZTm{width:48px}.isTablet-DggvOZTm.tab-DggvOZTm{justify-content:center;padding-left:0}.isMobile-DggvOZTm.container-DggvOZTm{width:100%}.isMobile-DggvOZTm.tab-DggvOZTm{justify-content:flex-start;padding:0 0 0 20px}.isMobile-DggvOZTm.tab-DggvOZTm:last-child .title-DggvOZTm{border-bottom-width:0}.isMobile-DggvOZTm .title-DggvOZTm{align-items:center;border-bottom:1px solid #e0e3eb;display:flex;flex:1 1 auto;font-size:18px;padding-bottom:17px;padding-top:17px}html.theme-dark .isMobile-DggvOZTm .title-DggvOZTm{border-bottom-color:#434651} \ No newline at end of file diff --git a/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.rtl.css b/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.rtl.css new file mode 100644 index 0000000..c76c486 --- /dev/null +++ b/public/static/charting_library/bundles/2850.8a920beb86b4e0f023f2.rtl.css @@ -0,0 +1 @@ +.wrapper-DggvOZTm{display:flex;flex:1 1 auto;height:100%;overflow:hidden}.container-DggvOZTm{-webkit-overflow-scrolling:touch;border-left:1px solid #e0e3eb;display:flex;flex:1 1 auto;flex:none;flex-direction:column;min-height:145px;overflow-x:hidden;overflow-y:auto;padding-bottom:6px;padding-top:6px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin;width:200px}html.theme-dark .container-DggvOZTm{border-left:1px solid #434651;scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.container-DggvOZTm{min-height:auto}}.container-DggvOZTm::-webkit-scrollbar{height:5px;width:5px}.container-DggvOZTm::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .container-DggvOZTm::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.container-DggvOZTm::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.container-DggvOZTm::-webkit-scrollbar-corner{display:none}.tab-DggvOZTm{align-items:center;color:#131722;display:flex;padding:6px 20px 6px 0}html.theme-dark .tab-DggvOZTm{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tab-DggvOZTm:hover{background-color:#f0f3fa}html.theme-dark .tab-DggvOZTm:hover{background-color:#2a2e39}}.tab-DggvOZTm.active-DggvOZTm,html.theme-dark .tab-DggvOZTm.active-DggvOZTm{background-color:#2962ff}.tab-DggvOZTm.active-DggvOZTm .icon-DggvOZTm,.tab-DggvOZTm.active-DggvOZTm .title-DggvOZTm{color:#fff}html.theme-dark .tab-DggvOZTm.active-DggvOZTm .icon-DggvOZTm,html.theme-dark .tab-DggvOZTm.active-DggvOZTm .title-DggvOZTm{color:#d1d4dc}.icon-DggvOZTm{height:28px;width:28px}.title-DggvOZTm{cursor:default;display:flex;font-size:14px;margin-right:8px;min-width:0;white-space:nowrap}.titleText-DggvOZTm{flex:0 100%;min-width:0;overflow:hidden;text-overflow:ellipsis}.nested-DggvOZTm{align-items:center;color:#787b86;display:flex;flex:1 1 auto;height:0;justify-content:flex-end;padding-left:8px}.nested-DggvOZTm svg{transform:rotate(180deg)}.isTablet-DggvOZTm.container-DggvOZTm{width:48px}.isTablet-DggvOZTm.tab-DggvOZTm{justify-content:center;padding-right:0}.isMobile-DggvOZTm.container-DggvOZTm{width:100%}.isMobile-DggvOZTm.tab-DggvOZTm{justify-content:flex-start;padding:0 20px 0 0}.isMobile-DggvOZTm.tab-DggvOZTm:last-child .title-DggvOZTm{border-bottom-width:0}.isMobile-DggvOZTm .title-DggvOZTm{align-items:center;border-bottom:1px solid #e0e3eb;display:flex;flex:1 1 auto;font-size:18px;padding-bottom:17px;padding-top:17px}html.theme-dark .isMobile-DggvOZTm .title-DggvOZTm{border-bottom-color:#434651} \ No newline at end of file diff --git a/public/static/charting_library/bundles/306.547d2bcc2b4af2c3a922.js b/public/static/charting_library/bundles/306.547d2bcc2b4af2c3a922.js new file mode 100644 index 0000000..08879fe --- /dev/null +++ b/public/static/charting_library/bundles/306.547d2bcc2b4af2c3a922.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[306],{49775:(e,t,n)=>{n.d(t,{Icon:()=>i});var o=n(67294);const i=o.forwardRef((e,t)=>{const{icon:n="",...i}=e;return o.createElement("span",{...i,ref:t,dangerouslySetInnerHTML:{__html:n}})})},75761:(e,t,n)=>{n.d(t,{setFixedBodyState:()=>a});const o=(()=>{let e;return()=>{var t;if(void 0===e){const n=document.createElement("div"),o=n.style;o.visibility="hidden",o.width="100px",o.msOverflowStyle="scrollbar",document.body.appendChild(n);const i=n.offsetWidth;n.style.overflow="scroll";const s=document.createElement("div");s.style.width="100%",n.appendChild(s);const r=s.offsetWidth;null===(t=n.parentNode)||void 0===t||t.removeChild(n),e=i-r}return e}})();function i(e,t,n){null!==e&&e.style.setProperty(t,n)}function s(e,t){return getComputedStyle(e,null).getPropertyValue(t)}function r(e,t){return parseInt(s(e,t))}let d=0,l=!1;function a(e){const{body:t}=document,n=t.querySelector(".widgetbar-wrap");if(e&&1==++d){const e=s(t,"overflow"),d=r(t,"padding-right");"hidden"!==e.toLowerCase()&&t.scrollHeight>t.offsetHeight&&(i(n,"right",o()+"px"),t.style.paddingRight=d+o()+"px",l=!0),t.classList.add("i-no-scroll")}else if(!e&&d>0&&0==--d&&(t.classList.remove("i-no-scroll"),l)){i(n,"right","0px");let e=0;0,t.scrollHeight<=t.clientHeight&&(e-=o()),t.style.paddingRight=(e<0?0:e)+"px",l=!1}}},47165:(e,t,n)=>{n.d(t,{useOutsideEvent:()=>s});var o=n(67294),i=n(59726);function s(e){const{click:t,mouseDown:n,touchEnd:s,touchStart:r,handler:d,reference:l,ownerDocument:a=document}=e,c=(0,o.useRef)(null),h=(0,o.useRef)(new CustomEvent("timestamp").timeStamp);return(0,o.useLayoutEffect)(()=>{const e={click:t,mouseDown:n,touchEnd:s,touchStart:r},o=l?l.current:c.current;return(0,i.addOutsideEventListener)(h.current,o,d,a,e)},[t,n,s,r,d]),l||c}},90071:(e,t,n)=>{n.d(t,{OverlapManager:()=>s,getRootOverlapManager:()=>d});var o=n(16282);class i{constructor(){this._storage=[]}add(e){this._storage.push(e)}remove(e){this._storage=this._storage.filter(t=>e!==t)}has(e){return this._storage.includes(e)}getItems(){return this._storage}}class s{constructor(e=document){this._storage=new i,this._windows=new Map,this._index=0,this._document=e,this._container=e.createDocumentFragment()}setContainer(e){const t=this._container,n=null===e?this._document.createDocumentFragment():e;!function(e,t){Array.from(e.childNodes).forEach(e=>{e.nodeType===Node.ELEMENT_NODE&&t.appendChild(e)})}(t,n),this._container=n}registerWindow(e){this._storage.has(e)||this._storage.add(e)}ensureWindow(e,t={position:"fixed",direction:"normal"}){const n=this._windows.get(e);if(void 0!==n)return n;this.registerWindow(e);const o=this._document.createElement("div");if(o.style.position=t.position,o.style.zIndex=this._index.toString(),o.dataset.id=e,void 0!==t.index){const e=this._container.childNodes.length;if(t.index>=e)this._container.appendChild(o);else if(t.index<=0)this._container.insertBefore(o,this._container.firstChild);else{const e=this._container.childNodes[t.index];this._container.insertBefore(o,e)} +}else"reverse"===t.direction?this._container.insertBefore(o,this._container.firstChild):this._container.appendChild(o);return this._windows.set(e,o),++this._index,o}unregisterWindow(e){this._storage.remove(e);const t=this._windows.get(e);void 0!==t&&(null!==t.parentElement&&t.parentElement.removeChild(t),this._windows.delete(e))}getZindex(e){const t=this.ensureWindow(e);return parseInt(t.style.zIndex||"0")}moveToTop(e){if(this.getZindex(e)!==this._index){this.ensureWindow(e).style.zIndex=(++this._index).toString()}}removeWindow(e){this.unregisterWindow(e)}}const r=new WeakMap;function d(e=document){const t=e.getElementById("overlap-manager-root");if(null!==t)return(0,o.ensureDefined)(r.get(t));{const t=new s(e),n=function(e){const t=e.createElement("div");return t.style.position="absolute",t.style.zIndex=150..toString(),t.style.top="0px",t.style.left="0px",t.id="overlap-manager-root",t}(e);return r.set(n,t),t.setContainer(n),e.body.appendChild(n),t}}},4735:(e,t,n)=>{n.d(t,{Portal:()=>l,PortalContext:()=>a});var o=n(67294),i=n(73935),s=n(45259),r=n(90071),d=n(78106);class l extends o.PureComponent{constructor(){super(...arguments),this._uuid=(0,s.guid)()}componentWillUnmount(){this._manager().removeWindow(this._uuid)}render(){const e=this._manager().ensureWindow(this._uuid,this.props.layerOptions);return e.style.top=this.props.top||"",e.style.bottom=this.props.bottom||"",e.style.left=this.props.left||"",e.style.right=this.props.right||"",e.style.pointerEvents=this.props.pointerEvents||"",i.createPortal(o.createElement(a.Provider,{value:this},this.props.children),e)}moveToTop(){this._manager().moveToTop(this._uuid)}_manager(){return null===this.context?(0,r.getRootOverlapManager)():this.context}}l.contextType=d.SlotContext;const a=o.createContext(null)},78106:(e,t,n)=>{n.d(t,{Slot:()=>i,SlotContext:()=>s});var o=n(67294);class i extends o.Component{shouldComponentUpdate(){return!1}render(){return o.createElement("div",{style:{position:"fixed",zIndex:150,left:0,top:0},ref:this.props.reference})}}const s=o.createContext(null)}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/3223.783979b0683ba0a325de.css b/public/static/charting_library/bundles/3223.783979b0683ba0a325de.css new file mode 100644 index 0000000..78acf2b --- /dev/null +++ b/public/static/charting_library/bundles/3223.783979b0683ba0a325de.css @@ -0,0 +1 @@ +.floating-toolbar-react-widgets{display:inline-flex}.floating-toolbar-react-widgets__button{align-items:center;border-left:1px solid #f0f3fa;display:flex;height:38px;justify-content:center;min-width:38px}html.theme-dark .floating-toolbar-react-widgets__button{border-left:1px solid #2a2e39}.tv-floating-toolbar{align-items:stretch;background-color:#fff;border:1px solid #f0f3fa;border-radius:6px;box-shadow:0 2px 6px #6a6d7899;display:flex;flex-direction:column;opacity:1;position:absolute;transition:transform .2625s cubic-bezier(.215,.61,.355,1),opacity .2625s cubic-bezier(.215,.61,.355,1)}html.theme-dark .tv-floating-toolbar{background-color:#1e222d;border:1px solid #2a2e39;box-shadow:0 2px 6px #0009}.tv-floating-toolbar.i-closed{opacity:0;pointer-events:none;transform:scale(.925)}.tv-floating-toolbar.i-vertical{height:auto;min-width:37px}.tv-floating-toolbar__widget-wrapper{display:flex}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__widget-wrapper{flex-direction:column}.tv-floating-toolbar__drag{align-items:center;color:#b2b5be;cursor:grab;display:flex;flex-shrink:0;justify-content:center;width:24px}html.theme-dark .tv-floating-toolbar__drag{color:#50535e}.tv-floating-toolbar.ui-draggable-dragging .tv-floating-toolbar__drag{cursor:grabbing}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__drag{height:24px;width:100%}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__drag svg{transform:rotate(90deg)}.tv-floating-toolbar__content{border-bottom-right-radius:6px;border-top-right-radius:6px;display:flex;flex-shrink:0;overflow:hidden}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__content{border-bottom-left-radius:6px;border-top-right-radius:0;flex-direction:column}.tv-floating-toolbar .ui-sortable-placeholder{border-left:1px solid #f0f3fa}html.theme-dark .tv-floating-toolbar .ui-sortable-placeholder{border-left:1px solid #2a2e39}.tv-floating-toolbar.i-vertical .ui-sortable-placeholder{border-left:none;border-top:1px solid #f0f3fa}html.theme-dark .tv-floating-toolbar.i-vertical .ui-sortable-placeholder{border-top:1px solid #2a2e39}.tv-floating-toolbar__widget{align-items:stretch;border-left:1px solid #f0f3fa;display:flex}html.theme-dark .tv-floating-toolbar__widget{border-left-color:#2a2e39}.tv-floating-toolbar__widget.ui-sortable-placeholder{visibility:visible!important}.tv-floating-toolbar__widget.ui-sortable-helper{border-left-color:#0000}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__widget{border-left:none;border-top:1px solid #eceff2}html.theme-dark .tv-floating-toolbar.i-vertical .tv-floating-toolbar__widget{border-top-color:#363c4e}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__widget.ui-sortable-helper{border-top-color:#0000}.button-1gEXpG61{height:38px;width:38px}.tv-caret{border-color:currentcolor #0000 #0000;border-style:solid;border-width:4px 4px 0;content:"";display:inline-block;height:0;margin-left:5px;transition:transform .35s ease;vertical-align:middle;width:0}.active .tv-caret,.i-dropped .tv-caret:not(.tv-caret--strict),.tv-caret--strict.i-dropped{transform:rotate(-180deg);transition-duration:.33;will-change:transform}.tv-caret--small{border-left-width:3px;border-right-width:3px;border-top-width:3px;margin-left:3px;margin-right:-1px}.tv-caret--colored{transition:transform .35s ease,color .35s ease}.tv-caret--no-margin{margin-left:0}.tv-grouped-floating-toolbar{color:#434651}html.theme-dark .tv-grouped-floating-toolbar{color:#d1d4dc}.tv-grouped-floating-toolbar__popup{background-color:#fff;border-radius:0 0 1px 1px;border-radius:3px;box-shadow:0 2px 4px #0003;display:flex;opacity:0;position:absolute;top:100%;transition:opacity .35s ease}html.theme-dark .tv-grouped-floating-toolbar__popup{background-color:#1e222d;box-shadow:0 2px 4px #0006}.tv-grouped-floating-toolbar__popup.i-opened{opacity:1;transition-duration:.11666667s}.tv-grouped-floating-toolbar__popup--at-top{border-radius:1px 1px 0 0;box-shadow:0 -5px 10px -5px #00000026;top:calc(-100% - 2px)}.tv-grouped-floating-toolbar__popup--at-left{border-radius:1px 0 0 1px;left:0;transform:translateX(-100%)}.tv-grouped-floating-toolbar.i-vertical .tv-grouped-floating-toolbar__popup:not(.tv-grouped-floating-toolbar__popup--at-left){border-radius:0 1px 1px 0;left:100%}.tv-grouped-floating-toolbar__sub-widget{align-items:center;cursor:pointer;display:flex;justify-content:center;opacity:0;transition:background-color .35s ease,opacity .35s ease}.tv-grouped-floating-toolbar__sub-widget--current{background-color:#bbd9fb;transition-duration:.06s}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-grouped-floating-toolbar__sub-widget:hover{background-color:#bbd9fb;transition-duration:.06s}}html.theme-dark .tv-grouped-floating-toolbar__sub-widget--current{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-grouped-floating-toolbar__sub-widget:hover{background-color:#2a2e39}}.tv-grouped-floating-toolbar__sub-widget:active{background-color:#eaecef;transition-duration:.06s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-9,.tv-grouped-floating-toolbar__sub-widget--slide-right-9{transition-delay:0s,.2422s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-8,.tv-grouped-floating-toolbar__sub-widget--slide-right-8{transition-delay:0s,.20055s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-7,.tv-grouped-floating-toolbar__sub-widget--slide-right-7{transition-delay:0s,.1638s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-6,.tv-grouped-floating-toolbar__sub-widget--slide-right-6{transition-delay:0s,.13195s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-5,.tv-grouped-floating-toolbar__sub-widget--slide-right-5{transition-delay:0s,.105s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-4,.tv-grouped-floating-toolbar__sub-widget--slide-right-4{transition-delay:0s,.08295s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-3,.tv-grouped-floating-toolbar__sub-widget--slide-right-3{transition-delay:0s,.0658s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-2,.tv-grouped-floating-toolbar__sub-widget--slide-right-2{transition-delay:0s,.05355s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-1,.tv-grouped-floating-toolbar__sub-widget--slide-right-1{transition-delay:0s,.0462s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-0,.tv-grouped-floating-toolbar__sub-widget--slide-right-0{transition-delay:0s,.04375s}.tv-grouped-floating-toolbar__popup.i-opened .tv-grouped-floating-toolbar__sub-widget{opacity:1}.tv-grouped-floating-toolbar__sub-widget:not(:first-child){border-left:1px solid #e0e3eb}html.theme-dark .tv-grouped-floating-toolbar__sub-widget:not(:first-child){border-left-color:#363a45}.tv-grouped-floating-toolbar__widget-wrapper{align-items:center;background-color:#fff;cursor:pointer;display:flex;flex-grow:1;justify-content:center;transition:background-color .35s ease}html.theme-dark .tv-grouped-floating-toolbar__widget-wrapper{background-color:#1e222d}.tv-grouped-floating-toolbar__widget-wrapper.i-dropped{background-color:#bbd9fb;transition-duration:.06s}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-grouped-floating-toolbar__widget-wrapper:hover{background-color:#bbd9fb;transition-duration:.06s}}html.theme-dark .tv-grouped-floating-toolbar__widget-wrapper.i-dropped{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-grouped-floating-toolbar__widget-wrapper:hover{background-color:#2a2e39}}.tv-grouped-floating-toolbar__widget-wrapper.i-disabled{color:#adaeb0;cursor:default}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-grouped-floating-toolbar__widget-wrapper.i-disabled:hover{background-color:#fff}}.tv-grouped-floating-toolbar__widget-wrapper:active{background-color:#eaecef;transition-duration:.06s}.wrap-2EG6_6QR{flex-direction:column;height:38px;width:38px}.icon-2EG6_6QR,.wrap-2EG6_6QR{align-items:center;display:flex;justify-content:center}.icon-2EG6_6QR{height:16px;width:16px}.colorBg-2EG6_6QR{background-color:#fff;background-image:url(a6506134daec7169f68f563f084a9d41.svg);background-size:4px;border-radius:2px;height:4px;margin-top:4px;width:22px}html.theme-dark .colorBg-2EG6_6QR{background-color:#000}.color-2EG6_6QR{border-radius:2px;height:4px;width:22px}.color-2EG6_6QR.multicolor-2EG6_6QR{background:linear-gradient(270deg,#ff2e00,#ffe600 27.27%,#61ff00 50%,#00c2ff 72.44%,#8f00ff)}.color-2EG6_6QR.white-2EG6_6QR{border:1px solid #d1d4dc;height:2px;width:20px}html.theme-dark .color-2EG6_6QR.white-2EG6_6QR{border:1px solid #0000}.item-3Te2Sp8a{padding-left:13px;padding-right:0}.item-3Te2Sp8a.withIcon-3Te2Sp8a{padding-bottom:2px;padding-top:2px}.icon-3Te2Sp8a{margin-right:11px}.labelRow-3Te2Sp8a:last-child{padding-right:2px}.multiWidth-3Te2Sp8a{padding:5px}.buttonWrap-3Te2Sp8a{align-items:center;display:flex;padding:11px 11px 11px 10px}.buttonLabel-3Te2Sp8a{margin-left:7px}.tv-favorited-drawings-toolbar__widget{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);display:flex;flex-grow:1;justify-content:center;min-height:38px;min-width:38px;position:relative;z-index:0}html.theme-dark .tv-favorited-drawings-toolbar__widget{color:var(--tv-color-toolbar-button-text,#b2b5be)}.tv-favorited-drawings-toolbar__widget.hover:before,.tv-favorited-drawings-toolbar__widget:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-favorited-drawings-toolbar__widget:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .tv-favorited-drawings-toolbar__widget.hover:before,html.theme-dark .tv-favorited-drawings-toolbar__widget:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-favorited-drawings-toolbar__widget:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.tv-favorited-drawings-toolbar__widget.i-active{color:var(--tv-color-toolbar-button-text-active,#2962ff)}html.theme-sa .tv-favorited-drawings-toolbar__widget.i-active{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .tv-favorited-drawings-toolbar__widget.i-active{color:var(--tv-color-toolbar-button-text-active,#2962ff)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-favorited-drawings-toolbar__widget.i-active:hover,html.theme-dark .tv-favorited-drawings-toolbar__widget.i-active:hover{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3223.783979b0683ba0a325de.rtl.css b/public/static/charting_library/bundles/3223.783979b0683ba0a325de.rtl.css new file mode 100644 index 0000000..2484411 --- /dev/null +++ b/public/static/charting_library/bundles/3223.783979b0683ba0a325de.rtl.css @@ -0,0 +1 @@ +.floating-toolbar-react-widgets{display:inline-flex}.floating-toolbar-react-widgets__button{align-items:center;border-right:1px solid #f0f3fa;display:flex;height:38px;justify-content:center;min-width:38px}html.theme-dark .floating-toolbar-react-widgets__button{border-right:1px solid #2a2e39}.tv-floating-toolbar{align-items:stretch;background-color:#fff;border:1px solid #f0f3fa;border-radius:6px;box-shadow:0 2px 6px #6a6d7899;display:flex;flex-direction:column;opacity:1;position:absolute;transition:transform .2625s cubic-bezier(.215,.61,.355,1),opacity .2625s cubic-bezier(.215,.61,.355,1)}html.theme-dark .tv-floating-toolbar{background-color:#1e222d;border:1px solid #2a2e39;box-shadow:0 2px 6px #0009}.tv-floating-toolbar.i-closed{opacity:0;pointer-events:none;transform:scale(.925)}.tv-floating-toolbar.i-vertical{height:auto;min-width:37px}.tv-floating-toolbar__widget-wrapper{display:flex}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__widget-wrapper{flex-direction:column}.tv-floating-toolbar__drag{align-items:center;color:#b2b5be;cursor:grab;display:flex;flex-shrink:0;justify-content:center;width:24px}html.theme-dark .tv-floating-toolbar__drag{color:#50535e}.tv-floating-toolbar.ui-draggable-dragging .tv-floating-toolbar__drag{cursor:grabbing}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__drag{height:24px;width:100%}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__drag svg{transform:rotate(-90deg)}.tv-floating-toolbar__content{border-bottom-left-radius:6px;border-top-left-radius:6px;display:flex;flex-shrink:0;overflow:hidden}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__content{border-bottom-right-radius:6px;border-top-left-radius:0;flex-direction:column}.tv-floating-toolbar .ui-sortable-placeholder{border-right:1px solid #f0f3fa}html.theme-dark .tv-floating-toolbar .ui-sortable-placeholder{border-right:1px solid #2a2e39}.tv-floating-toolbar.i-vertical .ui-sortable-placeholder{border-right:none;border-top:1px solid #f0f3fa}html.theme-dark .tv-floating-toolbar.i-vertical .ui-sortable-placeholder{border-top:1px solid #2a2e39}.tv-floating-toolbar__widget{align-items:stretch;border-right:1px solid #f0f3fa;display:flex}html.theme-dark .tv-floating-toolbar__widget{border-right-color:#2a2e39}.tv-floating-toolbar__widget.ui-sortable-placeholder{visibility:visible!important}.tv-floating-toolbar__widget.ui-sortable-helper{border-right-color:#0000}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__widget{border-right:none;border-top:1px solid #eceff2}html.theme-dark .tv-floating-toolbar.i-vertical .tv-floating-toolbar__widget{border-top-color:#363c4e}.tv-floating-toolbar.i-vertical .tv-floating-toolbar__widget.ui-sortable-helper{border-top-color:#0000}.button-1gEXpG61{height:38px;width:38px}.tv-caret{border-color:currentcolor #0000 #0000;border-style:solid;border-width:4px 4px 0;content:"";display:inline-block;height:0;margin-right:5px;transition:transform .35s ease;vertical-align:middle;width:0}.active .tv-caret,.i-dropped .tv-caret:not(.tv-caret--strict),.tv-caret--strict.i-dropped{transform:rotate(180deg);transition-duration:.33;will-change:transform}.tv-caret--small{border-left-width:3px;border-right-width:3px;border-top-width:3px;margin-left:-1px;margin-right:3px}.tv-caret--colored{transition:transform .35s ease,color .35s ease}.tv-caret--no-margin{margin-right:0}.tv-grouped-floating-toolbar{color:#434651}html.theme-dark .tv-grouped-floating-toolbar{color:#d1d4dc}.tv-grouped-floating-toolbar__popup{background-color:#fff;border-radius:0 0 1px 1px;border-radius:3px;box-shadow:0 2px 4px #0003;display:flex;opacity:0;position:absolute;top:100%;transition:opacity .35s ease}html.theme-dark .tv-grouped-floating-toolbar__popup{background-color:#1e222d;box-shadow:0 2px 4px #0006}.tv-grouped-floating-toolbar__popup.i-opened{opacity:1;transition-duration:.11666667s}.tv-grouped-floating-toolbar__popup--at-top{border-radius:1px 1px 0 0;box-shadow:0 -5px 10px -5px #00000026;top:calc(-100% - 2px)}.tv-grouped-floating-toolbar__popup--at-left{border-radius:0 1px 1px 0;right:0;transform:translateX(100%)}.tv-grouped-floating-toolbar.i-vertical .tv-grouped-floating-toolbar__popup:not(.tv-grouped-floating-toolbar__popup--at-left){border-radius:1px 0 0 1px;right:100%}.tv-grouped-floating-toolbar__sub-widget{align-items:center;cursor:pointer;display:flex;justify-content:center;opacity:0;transition:background-color .35s ease,opacity .35s ease}.tv-grouped-floating-toolbar__sub-widget--current{background-color:#bbd9fb;transition-duration:.06s}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-grouped-floating-toolbar__sub-widget:hover{background-color:#bbd9fb;transition-duration:.06s}}html.theme-dark .tv-grouped-floating-toolbar__sub-widget--current{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-grouped-floating-toolbar__sub-widget:hover{background-color:#2a2e39}}.tv-grouped-floating-toolbar__sub-widget:active{background-color:#eaecef;transition-duration:.06s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-9,.tv-grouped-floating-toolbar__sub-widget--slide-right-9{transition-delay:0s,.2422s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-8,.tv-grouped-floating-toolbar__sub-widget--slide-right-8{transition-delay:0s,.20055s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-7,.tv-grouped-floating-toolbar__sub-widget--slide-right-7{transition-delay:0s,.1638s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-6,.tv-grouped-floating-toolbar__sub-widget--slide-right-6{transition-delay:0s,.13195s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-5,.tv-grouped-floating-toolbar__sub-widget--slide-right-5{transition-delay:0s,.105s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-4,.tv-grouped-floating-toolbar__sub-widget--slide-right-4{transition-delay:0s,.08295s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-3,.tv-grouped-floating-toolbar__sub-widget--slide-right-3{transition-delay:0s,.0658s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-2,.tv-grouped-floating-toolbar__sub-widget--slide-right-2{transition-delay:0s,.05355s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-1,.tv-grouped-floating-toolbar__sub-widget--slide-right-1{transition-delay:0s,.0462s}.tv-grouped-floating-toolbar__popup--at-left .tv-grouped-floating-toolbar__sub-widget--slide-left-0,.tv-grouped-floating-toolbar__sub-widget--slide-right-0{transition-delay:0s,.04375s}.tv-grouped-floating-toolbar__popup.i-opened .tv-grouped-floating-toolbar__sub-widget{opacity:1}.tv-grouped-floating-toolbar__sub-widget:not(:first-child){border-right:1px solid #e0e3eb}html.theme-dark .tv-grouped-floating-toolbar__sub-widget:not(:first-child){border-right-color:#363a45}.tv-grouped-floating-toolbar__widget-wrapper{align-items:center;background-color:#fff;cursor:pointer;display:flex;flex-grow:1;justify-content:center;transition:background-color .35s ease}html.theme-dark .tv-grouped-floating-toolbar__widget-wrapper{background-color:#1e222d}.tv-grouped-floating-toolbar__widget-wrapper.i-dropped{background-color:#bbd9fb;transition-duration:.06s}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-grouped-floating-toolbar__widget-wrapper:hover{background-color:#bbd9fb;transition-duration:.06s}}html.theme-dark .tv-grouped-floating-toolbar__widget-wrapper.i-dropped{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-grouped-floating-toolbar__widget-wrapper:hover{background-color:#2a2e39}}.tv-grouped-floating-toolbar__widget-wrapper.i-disabled{color:#adaeb0;cursor:default}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-grouped-floating-toolbar__widget-wrapper.i-disabled:hover{background-color:#fff}}.tv-grouped-floating-toolbar__widget-wrapper:active{background-color:#eaecef;transition-duration:.06s}.wrap-2EG6_6QR{flex-direction:column;height:38px;width:38px}.icon-2EG6_6QR,.wrap-2EG6_6QR{align-items:center;display:flex;justify-content:center}.icon-2EG6_6QR{height:16px;width:16px}.colorBg-2EG6_6QR{background-color:#fff;background-image:url(a6506134daec7169f68f563f084a9d41.svg);background-size:4px;border-radius:2px;height:4px;margin-top:4px;width:22px}html.theme-dark .colorBg-2EG6_6QR{background-color:#000}.color-2EG6_6QR{border-radius:2px;height:4px;width:22px}.color-2EG6_6QR.multicolor-2EG6_6QR{background:linear-gradient(-270deg,#ff2e00,#ffe600 27.27%,#61ff00 50%,#00c2ff 72.44%,#8f00ff)}.color-2EG6_6QR.white-2EG6_6QR{border:1px solid #d1d4dc;height:2px;width:20px}html.theme-dark .color-2EG6_6QR.white-2EG6_6QR{border:1px solid #0000}.item-3Te2Sp8a{padding-left:0;padding-right:13px}.item-3Te2Sp8a.withIcon-3Te2Sp8a{padding-bottom:2px;padding-top:2px}.icon-3Te2Sp8a{margin-left:11px}.labelRow-3Te2Sp8a:last-child{padding-left:2px}.multiWidth-3Te2Sp8a{padding:5px}.buttonWrap-3Te2Sp8a{align-items:center;display:flex;padding:11px 10px 11px 11px}.buttonLabel-3Te2Sp8a{margin-right:7px}.tv-favorited-drawings-toolbar__widget{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);display:flex;flex-grow:1;justify-content:center;min-height:38px;min-width:38px;position:relative;z-index:0}html.theme-dark .tv-favorited-drawings-toolbar__widget{color:var(--tv-color-toolbar-button-text,#b2b5be)}.tv-favorited-drawings-toolbar__widget.hover:before,.tv-favorited-drawings-toolbar__widget:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-favorited-drawings-toolbar__widget:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .tv-favorited-drawings-toolbar__widget.hover:before,html.theme-dark .tv-favorited-drawings-toolbar__widget:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-favorited-drawings-toolbar__widget:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.tv-favorited-drawings-toolbar__widget.i-active{color:var(--tv-color-toolbar-button-text-active,#2962ff)}html.theme-sa .tv-favorited-drawings-toolbar__widget.i-active{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .tv-favorited-drawings-toolbar__widget.i-active{color:var(--tv-color-toolbar-button-text-active,#2962ff)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-favorited-drawings-toolbar__widget.i-active:hover,html.theme-dark .tv-favorited-drawings-toolbar__widget.i-active:hover{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff b/public/static/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff new file mode 100644 index 0000000..8c1748a Binary files /dev/null and b/public/static/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff differ diff --git a/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.css b/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.css new file mode 100644 index 0000000..36bdcc3 --- /dev/null +++ b/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.css @@ -0,0 +1 @@ +.tv-circle-logo{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-style:normal;font-weight:700;justify-content:center}html.theme-dark .tv-circle-logo{color:#5d606b}.tv-circle-logo:not(img){background-color:#e0e3eb}html.theme-dark .tv-circle-logo:not(img){background-color:#2a2e39}.tv-circle-logo--xxsmall{font-size:11px;height:18px;line-height:16px;width:18px}.tv-circle-logo--xsmall{font-size:11px;height:24px;line-height:16px;width:24px}.tv-circle-logo--small{font-size:14px;height:28px;line-height:16px;width:28px}.tv-circle-logo--medium{font-size:16px;height:36px;line-height:16px;width:36px}.tv-circle-logo--large{font-size:24px;height:48px;line-height:32px;width:48px}.tv-circle-logo--xlarge{font-size:40px;height:56px;line-height:40px;width:56px}.tv-circle-logo--border{border:1px solid #fff}html.theme-dark .tv-circle-logo--border{border:1px solid #1e222d}.tv-circle-logo--visually-hidden{opacity:0;position:absolute}.action-DhEzLCdX{align-items:center;box-sizing:border-box;color:#131722;display:flex;flex-flow:row;min-height:40px;padding:7px 20px}html.theme-dark .action-DhEzLCdX{color:#b2b5be}.action-DhEzLCdX.hovered-DhEzLCdX,.action-DhEzLCdX:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.action-DhEzLCdX:hover{color:#131722}}html.theme-dark .action-DhEzLCdX.hovered-DhEzLCdX,html.theme-dark .action-DhEzLCdX:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .action-DhEzLCdX:hover{color:#c1c4cd}}.action-DhEzLCdX.hovered-DhEzLCdX,.action-DhEzLCdX:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.action-DhEzLCdX:hover{background-color:#f0f3fa}}html.theme-dark .action-DhEzLCdX.hovered-DhEzLCdX,html.theme-dark .action-DhEzLCdX:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .action-DhEzLCdX:hover{background-color:#2a2e39}}.action-DhEzLCdX.active-DhEzLCdX,html.theme-dark .action-DhEzLCdX.active-DhEzLCdX{background-color:#2962ff}.action-DhEzLCdX.active-DhEzLCdX .description-DhEzLCdX,.action-DhEzLCdX.active-DhEzLCdX .label-DhEzLCdX{color:#fff}html.theme-dark .action-DhEzLCdX.active-DhEzLCdX .description-DhEzLCdX,html.theme-dark .action-DhEzLCdX.active-DhEzLCdX .label-DhEzLCdX{color:#d1d4dc}.action-DhEzLCdX.selected-DhEzLCdX{background-color:#bbd9fb}html.theme-dark .action-DhEzLCdX.selected-DhEzLCdX{background-color:#142e61}.action-DhEzLCdX.selected-DhEzLCdX.active-DhEzLCdX .label-DhEzLCdX{color:#131722}html.theme-dark .action-DhEzLCdX.selected-DhEzLCdX.active-DhEzLCdX .label-DhEzLCdX{color:#b2b5be}.action-DhEzLCdX.selected-DhEzLCdX.active-DhEzLCdX .description-DhEzLCdX{color:#787b86}.action-DhEzLCdX.small-DhEzLCdX{height:32px;min-height:32px;padding:7px 12px}.action-DhEzLCdX.withDescription-DhEzLCdX{padding:5px 20px}.action-DhEzLCdX.small-DhEzLCdX.withDescription-DhEzLCdX{border:0;height:auto;min-height:48px;padding:3px 3px 3px 12px}.icon-DhEzLCdX,.labelAndDescription-DhEzLCdX{flex-direction:column}.label-DhEzLCdX{color:#131722;font-size:16px;font-weight:400}html.theme-dark .label-DhEzLCdX{color:#b2b5be}.label-DhEzLCdX.small-DhEzLCdX{font-size:14px}.description-DhEzLCdX{color:#9598a1;font-size:12px}.fakeIcon-DhEzLCdX{display:inline-block;height:18px;width:18px}.icon-DhEzLCdX img{vertical-align:middle}.fakeIcon-DhEzLCdX,.icon-DhEzLCdX{margin-inline-end:8px}.fakeIcon-DhEzLCdX.small-DhEzLCdX,.icon-DhEzLCdX.small-DhEzLCdX{margin-inline-end:6px}.withDescription-DhEzLCdX .labelAndDescription-DhEzLCdX .label-DhEzLCdX{font-size:16px;line-height:24px}.withDescription-DhEzLCdX .labelAndDescription-DhEzLCdX .description-DhEzLCdX{line-height:18px}.withDescription-DhEzLCdX .fakeIcon-DhEzLCdX{height:24px;width:24px}.withDescription-DhEzLCdX .fakeIcon-DhEzLCdX.small-DhEzLCdX,.withDescription-DhEzLCdX .icon-DhEzLCdX.small-DhEzLCdX{margin-inline-end:8px}.highlighted-DhEzLCdX,html.theme-dark .highlighted-DhEzLCdX{color:#90bff9}.menu-__tSsAAY{width:180px}.menu-__tSsAAY.withDescriptions-__tSsAAY{width:220px}.header-__tSsAAY{background-color:#fff;left:0;position:absolute;top:6px;width:100%}html.theme-dark .header-__tSsAAY{background-color:#1e222d}.title-__tSsAAY{color:#787b86;font-size:11px;letter-spacing:.4px;line-height:16px;overflow:hidden;padding:4px 12px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.container-__tSsAAY{align-items:center;border-bottom:1px solid #e0e3eb;display:flex;padding-bottom:8px;padding-left:12px;padding-top:8px;position:relative}html.theme-dark .container-__tSsAAY{border-bottom:1px solid #434651}.icon-__tSsAAY{color:#a3a6af;flex-shrink:0;height:18px;width:18px}.clear-__tSsAAY,.icon-__tSsAAY{align-items:center;display:flex;justify-content:center}.clear-__tSsAAY{border-radius:4px;height:22px;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:22px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.clear-__tSsAAY:hover{background-color:#f0f3fa}html.theme-dark .clear-__tSsAAY:hover{background-color:#2a2e39}}.input-__tSsAAY{background-color:initial;border:none;color:#131722;flex:1;font-size:14px;height:22px;margin:0 0 0 8px;padding:0}html.theme-dark .input-__tSsAAY{color:#a3a6af}.input-__tSsAAY::placeholder{color:#a3a6af;font-weight:400}html.theme-dark .input-__tSsAAY::placeholder{color:#434651}.highlighted-__tSsAAY{color:#90bff9}html.theme-dark .highlighted-__tSsAAY{color:#143a87}.highlighted-__tSsAAY.active-__tSsAAY,html.theme-dark .highlighted-__tSsAAY.active-__tSsAAY{color:#90bff9}.section-__tSsAAY{padding-bottom:1px;padding-top:1px}.scrollWrap-2-It3_hB{margin-top:69px}.container-9xiUj6X_{overflow-y:auto;padding-top:6px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .container-9xiUj6X_{scrollbar-color:#363a45 #0000}.container-9xiUj6X_::-webkit-scrollbar{height:5px;width:5px}.container-9xiUj6X_::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .container-9xiUj6X_::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.container-9xiUj6X_::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.container-9xiUj6X_::-webkit-scrollbar-corner{display:none}.separator-9xiUj6X_{background-color:#e0e3eb;height:1px;margin-bottom:6px;margin-top:6px}html.theme-dark .separator-9xiUj6X_{background-color:#434651}.section-9xiUj6X_{color:#787b86;font-size:11px;letter-spacing:.4px;line-height:16px;padding:10px 4px 8px 20px;text-transform:uppercase} \ No newline at end of file diff --git a/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.rtl.css b/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.rtl.css new file mode 100644 index 0000000..2846d41 --- /dev/null +++ b/public/static/charting_library/bundles/339.79f004acba5fa5c1b85f.rtl.css @@ -0,0 +1 @@ +.tv-circle-logo{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-style:normal;font-weight:700;justify-content:center}html.theme-dark .tv-circle-logo{color:#5d606b}.tv-circle-logo:not(img){background-color:#e0e3eb}html.theme-dark .tv-circle-logo:not(img){background-color:#2a2e39}.tv-circle-logo--xxsmall{font-size:11px;height:18px;line-height:16px;width:18px}.tv-circle-logo--xsmall{font-size:11px;height:24px;line-height:16px;width:24px}.tv-circle-logo--small{font-size:14px;height:28px;line-height:16px;width:28px}.tv-circle-logo--medium{font-size:16px;height:36px;line-height:16px;width:36px}.tv-circle-logo--large{font-size:24px;height:48px;line-height:32px;width:48px}.tv-circle-logo--xlarge{font-size:40px;height:56px;line-height:40px;width:56px}.tv-circle-logo--border{border:1px solid #fff}html.theme-dark .tv-circle-logo--border{border:1px solid #1e222d}.tv-circle-logo--visually-hidden{opacity:0;position:absolute}.action-DhEzLCdX{align-items:center;box-sizing:border-box;color:#131722;display:flex;flex-flow:row;min-height:40px;padding:7px 20px}html.theme-dark .action-DhEzLCdX{color:#b2b5be}.action-DhEzLCdX.hovered-DhEzLCdX,.action-DhEzLCdX:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.action-DhEzLCdX:hover{color:#131722}}html.theme-dark .action-DhEzLCdX.hovered-DhEzLCdX,html.theme-dark .action-DhEzLCdX:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .action-DhEzLCdX:hover{color:#c1c4cd}}.action-DhEzLCdX.hovered-DhEzLCdX,.action-DhEzLCdX:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.action-DhEzLCdX:hover{background-color:#f0f3fa}}html.theme-dark .action-DhEzLCdX.hovered-DhEzLCdX,html.theme-dark .action-DhEzLCdX:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .action-DhEzLCdX:hover{background-color:#2a2e39}}.action-DhEzLCdX.active-DhEzLCdX,html.theme-dark .action-DhEzLCdX.active-DhEzLCdX{background-color:#2962ff}.action-DhEzLCdX.active-DhEzLCdX .description-DhEzLCdX,.action-DhEzLCdX.active-DhEzLCdX .label-DhEzLCdX{color:#fff}html.theme-dark .action-DhEzLCdX.active-DhEzLCdX .description-DhEzLCdX,html.theme-dark .action-DhEzLCdX.active-DhEzLCdX .label-DhEzLCdX{color:#d1d4dc}.action-DhEzLCdX.selected-DhEzLCdX{background-color:#bbd9fb}html.theme-dark .action-DhEzLCdX.selected-DhEzLCdX{background-color:#142e61}.action-DhEzLCdX.selected-DhEzLCdX.active-DhEzLCdX .label-DhEzLCdX{color:#131722}html.theme-dark .action-DhEzLCdX.selected-DhEzLCdX.active-DhEzLCdX .label-DhEzLCdX{color:#b2b5be}.action-DhEzLCdX.selected-DhEzLCdX.active-DhEzLCdX .description-DhEzLCdX{color:#787b86}.action-DhEzLCdX.small-DhEzLCdX{height:32px;min-height:32px;padding:7px 12px}.action-DhEzLCdX.withDescription-DhEzLCdX{padding:5px 20px}.action-DhEzLCdX.small-DhEzLCdX.withDescription-DhEzLCdX{border:0;height:auto;min-height:48px;padding:3px 12px 3px 3px}.icon-DhEzLCdX,.labelAndDescription-DhEzLCdX{flex-direction:column}.label-DhEzLCdX{color:#131722;font-size:16px;font-weight:400}html.theme-dark .label-DhEzLCdX{color:#b2b5be}.label-DhEzLCdX.small-DhEzLCdX{font-size:14px}.description-DhEzLCdX{color:#9598a1;font-size:12px}.fakeIcon-DhEzLCdX{display:inline-block;height:18px;width:18px}.icon-DhEzLCdX img{vertical-align:middle}.fakeIcon-DhEzLCdX,.icon-DhEzLCdX{margin-inline-end:8px}.fakeIcon-DhEzLCdX.small-DhEzLCdX,.icon-DhEzLCdX.small-DhEzLCdX{margin-inline-end:6px}.withDescription-DhEzLCdX .labelAndDescription-DhEzLCdX .label-DhEzLCdX{font-size:16px;line-height:24px}.withDescription-DhEzLCdX .labelAndDescription-DhEzLCdX .description-DhEzLCdX{line-height:18px}.withDescription-DhEzLCdX .fakeIcon-DhEzLCdX{height:24px;width:24px}.withDescription-DhEzLCdX .fakeIcon-DhEzLCdX.small-DhEzLCdX,.withDescription-DhEzLCdX .icon-DhEzLCdX.small-DhEzLCdX{margin-inline-end:8px}.highlighted-DhEzLCdX,html.theme-dark .highlighted-DhEzLCdX{color:#90bff9}.menu-__tSsAAY{width:180px}.menu-__tSsAAY.withDescriptions-__tSsAAY{width:220px}.header-__tSsAAY{background-color:#fff;position:absolute;right:0;top:6px;width:100%}html.theme-dark .header-__tSsAAY{background-color:#1e222d}.title-__tSsAAY{color:#787b86;font-size:11px;letter-spacing:.4px;line-height:16px;overflow:hidden;padding:4px 12px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.container-__tSsAAY{align-items:center;border-bottom:1px solid #e0e3eb;display:flex;padding-bottom:8px;padding-right:12px;padding-top:8px;position:relative}html.theme-dark .container-__tSsAAY{border-bottom:1px solid #434651}.icon-__tSsAAY{color:#a3a6af;flex-shrink:0;height:18px;width:18px}.clear-__tSsAAY,.icon-__tSsAAY{align-items:center;display:flex;justify-content:center}.clear-__tSsAAY{border-radius:4px;height:22px;left:10px;position:absolute;top:50%;transform:translateY(-50%);width:22px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.clear-__tSsAAY:hover{background-color:#f0f3fa}html.theme-dark .clear-__tSsAAY:hover{background-color:#2a2e39}}.input-__tSsAAY{background-color:initial;border:none;color:#131722;flex:1;font-size:14px;height:22px;margin:0 8px 0 0;padding:0}html.theme-dark .input-__tSsAAY{color:#a3a6af}.input-__tSsAAY::placeholder{color:#a3a6af;font-weight:400}html.theme-dark .input-__tSsAAY::placeholder{color:#434651}.highlighted-__tSsAAY{color:#90bff9}html.theme-dark .highlighted-__tSsAAY{color:#143a87}.highlighted-__tSsAAY.active-__tSsAAY,html.theme-dark .highlighted-__tSsAAY.active-__tSsAAY{color:#90bff9}.section-__tSsAAY{padding-bottom:1px;padding-top:1px}.scrollWrap-2-It3_hB{margin-top:69px}.container-9xiUj6X_{overflow-y:auto;padding-top:6px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .container-9xiUj6X_{scrollbar-color:#363a45 #0000}.container-9xiUj6X_::-webkit-scrollbar{height:5px;width:5px}.container-9xiUj6X_::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .container-9xiUj6X_::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.container-9xiUj6X_::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.container-9xiUj6X_::-webkit-scrollbar-corner{display:none}.separator-9xiUj6X_{background-color:#e0e3eb;height:1px;margin-bottom:6px;margin-top:6px}html.theme-dark .separator-9xiUj6X_{background-color:#434651}.section-9xiUj6X_{color:#787b86;font-size:11px;letter-spacing:.4px;line-height:16px;padding:10px 20px 8px 4px;text-transform:uppercase} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3463.65423ae1c1f3301a6bc0.js b/public/static/charting_library/bundles/3463.65423ae1c1f3301a6bc0.js new file mode 100644 index 0000000..cba9fb1 --- /dev/null +++ b/public/static/charting_library/bundles/3463.65423ae1c1f3301a6bc0.js @@ -0,0 +1,3 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[3463],{67891:function(e,t){var o,n,r;n=[t],void 0===(r="function"==typeof(o=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t{e.exports={item:"item-21ifTYt7",label:"label-21ifTYt7",labelRow:"labelRow-21ifTYt7",toolbox:"toolbox-21ifTYt7"}},66549:e=>{e.exports={"tablet-small-breakpoint":"screen and (max-width: 428px)", +item:"item-2IihgTnv",hovered:"hovered-2IihgTnv",isDisabled:"isDisabled-2IihgTnv",isActive:"isActive-2IihgTnv",shortcut:"shortcut-2IihgTnv",toolbox:"toolbox-2IihgTnv",withIcon:"withIcon-2IihgTnv",icon:"icon-2IihgTnv",labelRow:"labelRow-2IihgTnv",label:"label-2IihgTnv",showOnHover:"showOnHover-2IihgTnv"}},78706:e=>{e.exports={separator:"separator-eqcGT_ow",small:"small-eqcGT_ow",normal:"normal-eqcGT_ow",large:"large-eqcGT_ow"}},53178:(e,t,o)=>{"use strict";o.d(t,{validateRegistry:()=>c,RegistryProvider:()=>a,registryContextType:()=>s});var n=o(67294),r=o(45697),l=o.n(r);const i=n.createContext({});function c(e,t){l().checkPropTypes(t,e,"context","RegistryContext")}function a(e){const{validation:t,value:o}=e;return c(o,t),n.createElement(i.Provider,{value:o},e.children)}function s(){return i}},11086:(e,t,o)=>{"use strict";o.d(t,{hoverMouseEventFilter:()=>l,useAccurateHover:()=>i,useHover:()=>r});var n=o(67294);function r(){const[e,t]=(0,n.useState)(!1);return[e,{onMouseOver:function(e){l(e)&&t(!0)},onMouseOut:function(e){l(e)&&t(!1)}}]}function l(e){return!e.currentTarget.contains(e.relatedTarget)}function i(e){const[t,o]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{const t=t=>{if(null===e.current)return;const n=e.current.contains(t.target);o(n)};return document.addEventListener("mouseover",t),()=>document.removeEventListener("mouseover",t)},[]),t}},95860:(e,t,o)=>{"use strict";o.d(t,{DEFAULT_POPUP_MENU_ITEM_THEME:()=>s,PopupMenuItem:()=>v});var n=o(67294),r=o(94184),l=o(79424),i=o(87438),c=o(74818),a=o(66549);const s=a;function u(e){const{reference:t,...o}=e,r={...o,ref:t};return n.createElement(e.href?"a":"div",r)}function d(e){e.stopPropagation()}function v(e){const{id:t,role:o,"aria-selected":s,className:v,title:f,labelRowClassName:m,labelClassName:h,shortcut:g,forceShowShortcuts:p,icon:b,isActive:w,isDisabled:E,isHovered:T,appearAsDisabled:y,label:C,link:k,showToolboxOnHover:O,target:x,rel:M,toolbox:I,reference:S,onMouseOut:P,onMouseOver:N,suppressToolboxClick:A=!0,theme:R=a}=e,_=(0,c.filterDataProps)(e),D=(0,n.useRef)(null);return n.createElement(u,{..._,id:t,role:o,"aria-selected":s,className:r(v,R.item,b&&R.withIcon,{[R.isActive]:w,[R.isDisabled]:E||y,[R.hovered]:T}),title:f,href:k,target:x,rel:M,reference:function(e){D.current=e,"function"==typeof S&&S(e);"object"==typeof S&&(S.current=e)},onClick:function(t){const{dontClosePopup:o,onClick:n,onClickArg:r,trackEventObject:c}=e;if(E)return;c&&(0,i.trackEvent)(c.category,c.event,c.label);n&&n(r,t);o||(0,l.globalCloseMenu)()},onContextMenu:function(t){const{trackEventObject:o,trackRightClick:n}=e;o&&n&&(0,i.trackEvent)(o.category,o.event,o.label+"_rightClick")},onMouseUp:function(t){const{trackEventObject:o,trackMouseWheelClick:n}=e;if(1===t.button&&k&&o){let e=o.label;n&&(e+="_mouseWheelClick"),(0,i.trackEvent)(o.category,o.event,e)}},onMouseOver:N,onMouseOut:P},void 0!==b&&n.createElement("div",{className:R.icon,dangerouslySetInnerHTML:{__html:b}}),n.createElement("div",{className:r(R.labelRow,m)},n.createElement("div",{className:r(R.label,h) +},C)),(void 0!==g||p)&&n.createElement("div",{className:R.shortcut},(H=g)&&H.split("+").join(" + ")),void 0!==I&&n.createElement("div",{onClick:A?d:void 0,className:r(R.toolbox,{[R.showOnHover]:O})},I));var H}},82879:(e,t,o)=>{"use strict";o.d(t,{multilineLabelWithIconAndToolboxTheme:()=>i});var n=o(4598),r=o(66549),l=o(32550);const i=(0,n.mergeThemes)(r,l)},10869:(e,t,o)=>{"use strict";o.d(t,{PopupMenuSeparator:()=>c});var n=o(67294),r=o(94184),l=o.n(r),i=o(78706);function c(e){const{size:t="normal",className:o}=e;return n.createElement("div",{className:l()(i.separator,"small"===t&&i.small,"normal"===t&&i.normal,"large"===t&&i.large,o)})}},76420:(e,t,o)=>{"use strict";o.d(t,{PopupMenu:()=>s});var n=o(67294),r=o(73935),l=o(4735),i=o(90901),c=o(94884),a=o(47165);function s(e){const{controller:t,children:o,isOpened:s,closeOnClickOutside:u=!0,doNotCloseOn:d,onClickOutside:v,onClose:f,...m}=e,h=(0,n.useContext)(c.CloseDelegateContext),g=(0,a.useOutsideEvent)({handler:function(e){v&&v(e);if(!u)return;if(d&&e.target instanceof Node){const t=r.findDOMNode(d);if(t instanceof Node&&t.contains(e.target))return}f()},mouseDown:!0,touchStart:!0});return s?n.createElement(l.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},n.createElement("span",{ref:g,style:{pointerEvents:"auto"}},n.createElement(i.Menu,{...m,onClose:f,onScroll:function(t){const{onScroll:o}=e;o&&o(t)},customCloseDelegate:h,ref:t},o))):null}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.css b/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.css new file mode 100644 index 0000000..047ae07 --- /dev/null +++ b/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.css @@ -0,0 +1 @@ +.summary-3UYGeClB{align-items:center;box-sizing:border-box;color:#787b86;cursor:default;display:flex;flex:none;font-size:11px;letter-spacing:.4px;line-height:16px;min-width:0;padding:0 8px 0 12px;text-transform:uppercase;width:100%}html.theme-dark .summary-3UYGeClB{color:#787b86}.summary-3UYGeClB.hovered-3UYGeClB,.summary-3UYGeClB:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.summary-3UYGeClB:hover{background-color:#f0f3fa}}html.theme-dark .summary-3UYGeClB.hovered-3UYGeClB,html.theme-dark .summary-3UYGeClB:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .summary-3UYGeClB:hover{background-color:#2a2e39}}.caret-3UYGeClB{height:18px;justify-content:center;margin:2px 0 2px auto;width:18px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.rtl.css b/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.rtl.css new file mode 100644 index 0000000..37bef85 --- /dev/null +++ b/public/static/charting_library/bundles/3537.273ebe86a4260eff8e80.rtl.css @@ -0,0 +1 @@ +.summary-3UYGeClB{align-items:center;box-sizing:border-box;color:#787b86;cursor:default;display:flex;flex:none;font-size:11px;letter-spacing:.4px;line-height:16px;min-width:0;padding:0 12px 0 8px;text-transform:uppercase;width:100%}html.theme-dark .summary-3UYGeClB{color:#787b86}.summary-3UYGeClB.hovered-3UYGeClB,.summary-3UYGeClB:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.summary-3UYGeClB:hover{background-color:#f0f3fa}}html.theme-dark .summary-3UYGeClB.hovered-3UYGeClB,html.theme-dark .summary-3UYGeClB:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .summary-3UYGeClB:hover{background-color:#2a2e39}}.caret-3UYGeClB{height:18px;justify-content:center;margin:2px auto 2px 0;width:18px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3590.9ba8c934cf8289ea708f.js b/public/static/charting_library/bundles/3590.9ba8c934cf8289ea708f.js new file mode 100644 index 0000000..d54421c --- /dev/null +++ b/public/static/charting_library/bundles/3590.9ba8c934cf8289ea708f.js @@ -0,0 +1,2 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[3590],{17241:e=>{e.exports={dialog:"dialog-2cMrvu9r",wrapper:"wrapper-2cMrvu9r",separator:"separator-2cMrvu9r"}},13459:e=>{e.exports={"small-height-breakpoint":"screen and (max-height: 360px)",container:"container-2sL5JydP",unsetAlign:"unsetAlign-2sL5JydP",title:"title-2sL5JydP",subtitle:"subtitle-2sL5JydP",ellipsis:"ellipsis-2sL5JydP",close:"close-2sL5JydP"}},68552:e=>{e.exports={separator:"separator-3No0pWrk"}},93590:(e,t,n)=>{"use strict";n.d(t,{AdaptivePopupDialog:()=>A});var r=n(67294),s=n(16282);var i=n(94184),a=n.n(i),o=n(42998),l=n(15738),d=n(32402),c=n(10284),u=n(72923),h=n(68521),p=n(90714),m=n(28164),v=n(18437),g=n(49775);const _=r.createContext({setHideClose:()=>{}});var f=n(83124),C=n(13459);function w(e){const{title:t,subtitle:n,showCloseIcon:s=!0,onClose:i,renderBefore:o,renderAfter:l,draggable:d,className:c,unsetAlign:u}=e,[h,p]=(0,r.useState)(!1);return r.createElement(_.Provider,{value:{setHideClose:p}},r.createElement("div",{className:a()(C.container,c,(n||u)&&C.unsetAlign)},o,r.createElement("div",{"data-dragg-area":d,className:C.title},r.createElement("div",{className:C.ellipsis},t),n&&r.createElement("div",{className:a()(C.ellipsis,C.subtitle)},n)),l,s&&!h&&r.createElement(g.Icon,{className:C.close,icon:f,onClick:i,"data-name":"close","data-role":"button"})))}var E=n(17241);const b={vertical:20},N={vertical:0};class A extends r.PureComponent{constructor(){super(...arguments),this._controller=null,this._reference=null,this._orientationMediaQuery=null,this._renderChildren=(e,t)=>(this._controller=e,this.props.render({requestResize:this._requestResize,centerAndFit:this._centerAndFit,isSmallWidth:t})),this._handleReference=e=>this._reference=e,this._handleClose=()=>{this.props.onClose()},this._handleOpen=()=>{void 0!==this.props.onOpen&&this.props.isOpened&&this.props.onOpen(this.props.fullScreen||window.matchMedia(u.DialogBreakpoints.TabletSmall).matches)},this._handleKeyDown=e=>{var t;if(!e.defaultPrevented)switch(this.props.onKeyDown&&this.props.onKeyDown(e),(0,o.hashFromEvent)(e)){case 27:if(e.defaultPrevented)return;if(this.props.forceCloseOnEsc&&this.props.forceCloseOnEsc())return void this._handleClose();const{activeElement:n}=document,r=(0,s.ensureNotNull)(this._reference);if(null!==n){if(e.preventDefault(),"true"===(t=n).getAttribute("data-haspopup")&&"true"!==t.getAttribute("data-expanded"))return void this._handleClose();if((0,l.isTextEditingField)(n))return void r.focus();if(r.contains(n))return void this._handleClose()}}},this._requestResize=()=>{null!==this._controller&&this._controller.recalculateBounds()},this._centerAndFit=()=>{null!==this._controller&&this._controller.centerAndFit()}}componentDidMount(){var e,t;v.subscribe(m.CLOSE_POPUPS_AND_DIALOGS_COMMAND,this._handleClose,null),this._handleOpen(),void 0!==this.props.onOpen&&(this._orientationMediaQuery=window.matchMedia("(orientation: portrait)"),e=this._orientationMediaQuery,t=this._handleOpen, +(null==e?void 0:e.addEventListener)?e.addEventListener("change",t):e.addListener(t))}componentWillUnmount(){var e,t;v.unsubscribe(m.CLOSE_POPUPS_AND_DIALOGS_COMMAND,this._handleClose,null),null!==this._orientationMediaQuery&&(e=this._orientationMediaQuery,t=this._handleOpen,(null==e?void 0:e.removeEventListener)?e.removeEventListener("change",t):e.removeListener(t))}focus(){(0,s.ensureNotNull)(this._reference).focus()}getElement(){return this._reference}contains(e){var t,n;return null!==(n=null===(t=this._reference)||void 0===t?void 0:t.contains(e))&&void 0!==n&&n}render(){const{className:e,headerClassName:t,isOpened:n,title:s,dataName:i,onClickOutside:o,additionalElementPos:l,additionalHeaderElement:m,backdrop:v,shouldForceFocus:g=!0,showSeparator:_,subtitle:f,draggable:C=!0,fullScreen:A=!1,showCloseIcon:O=!0,rounded:P=!0,isAnimationEnabled:D,growPoint:M,dialogTooltip:S,unsetHeaderAlign:k,onDragStart:y}=this.props,L="after"!==l?m:void 0,x="after"===l?m:void 0;return r.createElement(h.MatchMedia,{rule:u.DialogBreakpoints.SmallHeight},l=>r.createElement(h.MatchMedia,{rule:u.DialogBreakpoints.TabletSmall},u=>r.createElement(d.PopupDialog,{rounded:!(u||A)&&P,className:a()(E.dialog,e),isOpened:n,reference:this._handleReference,onKeyDown:this._handleKeyDown,onClickOutside:o,onClickBackdrop:o,fullscreen:u||A,guard:l?N:b,boundByScreen:u||A,shouldForceFocus:g,backdrop:v,draggable:C,isAnimationEnabled:D,growPoint:M,name:this.props.dataName,dialogTooltip:S,onDragStart:y},r.createElement("div",{className:E.wrapper,"data-name":i,"data-dialog-name":"string"==typeof s?s:""},void 0!==s&&r.createElement(w,{draggable:C&&!(u||A),onClose:this._handleClose,renderAfter:x,renderBefore:L,subtitle:f,title:s,showCloseIcon:O,className:t,unsetAlign:k}),_&&r.createElement(c.Separator,{className:E.separator}),r.createElement(p.PopupContext.Consumer,null,e=>this._renderChildren(e,u||A))))))}}},10284:(e,t,n)=>{"use strict";n.d(t,{Separator:()=>a});var r=n(67294),s=n(94184),i=n(68552);function a(e){return r.createElement("div",{className:s(i.separator,e.className)})}},83124:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/3708.b21be6dee862262304cf.css b/public/static/charting_library/bundles/3708.b21be6dee862262304cf.css new file mode 100644 index 0000000..34aefdf --- /dev/null +++ b/public/static/charting_library/bundles/3708.b21be6dee862262304cf.css @@ -0,0 +1 @@ +.container-3n5_2-hI{align-items:center;border-bottom:1px solid #e0e3eb;border-color:#e0e3eb currentcolor;border-top:1px solid #e0e3eb;cursor:default;display:flex;flex-shrink:0;position:relative}html.theme-dark .container-3n5_2-hI{border-color:#434651}.inputContainer-3n5_2-hI{height:24px;padding:8px 16px 8px 47px;width:100%}.inputContainer-3n5_2-hI.withCancel-3n5_2-hI{padding-right:70px}.input-3n5_2-hI{background-color:initial;border:none;color:#131722;font-size:16px;height:100%;margin:0;padding:0;width:100%}html.theme-dark .input-3n5_2-hI{color:#a3a6af}.input-3n5_2-hI::placeholder{color:#a3a6af;font-weight:400}html.theme-dark .input-3n5_2-hI::placeholder{color:#434651}.icon-3n5_2-hI{color:#a3a6af;height:18px;left:20px;pointer-events:none;position:absolute;top:calc(50% - 9px)}.cancel-3n5_2-hI{color:#787b86;position:absolute;right:20px}.highlighted-1Qud56dI,html.theme-dark .highlighted-1Qud56dI{color:#2962ff} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3708.b21be6dee862262304cf.rtl.css b/public/static/charting_library/bundles/3708.b21be6dee862262304cf.rtl.css new file mode 100644 index 0000000..55caee2 --- /dev/null +++ b/public/static/charting_library/bundles/3708.b21be6dee862262304cf.rtl.css @@ -0,0 +1 @@ +.container-3n5_2-hI{align-items:center;border-bottom:1px solid #e0e3eb;border-color:#e0e3eb currentcolor;border-top:1px solid #e0e3eb;cursor:default;display:flex;flex-shrink:0;position:relative}html.theme-dark .container-3n5_2-hI{border-color:#434651}.inputContainer-3n5_2-hI{height:24px;padding:8px 47px 8px 16px;width:100%}.inputContainer-3n5_2-hI.withCancel-3n5_2-hI{padding-left:70px}.input-3n5_2-hI{background-color:initial;border:none;color:#131722;font-size:16px;height:100%;margin:0;padding:0;width:100%}html.theme-dark .input-3n5_2-hI{color:#a3a6af}.input-3n5_2-hI::placeholder{color:#a3a6af;font-weight:400}html.theme-dark .input-3n5_2-hI::placeholder{color:#434651}.icon-3n5_2-hI{color:#a3a6af;height:18px;pointer-events:none;position:absolute;right:20px;top:calc(50% - 9px)}.cancel-3n5_2-hI{color:#787b86;left:20px;position:absolute}.highlighted-1Qud56dI,html.theme-dark .highlighted-1Qud56dI{color:#2962ff} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3876.fbb750fd312778403036.css b/public/static/charting_library/bundles/3876.fbb750fd312778403036.css new file mode 100644 index 0000000..e69de29 diff --git a/public/static/charting_library/bundles/3876.fbb750fd312778403036.rtl.css b/public/static/charting_library/bundles/3876.fbb750fd312778403036.rtl.css new file mode 100644 index 0000000..e69de29 diff --git a/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.css b/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.css new file mode 100644 index 0000000..7fb45d3 --- /dev/null +++ b/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.css @@ -0,0 +1 @@ +.wrap-164vy-kj{bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:0}.wrap-164vy-kj.positionBottom-164vy-kj{align-items:flex-end}.backdrop-164vy-kj{background-color:#9598a1;bottom:0;left:0;opacity:.7;position:absolute;right:0;top:0;transform:translateZ(0)}html.theme-dark .backdrop-164vy-kj{background-color:#0c0e15}.drawer-164vy-kj{-webkit-overflow-scrolling:touch;background:#fff;box-shadow:0 2px 4px #0003;box-sizing:border-box;padding:6px 0;z-index:1}html.theme-dark .drawer-164vy-kj{background:#1e222d;box-shadow:0 2px 4px #0006}.drawer-164vy-kj.positionLeft-164vy-kj{margin-right:40px;max-width:calc(100% - 40px);min-width:260px}.drawer-164vy-kj.positionBottom-164vy-kj{border-top-left-radius:6px;border-top-right-radius:6px;flex-basis:100%;margin-top:100px;max-height:calc(100% - 100px);overflow:auto} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.rtl.css b/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.rtl.css new file mode 100644 index 0000000..036886e --- /dev/null +++ b/public/static/charting_library/bundles/3894.6c50d72ee9e079af3dab.rtl.css @@ -0,0 +1 @@ +.wrap-164vy-kj{bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:0}.wrap-164vy-kj.positionBottom-164vy-kj{align-items:flex-end}.backdrop-164vy-kj{background-color:#9598a1;bottom:0;left:0;opacity:.7;position:absolute;right:0;top:0;transform:translateZ(0)}html.theme-dark .backdrop-164vy-kj{background-color:#0c0e15}.drawer-164vy-kj{-webkit-overflow-scrolling:touch;background:#fff;box-shadow:0 2px 4px #0003;box-sizing:border-box;padding:6px 0;z-index:1}html.theme-dark .drawer-164vy-kj{background:#1e222d;box-shadow:0 2px 4px #0006}.drawer-164vy-kj.positionLeft-164vy-kj{margin-left:40px;max-width:calc(100% - 40px);min-width:260px}.drawer-164vy-kj.positionBottom-164vy-kj{border-top-left-radius:6px;border-top-right-radius:6px;flex-basis:100%;margin-top:100px;max-height:calc(100% - 100px);overflow:auto} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.css b/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.css new file mode 100644 index 0000000..29e7105 --- /dev/null +++ b/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.css @@ -0,0 +1 @@ +.icon-19OjtB6A{align-items:center;display:flex;flex-direction:row;transition:transform .35s cubic-bezier(.175,.885,.32,1.275)}.icon-19OjtB6A svg{fill:currentColor;display:block;height:4px;width:8px}.icon-19OjtB6A.dropped-19OjtB6A{transform:rotate(180deg)} \ No newline at end of file diff --git a/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.rtl.css b/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.rtl.css new file mode 100644 index 0000000..58e9646 --- /dev/null +++ b/public/static/charting_library/bundles/3996.3cdbd2dcf744b8239723.rtl.css @@ -0,0 +1 @@ +.icon-19OjtB6A{align-items:center;display:flex;flex-direction:row;transition:transform .35s cubic-bezier(.175,.885,.32,1.275)}.icon-19OjtB6A svg{fill:currentColor;display:block;height:4px;width:8px}.icon-19OjtB6A.dropped-19OjtB6A{transform:rotate(-180deg)} \ No newline at end of file diff --git a/public/static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg b/public/static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg new file mode 100644 index 0000000..ed22891 --- /dev/null +++ b/public/static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.css b/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.css new file mode 100644 index 0000000..46fdbd7 --- /dev/null +++ b/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.css @@ -0,0 +1 @@ +.button-xRobF0EE{align-items:center;background-color:var(--ui-lib-button-color-bg,var(--ui-lib-button-default-color-bg));border-color:var(--ui-lib-button-color-border,var(--ui-lib-button-default-color-border));border-style:solid;border-width:1px;box-sizing:border-box;color:var(--ui-lib-button-color-content,var(--ui-lib-button-default-color-content));display:inline-flex;justify-content:center;max-width:100%;padding-bottom:0;padding-left:var(--ui-lib-button-padding-left,var(--ui-lib-button-default-padding-left));padding-right:var(--ui-lib-button-padding-right,var(--ui-lib-button-default-padding-right));padding-top:0}.button-xRobF0EE:active{transform:translateY(1px)}.button-xRobF0EE{outline:none;overflow:visible;position:relative}.button-xRobF0EE:focus{outline:none}.button-xRobF0EE:focus-visible{outline:none}.button-xRobF0EE:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 10px);left:-5px;pointer-events:none;position:absolute;top:-5px;width:calc(100% + 10px);z-index:1}.button-xRobF0EE:focus:after{display:block}.button-xRobF0EE:focus-visible:after{display:block}.button-xRobF0EE:focus:not(:focus-visible):after{display:none}.button-xRobF0EE:after{border-color:var(--ui-lib-button-color-focus-outline,var(--ui-lib-button-default-color-focus-outline))}.content-xRobF0EE{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-only-xRobF0EE .content-xRobF0EE{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.color-brand-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-bg:#2962ff;--ui-lib-button-default-color-border:#2962ff;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#2962ff;--ui-lib-button-default-color-bg:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-brand-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#1e53e5;--ui-lib-button-default-color-border:#1e53e5;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#1e53e5;--ui-lib-button-default-color-bg:#1e53e5}}.color-brand-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-bg:#1848cc;--ui-lib-button-default-color-border:#1848cc;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#1848cc;--ui-lib-button-default-color-bg:#1848cc}.color-brand-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-bg:#0000;--ui-lib-button-default-color-border:#2962ff;--ui-lib-button-default-color-content:#2962ff}html.theme-dark .color-brand-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-content:#2962ff;--ui-lib-button-default-color-border:#2962ff;--ui-lib-button-default-color-bg:#0000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-brand-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#1e53e5;--ui-lib-button-default-color-border:#1e53e5;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#1e53e5;--ui-lib-button-default-color-bg:#1e53e5}}.color-brand-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-bg:#1848cc;--ui-lib-button-default-color-border:#1848cc;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#1848cc;--ui-lib-button-default-color-bg:#1848cc}.color-gray-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-bg:#f0f3fa;--ui-lib-button-default-color-border:#f0f3fa;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#2a2e39;--ui-lib-button-default-color-bg:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-gray-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#e0e3eb;--ui-lib-button-default-color-border:#e0e3eb;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#363a45;--ui-lib-button-default-color-bg:#363a45}}.color-gray-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-bg:#e3effd;--ui-lib-button-default-color-border:#e3effd;--ui-lib-button-default-color-content:#2962ff}html.theme-dark .color-gray-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-content:#2962ff;--ui-lib-button-default-color-border:#132042;--ui-lib-button-default-color-bg:#132042}.color-gray-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-bg:#0000;--ui-lib-button-default-color-border:#e0e3eb;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-content:#d1d4dc;--ui-lib-button-default-color-border:#434651;--ui-lib-button-default-color-bg:#0000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-gray-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#f0f3fa;--ui-lib-button-default-color-border:#f0f3fa;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#2a2e39;--ui-lib-button-default-color-bg:#2a2e39}}.color-gray-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-bg:#e0e3eb;--ui-lib-button-default-color-border:#e0e3eb;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#363a45;--ui-lib-button-default-color-bg:#363a45}.color-green-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-bg:#089981;--ui-lib-button-default-color-border:#089981;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#089981;--ui-lib-button-default-color-bg:#089981}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-green-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#06806b;--ui-lib-button-default-color-border:#06806b;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#06806b;--ui-lib-button-default-color-bg:#06806b}}.color-green-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-bg:#056656;--ui-lib-button-default-color-border:#056656;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#056656;--ui-lib-button-default-color-bg:#056656}.color-green-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-bg:#0000;--ui-lib-button-default-color-border:#089981;--ui-lib-button-default-color-content:#089981}html.theme-dark .color-green-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-content:#089981;--ui-lib-button-default-color-border:#089981;--ui-lib-button-default-color-bg:#0000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-green-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#06806b;--ui-lib-button-default-color-border:#06806b;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#06806b;--ui-lib-button-default-color-bg:#06806b}}.color-green-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-bg:#056656;--ui-lib-button-default-color-border:#056656;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#056656;--ui-lib-button-default-color-bg:#056656}.color-red-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-bg:#f23645;--ui-lib-button-default-color-border:#f23645;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#f23645;--ui-lib-button-default-color-bg:#f23645}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-red-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#cc2f3c;--ui-lib-button-default-color-border:#cc2f3c;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#cc2f3c;--ui-lib-button-default-color-bg:#cc2f3c}}.color-red-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-bg:#b22833;--ui-lib-button-default-color-border:#b22833;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#b22833;--ui-lib-button-default-color-bg:#b22833}.color-red-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-bg:#0000;--ui-lib-button-default-color-border:#f23645;--ui-lib-button-default-color-content:#f23645}html.theme-dark .color-red-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-content:#f23645;--ui-lib-button-default-color-border:#f23645;--ui-lib-button-default-color-bg:#0000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-red-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#cc2f3c;--ui-lib-button-default-color-border:#cc2f3c;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#cc2f3c;--ui-lib-button-default-color-bg:#cc2f3c}}.color-red-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-bg:#b22833;--ui-lib-button-default-color-border:#b22833;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#b22833;--ui-lib-button-default-color-bg:#b22833}.color-brand-xRobF0EE,.color-gray-xRobF0EE,html.theme-dark .color-brand-xRobF0EE,html.theme-dark .color-gray-xRobF0EE{--ui-lib-button-default-color-focus-outline:#2962ffcc}.color-green-xRobF0EE,html.theme-dark .color-green-xRobF0EE{--ui-lib-button-default-color-focus-outline:#089981cc}.color-red-xRobF0EE,html.theme-dark .color-red-xRobF0EE{--ui-lib-button-default-color-focus-outline:#f23645cc}.variant-primary-xRobF0EE:disabled,.variant-primary-xRobF0EE[aria-disabled=true]{transform:none}.variant-primary-xRobF0EE:disabled:after,.variant-primary-xRobF0EE[aria-disabled=true]:after{display:none}.variant-primary-xRobF0EE:disabled,.variant-primary-xRobF0EE:disabled:link,.variant-primary-xRobF0EE:disabled:visited,.variant-primary-xRobF0EE[aria-disabled=true],.variant-primary-xRobF0EE[aria-disabled=true]:link,.variant-primary-xRobF0EE[aria-disabled=true]:visited{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be}html.theme-dark .variant-primary-xRobF0EE:disabled,html.theme-dark .variant-primary-xRobF0EE:disabled:link,html.theme-dark .variant-primary-xRobF0EE:disabled:visited,html.theme-dark .variant-primary-xRobF0EE[aria-disabled=true],html.theme-dark .variant-primary-xRobF0EE[aria-disabled=true]:link,html.theme-dark .variant-primary-xRobF0EE[aria-disabled=true]:visited{background-color:#363a45;border-color:#363a45;color:#5d606b}.variant-secondary-xRobF0EE:disabled,.variant-secondary-xRobF0EE[aria-disabled=true]{transform:none}.variant-secondary-xRobF0EE:disabled:after,.variant-secondary-xRobF0EE[aria-disabled=true]:after{display:none}.variant-secondary-xRobF0EE:disabled,.variant-secondary-xRobF0EE:disabled:link,.variant-secondary-xRobF0EE:disabled:visited,.variant-secondary-xRobF0EE[aria-disabled=true],.variant-secondary-xRobF0EE[aria-disabled=true]:link,.variant-secondary-xRobF0EE[aria-disabled=true]:visited{background-color:initial;border-color:#e0e3eb;color:#b2b5be}html.theme-dark .variant-secondary-xRobF0EE:disabled,html.theme-dark .variant-secondary-xRobF0EE:disabled:link,html.theme-dark .variant-secondary-xRobF0EE:disabled:visited,html.theme-dark .variant-secondary-xRobF0EE[aria-disabled=true],html.theme-dark .variant-secondary-xRobF0EE[aria-disabled=true]:link,html.theme-dark .variant-secondary-xRobF0EE[aria-disabled=true]:visited{background-color:initial;border-color:#363a45;color:#5d606b}.size-xsmall-xRobF0EE{--ui-lib-button-default-padding-left:11px;--ui-lib-button-default-padding-right:11px;border-radius:6px;height:28px}.size-xsmall-xRobF0EE:after{border-radius:10px}.size-small-xRobF0EE{--ui-lib-button-default-padding-left:15px;--ui-lib-button-default-padding-right:15px;border-radius:8px;height:34px}.size-small-xRobF0EE:after{border-radius:12px}.size-medium-xRobF0EE{--ui-lib-button-default-padding-left:23px;--ui-lib-button-default-padding-right:23px;border-radius:8px;height:40px}.size-medium-xRobF0EE:after{border-radius:12px}.size-large-xRobF0EE{--ui-lib-button-default-padding-left:31px;--ui-lib-button-default-padding-right:31px;border-radius:8px;height:48px}.size-large-xRobF0EE:after{border-radius:12px}.size-xlarge-xRobF0EE{--ui-lib-button-default-padding-left:31px;--ui-lib-button-default-padding-right:31px;border-radius:12px;height:56px}.size-xlarge-xRobF0EE:after{border-radius:16px}.size-small-xRobF0EE.icon-only-xRobF0EE{--ui-lib-button-default-padding-left:7px;--ui-lib-button-default-padding-right:7px}.size-small-xRobF0EE:not(.icon-only-xRobF0EE).with-start-icon-xRobF0EE{--ui-lib-button-default-padding-left:15px}.size-small-xRobF0EE:not(.icon-only-xRobF0EE).with-end-icon-xRobF0EE{--ui-lib-button-default-padding-right:15px}.size-small-xRobF0EE:not(.icon-only-xRobF0EE) .start-icon-wrap-xRobF0EE{margin-right:6px}.size-small-xRobF0EE:not(.icon-only-xRobF0EE) .end-icon-wrap-xRobF0EE{margin-left:6px}.size-medium-xRobF0EE.icon-only-xRobF0EE{--ui-lib-button-default-padding-left:10px;--ui-lib-button-default-padding-right:10px}.size-medium-xRobF0EE:not(.icon-only-xRobF0EE).with-start-icon-xRobF0EE{--ui-lib-button-default-padding-left:23px}.size-medium-xRobF0EE:not(.icon-only-xRobF0EE).with-end-icon-xRobF0EE{--ui-lib-button-default-padding-right:23px}.size-medium-xRobF0EE:not(.icon-only-xRobF0EE) .start-icon-wrap-xRobF0EE{margin-right:8px}.size-medium-xRobF0EE:not(.icon-only-xRobF0EE) .end-icon-wrap-xRobF0EE{margin-left:8px}.size-large-xRobF0EE.icon-only-xRobF0EE{--ui-lib-button-default-padding-left:9px;--ui-lib-button-default-padding-right:9px}.size-large-xRobF0EE:not(.icon-only-xRobF0EE).with-start-icon-xRobF0EE{--ui-lib-button-default-padding-left:26px}.size-large-xRobF0EE:not(.icon-only-xRobF0EE).with-end-icon-xRobF0EE{--ui-lib-button-default-padding-right:26px}.size-large-xRobF0EE:not(.icon-only-xRobF0EE) .start-icon-wrap-xRobF0EE{margin-right:5px}.size-large-xRobF0EE:not(.icon-only-xRobF0EE) .end-icon-wrap-xRobF0EE{margin-left:5px}.size-xlarge-xRobF0EE.icon-only-xRobF0EE{--ui-lib-button-default-padding-left:13px;--ui-lib-button-default-padding-right:13px}.size-xlarge-xRobF0EE:not(.icon-only-xRobF0EE).with-start-icon-xRobF0EE{--ui-lib-button-default-padding-left:26px}.size-xlarge-xRobF0EE:not(.icon-only-xRobF0EE).with-end-icon-xRobF0EE{--ui-lib-button-default-padding-right:26px}.size-xlarge-xRobF0EE:not(.icon-only-xRobF0EE) .start-icon-wrap-xRobF0EE{margin-right:7px}.size-xlarge-xRobF0EE:not(.icon-only-xRobF0EE) .end-icon-wrap-xRobF0EE{margin-left:7px}.size-xsmall-xRobF0EE .content-xRobF0EE{font-feature-settings:"tnum" on,"lnum" on;font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,SegoeUI,Ubuntu,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:18px}.size-small-xRobF0EE .content-xRobF0EE{font-feature-settings:"tnum" on,"lnum" on;font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,SegoeUI,Ubuntu,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.size-large-xRobF0EE .content-xRobF0EE,.size-medium-xRobF0EE .content-xRobF0EE{font-feature-settings:"tnum" on,"lnum" on;font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,SegoeUI,Ubuntu,sans-serif;font-size:16px;font-style:normal;font-weight:500;line-height:24px}.size-xlarge-xRobF0EE .content-xRobF0EE{font-feature-settings:"tnum" on,"lnum" on;font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,SegoeUI,Ubuntu,sans-serif;font-size:18px;font-style:normal;font-weight:600;line-height:24px}.animated-xRobF0EE{transition-duration:.2s;transition-property:border-color,background-color,color;transition-timing-function:ease-in-out}.animated-xRobF0EE:after{display:block;opacity:0;transition:opacity .2s ease-in-out,visibility 0s ease-in-out .2s;visibility:hidden}.animated-xRobF0EE:focus:after{opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.animated-xRobF0EE:focus-visible:after{opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.animated-xRobF0EE:focus:not(:focus-visible):after{opacity:0;transition:opacity .2s ease-in-out,visibility 0s ease-in-out .2s;visibility:hidden}.stretch-xRobF0EE{width:100%}.button-xRobF0EE.grouped-xRobF0EE.adjust-position-xRobF0EE:not(.first-row-xRobF0EE){margin-top:-1px}.button-xRobF0EE.grouped-xRobF0EE.adjust-position-xRobF0EE:not(.first-col-xRobF0EE){margin-left:-1px;max-width:calc(100% + 1px);width:calc(100% + 1px)}.button-xRobF0EE.grouped-xRobF0EE.adjust-position-xRobF0EE:active:not(:disabled):not([aria-disabled=true]){transform:none}.button-xRobF0EE.grouped-xRobF0EE:focus{z-index:1}.button-xRobF0EE.grouped-xRobF0EE:focus-visible{z-index:1}.button-xRobF0EE.grouped-xRobF0EE:focus:not(:focus-visible){z-index:auto}.button-xRobF0EE.grouped-xRobF0EE.no-corner-top-left-xRobF0EE,.button-xRobF0EE.grouped-xRobF0EE.no-corner-top-left-xRobF0EE:after{border-top-left-radius:0}.button-xRobF0EE.grouped-xRobF0EE.no-corner-top-right-xRobF0EE,.button-xRobF0EE.grouped-xRobF0EE.no-corner-top-right-xRobF0EE:after{border-top-right-radius:0}.button-xRobF0EE.grouped-xRobF0EE.no-corner-bottom-right-xRobF0EE,.button-xRobF0EE.grouped-xRobF0EE.no-corner-bottom-right-xRobF0EE:after{border-bottom-right-radius:0}.button-xRobF0EE.grouped-xRobF0EE.no-corner-bottom-left-xRobF0EE,.button-xRobF0EE.grouped-xRobF0EE.no-corner-bottom-left-xRobF0EE:after{border-bottom-left-radius:0}.end-icon-wrap-xRobF0EE,.start-icon-wrap-xRobF0EE{align-items:center;display:inline-flex;justify-content:center;max-height:28px;max-width:28px;min-height:18px;min-width:18px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.rtl.css b/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.rtl.css new file mode 100644 index 0000000..4733e0e --- /dev/null +++ b/public/static/charting_library/bundles/4078.43552fd4fee41d29f435.rtl.css @@ -0,0 +1 @@ +.button-xRobF0EE{align-items:center;background-color:var(--ui-lib-button-color-bg,var(--ui-lib-button-default-color-bg));border-color:var(--ui-lib-button-color-border,var(--ui-lib-button-default-color-border));border-style:solid;border-width:1px;box-sizing:border-box;color:var(--ui-lib-button-color-content,var(--ui-lib-button-default-color-content));display:inline-flex;justify-content:center;max-width:100%;padding-bottom:0;padding-left:var(--ui-lib-button-padding-right,var(--ui-lib-button-default-padding-right));padding-right:var(--ui-lib-button-padding-left,var(--ui-lib-button-default-padding-left));padding-top:0}.button-xRobF0EE:active{transform:translateY(1px)}.button-xRobF0EE{outline:none;overflow:visible;position:relative}.button-xRobF0EE:focus{outline:none}.button-xRobF0EE:focus-visible{outline:none}.button-xRobF0EE:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 10px);pointer-events:none;position:absolute;right:-5px;top:-5px;width:calc(100% + 10px);z-index:1}.button-xRobF0EE:focus:after{display:block}.button-xRobF0EE:focus-visible:after{display:block}.button-xRobF0EE:focus:not(:focus-visible):after{display:none}.button-xRobF0EE:after{border-color:var(--ui-lib-button-color-focus-outline,var(--ui-lib-button-default-color-focus-outline))}.content-xRobF0EE{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-only-xRobF0EE .content-xRobF0EE{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.color-brand-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-bg:#2962ff;--ui-lib-button-default-color-border:#2962ff;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#2962ff;--ui-lib-button-default-color-bg:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-brand-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#1e53e5;--ui-lib-button-default-color-border:#1e53e5;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#1e53e5;--ui-lib-button-default-color-bg:#1e53e5}}.color-brand-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-bg:#1848cc;--ui-lib-button-default-color-border:#1848cc;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#1848cc;--ui-lib-button-default-color-bg:#1848cc}.color-brand-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-bg:#0000;--ui-lib-button-default-color-border:#2962ff;--ui-lib-button-default-color-content:#2962ff}html.theme-dark .color-brand-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-content:#2962ff;--ui-lib-button-default-color-border:#2962ff;--ui-lib-button-default-color-bg:#0000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-brand-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#1e53e5;--ui-lib-button-default-color-border:#1e53e5;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#1e53e5;--ui-lib-button-default-color-bg:#1e53e5}}.color-brand-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-bg:#1848cc;--ui-lib-button-default-color-border:#1848cc;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-brand-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#1848cc;--ui-lib-button-default-color-bg:#1848cc}.color-gray-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-bg:#f0f3fa;--ui-lib-button-default-color-border:#f0f3fa;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#2a2e39;--ui-lib-button-default-color-bg:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-gray-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#e0e3eb;--ui-lib-button-default-color-border:#e0e3eb;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#363a45;--ui-lib-button-default-color-bg:#363a45}}.color-gray-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-bg:#e3effd;--ui-lib-button-default-color-border:#e3effd;--ui-lib-button-default-color-content:#2962ff}html.theme-dark .color-gray-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-content:#2962ff;--ui-lib-button-default-color-border:#132042;--ui-lib-button-default-color-bg:#132042}.color-gray-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-bg:#0000;--ui-lib-button-default-color-border:#e0e3eb;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-content:#d1d4dc;--ui-lib-button-default-color-border:#434651;--ui-lib-button-default-color-bg:#0000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-gray-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#f0f3fa;--ui-lib-button-default-color-border:#f0f3fa;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#2a2e39;--ui-lib-button-default-color-bg:#2a2e39}}.color-gray-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-bg:#e0e3eb;--ui-lib-button-default-color-border:#e0e3eb;--ui-lib-button-default-color-content:#131722}html.theme-dark .color-gray-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#363a45;--ui-lib-button-default-color-bg:#363a45}.color-green-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-bg:#089981;--ui-lib-button-default-color-border:#089981;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#089981;--ui-lib-button-default-color-bg:#089981}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-green-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#06806b;--ui-lib-button-default-color-border:#06806b;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#06806b;--ui-lib-button-default-color-bg:#06806b}}.color-green-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-bg:#056656;--ui-lib-button-default-color-border:#056656;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#056656;--ui-lib-button-default-color-bg:#056656}.color-green-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-bg:#0000;--ui-lib-button-default-color-border:#089981;--ui-lib-button-default-color-content:#089981}html.theme-dark .color-green-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-content:#089981;--ui-lib-button-default-color-border:#089981;--ui-lib-button-default-color-bg:#0000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-green-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#06806b;--ui-lib-button-default-color-border:#06806b;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#06806b;--ui-lib-button-default-color-bg:#06806b}}.color-green-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-bg:#056656;--ui-lib-button-default-color-border:#056656;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-green-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#056656;--ui-lib-button-default-color-bg:#056656}.color-red-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-bg:#f23645;--ui-lib-button-default-color-border:#f23645;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-primary-xRobF0EE{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#f23645;--ui-lib-button-default-color-bg:#f23645}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-red-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#cc2f3c;--ui-lib-button-default-color-border:#cc2f3c;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-primary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#cc2f3c;--ui-lib-button-default-color-bg:#cc2f3c}}.color-red-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-bg:#b22833;--ui-lib-button-default-color-border:#b22833;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-primary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#b22833;--ui-lib-button-default-color-bg:#b22833}.color-red-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-bg:#0000;--ui-lib-button-default-color-border:#f23645;--ui-lib-button-default-color-content:#f23645}html.theme-dark .color-red-xRobF0EE.variant-secondary-xRobF0EE{--ui-lib-button-default-color-content:#f23645;--ui-lib-button-default-color-border:#f23645;--ui-lib-button-default-color-bg:#0000}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.color-red-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-bg:#cc2f3c;--ui-lib-button-default-color-border:#cc2f3c;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-secondary-xRobF0EE:hover{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#cc2f3c;--ui-lib-button-default-color-bg:#cc2f3c}}.color-red-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-bg:#b22833;--ui-lib-button-default-color-border:#b22833;--ui-lib-button-default-color-content:#fff}html.theme-dark .color-red-xRobF0EE.variant-secondary-xRobF0EE:active{--ui-lib-button-default-color-content:#fff;--ui-lib-button-default-color-border:#b22833;--ui-lib-button-default-color-bg:#b22833}.color-brand-xRobF0EE,.color-gray-xRobF0EE,html.theme-dark .color-brand-xRobF0EE,html.theme-dark .color-gray-xRobF0EE{--ui-lib-button-default-color-focus-outline:#2962ffcc}.color-green-xRobF0EE,html.theme-dark .color-green-xRobF0EE{--ui-lib-button-default-color-focus-outline:#089981cc}.color-red-xRobF0EE,html.theme-dark .color-red-xRobF0EE{--ui-lib-button-default-color-focus-outline:#f23645cc}.variant-primary-xRobF0EE:disabled,.variant-primary-xRobF0EE[aria-disabled=true]{transform:none}.variant-primary-xRobF0EE:disabled:after,.variant-primary-xRobF0EE[aria-disabled=true]:after{display:none}.variant-primary-xRobF0EE:disabled,.variant-primary-xRobF0EE:disabled:link,.variant-primary-xRobF0EE:disabled:visited,.variant-primary-xRobF0EE[aria-disabled=true],.variant-primary-xRobF0EE[aria-disabled=true]:link,.variant-primary-xRobF0EE[aria-disabled=true]:visited{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be}html.theme-dark .variant-primary-xRobF0EE:disabled,html.theme-dark .variant-primary-xRobF0EE:disabled:link,html.theme-dark .variant-primary-xRobF0EE:disabled:visited,html.theme-dark .variant-primary-xRobF0EE[aria-disabled=true],html.theme-dark .variant-primary-xRobF0EE[aria-disabled=true]:link,html.theme-dark .variant-primary-xRobF0EE[aria-disabled=true]:visited{background-color:#363a45;border-color:#363a45;color:#5d606b}.variant-secondary-xRobF0EE:disabled,.variant-secondary-xRobF0EE[aria-disabled=true]{transform:none}.variant-secondary-xRobF0EE:disabled:after,.variant-secondary-xRobF0EE[aria-disabled=true]:after{display:none}.variant-secondary-xRobF0EE:disabled,.variant-secondary-xRobF0EE:disabled:link,.variant-secondary-xRobF0EE:disabled:visited,.variant-secondary-xRobF0EE[aria-disabled=true],.variant-secondary-xRobF0EE[aria-disabled=true]:link,.variant-secondary-xRobF0EE[aria-disabled=true]:visited{background-color:initial;border-color:#e0e3eb;color:#b2b5be}html.theme-dark .variant-secondary-xRobF0EE:disabled,html.theme-dark .variant-secondary-xRobF0EE:disabled:link,html.theme-dark .variant-secondary-xRobF0EE:disabled:visited,html.theme-dark .variant-secondary-xRobF0EE[aria-disabled=true],html.theme-dark .variant-secondary-xRobF0EE[aria-disabled=true]:link,html.theme-dark .variant-secondary-xRobF0EE[aria-disabled=true]:visited{background-color:initial;border-color:#363a45;color:#5d606b}.size-xsmall-xRobF0EE{--ui-lib-button-default-padding-left:11px;--ui-lib-button-default-padding-right:11px;border-radius:6px;height:28px}.size-xsmall-xRobF0EE:after{border-radius:10px}.size-small-xRobF0EE{--ui-lib-button-default-padding-left:15px;--ui-lib-button-default-padding-right:15px;border-radius:8px;height:34px}.size-small-xRobF0EE:after{border-radius:12px}.size-medium-xRobF0EE{--ui-lib-button-default-padding-left:23px;--ui-lib-button-default-padding-right:23px;border-radius:8px;height:40px}.size-medium-xRobF0EE:after{border-radius:12px}.size-large-xRobF0EE{--ui-lib-button-default-padding-left:31px;--ui-lib-button-default-padding-right:31px;border-radius:8px;height:48px}.size-large-xRobF0EE:after{border-radius:12px}.size-xlarge-xRobF0EE{--ui-lib-button-default-padding-left:31px;--ui-lib-button-default-padding-right:31px;border-radius:12px;height:56px}.size-xlarge-xRobF0EE:after{border-radius:16px}.size-small-xRobF0EE.icon-only-xRobF0EE{--ui-lib-button-default-padding-left:7px;--ui-lib-button-default-padding-right:7px}.size-small-xRobF0EE:not(.icon-only-xRobF0EE).with-start-icon-xRobF0EE{--ui-lib-button-default-padding-left:15px}.size-small-xRobF0EE:not(.icon-only-xRobF0EE).with-end-icon-xRobF0EE{--ui-lib-button-default-padding-right:15px}.size-small-xRobF0EE:not(.icon-only-xRobF0EE) .start-icon-wrap-xRobF0EE{margin-left:6px}.size-small-xRobF0EE:not(.icon-only-xRobF0EE) .end-icon-wrap-xRobF0EE{margin-right:6px}.size-medium-xRobF0EE.icon-only-xRobF0EE{--ui-lib-button-default-padding-left:10px;--ui-lib-button-default-padding-right:10px}.size-medium-xRobF0EE:not(.icon-only-xRobF0EE).with-start-icon-xRobF0EE{--ui-lib-button-default-padding-left:23px}.size-medium-xRobF0EE:not(.icon-only-xRobF0EE).with-end-icon-xRobF0EE{--ui-lib-button-default-padding-right:23px}.size-medium-xRobF0EE:not(.icon-only-xRobF0EE) .start-icon-wrap-xRobF0EE{margin-left:8px}.size-medium-xRobF0EE:not(.icon-only-xRobF0EE) .end-icon-wrap-xRobF0EE{margin-right:8px}.size-large-xRobF0EE.icon-only-xRobF0EE{--ui-lib-button-default-padding-left:9px;--ui-lib-button-default-padding-right:9px}.size-large-xRobF0EE:not(.icon-only-xRobF0EE).with-start-icon-xRobF0EE{--ui-lib-button-default-padding-left:26px}.size-large-xRobF0EE:not(.icon-only-xRobF0EE).with-end-icon-xRobF0EE{--ui-lib-button-default-padding-right:26px}.size-large-xRobF0EE:not(.icon-only-xRobF0EE) .start-icon-wrap-xRobF0EE{margin-left:5px}.size-large-xRobF0EE:not(.icon-only-xRobF0EE) .end-icon-wrap-xRobF0EE{margin-right:5px}.size-xlarge-xRobF0EE.icon-only-xRobF0EE{--ui-lib-button-default-padding-left:13px;--ui-lib-button-default-padding-right:13px}.size-xlarge-xRobF0EE:not(.icon-only-xRobF0EE).with-start-icon-xRobF0EE{--ui-lib-button-default-padding-left:26px}.size-xlarge-xRobF0EE:not(.icon-only-xRobF0EE).with-end-icon-xRobF0EE{--ui-lib-button-default-padding-right:26px}.size-xlarge-xRobF0EE:not(.icon-only-xRobF0EE) .start-icon-wrap-xRobF0EE{margin-left:7px}.size-xlarge-xRobF0EE:not(.icon-only-xRobF0EE) .end-icon-wrap-xRobF0EE{margin-right:7px}.size-xsmall-xRobF0EE .content-xRobF0EE{font-feature-settings:"tnum" on,"lnum" on;font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,SegoeUI,Ubuntu,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:18px}.size-small-xRobF0EE .content-xRobF0EE{font-feature-settings:"tnum" on,"lnum" on;font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,SegoeUI,Ubuntu,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.size-large-xRobF0EE .content-xRobF0EE,.size-medium-xRobF0EE .content-xRobF0EE{font-feature-settings:"tnum" on,"lnum" on;font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,SegoeUI,Ubuntu,sans-serif;font-size:16px;font-style:normal;font-weight:500;line-height:24px}.size-xlarge-xRobF0EE .content-xRobF0EE{font-feature-settings:"tnum" on,"lnum" on;font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,SegoeUI,Ubuntu,sans-serif;font-size:18px;font-style:normal;font-weight:600;line-height:24px}.animated-xRobF0EE{transition-duration:.2s;transition-property:border-color,background-color,color;transition-timing-function:ease-in-out}.animated-xRobF0EE:after{display:block;opacity:0;transition:opacity .2s ease-in-out,visibility 0s ease-in-out .2s;visibility:hidden}.animated-xRobF0EE:focus:after{opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.animated-xRobF0EE:focus-visible:after{opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.animated-xRobF0EE:focus:not(:focus-visible):after{opacity:0;transition:opacity .2s ease-in-out,visibility 0s ease-in-out .2s;visibility:hidden}.stretch-xRobF0EE{width:100%}.button-xRobF0EE.grouped-xRobF0EE.adjust-position-xRobF0EE:not(.first-row-xRobF0EE){margin-top:-1px}.button-xRobF0EE.grouped-xRobF0EE.adjust-position-xRobF0EE:not(.first-col-xRobF0EE){margin-right:-1px;max-width:calc(100% + 1px);width:calc(100% + 1px)}.button-xRobF0EE.grouped-xRobF0EE.adjust-position-xRobF0EE:active:not(:disabled):not([aria-disabled=true]){transform:none}.button-xRobF0EE.grouped-xRobF0EE:focus{z-index:1}.button-xRobF0EE.grouped-xRobF0EE:focus-visible{z-index:1}.button-xRobF0EE.grouped-xRobF0EE:focus:not(:focus-visible){z-index:auto}.button-xRobF0EE.grouped-xRobF0EE.no-corner-top-left-xRobF0EE,.button-xRobF0EE.grouped-xRobF0EE.no-corner-top-left-xRobF0EE:after{border-top-right-radius:0}.button-xRobF0EE.grouped-xRobF0EE.no-corner-top-right-xRobF0EE,.button-xRobF0EE.grouped-xRobF0EE.no-corner-top-right-xRobF0EE:after{border-top-left-radius:0}.button-xRobF0EE.grouped-xRobF0EE.no-corner-bottom-right-xRobF0EE,.button-xRobF0EE.grouped-xRobF0EE.no-corner-bottom-right-xRobF0EE:after{border-bottom-left-radius:0}.button-xRobF0EE.grouped-xRobF0EE.no-corner-bottom-left-xRobF0EE,.button-xRobF0EE.grouped-xRobF0EE.no-corner-bottom-left-xRobF0EE:after{border-bottom-right-radius:0}.end-icon-wrap-xRobF0EE,.start-icon-wrap-xRobF0EE{align-items:center;display:inline-flex;justify-content:center;max-height:28px;max-width:28px;min-height:18px;min-width:18px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4093.8b84af355871cc700cb8.js b/public/static/charting_library/bundles/4093.8b84af355871cc700cb8.js new file mode 100644 index 0000000..2c23cee --- /dev/null +++ b/public/static/charting_library/bundles/4093.8b84af355871cc700cb8.js @@ -0,0 +1,10 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[4093],{21866:e=>{e.exports={radio:"radio-ZflVGoxm",input:"input-ZflVGoxm",box:"box-ZflVGoxm",reverse:"reverse-ZflVGoxm",label:"label-ZflVGoxm",wrapper:"wrapper-ZflVGoxm",noOutline:"noOutline-ZflVGoxm"}},84707:e=>{e.exports={titleWrap:"titleWrap-24p2N42k",groupFooter:"groupFooter-24p2N42k"}},38701:e=>{e.exports={inlineRow:"inlineRow-3IOXimxZ"}},92770:e=>{e.exports={icon:"icon-3oPFhRYI"}},38869:e=>{e.exports={input:"input-1zfqRRWX",symbol:"symbol-1zfqRRWX",checkbox:"checkbox-1zfqRRWX",label:"label-1zfqRRWX",dropdownMenu:"dropdownMenu-1zfqRRWX",sessionStart:"sessionStart-1zfqRRWX",sessionEnd:"sessionEnd-1zfqRRWX",sessionInputContainer:"sessionInputContainer-1zfqRRWX",sessionDash:"sessionDash-1zfqRRWX",inputGroup:"inputGroup-1zfqRRWX",textarea:"textarea-1zfqRRWX",inlineGroup:"inlineGroup-1zfqRRWX",hasTooltip:"hasTooltip-1zfqRRWX"}},64412:e=>{e.exports={wrap:"wrap--0fHTrjW",labelWrap:"labelWrap--0fHTrjW",label:"label--0fHTrjW",hasTooltip:"hasTooltip--0fHTrjW"}},14768:(e,t,n)=>{"use strict";n.d(t,{splitThousands:()=>o});var s=n(75496);function o(e,t=" "){let n=e+"";-1!==n.indexOf("e")&&(n=function(e){return(0,s.fixComputationError)(e).toFixed(10).replace(/\.?0+$/,"")}(Number(e)));const o=n.split(".");return o[0].replace(/\B(?=(\d{3})+(?!\d))/g,t)+(o[1]?"."+o[1]:"")}},82675:(e,t,n)=>{"use strict";n.d(t,{ModelContext:()=>o,bindModel:()=>r});var s=n(67294);const o=s.createContext(null);function r(e,t){return s.createElement(o.Consumer,null,n=>n?s.createElement(e,{...Object.assign({model:n},t)}):null)}},91967:(e,t,n)=>{"use strict";n.d(t,{StylePropertyContext:()=>r,StylePropertyContainer:()=>a,bindPropertyContext:()=>i});var s=n(67294),o=n(82675);const r=s.createContext(null);class a extends s.PureComponent{constructor(){super(...arguments),this._setValue=(e,t,n)=>{const{model:s}=this.props;s.setProperty(e,t,n)}}componentDidMount(){const{property:e}=this.props;e.subscribe(this,()=>this.forceUpdate())}componentWillUnmount(){const{property:e}=this.props;e.unsubscribeAll(this)}render(){const e={setValue:this._setValue};return s.createElement(r.Provider,{value:e},this.props.children)}}function i(e,t){return(0,o.bindModel)(({model:n})=>s.createElement(a,{model:n,property:t.property},s.createElement(e,{...t})),t)}},7202:(e,t,n)=>{"use strict";n.d(t,{InputTooltip:()=>d});var s=n(67294),o=n(94184),r=n.n(o),a=n(49775),i=n(74384),l=n(96404),p=n(92770),u=n(33237);function c(){document.removeEventListener("scroll",c),document.removeEventListener("touchstart",c),(0,i.hide)()}function h(e){l.mobiletouch&&((0,i.showOnElement)(e.currentTarget,{tooltipDelay:0}),document.addEventListener("scroll",c),document.addEventListener("touchstart",c))}function d(e){const{className:t,title:n}=e;return s.createElement(a.Icon,{icon:u,className:r()(t,"apply-common-tooltip",p.icon),title:n,onClick:h})}},36135:(e,t,n)=>{"use strict";n.d(t,{isGroup:()=>o,isInputInlines:()=>r,getInputGroups:()=>a});var s=n(16282);function o(e){return e.hasOwnProperty("groupType")}function r(e){ +return o(e)&&"inline"===e.groupType}function a(e){const t=[],n=new Map,o=new Map;return o.set(void 0,new Map),e.forEach(e=>{const{group:r,inline:a}=e;if(void 0!==r||void 0!==a)if(void 0!==r)if(void 0!==a)if(n.has(r)){const t=(0,s.ensureDefined)(n.get(r));let l;o.has(t)?l=(0,s.ensureDefined)(o.get(t)):(l=new Map,o.set(t,l)),i(e,"inline",a,l,t.children)}else{const s={id:a,groupType:"inline",children:[e]},i={id:r,groupType:"group",children:[s]},l=new Map;l.set(a,s),o.set(i,l),n.set(r,i),t.push(i)}else i(e,"group",r,n,t);else{const n=(0,s.ensureDefined)(o.get(void 0));i(e,"inline",(0,s.ensureDefined)(a),n,t)}else t.push(e)}),t}function i(e,t,n,o,r){if(o.has(n))(0,s.ensureDefined)(o.get(n)).children.push(e);else{const s={id:n,groupType:t,children:[e]};o.set(n,s),r.push(s)}}},22489:(e,t,n)=>{"use strict";n.d(t,{InputGroup:()=>i});var s=n(67294),o=n(94184),r=n(35665),a=n(38869);function i(e){const{className:t}=e,n=(0,s.useContext)(r.PropertyTable.InlineRowContext);return s.createElement("div",{className:o(a.inputGroup,n&&a.inlineGroup,t)},e.children)}},38754:(e,t,n)=>{"use strict";n.d(t,{InputRow:()=>p});var s=n(79881),o=n(67294),r=n(16282),a=n(64512),i=n(35665),l=n(7202);class p extends o.PureComponent{render(){const{label:e,children:t,input:n,disabled:p,onChange:u,labelAlign:c,grouped:h,tooltip:d,offset:m}=this.props;return o.createElement(i.PropertyTable.Row,null,o.createElement(i.PropertyTable.Cell,{placement:"first",verticalAlign:c,grouped:h,offset:m},void 0!==e?e:(0,s.t)((0,r.ensureDefined)(n).name,{context:"input"})),o.createElement(i.PropertyTable.Cell,{placement:"last",grouped:h},t||o.createElement(a.StudyInput,{input:(0,r.ensureDefined)(n),onChange:u,disabled:p,hasTooltip:Boolean(d)}),d&&o.createElement(l.InputTooltip,{title:d})))}}},4093:(e,t,n)=>{"use strict";n.d(t,{InputsTabContent:()=>G});var s,o=n(67294),r=n(79881),a=n(41497),i=n(35665),l=n(82604),p=n(94184),u=n.n(p),c=n(21866),h=n.n(c);const d=(0,l.makeSwitchGroupItem)(((s=class extends o.PureComponent{constructor(){super(...arguments),this._onChange=()=>{this.props.onChange&&this.props.onChange(this.props.value)}}render(){const e=p(this.props.className,h().radio,{[h().reverse]:Boolean(this.props.labelPositionReverse)}),t=p(h().label,{[h().disabled]:this.props.disabled}),n=p(h().box,{[h().noOutline]:-1===this.props.tabIndex});let s=null;return this.props.label&&(s=o.createElement("span",{className:t},this.props.label)),o.createElement("label",{className:e},o.createElement("span",{className:h().wrapper,title:this.props.title},o.createElement("input",{id:this.props.id,tabIndex:this.props.tabIndex,autoFocus:this.props.autoFocus,role:this.props.role,className:h().input,type:"radio",name:this.props.name,checked:this.props.checked,disabled:this.props.disabled,value:this.props.value,onChange:this._onChange,ref:this.props.reference}),o.createElement("span",{className:n})),s)}}).defaultProps={value:"on"},s));var m=n(16282),g=n(49923),v=n(84254),C=n(7202),f=n(38869);function y(e){const{children:t,input:n,disabled:s,onChange:p,grouped:u,tooltip:c}=e,h=(0, +o.useContext)(a.PropertyContext),{values:y,setValue:b}=(0,m.ensureNotNull)(h),T=y[n.id],[E,x]=(0,o.useState)(T?"another-symbol":"main-symbol"),[_,S]=(0,o.useState)(T);return(0,o.useEffect)(()=>{T&&S(T)},[T]),o.createElement(l.SwitchGroup,{name:"symbol-source-"+n.id,values:[E],onChange:function(e){x(e),"main-symbol"===e?(0,v.setter)(b)("",n.id,n.name):"another-symbol"===e&&_&&(0,v.setter)(b,p)(_,n.id,n.name)}},o.createElement(i.PropertyTable.Row,null,o.createElement(i.PropertyTable.Cell,{colSpan:2,placement:"first",grouped:u},o.createElement(d,{value:"main-symbol",className:f.checkbox,disabled:s,label:o.createElement("span",{className:f.label},(0,r.t)("Main chart symbol",{context:"input"}))}))),o.createElement(i.PropertyTable.Row,null,o.createElement(i.PropertyTable.Cell,{placement:"first",grouped:u},o.createElement(d,{value:"another-symbol",className:f.checkbox,disabled:s,label:o.createElement("span",{className:f.label},(0,r.t)("Another symbol",{context:"input"}))})),o.createElement(i.PropertyTable.Cell,{placement:"last",grouped:u},t||o.createElement(g.SymbolInput,{input:(0,m.ensureDefined)(n),onChange:p,disabled:s||"main-symbol"===E,hasTooltip:Boolean(c)}),c&&o.createElement(C.InputTooltip,{title:c}))))}var b=n(13656);class T extends o.PureComponent{render(){const{label:e,input:t,tooltip:n}=this.props;return o.createElement(i.PropertyTable.Row,null,o.createElement(i.PropertyTable.Cell,{placement:"first",colSpan:2},o.createElement(b.BoolInput,{label:e,input:t,hasTooltip:Boolean(n)}),n&&o.createElement(C.InputTooltip,{title:n})))}}var E=n(38754),x=n(40803),_=n(11888),S=n(30698);class P extends o.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{input:{id:t,name:n},onChange:s}=this.props;s(e.currentTarget.value,t,n)}}render(){const{input:{defval:e},value:t,disabled:n,onBlur:s,onKeyDown:r}=this.props;return o.createElement(x.Textarea,{className:u()(f.input,f.textarea,_.InputClasses.FontSizeMedium),value:void 0===t?e:t,onChange:this._onChange,onBlur:s,onKeyDown:r,disabled:n})}}const I=(0,S.debounced)(P),w=(0,v.bind)(I);var N=n(64412);function V(e){const{input:t,label:n,tooltip:s}=e;return o.createElement(i.PropertyTable.Row,null,o.createElement(i.PropertyTable.Cell,{placement:"first",colSpan:2,className:N.wrap},o.createElement("div",{className:N.labelWrap},o.createElement("span",{className:u()(N.label,s&&N.hasTooltip)},n),s&&o.createElement(C.InputTooltip,{title:s})),o.createElement(w,{input:t})))}function R(e){const{input:t,tooltip:n}=e;return"symbol"===t.type&&t.optional?o.createElement(y,{input:t,tooltip:n}):"bool"===t.type?o.createElement(T,{label:(0,r.t)(t.name,{context:"input"}),input:t,tooltip:n}):"text_area"===t.type?o.createElement(V,{label:(0,r.t)(t.name,{context:"input"}),input:t,tooltip:n}):o.createElement(E.InputRow,{labelAlign:function(e){switch(e){case"session":return"adaptive";case"time":return"topCenter";default:return}}(t.type),input:t,tooltip:n})}var k=n(46358),B=n(38701);function M(e){const{content:t}=e;let n;return o.createElement(i.PropertyTable.InlineRowContext.Provider,{ +value:!0},o.createElement("div",{className:B.inlineRow},t.children.map((e,s)=>(void 0!==e.tooltip&&(n=e.tooltip),o.createElement(R,{key:e.id,input:e,tooltip:s===t.children.length-1?n:void 0})))))}var D=n(36135),W=n(84707);function F(e){const{content:t}=e;return(0,D.isGroup)(t)?(0,D.isInputInlines)(t)?o.createElement(M,{content:t}):o.createElement(o.Fragment,null,o.createElement("div",{className:W.titleWrap},o.createElement(k.GroupTitleSection,{title:(0,r.t)(t.id,{context:"input"}),name:t.id})),t.children.map(e=>(0,D.isGroup)(e)?o.createElement(M,{key:e.id,content:e}):o.createElement(R,{key:e.id,input:e,tooltip:e.tooltip})),o.createElement("div",{className:W.groupFooter})):o.createElement(R,{input:t,tooltip:t.tooltip})}const O={offset:(0,r.t)("Offset")};class G extends o.PureComponent{render(){const{reference:e,inputs:t,property:n,study:s,model:r,onStudyInputChange:a}=this.props,{offset:l,offsets:p}=n;return o.createElement(i.PropertyTable,{reference:e},o.createElement(z,{study:s,model:r,property:n.inputs,inputs:t,onStudyInputChange:a}),l&&this._createOffsetSection(l),p&&p.childNames().map(e=>{const t=p.childs()[e];return this._createOffsetSection(t)}))}_createOffsetSection(e){const t=e.childs();return o.createElement(z,{key:"offset_"+t.title.value(),study:this.props.study,model:this.props.model,inputs:[H(t)],property:e})}}function z(e){const{study:t,model:n,inputs:s,property:r,onStudyInputChange:i}=e,l=(0,o.useMemo)(()=>(0,D.getInputGroups)(s),[s]);return o.createElement(a.PropertyContainer,{property:r,study:t,model:n,onStudyInputChange:i},l.map(e=>o.createElement(F,{key:e.id,content:e})))}function H(e){return{id:"val",name:e.title.value()||O.offset,defval:e.val.value(),type:"integer",min:e.min.value(),max:e.max.value()}}},13656:(e,t,n)=>{"use strict";n.d(t,{BoolInputComponent:()=>p,BoolInput:()=>u});var s=n(67294),o=n(37850),r=n(94184),a=n.n(r),i=n(84254),l=n(38869);class p extends s.PureComponent{constructor(){super(...arguments),this._onChange=()=>{const{input:{id:e,name:t},value:n,onChange:s}=this.props;s(!n,e,t)}}render(){const{input:{defval:e},value:t,disabled:n,label:r,hasTooltip:i}=this.props,p=void 0===t?e:t;return s.createElement(o.Checkbox,{className:a()(l.checkbox,i&&l.hasTooltip),disabled:n,checked:p,onChange:this._onChange,label:s.createElement("span",{className:l.label},r),labelAlignBaseline:!0})}}const u=(0,i.bind)(p)},30698:(e,t,n)=>{"use strict";n.d(t,{debounced:()=>r});var s=n(67294);const o={blur:0,commit:0,change:1/0};function r(e,t=o){return class extends s.PureComponent{constructor(e){super(e),this._onChange=(e,n,s)=>{const o=t.change;o?(clearTimeout(this._timeout),this.setState({value:e},()=>{o!==1/0&&(this._timeout=setTimeout(()=>this._flush(),o))})):this._flush(e)},this._onBlur=()=>{this._debounce(t.blur);const{onBlur:e}=this.props;e&&e()},this._onKeyDown=e=>{13===e.keyCode&&this._debounce(t.commit)},this.state={prevValue:e.value,value:e.value}}componentWillUnmount(){this._flush()}render(){const{value:t}=this.state;return s.createElement(e,{...this.props,value:t,onChange:this._onChange, +onBlur:this._onBlur,onKeyDown:this._onKeyDown})}static getDerivedStateFromProps(e,t){return e.value===t.prevValue?t:{prevValue:e.value,value:e.value}}_debounce(e){e?(clearTimeout(this._timeout),e!==1/0&&(this._timeout=setTimeout(()=>this._flush(),e))):this.setState(e=>{this._flush(e.value)})}_flush(e){const{input:{id:t,name:n},onChange:s}=this.props,{prevValue:o,value:r}=this.state;clearTimeout(this._timeout);const a=void 0!==e?e:r;void 0!==a&&a!==o&&s(a,t,n)}}}},93425:(e,t,n)=>{"use strict";n.d(t,{FloatInputComponent:()=>c,FloatInput:()=>h});var s=n(67294),o=n(94184),r=n.n(o),a=n(47269),i=n(84254),l=n(30698),p=n(38869);class u extends s.PureComponent{render(){const{hasTooltip:e}=this.props;return s.createElement(a.NumericInput,{...this.props,className:r()(p.input,e&&p.hasTooltip),stretch:!1})}}const c=(0,l.debounced)(u,{change:1/0,commit:0,blur:0}),h=(0,i.bind)(c)},82823:(e,t,n)=>{"use strict";n.d(t,{IntegerInputComponent:()=>c,IntegerInput:()=>h});var s=n(67294),o=n(94184),r=n.n(o),a=n(84254),i=n(30698),l=n(47269),p=n(38869);class u extends s.PureComponent{render(){const{hasTooltip:e}=this.props;return s.createElement(l.NumericInput,{...this.props,mode:"integer",className:r()(p.input,e&&p.hasTooltip),stretch:!1})}}const c=(0,i.debounced)(u,{change:1/0,commit:0,blur:0}),h=(0,a.bind)(c)},47269:(e,t,n)=>{"use strict";n.d(t,{NumericInput:()=>b});var s=n(67294),o=n(16282),r=n(79881),a=n(93302),i=n(43367),l=n(66094),p=n(14768),u=n(76553);var c=n(57649),h=n(57968);const d=(0,r.t)("Number format is invalid."),m=new class{constructor(e=" "){this._divider=e}format(e){const t=(0,p.splitThousands)(e,this._divider);return(0,u.isRtl)()?(0,u.startWithLTR)(t):t}parse(e){const t=(0,u.stripLTRMarks)(e).split(this._divider).join(""),n=Number(t);return isNaN(n)||/e/i.test(t)?{res:!1}:{res:!0,value:n,suggest:this.format(n)}}},g=/^-?[0-9]*$/,v=9e15;class C extends s.PureComponent{constructor(e){super(e),this._onFocus=e=>{this.setState({focused:!0}),this.props.onFocus&&this.props.onFocus(e)},this._onBlur=e=>{this.setState({displayValue:f(this.props,this.props.value),focused:!1}),this.props.errorHandler&&this.props.errorHandler(!1),this.props.onBlur&&this.props.onBlur(e)},this._onValueChange=e=>{const t=e.target.value;if(void 0!==this.props.onEmptyString&&""===t&&this.props.onEmptyString(),"integer"===this.props.mode&&!g.test(t))return;const n=y(t,this.props.formatter),s=n.res?this._checkValueBoundaries(n.value):{isPassed:!1,msg:void 0},o=n.res&&!s.isPassed,r=n.res&&n.suggest&&!this.state.focused?n.suggest:t,a=o&&s.msg?s.msg:d;this.setState({displayValue:r,errorMsg:a}),n.res&&s.isPassed&&this.props.onValueChange(n.value,"input"),this.props.errorHandler&&this.props.errorHandler(!n.res||o)},this._onValueByStepChange=e=>{const{roundByStep:t=!0,step:n=1,uiStep:s,min:o=n,formatter:r}=this.props,i=y(this.state.displayValue,r),l=null!=s?s:n;let p=n;if(i.res){const s=new a.Big(i.value),r=s.minus(o).mod(n);let u=s.plus(e*l);!r.eq(0)&&t&&(u=u.plus((e>0?0:1)*l).minus(r)),p=u.toNumber()}const{isPassed:u,clampedValue:c}=this._checkValueBoundaries(p) +;p=u?p:c,this.setState({displayValue:f(this.props,p)}),this.props.onValueChange(p,"step"),this.props.errorHandler&&this.props.errorHandler(!1)};const{value:t}=e;this.state={value:t,displayValue:f(e,t),focused:!1,errorMsg:d}}render(){var e;return s.createElement(l.NumberInputView,{id:this.props.id,inputMode:null!==(e=this.props.inputMode)&&void 0!==e?e:i.CheckMobile.iOS()?void 0:"numeric",borderStyle:this.props.borderStyle,fontSizeStyle:this.props.fontSizeStyle,value:this.state.displayValue,forceShowControls:this.props.forceShowControls,className:this.props.className,inputClassName:this.props.inputClassName,button:this.props.button,placeholder:this.props.placeholder,innerLabel:this.props.innerLabel,endSlot:this.props.endSlot,disabled:this.props.disabled,error:this.props.error,errorMessage:this.props.errorMessage||this.state.errorMsg,onValueChange:this._onValueChange,onValueByStepChange:this._onValueByStepChange,containerReference:this.props.containerReference,inputReference:this.props.inputReference,onClick:this.props.onClick,onFocus:this._onFocus,onBlur:this._onBlur,onKeyDown:this.props.onKeyDown,controlDecKeyCodes:this.props.controlDecKeyCodes,controlIncKeyCodes:this.props.controlIncKeyCodes,title:this.props.title,intent:this.props.intent,highlight:this.props.highlight,highlightRemoveRoundBorder:this.props.highlightRemoveRoundBorder,stretch:this.props.stretch,autoSelectOnFocus:!i.CheckMobile.any()})}getClampedValue(){const{min:e=-1/0,max:t=v}=this.props,n=y(this.state.displayValue,this.props.formatter);return n.res?(0,h.clamp)(n.value,e,t):null}static getDerivedStateFromProps(e,t){const{alwaysUpdateValueFromProps:n,value:s}=e;return t.focused&&!n||t.value===s?null:{value:s,displayValue:f(e,s)}}_checkValueBoundaries(e){var t,n,s,o;const{min:a=-1/0,max:i=v}=this.props,l=function(e,t,n){const s=e>=t,o=e<=n;return{passMin:s,passMax:o,pass:s&&o,clamped:(0,h.clamp)(e,t,n)}}(e,a,i);let p;return l.passMax||(p=null!==(n=null===(t=this.props.boundariesErrorMessages)||void 0===t?void 0:t.greaterThanMax)&&void 0!==n?n:(0,r.t)("Specified value is more than the instrument maximum of {max}.",{replace:{max:String(i)}})),l.passMin||(p=null!==(o=null===(s=this.props.boundariesErrorMessages)||void 0===s?void 0:s.lessThanMin)&&void 0!==o?o:(0,r.t)("Specified value is less than the instrument minimum of {min}.",{replace:{min:String(a)}})),{isPassed:l.pass,msg:p,clampedValue:l.clamped}}}function f(e,t){const{useFormatter:n=!0,formatter:s,mode:o}=e;return n&&"integer"!==o?function(e,t=m){return null!==e?t.format(e):""}(t,s):function(e){if(null===e)return"";return c.NumericFormatter.formatNoE(e)}(t)}function y(e,t=m){return t.parse?t.parse(e):{res:!1,error:"Formatter does not support parse"}}class b extends s.PureComponent{constructor(){super(...arguments),this._container=null,this._handleContainerRef=e=>this._container=e,this._onChange=(e,t)=>{const{input:{id:n,name:s},onChange:o,onBlur:r}=this.props;o(e,n,s),"step"===t&&r&&r()},this._onBlur=e=>{const{onBlur:t}=this.props;if(t){const n=(0,o.ensureNotNull)(this._container) +;n.contains(document.activeElement)||n.contains(e.relatedTarget)||t()}}}render(){const{input:{defval:e,min:t,max:n,step:o},value:r,disabled:a,onKeyDown:i,className:l,mode:p,stretch:u}=this.props;return s.createElement(C,{className:l,value:Number(void 0===r?e:r),min:t,max:n,step:o,mode:p,onBlur:this._onBlur,onValueChange:this._onChange,onKeyDown:i,disabled:a,containerReference:this._handleContainerRef,fontSizeStyle:"medium",roundByStep:!1,stretch:u})}}},76470:(e,t,n)=>{"use strict";n.d(t,{SelectInputComponent:()=>u,SelectInput:()=>c});var s=n(67294),o=n(94184),r=n.n(o),a=n(79881),i=n(45221),l=n(84254),p=n(38869);class u extends s.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{input:{id:t,name:n},onChange:s}=this.props;s(e,t,n)}}render(){const{input:{id:e,defval:t,options:n,optionsTitles:o},value:l,disabled:u,hasTooltip:c}=this.props,h=n.map(e=>{const t=o&&o[e]?o[e]:e;return{value:e,content:(0,a.t)(t,{context:"input"})}}),d=void 0!==l&&n.includes(l)?l:t;return s.createElement(i.Select,{id:e,className:r()(p.input,c&&p.hasTooltip),menuClassName:p.dropdownMenu,value:d,items:h,onChange:this._onChange,disabled:u})}}const c=(0,l.bind)(u)},64512:(e,t,n)=>{"use strict";n.d(t,{StudyInput:()=>q});var s=n(67294),o=n(30875),r=n(82823),a=n(93425),i=n(13656),l=n(94184),p=n.n(l),u=n(81829),c=n(84254),h=n(30698),d=n(38869);class m extends s.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{input:{id:t,name:n},onChange:s}=this.props;s(e.currentTarget.value,t,n)}}render(){const{input:{defval:e},value:t,disabled:n,onBlur:o,onKeyDown:r,hasTooltip:a}=this.props;return s.createElement(u.InputControl,{className:p()(d.input,a&&d.hasTooltip),value:void 0===t?e:t,onChange:this._onChange,onBlur:o,onKeyDown:r,disabled:n})}}const g=(0,h.debounced)(m),v=(0,c.bind)(g);var C=n(49923),f=n(16282),y=n(22489),b=n(39628);function T(e=""){const[,t="",n="",s="",o=""]=Array.from(e.match(/^(\d\d)(\d\d)-(\d\d)(\d\d)/)||[]);return[`${t}:${n}`,`${s}:${o}`]}class E extends s.PureComponent{constructor(e){super(e),this._onStartPick=e=>{this.setState({startTime:e},this._onChange)},this._onEndPick=e=>{this.setState({endTime:e},this._onChange)},this._onChange=()=>{const{input:{id:e,name:t},onChange:n}=this.props,{startTime:s,endTime:o}=this.state;n(s.replace(":","")+"-"+o.replace(":",""),e,t)};const t=e.value||e.input.defval,[n,s]=T(t);this.state={prevValue:t,startTime:n,endTime:s}}render(){const{startTime:e,endTime:t}=this.state,{hasTooltip:n}=this.props;return s.createElement(y.InputGroup,{className:p()(n&&d.hasTooltip)},s.createElement("div",{className:d.sessionStart},s.createElement(b.TimeInput,{className:p()(d.input,d.sessionInputContainer),name:"start",value:(0,f.ensureDefined)(e),onChange:this._onStartPick}),s.createElement("span",{className:d.sessionDash}," — ")),s.createElement("div",{className:d.sessionEnd},s.createElement(b.TimeInput,{className:p()(d.input,d.sessionInputContainer),name:"end",value:(0,f.ensureDefined)(t),onChange:this._onEndPick})))}static getDerivedStateFromProps(e,t){ +if(e.value===t.prevValue)return t;const[n,s]=T(e.value);return{prevValue:e.value,startTime:n,endTime:s}}}const x=(0,c.bind)(E);var _=n(79881),S=n(27490),P=n(85062),I=n.n(P),w=n(41497),N=n(76470),V=n(48854);const R={open:(0,_.t)("open"),high:(0,_.t)("high"),low:(0,_.t)("low"),close:(0,_.t)("close"),hl2:(0,_.t)("hl2"),hlc3:(0,_.t)("hlc3"),ohlc4:(0,_.t)("ohlc4"),hlcc4:(0,_.t)("hlcc4")};class k extends s.PureComponent{render(){const{input:e}=this.props,{study:t,model:n}=this.context;let o={...R};delete o.hlcc4;const r=(0,V.createAdapter)(t);if(t&&this._isStudy(t)&&t.isChildStudy()){const t=r.parentSource(),n=t.title(),s=I().getChildSourceInputTitles(e,t.metaInfo(),n);o={...o,...s}}if(S.enabled("study_on_study")&&t&&this._isStudy(t)&&(t.isChildStudy()||I().canBeChild(t.metaInfo()))){const e=[t,...r.getAllChildren()];n.model().allStudies().filter(t=>t.canHaveChildren()&&!e.includes(t)).forEach(e=>{const t=e.title(!0,void 0,!0),n=e.sourceId()||"#"+e.id(),s=e.metaInfo(),r=s.styles,a=s.plots||[];if(1===a.length)o[n+"$0"]=t;else if(a.length>1){const e=a.reduce((e,s,o)=>{if(!I().canPlotBeSourceOfChildStudy(s.type))return e;let a;try{a=(0,f.ensureDefined)((0,f.ensureDefined)(r)[s.id]).title}catch(e){a=s.id}return{...e,[`${n}$${o}`]:`${t}: ${a}`}},{});o={...o,...e}}})}const a={...e,type:"text",options:Object.keys(o),optionsTitles:o};return s.createElement(N.SelectInput,{...this.props,input:a})}_isStudy(e){return!e.hasOwnProperty("isInputsStudy")}}k.contextType=w.PropertyContext;var B=n(35001),M=n(1467),D=n(45221);const W=void 0,F=["1","3","5","15","30","45","60","120","180","240","1D","1W","1M"];class O extends s.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{input:{id:t,name:n},onChange:s}=this.props;s(e,t,n)}}render(){const{input:e,value:t,disabled:n,hasTooltip:o}=this.props,r=B.Interval.parse(void 0===t?e.defval:t),a=r.isValid()?r.value():t,i=W?W.get().filter(e=>!B.Interval.parse(e).isRange()):[],l=(0,M.mergeResolutions)(F,i);return l.unshift(""),s.createElement(D.Select,{id:e.id,className:p()(d.input,d.resolution,o&&d.hasTooltip),menuClassName:p()(d.dropdownMenu,d.resolution),items:(u=l,u.map(e=>({value:e,content:""===e?(0,_.t)("Chart"):(0,M.getTranslatedResolutionModel)(e).hint}))),value:a,onChange:this._onChange,disabled:n});var u}}const G=(0,c.bind)(O);var z=n(78736),H=n(91967);class K extends s.PureComponent{render(){return s.createElement(w.PropertyContext.Consumer,null,e=>e?this._getColorInputWithContext(e):null)}_getColorInputWithContext(e){var t;const{input:{id:n},disabled:o,hasTooltip:r}=this.props,{model:a,study:i}=e;if("properties"in i||"tempProperties"in i){const e="properties"in i?i.properties().inputs[n]:null===(t=i.tempProperties)||void 0===t?void 0:t.inputs.child(n);return s.createElement(H.StylePropertyContainer,{model:a,property:e},s.createElement(z.ColorWithThicknessSelect,{className:p()(r&&d.hasTooltip),color:e,disabled:o}))}return null}}class q extends s.PureComponent{render(){const{input:e,disabled:t,onChange:n,tzName:l,hasTooltip:p}=this.props;if((0, +o.isStudyInputOptionsInfo)(e))return s.createElement(N.SelectInput,{input:e,disabled:t,onChange:n,hasTooltip:p});switch(e.type){case"integer":return s.createElement(r.IntegerInput,{input:e,disabled:t,onChange:n,hasTooltip:p});case"float":case"price":return s.createElement(a.FloatInput,{input:e,disabled:t,onChange:n,hasTooltip:p});case"bool":return s.createElement(i.BoolInput,{input:e,disabled:t,onChange:n,hasTooltip:p});case"text":return s.createElement(v,{input:e,disabled:t,onChange:n,hasTooltip:p});case"symbol":return s.createElement(C.SymbolInput,{input:e,disabled:t,onChange:n,hasTooltip:p});case"session":return s.createElement(x,{input:e,disabled:t,onChange:n,hasTooltip:p});case"source":return s.createElement(k,{input:e,disabled:t,onChange:n,hasTooltip:p});case"resolution":return s.createElement(G,{input:e,disabled:t,onChange:n,hasTooltip:p});case"time":return null;case"color":return s.createElement(K,{input:e,disabled:t,onChange:n,hasTooltip:p});default:return null}}}},78736:(e,t,n)=>{"use strict";n.d(t,{ColorWithThicknessSelect:()=>v});var s=n(67294),o=n(14563),r=n(79881),a=n(90963),i=n(50968),l=n(91967),p=n(32895),u=n(37763),c=n(87438);const h=new a.TranslatedString("change thickness",(0,r.t)("change thickness")),d=new a.TranslatedString("change color",(0,r.t)("change color")),m=new a.TranslatedString("change opacity",(0,r.t)("change opacity")),g=[1,2,3,4];class v extends s.PureComponent{constructor(){super(...arguments),this._trackEventLabel=null,this._getTransparencyValue=()=>{const{transparency:e}=this.props;return e?e.value():0},this._getOpacityValue=()=>{const{color:e}=this.props,t=(0,u.getPropertyValue)(e);if(t)return(0,i.isHexColor)(t)?(0,i.transparencyToAlpha)(this._getTransparencyValue()):(0,o.parseRgba)(t)[3]},this._getColorValueInHex=()=>{const{color:e}=this.props,t=(0,u.getPropertyValue)(e);return t?(0,i.isHexColor)(t)?t:(0,o.rgbToHexString)((0,o.parseRgb)(t)):null},this._onThicknessChange=e=>{const{thickness:t}=this.props;void 0!==t&&this._setProperty(t,e,h)},this._onColorChange=e=>{const{color:t,isPaletteColor:n}=this.props,s=(0,u.getPropertyValue)(t);let r=0;s&&(r=(0,i.isHexColor)(s)?this._getTransparencyValue():(0,i.alphaToTransparency)((0,o.parseRgba)(s)[3])),this._setProperty(t,(0,i.generateColor)(String(e),r,!0),d),this._trackEventLabel="Plot color > "+(n?"Palette":"Single")},this._onOpacityChange=e=>{const{color:t}=this.props,n=(0,u.getPropertyValue)(t);this._setProperty(t,(0,i.generateColor)(n,(0,i.alphaToTransparency)(e),!0),m)},this._onPopupClose=()=>{this._trackEventLabel&&((0,c.trackEvent)("GUI","Study settings",this._trackEventLabel),this._trackEventLabel=null)}}componentWillUnmount(){this._onPopupClose()}render(){const{selectOpacity:e=!0,disabled:t,className:n}=this.props;return s.createElement(p.ColorSelect,{className:n,disabled:t,color:this._getColorValueInHex(),selectOpacity:e,opacity:this._getOpacityValue(),thickness:this._getThicknessValue(),thicknessItems:g,onColorChange:this._onColorChange,onOpacityChange:this._onOpacityChange,onThicknessChange:this._onThicknessChange, +onPopupClose:this._onPopupClose})}_getThicknessValue(){const{thickness:e}=this.props;return e?(0,u.getPropertyValue)(e):void 0}_setProperty(e,t,n){const{setValue:s}=this.context;(0,u.setPropertyValue)(e,e=>s(e,t,n))}}v.contextType=l.StylePropertyContext},37763:(e,t,n)=>{"use strict";function s(e){return Array.isArray(e)?e[0].value():e.value()}function o(e,t){if(Array.isArray(e))for(const n of e)t(n);else t(e)}n.d(t,{getPropertyValue:()=>s,setPropertyValue:()=>o})},33237:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 b/public/static/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 new file mode 100644 index 0000000..4d3772b Binary files /dev/null and b/public/static/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 differ diff --git a/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.css b/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.css new file mode 100644 index 0000000..2cbb6e2 --- /dev/null +++ b/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.css @@ -0,0 +1 @@ +.item-21ifTYt7{align-items:flex-start;font-size:16px;padding-right:20px;white-space:normal}.label-21ifTYt7{line-height:24px;overflow:visible}.labelRow-21ifTYt7{margin-bottom:2px;margin-top:2px}.toolbox-21ifTYt7{margin-top:3px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.rtl.css b/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.rtl.css new file mode 100644 index 0000000..d64133f --- /dev/null +++ b/public/static/charting_library/bundles/4336.1228643b9325cd73ea59.rtl.css @@ -0,0 +1 @@ +.item-21ifTYt7{align-items:flex-start;font-size:16px;padding-left:20px;white-space:normal}.label-21ifTYt7{line-height:24px;overflow:visible}.labelRow-21ifTYt7{margin-bottom:2px;margin-top:2px}.toolbox-21ifTYt7{margin-top:3px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.css b/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.css new file mode 100644 index 0000000..f7a18a8 --- /dev/null +++ b/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.css @@ -0,0 +1 @@ +.control-bar-wrapper{direction:ltr;height:28px;pointer-events:none;position:absolute;z-index:1}.control-bar{display:flex;transition:opacity .3s,visibility .3s;visibility:visible}.control-bar--hidden,.control-bar--hidden .control-bar__btn{opacity:0;visibility:hidden}.control-bar__group{align-items:center;display:flex;margin:0 7px}.control-bar__btn{align-items:center;background-color:#ffffffbf;border-radius:50%;box-shadow:0 2px 4px #0003;color:#5d606b;display:inline-flex;height:28px;justify-content:center;margin:0 4px;opacity:1;pointer-events:auto;transition:background-color .3s,color .3s,visibility .4s,opacity .4s;-webkit-user-select:none;user-select:none;visibility:visible;width:28px;z-index:1}.control-bar__btn--btn-hidden{opacity:0;visibility:hidden}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-bar__btn:hover{background-color:#fff;color:#131722}}.control-bar__btn:active{background-color:#f8f9fd;transition:none}.control-bar__btn--minimize{background-color:#2962ff;color:#fff}.control-bar__btn--minimize:active{background-color:#1e53e5;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-bar__btn--minimize:hover{background-color:#1e53e5;color:#fff}.control-bar__btn--minimize:hover .corner-left-top{animation:animation-minimize-corner-left-top-1yUqeyiZ .6s ease}.control-bar__btn--minimize:hover .corner-right-top{animation:animation-minimize-corner-right-top-1yUqeyiZ .6s ease}.control-bar__btn--minimize:hover .corner-right-bottom{animation:animation-minimize-corner-right-bottom-1yUqeyiZ .6s ease}.control-bar__btn--minimize:hover .corner-left-bottom{animation:animation-minimize-corner-left-bottom-1yUqeyiZ .6s ease}.control-bar__btn--maximize:hover .corner-left-top{animation:animation-maximize-corner-left-top-1yUqeyiZ .6s ease}.control-bar__btn--maximize:hover .corner-right-top{animation:animation-maximize-corner-right-top-1yUqeyiZ .6s ease}.control-bar__btn--maximize:hover .corner-right-bottom{animation:animation-maximize-corner-right-bottom-1yUqeyiZ .6s ease}.control-bar__btn--maximize:hover .corner-left-bottom{animation:animation-maximize-corner-left-bottom-1yUqeyiZ .6s ease}}.chart-widget__bottom--themed-dark .control-bar__btn{background-color:#1e222dbf;box-shadow:0 2px 4px #0006;color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__bottom--themed-dark .control-bar__btn:hover{background-color:#1e222d;color:#d1d4dc}}.chart-widget__bottom--themed-dark .control-bar__btn:active{background-color:#2a2e39}.chart-widget__bottom--themed-dark .control-bar__btn--minimize{background-color:#1848cc;color:#bbd9fb}.chart-widget__bottom--themed-dark .control-bar__btn--minimize:active{background-color:#1e53e5;color:#bbd9fb}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__bottom--themed-dark .control-bar__btn--minimize:hover{background-color:#1e53e5;color:#bbd9fb}}.control-bar__btn--back-present{position:absolute;right:2px}.control-bar__btn svg{pointer-events:none}@keyframes animation-maximize-corner-left-top-1yUqeyiZ{50%{transform:translate(-1px,-1px)}}@keyframes animation-maximize-corner-right-top-1yUqeyiZ{50%{transform:translate(1px,-1px)}}@keyframes animation-maximize-corner-right-bottom-1yUqeyiZ{50%{transform:translate(1px,1px)}}@keyframes animation-maximize-corner-left-bottom-1yUqeyiZ{50%{transform:translate(-1px,1px)}}@keyframes animation-minimize-corner-left-top-1yUqeyiZ{50%{transform:translate(1px,1px)}}@keyframes animation-minimize-corner-right-top-1yUqeyiZ{50%{transform:translate(-1px,1px)}}@keyframes animation-minimize-corner-right-bottom-1yUqeyiZ{50%{transform:translate(-1px,-1px)}}@keyframes animation-minimize-corner-left-bottom-1yUqeyiZ{50%{transform:translate(1px,-1px)}}.blockHidden-xPfK7aM7{display:none!important}.pane-button-xPfK7aM7{background-color:currentColor;border:1px solid #d1d4dc;border-radius:3px;cursor:default;pointer-events:all}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.pane-button-xPfK7aM7:hover:after{background-color:#1317220f;border-radius:3px;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0;z-index:0}}.chart-widget__top--themed-dark .pane-button-xPfK7aM7{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .pane-button-xPfK7aM7:hover:after{background-color:#ffffff1a}}.loader-18GTjpi-{align-items:center;content:"";display:flex;font-size:0;height:22px;justify-content:center;left:2px;position:absolute;top:50%;transform:translateY(-50%)}.loader-18GTjpi- .loaderItem-18GTjpi-{animation:loader-animation-18GTjpi- .96s ease-in-out infinite both;background-color:#b2b5be;border-radius:50%;height:5px;opacity:1;transform:scale(.6);width:5px}html.theme-dark .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#787b86}.loader-18GTjpi- .loaderItem-18GTjpi-:not(:last-child){margin-right:2px}.loader-18GTjpi- .loaderItem-18GTjpi-:nth-child(2){animation-delay:.151s;transition-delay:.35s/3}.loader-18GTjpi- .loaderItem-18GTjpi-:nth-child(3){animation-delay:.32s;transition-delay:(.35s/3)*2}@keyframes loader-animation-18GTjpi-{0%,to{transform:scale(.6)}50%{transform:scale(.9)}}.chart-widget__top--themed-light .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#b2b5be}html.theme-dark .chart-widget__top--themed-light .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#787b86}.chart-widget__top--themed-dark .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#b2b5be}html.theme-dark .chart-widget__top--themed-dark .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#787b86}.touchMode-18GTjpi- .loader-18GTjpi-{height:24px}.legend-1WIwNaDF{color:#0000;contain:content;direction:ltr;flex:1 1 auto;line-height:normal;margin:0 4px;max-width:calc(100% - 8px);padding-top:4px;pointer-events:none;transform:translateZ(0);-webkit-user-select:none;user-select:none;z-index:6}.item-1WIwNaDF{-webkit-backface-visibility:hidden;backface-visibility:hidden;flex-wrap:wrap;font-size:13px;max-width:100%;min-height:24px;z-index:1}.item-1WIwNaDF.selected-1WIwNaDF,.item-1WIwNaDF.withAction-1WIwNaDF{z-index:2}.item-1WIwNaDF.last-1WIwNaDF{align-items:center;background-color:currentColor;border-color:#0000;border-style:solid;border-width:0 1px;cursor:default;max-width:18px;order:100000;padding:0 4px;pointer-events:auto}.item-1WIwNaDF.last-1WIwNaDF .text-1WIwNaDF{color:#131722}.item-1WIwNaDF .noWrapWrapper-1WIwNaDF{display:flex;flex-wrap:nowrap;max-width:100%}.noWrap-1WIwNaDF .item-1WIwNaDF{flex-wrap:nowrap}.noWrap-1WIwNaDF .series-1WIwNaDF.item-1WIwNaDF{flex-wrap:wrap}.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF{align-self:auto;display:block}.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueItem-1WIwNaDF,.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueTitle-1WIwNaDF,.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueValue-1WIwNaDF{display:inline}.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueItem-1WIwNaDF:before,.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueTitle-1WIwNaDF:before,.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueValue-1WIwNaDF:before{display:none}.noWrap-1WIwNaDF .valuesWrapper-1WIwNaDF{align-items:center}.noWrap-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF{align-self:auto;color:#131722;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directionColumn-1WIwNaDF .series-1WIwNaDF{flex-direction:column}.directionColumn-1WIwNaDF .series-1WIwNaDF .valuesWrapper-1WIwNaDF{align-self:flex-start;max-width:100%}.button-1WIwNaDF,.statusesWrapper-1WIwNaDF,.titleWrapper-1WIwNaDF,.valueItem-1WIwNaDF{background-color:currentColor}.buttons-1WIwNaDF,.buttonsWrapper-1WIwNaDF,.item-1WIwNaDF,.statusesWrapper-1WIwNaDF,.titleWrapper-1WIwNaDF,.valueItem-1WIwNaDF,.valuesWrapper-1WIwNaDF{display:flex}.statusesWrapper-1WIwNaDF{z-index:1}.statusesWrapper-1WIwNaDF,.titleWrapper-1WIwNaDF{cursor:default;pointer-events:auto;position:relative}.titleWrapper-1WIwNaDF{align-items:center;border:1px solid #0000;border-right-width:0;box-sizing:border-box;flex:0 0 auto;max-width:100%;overflow:hidden;padding:0 4px}.noActions-1WIwNaDF .titleWrapper-1WIwNaDF{pointer-events:none}.title-1WIwNaDF{color:#131722;min-width:23px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.title-1WIwNaDF.intervalTitle-1WIwNaDF{min-width:auto}.disabled-1WIwNaDF .title-1WIwNaDF,.disabledOnInterval-1WIwNaDF .title-1WIwNaDF{color:#b2b5be}.disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF,.disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF{color:#b2b5be!important}.study-1WIwNaDF .title-1WIwNaDF.mainTitle-1WIwNaDF{flex:0 4 auto;min-width:15px}.study-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#5d606b;flex:0 1 auto;min-width:0;padding-left:4px}.study-1WIwNaDF.disabled-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF,.study-1WIwNaDF.disabledOnInterval-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#b2b5be}.study-1WIwNaDF.disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF,.study-1WIwNaDF.disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF{color:#b2b5be!important}.study-1WIwNaDF.hideValues-1WIwNaDF .valuesWrapper-1WIwNaDF{display:none}.legend-1WIwNaDF .study-1WIwNaDF.has5Buttons-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.legend-1WIwNaDF .study-1WIwNaDF.has5Buttons-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .study-1WIwNaDF.has5Buttons-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*5)}}.loading-1WIwNaDF .valuesWrapper-1WIwNaDF,.noWrap-1WIwNaDF .valuesWrapper-1WIwNaDF,.series-1WIwNaDF .valuesWrapper-1WIwNaDF{background-color:currentColor;border-bottom:1px solid #0000;border-top:1px solid #0000}.loader-1WIwNaDF{margin-left:4px}.noWrap-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF,.series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF{border-left-color:#0000}.noWrap-1WIwNaDF .valueItem-1WIwNaDF,.series-1WIwNaDF .valueItem-1WIwNaDF{background-color:initial}.noWrap-1WIwNaDF .valueItem-1WIwNaDF,.noWrap-1WIwNaDF .valueItem-1WIwNaDF .valueTitle-1WIwNaDF,.noWrap-1WIwNaDF .valueItem-1WIwNaDF .valueValue-1WIwNaDF,.series-1WIwNaDF .valueItem-1WIwNaDF,.series-1WIwNaDF .valueItem-1WIwNaDF .valueTitle-1WIwNaDF,.series-1WIwNaDF .valueItem-1WIwNaDF .valueValue-1WIwNaDF{display:inline-flex}.series-1WIwNaDF .titleWrapper-1WIwNaDF{align-items:center;font-size:16px;line-height:normal;max-width:100%;min-height:24px;position:relative}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.withDot-1WIwNaDF:not(:first-child){padding-left:12px;position:relative}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.withDot-1WIwNaDF:not(:first-child):before{color:#c1c4cd;content:"\b7";font-size:16px;height:100%;left:0;line-height:inherit;position:absolute;text-align:center;top:0;width:12px}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.mainTitle-1WIwNaDF{flex:0 1 auto}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{flex:0 0 auto}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.intervalTitle-1WIwNaDF{flex:0 1 auto}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.brandTitle-1WIwNaDF,.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.exchangeTitle-1WIwNaDF,.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.providerTitle-1WIwNaDF,.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.styleTitle-1WIwNaDF{flex:0 3 auto}.series-1WIwNaDF .valuesWrapper-1WIwNaDF{align-items:flex-end;border-bottom-width:3px;display:flex}.series-1WIwNaDF .titleWrapper-1WIwNaDF,.series-1WIwNaDF .valuesWrapper-1WIwNaDF{min-width:23px}.hideBrandingTitle-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.brandTitle-1WIwNaDF,.hideExchangeProviderTitles-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.exchangeTitle-1WIwNaDF,.hideExchangeProviderTitles-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.providerTitle-1WIwNaDF,.microHideIntervalTitle-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.intervalTitle-1WIwNaDF,.single-visible .minHideIntervalTitle-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.intervalTitle-1WIwNaDF{display:none}.legend-1WIwNaDF .series-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.legend-1WIwNaDF .series-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*3)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .series-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*3)}}.legend-1WIwNaDF .series-1WIwNaDF.flagged-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.legend-1WIwNaDF .series-1WIwNaDF.flagged-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*2)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .series-1WIwNaDF.flagged-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*2)}}.selected-1WIwNaDF .buttons-1WIwNaDF,.selected-1WIwNaDF .titleWrapper-1WIwNaDF,.withAction-1WIwNaDF .buttons-1WIwNaDF,.withAction-1WIwNaDF .titleWrapper-1WIwNaDF{background-color:#fff}.selected-1WIwNaDF .button-1WIwNaDF,.withAction-1WIwNaDF .button-1WIwNaDF{background-color:initial}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.selected-1WIwNaDF .button-1WIwNaDF:hover:after{background-color:#e3effd}}.selected-1WIwNaDF .titleWrapper-1WIwNaDF,.withAction-1WIwNaDF .titleWrapper-1WIwNaDF,.withAction-1WIwNaDF.selected-1WIwNaDF .titleWrapper-1WIwNaDF{border-radius:4px 0 0 4px}.medium-1WIwNaDF.legend-1WIwNaDF .item-1WIwNaDF.study-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.medium-1WIwNaDF.legend-1WIwNaDF .item-1WIwNaDF.study-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*3)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.medium-1WIwNaDF.legend-1WIwNaDF:hover .item-1WIwNaDF.study-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*3)}}.minimized-1WIwNaDF.legend-1WIwNaDF .item-1WIwNaDF.study-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.minimized-1WIwNaDF.legend-1WIwNaDF .item-1WIwNaDF.study-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*2)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.minimized-1WIwNaDF.legend-1WIwNaDF:hover .item-1WIwNaDF.study-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*2)}}.valuesWrapper-1WIwNaDF{align-items:center;align-self:stretch;cursor:default;flex-wrap:wrap;overflow:hidden;pointer-events:auto;position:relative}.valuesAdditionalWrapper-1WIwNaDF{align-items:baseline;align-self:stretch;border-left:4px solid;display:flex;flex-wrap:wrap}.loading-1WIwNaDF .valuesWrapper-1WIwNaDF{min-width:24px}.disabled-1WIwNaDF .valuesWrapper-1WIwNaDF{display:none}.valueItem-1WIwNaDF{align-items:center;align-self:stretch;display:flex;text-align:left}.valueItem-1WIwNaDF:not(:last-child){padding-right:6px}.valueItem-1WIwNaDF:last-child{padding-right:4px}.valueItem-1WIwNaDF .valueTitle-1WIwNaDF{padding-right:1px}.valueItem-1WIwNaDF .valueTitle-1WIwNaDF,.valueItem-1WIwNaDF .valueValue-1WIwNaDF{color:#131722}.loading-1WIwNaDF .valueItem-1WIwNaDF,.loading-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF{opacity:0}.series-1WIwNaDF .valueItem-1WIwNaDF:last-child{padding-right:6px}.series-1WIwNaDF .valueItem-1WIwNaDF:last-child .title-1WIwNaDF{display:none}.series-1WIwNaDF .valueItem-1WIwNaDF .valueTitle-1WIwNaDF{color:#5d606b}.buttonsWrapper-1WIwNaDF{max-width:0;position:relative;width:0;z-index:2}.micro-1WIwNaDF .series-1WIwNaDF .buttonsWrapper-1WIwNaDF{max-width:0;width:0}.disabled-1WIwNaDF .buttonsWrapper-1WIwNaDF,.flagged-1WIwNaDF .buttonsWrapper-1WIwNaDF{max-width:var(--legend-source-item-button-width);width:var(--legend-source-item-button-width)}.disabled-1WIwNaDF.series-1WIwNaDF:not(.onlyOneButtonCanBeStick-1WIwNaDF) .buttonsWrapper-1WIwNaDF{max-width:calc(var(--legend-source-item-button-width)*2);width:calc(var(--legend-source-item-button-width)*2)}.buttons-1WIwNaDF{align-items:center;display:flex;flex-shrink:0;opacity:0;padding:0;pointer-events:auto}.disabled-1WIwNaDF .buttons-1WIwNaDF,.disabledOnInterval-1WIwNaDF .buttons-1WIwNaDF,.flagged-1WIwNaDF .buttons-1WIwNaDF,.touchMode-1WIwNaDF .buttons-1WIwNaDF{opacity:1}.noActions-1WIwNaDF .buttons-1WIwNaDF{pointer-events:none}.selected-1WIwNaDF .buttons-1WIwNaDF,.withAction-1WIwNaDF .buttons-1WIwNaDF{border-radius:0 4px 4px 0}.legend-1WIwNaDF .selected-1WIwNaDF .buttons-1WIwNaDF,.legend-1WIwNaDF .stayInHoveredMode-1WIwNaDF .buttons-1WIwNaDF{cursor:default;opacity:1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .withAction-1WIwNaDF .buttons-1WIwNaDF{cursor:default;opacity:1}}.legend-1WIwNaDF .selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.legend-1WIwNaDF .stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{background:radial-gradient(10px at 0 50%,currentColor 0,#0000 100%);content:"";height:18px;left:calc(var(--legend-source-item-button-width)*4);position:absolute;top:3px;width:16px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{background:radial-gradient(10px at 0 50%,currentColor 0,#0000 100%);content:"";height:18px;left:calc(var(--legend-source-item-button-width)*4);position:absolute;top:3px;width:16px}}.button-1WIwNaDF{align-items:center;align-self:stretch;display:none;justify-content:center;opacity:0;position:relative;width:var(--legend-source-item-button-width);z-index:0}.buttonIcon-1WIwNaDF{color:#131722;display:flex}.button-1WIwNaDF:last-child{border-radius:0 4px 4px 0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1WIwNaDF:hover:after{background-color:#f0f3fa;border-radius:2px;bottom:1px;content:"";display:block;left:0;position:absolute;right:0;top:1px;z-index:-1}}.button-1WIwNaDF.flag-1WIwNaDF>span{margin-top:-1px}.disabled-1WIwNaDF .buttonIcon-1WIwNaDF{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .study-1WIwNaDF.invisibleHover-1WIwNaDF .button-1WIwNaDF{display:flex}}.withAction-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:first-child),.withAction-1WIwNaDF .titleWrapper-1WIwNaDF{border-color:#d1d4dc}.selected-1WIwNaDF .titleWrapper-1WIwNaDF:after,.withAction-1WIwNaDF .titleWrapper-1WIwNaDF:after{background-color:#d1d4dc}.selected-1WIwNaDF .buttons-1WIwNaDF,.withAction-1WIwNaDF .buttons-1WIwNaDF{border:1px solid #d1d4dc;border-left:0}.selected-1WIwNaDF .buttons-1WIwNaDF,.selected-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:first-child),.selected-1WIwNaDF .buttonsWrapper-1WIwNaDF,.selected-1WIwNaDF .titleWrapper-1WIwNaDF{border-color:#2962ff}.buttons-1WIwNaDF .eye-1WIwNaDF .animated-loading-eye,.buttons-1WIwNaDF .eye-1WIwNaDF .crossed-eye,.buttons-1WIwNaDF .eye-1WIwNaDF .loading-eye,.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .animated-loading-eye,.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .loading-eye,.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .normal-eye,.medium-1WIwNaDF .study-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:nth-child(2),.medium-1WIwNaDF .study-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:nth-child(3):nth-last-child(3),.micro-1WIwNaDF .series-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:last-child),.minimized-1WIwNaDF .study-1WIwNaDF .button-1WIwNaDF:not(:last-child):not(:first-child){display:none}.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .crossed-eye{display:block}.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .crossed-eye,.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .normal-eye{display:none}.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .animated-loading-eye,.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .loading-eye{display:block}.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .animated-loading-eye{animation:eye-animation-1WIwNaDF .96s linear infinite;transform-origin:center}.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF,.disabledOnInterval-1WIwNaDF .buttons-1WIwNaDF .intervalEye-1WIwNaDF,.flagged-1WIwNaDF .buttons-1WIwNaDF .flag-1WIwNaDF,.selected-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF,.series-1WIwNaDF.disabled-1WIwNaDF .buttons-1WIwNaDF .flag-1WIwNaDF,.withAction-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF{display:flex;opacity:1}.buttons-1WIwNaDF .intervalEye-1WIwNaDF .animated-loading-eye,.buttons-1WIwNaDF .intervalEye-1WIwNaDF .loading-eye,.buttons-1WIwNaDF .intervalEye-1WIwNaDF .normal-eye{display:none}.buttons-1WIwNaDF .intervalEye-1WIwNaDF .crossed-eye{color:#fb8c00}.series-1WIwNaDF.disabled-1WIwNaDF .flag-1WIwNaDF .buttonIcon-1WIwNaDF{visibility:hidden}.selected-1WIwNaDF.series-1WIwNaDF.disabled-1WIwNaDF .flag-1WIwNaDF .buttonIcon-1WIwNaDF,.series-1WIwNaDF.disabled-1WIwNaDF.flagged-1WIwNaDF .flag-1WIwNaDF .buttonIcon-1WIwNaDF,.withAction-1WIwNaDF.series-1WIwNaDF.disabled-1WIwNaDF .flag-1WIwNaDF .buttonIcon-1WIwNaDF{visibility:visible}.flag-1WIwNaDF .buttonIcon-1WIwNaDF{align-self:stretch;flex:1}.flagWrapper-1WIwNaDF,.markerContainer-1WIwNaDF{display:flex;flex:1;justify-content:center}.markerContainer-1WIwNaDF{align-items:stretch}.flagWrapper-1WIwNaDF{width:12px}.flagWrapper-1WIwNaDF svg{height:12px}.sourcesWrapper-1WIwNaDF{align-items:flex-start;display:flex;flex-direction:column-reverse;margin:0;position:relative}.legendMainSourceWrapper-1WIwNaDF{text-align:left}.sources-1WIwNaDF{display:flex;flex:1 1 auto;flex-direction:column;width:100%}.toggler-1WIwNaDF{align-items:center;display:flex;flex:0 0 auto;margin:2px 0 0 5px;position:relative}.toggler-1WIwNaDF.onlyOneSourceShown-1WIwNaDF{display:none}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.toggler-1WIwNaDF:hover:after{z-index:0}.toggler-1WIwNaDF:hover .counter-1WIwNaDF,.toggler-1WIwNaDF:hover .iconArrow-1WIwNaDF,.toggler-1WIwNaDF:hover .objectTree-1WIwNaDF{color:#000}}.toggler-1WIwNaDF .counter-1WIwNaDF{color:inherit;display:none;font-size:13px;line-height:16px;padding-right:4px}.toggler-1WIwNaDF .iconArrow-1WIwNaDF{display:flex;transform:rotate(-180deg);transition:transform .1s cubic-bezier(.06,.52,1,.54);width:27px}.toggler-1WIwNaDF .objectTree-1WIwNaDF{display:none;width:19px}.toggler-1WIwNaDF .iconArrow-1WIwNaDF,.toggler-1WIwNaDF .objectTree-1WIwNaDF{align-items:center;height:19px;justify-content:center}.toggler-1WIwNaDF .counter-1WIwNaDF,.toggler-1WIwNaDF .iconArrow-1WIwNaDF,.toggler-1WIwNaDF .objectTree-1WIwNaDF{color:#131722;position:relative;z-index:1}.closed-1WIwNaDF.sourcesWrapper-1WIwNaDF{padding-bottom:4px}.closed-1WIwNaDF .toggler-1WIwNaDF .counter-1WIwNaDF{display:flex}.closed-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF{transform:rotate(0)}.closed-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.closed-1WIwNaDF .toggler-1WIwNaDF .objectTree-1WIwNaDF{width:19px}.closed-1WIwNaDF .sources-1WIwNaDF{display:none}.micro-1WIwNaDF .sourcesWrapper-1WIwNaDF{padding-bottom:4px}.micro-1WIwNaDF .toggler-1WIwNaDF.objectsTreeCanBeShown-1WIwNaDF .objectTree-1WIwNaDF,.micro-1WIwNaDF .toggler-1WIwNaDF.objectsTreeCanBeShown-1WIwNaDF.onlyOneSourceShown-1WIwNaDF{display:flex}.micro-1WIwNaDF .closed-1WIwNaDF .toggler-1WIwNaDF .counter-1WIwNaDF,.micro-1WIwNaDF .closed-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.micro-1WIwNaDF .series-1WIwNaDF .valuesWrapper-1WIwNaDF,.micro-1WIwNaDF .sources-1WIwNaDF,.micro-1WIwNaDF .toggler-1WIwNaDF .counter-1WIwNaDF,.micro-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF{display:none}.touchMode-1WIwNaDF .titleWrapper-1WIwNaDF{height:26px;line-height:25px}.touchMode-1WIwNaDF .selected-1WIwNaDF .titleWrapper-1WIwNaDF:after,.touchMode-1WIwNaDF .withAction-1WIwNaDF .titleWrapper-1WIwNaDF:after{bottom:5px;top:5px}.touchMode-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF{min-height:26px}.touchMode-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.touchMode-1WIwNaDF .toggler-1WIwNaDF .objectTree-1WIwNaDF{height:24px;width:30px}.touchMode-1WIwNaDF .toggler-1WIwNaDF .counter-1WIwNaDF{font-size:14px}.touchMode-1WIwNaDF .item-1WIwNaDF{min-height:26px}.touchMode-1WIwNaDF .closed-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.touchMode-1WIwNaDF .closed-1WIwNaDF .toggler-1WIwNaDF .objectTree-1WIwNaDF{width:24px}.chart-widget__top--themed-dark .item-1WIwNaDF.last-1WIwNaDF .text-1WIwNaDF,.chart-widget__top--themed-dark .noWrap-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF,.chart-widget__top--themed-dark .title-1WIwNaDF,.chart-widget__top--themed-dark .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .valueValue-1WIwNaDF{color:#b2b5be}.chart-widget__top--themed-dark .disabled-1WIwNaDF .title-1WIwNaDF,.chart-widget__top--themed-dark .disabled-1WIwNaDF .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .disabled-1WIwNaDF .valueValue-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF .title-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF .valueValue-1WIwNaDF{color:#50535e}.chart-widget__top--themed-dark .disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF,.chart-widget__top--themed-dark .disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .valueValue-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .valueValue-1WIwNaDF{color:#50535e!important}.chart-widget__top--themed-dark .study-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#868993}.chart-widget__top--themed-dark .study-1WIwNaDF.disabled-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF,.chart-widget__top--themed-dark .study-1WIwNaDF.disabledOnInterval-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#50535e}.chart-widget__top--themed-dark .study-1WIwNaDF.withCustomTextColor-1WIwNaDF.disabled-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF,.chart-widget__top--themed-dark .study-1WIwNaDF.withCustomTextColor-1WIwNaDF.disabledOnInterval-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#50535e!important}.chart-widget__top--themed-dark .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.withDot-1WIwNaDF:not(:first-child):before{color:#434651}.chart-widget__top--themed-dark .buttonIcon-1WIwNaDF,.chart-widget__top--themed-dark .series-1WIwNaDF .valueItem-1WIwNaDF .valueTitle-1WIwNaDF{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .button-1WIwNaDF:hover:after{background-color:#2a2e39}}.chart-widget__top--themed-dark .withAction-1WIwNaDF .buttons-1WIwNaDF,.chart-widget__top--themed-dark .withAction-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:first-child),.chart-widget__top--themed-dark .withAction-1WIwNaDF .titleWrapper-1WIwNaDF{border-color:#363a45}.chart-widget__top--themed-dark .selected-1WIwNaDF .titleWrapper-1WIwNaDF:after,.chart-widget__top--themed-dark .withAction-1WIwNaDF .titleWrapper-1WIwNaDF:after{background-color:#363a45}.chart-widget__top--themed-dark .selected-1WIwNaDF .buttons-1WIwNaDF,.chart-widget__top--themed-dark .selected-1WIwNaDF .titleWrapper-1WIwNaDF,.chart-widget__top--themed-dark .withAction-1WIwNaDF .buttons-1WIwNaDF,.chart-widget__top--themed-dark .withAction-1WIwNaDF .titleWrapper-1WIwNaDF{background-color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .selected-1WIwNaDF .button-1WIwNaDF:hover:after{background-color:#1848cc33}}.chart-widget__top--themed-dark .selected-1WIwNaDF .buttons-1WIwNaDF,.chart-widget__top--themed-dark .selected-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:first-child),.chart-widget__top--themed-dark .selected-1WIwNaDF .buttonsWrapper-1WIwNaDF,.chart-widget__top--themed-dark .selected-1WIwNaDF .titleWrapper-1WIwNaDF{border-color:#1848cc}.chart-widget__top--themed-dark .toggler-1WIwNaDF{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .toggler-1WIwNaDF:hover:after{background-color:#ffffff1a}.chart-widget__top--themed-dark .toggler-1WIwNaDF:hover .counter-1WIwNaDF,.chart-widget__top--themed-dark .toggler-1WIwNaDF:hover .iconArrow-1WIwNaDF,.chart-widget__top--themed-dark .toggler-1WIwNaDF:hover .objectTree-1WIwNaDF{color:#f0f3fa}}.chart-widget__top--themed-dark .toggler-1WIwNaDF .counter-1WIwNaDF,.chart-widget__top--themed-dark .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.chart-widget__top--themed-dark .toggler-1WIwNaDF .objectTree-1WIwNaDF{color:#d1d4dc}@keyframes eye-animation-1WIwNaDF{to{transform:rotate(1turn)}}.wrapper-1Srpa2Xw{box-sizing:border-box;display:flex;flex-direction:column;min-width:292px;padding-right:15px;position:relative}.timezone-1Srpa2Xw{color:#787b86;font-size:11px;line-height:18px;padding-top:4px;text-align:center;width:100%}.sessionDayWrapper-1Srpa2Xw{display:flex;flex-direction:column;position:relative}.nowWrapper-1Srpa2Xw{bottom:0;left:30px;pointer-events:none;position:absolute;right:0;top:0}.nowWrapper-1Srpa2Xw .now-1Srpa2Xw{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#131722;bottom:-1px;outline:1px solid #fff;position:absolute;top:2px;width:1px}html.theme-dark .nowWrapper-1Srpa2Xw .now-1Srpa2Xw{background-color:#b2b5be;outline:1px solid #1e222d}.sessionDay-1Srpa2Xw{align-items:baseline;display:flex}.sessionDay-1Srpa2Xw .weekDay-1Srpa2Xw{color:#787b86;font-size:10px;overflow:hidden;padding-top:3px;text-transform:uppercase;width:30px}html.theme-dark .sessionDay-1Srpa2Xw .weekDay-1Srpa2Xw{color:#787b86}.sessionDay-1Srpa2Xw .sessionDaySegments-1Srpa2Xw,.sessionDay-1Srpa2Xw .timeMarkWrapper-1Srpa2Xw{flex:1;position:relative;width:100%}.sessionDay-1Srpa2Xw .timeMarkWrapper-1Srpa2Xw{height:16px;margin-top:3px}.sessionDay-1Srpa2Xw .sessionDaySegments-1Srpa2Xw{border-radius:4px;height:7px;margin:20px 0 2px}.sessionDay-1Srpa2Xw:first-child .sessionDaySegments-1Srpa2Xw{margin-top:0}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw{content:"";display:flex;justify-content:center;position:absolute}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw .timeMark-1Srpa2Xw:first-child{padding-right:4px}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw .timeMark-1Srpa2Xw:last-child{padding-left:4px}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw.timeMarkSegmentAlignByEnds-1Srpa2Xw{justify-content:space-between}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw.timeMarkSegmentAlignByEnds-1Srpa2Xw .timeMark-1Srpa2Xw{padding:0}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw.timeMarkSegmentAlignByEnds-1Srpa2Xw .timeMark-1Srpa2Xw:first-child{transform:translateX(-50%)}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw.timeMarkSegmentAlignByEnds-1Srpa2Xw .timeMark-1Srpa2Xw:last-child{transform:translateX(50%)}.sessionDay-1Srpa2Xw .timeMark-1Srpa2Xw{background-color:#fff;color:#9598a1;font-size:11px;line-height:16px}html.theme-dark .sessionDay-1Srpa2Xw .timeMark-1Srpa2Xw{background-color:#1e222d}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw{box-sizing:border-box;content:"";height:100%;opacity:.3;padding:0 2px;position:absolute}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw:first-child{padding-left:0}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw:last-child{padding-right:0}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw:before{content:"";display:flex;flex:1;height:100%;min-width:1px;z-index:0}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw.small-1Srpa2Xw{margin-left:-1px;padding:0;z-index:1}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw.start-1Srpa2Xw:before{border-radius:4px 0 0 4px}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw.end-1Srpa2Xw:before{border-radius:0 4px 4px 0}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw.start-1Srpa2Xw.end-1Srpa2Xw:before{border-radius:4px}.sessionDay-1Srpa2Xw.active-1Srpa2Xw .segment-1Srpa2Xw{opacity:1}.sessionDay-1Srpa2Xw.active-1Srpa2Xw .weekDay-1Srpa2Xw{color:#131722}html.theme-dark .sessionDay-1Srpa2Xw.active-1Srpa2Xw .weekDay-1Srpa2Xw{color:#b2b5be}.green-1Srpa2Xw{color:#22ab94}.green-1Srpa2Xw:before{background-color:currentColor}.orange-1Srpa2Xw{color:#ff9800}.orange-1Srpa2Xw:before{background-color:currentColor}.blue-1Srpa2Xw{color:#2962ff}.blue-1Srpa2Xw:before{background-color:currentColor}.gray-1Srpa2Xw{color:#e0e3eb}html.theme-dark .gray-1Srpa2Xw{color:#434651}.gray-1Srpa2Xw:before{background-color:currentColor}.tooltip-1Srpa2Xw{white-space:normal}.tooltip-1Srpa2Xw .time-1Srpa2Xw{color:#f0f3fa;margin-left:5px}html.theme-dark .tooltip-1Srpa2Xw .time-1Srpa2Xw{color:#f0f3fa}.tooltip-1Srpa2Xw .gray-1Srpa2Xw{color:#9598a1}html.theme-dark .tooltip-1Srpa2Xw .gray-1Srpa2Xw{color:#b2b5be}.tooltip-1Srpa2Xw .blue-1Srpa2Xw,html.theme-dark .tooltip-1Srpa2Xw .blue-1Srpa2Xw{color:#448aff}.statuses-1NfuygY0{align-self:center;border-radius:9px;display:inline-flex;overflow:hidden}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statuses-1NfuygY0:hover .statusItem-1NfuygY0:after{opacity:.25}}.statuses-1NfuygY0.small-1NfuygY0{border-radius:9px}.statuses-1NfuygY0.large-1NfuygY0{border-radius:11px}.statuses-1NfuygY0.blinking-1NfuygY0{will-change:opacity}.statuses-1NfuygY0 .statusItem-1NfuygY0{cursor:pointer}.oneWidgetsVisible-1NfuygY0.statuses-1NfuygY0,.threeWidgetsVisible-1NfuygY0.statuses-1NfuygY0,.twoWidgetsVisible-1NfuygY0.statuses-1NfuygY0{margin-left:11px;margin-right:12px}.statusItem-1NfuygY0{display:flex;position:relative;-webkit-user-select:none;user-select:none}.statusItem-1NfuygY0:after{content:"";display:block;height:100%;left:0;opacity:.15;position:absolute;top:0;width:100%;z-index:-1}.statusItem-1NfuygY0 svg{left:50%;position:relative;top:50%;transform:translate(-50%,-50%);z-index:0}.statusItem-1NfuygY0.small-1NfuygY0{height:18px;width:18px}.statusItem-1NfuygY0.large-1NfuygY0{height:22px;width:22px}.statusItem-1NfuygY0.blinking-1NfuygY0:after{animation:blinking-animation-1NfuygY0 2.5s cubic-bezier(.25,0,.75,1) infinite}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statusItem-1NfuygY0.blinking-1NfuygY0:after:hover{opacity:inherit}}.marketStatusOpen-1NfuygY0,html.theme-dark .marketStatusOpen-1NfuygY0{color:#089981}.marketStatusOpen-1NfuygY0:after,html.theme-dark .marketStatusOpen-1NfuygY0:after{background-color:#22ab94}.marketStatusClose-1NfuygY0,html.theme-dark .marketStatusClose-1NfuygY0{color:#9598a1}.marketStatusClose-1NfuygY0:after,html.theme-dark .marketStatusClose-1NfuygY0:after{background-color:#9598a1}.marketStatusPre-1NfuygY0,html.theme-dark .marketStatusPre-1NfuygY0{color:#fb8c00}.marketStatusPre-1NfuygY0:after,html.theme-dark .marketStatusPre-1NfuygY0:after{background-color:#ffa726}.marketStatusPost-1NfuygY0,html.theme-dark .marketStatusPost-1NfuygY0{color:#2962ff}.marketStatusPost-1NfuygY0:after,html.theme-dark .marketStatusPost-1NfuygY0:after{background-color:#3179f5}.marketStatusHoliday-1NfuygY0,html.theme-dark .marketStatusHoliday-1NfuygY0{color:#9598a1}.marketStatusHoliday-1NfuygY0:after,html.theme-dark .marketStatusHoliday-1NfuygY0:after{background-color:#9598a1}.invalidSymbol-1NfuygY0{color:#fff}.invalidSymbol-1NfuygY0,html.theme-dark .invalidSymbol-1NfuygY0{background-color:#f7525f}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statuses-1NfuygY0 .invalidSymbol-1NfuygY0:hover{background-color:#b22833}html.theme-dark .statuses-1NfuygY0 .invalidSymbol-1NfuygY0:hover{background-color:#f23645}}.replayMode-1NfuygY0{color:#fff}.replayMode-1NfuygY0,html.theme-dark .replayMode-1NfuygY0{background-color:#2962ff}html.theme-dark .replayMode-1NfuygY0{color:#e3effd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statuses-1NfuygY0 .replayMode-1NfuygY0:hover,html.theme-dark .statuses-1NfuygY0 .replayMode-1NfuygY0:hover{background-color:#1e53e5}}.notAccurate-1NfuygY0,html.theme-dark .notAccurate-1NfuygY0{color:#c2185b}.notAccurate-1NfuygY0:after,html.theme-dark .notAccurate-1NfuygY0:after{background-color:#ec407a}.delay-1NfuygY0,html.theme-dark .delay-1NfuygY0{color:#f57c00}.delay-1NfuygY0:after,html.theme-dark .delay-1NfuygY0:after{background-color:#ffa726}.eod-1NfuygY0,html.theme-dark .eod-1NfuygY0{color:#7b1fa2}.eod-1NfuygY0:after,html.theme-dark .eod-1NfuygY0:after{background-color:#ab47bc}.twoWidgetsVisible-1NfuygY0 .delay-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .eod-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .notAccurate-1NfuygY0{padding-right:2px}.dataProblemHigh-1NfuygY0{background-color:#f7525f;color:#fff}html.theme-dark .dataProblemHigh-1NfuygY0{background-color:#f7525f}.dataProblemLow-1NfuygY0,html.theme-dark .dataProblemLow-1NfuygY0{color:#cc2f3c}.dataProblemLow-1NfuygY0:after,html.theme-dark .dataProblemLow-1NfuygY0:after{background-color:#f7525f}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statuses-1NfuygY0 .dataProblemHigh-1NfuygY0:hover{background-color:#b22833}html.theme-dark .statuses-1NfuygY0 .dataProblemHigh-1NfuygY0:hover{background-color:#f23645}}.threeWidgetsVisible-1NfuygY0 .marketStatusClose-1NfuygY0,.threeWidgetsVisible-1NfuygY0 .marketStatusHoliday-1NfuygY0,.threeWidgetsVisible-1NfuygY0 .marketStatusOpen-1NfuygY0,.threeWidgetsVisible-1NfuygY0 .marketStatusPost-1NfuygY0,.threeWidgetsVisible-1NfuygY0 .marketStatusPre-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusClose-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusHoliday-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusOpen-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusPost-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusPre-1NfuygY0{padding-left:2px}.threeWidgetsVisible-1NfuygY0 .dataProblemLow-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .dataProblemLow-1NfuygY0{padding-right:2px}@keyframes blinking-animation-1NfuygY0{0%,to{opacity:.15}50%{opacity:.4}}.paneControls-2RChU0rC{color:#fff;margin-left:auto;margin-top:6px;padding:0 5px 0 1px;position:static;transition:opacity .4s,visibility .4s;z-index:7}.paneControls-2RChU0rC.hasTopMargin-2RChU0rC{top:30px}.paneControls-2RChU0rC.hidden-2RChU0rC{opacity:0;visibility:hidden}.paneControls-2RChU0rC.forceHidden-2RChU0rC{height:0;line-height:0;margin:0;padding:0;width:0}.button-2RChU0rC{align-items:center;display:flex;flex:0 0 auto;height:19px;justify-content:center;overflow:hidden;position:relative;width:19px}.button-2RChU0rC:not(:first-child){margin-left:4px}.button-2RChU0rC .buttonIcon-2RChU0rC{color:#131722}.button-2RChU0rC.minimize-2RChU0rC .buttonIcon-2RChU0rC{color:#fff}.button-2RChU0rC.newButton-2RChU0rC{border-radius:4px}.touchMode-2RChU0rC .button-2RChU0rC{height:24px;width:24px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.maximize-2RChU0rC:hover .bracket-up{animation:maximize-animation-up-bracket-2RChU0rC .6s ease}.maximize-2RChU0rC:hover .bracket-down{animation:maximize-animation-down-bracket-2RChU0rC .6s ease}}.maximize-2RChU0rC .bracket-down,.maximize-2RChU0rC .bracket-up{transform:translateY(0)}@keyframes maximize-animation-up-bracket-2RChU0rC{50%{transform:translateY(1px)}}@keyframes maximize-animation-down-bracket-2RChU0rC{50%{transform:translateY(-1px)}}.minimize-2RChU0rC{background-color:#2962ff!important;border-color:#2962ff!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.minimize-2RChU0rC:hover .bracket-up{animation:minimize-animation-up-bracket-2RChU0rC .6s ease}.minimize-2RChU0rC:hover .bracket-down{animation:minimize-animation-down-bracket-2RChU0rC .6s ease}}.minimize-2RChU0rC .bracket-down,.minimize-2RChU0rC .bracket-up{transform:translateY(0)}@keyframes minimize-animation-up-bracket-2RChU0rC{50%{transform:translateY(-1px)}}@keyframes minimize-animation-down-bracket-2RChU0rC{50%{transform:translateY(1px)}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.up-2RChU0rC:hover .buttonIcon-2RChU0rC{animation:up-animation-2RChU0rC .6s ease}}@keyframes up-animation-2RChU0rC{0%{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.down-2RChU0rC:hover .buttonIcon-2RChU0rC{animation:down-animation-2RChU0rC .6s ease}}@keyframes down-animation-2RChU0rC{0%{transform:translateY(0)}50%{transform:translateY(2px)}}.buttonsWrapper-2RChU0rC{align-items:center;display:flex;flex:0 0 auto;flex-wrap:nowrap}.chart-widget__top--themed-dark .paneControls-2RChU0rC{color:#131722}.chart-widget__top--themed-dark .minimize-2RChU0rC{background-color:#1848cc!important;border-color:#1848cc!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .button-2RChU0rC:hover .buttonIcon-2RChU0rC{color:#f0f3fa}}.chart-widget__top--themed-dark .button-2RChU0rC .buttonIcon-2RChU0rC{color:#d1d4dc} \ No newline at end of file diff --git a/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.rtl.css b/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.rtl.css new file mode 100644 index 0000000..7dfc3f7 --- /dev/null +++ b/public/static/charting_library/bundles/439.cf0a8c77353b34e465e2.rtl.css @@ -0,0 +1 @@ +.control-bar-wrapper{direction:ltr;height:28px;pointer-events:none;position:absolute;z-index:1}.control-bar{display:flex;transition:opacity .3s,visibility .3s;visibility:visible}.control-bar--hidden,.control-bar--hidden .control-bar__btn{opacity:0;visibility:hidden}.control-bar__group{align-items:center;display:flex;margin:0 7px}.control-bar__btn{align-items:center;background-color:#ffffffbf;border-radius:50%;box-shadow:0 2px 4px #0003;color:#5d606b;display:inline-flex;height:28px;justify-content:center;margin:0 4px;opacity:1;pointer-events:auto;transition:background-color .3s,color .3s,visibility .4s,opacity .4s;-webkit-user-select:none;user-select:none;visibility:visible;width:28px;z-index:1}.control-bar__btn--btn-hidden{opacity:0;visibility:hidden}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-bar__btn:hover{background-color:#fff;color:#131722}}.control-bar__btn:active{background-color:#f8f9fd;transition:none}.control-bar__btn--minimize{background-color:#2962ff;color:#fff}.control-bar__btn--minimize:active{background-color:#1e53e5;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-bar__btn--minimize:hover{background-color:#1e53e5;color:#fff}.control-bar__btn--minimize:hover .corner-left-top{animation:animation-minimize-corner-left-top-1yUqeyiZ .6s ease}.control-bar__btn--minimize:hover .corner-right-top{animation:animation-minimize-corner-right-top-1yUqeyiZ .6s ease}.control-bar__btn--minimize:hover .corner-right-bottom{animation:animation-minimize-corner-right-bottom-1yUqeyiZ .6s ease}.control-bar__btn--minimize:hover .corner-left-bottom{animation:animation-minimize-corner-left-bottom-1yUqeyiZ .6s ease}.control-bar__btn--maximize:hover .corner-left-top{animation:animation-maximize-corner-left-top-1yUqeyiZ .6s ease}.control-bar__btn--maximize:hover .corner-right-top{animation:animation-maximize-corner-right-top-1yUqeyiZ .6s ease}.control-bar__btn--maximize:hover .corner-right-bottom{animation:animation-maximize-corner-right-bottom-1yUqeyiZ .6s ease}.control-bar__btn--maximize:hover .corner-left-bottom{animation:animation-maximize-corner-left-bottom-1yUqeyiZ .6s ease}}.chart-widget__bottom--themed-dark .control-bar__btn{background-color:#1e222dbf;box-shadow:0 2px 4px #0006;color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__bottom--themed-dark .control-bar__btn:hover{background-color:#1e222d;color:#d1d4dc}}.chart-widget__bottom--themed-dark .control-bar__btn:active{background-color:#2a2e39}.chart-widget__bottom--themed-dark .control-bar__btn--minimize{background-color:#1848cc;color:#bbd9fb}.chart-widget__bottom--themed-dark .control-bar__btn--minimize:active{background-color:#1e53e5;color:#bbd9fb}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__bottom--themed-dark .control-bar__btn--minimize:hover{background-color:#1e53e5;color:#bbd9fb}}.control-bar__btn--back-present{position:absolute;right:2px}.control-bar__btn svg{pointer-events:none}@keyframes animation-maximize-corner-left-top-1yUqeyiZ{50%{transform:translate(1px,-1px)}}@keyframes animation-maximize-corner-right-top-1yUqeyiZ{50%{transform:translate(-1px,-1px)}}@keyframes animation-maximize-corner-right-bottom-1yUqeyiZ{50%{transform:translate(-1px,1px)}}@keyframes animation-maximize-corner-left-bottom-1yUqeyiZ{50%{transform:translate(1px,1px)}}@keyframes animation-minimize-corner-left-top-1yUqeyiZ{50%{transform:translate(-1px,1px)}}@keyframes animation-minimize-corner-right-top-1yUqeyiZ{50%{transform:translate(1px,1px)}}@keyframes animation-minimize-corner-right-bottom-1yUqeyiZ{50%{transform:translate(1px,-1px)}}@keyframes animation-minimize-corner-left-bottom-1yUqeyiZ{50%{transform:translate(-1px,-1px)}}.blockHidden-xPfK7aM7{display:none!important}.pane-button-xPfK7aM7{background-color:currentColor;border:1px solid #d1d4dc;border-radius:3px;cursor:default;pointer-events:all}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.pane-button-xPfK7aM7:hover:after{background-color:#1317220f;border-radius:3px;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0;z-index:0}}.chart-widget__top--themed-dark .pane-button-xPfK7aM7{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .pane-button-xPfK7aM7:hover:after{background-color:#ffffff1a}}.loader-18GTjpi-{align-items:center;content:"";display:flex;font-size:0;height:22px;justify-content:center;left:2px;position:absolute;top:50%;transform:translateY(-50%)}.loader-18GTjpi- .loaderItem-18GTjpi-{animation:loader-animation-18GTjpi- .96s ease-in-out infinite both;background-color:#b2b5be;border-radius:50%;height:5px;opacity:1;transform:scale(.6);width:5px}html.theme-dark .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#787b86}.loader-18GTjpi- .loaderItem-18GTjpi-:not(:last-child){margin-right:2px}.loader-18GTjpi- .loaderItem-18GTjpi-:nth-child(2){animation-delay:.151s;transition-delay:.35s/3}.loader-18GTjpi- .loaderItem-18GTjpi-:nth-child(3){animation-delay:.32s;transition-delay:(.35s/3)*2}@keyframes loader-animation-18GTjpi-{0%,to{transform:scale(.6)}50%{transform:scale(.9)}}.chart-widget__top--themed-light .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#b2b5be}html.theme-dark .chart-widget__top--themed-light .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#787b86}.chart-widget__top--themed-dark .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#b2b5be}html.theme-dark .chart-widget__top--themed-dark .loader-18GTjpi- .loaderItem-18GTjpi-{background-color:#787b86}.touchMode-18GTjpi- .loader-18GTjpi-{height:24px}.legend-1WIwNaDF{color:#0000;contain:content;direction:ltr;flex:1 1 auto;line-height:normal;margin:0 4px;max-width:calc(100% - 8px);padding-top:4px;pointer-events:none;transform:translateZ(0);-webkit-user-select:none;user-select:none;z-index:6}.item-1WIwNaDF{-webkit-backface-visibility:hidden;backface-visibility:hidden;flex-wrap:wrap;font-size:13px;max-width:100%;min-height:24px;z-index:1}.item-1WIwNaDF.selected-1WIwNaDF,.item-1WIwNaDF.withAction-1WIwNaDF{z-index:2}.item-1WIwNaDF.last-1WIwNaDF{align-items:center;background-color:currentColor;border-color:#0000;border-style:solid;border-width:0 1px;cursor:default;max-width:18px;order:100000;padding:0 4px;pointer-events:auto}.item-1WIwNaDF.last-1WIwNaDF .text-1WIwNaDF{color:#131722}.item-1WIwNaDF .noWrapWrapper-1WIwNaDF{display:flex;flex-wrap:nowrap;max-width:100%}.noWrap-1WIwNaDF .item-1WIwNaDF{flex-wrap:nowrap}.noWrap-1WIwNaDF .series-1WIwNaDF.item-1WIwNaDF{flex-wrap:wrap}.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF{align-self:auto;display:block}.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueItem-1WIwNaDF,.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueTitle-1WIwNaDF,.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueValue-1WIwNaDF{display:inline}.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueItem-1WIwNaDF:before,.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueTitle-1WIwNaDF:before,.noWrap-1WIwNaDF .series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF .valueValue-1WIwNaDF:before{display:none}.noWrap-1WIwNaDF .valuesWrapper-1WIwNaDF{align-items:center}.noWrap-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF{align-self:auto;color:#131722;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directionColumn-1WIwNaDF .series-1WIwNaDF{flex-direction:column}.directionColumn-1WIwNaDF .series-1WIwNaDF .valuesWrapper-1WIwNaDF{align-self:flex-start;max-width:100%}.button-1WIwNaDF,.statusesWrapper-1WIwNaDF,.titleWrapper-1WIwNaDF,.valueItem-1WIwNaDF{background-color:currentColor}.buttons-1WIwNaDF,.buttonsWrapper-1WIwNaDF,.item-1WIwNaDF,.statusesWrapper-1WIwNaDF,.titleWrapper-1WIwNaDF,.valueItem-1WIwNaDF,.valuesWrapper-1WIwNaDF{display:flex}.statusesWrapper-1WIwNaDF{z-index:1}.statusesWrapper-1WIwNaDF,.titleWrapper-1WIwNaDF{cursor:default;pointer-events:auto;position:relative}.titleWrapper-1WIwNaDF{align-items:center;border:1px solid #0000;border-left-width:0;box-sizing:border-box;flex:0 0 auto;max-width:100%;overflow:hidden;padding:0 4px}.noActions-1WIwNaDF .titleWrapper-1WIwNaDF{pointer-events:none}.title-1WIwNaDF{color:#131722;min-width:23px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.title-1WIwNaDF.intervalTitle-1WIwNaDF{min-width:auto}.disabled-1WIwNaDF .title-1WIwNaDF,.disabledOnInterval-1WIwNaDF .title-1WIwNaDF{color:#b2b5be}.disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF,.disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF{color:#b2b5be!important}.study-1WIwNaDF .title-1WIwNaDF.mainTitle-1WIwNaDF{flex:0 4 auto;min-width:15px}.study-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#5d606b;flex:0 1 auto;min-width:0;padding-left:4px}.study-1WIwNaDF.disabled-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF,.study-1WIwNaDF.disabledOnInterval-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#b2b5be}.study-1WIwNaDF.disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF,.study-1WIwNaDF.disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF{color:#b2b5be!important}.study-1WIwNaDF.hideValues-1WIwNaDF .valuesWrapper-1WIwNaDF{display:none}.legend-1WIwNaDF .study-1WIwNaDF.has5Buttons-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.legend-1WIwNaDF .study-1WIwNaDF.has5Buttons-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .study-1WIwNaDF.has5Buttons-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*5)}}.loading-1WIwNaDF .valuesWrapper-1WIwNaDF,.noWrap-1WIwNaDF .valuesWrapper-1WIwNaDF,.series-1WIwNaDF .valuesWrapper-1WIwNaDF{background-color:currentColor;border-bottom:1px solid #0000;border-top:1px solid #0000}.loader-1WIwNaDF{margin-left:4px}.noWrap-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF,.series-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF{border-left-color:#0000}.noWrap-1WIwNaDF .valueItem-1WIwNaDF,.series-1WIwNaDF .valueItem-1WIwNaDF{background-color:initial}.noWrap-1WIwNaDF .valueItem-1WIwNaDF,.noWrap-1WIwNaDF .valueItem-1WIwNaDF .valueTitle-1WIwNaDF,.noWrap-1WIwNaDF .valueItem-1WIwNaDF .valueValue-1WIwNaDF,.series-1WIwNaDF .valueItem-1WIwNaDF,.series-1WIwNaDF .valueItem-1WIwNaDF .valueTitle-1WIwNaDF,.series-1WIwNaDF .valueItem-1WIwNaDF .valueValue-1WIwNaDF{display:inline-flex}.series-1WIwNaDF .titleWrapper-1WIwNaDF{align-items:center;font-size:16px;line-height:normal;max-width:100%;min-height:24px;position:relative}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.withDot-1WIwNaDF:not(:first-child){padding-left:12px;position:relative}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.withDot-1WIwNaDF:not(:first-child):before{color:#c1c4cd;content:"\b7";font-size:16px;height:100%;left:0;line-height:inherit;position:absolute;text-align:center;top:0;width:12px}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.mainTitle-1WIwNaDF{flex:0 1 auto}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{flex:0 0 auto}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.intervalTitle-1WIwNaDF{flex:0 1 auto}.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.brandTitle-1WIwNaDF,.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.exchangeTitle-1WIwNaDF,.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.providerTitle-1WIwNaDF,.series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.styleTitle-1WIwNaDF{flex:0 3 auto}.series-1WIwNaDF .valuesWrapper-1WIwNaDF{align-items:flex-end;border-bottom-width:3px;display:flex}.series-1WIwNaDF .titleWrapper-1WIwNaDF,.series-1WIwNaDF .valuesWrapper-1WIwNaDF{min-width:23px}.hideBrandingTitle-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.brandTitle-1WIwNaDF,.hideExchangeProviderTitles-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.exchangeTitle-1WIwNaDF,.hideExchangeProviderTitles-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.providerTitle-1WIwNaDF,.microHideIntervalTitle-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.intervalTitle-1WIwNaDF,.single-visible .minHideIntervalTitle-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.intervalTitle-1WIwNaDF{display:none}.legend-1WIwNaDF .series-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.legend-1WIwNaDF .series-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*3)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .series-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*3)}}.legend-1WIwNaDF .series-1WIwNaDF.flagged-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.legend-1WIwNaDF .series-1WIwNaDF.flagged-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*2)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .series-1WIwNaDF.flagged-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*2)}}.selected-1WIwNaDF .buttons-1WIwNaDF,.selected-1WIwNaDF .titleWrapper-1WIwNaDF,.withAction-1WIwNaDF .buttons-1WIwNaDF,.withAction-1WIwNaDF .titleWrapper-1WIwNaDF{background-color:#fff}.selected-1WIwNaDF .button-1WIwNaDF,.withAction-1WIwNaDF .button-1WIwNaDF{background-color:initial}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.selected-1WIwNaDF .button-1WIwNaDF:hover:after{background-color:#e3effd}}.selected-1WIwNaDF .titleWrapper-1WIwNaDF,.withAction-1WIwNaDF .titleWrapper-1WIwNaDF,.withAction-1WIwNaDF.selected-1WIwNaDF .titleWrapper-1WIwNaDF{border-radius:4px 0 0 4px}.medium-1WIwNaDF.legend-1WIwNaDF .item-1WIwNaDF.study-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.medium-1WIwNaDF.legend-1WIwNaDF .item-1WIwNaDF.study-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*3)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.medium-1WIwNaDF.legend-1WIwNaDF:hover .item-1WIwNaDF.study-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*3)}}.minimized-1WIwNaDF.legend-1WIwNaDF .item-1WIwNaDF.study-1WIwNaDF.selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.minimized-1WIwNaDF.legend-1WIwNaDF .item-1WIwNaDF.study-1WIwNaDF.stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*2)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.minimized-1WIwNaDF.legend-1WIwNaDF:hover .item-1WIwNaDF.study-1WIwNaDF.withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{left:calc(var(--legend-source-item-button-width)*2)}}.valuesWrapper-1WIwNaDF{align-items:center;align-self:stretch;cursor:default;flex-wrap:wrap;overflow:hidden;pointer-events:auto;position:relative}.valuesAdditionalWrapper-1WIwNaDF{align-items:baseline;align-self:stretch;border-left:4px solid;display:flex;flex-wrap:wrap}.loading-1WIwNaDF .valuesWrapper-1WIwNaDF{min-width:24px}.disabled-1WIwNaDF .valuesWrapper-1WIwNaDF{display:none}.valueItem-1WIwNaDF{align-items:center;align-self:stretch;display:flex;text-align:left}.valueItem-1WIwNaDF:not(:last-child){padding-right:6px}.valueItem-1WIwNaDF:last-child{padding-right:4px}.valueItem-1WIwNaDF .valueTitle-1WIwNaDF{padding-right:1px}.valueItem-1WIwNaDF .valueTitle-1WIwNaDF,.valueItem-1WIwNaDF .valueValue-1WIwNaDF{color:#131722}.loading-1WIwNaDF .valueItem-1WIwNaDF,.loading-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF{opacity:0}.series-1WIwNaDF .valueItem-1WIwNaDF:last-child{padding-right:6px}.series-1WIwNaDF .valueItem-1WIwNaDF:last-child .title-1WIwNaDF{display:none}.series-1WIwNaDF .valueItem-1WIwNaDF .valueTitle-1WIwNaDF{color:#5d606b}.buttonsWrapper-1WIwNaDF{max-width:0;position:relative;width:0;z-index:2}.micro-1WIwNaDF .series-1WIwNaDF .buttonsWrapper-1WIwNaDF{max-width:0;width:0}.disabled-1WIwNaDF .buttonsWrapper-1WIwNaDF,.flagged-1WIwNaDF .buttonsWrapper-1WIwNaDF{max-width:var(--legend-source-item-button-width);width:var(--legend-source-item-button-width)}.disabled-1WIwNaDF.series-1WIwNaDF:not(.onlyOneButtonCanBeStick-1WIwNaDF) .buttonsWrapper-1WIwNaDF{max-width:calc(var(--legend-source-item-button-width)*2);width:calc(var(--legend-source-item-button-width)*2)}.buttons-1WIwNaDF{align-items:center;display:flex;flex-shrink:0;opacity:0;padding:0;pointer-events:auto}.disabled-1WIwNaDF .buttons-1WIwNaDF,.disabledOnInterval-1WIwNaDF .buttons-1WIwNaDF,.flagged-1WIwNaDF .buttons-1WIwNaDF,.touchMode-1WIwNaDF .buttons-1WIwNaDF{opacity:1}.noActions-1WIwNaDF .buttons-1WIwNaDF{pointer-events:none}.selected-1WIwNaDF .buttons-1WIwNaDF,.withAction-1WIwNaDF .buttons-1WIwNaDF{border-radius:0 4px 4px 0}.legend-1WIwNaDF .selected-1WIwNaDF .buttons-1WIwNaDF,.legend-1WIwNaDF .stayInHoveredMode-1WIwNaDF .buttons-1WIwNaDF{cursor:default;opacity:1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .withAction-1WIwNaDF .buttons-1WIwNaDF{cursor:default;opacity:1}}.legend-1WIwNaDF .selected-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after,.legend-1WIwNaDF .stayInHoveredMode-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{background:radial-gradient(10px at 0 50%,currentColor 0,#0000 100%);content:"";height:18px;left:calc(var(--legend-source-item-button-width)*4);position:absolute;top:3px;width:16px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .withAction-1WIwNaDF.withTail-1WIwNaDF .valuesWrapper-1WIwNaDF:after{background:radial-gradient(10px at 0 50%,currentColor 0,#0000 100%);content:"";height:18px;left:calc(var(--legend-source-item-button-width)*4);position:absolute;top:3px;width:16px}}.button-1WIwNaDF{align-items:center;align-self:stretch;display:none;justify-content:center;opacity:0;position:relative;width:var(--legend-source-item-button-width);z-index:0}.buttonIcon-1WIwNaDF{color:#131722;display:flex}.button-1WIwNaDF:last-child{border-radius:0 4px 4px 0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1WIwNaDF:hover:after{background-color:#f0f3fa;border-radius:2px;bottom:1px;content:"";display:block;left:0;position:absolute;right:0;top:1px;z-index:-1}}.button-1WIwNaDF.flag-1WIwNaDF>span{margin-top:-1px}.disabled-1WIwNaDF .buttonIcon-1WIwNaDF{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.legend-1WIwNaDF:hover .study-1WIwNaDF.invisibleHover-1WIwNaDF .button-1WIwNaDF{display:flex}}.withAction-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:first-child),.withAction-1WIwNaDF .titleWrapper-1WIwNaDF{border-color:#d1d4dc}.selected-1WIwNaDF .titleWrapper-1WIwNaDF:after,.withAction-1WIwNaDF .titleWrapper-1WIwNaDF:after{background-color:#d1d4dc}.selected-1WIwNaDF .buttons-1WIwNaDF,.withAction-1WIwNaDF .buttons-1WIwNaDF{border:1px solid #d1d4dc;border-left:0}.selected-1WIwNaDF .buttons-1WIwNaDF,.selected-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:first-child),.selected-1WIwNaDF .buttonsWrapper-1WIwNaDF,.selected-1WIwNaDF .titleWrapper-1WIwNaDF{border-color:#2962ff}.buttons-1WIwNaDF .eye-1WIwNaDF .animated-loading-eye,.buttons-1WIwNaDF .eye-1WIwNaDF .crossed-eye,.buttons-1WIwNaDF .eye-1WIwNaDF .loading-eye,.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .animated-loading-eye,.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .loading-eye,.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .normal-eye,.medium-1WIwNaDF .study-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:nth-child(2),.medium-1WIwNaDF .study-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:nth-child(3):nth-last-child(3),.micro-1WIwNaDF .series-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:last-child),.minimized-1WIwNaDF .study-1WIwNaDF .button-1WIwNaDF:not(:last-child):not(:first-child){display:none}.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .crossed-eye{display:block}.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .crossed-eye,.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .normal-eye{display:none}.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .animated-loading-eye,.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .loading-eye{display:block}.eyeLoading-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF .animated-loading-eye{animation:eye-animation-1WIwNaDF .96s linear infinite;transform-origin:center}.disabled-1WIwNaDF .buttons-1WIwNaDF .eye-1WIwNaDF,.disabledOnInterval-1WIwNaDF .buttons-1WIwNaDF .intervalEye-1WIwNaDF,.flagged-1WIwNaDF .buttons-1WIwNaDF .flag-1WIwNaDF,.selected-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF,.series-1WIwNaDF.disabled-1WIwNaDF .buttons-1WIwNaDF .flag-1WIwNaDF,.withAction-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF{display:flex;opacity:1}.buttons-1WIwNaDF .intervalEye-1WIwNaDF .animated-loading-eye,.buttons-1WIwNaDF .intervalEye-1WIwNaDF .loading-eye,.buttons-1WIwNaDF .intervalEye-1WIwNaDF .normal-eye{display:none}.buttons-1WIwNaDF .intervalEye-1WIwNaDF .crossed-eye{color:#fb8c00}.series-1WIwNaDF.disabled-1WIwNaDF .flag-1WIwNaDF .buttonIcon-1WIwNaDF{visibility:hidden}.selected-1WIwNaDF.series-1WIwNaDF.disabled-1WIwNaDF .flag-1WIwNaDF .buttonIcon-1WIwNaDF,.series-1WIwNaDF.disabled-1WIwNaDF.flagged-1WIwNaDF .flag-1WIwNaDF .buttonIcon-1WIwNaDF,.withAction-1WIwNaDF.series-1WIwNaDF.disabled-1WIwNaDF .flag-1WIwNaDF .buttonIcon-1WIwNaDF{visibility:visible}.flag-1WIwNaDF .buttonIcon-1WIwNaDF{align-self:stretch;flex:1}.flagWrapper-1WIwNaDF,.markerContainer-1WIwNaDF{display:flex;flex:1;justify-content:center}.markerContainer-1WIwNaDF{align-items:stretch}.flagWrapper-1WIwNaDF{width:12px}.flagWrapper-1WIwNaDF svg{height:12px}.sourcesWrapper-1WIwNaDF{align-items:flex-start;display:flex;flex-direction:column-reverse;margin:0;position:relative}.legendMainSourceWrapper-1WIwNaDF{text-align:left}.sources-1WIwNaDF{display:flex;flex:1 1 auto;flex-direction:column;width:100%}.toggler-1WIwNaDF{align-items:center;display:flex;flex:0 0 auto;margin:2px 5px 0 0;position:relative}.toggler-1WIwNaDF.onlyOneSourceShown-1WIwNaDF{display:none}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.toggler-1WIwNaDF:hover:after{z-index:0}.toggler-1WIwNaDF:hover .counter-1WIwNaDF,.toggler-1WIwNaDF:hover .iconArrow-1WIwNaDF,.toggler-1WIwNaDF:hover .objectTree-1WIwNaDF{color:#000}}.toggler-1WIwNaDF .counter-1WIwNaDF{color:inherit;display:none;font-size:13px;line-height:16px;padding-right:4px}.toggler-1WIwNaDF .iconArrow-1WIwNaDF{display:flex;transform:rotate(-180deg);transition:transform .1s cubic-bezier(.06,.52,1,.54);width:27px}.toggler-1WIwNaDF .objectTree-1WIwNaDF{display:none;width:19px}.toggler-1WIwNaDF .iconArrow-1WIwNaDF,.toggler-1WIwNaDF .objectTree-1WIwNaDF{align-items:center;height:19px;justify-content:center}.toggler-1WIwNaDF .counter-1WIwNaDF,.toggler-1WIwNaDF .iconArrow-1WIwNaDF,.toggler-1WIwNaDF .objectTree-1WIwNaDF{color:#131722;position:relative;z-index:1}.closed-1WIwNaDF.sourcesWrapper-1WIwNaDF{padding-bottom:4px}.closed-1WIwNaDF .toggler-1WIwNaDF .counter-1WIwNaDF{display:flex}.closed-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF{transform:rotate(0)}.closed-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.closed-1WIwNaDF .toggler-1WIwNaDF .objectTree-1WIwNaDF{width:19px}.closed-1WIwNaDF .sources-1WIwNaDF{display:none}.micro-1WIwNaDF .sourcesWrapper-1WIwNaDF{padding-bottom:4px}.micro-1WIwNaDF .toggler-1WIwNaDF.objectsTreeCanBeShown-1WIwNaDF .objectTree-1WIwNaDF,.micro-1WIwNaDF .toggler-1WIwNaDF.objectsTreeCanBeShown-1WIwNaDF.onlyOneSourceShown-1WIwNaDF{display:flex}.micro-1WIwNaDF .closed-1WIwNaDF .toggler-1WIwNaDF .counter-1WIwNaDF,.micro-1WIwNaDF .closed-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.micro-1WIwNaDF .series-1WIwNaDF .valuesWrapper-1WIwNaDF,.micro-1WIwNaDF .sources-1WIwNaDF,.micro-1WIwNaDF .toggler-1WIwNaDF .counter-1WIwNaDF,.micro-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF{display:none}.touchMode-1WIwNaDF .titleWrapper-1WIwNaDF{height:26px;line-height:25px}.touchMode-1WIwNaDF .selected-1WIwNaDF .titleWrapper-1WIwNaDF:after,.touchMode-1WIwNaDF .withAction-1WIwNaDF .titleWrapper-1WIwNaDF:after{bottom:5px;top:5px}.touchMode-1WIwNaDF .series-1WIwNaDF .titleWrapper-1WIwNaDF{min-height:26px}.touchMode-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.touchMode-1WIwNaDF .toggler-1WIwNaDF .objectTree-1WIwNaDF{height:24px;width:30px}.touchMode-1WIwNaDF .toggler-1WIwNaDF .counter-1WIwNaDF{font-size:14px}.touchMode-1WIwNaDF .item-1WIwNaDF{min-height:26px}.touchMode-1WIwNaDF .closed-1WIwNaDF .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.touchMode-1WIwNaDF .closed-1WIwNaDF .toggler-1WIwNaDF .objectTree-1WIwNaDF{width:24px}.chart-widget__top--themed-dark .item-1WIwNaDF.last-1WIwNaDF .text-1WIwNaDF,.chart-widget__top--themed-dark .noWrap-1WIwNaDF .valuesAdditionalWrapper-1WIwNaDF,.chart-widget__top--themed-dark .title-1WIwNaDF,.chart-widget__top--themed-dark .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .valueValue-1WIwNaDF{color:#b2b5be}.chart-widget__top--themed-dark .disabled-1WIwNaDF .title-1WIwNaDF,.chart-widget__top--themed-dark .disabled-1WIwNaDF .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .disabled-1WIwNaDF .valueValue-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF .title-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF .valueValue-1WIwNaDF{color:#50535e}.chart-widget__top--themed-dark .disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF,.chart-widget__top--themed-dark .disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .disabled-1WIwNaDF.withCustomTextColor-1WIwNaDF .valueValue-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .title-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .valueTitle-1WIwNaDF,.chart-widget__top--themed-dark .disabledOnInterval-1WIwNaDF.withCustomTextColor-1WIwNaDF .valueValue-1WIwNaDF{color:#50535e!important}.chart-widget__top--themed-dark .study-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#868993}.chart-widget__top--themed-dark .study-1WIwNaDF.disabled-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF,.chart-widget__top--themed-dark .study-1WIwNaDF.disabledOnInterval-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#50535e}.chart-widget__top--themed-dark .study-1WIwNaDF.withCustomTextColor-1WIwNaDF.disabled-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF,.chart-widget__top--themed-dark .study-1WIwNaDF.withCustomTextColor-1WIwNaDF.disabledOnInterval-1WIwNaDF .title-1WIwNaDF.descTitle-1WIwNaDF{color:#50535e!important}.chart-widget__top--themed-dark .series-1WIwNaDF .titleWrapper-1WIwNaDF .title-1WIwNaDF.withDot-1WIwNaDF:not(:first-child):before{color:#434651}.chart-widget__top--themed-dark .buttonIcon-1WIwNaDF,.chart-widget__top--themed-dark .series-1WIwNaDF .valueItem-1WIwNaDF .valueTitle-1WIwNaDF{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .button-1WIwNaDF:hover:after{background-color:#2a2e39}}.chart-widget__top--themed-dark .withAction-1WIwNaDF .buttons-1WIwNaDF,.chart-widget__top--themed-dark .withAction-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:first-child),.chart-widget__top--themed-dark .withAction-1WIwNaDF .titleWrapper-1WIwNaDF{border-color:#363a45}.chart-widget__top--themed-dark .selected-1WIwNaDF .titleWrapper-1WIwNaDF:after,.chart-widget__top--themed-dark .withAction-1WIwNaDF .titleWrapper-1WIwNaDF:after{background-color:#363a45}.chart-widget__top--themed-dark .selected-1WIwNaDF .buttons-1WIwNaDF,.chart-widget__top--themed-dark .selected-1WIwNaDF .titleWrapper-1WIwNaDF,.chart-widget__top--themed-dark .withAction-1WIwNaDF .buttons-1WIwNaDF,.chart-widget__top--themed-dark .withAction-1WIwNaDF .titleWrapper-1WIwNaDF{background-color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .selected-1WIwNaDF .button-1WIwNaDF:hover:after{background-color:#1848cc33}}.chart-widget__top--themed-dark .selected-1WIwNaDF .buttons-1WIwNaDF,.chart-widget__top--themed-dark .selected-1WIwNaDF .buttons-1WIwNaDF .button-1WIwNaDF:not(:first-child),.chart-widget__top--themed-dark .selected-1WIwNaDF .buttonsWrapper-1WIwNaDF,.chart-widget__top--themed-dark .selected-1WIwNaDF .titleWrapper-1WIwNaDF{border-color:#1848cc}.chart-widget__top--themed-dark .toggler-1WIwNaDF{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .toggler-1WIwNaDF:hover:after{background-color:#ffffff1a}.chart-widget__top--themed-dark .toggler-1WIwNaDF:hover .counter-1WIwNaDF,.chart-widget__top--themed-dark .toggler-1WIwNaDF:hover .iconArrow-1WIwNaDF,.chart-widget__top--themed-dark .toggler-1WIwNaDF:hover .objectTree-1WIwNaDF{color:#f0f3fa}}.chart-widget__top--themed-dark .toggler-1WIwNaDF .counter-1WIwNaDF,.chart-widget__top--themed-dark .toggler-1WIwNaDF .iconArrow-1WIwNaDF,.chart-widget__top--themed-dark .toggler-1WIwNaDF .objectTree-1WIwNaDF{color:#d1d4dc}@keyframes eye-animation-1WIwNaDF{to{transform:rotate(1turn)}}.wrapper-1Srpa2Xw{box-sizing:border-box;display:flex;flex-direction:column;min-width:292px;padding-left:15px;position:relative}.timezone-1Srpa2Xw{color:#787b86;font-size:11px;line-height:18px;padding-top:4px;text-align:center;width:100%}.sessionDayWrapper-1Srpa2Xw{display:flex;flex-direction:column;position:relative}.nowWrapper-1Srpa2Xw{bottom:0;left:0;pointer-events:none;position:absolute;right:30px;top:0}.nowWrapper-1Srpa2Xw .now-1Srpa2Xw{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#131722;bottom:-1px;outline:1px solid #fff;position:absolute;top:2px;width:1px}html.theme-dark .nowWrapper-1Srpa2Xw .now-1Srpa2Xw{background-color:#b2b5be;outline:1px solid #1e222d}.sessionDay-1Srpa2Xw{align-items:baseline;display:flex}.sessionDay-1Srpa2Xw .weekDay-1Srpa2Xw{color:#787b86;font-size:10px;overflow:hidden;padding-top:3px;text-transform:uppercase;width:30px}html.theme-dark .sessionDay-1Srpa2Xw .weekDay-1Srpa2Xw{color:#787b86}.sessionDay-1Srpa2Xw .sessionDaySegments-1Srpa2Xw,.sessionDay-1Srpa2Xw .timeMarkWrapper-1Srpa2Xw{flex:1;position:relative;width:100%}.sessionDay-1Srpa2Xw .timeMarkWrapper-1Srpa2Xw{height:16px;margin-top:3px}.sessionDay-1Srpa2Xw .sessionDaySegments-1Srpa2Xw{border-radius:4px;height:7px;margin:20px 0 2px}.sessionDay-1Srpa2Xw:first-child .sessionDaySegments-1Srpa2Xw{margin-top:0}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw{content:"";display:flex;justify-content:center;position:absolute}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw .timeMark-1Srpa2Xw:first-child{padding-left:4px}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw .timeMark-1Srpa2Xw:last-child{padding-right:4px}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw.timeMarkSegmentAlignByEnds-1Srpa2Xw{justify-content:space-between}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw.timeMarkSegmentAlignByEnds-1Srpa2Xw .timeMark-1Srpa2Xw{padding:0}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw.timeMarkSegmentAlignByEnds-1Srpa2Xw .timeMark-1Srpa2Xw:first-child{transform:translateX(50%)}.sessionDay-1Srpa2Xw .timeMarkSegment-1Srpa2Xw.timeMarkSegmentAlignByEnds-1Srpa2Xw .timeMark-1Srpa2Xw:last-child{transform:translateX(-50%)}.sessionDay-1Srpa2Xw .timeMark-1Srpa2Xw{background-color:#fff;color:#9598a1;font-size:11px;line-height:16px}html.theme-dark .sessionDay-1Srpa2Xw .timeMark-1Srpa2Xw{background-color:#1e222d}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw{box-sizing:border-box;content:"";height:100%;opacity:.3;padding:0 2px;position:absolute}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw:first-child{padding-right:0}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw:last-child{padding-left:0}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw:before{content:"";display:flex;flex:1;height:100%;min-width:1px;z-index:0}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw.small-1Srpa2Xw{margin-right:-1px;padding:0;z-index:1}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw.start-1Srpa2Xw:before{border-radius:0 4px 4px 0}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw.end-1Srpa2Xw:before{border-radius:4px 0 0 4px}.sessionDay-1Srpa2Xw .segment-1Srpa2Xw.start-1Srpa2Xw.end-1Srpa2Xw:before{border-radius:4px}.sessionDay-1Srpa2Xw.active-1Srpa2Xw .segment-1Srpa2Xw{opacity:1}.sessionDay-1Srpa2Xw.active-1Srpa2Xw .weekDay-1Srpa2Xw{color:#131722}html.theme-dark .sessionDay-1Srpa2Xw.active-1Srpa2Xw .weekDay-1Srpa2Xw{color:#b2b5be}.green-1Srpa2Xw{color:#22ab94}.green-1Srpa2Xw:before{background-color:currentColor}.orange-1Srpa2Xw{color:#ff9800}.orange-1Srpa2Xw:before{background-color:currentColor}.blue-1Srpa2Xw{color:#2962ff}.blue-1Srpa2Xw:before{background-color:currentColor}.gray-1Srpa2Xw{color:#e0e3eb}html.theme-dark .gray-1Srpa2Xw{color:#434651}.gray-1Srpa2Xw:before{background-color:currentColor}.tooltip-1Srpa2Xw{white-space:normal}.tooltip-1Srpa2Xw .time-1Srpa2Xw{color:#f0f3fa;margin-right:5px}html.theme-dark .tooltip-1Srpa2Xw .time-1Srpa2Xw{color:#f0f3fa}.tooltip-1Srpa2Xw .gray-1Srpa2Xw{color:#9598a1}html.theme-dark .tooltip-1Srpa2Xw .gray-1Srpa2Xw{color:#b2b5be}.tooltip-1Srpa2Xw .blue-1Srpa2Xw,html.theme-dark .tooltip-1Srpa2Xw .blue-1Srpa2Xw{color:#448aff}.statuses-1NfuygY0{align-self:center;border-radius:9px;display:inline-flex;overflow:hidden}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statuses-1NfuygY0:hover .statusItem-1NfuygY0:after{opacity:.25}}.statuses-1NfuygY0.small-1NfuygY0{border-radius:9px}.statuses-1NfuygY0.large-1NfuygY0{border-radius:11px}.statuses-1NfuygY0.blinking-1NfuygY0{will-change:opacity}.statuses-1NfuygY0 .statusItem-1NfuygY0{cursor:pointer}.oneWidgetsVisible-1NfuygY0.statuses-1NfuygY0,.threeWidgetsVisible-1NfuygY0.statuses-1NfuygY0,.twoWidgetsVisible-1NfuygY0.statuses-1NfuygY0{margin-left:12px;margin-right:11px}.statusItem-1NfuygY0{display:flex;position:relative;-webkit-user-select:none;user-select:none}.statusItem-1NfuygY0:after{content:"";display:block;height:100%;opacity:.15;position:absolute;right:0;top:0;width:100%;z-index:-1}.statusItem-1NfuygY0 svg{position:relative;right:50%;top:50%;transform:translate(50%,-50%);z-index:0}.statusItem-1NfuygY0.small-1NfuygY0{height:18px;width:18px}.statusItem-1NfuygY0.large-1NfuygY0{height:22px;width:22px}.statusItem-1NfuygY0.blinking-1NfuygY0:after{animation:blinking-animation-1NfuygY0 2.5s cubic-bezier(.25,0,.75,1) infinite}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statusItem-1NfuygY0.blinking-1NfuygY0:after:hover{opacity:inherit}}.marketStatusOpen-1NfuygY0,html.theme-dark .marketStatusOpen-1NfuygY0{color:#089981}.marketStatusOpen-1NfuygY0:after,html.theme-dark .marketStatusOpen-1NfuygY0:after{background-color:#22ab94}.marketStatusClose-1NfuygY0,html.theme-dark .marketStatusClose-1NfuygY0{color:#9598a1}.marketStatusClose-1NfuygY0:after,html.theme-dark .marketStatusClose-1NfuygY0:after{background-color:#9598a1}.marketStatusPre-1NfuygY0,html.theme-dark .marketStatusPre-1NfuygY0{color:#fb8c00}.marketStatusPre-1NfuygY0:after,html.theme-dark .marketStatusPre-1NfuygY0:after{background-color:#ffa726}.marketStatusPost-1NfuygY0,html.theme-dark .marketStatusPost-1NfuygY0{color:#2962ff}.marketStatusPost-1NfuygY0:after,html.theme-dark .marketStatusPost-1NfuygY0:after{background-color:#3179f5}.marketStatusHoliday-1NfuygY0,html.theme-dark .marketStatusHoliday-1NfuygY0{color:#9598a1}.marketStatusHoliday-1NfuygY0:after,html.theme-dark .marketStatusHoliday-1NfuygY0:after{background-color:#9598a1}.invalidSymbol-1NfuygY0{color:#fff}.invalidSymbol-1NfuygY0,html.theme-dark .invalidSymbol-1NfuygY0{background-color:#f7525f}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statuses-1NfuygY0 .invalidSymbol-1NfuygY0:hover{background-color:#b22833}html.theme-dark .statuses-1NfuygY0 .invalidSymbol-1NfuygY0:hover{background-color:#f23645}}.replayMode-1NfuygY0{color:#fff}.replayMode-1NfuygY0,html.theme-dark .replayMode-1NfuygY0{background-color:#2962ff}html.theme-dark .replayMode-1NfuygY0{color:#e3effd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statuses-1NfuygY0 .replayMode-1NfuygY0:hover,html.theme-dark .statuses-1NfuygY0 .replayMode-1NfuygY0:hover{background-color:#1e53e5}}.notAccurate-1NfuygY0,html.theme-dark .notAccurate-1NfuygY0{color:#c2185b}.notAccurate-1NfuygY0:after,html.theme-dark .notAccurate-1NfuygY0:after{background-color:#ec407a}.delay-1NfuygY0,html.theme-dark .delay-1NfuygY0{color:#f57c00}.delay-1NfuygY0:after,html.theme-dark .delay-1NfuygY0:after{background-color:#ffa726}.eod-1NfuygY0,html.theme-dark .eod-1NfuygY0{color:#7b1fa2}.eod-1NfuygY0:after,html.theme-dark .eod-1NfuygY0:after{background-color:#ab47bc}.twoWidgetsVisible-1NfuygY0 .delay-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .eod-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .notAccurate-1NfuygY0{padding-left:2px}.dataProblemHigh-1NfuygY0{background-color:#f7525f;color:#fff}html.theme-dark .dataProblemHigh-1NfuygY0{background-color:#f7525f}.dataProblemLow-1NfuygY0,html.theme-dark .dataProblemLow-1NfuygY0{color:#cc2f3c}.dataProblemLow-1NfuygY0:after,html.theme-dark .dataProblemLow-1NfuygY0:after{background-color:#f7525f}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.statuses-1NfuygY0 .dataProblemHigh-1NfuygY0:hover{background-color:#b22833}html.theme-dark .statuses-1NfuygY0 .dataProblemHigh-1NfuygY0:hover{background-color:#f23645}}.threeWidgetsVisible-1NfuygY0 .marketStatusClose-1NfuygY0,.threeWidgetsVisible-1NfuygY0 .marketStatusHoliday-1NfuygY0,.threeWidgetsVisible-1NfuygY0 .marketStatusOpen-1NfuygY0,.threeWidgetsVisible-1NfuygY0 .marketStatusPost-1NfuygY0,.threeWidgetsVisible-1NfuygY0 .marketStatusPre-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusClose-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusHoliday-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusOpen-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusPost-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .marketStatusPre-1NfuygY0{padding-right:2px}.threeWidgetsVisible-1NfuygY0 .dataProblemLow-1NfuygY0,.twoWidgetsVisible-1NfuygY0 .dataProblemLow-1NfuygY0{padding-left:2px}@keyframes blinking-animation-1NfuygY0{0%,to{opacity:.15}50%{opacity:.4}}.paneControls-2RChU0rC{color:#fff;margin-right:auto;margin-top:6px;padding:0 1px 0 5px;position:static;transition:opacity .4s,visibility .4s;z-index:7}.paneControls-2RChU0rC.hasTopMargin-2RChU0rC{top:30px}.paneControls-2RChU0rC.hidden-2RChU0rC{opacity:0;visibility:hidden}.paneControls-2RChU0rC.forceHidden-2RChU0rC{height:0;line-height:0;margin:0;padding:0;width:0}.button-2RChU0rC{align-items:center;display:flex;flex:0 0 auto;height:19px;justify-content:center;overflow:hidden;position:relative;width:19px}.button-2RChU0rC:not(:first-child){margin-left:4px}.button-2RChU0rC .buttonIcon-2RChU0rC{color:#131722}.button-2RChU0rC.minimize-2RChU0rC .buttonIcon-2RChU0rC{color:#fff}.button-2RChU0rC.newButton-2RChU0rC{border-radius:4px}.touchMode-2RChU0rC .button-2RChU0rC{height:24px;width:24px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.maximize-2RChU0rC:hover .bracket-up{animation:maximize-animation-up-bracket-2RChU0rC .6s ease}.maximize-2RChU0rC:hover .bracket-down{animation:maximize-animation-down-bracket-2RChU0rC .6s ease}}.maximize-2RChU0rC .bracket-down,.maximize-2RChU0rC .bracket-up{transform:translateY(0)}@keyframes maximize-animation-up-bracket-2RChU0rC{50%{transform:translateY(1px)}}@keyframes maximize-animation-down-bracket-2RChU0rC{50%{transform:translateY(-1px)}}.minimize-2RChU0rC{background-color:#2962ff!important;border-color:#2962ff!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.minimize-2RChU0rC:hover .bracket-up{animation:minimize-animation-up-bracket-2RChU0rC .6s ease}.minimize-2RChU0rC:hover .bracket-down{animation:minimize-animation-down-bracket-2RChU0rC .6s ease}}.minimize-2RChU0rC .bracket-down,.minimize-2RChU0rC .bracket-up{transform:translateY(0)}@keyframes minimize-animation-up-bracket-2RChU0rC{50%{transform:translateY(-1px)}}@keyframes minimize-animation-down-bracket-2RChU0rC{50%{transform:translateY(1px)}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.up-2RChU0rC:hover .buttonIcon-2RChU0rC{animation:up-animation-2RChU0rC .6s ease}}@keyframes up-animation-2RChU0rC{0%{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.down-2RChU0rC:hover .buttonIcon-2RChU0rC{animation:down-animation-2RChU0rC .6s ease}}@keyframes down-animation-2RChU0rC{0%{transform:translateY(0)}50%{transform:translateY(2px)}}.buttonsWrapper-2RChU0rC{align-items:center;display:flex;flex:0 0 auto;flex-wrap:nowrap}.chart-widget__top--themed-dark .paneControls-2RChU0rC{color:#131722}.chart-widget__top--themed-dark .minimize-2RChU0rC{background-color:#1848cc!important;border-color:#1848cc!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__top--themed-dark .button-2RChU0rC:hover .buttonIcon-2RChU0rC{color:#f0f3fa}}.chart-widget__top--themed-dark .button-2RChU0rC .buttonIcon-2RChU0rC{color:#d1d4dc} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.css b/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.css new file mode 100644 index 0000000..7d3cbf9 --- /dev/null +++ b/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.css @@ -0,0 +1 @@ +.separator-3No0pWrk{background-color:#e0e3eb;height:1px;margin:8px 0}html.theme-dark .separator-3No0pWrk{background-color:#434651} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.rtl.css b/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.rtl.css new file mode 100644 index 0000000..7d3cbf9 --- /dev/null +++ b/public/static/charting_library/bundles/4595.6423e4f6860a7dd905ff.rtl.css @@ -0,0 +1 @@ +.separator-3No0pWrk{background-color:#e0e3eb;height:1px;margin:8px 0}html.theme-dark .separator-3No0pWrk{background-color:#434651} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.css b/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.css new file mode 100644 index 0000000..8c15bac --- /dev/null +++ b/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.css @@ -0,0 +1 @@ +.close-button-1X92xTLv{background:#0000;border:none;border-radius:4px;box-sizing:initial;color:#131722;margin:0;padding:8px}html.theme-dark .close-button-1X92xTLv{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.close-button-1X92xTLv:hover{background:#f0f3fa}html.theme-dark .close-button-1X92xTLv:hover{background:#2a2e39}}.close-button-1X92xTLv:active{background:#e0e3eb}html.theme-dark .close-button-1X92xTLv:active{background:#1e222d}.close-button-1X92xTLv{outline:none;overflow:visible;position:absolute}.close-button-1X92xTLv:focus{outline:none}.close-button-1X92xTLv:focus-visible{outline:none}.close-button-1X92xTLv:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 8px);left:-4px;pointer-events:none;position:absolute;top:-4px;width:calc(100% + 8px);z-index:1}.close-button-1X92xTLv:focus:after{display:block}.close-button-1X92xTLv:focus-visible:after{display:block}.close-button-1X92xTLv:focus:not(:focus-visible):after{display:none}.close-button-1X92xTLv:after{border-color:#2962ffcc;border-radius:8px}.close-icon-1X92xTLv,.close-icon-1X92xTLv svg{display:block;height:100%}.button-l-1X92xTLv{height:23px;padding:8px;width:23px}.button-m-1X92xTLv{height:17px;padding:8px;width:17px}.button-s-1X92xTLv{height:13px;padding:8px;width:13px}.button-xs-1X92xTLv{height:11px;padding:4px;width:11px}.button-xxs-1X92xTLv{height:9px;padding:4px;width:9px}.container-2EQh-XLR{align-items:flex-start;background:#fff;border:1px solid;border-radius:4px;color:#131722;display:flex;font-size:13px;font-style:normal;font-weight:400;line-height:19px;padding:11px 12px}html.theme-dark .container-2EQh-XLR{background:#1e222d;color:#d1d4dc}.container-2EQh-XLR.container-danger-2EQh-XLR{border-color:#f23645}.container-2EQh-XLR.container-danger-2EQh-XLR .header-2EQh-XLR,.container-2EQh-XLR.container-danger-2EQh-XLR .icon-2EQh-XLR{color:#f23645}.container-2EQh-XLR.container-warning-2EQh-XLR{border-color:#ff9800}.container-2EQh-XLR.container-warning-2EQh-XLR .header-2EQh-XLR,.container-2EQh-XLR.container-warning-2EQh-XLR .icon-2EQh-XLR{color:#ff9800}.container-2EQh-XLR.container-success-2EQh-XLR{border-color:#089981}.container-2EQh-XLR.container-success-2EQh-XLR .header-2EQh-XLR,.container-2EQh-XLR.container-success-2EQh-XLR .icon-2EQh-XLR{color:#089981}.container-2EQh-XLR.container-default-2EQh-XLR{background-color:#f0f3fa;border-color:#f0f3fa}html.theme-dark .container-2EQh-XLR.container-default-2EQh-XLR{background-color:#2a2e39;border-color:#2a2e39}.container-2EQh-XLR.container-default-2EQh-XLR .header-2EQh-XLR,.container-2EQh-XLR.container-default-2EQh-XLR .icon-2EQh-XLR{color:#787b86}.container-2EQh-XLR .icon-2EQh-XLR{display:flex;margin-right:8px}.container-2EQh-XLR .text-wrap-2EQh-XLR{align-self:center;margin-right:4px}.container-2EQh-XLR .header-2EQh-XLR{font-weight:700}.close-button-2EQh-XLR{flex-shrink:0;position:static}.container-2PMGBrHh{bottom:30px;display:flex;justify-content:center;left:4px;pointer-events:none;position:absolute;right:4px}.container-2PMGBrHh.bottomPadding-2PMGBrHh{bottom:70px}.centerElement-2PMGBrHh{pointer-events:auto;z-index:1}.notice-2PMGBrHh{opacity:0;transform:translateY(10px);transition:transform .2s ease-in-out,opacity .2s ease-in-out}.notice-showed-2PMGBrHh{opacity:1;transform:translateY(0)} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.rtl.css b/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.rtl.css new file mode 100644 index 0000000..196b454 --- /dev/null +++ b/public/static/charting_library/bundles/4652.c4c887154b57ce62bd2d.rtl.css @@ -0,0 +1 @@ +.close-button-1X92xTLv{background:#0000;border:none;border-radius:4px;box-sizing:initial;color:#131722;margin:0;padding:8px}html.theme-dark .close-button-1X92xTLv{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.close-button-1X92xTLv:hover{background:#f0f3fa}html.theme-dark .close-button-1X92xTLv:hover{background:#2a2e39}}.close-button-1X92xTLv:active{background:#e0e3eb}html.theme-dark .close-button-1X92xTLv:active{background:#1e222d}.close-button-1X92xTLv{outline:none;overflow:visible;position:absolute}.close-button-1X92xTLv:focus{outline:none}.close-button-1X92xTLv:focus-visible{outline:none}.close-button-1X92xTLv:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 8px);pointer-events:none;position:absolute;right:-4px;top:-4px;width:calc(100% + 8px);z-index:1}.close-button-1X92xTLv:focus:after{display:block}.close-button-1X92xTLv:focus-visible:after{display:block}.close-button-1X92xTLv:focus:not(:focus-visible):after{display:none}.close-button-1X92xTLv:after{border-color:#2962ffcc;border-radius:8px}.close-icon-1X92xTLv,.close-icon-1X92xTLv svg{display:block;height:100%}.button-l-1X92xTLv{height:23px;padding:8px;width:23px}.button-m-1X92xTLv{height:17px;padding:8px;width:17px}.button-s-1X92xTLv{height:13px;padding:8px;width:13px}.button-xs-1X92xTLv{height:11px;padding:4px;width:11px}.button-xxs-1X92xTLv{height:9px;padding:4px;width:9px}.container-2EQh-XLR{align-items:flex-start;background:#fff;border:1px solid;border-radius:4px;color:#131722;display:flex;font-size:13px;font-style:normal;font-weight:400;line-height:19px;padding:11px 12px}html.theme-dark .container-2EQh-XLR{background:#1e222d;color:#d1d4dc}.container-2EQh-XLR.container-danger-2EQh-XLR{border-color:#f23645}.container-2EQh-XLR.container-danger-2EQh-XLR .header-2EQh-XLR,.container-2EQh-XLR.container-danger-2EQh-XLR .icon-2EQh-XLR{color:#f23645}.container-2EQh-XLR.container-warning-2EQh-XLR{border-color:#ff9800}.container-2EQh-XLR.container-warning-2EQh-XLR .header-2EQh-XLR,.container-2EQh-XLR.container-warning-2EQh-XLR .icon-2EQh-XLR{color:#ff9800}.container-2EQh-XLR.container-success-2EQh-XLR{border-color:#089981}.container-2EQh-XLR.container-success-2EQh-XLR .header-2EQh-XLR,.container-2EQh-XLR.container-success-2EQh-XLR .icon-2EQh-XLR{color:#089981}.container-2EQh-XLR.container-default-2EQh-XLR{background-color:#f0f3fa;border-color:#f0f3fa}html.theme-dark .container-2EQh-XLR.container-default-2EQh-XLR{background-color:#2a2e39;border-color:#2a2e39}.container-2EQh-XLR.container-default-2EQh-XLR .header-2EQh-XLR,.container-2EQh-XLR.container-default-2EQh-XLR .icon-2EQh-XLR{color:#787b86}.container-2EQh-XLR .icon-2EQh-XLR{display:flex;margin-left:8px}.container-2EQh-XLR .text-wrap-2EQh-XLR{align-self:center;margin-left:4px}.container-2EQh-XLR .header-2EQh-XLR{font-weight:700}.close-button-2EQh-XLR{flex-shrink:0;position:static}.container-2PMGBrHh{bottom:30px;display:flex;justify-content:center;left:4px;pointer-events:none;position:absolute;right:4px}.container-2PMGBrHh.bottomPadding-2PMGBrHh{bottom:70px}.centerElement-2PMGBrHh{pointer-events:auto;z-index:1}.notice-2PMGBrHh{opacity:0;transform:translateY(10px);transition:transform .2s ease-in-out,opacity .2s ease-in-out}.notice-showed-2PMGBrHh{opacity:1;transform:translateY(0)} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.css b/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.css new file mode 100644 index 0000000..d734f29 --- /dev/null +++ b/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.css @@ -0,0 +1 @@ +.dialog-Gd2kEiLq{min-height:300px;min-width:380px}.wrap-Gd2kEiLq{margin-top:10px;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .wrap-Gd2kEiLq{scrollbar-color:#363a45 #0000}.wrap-Gd2kEiLq::-webkit-scrollbar{height:5px;width:5px}.wrap-Gd2kEiLq::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .wrap-Gd2kEiLq::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.wrap-Gd2kEiLq::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.wrap-Gd2kEiLq::-webkit-scrollbar-corner{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.rtl.css b/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.rtl.css new file mode 100644 index 0000000..d734f29 --- /dev/null +++ b/public/static/charting_library/bundles/4736.2eccdb294faa8c6685ac.rtl.css @@ -0,0 +1 @@ +.dialog-Gd2kEiLq{min-height:300px;min-width:380px}.wrap-Gd2kEiLq{margin-top:10px;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .wrap-Gd2kEiLq{scrollbar-color:#363a45 #0000}.wrap-Gd2kEiLq::-webkit-scrollbar{height:5px;width:5px}.wrap-Gd2kEiLq::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .wrap-Gd2kEiLq::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.wrap-Gd2kEiLq::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.wrap-Gd2kEiLq::-webkit-scrollbar-corner{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.css b/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.css new file mode 100644 index 0000000..6487a05 --- /dev/null +++ b/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.css @@ -0,0 +1 @@ +.button-3vkvsUbb{background-color:#fff;border:none;border-radius:4px;color:#787b86;font-size:12px;height:22px;padding-left:8px;padding-right:8px;white-space:nowrap}html.theme-dark .button-3vkvsUbb{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3vkvsUbb:hover{background-color:#e0e3eb;color:#131722}html.theme-dark .button-3vkvsUbb:hover{background-color:#5d606b;color:#b2b5be}}.button-3vkvsUbb.bordersVisible-3vkvsUbb{border:1px solid #e0e3eb;padding:0 7px}html.theme-dark .button-3vkvsUbb.bordersVisible-3vkvsUbb{border:1px solid #363a45}.button-3vkvsUbb.selected-3vkvsUbb{background-color:#90bff9;color:#131722}html.theme-dark .button-3vkvsUbb.selected-3vkvsUbb{background-color:#143a87;color:#b2b5be}.button-3vkvsUbb+.button-3vkvsUbb{margin-left:8px}.wrap-38TyPnxL{align-items:center;border-bottom:1px solid #f0f3fa;display:flex;height:52px;padding-right:20px}html.theme-dark .wrap-38TyPnxL{border-bottom-color:#2a2e39}.header-38TyPnxL{color:#787b86;font-size:11px;line-height:16px;margin-top:2px;padding:8px 20px;text-transform:uppercase}.item-38TyPnxL{box-sizing:border-box;color:#131722;font-size:16px;height:40px;line-height:24px;padding:10px 16px}html.theme-dark .item-38TyPnxL{color:#b2b5be}.item-38TyPnxL:active{background-color:#2962ff;color:#fff}html.theme-dark .item-38TyPnxL:active{background-color:#2962ff;color:#d1d4dc}.scrollable-1zurvWNw{-webkit-overflow-scrolling:touch;flex:1 1 auto;height:100%;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-1zurvWNw{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-1zurvWNw{min-height:auto}}.scrollable-1zurvWNw::-webkit-scrollbar{height:5px;width:5px}.scrollable-1zurvWNw::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-1zurvWNw::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-1zurvWNw::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-1zurvWNw::-webkit-scrollbar-corner{display:none}.spinnerWrap-1zurvWNw{height:100%;width:100%}.item-1zurvWNw:first-child{margin-top:6px}.item-1zurvWNw:last-child{margin-bottom:6px}.heading-1zurvWNw{color:#787b86;font-size:11px;line-height:16px;padding:16px 20px 8px;text-transform:uppercase}.checkboxWrap-1zurvWNw{padding-right:8px}.checkbox-1zurvWNw{align-items:baseline;display:flex;height:28px;justify-content:center;padding:0;width:28px}.emptyState-1zurvWNw{align-items:center;display:flex;flex-flow:column;height:100%;justify-content:center}.emptyState-1zurvWNw .image-1zurvWNw{align-items:center;display:flex;height:120px}.emptyState-1zurvWNw .text-1zurvWNw{color:#131722;font-size:16px;line-height:24px;margin-top:8px}html.theme-dark .emptyState-1zurvWNw .text-1zurvWNw{color:#b2b5be}.dialog-1o8lbzhQ{height:565px;max-width:640px;overflow:hidden;width:640px}.tablet-1o8lbzhQ{width:calc(100% - 20px)}.label-AT0tDw0n{margin-left:8px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.rtl.css b/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.rtl.css new file mode 100644 index 0000000..fe130e6 --- /dev/null +++ b/public/static/charting_library/bundles/4834.07c319579bda11b57fc3.rtl.css @@ -0,0 +1 @@ +.button-3vkvsUbb{background-color:#fff;border:none;border-radius:4px;color:#787b86;font-size:12px;height:22px;padding-left:8px;padding-right:8px;white-space:nowrap}html.theme-dark .button-3vkvsUbb{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3vkvsUbb:hover{background-color:#e0e3eb;color:#131722}html.theme-dark .button-3vkvsUbb:hover{background-color:#5d606b;color:#b2b5be}}.button-3vkvsUbb.bordersVisible-3vkvsUbb{border:1px solid #e0e3eb;padding:0 7px}html.theme-dark .button-3vkvsUbb.bordersVisible-3vkvsUbb{border:1px solid #363a45}.button-3vkvsUbb.selected-3vkvsUbb{background-color:#90bff9;color:#131722}html.theme-dark .button-3vkvsUbb.selected-3vkvsUbb{background-color:#143a87;color:#b2b5be}.button-3vkvsUbb+.button-3vkvsUbb{margin-right:8px}.wrap-38TyPnxL{align-items:center;border-bottom:1px solid #f0f3fa;display:flex;height:52px;padding-left:20px}html.theme-dark .wrap-38TyPnxL{border-bottom-color:#2a2e39}.header-38TyPnxL{color:#787b86;font-size:11px;line-height:16px;margin-top:2px;padding:8px 20px;text-transform:uppercase}.item-38TyPnxL{box-sizing:border-box;color:#131722;font-size:16px;height:40px;line-height:24px;padding:10px 16px}html.theme-dark .item-38TyPnxL{color:#b2b5be}.item-38TyPnxL:active{background-color:#2962ff;color:#fff}html.theme-dark .item-38TyPnxL:active{background-color:#2962ff;color:#d1d4dc}.scrollable-1zurvWNw{-webkit-overflow-scrolling:touch;flex:1 1 auto;height:100%;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-1zurvWNw{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-1zurvWNw{min-height:auto}}.scrollable-1zurvWNw::-webkit-scrollbar{height:5px;width:5px}.scrollable-1zurvWNw::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-1zurvWNw::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-1zurvWNw::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-1zurvWNw::-webkit-scrollbar-corner{display:none}.spinnerWrap-1zurvWNw{height:100%;width:100%}.item-1zurvWNw:first-child{margin-top:6px}.item-1zurvWNw:last-child{margin-bottom:6px}.heading-1zurvWNw{color:#787b86;font-size:11px;line-height:16px;padding:16px 20px 8px;text-transform:uppercase}.checkboxWrap-1zurvWNw{padding-left:8px}.checkbox-1zurvWNw{align-items:baseline;display:flex;height:28px;justify-content:center;padding:0;width:28px}.emptyState-1zurvWNw{align-items:center;display:flex;flex-flow:column;height:100%;justify-content:center}.emptyState-1zurvWNw .image-1zurvWNw{align-items:center;display:flex;height:120px}.emptyState-1zurvWNw .text-1zurvWNw{color:#131722;font-size:16px;line-height:24px;margin-top:8px}html.theme-dark .emptyState-1zurvWNw .text-1zurvWNw{color:#b2b5be}.dialog-1o8lbzhQ{height:565px;max-width:640px;overflow:hidden;width:640px}.tablet-1o8lbzhQ{width:calc(100% - 20px)}.label-AT0tDw0n{margin-right:8px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.css b/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.css new file mode 100644 index 0000000..ac177da --- /dev/null +++ b/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.css @@ -0,0 +1 @@ +.actionButton-3wPv1Zy2{margin:0 6px}.actionButton-3wPv1Zy2:first-child{margin-right:0}.actionButton-3wPv1Zy2:last-child{margin-left:0}.actionButton-3wPv1Zy2.small-3wPv1Zy2{margin:6px 0}.actionButton-3wPv1Zy2.small-3wPv1Zy2:first-child{margin-top:0}.actionButton-3wPv1Zy2.small-3wPv1Zy2:last-child{margin-bottom:0}.hiddenTitle-3wPv1Zy2{visibility:hidden}.popupDialog-35doN71j{max-height:calc(100% - 20px);max-width:480px;width:calc(100% - 20px)}.wrap-35doN71j{cursor:default;display:flex;overflow:hidden}.main-35doN71j{color:#131722;display:flex;flex:1 1 auto;flex-direction:column;margin:40px 0 40px 40px}html.theme-dark .main-35doN71j{color:#b2b5be}.main-35doN71j.small-35doN71j{margin:20px 0 20px 20px}.title-35doN71j{align-items:center;display:flex;flex:none;font-size:20px;font-style:normal;font-weight:700;line-height:28px;margin-bottom:8px;width:calc(100% - 9px);word-break:break-word}.title-35doN71j.small-35doN71j{width:calc(100% - 29px)}.content-35doN71j{-webkit-overflow-scrolling:touch;display:flex;flex:1 1 auto;flex-direction:column;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0 -40px;min-height:145px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 40px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin;white-space:pre-wrap;word-break:break-word}html.theme-dark .content-35doN71j{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.content-35doN71j{min-height:auto}}.content-35doN71j::-webkit-scrollbar{height:5px;width:5px}.content-35doN71j::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .content-35doN71j::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.content-35doN71j::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.content-35doN71j::-webkit-scrollbar-corner{display:none}.content-35doN71j.small-35doN71j{margin:0 -20px;padding:8px 20px}.content-35doN71j.html-35doN71j{display:block}.content-35doN71j.html-35doN71j a,html.theme-dark .content-35doN71j.html-35doN71j a{color:#2962ff}.footer-35doN71j{display:flex;flex:none;flex-direction:row-reverse;justify-content:flex-start;margin-top:16px}.footer-35doN71j.small-35doN71j{flex-direction:column}.close-35doN71j{align-items:center;border-radius:2px;color:#131722;cursor:default;display:flex;flex:none;height:34px;justify-content:center;margin:8px 8px 0 -2px;width:34px}html.theme-dark .close-35doN71j{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.close-35doN71j:hover{background-color:#f0f3fa}html.theme-dark .close-35doN71j:hover{background-color:#2a2e39}}.close-35doN71j.small-35doN71j{margin-left:-22px}.label-32bOLbsS{color:#787b86;font-size:14px;line-height:21px}.input-32bOLbsS{word-break:normal} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.rtl.css b/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.rtl.css new file mode 100644 index 0000000..7539e04 --- /dev/null +++ b/public/static/charting_library/bundles/4882.acb0c10fdfd40a912b89.rtl.css @@ -0,0 +1 @@ +.actionButton-3wPv1Zy2{margin:0 6px}.actionButton-3wPv1Zy2:first-child{margin-left:0}.actionButton-3wPv1Zy2:last-child{margin-right:0}.actionButton-3wPv1Zy2.small-3wPv1Zy2{margin:6px 0}.actionButton-3wPv1Zy2.small-3wPv1Zy2:first-child{margin-top:0}.actionButton-3wPv1Zy2.small-3wPv1Zy2:last-child{margin-bottom:0}.hiddenTitle-3wPv1Zy2{visibility:hidden}.popupDialog-35doN71j{max-height:calc(100% - 20px);max-width:480px;width:calc(100% - 20px)}.wrap-35doN71j{cursor:default;display:flex;overflow:hidden}.main-35doN71j{color:#131722;display:flex;flex:1 1 auto;flex-direction:column;margin:40px 40px 40px 0}html.theme-dark .main-35doN71j{color:#b2b5be}.main-35doN71j.small-35doN71j{margin:20px 20px 20px 0}.title-35doN71j{align-items:center;display:flex;flex:none;font-size:20px;font-style:normal;font-weight:700;line-height:28px;margin-bottom:8px;width:calc(100% - 9px);word-break:break-word}.title-35doN71j.small-35doN71j{width:calc(100% - 29px)}.content-35doN71j{-webkit-overflow-scrolling:touch;display:flex;flex:1 1 auto;flex-direction:column;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0 -40px;min-height:145px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 40px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin;white-space:pre-wrap;word-break:break-word}html.theme-dark .content-35doN71j{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.content-35doN71j{min-height:auto}}.content-35doN71j::-webkit-scrollbar{height:5px;width:5px}.content-35doN71j::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .content-35doN71j::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.content-35doN71j::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.content-35doN71j::-webkit-scrollbar-corner{display:none}.content-35doN71j.small-35doN71j{margin:0 -20px;padding:8px 20px}.content-35doN71j.html-35doN71j{display:block}.content-35doN71j.html-35doN71j a,html.theme-dark .content-35doN71j.html-35doN71j a{color:#2962ff}.footer-35doN71j{display:flex;flex:none;flex-direction:row-reverse;justify-content:flex-start;margin-top:16px}.footer-35doN71j.small-35doN71j{flex-direction:column}.close-35doN71j{align-items:center;border-radius:2px;color:#131722;cursor:default;display:flex;flex:none;height:34px;justify-content:center;margin:8px -2px 0 8px;width:34px}html.theme-dark .close-35doN71j{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.close-35doN71j:hover{background-color:#f0f3fa}html.theme-dark .close-35doN71j:hover{background-color:#2a2e39}}.close-35doN71j.small-35doN71j{margin-right:-22px}.label-32bOLbsS{color:#787b86;font-size:14px;line-height:21px}.input-32bOLbsS{word-break:normal} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4940.6aeb4a6f298568a71905.js b/public/static/charting_library/bundles/4940.6aeb4a6f298568a71905.js new file mode 100644 index 0000000..1c15890 --- /dev/null +++ b/public/static/charting_library/bundles/4940.6aeb4a6f298568a71905.js @@ -0,0 +1,3 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[4940],{33467:e=>{e.exports={menuWrap:"menuWrap-g78rwseC",isMeasuring:"isMeasuring-g78rwseC",scrollWrap:"scrollWrap-g78rwseC",momentumBased:"momentumBased-g78rwseC",menuBox:"menuBox-g78rwseC",isHidden:"isHidden-g78rwseC"}},68521:(e,t,n)=>{"use strict";n.d(t,{MatchMedia:()=>s});var r=n(67294);class s extends r.PureComponent{constructor(e){super(e),this._handleChange=()=>{this.forceUpdate()},this.state={query:window.matchMedia(this.props.rule)}}componentDidMount(){this._subscribe(this.state.query)}componentDidUpdate(e,t){this.state.query!==t.query&&(this._unsubscribe(t.query),this._subscribe(this.state.query))}componentWillUnmount(){this._unsubscribe(this.state.query)}render(){return this.props.children(this.state.query.matches)}static getDerivedStateFromProps(e,t){return e.rule!==t.query.media?{query:window.matchMedia(e.rule)}:null}_subscribe(e){e.addListener(this._handleChange)}_unsubscribe(e){e.removeListener(this._handleChange)}}},97873:(e,t,n)=>{"use strict";n.d(t,{MenuContext:()=>r});const r=n(67294).createContext(null)},90901:(e,t,n)=>{"use strict";n.d(t,{DEFAULT_MENU_THEME:()=>_,Menu:()=>g});var r=n(67294),s=n(94184),i=n.n(s),o=n(16282),l=n(57968),a=n(39197),u=n(78106),c=n(79424),h=n(90071),d=n(60934),p=n(2291),m=n(97873),f=n(33467);const _=f;class g extends r.PureComponent{constructor(e){super(e),this._containerRef=null,this._scrollWrapRef=null,this._raf=null,this._manager=new h.OverlapManager,this._hotkeys=null,this._scroll=0,this._handleContainerRef=e=>{this._containerRef=e,this.props.reference&&("function"==typeof this.props.reference&&this.props.reference(e),"object"==typeof this.props.reference&&(this.props.reference.current=e))},this._handleScrollWrapRef=e=>{this._scrollWrapRef=e,"function"==typeof this.props.scrollWrapReference&&this.props.scrollWrapReference(e),"object"==typeof this.props.scrollWrapReference&&(this.props.scrollWrapReference.current=e)},this._handleMeasure=e=>{var t,n,r;if(this.state.isMeasureValid)return;const{position:s}=this.props,i=(0,o.ensureNotNull)(this._containerRef);let a=i.getBoundingClientRect();const u=document.documentElement.clientHeight,c=document.documentElement.clientWidth;let h=u-0;const d=a.height>h;if(d){(0,o.ensureNotNull)(this._scrollWrapRef).style.overflowY="scroll",a=i.getBoundingClientRect()}const{width:p,height:m}=a,f="function"==typeof s?s(p,m,u):s,_=c-(null!==(t=f.overrideWidth)&&void 0!==t?t:p)-0,g=(0,l.clamp)(f.x,0,Math.max(0,_)),v=u-(null!==(n=f.overrideHeight)&&void 0!==n?n:m)-0;let C=(0,l.clamp)(f.y,0,Math.max(0,v));f.forbidCorrectYCoord&&C{this._restoreScrollPosition(),e&&e()})},this._restoreScrollPosition=()=>{const e=document.activeElement,t=(0,o.ensureNotNull)(this._containerRef);if(null!==e&&t.contains(e))try{e.scrollIntoView()}catch(e){}else(0, +o.ensureNotNull)(this._scrollWrapRef).scrollTop=this._scroll},this._resizeForced=()=>{this.setState({appearingMenuHeight:void 0,appearingMenuWidth:void 0,appearingPosition:void 0,isMeasureValid:void 0})},this._resize=()=>{null===this._raf&&(this._raf=requestAnimationFrame(()=>{this.setState({appearingMenuHeight:void 0,appearingMenuWidth:void 0,appearingPosition:void 0,isMeasureValid:void 0}),this._raf=null}))},this._handleGlobalClose=()=>{this.props.onClose()},this._handleSlot=e=>{this._manager.setContainer(e)},this._handleScroll=()=>{this._scroll=(0,o.ensureNotNull)(this._scrollWrapRef).scrollTop},this.state={}}componentDidMount(){this._handleMeasure(this.props.onOpen);const{customCloseDelegate:e=c.globalCloseDelegate}=this.props;e.subscribe(this,this._handleGlobalClose),window.addEventListener("resize",this._resize);const t=null!==this.context;this._hotkeys||t||(this._hotkeys=d.createGroup({desc:"Popup menu"}),this._hotkeys.add({desc:"Close",hotkey:27,handler:()=>this._handleGlobalClose()}))}componentDidUpdate(){this._handleMeasure()}componentWillUnmount(){const{customCloseDelegate:e=c.globalCloseDelegate}=this.props;e.unsubscribe(this,this._handleGlobalClose),window.removeEventListener("resize",this._resize),this._hotkeys&&(this._hotkeys.destroy(),this._hotkeys=null),null!==this._raf&&(cancelAnimationFrame(this._raf),this._raf=null)}render(){const{id:e,role:t,"aria-labelledby":n,"aria-activedescendant":s,children:o,minWidth:l,theme:c=f,className:h,maxHeight:d,onMouseOver:_,onMouseOut:g,onKeyDown:C,onFocus:b,onBlur:M}=this.props,{appearingMenuHeight:y,appearingMenuWidth:x,appearingPosition:W,isMeasureValid:w}=this.state;return r.createElement(m.MenuContext.Provider,{value:this},r.createElement(p.SubmenuHandler,null,r.createElement(u.SlotContext.Provider,{value:this._manager},r.createElement("div",{id:e,role:t,"aria-labelledby":n,"aria-activedescendant":s,className:i()(h,c.menuWrap,!w&&c.isMeasuring),style:{height:y,left:W&&W.x,minWidth:l,position:"fixed",top:W&&W.y,width:x},"data-name":this.props["data-name"],ref:this._handleContainerRef,onScrollCapture:this.props.onScroll,onContextMenu:a.preventDefaultForContextMenu,tabIndex:this.props.tabIndex,onMouseOver:_,onMouseOut:g,onKeyDown:C,onFocus:b,onBlur:M},r.createElement("div",{className:i()(c.scrollWrap,!this.props.noMomentumBasedScroll&&c.momentumBased),style:{overflowY:void 0!==y?"scroll":"auto",maxHeight:d},onScrollCapture:this._handleScroll,ref:this._handleScrollWrapRef},r.createElement(v,{className:c.menuBox},o)))),r.createElement(u.Slot,{reference:this._handleSlot})))}update(e){e?this._resizeForced():this._resize()}}function v(e){const t=(0,o.ensureNotNull)((0,r.useContext)(p.SubmenuContext)),n=r.useRef(null);return r.createElement("div",{ref:n,className:e.className,onMouseOver:function(e){if(!(null!==t.current&&e.target instanceof Node&&(r=e.target,null===(s=n.current)||void 0===s?void 0:s.contains(r))))return;var r,s;t.isSubmenuNode(e.target)||t.setCurrent(null)},"data-name":"menu-inner"},e.children)}g.contextType=p.SubmenuContext},94884:(e,t,n)=>{ +"use strict";n.d(t,{CloseDelegateContext:()=>i});var r=n(67294),s=n(79424);const i=r.createContext(s.globalCloseDelegate)},2291:(e,t,n)=>{"use strict";n.d(t,{SubmenuContext:()=>s,SubmenuHandler:()=>i});var r=n(67294);const s=r.createContext(null);function i(e){const[t,n]=(0,r.useState)(null),i=(0,r.useRef)(null),o=(0,r.useRef)(new Map);return(0,r.useEffect)(()=>()=>{null!==i.current&&clearTimeout(i.current)},[]),r.createElement(s.Provider,{value:{current:t,setCurrent:function(e){null!==i.current&&(clearTimeout(i.current),i.current=null);null===t?n(e):i.current=setTimeout(()=>{i.current=null,n(e)},100)},registerSubmenu:function(e,t){return o.current.set(e,t),()=>{o.current.delete(e)}},isSubmenuNode:function(e){return Array.from(o.current.values()).some(t=>t(e))}}},e.children)}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/4985.6abfd9453389325f7436.css b/public/static/charting_library/bundles/4985.6abfd9453389325f7436.css new file mode 100644 index 0000000..d6d8211 --- /dev/null +++ b/public/static/charting_library/bundles/4985.6abfd9453389325f7436.css @@ -0,0 +1 @@ +.row-3B5H2q5m{vertical-align:top}.line-3B5H2q5m{background-color:#e0e3eb;height:1px;margin:6px 0}html.theme-dark .line-3B5H2q5m{background-color:#434651}.hint-3B5H2q5m{color:#8797a5;font-size:12px;margin-left:6px;margin-top:12px;text-align:left}html.theme-dark .hint-3B5H2q5m{color:#4f5966}.separator-LcIsiH9i{background-color:#e0e3eb;height:1px;margin:6px 0}html.theme-dark .separator-LcIsiH9i{background-color:#434651}.menu-1Jmy26Oy{border-collapse:collapse;cursor:default;overflow:visible;-webkit-user-select:none;user-select:none;z-index:500}.loaderWrap-2SapxxDI{height:32px;margin-left:-2px;position:relative}.loaderWrap-2SapxxDI.big-2SapxxDI{min-width:100px}.loaderWrap-2SapxxDI.big-2SapxxDI .loader-2SapxxDI{position:absolute}.loader-2SapxxDI{position:static} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4985.6abfd9453389325f7436.rtl.css b/public/static/charting_library/bundles/4985.6abfd9453389325f7436.rtl.css new file mode 100644 index 0000000..6b27b30 --- /dev/null +++ b/public/static/charting_library/bundles/4985.6abfd9453389325f7436.rtl.css @@ -0,0 +1 @@ +.row-3B5H2q5m{vertical-align:top}.line-3B5H2q5m{background-color:#e0e3eb;height:1px;margin:6px 0}html.theme-dark .line-3B5H2q5m{background-color:#434651}.hint-3B5H2q5m{color:#8797a5;font-size:12px;margin-right:6px;margin-top:12px;text-align:right}html.theme-dark .hint-3B5H2q5m{color:#4f5966}.separator-LcIsiH9i{background-color:#e0e3eb;height:1px;margin:6px 0}html.theme-dark .separator-LcIsiH9i{background-color:#434651}.menu-1Jmy26Oy{border-collapse:collapse;cursor:default;overflow:visible;-webkit-user-select:none;user-select:none;z-index:500}.loaderWrap-2SapxxDI{height:32px;margin-right:-2px;position:relative}.loaderWrap-2SapxxDI.big-2SapxxDI{min-width:100px}.loaderWrap-2SapxxDI.big-2SapxxDI .loader-2SapxxDI{position:absolute}.loader-2SapxxDI{position:static} \ No newline at end of file diff --git a/public/static/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png b/public/static/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png new file mode 100644 index 0000000..464eb9d Binary files /dev/null and b/public/static/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png differ diff --git a/public/static/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png b/public/static/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png new file mode 100644 index 0000000..5d51909 Binary files /dev/null and b/public/static/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png differ diff --git a/public/static/charting_library/bundles/5019.5e7f23f81809b4af9b28.js b/public/static/charting_library/bundles/5019.5e7f23f81809b4af9b28.js new file mode 100644 index 0000000..5401ebb --- /dev/null +++ b/public/static/charting_library/bundles/5019.5e7f23f81809b4af9b28.js @@ -0,0 +1,9 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5019],{78672:(e,i,t)=>{t.d(i,{floor:()=>r,convertToInt:()=>o,limitedPrecision:()=>l});var n=t(43434);function r(e){return Math.floor(e)}function o(e){return parseInt(String(e))}function l(e){const i=new n.LimitedPrecisionNumericFormatter(e);return e=>{if(null===e)return e;const t=i.parse(i.format(e));return t.res?t.value:null}}},85842:(e,i,t)=>{t.d(i,{getSeriesStylePropertiesDefinitions:()=>be});var n=t(16282),r=t(79881),o=t(90963),l=t(68680),s=t(25436),a=t(32856),c=t.n(a),d=t(27490),p=t(78672),h=t(5225);const u=new o.TranslatedString("change color bars based on previous close",(0,r.t)("change color bars based on previous close")),y=new o.TranslatedString("change HLC bars",(0,r.t)("change HLC bars")),g=new o.TranslatedString("change bar up color",(0,r.t)("change bar up color")),f=new o.TranslatedString("change bar down color",(0,r.t)("change bar down color")),b=new o.TranslatedString("change thin bars",(0,r.t)("change thin bars")),S=new o.TranslatedString("change line price source",(0,r.t)("change line price source")),w=new o.TranslatedString("change line type",(0,r.t)("change line type")),T=new o.TranslatedString("change line color",(0,r.t)("change line color")),P=new o.TranslatedString("change line width",(0,r.t)("change line width")),m=new o.TranslatedString("change area price source",(0,r.t)("change area price source")),v=new o.TranslatedString("change area line color",(0,r.t)("change area line color")),D=new o.TranslatedString("change area line width",(0,r.t)("change area line width")),_=new o.TranslatedString("change area fill color",(0,r.t)("change area fill color")),C=new o.TranslatedString("change baseline price source",(0,r.t)("change baseline price source")),k=new o.TranslatedString("change baseline top line color",(0,r.t)("change baseline top line color")),M=new o.TranslatedString("change baseline top line width",(0,r.t)("change baseline top line width")),L=new o.TranslatedString("change baseline bottom line color",(0,r.t)("change baseline bottom line color")),I=new o.TranslatedString("change baseline bottom line width",(0,r.t)("change baseline bottom line width")),B=new o.TranslatedString("change baseline fill top area color",(0,r.t)("change baseline fill top area color")),O=new o.TranslatedString("change baseline fill bottom area color",(0,r.t)("change baseline fill bottom area color")),E=new o.TranslatedString("change base level",(0,r.t)("change base level")),V=new o.TranslatedString("change high-low body visibility",(0,r.t)("change high-low body visibility")),j=new o.TranslatedString("change high-low body color",(0,r.t)("change high-low body color")),N=new o.TranslatedString("change high-low borders visibility",(0,r.t)("change high-low borders visibility")),$=new o.TranslatedString("change high-low border color",(0,r.t)("change high-low border color")),A=new o.TranslatedString("change high-low labels visibility",(0,r.t)("change high-low labels visibility")),W=new o.TranslatedString("change high-low labels color",(0, +r.t)("change high-low labels color")),x=new o.TranslatedString("change high-low labels font size",(0,r.t)("change high-low labels font size")),z=(new o.TranslatedString("change renko wick visibility",(0,r.t)("change renko wick visibility")),new o.TranslatedString("change renko wick up color",(0,r.t)("change renko wick up color")),new o.TranslatedString("change renko wick down color",(0,r.t)("change renko wick down color")),new o.TranslatedString("change the display of real prices on price scale (instead of Heiken-Ashi price)",(0,r.t)("change the display of real prices on price scale (instead of Heiken-Ashi price)")),new o.TranslatedString("change range thin bars",(0,r.t)("change range thin bars")),new o.TranslatedString("change {candleType} body visibility",(0,r.t)("change {candleType} body visibility"))),H=new o.TranslatedString("change {candleType} up color",(0,r.t)("change {candleType} up color")),F=new o.TranslatedString("change {candleType} down color",(0,r.t)("change {candleType} down color")),U=new o.TranslatedString("change {candleType} border visibility",(0,r.t)("change {candleType} border visibility")),R=new o.TranslatedString("change {candleType} up border color",(0,r.t)("change {candleType} up border color")),Y=new o.TranslatedString("change {candleType} down border color",(0,r.t)("change {candleType} down border color")),G=new o.TranslatedString("change {candleType} wick visibility",(0,r.t)("change {candleType} wick visibility")),J=new o.TranslatedString("change {candleType} wick up color",(0,r.t)("change {candleType} wick up color")),K=new o.TranslatedString("change {candleType} wick down color",(0,r.t)("change {candleType} wick down color")),q=(new o.TranslatedString("change {chartType} up color",(0,r.t)("change {chartType} up color")),new o.TranslatedString("change {chartType} down color",(0,r.t)("change {chartType} down color")),new o.TranslatedString("change {chartType} projection bar up color",(0,r.t)("change {chartType} projection bar up color")),new o.TranslatedString("change {chartType} projection bar down color",(0,r.t)("change {chartType} projection bar down color")),new o.TranslatedString("change {chartType} border bar up color",(0,r.t)("change {chartType} border bar up color")),new o.TranslatedString("change {chartType} border bar down color",(0,r.t)("change {chartType} border bar down color")),new o.TranslatedString("change {chartType} projection border bar up color",(0,r.t)("change {chartType} projection border bar up color")),new o.TranslatedString("change {chartType} projection border bar up color",(0,r.t)("change {chartType} projection border bar up color")),(0,r.t)("Color bars based on previous close")),Q=(0,r.t)("HLC bars"),X=(0,r.t)("Up color"),Z=(0,r.t)("Down color"),ee=(0,r.t)("Thin bars"),ie=(0,r.t)("Body"),te=(0,r.t)("Borders"),ne=(0,r.t)("Wick"),re=(0,r.t)("Price source"),oe=(0,r.t)("Type"),le=(0,r.t)("Line"),se=(0,r.t)("Top line"),ae=(0,r.t)("Bottom line"),ce=(0,r.t)("Fill"),de=(0,r.t)("Fill top area"),pe=(0,r.t)("Fill bottom area"),he=((0,r.t)("Up bars"),(0,r.t)("Down bars"), +(0,r.t)("Projection up bars"),(0,r.t)("Projection down bars"),(0,r.t)("Real prices on price scale (instead of Heikin-Ashi price)"),(0,r.t)("Base level")),ue=(0,r.t)("Body"),ye=(0,r.t)("Borders"),ge=(0,r.t)("Labels");function fe(e,i,t,n){const r=(0,h.removeSpaces)(t.originalText());return[(0,l.createTwoColorsPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.drawBody,z.format({candleType:t})),color1:(0,l.getColorDefinitionProperty)(e,i.upColor,null,H.format({candleType:t})),color2:(0,l.getColorDefinitionProperty)(e,i.downColor,null,F.format({candleType:t}))},{id:`${n}Symbol${r}CandlesColor`,title:ie}),(0,l.createTwoColorsPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.drawBorder,U.format({candleType:t})),color1:(0,l.getColorDefinitionProperty)(e,i.borderUpColor,null,R.format({candleType:t})),color2:(0,l.getColorDefinitionProperty)(e,i.borderDownColor,null,Y.format({candleType:t}))},{id:`${n}Symbol${r}BordersColor`,title:te}),(0,l.createTwoColorsPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.drawWick,G.format({candleType:t})),color1:(0,l.getColorDefinitionProperty)(e,i.wickUpColor,null,J.format({candleType:t})),color2:(0,l.getColorDefinitionProperty)(e,i.wickDownColor,null,K.format({candleType:t}))},{id:`${n}Symbol${r}WickColors`,title:ne})]}function be(e,i,t,a,h){switch(t){case 0:return function(e,i,t){return[(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.barColorsOnPrevClose,u)},{id:t+"SymbolBarStyleBarColorsOnPrevClose",title:q}),(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.dontDrawOpen,y)},{id:t+"SymbolDontDrawOpen",title:Q}),(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,i.upColor,null,g)},{id:t+"SymbolUpColor",title:X}),(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,i.downColor,null,f)},{id:t+"SymbolDownColor",title:Z}),(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.thinBars,b)},{id:t+"SymbolBarThinBars",title:ee})]}(e,i.barStyle.childs(),h);case 1:return function(e,i,t){return[(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.barColorsOnPrevClose,u)},{id:t+"SymbolCandleStyleBarColorsOnPrevClose",title:q}),...fe(e,i,new o.TranslatedString("candle",(0,r.t)("candle")),t)]}(e,i.candleStyle.childs(),h);case 2:return function(e,i,t,n,r){return[(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,i.priceSource,S)},{id:r+"SymbolLinePriceSource",title:re,options:new(c())(t)}),(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,i.styleType,w)},{id:r+"SymbolStyleType",title:oe,options:new(c())(n)}),(0,l.createLinePropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,i.color,null,T),width:(0,l.convertToDefinitionProperty)(e,i.linewidth,P)},{id:r+"SymbolLineStyle",title:le})]}(e,i.lineStyle.childs(),a.seriesPriceSources,a.lineStyleTypes,h);case 3:return function(e,i,t,n){return[(0, +l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,i.priceSource,m)},{id:n+"SymbolAreaPriceSource",title:re,options:new(c())(t)}),(0,l.createLinePropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,i.linecolor,null,v),width:(0,l.convertToDefinitionProperty)(e,i.linewidth,D)},{id:n+"SymbolAreaLineStyle",title:le}),(0,l.createTwoColorsPropertyDefinition)({color1:(0,l.getColorDefinitionProperty)(e,i.color1,i.transparency,_),color2:(0,l.getColorDefinitionProperty)(e,i.color2,i.transparency,_)},{id:n+"SymbolAreaFills",title:ce})]}(e,i.areaStyle.childs(),a.seriesPriceSources,h);case 9:return fe(e,i.hollowCandleStyle.childs(),new o.TranslatedString("hollow candles",(0,r.t)("hollow candles")),h);case 10:return function(e,i,t,n){return[(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,i.priceSource,C)},{id:n+"SymbolBaseLinePriceSource",title:re,options:new(c())(t)}),(0,l.createLinePropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,i.topLineColor,null,k),width:(0,l.convertToDefinitionProperty)(e,i.topLineWidth,M)},{id:n+"SymbolBaseLineTopLine",title:se}),(0,l.createLinePropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,i.bottomLineColor,null,L),width:(0,l.convertToDefinitionProperty)(e,i.bottomLineWidth,I)},{id:n+"SymbolBaseLineBottomLine",title:ae}),(0,l.createTwoColorsPropertyDefinition)({color1:(0,l.getColorDefinitionProperty)(e,i.topFillColor1,null,B),color2:(0,l.getColorDefinitionProperty)(e,i.topFillColor2,null,B)},{id:n+"SymbolBaseLineTopFills",title:de}),(0,l.createTwoColorsPropertyDefinition)({color1:(0,l.getColorDefinitionProperty)(e,i.bottomFillColor1,null,O),color2:(0,l.getColorDefinitionProperty)(e,i.bottomFillColor2,null,O)},{id:n+"SymbolBaseLineBottomFills",title:pe}),(0,l.createNumberPropertyDefinition)({value:(0,l.convertToDefinitionProperty)(e,i.baseLevelPercentage,E,[p.floor])},{id:n+"SymbolBaseLevelPercentage",title:he,type:0,min:new(c())(0),max:new(c())(100),step:new(c())(1),unit:new(c())("%")})]}(e,i.baselineStyle.childs(),a.seriesPriceSources,h)}if(!i.hasOwnProperty("haStyle"))return[];if(a.isJapaneseChartsAvailable&&8===t){return function(e,i,t){const n=[];return n.push((0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.barColorsOnPrevClose,u)},{id:t+"SymbolHAStyleBarColorsOnPrevClose",title:q}),...fe(e,i,new o.TranslatedString("Heikin Ashi",(0,r.t)("Heikin Ashi")),t)),n}(e,i.haStyle.childs(),h)}a.isJapaneseChartsAvailable&&d.enabled("japanese_chart_styles");if(d.enabled("chart_style_hilo")&&12===t){const t=i.hiloStyle.childs(),r=(0,s.chartStyleStudyId)(12);return function(e,i,t,n){const r=(0,l.createColorPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.drawBody,V),color:(0,l.getColorDefinitionProperty)(e,i.color,null,j)},{id:n+"SymbolBodiesColor",title:ue}),o=(0,l.createColorPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.showBorders,N),color:(0,l.getColorDefinitionProperty)(e,i.borderColor,null,$)},{id:n+"SymbolBorderColor",title:ye +}),s=t.map(e=>({title:String(e),value:e}));return[r,o,(0,l.createTextPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.showLabels,A),color:(0,l.getColorDefinitionProperty)(e,i.labelColor,null,W),size:(0,l.convertToDefinitionProperty)(e,i.fontSize,x)},{id:n+"SymbolLabels",title:ge,isEditable:!1,isMultiLine:!1,sizeItems:s})]}(e,t,(0,n.ensure)(a.defaultSeriesFontSizes)[r],h)}return[]}},25019:(e,i,t)=>{t.d(i,{SeriesPropertyDefinitionsViewModel:()=>X,basePriceSources:()=>K,lineStyleTypes:()=>q,seriesPrecisionValues:()=>Q});var n=t(16282),r=t(79881),o=t(90963),l=t(68680),s=t(674),a=t.n(s),c=t(32856),d=t.n(c),p=t(25436),h=t(74645),u=t(85842),y=t(78672);const g=new o.TranslatedString("change {inputName} property",(0,r.t)("change {inputName} property"));function f(e){return e.map(e=>({value:e,title:(0,r.t)(e)}))}function b(e,i,t,s,a,c,h){const u=[];return t.forEach(t=>{if(!function(e,i){return!e.isHidden&&(void 0===e.visible||function(e,i){if(!e)return!0;const t=e.split("==");return!(t.length<2)&&i[t[0]].value()===t[1]}(e.visible,i))}(t,s))return;const b=t.id;if(!s.hasOwnProperty(b))return;const S=s[b],w=function(e,i){return"style"===e.id?"Box size assignment method":"boxSize"===e.id?"Box size":i.childs().name.value()}(t,a[b]),T=function(e){return(0,r.t)(e)}(w),P=new o.TranslatedString(w,T);if("options"in t){const i=(0,n.ensure)(t.options);u.push((0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,S,g.format({inputName:P}))},{id:`${h}${t.name}`,title:T,options:new(d())(f(i))}))}else if("integer"!==t.type){if("float"===t.type){let n;return n=function(e,i){return!((i===(0,p.chartStyleStudyId)(4)||i===(0,p.chartStyleStudyId)(6))&&"boxSize"===e||i===(0,p.chartStyleStudyId)(5)&&"reversalAmount"===e)}(b,i)||null===c.value()?new(d())(t.min):c,void u.push((0,l.createNumberPropertyDefinition)({value:(0,l.convertToDefinitionProperty)(e,S,g.format({inputName:P}))},{id:`${h}${t.name}`,title:T,type:1,min:n,max:new(d())(t.max),defval:t.defval}))}"text"!==t.type?"bool"!==t.type||u.push((0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,S,g.format({inputName:P}))},{id:`${h}${t.name}`,title:T})):u.push((0,l.createTextPropertyDefinition)({text:(0,l.convertToDefinitionProperty)(e,S,g.format({inputName:P}))},{id:`${h}${t.name}`,title:T,isEditable:!0,isMultiLine:!1}))}else u.push((0,l.createNumberPropertyDefinition)({value:(0,l.convertToDefinitionProperty)(e,S,g.format({inputName:P}),[y.floor])},{id:`${h}${t.name}`,title:T,type:0,min:new(d())(t.min),max:new(d())(t.max),defval:t.defval}))}),u}var S=t(65447),w=t(97849),T=t(69881);const P=(0,S.getLogger)("Chart.Definitions.Series"),m=new o.TranslatedString("change decimal places",(0,r.t)("change decimal places")),v=new o.TranslatedString("change timezone",(0,r.t)("change timezone")),D=(new o.TranslatedString("adjust data for dividends",(0,r.t)("adjust data for dividends")),new o.TranslatedString("use settlement as close on daily interval",(0,r.t)("use settlement as close on daily interval")), +new o.TranslatedString("adjust for contract changes",(0,r.t)("adjust for contract changes")),new o.TranslatedString("change session",(0,r.t)("change session")),new o.TranslatedString("change extended hours color",(0,r.t)("change extended hours color"))),_=new o.TranslatedString("change pre market color",(0,r.t)("change pre market color")),C=new o.TranslatedString("change post market color",(0,r.t)("change post market color")),k=new o.TranslatedString("change price line visibility",(0,r.t)("change price line visibility")),M=new o.TranslatedString("change price line color",(0,r.t)("change price line color")),L=new o.TranslatedString("change price line width",(0,r.t)("change price line width")),I=(new o.TranslatedString("change previous close price line visibility",(0,r.t)("change previous close price line visibility")),new o.TranslatedString("change previous close price line color",(0,r.t)("change previous close price line color")),new o.TranslatedString("change previous close price line width",(0,r.t)("change previous close price line width")),new o.TranslatedString("change pre/post market price lines visibility",(0,r.t)("change pre/post market price lines visibility")),new o.TranslatedString("change pre market line color",(0,r.t)("change pre market line color")),new o.TranslatedString("change post market line color",(0,r.t)("change post market line color")),new o.TranslatedString("change bid and ask lines visibility",(0,r.t)("change bid and ask lines visibility")),new o.TranslatedString("change bid line color",(0,r.t)("change bid line color")),new o.TranslatedString("change ask line color",(0,r.t)("change ask line color")),new o.TranslatedString("change high and low price lines visibility",(0,r.t)("change high and low price lines visibility"))),B=((0,r.t)("Adjust data for dividends"),(0,r.t)("Session"),(0,r.t)("Adjust for contract changes"),(0,r.t)("Use settlement as close on daily interval"),(0,r.t)("Pre/post market hours background")),O=(0,r.t)("Last price line"),E=((0,r.t)("Previous day close price line"),(0,r.t)("Bid and ask lines"),(0,r.t)("Pre/post market price line"),(0,r.t)("Precision")),V=(0,r.t)("Timezone"),j=(0,r.t)("Open"),N=(0,r.t)("High"),$=(0,r.t)("Low"),A=(0,r.t)("Close"),W=(0,r.t)("(H + L)/2"),x=(0,r.t)("(H + L + C)/3"),z=(0,r.t)("(O + H + L + C)/4"),H=(0,r.t)("Simple"),F=(0,r.t)("With markers"),U=(0,r.t)("Step"),R=(0,r.t)("Default"),Y=(0,r.t)("High and low price lines"),G={[(0,p.chartStyleStudyId)(12)]:[7,8,9,10,11,12,14,16,20,24,28,32,40]},J=[{priceScale:1,minMove:1,frac:!1},{priceScale:10,minMove:1,frac:!1},{priceScale:100,minMove:1,frac:!1},{priceScale:1e3,minMove:1,frac:!1},{priceScale:1e4,minMove:1,frac:!1},{priceScale:1e5,minMove:1,frac:!1},{priceScale:1e6,minMove:1,frac:!1},{priceScale:1e7,minMove:1,frac:!1},{priceScale:1e8,minMove:1,frac:!1},{priceScale:1e9,minMove:1,frac:!1},{priceScale:1e10,minMove:1,frac:!1},{priceScale:2,minMove:1,frac:!0},{priceScale:4,minMove:1,frac:!0},{priceScale:8,minMove:1,frac:!0},{priceScale:16,minMove:1,frac:!0},{priceScale:32,minMove:1,frac:!0},{priceScale:64, +minMove:1,frac:!0},{priceScale:128,minMove:1,frac:!0},{priceScale:320,minMove:1,frac:!0}],K=[{title:j,value:"open",id:"price-source-open"},{title:N,value:"high",id:"price-source-high"},{title:$,value:"low",id:"price-source-low"},{title:A,value:"close",id:"price-source-close"},{title:W,value:"hl2",id:"price-source-hl2"},{title:x,value:"hlc3",id:"price-source-hlc3"},{title:z,value:"ohlc4",id:"price-source-ohlc4"}],q=[{title:H,value:h.STYLE_LINE_TYPE_SIMPLE},{title:F,value:h.STYLE_LINE_TYPE_MARKERS},{title:U,value:h.STYLE_LINE_TYPE_STEP}];function Q(){const e=[{title:R,value:"default"}];for(let i=0;i{(0,l.destroyDefinitions)(e.definitions.value())}),this._series.onStyleChanged().unsubscribe(this,this._updateDefinitions),this._series.dataEvents().symbolResolved().unsubscribeAll(this),this._unsubscribeInputsUpdate(),this._isDestroyed=!0}propertyPages(){return null===this._propertyPages?this._getDefinitions().then(e=>{if(this._isDestroyed)throw new Error("SeriesPropertyDefinitionsViewModel already destroyed");return null===this._propertyPages&&(this._propertyPages=[{id:this._propertyPageId,title:this._propertyPageName,icon:this._propertyPageIcon,definitions:new(d())(e)}]),this._propertyPages}):Promise.resolve(this._propertyPages)}_seriesMinTick(){const e=this._series.symbolInfo();return null!==e?e.minmov/e.pricescale:null}_updateSeriesMinTickWV(){null===this._seriesMinTickWV?this._seriesMinTickWV=new(d())(this._seriesMinTick()):this._seriesMinTickWV.setValue(this._seriesMinTick())}_updateSessionIdOptionsWV(){}_updateDefinitions(){null!==this._definitions&&(0,l.destroyDefinitions)(this._definitions),this._definitions=null,this._unsubscribeInputsUpdate(),this._createSeriesDefinitions().then(e=>{if(this._isDestroyed)throw new Error("SeriesPropertyDefinitionsViewModel already destroyed");(0,n.ensureNotNull)(this._propertyPages)[0].definitions.setValue(e)})}_getDefinitions(){return null===this._definitions?this._createSeriesDefinitions():Promise.resolve(this._definitions)}_unsubscribeInputsUpdate(){null!==this._inputsSubscriptions&&(this._inputsSubscriptions.forEach(e=>{e.unsubscribeAll(this)}),this._inputsSubscriptions=null) +}_subscribeInputsUpdate(e,i){const t=[];e.forEach(e=>{if(void 0!==e.visible){const n=e.visible.split("==");if(2===n.length){const e=i[n[0]];-1===t.indexOf(e)&&(e.subscribe(this,this._updateDefinitions),t.push(e))}}}),t.length>0?this._inputsSubscriptions=t:this._inputsSubscriptions=null}_createSeriesDefinitions(){const e=this._series.properties().childs(),i=this._series.getInputsProperties(),t=this._series.getInputsInfoProperties(),r=e.style.value(),o=this._series.getStyleShortName();return new Promise(e=>{const l=(0,p.chartStyleStudyId)(r);null!==l?this._model.studyMetaInfoRepository().findById({type:"java",studyId:l}).then(r=>{if(this._isDestroyed)throw new Error("SeriesPropertyDefinitionsViewModel already destroyed");if(null!==this._definitions)return void e(null);const l=(0,n.ensureNotNull)(this._seriesMinTickWV),s=b(this._undoModel,r.id,r.inputs,i,t,l,o);this._subscribeInputsUpdate(r.inputs,i),e(s)}).catch(i=>{P.logWarn("Find meta info for create series definitions with error - "+(0,w.errorToString)(i)),e(null)}):e(null)}).then(i=>{if(this._isDestroyed)throw new Error("SeriesPropertyDefinitionsViewModel already destroyed");if(null!==this._definitions)return this._definitions;const t=(0,u.getSeriesStylePropertiesDefinitions)(this._undoModel,e,r,{seriesPriceSources:K,lineStyleTypes:q,isJapaneseChartsAvailable:!0,defaultSeriesFontSizes:G},"mainSeries");null!==i&&t.push(...i);const n=(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(this._undoModel,e.minTick,m)},{id:o+"SymbolMinTick",title:E,options:new(d())(Q())}),s=(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(this._undoModel,this._timezonePropertyObj.property,v)},{id:o+"SymbolTimezone",title:V,options:new(d())(this._timezonePropertyObj.values)});return this._definitions=[(0,l.createPropertyDefinitionsGeneralGroup)(t,"generalSymbolStylesGroup"),...this._seriesPriceLinesDefinitions(o),...this._seriesDataDefinitions(o),n,s],this._definitions})}_seriesDataDefinitions(e){return[]}_createOutOfSessionDefinition(e){const i=this._model.sessions().properties().childs().graphics.childs().backgrounds.childs().outOfSession.childs();return(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(this._undoModel,i.color,i.transparency,D)},{id:e+"SymbolExtendedHoursColors",title:B})}_createPrePostMarketDefinition(e){const i=this._model.sessions(),t=i.properties().childs().graphics.childs().backgrounds.childs().preMarket.childs(),n=i.properties().childs().graphics.childs().backgrounds.childs().postMarket.childs();return(0,l.createTwoColorsPropertyDefinition)({color1:(0,l.getColorDefinitionProperty)(this._undoModel,t.color,t.transparency,_),color2:(0,l.getColorDefinitionProperty)(this._undoModel,n.color,n.transparency,C)},{id:e+"SymbolExtendedHoursColors",title:B})}_seriesPriceLinesDefinitions(e){const i=[],t=this._series.properties().childs();if(this._series.hasClosePrice()){const n=(0,l.createLinePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._undoModel,t.showPriceLine,k), +color:(0,l.getColorDefinitionProperty)(this._undoModel,t.priceLineColor,null,M),width:(0,l.convertToDefinitionProperty)(this._undoModel,t.priceLineWidth,L)},{id:e+"SymbolLastValuePriceLine",title:O});i.push(n)}this._series.hasClosePrice();const n=t.highLowAvgPrice.childs(),r=(0,T.combineProperty)((e,i)=>e||i,n.highLowPriceLinesVisible,new(a())(!1)),o=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._undoModel,r,null,void 0,e=>{this._undoModel.beginUndoMacro(I),this._undoModel.setProperty(n.highLowPriceLinesVisible,e,null),this._undoModel.endUndoMacro()},()=>r.destroy())},{id:e+"SymbolHighLowAverageClosePriceLines",title:Y});return i.push(o),i}}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/5030.3f535fc5b94422bc913a.js b/public/static/charting_library/bundles/5030.3f535fc5b94422bc913a.js new file mode 100644 index 0000000..67e95cd --- /dev/null +++ b/public/static/charting_library/bundles/5030.3f535fc5b94422bc913a.js @@ -0,0 +1,4 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5030],{32455:t=>{t.exports={"tablet-normal-breakpoint":"screen and (max-width: 768px)","small-height-breakpoint":"screen and (max-height: 360px)","tablet-small-breakpoint":"screen and (max-width: 428px)"}},74818:(t,e,r)=>{"use strict";function n(t){return o(t,a)}function i(t){return o(t,s)}function o(t,e){const r=Object.entries(t).filter(e),n={};for(const[t,e]of r)n[t]=e;return n}function a(t){const[e,r]=t;return 0===e.indexOf("data-")&&"string"==typeof r}function s(t){return 0===t[0].indexOf("aria-")}r.d(e,{filterDataProps:()=>n,filterAriaProps:()=>i,filterProps:()=>o,isDataAttribute:()=>a,isAriaAttribute:()=>s})},59726:(t,e,r)=>{"use strict";function n(t,e,r,n,i){function o(i){if(t>i.timeStamp)return;const o=i.target;void 0!==r&&null!==e&&null!==o&&o.ownerDocument===n&&(e.contains(o)||r(i))}return i.click&&n.addEventListener("click",o,!1),i.mouseDown&&n.addEventListener("mousedown",o,!1),i.touchEnd&&n.addEventListener("touchend",o,!1),i.touchStart&&n.addEventListener("touchstart",o,!1),()=>{n.removeEventListener("click",o,!1),n.removeEventListener("mousedown",o,!1),n.removeEventListener("touchend",o,!1),n.removeEventListener("touchstart",o,!1)}}r.d(e,{addOutsideEventListener:()=>n})},72923:(t,e,r)=>{"use strict";r.d(e,{DialogBreakpoints:()=>i});var n=r(32455);const i={SmallHeight:n["small-height-breakpoint"],TabletSmall:n["tablet-small-breakpoint"],TabletNormal:n["tablet-normal-breakpoint"]}},33093:(t,e,r)=>{"use strict";r.d(e,{FixedSizeList:()=>y,VariableSizeList:()=>M});var n=r(87462);function i(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function o(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var a=Number.isNaN||function(t){return"number"==typeof t&&t!=t};function s(t,e){if(t.length!==e.length)return!1;for(var r=0;r=e?t.call(null):n.id=requestAnimationFrame(i)}))};return n}var h=null;function m(t){if(void 0===t&&(t=!1),null===h||t){var e=document.createElement("div"),r=e.style;r.width="50px",r.height="50px",r.overflow="scroll",r.direction="rtl";var n=document.createElement("div"),i=n.style;return i.width="100px",i.height="100px",e.appendChild(n),document.body.appendChild(e),e.scrollLeft>0?h="positive-descending":(e.scrollLeft=1,h=0===e.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(e),h}return h}var p=function(t,e){return t};function v(t){ +var e,r,a=t.getItemOffset,s=t.getEstimatedTotalSize,u=t.getItemSize,h=t.getOffsetForIndexAndAlignment,v=t.getStartIndexForOffset,S=t.getStopIndexForStartIndex,I=t.initInstanceProps,_=t.shouldResetStyleCacheOnItemSizeChange,x=t.validateProps;return r=e=function(t){function e(e){var r;return(r=t.call(this,e)||this)._instanceProps=I(r.props,o(o(r))),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:o(o(r)),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof r.props.initialScrollOffset?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=l((function(t,e,n,i){return r.props.onItemsRendered({overscanStartIndex:t,overscanStopIndex:e,visibleStartIndex:n,visibleStopIndex:i})})),r._callOnScroll=void 0,r._callOnScroll=l((function(t,e,n){return r.props.onScroll({scrollDirection:t,scrollOffset:e,scrollUpdateWasRequested:n})})),r._getItemStyle=void 0,r._getItemStyle=function(t){var e,n=r.props,i=n.direction,o=n.itemSize,s=n.layout,l=r._getItemStyleCache(_&&o,_&&s,_&&i);if(l.hasOwnProperty(t))e=l[t];else{var c=a(r.props,t,r._instanceProps),f=u(r.props,t,r._instanceProps),d="horizontal"===i||"horizontal"===s,h="rtl"===i,m=d?c:0;l[t]=e={position:"absolute",left:h?void 0:m,right:h?m:void 0,top:d?0:c,height:d?"100%":f,width:d?f:"100%"}}return e},r._getItemStyleCache=void 0,r._getItemStyleCache=l((function(t,e,r){return{}})),r._onScrollHorizontal=function(t){var e=t.currentTarget,n=e.clientWidth,i=e.scrollLeft,o=e.scrollWidth;r.setState((function(t){if(t.scrollOffset===i)return null;var e=r.props.direction,a=i;if("rtl"===e)switch(m()){case"negative":a=-i;break;case"positive-descending":a=o-n-i}return a=Math.max(0,Math.min(a,o-n)),{isScrolling:!0,scrollDirection:t.scrollOffset0)for(var R=w;R<=O;R++)C.push((0,c.createElement)(e,{data:d,key:m(R,d),index:R,isScrolling:_?M:void 0,style:this._getItemStyle(R)}));var T=s(this.props,this._instanceProps);return(0,c.createElement)(g||S||"div",{className:r,onScroll:z,ref:this._outerRefSetter,style:(0,n.default)({position:"relative",height:o,width:x,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:i},I)},(0,c.createElement)(l||u||"div",{children:C,ref:a,style:{height:y?"100%":T,pointerEvents:M?"none":void 0,width:y?T:"100%"}}))},r._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var t=this._getRangeToRender(),e=t[0],r=t[1],n=t[2],i=t[3];this._callOnItemsRendered(e,r,n,i)}if("function"==typeof this.props.onScroll){var o=this.state,a=o.scrollDirection,s=o.scrollOffset,l=o.scrollUpdateWasRequested;this._callOnScroll(a,s,l)}},r._getRangeToRender=function(){var t=this.props,e=t.itemCount,r=t.overscanCount,n=this.state,i=n.isScrolling,o=n.scrollDirection,a=n.scrollOffset;if(0===e)return[0,0,0,0];var s=v(this.props,a,this._instanceProps),l=S(this.props,s,a,this._instanceProps),c=i&&"backward"!==o?1:Math.max(1,r),u=i&&"forward"!==o?1:Math.max(1,r);return[Math.max(0,s-c),Math.max(0,Math.min(e-1,l+u)),s,l]},e}(c.PureComponent),e.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},r}var g=function(t,e){t.children,t.direction,t.height,t.layout,t.innerTagName,t.outerTagName,t.width,e.instance},S=function(t,e,r){var n=t.itemSize,i=r.itemMetadataMap,o=r.lastMeasuredIndex;if(e>o){var a=0;if(o>=0){var s=i[o];a=s.offset+s.size} +for(var l=o+1;l<=e;l++){var c=n(l);i[l]={offset:a,size:c},a+=c}r.lastMeasuredIndex=e}return i[e]},I=function(t,e,r,n,i){for(;n<=r;){var o=n+Math.floor((r-n)/2),a=S(t,o,e).offset;if(a===i)return o;ai&&(r=o-1)}return n>0?n-1:0},_=function(t,e,r,n){for(var i=t.itemCount,o=1;r=r&&(o=r-1),o>=0){var s=n[o];a=s.offset+s.size}return a+(r-o-1)*i},M=v({getItemOffset:function(t,e,r){return S(t,e,r).offset},getItemSize:function(t,e,r){return r.itemMetadataMap[e].size},getEstimatedTotalSize:x,getOffsetForIndexAndAlignment:function(t,e,r,n,i){var o=t.direction,a=t.height,s=t.layout,l=t.width,c="horizontal"===o||"horizontal"===s?l:a,u=S(t,e,i),f=x(t,i),d=Math.max(0,Math.min(f-c,u.offset)),h=Math.max(0,u.offset-c+u.size);switch("smart"===r&&(r=n>=h-c&&n<=d+c?"auto":"center"),r){case"start":return d;case"end":return h;case"center":return Math.round(h+(d-h)/2);case"auto":default:return n>=h&&n<=d?n:n0?n[i].offset:0)>=r?I(t,e,i,0,r):_(t,e,Math.max(0,i),r)}(t,r,e)},getStopIndexForStartIndex:function(t,e,r,n){for(var i=t.direction,o=t.height,a=t.itemCount,s=t.layout,l=t.width,c="horizontal"===i||"horizontal"===s?l:o,u=S(t,e,n),f=r+c,d=u.offset+u.size,h=e;h=h-u&&n<=d+u?"auto":"center"),r){case"start":return d;case"end":return h;case"center":var m=Math.round(h+(d-h)/2);return mf+Math.floor(u/2)?f:m;case"auto":default:return n>=h&&n<=d?n:n{o.exports={button:"button-5-QHyx-s",hover:"hover-5-QHyx-s",bg:"bg-5-QHyx-s",icon:"icon-5-QHyx-s",isActive:"isActive-5-QHyx-s",isTransparent:"isTransparent-5-QHyx-s",isGrayed:"isGrayed-5-QHyx-s",isHidden:"isHidden-5-QHyx-s"}},32455:o=>{o.exports={"tablet-normal-breakpoint":"screen and (max-width: 768px)","small-height-breakpoint":"screen and (max-height: 360px)","tablet-small-breakpoint":"screen and (max-width: 428px)"}},69560:o=>{o.exports={favorite:"favorite-I_fAY9V2",disabled:"disabled-I_fAY9V2",active:"active-I_fAY9V2",checked:"checked-I_fAY9V2"}},74818:(o,e,l)=>{"use strict";function i(o){return a(o,s)}function n(o){return a(o,t)}function a(o,e){const l=Object.entries(o).filter(e),i={};for(const[o,e]of l)i[o]=e;return i}function s(o){const[e,l]=o;return 0===e.indexOf("data-")&&"string"==typeof l}function t(o){return 0===o[0].indexOf("aria-")}l.d(e,{filterDataProps:()=>i,filterAriaProps:()=>n,filterProps:()=>a,isDataAttribute:()=>s,isAriaAttribute:()=>t})},49585:(o,e,l)=>{"use strict";l.d(e,{ToolButton:()=>c});var i=l(67294),n=l(94184),a=l(49775),s=l(74818),t=l(5671);function c(o){const{id:e,activeClass:l,children:c,className:r,icon:T,isActive:d,isGrayed:L,isHidden:h,isTransparent:m,theme:z=t,onClick:v,title:g,buttonHotKey:w,tooltipPosition:N="vertical"}=o;return i.createElement("div",{id:e,className:n(z.button,r,d&&l,{"apply-common-tooltip":Boolean(g),"common-tooltip-vertical":Boolean(g)&&"vertical"===N,[z.isActive]:d,[z.isGrayed]:L,[z.isHidden]:h,[z.isTransparent]:m}),onClick:v,title:g,"data-role":"button","data-tooltip-hotkey":w,...(0,s.filterDataProps)(o)},i.createElement("div",{className:z.bg},T&&("string"==typeof T?i.createElement(a.Icon,{className:z.icon,icon:T}):i.createElement("span",{className:z.icon},T)),c))}},84021:(o,e,l)=>{"use strict";l.d(e,{drawingToolsIcons:()=>i});const i={SyncDrawing:l(66527),arrow:l(57018),cursor:l(70626),dot:l(99131),drawginmode:l(25922),drawginmodeActive:l(87369),eraser:l(56202),group:l(24701),hideAllDrawings:l(49017),hideAllDrawingsActive:l(62781),hideAllIndicators:l(46826),hideAllIndicatorsActive:l(11624),hideAllDrawingTools:l(77314),hideAllDrawingToolsActive:l(72254),hideAllPositionsTools:l(35802),hideAllPositionsToolsActive:l(57837),lockAllDrawings:l(62618),lockAllDrawingsActive:l(96750),magnet:l(3911),strongMagnet:l(93029),measure:l(34244),removeAllDrawingTools:l(23353),showObjectTree:l(29261),zoom:l(29166),"zoom-out":l(48588)}},21259:(o,e,l)=>{"use strict";l.d(e,{lineToolsInfo:()=>v});var i=l(79881),n=l(67869),a=l(19598),s=(l(95068),l(94317)),t=l(84021),c=l(58761),r=l(42998);const T=(0,r.humanReadableModifiers)(r.Modifiers.Shift,!1),d=(0,r.humanReadableModifiers)(r.Modifiers.Alt,!1),L=(0,r.humanReadableModifiers)(r.Modifiers.Mod,!1),h={keys:[T],text:(0,i.t)("{hotKey_0} — drawing a straight line at angles of 45")},m={keys:[T],text:(0,i.t)("{hotKey_0} — circle")},z={keys:[T],text:(0,i.t)("{hotKey_0} — square")},v={LineTool5PointsPattern:{icon:s.lineToolsIcons.LineTool5PointsPattern, +localizedName:c.lineToolsLocalizedNames.LineTool5PointsPattern},LineToolABCD:{icon:s.lineToolsIcons.LineToolABCD,localizedName:c.lineToolsLocalizedNames.LineToolABCD},LineToolArc:{icon:s.lineToolsIcons.LineToolArc,localizedName:c.lineToolsLocalizedNames.LineToolArc},LineToolArrow:{icon:s.lineToolsIcons.LineToolArrow,localizedName:c.lineToolsLocalizedNames.LineToolArrow},LineToolArrowMarkDown:{icon:s.lineToolsIcons.LineToolArrowMarkDown,localizedName:c.lineToolsLocalizedNames.LineToolArrowMarkDown},LineToolArrowMarkLeft:{icon:s.lineToolsIcons.LineToolArrowMarkLeft,localizedName:c.lineToolsLocalizedNames.LineToolArrowMarkLeft},LineToolArrowMarkRight:{icon:s.lineToolsIcons.LineToolArrowMarkRight,localizedName:c.lineToolsLocalizedNames.LineToolArrowMarkRight},LineToolArrowMarkUp:{icon:s.lineToolsIcons.LineToolArrowMarkUp,localizedName:c.lineToolsLocalizedNames.LineToolArrowMarkUp},LineToolBalloon:{icon:s.lineToolsIcons.LineToolBalloon,localizedName:c.lineToolsLocalizedNames.LineToolBalloon},LineToolBarsPattern:{icon:s.lineToolsIcons.LineToolBarsPattern,localizedName:c.lineToolsLocalizedNames.LineToolBarsPattern},LineToolBezierCubic:{icon:s.lineToolsIcons.LineToolBezierCubic,localizedName:c.lineToolsLocalizedNames.LineToolBezierCubic},LineToolBezierQuadro:{icon:s.lineToolsIcons.LineToolBezierQuadro,localizedName:c.lineToolsLocalizedNames.LineToolBezierQuadro},LineToolBrush:{icon:s.lineToolsIcons.LineToolBrush,localizedName:c.lineToolsLocalizedNames.LineToolBrush},LineToolCallout:{icon:s.lineToolsIcons.LineToolCallout,localizedName:c.lineToolsLocalizedNames.LineToolCallout},LineToolCircleLines:{icon:s.lineToolsIcons.LineToolCircleLines,localizedName:c.lineToolsLocalizedNames.LineToolCircleLines},LineToolCypherPattern:{icon:s.lineToolsIcons.LineToolCypherPattern,localizedName:c.lineToolsLocalizedNames.LineToolCypherPattern},LineToolDateAndPriceRange:{icon:s.lineToolsIcons.LineToolDateAndPriceRange,localizedName:c.lineToolsLocalizedNames.LineToolDateAndPriceRange},LineToolDateRange:{icon:s.lineToolsIcons.LineToolDateRange,localizedName:c.lineToolsLocalizedNames.LineToolDateRange},LineToolDisjointAngle:{icon:s.lineToolsIcons.LineToolDisjointAngle,localizedName:c.lineToolsLocalizedNames.LineToolDisjointAngle,hotKey:(0,a.hotKeySerialize)(h)},LineToolElliottCorrection:{icon:s.lineToolsIcons.LineToolElliottCorrection,localizedName:c.lineToolsLocalizedNames.LineToolElliottCorrection},LineToolElliottDoubleCombo:{icon:s.lineToolsIcons.LineToolElliottDoubleCombo,localizedName:c.lineToolsLocalizedNames.LineToolElliottDoubleCombo},LineToolElliottImpulse:{icon:s.lineToolsIcons.LineToolElliottImpulse,localizedName:c.lineToolsLocalizedNames.LineToolElliottImpulse},LineToolElliottTriangle:{icon:s.lineToolsIcons.LineToolElliottTriangle,localizedName:c.lineToolsLocalizedNames.LineToolElliottTriangle},LineToolElliottTripleCombo:{icon:s.lineToolsIcons.LineToolElliottTripleCombo,localizedName:c.lineToolsLocalizedNames.LineToolElliottTripleCombo},LineToolEllipse:{icon:s.lineToolsIcons.LineToolEllipse, +localizedName:c.lineToolsLocalizedNames.LineToolEllipse,hotKey:(0,a.hotKeySerialize)(m)},LineToolExtended:{icon:s.lineToolsIcons.LineToolExtended,localizedName:c.lineToolsLocalizedNames.LineToolExtended},LineToolFibChannel:{icon:s.lineToolsIcons.LineToolFibChannel,localizedName:c.lineToolsLocalizedNames.LineToolFibChannel},LineToolFibCircles:{icon:s.lineToolsIcons.LineToolFibCircles,localizedName:c.lineToolsLocalizedNames.LineToolFibCircles,hotKey:(0,a.hotKeySerialize)(m)},LineToolFibRetracement:{icon:s.lineToolsIcons.LineToolFibRetracement,localizedName:c.lineToolsLocalizedNames.LineToolFibRetracement},LineToolFibSpeedResistanceArcs:{icon:s.lineToolsIcons.LineToolFibSpeedResistanceArcs,localizedName:c.lineToolsLocalizedNames.LineToolFibSpeedResistanceArcs},LineToolFibSpeedResistanceFan:{icon:s.lineToolsIcons.LineToolFibSpeedResistanceFan,localizedName:c.lineToolsLocalizedNames.LineToolFibSpeedResistanceFan,hotKey:(0,a.hotKeySerialize)(z)},LineToolFibSpiral:{icon:s.lineToolsIcons.LineToolFibSpiral,localizedName:c.lineToolsLocalizedNames.LineToolFibSpiral},LineToolFibTimeZone:{icon:s.lineToolsIcons.LineToolFibTimeZone,localizedName:c.lineToolsLocalizedNames.LineToolFibTimeZone},LineToolFibWedge:{icon:s.lineToolsIcons.LineToolFibWedge,localizedName:c.lineToolsLocalizedNames.LineToolFibWedge},LineToolFlagMark:{icon:s.lineToolsIcons.LineToolFlagMark,localizedName:c.lineToolsLocalizedNames.LineToolFlagMark},LineToolImage:{icon:s.lineToolsIcons.LineToolImage,localizedName:c.lineToolsLocalizedNames.LineToolImage},LineToolFlatBottom:{icon:s.lineToolsIcons.LineToolFlatBottom,localizedName:c.lineToolsLocalizedNames.LineToolFlatBottom,hotKey:(0,a.hotKeySerialize)(h)},LineToolAnchoredVWAP:{icon:s.lineToolsIcons.LineToolAnchoredVWAP,localizedName:c.lineToolsLocalizedNames.LineToolAnchoredVWAP},LineToolGannComplex:{icon:s.lineToolsIcons.LineToolGannComplex,localizedName:c.lineToolsLocalizedNames.LineToolGannComplex},LineToolGannFixed:{icon:s.lineToolsIcons.LineToolGannFixed,localizedName:c.lineToolsLocalizedNames.LineToolGannFixed},LineToolGannFan:{icon:s.lineToolsIcons.LineToolGannFan,localizedName:c.lineToolsLocalizedNames.LineToolGannFan},LineToolGannSquare:{icon:s.lineToolsIcons.LineToolGannSquare,localizedName:c.lineToolsLocalizedNames.LineToolGannSquare,hotKey:(0,a.hotKeySerialize)({keys:[T],text:(0,i.t)("{hotKey_0} — fixed increments")})},LineToolHeadAndShoulders:{icon:s.lineToolsIcons.LineToolHeadAndShoulders,localizedName:c.lineToolsLocalizedNames.LineToolHeadAndShoulders},LineToolHorzLine:{icon:s.lineToolsIcons.LineToolHorzLine,localizedName:c.lineToolsLocalizedNames.LineToolHorzLine,hotKey:(0,a.hotKeySerialize)({keys:[d,"H"],text:"{0} + {1}"})},LineToolHorzRay:{icon:s.lineToolsIcons.LineToolHorzRay,localizedName:c.lineToolsLocalizedNames.LineToolHorzRay},LineToolIcon:{icon:s.lineToolsIcons.LineToolIcon,localizedName:c.lineToolsLocalizedNames.LineToolIcon},LineToolInsidePitchfork:{icon:s.lineToolsIcons.LineToolInsidePitchfork,localizedName:c.lineToolsLocalizedNames.LineToolInsidePitchfork},LineToolNote:{ +icon:s.lineToolsIcons.LineToolNote,localizedName:c.lineToolsLocalizedNames.LineToolNote},LineToolNoteAbsolute:{icon:s.lineToolsIcons.LineToolNoteAbsolute,localizedName:c.lineToolsLocalizedNames.LineToolNoteAbsolute},LineToolSignpost:{icon:s.lineToolsIcons.LineToolSignpost,localizedName:c.lineToolsLocalizedNames.LineToolSignpost},LineToolParallelChannel:{icon:s.lineToolsIcons.LineToolParallelChannel,localizedName:c.lineToolsLocalizedNames.LineToolParallelChannel,hotKey:(0,a.hotKeySerialize)(h)},LineToolPitchfan:{icon:s.lineToolsIcons.LineToolPitchfan,localizedName:c.lineToolsLocalizedNames.LineToolPitchfan},LineToolPitchfork:{icon:s.lineToolsIcons.LineToolPitchfork,localizedName:c.lineToolsLocalizedNames.LineToolPitchfork},LineToolPolyline:{icon:s.lineToolsIcons.LineToolPolyline,localizedName:c.lineToolsLocalizedNames.LineToolPolyline},LineToolPath:{icon:s.lineToolsIcons.LineToolPath,localizedName:c.lineToolsLocalizedNames.LineToolPath},LineToolPrediction:{icon:s.lineToolsIcons.LineToolPrediction,localizedName:c.lineToolsLocalizedNames.LineToolPrediction},LineToolPriceLabel:{icon:s.lineToolsIcons.LineToolPriceLabel,localizedName:c.lineToolsLocalizedNames.LineToolPriceLabel},LineToolPriceNote:{icon:s.lineToolsIcons.LineToolPriceNote,localizedName:c.lineToolsLocalizedNames.LineToolPriceNote,hotKey:(0,a.hotKeySerialize)(h)},LineToolArrowMarker:{icon:s.lineToolsIcons.LineToolArrowMarker,localizedName:c.lineToolsLocalizedNames.LineToolArrowMarker},LineToolPriceRange:{icon:s.lineToolsIcons.LineToolPriceRange,localizedName:c.lineToolsLocalizedNames.LineToolPriceRange},LineToolProjection:{icon:s.lineToolsIcons.LineToolProjection,localizedName:c.lineToolsLocalizedNames.LineToolProjection},LineToolRay:{icon:s.lineToolsIcons.LineToolRay,localizedName:c.lineToolsLocalizedNames.LineToolRay},LineToolRectangle:{icon:s.lineToolsIcons.LineToolRectangle,localizedName:c.lineToolsLocalizedNames.LineToolRectangle,hotKey:(0,a.hotKeySerialize)({keys:[T],text:(0,i.t)("{hotKey_0} — square")})},LineToolCircle:{icon:s.lineToolsIcons.LineToolCircle,localizedName:c.lineToolsLocalizedNames.LineToolCircle},LineToolRegressionTrend:{icon:s.lineToolsIcons.LineToolRegressionTrend,localizedName:c.lineToolsLocalizedNames.LineToolRegressionTrend},LineToolRiskRewardLong:{icon:s.lineToolsIcons.LineToolRiskRewardLong,localizedName:c.lineToolsLocalizedNames.LineToolRiskRewardLong},LineToolRiskRewardShort:{icon:s.lineToolsIcons.LineToolRiskRewardShort,localizedName:c.lineToolsLocalizedNames.LineToolRiskRewardShort},LineToolFixedRangeVolumeProfile:{icon:s.lineToolsIcons.LineToolFixedRangeVolumeProfile,localizedName:c.lineToolsLocalizedNames.LineToolFixedRangeVolumeProfile},LineToolRotatedRectangle:{icon:s.lineToolsIcons.LineToolRotatedRectangle,localizedName:c.lineToolsLocalizedNames.LineToolRotatedRectangle,hotKey:(0,a.hotKeySerialize)(h)},LineToolSchiffPitchfork:{icon:s.lineToolsIcons.LineToolSchiffPitchfork,localizedName:c.lineToolsLocalizedNames.LineToolSchiffPitchfork},LineToolSchiffPitchfork2:{icon:s.lineToolsIcons.LineToolSchiffPitchfork2, +localizedName:c.lineToolsLocalizedNames.LineToolSchiffPitchfork2},LineToolSineLine:{icon:s.lineToolsIcons.LineToolSineLine,localizedName:c.lineToolsLocalizedNames.LineToolSineLine},LineToolText:{icon:s.lineToolsIcons.LineToolText,localizedName:c.lineToolsLocalizedNames.LineToolText},LineToolTextAbsolute:{icon:s.lineToolsIcons.LineToolTextAbsolute,localizedName:c.lineToolsLocalizedNames.LineToolTextAbsolute},LineToolThreeDrivers:{icon:s.lineToolsIcons.LineToolThreeDrivers,localizedName:c.lineToolsLocalizedNames.LineToolThreeDrivers},LineToolTimeCycles:{icon:s.lineToolsIcons.LineToolTimeCycles,localizedName:c.lineToolsLocalizedNames.LineToolTimeCycles},LineToolTrendAngle:{icon:s.lineToolsIcons.LineToolTrendAngle,localizedName:c.lineToolsLocalizedNames.LineToolTrendAngle,hotKey:(0,a.hotKeySerialize)(h)},LineToolTrendBasedFibExtension:{icon:s.lineToolsIcons.LineToolTrendBasedFibExtension,localizedName:c.lineToolsLocalizedNames.LineToolTrendBasedFibExtension},LineToolTrendBasedFibTime:{icon:s.lineToolsIcons.LineToolTrendBasedFibTime,localizedName:c.lineToolsLocalizedNames.LineToolTrendBasedFibTime},LineToolTrendLine:{icon:s.lineToolsIcons.LineToolTrendLine,localizedName:c.lineToolsLocalizedNames.LineToolTrendLine,hotKey:(0,a.hotKeySerialize)(h)},LineToolInfoLine:{icon:s.lineToolsIcons.LineToolInfoLine,localizedName:c.lineToolsLocalizedNames.LineToolInfoLine},LineToolTriangle:{icon:s.lineToolsIcons.LineToolTriangle,localizedName:c.lineToolsLocalizedNames.LineToolTriangle},LineToolTrianglePattern:{icon:s.lineToolsIcons.LineToolTrianglePattern,localizedName:c.lineToolsLocalizedNames.LineToolTrianglePattern},LineToolVertLine:{icon:s.lineToolsIcons.LineToolVertLine,localizedName:c.lineToolsLocalizedNames.LineToolVertLine,hotKey:(0,a.hotKeySerialize)({keys:[d,"V"],text:"{0} + {1}"})},LineToolCrossLine:{icon:s.lineToolsIcons.LineToolCrossLine,localizedName:c.lineToolsLocalizedNames.LineToolCrossLine},LineToolHighlighter:{icon:s.lineToolsIcons.LineToolHighlighter,localizedName:c.lineToolsLocalizedNames.LineToolHighlighter},SyncDrawing:{icon:t.drawingToolsIcons.SyncDrawing,iconActive:t.drawingToolsIcons.SyncDrawingActive,localizedName:(0,i.t)("New drawings are replicated to all charts in the layout and shown when the same ticker is selected")},arrow:{icon:t.drawingToolsIcons.arrow,localizedName:(0,i.t)("Arrow")},cursor:{icon:t.drawingToolsIcons.cursor,localizedName:(0,i.t)("Cross")},dot:{icon:t.drawingToolsIcons.dot,localizedName:(0,i.t)("Dot")},drawginmode:{icon:t.drawingToolsIcons.drawginmode,iconActive:t.drawingToolsIcons.drawginmodeActive,localizedName:(0,i.t)("Stay in Drawing Mode")},eraser:{icon:t.drawingToolsIcons.eraser,localizedName:(0,i.t)("Eraser")},group:{icon:t.drawingToolsIcons.group,localizedName:(0,i.t)("Show Hidden Tools")},hideAllDrawings:{icon:t.drawingToolsIcons.hideAllDrawings,iconActive:t.drawingToolsIcons.hideAllDrawingsActive,localizedName:(0,i.t)("Hide All Drawing Tools"),hotKey:(0,a.hotKeySerialize)({keys:[L,d,"H"],text:"{0} + {1} + {2}"})},lockAllDrawings:{icon:t.drawingToolsIcons.lockAllDrawings, +iconActive:t.drawingToolsIcons.lockAllDrawingsActive,localizedName:(0,i.t)("Lock All Drawing Tools")},magnet:{icon:t.drawingToolsIcons.magnet,localizedName:(0,i.t)("Magnet Mode snaps drawings placed near price bars to the closest OHLC value"),hotKey:(0,a.hotKeySerialize)({keys:[L],text:"{0}"})},measure:{icon:t.drawingToolsIcons.measure,localizedName:(0,i.t)("Measure"),hotKey:(0,a.hotKeySerialize)({keys:[T],text:(0,i.t)("{hotKey_0} + Click on the chart")})},removeAllDrawingTools:{icon:t.drawingToolsIcons.removeAllDrawingTools,localizedName:(0,i.t)("Remove Drawings")},showObjectsTree:{icon:t.drawingToolsIcons.showObjectTree,localizedName:(0,i.t)("Show Object Tree")},zoom:{icon:t.drawingToolsIcons.zoom,localizedName:(0,i.t)("Zoom In")},"zoom-out":{icon:t.drawingToolsIcons["zoom-out"],localizedName:(0,i.t)("Zoom Out")}};(0,n.isFeatureEnabled)("remove-line-tool-ghost-feed")||(v.LineToolGhostFeed={icon:s.lineToolsIcons.LineToolGhostFeed,localizedName:c.lineToolsLocalizedNames.LineToolGhostFeed})},2266:(o,e,l)=>{"use strict";l.d(e,{LinetoolsFavoritesStore:()=>n});var i,n,a=l(5729),s=l.n(a),t=l(64222);!function(o){function e(){o.favorites=[];(0,t.getJSON)("chart.favoriteDrawings",[]).forEach(e=>{l(e.tool||e)&&o.favorites.push(e.tool||e)}),o.favoritesSynced.fire()}function l(o){return"string"==typeof o&&""!==o}o.favorites=[],o.favoritesSynced=new(s()),o.favoriteIndex=function(e){return o.favorites.indexOf(e)},o.isValidLineToolName=l,o.saveFavorites=function(e){(0,t.setJSON)("chart.favoriteDrawings",o.favorites,e)},e(),t.onSync.subscribe(null,e)}(i||(i={})),function(o){function e(o){return i.isValidLineToolName(o)}function l(){return i.favorites.length}function n(o){return-1!==i.favoriteIndex(o)}o.favoriteAdded=new(s()),o.favoriteRemoved=new(s()),o.favoriteMoved=new(s()),o.favoritesSynced=i.favoritesSynced,o.favorites=function(){return i.favorites.slice()},o.isValidLineToolName=e,o.favoritesCount=l,o.favorite=function(o){return o<0||o>=l()?"":i.favorites[o]},o.addFavorite=function(l,a){return!(n(l)||!e(l))&&(i.favorites.push(l),i.saveFavorites(a),o.favoriteAdded.fire(l),!0)},o.removeFavorite=function(e,l){const n=i.favoriteIndex(e);return-1!==n&&(i.favorites.splice(n,1),i.saveFavorites(l),o.favoriteRemoved.fire(e),!0)},o.isFavorite=n,o.moveFavorite=function(n,a,s){if(a<0||a>=l()||!e(n))return!1;const t=i.favoriteIndex(n);return-1!==t&&a!==t&&(i.favorites.splice(t,1),i.favorites.splice(a,0,n),i.saveFavorites(s),o.favoriteMoved.fire(n,t,a),!0)}}(n||(n={}))},59726:(o,e,l)=>{"use strict";function i(o,e,l,i,n){function a(n){if(o>n.timeStamp)return;const a=n.target;void 0!==l&&null!==e&&null!==a&&a.ownerDocument===i&&(e.contains(a)||l(n))}return n.click&&i.addEventListener("click",a,!1),n.mouseDown&&i.addEventListener("mousedown",a,!1),n.touchEnd&&i.addEventListener("touchend",a,!1),n.touchStart&&i.addEventListener("touchstart",a,!1),()=>{i.removeEventListener("click",a,!1),i.removeEventListener("mousedown",a,!1),i.removeEventListener("touchend",a,!1),i.removeEventListener("touchstart",a,!1)}}l.d(e,{addOutsideEventListener:()=>i})}, +72923:(o,e,l)=>{"use strict";l.d(e,{DialogBreakpoints:()=>n});var i=l(32455);const n={SmallHeight:i["small-height-breakpoint"],TabletSmall:i["tablet-small-breakpoint"],TabletNormal:i["tablet-normal-breakpoint"]}},65043:(o,e,l)=>{"use strict";l.d(e,{FavoriteButton:()=>d});var i=l(79881),n=l(67294),a=l(94184),s=l(49775),t=l(72579),c=l(23204),r=l(69560);const T={add:(0,i.t)("Add to favorites"),remove:(0,i.t)("Remove from favorites")};function d(o){const{className:e,isFilled:l,isActive:i,onClick:d,...L}=o;return n.createElement(s.Icon,{...L,className:a(r.favorite,"apply-common-tooltip",l&&r.checked,i&&r.active,e),icon:l?t:c,onClick:d,title:l?T.remove:T.add})}},4598:(o,e,l)=>{"use strict";function i(o,e,l={}){const i=Object.assign({},e);for(const n of Object.keys(e)){const a=l[n]||n;a in o&&(i[n]=[o[a],e[n]].join(" "))}return i}function n(o,e,l={}){return Object.assign({},o,i(o,e,l))}l.d(e,{weakComposeClasses:()=>i,mergeThemes:()=>n})},24701:o=>{o.exports=''},57018:o=>{o.exports=''},70626:o=>{o.exports=''},99131:o=>{o.exports=''},87369:o=>{o.exports=''},25922:o=>{ +o.exports=''},56202:o=>{o.exports=''},3911:o=>{o.exports=''},34244:o=>{o.exports=''},29261:o=>{o.exports=''},93029:o=>{ +o.exports=''},66527:o=>{o.exports=''},72254:o=>{o.exports=''},11624:o=>{ +o.exports=''},57837:o=>{o.exports=''},96750:o=>{ +o.exports=''},62618:o=>{o.exports=''},49017:o=>{o.exports=''},77314:o=>{ +o.exports=''},46826:o=>{o.exports=''},35802:o=>{ +o.exports=''},29166:o=>{o.exports=''},48588:o=>{o.exports=''},47642:o=>{o.exports=''},72579:o=>{o.exports=''},23204:o=>{o.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/5383.22c502e2ba80f4b4fc32.js b/public/static/charting_library/bundles/5383.22c502e2ba80f4b4fc32.js new file mode 100644 index 0000000..c82204b --- /dev/null +++ b/public/static/charting_library/bundles/5383.22c502e2ba80f4b4fc32.js @@ -0,0 +1,6 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5383],{5383:function(e,t,n){var r,o,i;e.exports=(r=n(67294),o=n(73935),i=n(1529),function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1));t.default=r.default,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:n.props.includeMargin;if(n.props.shouldMeasure){n._node.parentNode||n._setDOMNode();var t=n.getDimensions(n._node,e),r="function"==typeof n.props.children;n._propsToMeasure.some((function(e){if(t[e]!==n._lastDimensions[e])return n.props.onMeasure(t),r&&void 0!==n&&n.setState({dimensions:t}),n._lastDimensions=t,!0}))}},n.state={dimensions:{width:0,height:0,top:0,right:0,bottom:0,left:0}},n._node=null,n._propsToMeasure=n._getPropsToMeasure(e),n._lastDimensions={},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"componentDidMount",value:function(){var e=this;this._setDOMNode(),this.measure(),this.resizeObserver=new c.default((function(){return e.measure()})),this.resizeObserver.observe(this._node)}},{key:"componentWillReceiveProps",value:function(e){var t=(e.config,e.whitelist),n=e.blacklist;this.props.whitelist===t&&this.props.blacklist===n||(this._propsToMeasure=this._getPropsToMeasure({whitelist:t,blacklist:n}))}},{key:"componentWillUnmount",value:function(){this.resizeObserver.disconnect(this._node),this._node=null}},{key:"_setDOMNode",value:function(){this._node=s.default.findDOMNode(this)}},{key:"getDimensions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._node,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props.includeMargin;return(0,f.default)(e,{margin:t})}},{ +key:"_getPropsToMeasure",value:function(e){var t=e.whitelist,n=e.blacklist;return t.filter((function(e){return n.indexOf(e)<0}))}},{key:"render",value:function(){var e=this.props.children;return i.Children.only("function"==typeof e?e(this.state.dimensions):e)}}]),t}(i.Component);l.propTypes={whitelist:a.default.array,blacklist:a.default.array,includeMargin:a.default.bool,useClone:a.default.bool,cloneOptions:a.default.object,shouldMeasure:a.default.bool,onMeasure:a.default.func},l.defaultProps={whitelist:["width","height","top","right","bottom","left"],blacklist:[],includeMargin:!0,useClone:!1,cloneOptions:{},shouldMeasure:!0,onMeasure:function(){return null}},t.default=l,e.exports=t.default},function(e,t){e.exports=r},function(e,t,n){(function(t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};if("production"!==t.env.NODE_ENV){var o="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n(5)((function(e){return"object"===(void 0===e?"undefined":r(e))&&null!==e&&e.$$typeof===o}),!0)}else e.exports=n(12)()}).call(t,n(4))},function(e,t){"use strict";function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function i(){y&&p&&(y=!1,p.length?d=p.concat(d):h=-1,d.length&&u())}function u(){if(!y){var e=o(i);y=!0;for(var t=d.length;t;){for(p=d,d=[];++h1)for(var n=1;n1?t-1:0),r=1;r2?n-2:0),i=2;i1&&void 0!==arguments[1]?arguments[1]:{},n=e.getBoundingClientRect(),o=void 0,i=void 0,u=void 0;return t.margin&&(u=(0,r.default)(getComputedStyle(e))),t.margin?(o=u.left+n.width+u.right,i=u.top+n.height+u.bottom):(o=n.width,i=n.height),{width:o,height:i,top:n.top,right:n.right,bottom:n.bottom,left:n.left}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(16));e.exports=t.default},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return{top:n((e=e||{}).marginTop),right:n(e.marginRight),bottom:n(e.marginBottom),left:n(e.marginLeft)}};var n=function(e){return parseInt(e)||0};e.exports=t.default}]))}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.css b/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.css new file mode 100644 index 0000000..e11a432 --- /dev/null +++ b/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.css @@ -0,0 +1 @@ +.header-2ibjJG9Z{border-bottom:1px solid #e0e3eb;color:#212121;font-size:14px;font-weight:700;padding:30px 60px 30px 30px;position:relative}html.theme-dark .header-2ibjJG9Z{border-bottom-color:#363a45;color:#c5cbce}@media screen and (max-width:767px){.header-2ibjJG9Z{padding:20px 60px 20px 20px}}.header-2ibjJG9Z .close-2ibjJG9Z{color:#434651;cursor:pointer;opacity:.5;padding:15px;position:absolute;right:15px;top:17px;transition:opacity .35s ease;-webkit-user-select:none;user-select:none}html.theme-dark .header-2ibjJG9Z .close-2ibjJG9Z{color:#d1d4dc}@media screen and (max-width:767px){.header-2ibjJG9Z .close-2ibjJG9Z{right:7px;top:7px}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.header-2ibjJG9Z .close-2ibjJG9Z:hover{opacity:1;transition-duration:.06s}}.header-2ibjJG9Z .close-2ibjJG9Z svg{display:block;height:13px;width:13px}.footer-262p5tSK{padding:0 30px 30px}@media screen and (max-width:767px){.footer-262p5tSK{padding:0 20px 20px}}.body-2IgbkgW8{-webkit-overflow-scrolling:touch;flex-grow:1;overflow:auto;padding:30px}.body-2IgbkgW8::-webkit-scrollbar{height:5px;width:5px}.body-2IgbkgW8::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .body-2IgbkgW8::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.body-2IgbkgW8::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.body-2IgbkgW8::-webkit-scrollbar-corner{display:none}@media screen and (max-width:767px){.body-2IgbkgW8{padding:20px}}.message-2dEP78zc{background:#ebf9f5;color:#37bc9b;font-size:14px;left:0;padding:30px;position:absolute;right:0;text-align:center;top:0;transition:opacity .2625s ease,transform .2625s ease}html.theme-dark .message-2dEP78zc{background:#21384d}.message-2dEP78zc.error-2dEP78zc{background:#ffedf0;color:#f7525f}html.theme-dark .message-2dEP78zc.error-2dEP78zc{background:#6f2626}.popupDialog-3lAYzTZu{max-width:450px}.content-3lAYzTZu .row-3lAYzTZu{display:flex;padding-bottom:12px}.content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu{font-size:13px}.content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu .title-3lAYzTZu{color:#868993}html.theme-dark .content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu .title-3lAYzTZu{color:#787b86}.content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu .value-3lAYzTZu{color:#434651;font-weight:700}html.theme-dark .content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu .value-3lAYzTZu{color:#d1d4dc}.content-3lAYzTZu .row-3lAYzTZu .columnTitle-3lAYzTZu{text-align:left}.content-3lAYzTZu .row-3lAYzTZu .columnValue-3lAYzTZu{margin-left:auto;text-align:right} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.rtl.css b/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.rtl.css new file mode 100644 index 0000000..eb291b4 --- /dev/null +++ b/public/static/charting_library/bundles/5410.21bcd4914bfb1cf880be.rtl.css @@ -0,0 +1 @@ +.header-2ibjJG9Z{border-bottom:1px solid #e0e3eb;color:#212121;font-size:14px;font-weight:700;padding:30px 30px 30px 60px;position:relative}html.theme-dark .header-2ibjJG9Z{border-bottom-color:#363a45;color:#c5cbce}@media screen and (max-width:767px){.header-2ibjJG9Z{padding:20px 20px 20px 60px}}.header-2ibjJG9Z .close-2ibjJG9Z{color:#434651;cursor:pointer;left:15px;opacity:.5;padding:15px;position:absolute;top:17px;transition:opacity .35s ease;-webkit-user-select:none;user-select:none}html.theme-dark .header-2ibjJG9Z .close-2ibjJG9Z{color:#d1d4dc}@media screen and (max-width:767px){.header-2ibjJG9Z .close-2ibjJG9Z{left:7px;top:7px}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.header-2ibjJG9Z .close-2ibjJG9Z:hover{opacity:1;transition-duration:.06s}}.header-2ibjJG9Z .close-2ibjJG9Z svg{display:block;height:13px;width:13px}.footer-262p5tSK{padding:0 30px 30px}@media screen and (max-width:767px){.footer-262p5tSK{padding:0 20px 20px}}.body-2IgbkgW8{-webkit-overflow-scrolling:touch;flex-grow:1;overflow:auto;padding:30px}.body-2IgbkgW8::-webkit-scrollbar{height:5px;width:5px}.body-2IgbkgW8::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .body-2IgbkgW8::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.body-2IgbkgW8::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.body-2IgbkgW8::-webkit-scrollbar-corner{display:none}@media screen and (max-width:767px){.body-2IgbkgW8{padding:20px}}.message-2dEP78zc{background:#ebf9f5;color:#37bc9b;font-size:14px;left:0;padding:30px;position:absolute;right:0;text-align:center;top:0;transition:opacity .2625s ease,transform .2625s ease}html.theme-dark .message-2dEP78zc{background:#21384d}.message-2dEP78zc.error-2dEP78zc{background:#ffedf0;color:#f7525f}html.theme-dark .message-2dEP78zc.error-2dEP78zc{background:#6f2626}.popupDialog-3lAYzTZu{max-width:450px}.content-3lAYzTZu .row-3lAYzTZu{display:flex;padding-bottom:12px}.content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu{font-size:13px}.content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu .title-3lAYzTZu{color:#868993}html.theme-dark .content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu .title-3lAYzTZu{color:#787b86}.content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu .value-3lAYzTZu{color:#434651;font-weight:700}html.theme-dark .content-3lAYzTZu .row-3lAYzTZu .column-3lAYzTZu .value-3lAYzTZu{color:#d1d4dc}.content-3lAYzTZu .row-3lAYzTZu .columnTitle-3lAYzTZu{text-align:right}.content-3lAYzTZu .row-3lAYzTZu .columnValue-3lAYzTZu{margin-right:auto;text-align:left} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.css b/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.css new file mode 100644 index 0000000..3b26a85 --- /dev/null +++ b/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.css @@ -0,0 +1 @@ +.container-113jHcZc{align-items:flex-start;background:#2962ff;border-radius:4px;cursor:default;display:flex;overflow:auto;padding:8px}html.theme-dark .container-113jHcZc{background:#2962ff}.content-113jHcZc{padding:4px 8px}.arrowHolder-113jHcZc{position:absolute}.arrowHolder-113jHcZc:after{border:0 solid #2962ff;box-sizing:border-box;content:"";display:block;height:0;position:absolute;width:0}html.theme-dark .arrowHolder-113jHcZc:after{border-color:#2962ff}.arrowHolder--above-113jHcZc:after,.arrowHolder--below-113jHcZc:after{border-left:6px solid #0000;border-right:6px solid #0000;left:50%;margin-left:-6px}html.theme-dark .arrowHolder--above-113jHcZc:after,html.theme-dark .arrowHolder--below-113jHcZc:after{border-left-color:#0000;border-right-color:#0000}.arrowHolder--below-113jHcZc:after{border-bottom-width:4px;bottom:100%}.arrowHolder--above-113jHcZc:after{border-top-width:4px;top:100%}.arrowHolder--after-113jHcZc:after,.arrowHolder--before-113jHcZc:after{border-bottom:6px solid #0000;border-top:6px solid #0000;margin-top:-6px;top:50%}html.theme-dark .arrowHolder--after-113jHcZc:after,html.theme-dark .arrowHolder--before-113jHcZc:after{border-bottom-color:#0000;border-top-color:#0000}.arrowHolder--before-113jHcZc:after{border-right-width:4px;right:100%}.arrowHolder--after-113jHcZc:after{border-left-width:4px;left:100%}.arrowHolder--above-fix-113jHcZc{bottom:0}.arrowHolder--after-ltr-fix-113jHcZc{right:0}.label-113jHcZc{display:flex;flex:1 1 auto;margin-right:24px}.closeButton-113jHcZc{color:#fff}.container-RnpzRzG6{bottom:70px;display:flex;justify-content:center;left:10px;pointer-events:none;position:absolute;right:10px}.centerElement-RnpzRzG6{pointer-events:auto;z-index:1}.text-RnpzRzG6{word-wrap:break-word;color:#fff;font-size:14px;line-height:21px;margin-bottom:auto} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.rtl.css b/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.rtl.css new file mode 100644 index 0000000..a6f85ee --- /dev/null +++ b/public/static/charting_library/bundles/5453.142c8996edfadb5669ae.rtl.css @@ -0,0 +1 @@ +.container-113jHcZc{align-items:flex-start;background:#2962ff;border-radius:4px;cursor:default;display:flex;overflow:auto;padding:8px}html.theme-dark .container-113jHcZc{background:#2962ff}.content-113jHcZc{padding:4px 8px}.arrowHolder-113jHcZc{position:absolute}.arrowHolder-113jHcZc:after{border:0 solid #2962ff;box-sizing:border-box;content:"";display:block;height:0;position:absolute;width:0}html.theme-dark .arrowHolder-113jHcZc:after{border-color:#2962ff}.arrowHolder--above-113jHcZc:after,.arrowHolder--below-113jHcZc:after{border-left:6px solid #0000;border-right:6px solid #0000;left:50%;margin-left:-6px}html.theme-dark .arrowHolder--above-113jHcZc:after,html.theme-dark .arrowHolder--below-113jHcZc:after{border-left-color:#0000;border-right-color:#0000}.arrowHolder--below-113jHcZc:after{border-bottom-width:4px;bottom:100%}.arrowHolder--above-113jHcZc:after{border-top-width:4px;top:100%}.arrowHolder--after-113jHcZc:after,.arrowHolder--before-113jHcZc:after{border-bottom:6px solid #0000;border-top:6px solid #0000;margin-top:-6px;top:50%}html.theme-dark .arrowHolder--after-113jHcZc:after,html.theme-dark .arrowHolder--before-113jHcZc:after{border-bottom-color:#0000;border-top-color:#0000}.arrowHolder--before-113jHcZc:after{border-right-width:4px;right:100%}.arrowHolder--after-113jHcZc:after{border-left-width:4px;left:100%}.arrowHolder--above-fix-113jHcZc{bottom:0}.arrowHolder--before-rtl-fix-113jHcZc{left:0}.arrowHolder--after-ltr-fix-113jHcZc{right:0}.label-113jHcZc{display:flex;flex:1 1 auto;margin-left:24px}.closeButton-113jHcZc{color:#fff}.container-RnpzRzG6{bottom:70px;display:flex;justify-content:center;left:10px;pointer-events:none;position:absolute;right:10px}.centerElement-RnpzRzG6{pointer-events:auto;z-index:1}.text-RnpzRzG6{word-wrap:break-word;color:#fff;font-size:14px;line-height:21px;margin-bottom:auto} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.css b/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.css new file mode 100644 index 0000000..c69cb9e --- /dev/null +++ b/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.css @@ -0,0 +1 @@ +.errorCard-1ZTLibqo{align-items:center;background:var(--backgroundColor,#fff);color:var(--textColor,#434651);display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}html.theme-dark .errorCard-1ZTLibqo{background:var(--backgroundColor,#131722);color:var(--textColor,#9598a1)}.errorCard__icon-1ZTLibqo{margin-bottom:12px}.errorCard_size_big-1ZTLibqo .errorCard__icon-1ZTLibqo{margin-bottom:21px}.errorCard__message-1ZTLibqo{font-size:14px;line-height:22px;max-width:350px;text-align:center}.errorCard_size_big-1ZTLibqo .errorCard__message-1ZTLibqo{font-size:18px;line-height:28px}.errorCardRendererContainer-1ZTLibqo{--backgroundColor:initial;--textColor:initial;cursor:default;height:100%;position:absolute;width:100%}.errorCardRendererContainer-1ZTLibqo:empty{visibility:hidden} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.rtl.css b/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.rtl.css new file mode 100644 index 0000000..c69cb9e --- /dev/null +++ b/public/static/charting_library/bundles/5527.b19a3c2c68b0d873fe2b.rtl.css @@ -0,0 +1 @@ +.errorCard-1ZTLibqo{align-items:center;background:var(--backgroundColor,#fff);color:var(--textColor,#434651);display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}html.theme-dark .errorCard-1ZTLibqo{background:var(--backgroundColor,#131722);color:var(--textColor,#9598a1)}.errorCard__icon-1ZTLibqo{margin-bottom:12px}.errorCard_size_big-1ZTLibqo .errorCard__icon-1ZTLibqo{margin-bottom:21px}.errorCard__message-1ZTLibqo{font-size:14px;line-height:22px;max-width:350px;text-align:center}.errorCard_size_big-1ZTLibqo .errorCard__message-1ZTLibqo{font-size:18px;line-height:28px}.errorCardRendererContainer-1ZTLibqo{--backgroundColor:initial;--textColor:initial;cursor:default;height:100%;position:absolute;width:100%}.errorCardRendererContainer-1ZTLibqo:empty{visibility:hidden} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5551.407668886ab3145df3b5.css b/public/static/charting_library/bundles/5551.407668886ab3145df3b5.css new file mode 100644 index 0000000..e576d70 --- /dev/null +++ b/public/static/charting_library/bundles/5551.407668886ab3145df3b5.css @@ -0,0 +1 @@ +.separator-3wSrFLTr{border-top:1px solid #e0e3eb}html.theme-dark .separator-3wSrFLTr{border-top:1px solid #434651}.scrollable-3wSrFLTr{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-3wSrFLTr{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-3wSrFLTr{min-height:auto}}.scrollable-3wSrFLTr::-webkit-scrollbar{height:5px;width:5px}.scrollable-3wSrFLTr::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-3wSrFLTr::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-3wSrFLTr::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-3wSrFLTr::-webkit-scrollbar-corner{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5551.407668886ab3145df3b5.rtl.css b/public/static/charting_library/bundles/5551.407668886ab3145df3b5.rtl.css new file mode 100644 index 0000000..e576d70 --- /dev/null +++ b/public/static/charting_library/bundles/5551.407668886ab3145df3b5.rtl.css @@ -0,0 +1 @@ +.separator-3wSrFLTr{border-top:1px solid #e0e3eb}html.theme-dark .separator-3wSrFLTr{border-top:1px solid #434651}.scrollable-3wSrFLTr{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-3wSrFLTr{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-3wSrFLTr{min-height:auto}}.scrollable-3wSrFLTr::-webkit-scrollbar{height:5px;width:5px}.scrollable-3wSrFLTr::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-3wSrFLTr::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-3wSrFLTr::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-3wSrFLTr::-webkit-scrollbar-corner{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.css b/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.css new file mode 100644 index 0000000..a36e8aa --- /dev/null +++ b/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.css @@ -0,0 +1 @@ +.scrollable-2w4-r8AL{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-2w4-r8AL{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-2w4-r8AL{min-height:auto}}.scrollable-2w4-r8AL::-webkit-scrollbar{height:5px;width:5px}.scrollable-2w4-r8AL::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-2w4-r8AL::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-2w4-r8AL::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-2w4-r8AL::-webkit-scrollbar-corner{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.rtl.css b/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.rtl.css new file mode 100644 index 0000000..a36e8aa --- /dev/null +++ b/public/static/charting_library/bundles/5637.a1b98549b1c9f19a01cf.rtl.css @@ -0,0 +1 @@ +.scrollable-2w4-r8AL{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-2w4-r8AL{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-2w4-r8AL{min-height:auto}}.scrollable-2w4-r8AL::-webkit-scrollbar{height:5px;width:5px}.scrollable-2w4-r8AL::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-2w4-r8AL::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-2w4-r8AL::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-2w4-r8AL::-webkit-scrollbar-corner{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.css b/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.css new file mode 100644 index 0000000..ae55445 --- /dev/null +++ b/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.css @@ -0,0 +1 @@ +.container-2sL5JydP{align-items:center;cursor:default;display:flex;flex:0 0 auto;padding:0 20px}.unsetAlign-2sL5JydP{align-items:stretch}.title-2sL5JydP{color:#131722;flex-grow:1;font-size:20px;font-weight:700;line-height:28px;min-width:0;padding:17px 0}html.theme-dark .title-2sL5JydP{color:#b2b5be}@media screen and (max-height:360px){.title-2sL5JydP{padding:10px 0}}.subtitle-2sL5JydP{font-size:16px;font-weight:400;line-height:24px;margin:8px 0 3px}.ellipsis-2sL5JydP{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-2sL5JydP{align-items:center;border-radius:2px;color:#131722;cursor:default;display:flex;flex-shrink:0;height:34px;justify-content:center;margin:17px -3px 17px 0;width:34px}html.theme-dark .close-2sL5JydP{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.close-2sL5JydP:hover{background-color:#f0f3fa}html.theme-dark .close-2sL5JydP:hover{background-color:#2a2e39}}@media screen and (max-height:360px){.close-2sL5JydP{margin-bottom:10px;margin-top:10px}}.dialog-2cMrvu9r{display:block;max-width:550px;min-width:380px;width:auto}@media screen and (max-width:379px){.dialog-2cMrvu9r{min-height:auto;min-width:100%}}.wrapper-2cMrvu9r{display:flex;flex-direction:column;height:100%}.dialog-2cMrvu9r .separator-2cMrvu9r{flex:none;margin:0 0 2px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.rtl.css b/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.rtl.css new file mode 100644 index 0000000..557ee5b --- /dev/null +++ b/public/static/charting_library/bundles/5698.9f7ef23e439b8f550541.rtl.css @@ -0,0 +1 @@ +.container-2sL5JydP{align-items:center;cursor:default;display:flex;flex:0 0 auto;padding:0 20px}.unsetAlign-2sL5JydP{align-items:stretch}.title-2sL5JydP{color:#131722;flex-grow:1;font-size:20px;font-weight:700;line-height:28px;min-width:0;padding:17px 0}html.theme-dark .title-2sL5JydP{color:#b2b5be}@media screen and (max-height:360px){.title-2sL5JydP{padding:10px 0}}.subtitle-2sL5JydP{font-size:16px;font-weight:400;line-height:24px;margin:8px 0 3px}.ellipsis-2sL5JydP{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-2sL5JydP{align-items:center;border-radius:2px;color:#131722;cursor:default;display:flex;flex-shrink:0;height:34px;justify-content:center;margin:17px 0 17px -3px;width:34px}html.theme-dark .close-2sL5JydP{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.close-2sL5JydP:hover{background-color:#f0f3fa}html.theme-dark .close-2sL5JydP:hover{background-color:#2a2e39}}@media screen and (max-height:360px){.close-2sL5JydP{margin-bottom:10px;margin-top:10px}}.dialog-2cMrvu9r{display:block;max-width:550px;min-width:380px;width:auto}@media screen and (max-width:379px){.dialog-2cMrvu9r{min-height:auto;min-width:100%}}.wrapper-2cMrvu9r{display:flex;flex-direction:column;height:100%}.dialog-2cMrvu9r .separator-2cMrvu9r{flex:none;margin:0 0 2px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/587.144039f5c693ee079edb.css b/public/static/charting_library/bundles/587.144039f5c693ee079edb.css new file mode 100644 index 0000000..6c9f03c --- /dev/null +++ b/public/static/charting_library/bundles/587.144039f5c693ee079edb.css @@ -0,0 +1 @@ +.wrap-3obNZqvj{direction:ltr;height:100%;overflow:hidden;position:relative;width:100%}.wrap-3obNZqvj svg{display:block}.wrapWithArrowsOuting-3obNZqvj{margin-left:auto;margin-right:auto;overflow:visible;width:calc(100% - 40px)}.wrapOverflow-3obNZqvj{height:100%;overflow:hidden;width:100%}.scrollWrap-3obNZqvj{-webkit-overflow-scrolling:touch;contain:content;height:100%;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.scrollWrap-3obNZqvj::-webkit-scrollbar{height:5px;width:5px}.scrollWrap-3obNZqvj::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollWrap-3obNZqvj::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollWrap-3obNZqvj::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollWrap-3obNZqvj::-webkit-scrollbar-corner{display:none}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj{margin-bottom:-100px;padding-bottom:100px}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj.sb-scrollbar-wrap{display:none}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj::-webkit-scrollbar{display:none;height:0;width:0}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj::-webkit-scrollbar-thumb,.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj::-webkit-scrollbar-track{display:none}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj::-webkit-scrollbar-corner{display:none}.icon-3obNZqvj{display:block;transition:transform 60ms ease}.scrollLeft-3obNZqvj,.scrollRight-3obNZqvj{align-items:center;background-color:#1e222d99;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden;position:absolute;top:0;transition:background-color .35s ease,transform .11666667s cubic-bezier(.55,.055,.675,.19);width:24px}html.theme-dark .scrollLeft-3obNZqvj,html.theme-dark .scrollRight-3obNZqvj{background-color:#6a6d7899;color:#fff}.scrollLeft-3obNZqvj:active,.scrollRight-3obNZqvj:active{transition:background-color 58.33333ms ease,transform .11666667s cubic-bezier(.215,.61,.355,1)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.scrollLeft-3obNZqvj:hover,.scrollRight-3obNZqvj:hover{transition:background-color 58.33333ms ease,transform .11666667s cubic-bezier(.215,.61,.355,1)}}.scrollLeft-3obNZqvj:active .icon-3obNZqvj,.scrollRight-3obNZqvj:active .icon-3obNZqvj{transform:translateY(1px)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.scrollLeft-3obNZqvj:hover .icon-3obNZqvj,.scrollRight-3obNZqvj:hover .icon-3obNZqvj{transform:translateY(1px)}}.scrollLeft-3obNZqvj.isVisible-3obNZqvj,.scrollRight-3obNZqvj.isVisible-3obNZqvj{transform:translateX(0);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.scrollLeft-3obNZqvj{left:0;transform:translateX(-100%)}.scrollLeft-3obNZqvj .iconWrap-3obNZqvj{transform:rotate(90deg)}.scrollRight-3obNZqvj{right:0;transform:translateX(100%)}.scrollRight-3obNZqvj .iconWrap-3obNZqvj{transform:rotate(-90deg)}.fadeLeft-3obNZqvj,.fadeRight-3obNZqvj{color:#fff0;height:100%;pointer-events:none;position:absolute;top:0;width:50px}html.theme-dark .fadeLeft-3obNZqvj,html.theme-dark .fadeRight-3obNZqvj{color:#13172200}.fadeLeft-3obNZqvj.isVisible-3obNZqvj,.fadeRight-3obNZqvj.isVisible-3obNZqvj{transform:translateX(0);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.fadeLeft-3obNZqvj{background-image:linear-gradient(to left,var(--tv-horizontal-scroll-fade-transparent-color,currentColor),var(--tv-horizontal-scroll-fade-color,#fff));left:-1px;transform:translateX(-100%)}html.theme-dark .fadeLeft-3obNZqvj{background-image:linear-gradient(to left,var(--tv-horizontal-scroll-fade-transparent-color,currentColor),var(--tv-horizontal-scroll-fade-color,#131722))}.fadeRight-3obNZqvj{background-image:linear-gradient(to right,var(--tv-horizontal-scroll-fade-transparent-color,currentColor),var(--tv-horizontal-scroll-fade-color,#fff));right:-1px;transform:translateX(100%)}html.theme-dark .fadeRight-3obNZqvj{background-image:linear-gradient(to right,var(--tv-horizontal-scroll-fade-transparent-color,currentColor),var(--tv-horizontal-scroll-fade-color,#131722))} \ No newline at end of file diff --git a/public/static/charting_library/bundles/587.144039f5c693ee079edb.rtl.css b/public/static/charting_library/bundles/587.144039f5c693ee079edb.rtl.css new file mode 100644 index 0000000..39e0eb4 --- /dev/null +++ b/public/static/charting_library/bundles/587.144039f5c693ee079edb.rtl.css @@ -0,0 +1 @@ +.wrap-3obNZqvj{direction:rtl;height:100%;overflow:hidden;position:relative;width:100%}.wrap-3obNZqvj svg{display:block}.wrapWithArrowsOuting-3obNZqvj{margin-left:auto;margin-right:auto;overflow:visible;width:calc(100% - 40px)}.wrapOverflow-3obNZqvj{height:100%;overflow:hidden;width:100%}.scrollWrap-3obNZqvj{-webkit-overflow-scrolling:touch;contain:content;height:100%;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.scrollWrap-3obNZqvj::-webkit-scrollbar{height:5px;width:5px}.scrollWrap-3obNZqvj::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollWrap-3obNZqvj::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollWrap-3obNZqvj::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollWrap-3obNZqvj::-webkit-scrollbar-corner{display:none}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj{margin-bottom:-100px;padding-bottom:100px}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj.sb-scrollbar-wrap{display:none}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj::-webkit-scrollbar{display:none;height:0;width:0}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj::-webkit-scrollbar-thumb,.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj::-webkit-scrollbar-track{display:none}.scrollWrap-3obNZqvj.noScrollBar-3obNZqvj::-webkit-scrollbar-corner{display:none}.icon-3obNZqvj{display:block;transition:transform 60ms ease}.scrollLeft-3obNZqvj,.scrollRight-3obNZqvj{align-items:center;background-color:#1e222d99;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden;position:absolute;top:0;transition:background-color .35s ease,transform .11666667s cubic-bezier(.55,.055,.675,.19);width:24px}html.theme-dark .scrollLeft-3obNZqvj,html.theme-dark .scrollRight-3obNZqvj{background-color:#6a6d7899;color:#fff}.scrollLeft-3obNZqvj:active,.scrollRight-3obNZqvj:active{transition:background-color 58.33333ms ease,transform .11666667s cubic-bezier(.215,.61,.355,1)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.scrollLeft-3obNZqvj:hover,.scrollRight-3obNZqvj:hover{transition:background-color 58.33333ms ease,transform .11666667s cubic-bezier(.215,.61,.355,1)}}.scrollLeft-3obNZqvj:active .icon-3obNZqvj,.scrollRight-3obNZqvj:active .icon-3obNZqvj{transform:translateY(1px)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.scrollLeft-3obNZqvj:hover .icon-3obNZqvj,.scrollRight-3obNZqvj:hover .icon-3obNZqvj{transform:translateY(1px)}}.scrollLeft-3obNZqvj.isVisible-3obNZqvj,.scrollRight-3obNZqvj.isVisible-3obNZqvj{transform:translateX(0);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.scrollLeft-3obNZqvj{left:0;transform:translateX(-100%)}.scrollLeft-3obNZqvj .iconWrap-3obNZqvj{transform:rotate(90deg)}.scrollRight-3obNZqvj{right:0;transform:translateX(100%)}.scrollRight-3obNZqvj .iconWrap-3obNZqvj{transform:rotate(-90deg)}.fadeLeft-3obNZqvj,.fadeRight-3obNZqvj{color:#fff0;height:100%;pointer-events:none;position:absolute;top:0;width:50px}html.theme-dark .fadeLeft-3obNZqvj,html.theme-dark .fadeRight-3obNZqvj{color:#13172200}.fadeLeft-3obNZqvj.isVisible-3obNZqvj,.fadeRight-3obNZqvj.isVisible-3obNZqvj{transform:translateX(0);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.fadeLeft-3obNZqvj{background-image:linear-gradient(to right,var(--tv-horizontal-scroll-fade-transparent-color,currentColor),var(--tv-horizontal-scroll-fade-color,#fff));right:-1px;transform:translateX(100%)}html.theme-dark .fadeLeft-3obNZqvj{background-image:linear-gradient(to right,var(--tv-horizontal-scroll-fade-transparent-color,currentColor),var(--tv-horizontal-scroll-fade-color,#131722))}.fadeRight-3obNZqvj{background-image:linear-gradient(to left,var(--tv-horizontal-scroll-fade-transparent-color,currentColor),var(--tv-horizontal-scroll-fade-color,#fff));left:-1px;transform:translateX(-100%)}html.theme-dark .fadeRight-3obNZqvj{background-image:linear-gradient(to left,var(--tv-horizontal-scroll-fade-transparent-color,currentColor),var(--tv-horizontal-scroll-fade-color,#131722))} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.css b/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.css new file mode 100644 index 0000000..147a0e3 --- /dev/null +++ b/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.css @@ -0,0 +1 @@ +.title-3eZ-_4gp{color:#787b86;cursor:default;font-size:11px;letter-spacing:.4px;line-height:16px;padding:10px 20px 8px;text-transform:uppercase}.empty-3eZ-_4gp{align-items:center;color:#131722;cursor:default;display:flex;flex-direction:column;font-size:16px;justify-content:center;line-height:24px;margin-bottom:24px}html.theme-dark .empty-3eZ-_4gp{color:#b2b5be}.empty-3eZ-_4gp .image-3eZ-_4gp{height:120px;margin-bottom:8px;width:120px}.contentList-3eZ-_4gp{min-width:100%}@media screen and (min-width:480px){.contentList-3eZ-_4gp{width:380px}}.title-2PJRtZNU{align-items:center;color:#131722;cursor:default;display:flex;flex-shrink:0;font-size:14px;font-weight:700;justify-content:space-between;line-height:24px;overflow:hidden;padding:5px 7px 5px 16px;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .title-2PJRtZNU{color:#b2b5be}.title-2PJRtZNU.withoutIcon-2PJRtZNU{padding:12px 16px}.buttons-2PJRtZNU{align-items:center;border-bottom:1px solid #e0e3eb;display:flex;flex-direction:row;flex-shrink:0;padding:0 8px}html.theme-dark .buttons-2PJRtZNU{border-bottom:1px solid #363a45}.button-2PJRtZNU{flex:none;height:38px;justify-content:center;padding:0;transition:none;width:38px}.button-2PJRtZNU.disabled-2PJRtZNU{opacity:.3}.button-2PJRtZNU.disabled-2PJRtZNU,.button-2PJRtZNU.disabled-2PJRtZNU:active,.button-2PJRtZNU.disabled-2PJRtZNU:before{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2PJRtZNU.disabled-2PJRtZNU:hover{background-color:#fff}}html.theme-dark .button-2PJRtZNU.disabled-2PJRtZNU,html.theme-dark .button-2PJRtZNU.disabled-2PJRtZNU:active,html.theme-dark .button-2PJRtZNU.disabled-2PJRtZNU:before{background-color:#171b29}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2PJRtZNU.disabled-2PJRtZNU:hover{background-color:#171b29}}.wrap-1a1_EyKG{background-color:#fff;position:relative}html.theme-dark .wrap-1a1_EyKG{background-color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-1a1_EyKG:hover{background-color:#f0f3fa}html.theme-dark .wrap-1a1_EyKG:hover{background-color:#2a2e39}}.wrap-1a1_EyKG.selected-1a1_EyKG{background-color:#bbd9fb}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-1a1_EyKG.selected-1a1_EyKG:hover{background-color:#bbd9fb}}html.theme-dark .wrap-1a1_EyKG.selected-1a1_EyKG{background-color:#142e61}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrap-1a1_EyKG.selected-1a1_EyKG:hover{background-color:#142e61}}.wrap-1a1_EyKG.childOfSelected-1a1_EyKG{background-color:#e3effd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-1a1_EyKG.childOfSelected-1a1_EyKG:hover{background-color:#e3effd}}html.theme-dark .wrap-1a1_EyKG.childOfSelected-1a1_EyKG{background-color:#132042}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrap-1a1_EyKG.childOfSelected-1a1_EyKG:hover{background-color:#132042}.wrap-1a1_EyKG.disabled-1a1_EyKG:hover{background-color:#fff}html.theme-dark .wrap-1a1_EyKG.disabled-1a1_EyKG:hover{background-color:#171b29}}.wrap-1a1_EyKG .expandHandle-1a1_EyKG{align-items:center;display:flex;height:100%;left:4px;position:absolute}.wrap-1a1_EyKG .expandHandle-1a1_EyKG.expanded-1a1_EyKG{transform:rotate(90deg)}.dropTargetInside-3UxYcxls{pointer-events:none}.dropTargetInside-3UxYcxls,html.theme-dark .dropTargetInside-3UxYcxls{box-shadow:inset 0 0 0 2px #2962ff}.dropTarget-3UxYcxls{height:2px;pointer-events:none;position:absolute;width:100%;z-index:2}.dropTarget-3UxYcxls,html.theme-dark .dropTarget-3UxYcxls{background-color:#2962ff}.dropTarget-3UxYcxls.before-3UxYcxls{top:-1px}.dropTarget-3UxYcxls.after-3UxYcxls{bottom:-1px}.dropTarget-3UxYcxls:before{background:#fff;border:2px solid #2962ff;border-radius:5px;bottom:-4px;content:"";height:6px;left:0;position:absolute;width:6px}html.theme-dark .dropTarget-3UxYcxls:before{background:#2a2e39;border:2px solid #2962ff}.separator-3U2Wf-wc{background-color:#e0e3eb;flex:none;height:1px;margin:6px 0}html.theme-dark .separator-3U2Wf-wc{background-color:#434651}.tree-3U2Wf-wc{cursor:default;height:100%;overflow:hidden;position:relative;z-index:0}.tree-3U2Wf-wc .overlayScrollWrap-3U2Wf-wc{bottom:0;left:0;right:0;top:0;z-index:1}.listContainer-3U2Wf-wc{scrollbar-width:none}.listContainer-3U2Wf-wc.sb-scrollbar-wrap{display:none}.listContainer-3U2Wf-wc::-webkit-scrollbar{display:none;height:0;width:0}.listContainer-3U2Wf-wc::-webkit-scrollbar-thumb,.listContainer-3U2Wf-wc::-webkit-scrollbar-track{display:none}.listContainer-3U2Wf-wc::-webkit-scrollbar-corner{display:none}.wrap-3jZ5H2Ul{display:flex;flex-direction:column;height:100%;touch-action:manipulation}.wrap-3jZ5H2Ul .space-3jZ5H2Ul{display:flex;flex:1 1 auto;flex-direction:column;height:0}.wrap-3jZ5H2Ul .tree-3jZ5H2Ul{overflow-y:auto}.button-2zRC9WmY{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.button-2zRC9WmY:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2zRC9WmY:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .button-2zRC9WmY:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2zRC9WmY:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .button-2zRC9WmY:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2zRC9WmY:hover{color:#b2b5be}}.button-2zRC9WmY.disabled-2zRC9WmY,.button-2zRC9WmY.disabled-2zRC9WmY:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2zRC9WmY.disabled-2zRC9WmY:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .button-2zRC9WmY.disabled-2zRC9WmY,html.theme-dark .button-2zRC9WmY.disabled-2zRC9WmY:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2zRC9WmY.disabled-2zRC9WmY:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.wrap-3Onbn19L{align-items:center;background-color:inherit;display:flex;flex:none;padding:5px 8px 5px 22px}.wrap-3Onbn19L.dialog-3Onbn19L{background-color:#fff}html.theme-dark .wrap-3Onbn19L.dialog-3Onbn19L{background-color:#1e222d}.wrap-3Onbn19L.offset-3Onbn19L{padding-left:48px}.wrap-3Onbn19L .title-3Onbn19L{color:#131722;margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .wrap-3Onbn19L .title-3Onbn19L{color:#b2b5be}.wrap-3Onbn19L .title-3Onbn19L.main-3Onbn19L{font-weight:700}.wrap-3Onbn19L .title-3Onbn19L.disabled-3Onbn19L{color:#b2b5be}html.theme-dark .wrap-3Onbn19L .title-3Onbn19L.disabled-3Onbn19L{color:#50535e}.wrap-3Onbn19L .icon-3Onbn19L{color:#131722;height:28px;line-height:28px;width:28px}html.theme-dark .wrap-3Onbn19L .icon-3Onbn19L{color:#b2b5be}.wrap-3Onbn19L .textIcon-3Onbn19L{font-family:FontAwesome;font-size:16px;text-align:center}.wrap-3Onbn19L .syncIconWrap-3Onbn19L{background-color:inherit;height:28px;position:relative;width:0}.wrap-3Onbn19L .syncIcon-3Onbn19L{align-items:flex-end;background-color:inherit;border-radius:4px;bottom:0;color:#787b86;display:flex;height:14px;justify-content:flex-end;overflow:hidden;position:absolute;right:0;width:14px}.wrap-3Onbn19L .rightButtons-3Onbn19L{display:flex;flex:none;height:22px;margin-left:auto;position:relative}.wrap-3Onbn19L.hover-3Onbn19L{background-color:#f0f3fa}html.theme-dark .wrap-3Onbn19L.hover-3Onbn19L{background-color:#2a2e39}.wrap-3Onbn19L.disabled-3Onbn19L{--tv-list-item-button-background-hover-color:#f0f3fa}html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L{--tv-list-item-button-background-hover-color:#2a2e39}.wrap-3Onbn19L.disabled-3Onbn19L .button-3Onbn19L,.wrap-3Onbn19L.disabled-3Onbn19L .expandHandle-3Onbn19L,.wrap-3Onbn19L.disabled-3Onbn19L .icon-3Onbn19L,.wrap-3Onbn19L.disabled-3Onbn19L .syncIcon-3Onbn19L,.wrap-3Onbn19L.disabled-3Onbn19L .title-3Onbn19L{color:#b2b5be}html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .button-3Onbn19L,html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .expandHandle-3Onbn19L,html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .icon-3Onbn19L,html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .syncIcon-3Onbn19L,html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .title-3Onbn19L{color:#50535e}.wrap-3Onbn19L.selected-3Onbn19L .rightButtons-3Onbn19L .button-3Onbn19L{--tv-list-item-button-background-hover-color:#90bff9}html.theme-dark .wrap-3Onbn19L.selected-3Onbn19L .rightButtons-3Onbn19L .button-3Onbn19L{--tv-list-item-button-background-hover-color:#143a87}.wrap-3Onbn19L.childOfSelected-3Onbn19L .rightButtons-3Onbn19L .button-3Onbn19L{--tv-list-item-button-background-hover-color:#bbd9fb}html.theme-dark .wrap-3Onbn19L.childOfSelected-3Onbn19L .rightButtons-3Onbn19L .button-3Onbn19L{--tv-list-item-button-background-hover-color:#142e61}.wrap-3Onbn19L .renameInput-3Onbn19L{background-color:#fff;height:28px;margin-left:3px;width:100%}html.theme-dark .wrap-3Onbn19L .renameInput-3Onbn19L{background-color:#2a2e39}.wrap-3Onbn19L .renameInput-3Onbn19L[draggable=true]{-webkit-user-select:text;user-select:text}.button-3Onbn19L{--tv-list-item-button-background-hover-color:#e0e3eb;display:none;margin-left:8px;visibility:hidden}html.theme-dark .button-3Onbn19L{--tv-list-item-button-background-hover-color:#363a45}.button-3Onbn19L.warn-3Onbn19L,.button-3Onbn19L.warn-3Onbn19L:active,html.theme-dark .button-3Onbn19L.warn-3Onbn19L{color:#fb8c00}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3Onbn19L.warn-3Onbn19L:hover{color:#fb8c00}}html.theme-dark .button-3Onbn19L.warn-3Onbn19L:active{color:#fb8c00}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3Onbn19L.warn-3Onbn19L:hover{color:#fb8c00}}.button-3Onbn19L.visible-3Onbn19L{display:inline-flex;visibility:visible}.button-3Onbn19L.visible-3Onbn19L~.button-3Onbn19L{display:inline-flex}.dialog-3q1-PXu-{height:400px}.button-3q1-PXu-{align-items:center;border-radius:2px;color:#131722;display:flex;height:34px;justify-content:center;width:34px}html.theme-dark .button-3q1-PXu-{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3q1-PXu-:hover{background-color:#f0f3fa}html.theme-dark .button-3q1-PXu-:hover{background-color:#2a2e39}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.rtl.css b/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.rtl.css new file mode 100644 index 0000000..5dcf8b1 --- /dev/null +++ b/public/static/charting_library/bundles/5984.fce1e6b0306b3072be07.rtl.css @@ -0,0 +1 @@ +.title-3eZ-_4gp{color:#787b86;cursor:default;font-size:11px;letter-spacing:.4px;line-height:16px;padding:10px 20px 8px;text-transform:uppercase}.empty-3eZ-_4gp{align-items:center;color:#131722;cursor:default;display:flex;flex-direction:column;font-size:16px;justify-content:center;line-height:24px;margin-bottom:24px}html.theme-dark .empty-3eZ-_4gp{color:#b2b5be}.empty-3eZ-_4gp .image-3eZ-_4gp{height:120px;margin-bottom:8px;width:120px}.contentList-3eZ-_4gp{min-width:100%}@media screen and (min-width:480px){.contentList-3eZ-_4gp{width:380px}}.title-2PJRtZNU{align-items:center;color:#131722;cursor:default;display:flex;flex-shrink:0;font-size:14px;font-weight:700;justify-content:space-between;line-height:24px;overflow:hidden;padding:5px 16px 5px 7px;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .title-2PJRtZNU{color:#b2b5be}.title-2PJRtZNU.withoutIcon-2PJRtZNU{padding:12px 16px}.buttons-2PJRtZNU{align-items:center;border-bottom:1px solid #e0e3eb;display:flex;flex-direction:row;flex-shrink:0;padding:0 8px}html.theme-dark .buttons-2PJRtZNU{border-bottom:1px solid #363a45}.button-2PJRtZNU{flex:none;height:38px;justify-content:center;padding:0;transition:none;width:38px}.button-2PJRtZNU.disabled-2PJRtZNU{opacity:.3}.button-2PJRtZNU.disabled-2PJRtZNU,.button-2PJRtZNU.disabled-2PJRtZNU:active,.button-2PJRtZNU.disabled-2PJRtZNU:before{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2PJRtZNU.disabled-2PJRtZNU:hover{background-color:#fff}}html.theme-dark .button-2PJRtZNU.disabled-2PJRtZNU,html.theme-dark .button-2PJRtZNU.disabled-2PJRtZNU:active,html.theme-dark .button-2PJRtZNU.disabled-2PJRtZNU:before{background-color:#171b29}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2PJRtZNU.disabled-2PJRtZNU:hover{background-color:#171b29}}.wrap-1a1_EyKG{background-color:#fff;position:relative}html.theme-dark .wrap-1a1_EyKG{background-color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-1a1_EyKG:hover{background-color:#f0f3fa}html.theme-dark .wrap-1a1_EyKG:hover{background-color:#2a2e39}}.wrap-1a1_EyKG.selected-1a1_EyKG{background-color:#bbd9fb}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-1a1_EyKG.selected-1a1_EyKG:hover{background-color:#bbd9fb}}html.theme-dark .wrap-1a1_EyKG.selected-1a1_EyKG{background-color:#142e61}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrap-1a1_EyKG.selected-1a1_EyKG:hover{background-color:#142e61}}.wrap-1a1_EyKG.childOfSelected-1a1_EyKG{background-color:#e3effd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-1a1_EyKG.childOfSelected-1a1_EyKG:hover{background-color:#e3effd}}html.theme-dark .wrap-1a1_EyKG.childOfSelected-1a1_EyKG{background-color:#132042}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrap-1a1_EyKG.childOfSelected-1a1_EyKG:hover{background-color:#132042}.wrap-1a1_EyKG.disabled-1a1_EyKG:hover{background-color:#fff}html.theme-dark .wrap-1a1_EyKG.disabled-1a1_EyKG:hover{background-color:#171b29}}.wrap-1a1_EyKG .expandHandle-1a1_EyKG{align-items:center;display:flex;height:100%;position:absolute;right:4px}.wrap-1a1_EyKG .expandHandle-1a1_EyKG.expanded-1a1_EyKG{transform:rotate(-90deg)}.dropTargetInside-3UxYcxls{pointer-events:none}.dropTargetInside-3UxYcxls,html.theme-dark .dropTargetInside-3UxYcxls{box-shadow:inset 0 0 0 2px #2962ff}.dropTarget-3UxYcxls{height:2px;pointer-events:none;position:absolute;width:100%;z-index:2}.dropTarget-3UxYcxls,html.theme-dark .dropTarget-3UxYcxls{background-color:#2962ff}.dropTarget-3UxYcxls.before-3UxYcxls{top:-1px}.dropTarget-3UxYcxls.after-3UxYcxls{bottom:-1px}.dropTarget-3UxYcxls:before{background:#fff;border:2px solid #2962ff;border-radius:5px;bottom:-4px;content:"";height:6px;position:absolute;right:0;width:6px}html.theme-dark .dropTarget-3UxYcxls:before{background:#2a2e39;border:2px solid #2962ff}.separator-3U2Wf-wc{background-color:#e0e3eb;flex:none;height:1px;margin:6px 0}html.theme-dark .separator-3U2Wf-wc{background-color:#434651}.tree-3U2Wf-wc{cursor:default;height:100%;overflow:hidden;position:relative;z-index:0}.tree-3U2Wf-wc .overlayScrollWrap-3U2Wf-wc{bottom:0;left:0;right:0;top:0;z-index:1}.listContainer-3U2Wf-wc{scrollbar-width:none}.listContainer-3U2Wf-wc.sb-scrollbar-wrap{display:none}.listContainer-3U2Wf-wc::-webkit-scrollbar{display:none;height:0;width:0}.listContainer-3U2Wf-wc::-webkit-scrollbar-thumb,.listContainer-3U2Wf-wc::-webkit-scrollbar-track{display:none}.listContainer-3U2Wf-wc::-webkit-scrollbar-corner{display:none}.wrap-3jZ5H2Ul{display:flex;flex-direction:column;height:100%;touch-action:manipulation}.wrap-3jZ5H2Ul .space-3jZ5H2Ul{display:flex;flex:1 1 auto;flex-direction:column;height:0}.wrap-3jZ5H2Ul .tree-3jZ5H2Ul{overflow-y:auto}.button-2zRC9WmY{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.button-2zRC9WmY:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2zRC9WmY:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .button-2zRC9WmY:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2zRC9WmY:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .button-2zRC9WmY:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2zRC9WmY:hover{color:#b2b5be}}.button-2zRC9WmY.disabled-2zRC9WmY,.button-2zRC9WmY.disabled-2zRC9WmY:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2zRC9WmY.disabled-2zRC9WmY:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .button-2zRC9WmY.disabled-2zRC9WmY,html.theme-dark .button-2zRC9WmY.disabled-2zRC9WmY:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2zRC9WmY.disabled-2zRC9WmY:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.wrap-3Onbn19L{align-items:center;background-color:inherit;display:flex;flex:none;padding:5px 22px 5px 8px}.wrap-3Onbn19L.dialog-3Onbn19L{background-color:#fff}html.theme-dark .wrap-3Onbn19L.dialog-3Onbn19L{background-color:#1e222d}.wrap-3Onbn19L.offset-3Onbn19L{padding-right:48px}.wrap-3Onbn19L .title-3Onbn19L{color:#131722;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .wrap-3Onbn19L .title-3Onbn19L{color:#b2b5be}.wrap-3Onbn19L .title-3Onbn19L.main-3Onbn19L{font-weight:700}.wrap-3Onbn19L .title-3Onbn19L.disabled-3Onbn19L{color:#b2b5be}html.theme-dark .wrap-3Onbn19L .title-3Onbn19L.disabled-3Onbn19L{color:#50535e}.wrap-3Onbn19L .icon-3Onbn19L{color:#131722;height:28px;line-height:28px;width:28px}html.theme-dark .wrap-3Onbn19L .icon-3Onbn19L{color:#b2b5be}.wrap-3Onbn19L .textIcon-3Onbn19L{font-family:FontAwesome;font-size:16px;text-align:center}.wrap-3Onbn19L .syncIconWrap-3Onbn19L{background-color:inherit;height:28px;position:relative;width:0}.wrap-3Onbn19L .syncIcon-3Onbn19L{align-items:flex-end;background-color:inherit;border-radius:4px;bottom:0;color:#787b86;display:flex;height:14px;justify-content:flex-end;left:0;left:14px;overflow:hidden;position:absolute;width:14px}.wrap-3Onbn19L .rightButtons-3Onbn19L{display:flex;flex:none;height:22px;margin-right:auto;position:relative}.wrap-3Onbn19L.hover-3Onbn19L{background-color:#f0f3fa}html.theme-dark .wrap-3Onbn19L.hover-3Onbn19L{background-color:#2a2e39}.wrap-3Onbn19L.disabled-3Onbn19L{--tv-list-item-button-background-hover-color:#f0f3fa}html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L{--tv-list-item-button-background-hover-color:#2a2e39}.wrap-3Onbn19L.disabled-3Onbn19L .button-3Onbn19L,.wrap-3Onbn19L.disabled-3Onbn19L .expandHandle-3Onbn19L,.wrap-3Onbn19L.disabled-3Onbn19L .icon-3Onbn19L,.wrap-3Onbn19L.disabled-3Onbn19L .syncIcon-3Onbn19L,.wrap-3Onbn19L.disabled-3Onbn19L .title-3Onbn19L{color:#b2b5be}html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .button-3Onbn19L,html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .expandHandle-3Onbn19L,html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .icon-3Onbn19L,html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .syncIcon-3Onbn19L,html.theme-dark .wrap-3Onbn19L.disabled-3Onbn19L .title-3Onbn19L{color:#50535e}.wrap-3Onbn19L.selected-3Onbn19L .rightButtons-3Onbn19L .button-3Onbn19L{--tv-list-item-button-background-hover-color:#90bff9}html.theme-dark .wrap-3Onbn19L.selected-3Onbn19L .rightButtons-3Onbn19L .button-3Onbn19L{--tv-list-item-button-background-hover-color:#143a87}.wrap-3Onbn19L.childOfSelected-3Onbn19L .rightButtons-3Onbn19L .button-3Onbn19L{--tv-list-item-button-background-hover-color:#bbd9fb}html.theme-dark .wrap-3Onbn19L.childOfSelected-3Onbn19L .rightButtons-3Onbn19L .button-3Onbn19L{--tv-list-item-button-background-hover-color:#142e61}.wrap-3Onbn19L .renameInput-3Onbn19L{background-color:#fff;height:28px;margin-right:3px;width:100%}html.theme-dark .wrap-3Onbn19L .renameInput-3Onbn19L{background-color:#2a2e39}.wrap-3Onbn19L .renameInput-3Onbn19L[draggable=true]{-webkit-user-select:text;user-select:text}.button-3Onbn19L{--tv-list-item-button-background-hover-color:#e0e3eb;display:none;margin-right:8px;visibility:hidden}html.theme-dark .button-3Onbn19L{--tv-list-item-button-background-hover-color:#363a45}.button-3Onbn19L.warn-3Onbn19L,.button-3Onbn19L.warn-3Onbn19L:active,html.theme-dark .button-3Onbn19L.warn-3Onbn19L{color:#fb8c00}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3Onbn19L.warn-3Onbn19L:hover{color:#fb8c00}}html.theme-dark .button-3Onbn19L.warn-3Onbn19L:active{color:#fb8c00}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3Onbn19L.warn-3Onbn19L:hover{color:#fb8c00}}.button-3Onbn19L.visible-3Onbn19L{display:inline-flex;visibility:visible}.button-3Onbn19L.visible-3Onbn19L~.button-3Onbn19L{display:inline-flex}.dialog-3q1-PXu-{height:400px}.button-3q1-PXu-{align-items:center;border-radius:2px;color:#131722;display:flex;height:34px;justify-content:center;width:34px}html.theme-dark .button-3q1-PXu-{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3q1-PXu-:hover{background-color:#f0f3fa}html.theme-dark .button-3q1-PXu-:hover{background-color:#2a2e39}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.css b/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.css new file mode 100644 index 0000000..8b67029 --- /dev/null +++ b/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.css @@ -0,0 +1 @@ +.wrap-379NmUSU{direction:ltr;height:100%;overflow:hidden;position:relative;width:100%}.wrap-379NmUSU svg{display:block}.scrollWrap-379NmUSU{-webkit-overflow-scrolling:touch;display:flex;flex:0 0 auto;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.scrollWrap-379NmUSU::-webkit-scrollbar{height:5px;width:5px}.scrollWrap-379NmUSU::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollWrap-379NmUSU::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollWrap-379NmUSU::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollWrap-379NmUSU::-webkit-scrollbar-corner{display:none}.scrollWrap-379NmUSU.noScrollBar-379NmUSU{padding-right:100px}.scrollWrap-379NmUSU.noScrollBar-379NmUSU.sb-scrollbar-wrap{display:none}.scrollWrap-379NmUSU.noScrollBar-379NmUSU::-webkit-scrollbar{display:none;height:0;width:0}.scrollWrap-379NmUSU.noScrollBar-379NmUSU::-webkit-scrollbar-thumb,.scrollWrap-379NmUSU.noScrollBar-379NmUSU::-webkit-scrollbar-track{display:none}.scrollWrap-379NmUSU.noScrollBar-379NmUSU::-webkit-scrollbar-corner{display:none}.content-379NmUSU{display:flex;flex:1 0 auto;flex-direction:column;position:relative}.icon-379NmUSU{display:block;transition:transform 60ms ease}.scrollBot-379NmUSU,.scrollTop-379NmUSU{align-items:center;background-color:#1e222d99;color:#fff;display:flex;height:24px;justify-content:center;left:0;overflow:hidden;position:absolute;transition:background-color .35s ease,transform .11666667s cubic-bezier(.55,.055,.675,.19);width:100%}html.theme-dark .scrollBot-379NmUSU,html.theme-dark .scrollTop-379NmUSU{background-color:#6a6d7899;color:#fff}.scrollBot-379NmUSU:active,.scrollTop-379NmUSU:active{transition:background-color 58.33333ms ease,transform .11666667s cubic-bezier(.215,.61,.355,1)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.scrollBot-379NmUSU:hover,.scrollTop-379NmUSU:hover{transition:background-color 58.33333ms ease,transform .11666667s cubic-bezier(.215,.61,.355,1)}}.scrollBot-379NmUSU:active .icon-379NmUSU,.scrollTop-379NmUSU:active .icon-379NmUSU{transform:translateY(1px)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.scrollBot-379NmUSU:hover .icon-379NmUSU,.scrollTop-379NmUSU:hover .icon-379NmUSU{transform:translateY(1px)}}.scrollBot-379NmUSU.isVisible-379NmUSU,.scrollTop-379NmUSU.isVisible-379NmUSU{transform:translateY(0);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.scrollTop-379NmUSU{top:0;transform:translateY(-100%)}.scrollTop-379NmUSU .iconWrap-379NmUSU{transform:rotate(180deg)}.scrollBot-379NmUSU{bottom:0;transform:translateY(100%)}.fadeBot-379NmUSU,.fadeTop-379NmUSU{height:24px;left:0;pointer-events:none;position:absolute;width:100%}.fadeBot-379NmUSU.isVisible-379NmUSU,.fadeTop-379NmUSU.isVisible-379NmUSU{transform:translateY(0);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.fadeTop-379NmUSU{background-image:linear-gradient(0deg,#fff0,#fff);top:0;transform:translateY(-100%)}html.theme-dark .fadeTop-379NmUSU{background-image:linear-gradient(0deg,#13172200,#131722)}.fadeBot-379NmUSU{background-image:linear-gradient(180deg,#fff0,#fff);bottom:0;transform:translateY(100%)}html.theme-dark .fadeBot-379NmUSU{background-image:linear-gradient(180deg,#13172200,#131722)}.dropdown-191zO2Od{position:relative}.buttonWrap-191zO2Od{transform:translateX(0)}.control-191zO2Od{box-sizing:border-box;overflow:hidden;position:relative;touch-action:manipulation;width:52px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-191zO2Od:hover .arrow-191zO2Od{opacity:1}}.arrow-191zO2Od{align-items:center;border-radius:4px 0 0 4px;bottom:1px;box-sizing:border-box;color:#131722;cursor:default;display:flex;justify-content:center;opacity:0;overflow:hidden;position:absolute;right:0;top:1px;width:11px}html.theme-dark .arrow-191zO2Od{color:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.arrow-191zO2Od:hover{color:#000}html.theme-dark .arrow-191zO2Od:hover{color:#868993}}.arrow-191zO2Od .arrowIcon-191zO2Od,.arrow-191zO2Od .arrowIcon-191zO2Od svg{transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}.arrow-191zO2Od .arrowIcon-191zO2Od svg{fill:currentColor;display:block;height:7px;width:4px}.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od{transform:translateX(0)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-191zO2Od:hover .arrow-191zO2Od{transform:translateX(0)}}.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-191zO2Od:hover .arrow-191zO2Od.hover-191zO2Od,.control-191zO2Od:hover .arrow-191zO2Od:hover,.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od:hover,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od:hover{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa)}}html.theme-dark .feature-mobiletouch .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od,html.theme-dark .isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .control-191zO2Od:hover .arrow-191zO2Od.hover-191zO2Od,html.theme-dark .control-191zO2Od:hover .arrow-191zO2Od:hover,html.theme-dark .feature-mobiletouch .control-191zO2Od .arrow-191zO2Od:hover,html.theme-dark .isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od:hover{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od svg,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od svg{transform:translateX(1px)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-191zO2Od:hover .arrow-191zO2Od.hover-191zO2Od svg,.control-191zO2Od:hover .arrow-191zO2Od:hover svg,.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od:hover svg,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od:hover svg{transform:translateX(1px)}}.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);opacity:1}html.theme-dark .isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od .arrowIcon-191zO2Od{transform:rotate(180deg)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od:hover svg{transform:translateX(-1px)}}.feature-mobiletouch .isGrayed-191zO2Od .control-191zO2Od .buttonWrap-191zO2Od{transform:translateX(0)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.isGrayed-191zO2Od .control-191zO2Od:hover .buttonWrap-191zO2Od{transform:translateX(0)}}.wrap-2qy9YC6D{box-sizing:border-box;display:flex;flex-wrap:wrap;padding:0 5px;width:390px}.wrap-2qy9YC6D.smallTablet-2qy9YC6D{padding:0 16px;width:100%}.buttonIcon-2qy9YC6D,.item-2qy9YC6D{font-family:FontAwesome;font-size:19px}.item-2qy9YC6D{align-items:center;color:#131722;cursor:pointer;display:flex;height:38px;justify-content:center;text-align:center;width:38px}html.theme-dark .item-2qy9YC6D{color:#b2b5be}.item-2qy9YC6D.smallTablet-2qy9YC6D{margin-bottom:6px;margin-right:8px}.item-2qy9YC6D.hovered-2qy9YC6D,.item-2qy9YC6D:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2qy9YC6D:hover{color:#131722}}html.theme-dark .item-2qy9YC6D.hovered-2qy9YC6D,html.theme-dark .item-2qy9YC6D:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2qy9YC6D:hover{color:#c1c4cd}}.active-2qy9YC6D{border-radius:6px;color:#fff}.active-2qy9YC6D,html.theme-dark .active-2qy9YC6D{background-color:#2962ff}html.theme-dark .active-2qy9YC6D{color:#d1d4dc}.title-2qy9YC6D{color:#787b86;font-size:11px;font-style:normal;font-weight:400;letter-spacing:.4px;line-height:16px;padding:10px 0 8px 20px;text-transform:uppercase}html.theme-dark .title-2qy9YC6D{color:#787b86}.separator-2qy9YC6D{margin-top:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2qy9YC6D:hover .buttonIcon-2qy9YC6D{transition-duration:60ms}}.item-3NgvBqLJ{font-size:16px;padding-bottom:6px;padding-top:10px;white-space:normal}.item-3NgvBqLJ:before{content:none}.label-3NgvBqLJ{line-height:24px;overflow:visible}.container-3CL4Geq2{display:block;transition:fill 60ms ease,stroke 60ms ease}.container-3CL4Geq2.mirror-3CL4Geq2{transform:rotate(180deg)}.container-3CL4Geq2 .background-3CL4Geq2{fill:var(--tv-color-pane-background,#fff);stroke:var(--tv-color-platform-background,#e0e3eb)}html.theme-dark .container-3CL4Geq2 .background-3CL4Geq2{stroke:var(--tv-color-platform-background,#2a2e39);fill:var(--tv-color-pane-background,#131722)}.container-3CL4Geq2 .arrow-3CL4Geq2,html.theme-dark .container-3CL4Geq2 .arrow-3CL4Geq2{stroke:#9db2bd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-3CL4Geq2:hover .background-3CL4Geq2{fill:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.container-3CL4Geq2:hover .background-3CL4Geq2,html.theme-dark .container-3CL4Geq2:hover .background-3CL4Geq2{stroke:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}html.theme-dark .container-3CL4Geq2:hover .background-3CL4Geq2{fill:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.container-3CL4Geq2:hover .arrow-3CL4Geq2{stroke:var(--tv-color-pane-background,#fff)}html.theme-dark .container-3CL4Geq2:hover .arrow-3CL4Geq2{stroke:var(--tv-color-pane-background,#131722)}}.toggleButton-3zv4iS2j{bottom:58px;left:100%;margin-left:-6px;position:absolute;z-index:10}.toggleButton-3zv4iS2j.collapsed-3zv4iS2j{left:0;margin-left:0}.toggleButton-3zv4iS2j .background-3zv4iS2j{fill:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.toggleButton-3zv4iS2j .background-3zv4iS2j,html.theme-dark .toggleButton-3zv4iS2j .background-3zv4iS2j{stroke:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}html.theme-dark .toggleButton-3zv4iS2j .background-3zv4iS2j{fill:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.toggleButton-3zv4iS2j .arrow-3zv4iS2j{stroke:var(--tv-color-pane-background,#fff)}html.theme-dark .toggleButton-3zv4iS2j .arrow-3zv4iS2j{stroke:var(--tv-color-pane-background,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.toggleButton-3zv4iS2j:hover .background-3zv4iS2j{fill:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}.toggleButton-3zv4iS2j:hover .background-3zv4iS2j,html.theme-dark .toggleButton-3zv4iS2j:hover .background-3zv4iS2j{stroke:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}html.theme-dark .toggleButton-3zv4iS2j:hover .background-3zv4iS2j{fill:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}}.drawingToolbar-2_so5thS{background-color:var(--tv-color-pane-background,#fff);height:100%;position:relative;-webkit-user-select:none;user-select:none}html.theme-dark .drawingToolbar-2_so5thS{background-color:var(--tv-color-pane-background,#131722)}.drawingToolbar-2_so5thS.isHidden-2_so5thS,html.theme-dark .drawingToolbar-2_so5thS.isHidden-2_so5thS{background-color:initial}.drawingToolbar-2_so5thS.isHidden-2_so5thS .inner-2_so5thS{display:none}.popupMenuItem-2_so5thS{font-size:16px}.inner-2_so5thS{background-color:var(--tv-color-platform-background,#e0e3eb);display:flex;flex:1 0 auto;flex-direction:column;width:52px}html.theme-dark .inner-2_so5thS{background-color:var(--tv-color-platform-background,#2a2e39)}.group-2_so5thS{background-color:var(--tv-color-pane-background,#fff);border-bottom-right-radius:2px;border-top-right-radius:2px;padding:6px 0}html.theme-dark .group-2_so5thS{background-color:var(--tv-color-pane-background,#131722)}.group-2_so5thS+.group-2_so5thS{margin-top:1px}.group-2_so5thS:first-child{border-top-right-radius:0}.group-2_so5thS.noGroupPadding-2_so5thS{padding:0}.lastGroup-2_so5thS{border-radius:0;padding-bottom:20px}.fill-2_so5thS{background-color:var(--tv-color-pane-background,#fff);flex:1 1 100%;margin-top:-2px;min-height:2px}html.theme-dark .fill-2_so5thS{background-color:var(--tv-color-pane-background,#131722)}.separator-2_so5thS{background-color:#e0e3eb;height:1px;margin:5px 0;position:relative;width:100%}html.theme-dark .separator-2_so5thS{background-color:#434651} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.rtl.css b/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.rtl.css new file mode 100644 index 0000000..f423ba3 --- /dev/null +++ b/public/static/charting_library/bundles/6062.56b57d0c5c641ee6c503.rtl.css @@ -0,0 +1 @@ +.wrap-379NmUSU{direction:rtl;height:100%;overflow:hidden;position:relative;width:100%}.wrap-379NmUSU svg{display:block}.scrollWrap-379NmUSU{-webkit-overflow-scrolling:touch;display:flex;flex:0 0 auto;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.scrollWrap-379NmUSU::-webkit-scrollbar{height:5px;width:5px}.scrollWrap-379NmUSU::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollWrap-379NmUSU::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollWrap-379NmUSU::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollWrap-379NmUSU::-webkit-scrollbar-corner{display:none}.scrollWrap-379NmUSU.noScrollBar-379NmUSU{padding-left:100px}.scrollWrap-379NmUSU.noScrollBar-379NmUSU.sb-scrollbar-wrap{display:none}.scrollWrap-379NmUSU.noScrollBar-379NmUSU::-webkit-scrollbar{display:none;height:0;width:0}.scrollWrap-379NmUSU.noScrollBar-379NmUSU::-webkit-scrollbar-thumb,.scrollWrap-379NmUSU.noScrollBar-379NmUSU::-webkit-scrollbar-track{display:none}.scrollWrap-379NmUSU.noScrollBar-379NmUSU::-webkit-scrollbar-corner{display:none}.content-379NmUSU{display:flex;flex:1 0 auto;flex-direction:column;position:relative}.icon-379NmUSU{display:block;transition:transform 60ms ease}.scrollBot-379NmUSU,.scrollTop-379NmUSU{align-items:center;background-color:#1e222d99;color:#fff;display:flex;height:24px;justify-content:center;overflow:hidden;position:absolute;right:0;transition:background-color .35s ease,transform .11666667s cubic-bezier(.55,.055,.675,.19);width:100%}html.theme-dark .scrollBot-379NmUSU,html.theme-dark .scrollTop-379NmUSU{background-color:#6a6d7899;color:#fff}.scrollBot-379NmUSU:active,.scrollTop-379NmUSU:active{transition:background-color 58.33333ms ease,transform .11666667s cubic-bezier(.215,.61,.355,1)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.scrollBot-379NmUSU:hover,.scrollTop-379NmUSU:hover{transition:background-color 58.33333ms ease,transform .11666667s cubic-bezier(.215,.61,.355,1)}}.scrollBot-379NmUSU:active .icon-379NmUSU,.scrollTop-379NmUSU:active .icon-379NmUSU{transform:translateY(1px)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.scrollBot-379NmUSU:hover .icon-379NmUSU,.scrollTop-379NmUSU:hover .icon-379NmUSU{transform:translateY(1px)}}.scrollBot-379NmUSU.isVisible-379NmUSU,.scrollTop-379NmUSU.isVisible-379NmUSU{transform:translateY(0);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.scrollTop-379NmUSU{top:0;transform:translateY(-100%)}.scrollTop-379NmUSU .iconWrap-379NmUSU{transform:rotate(-180deg)}.scrollBot-379NmUSU{bottom:0;transform:translateY(100%)}.fadeBot-379NmUSU,.fadeTop-379NmUSU{height:24px;pointer-events:none;position:absolute;right:0;width:100%}.fadeBot-379NmUSU.isVisible-379NmUSU,.fadeTop-379NmUSU.isVisible-379NmUSU{transform:translateY(0);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.fadeTop-379NmUSU{background-image:linear-gradient(0deg,#fff0,#fff);top:0;transform:translateY(-100%)}html.theme-dark .fadeTop-379NmUSU{background-image:linear-gradient(0deg,#13172200,#131722)}.fadeBot-379NmUSU{background-image:linear-gradient(180deg,#fff0,#fff);bottom:0;transform:translateY(100%)}html.theme-dark .fadeBot-379NmUSU{background-image:linear-gradient(180deg,#13172200,#131722)}.dropdown-191zO2Od{position:relative}.buttonWrap-191zO2Od{transform:translateX(0)}.control-191zO2Od{box-sizing:border-box;overflow:hidden;position:relative;touch-action:manipulation;width:52px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-191zO2Od:hover .arrow-191zO2Od{opacity:1}}.arrow-191zO2Od{align-items:center;border-radius:0 4px 4px 0;bottom:1px;box-sizing:border-box;color:#131722;cursor:default;display:flex;justify-content:center;opacity:0;overflow:hidden;position:absolute;right:0;top:1px;width:11px}html.theme-dark .arrow-191zO2Od{color:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.arrow-191zO2Od:hover{color:#000}html.theme-dark .arrow-191zO2Od:hover{color:#868993}}.arrow-191zO2Od .arrowIcon-191zO2Od,.arrow-191zO2Od .arrowIcon-191zO2Od svg{transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}.arrow-191zO2Od .arrowIcon-191zO2Od svg{fill:currentColor;display:block;height:7px;width:4px}.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od{transform:translateX(0)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-191zO2Od:hover .arrow-191zO2Od{transform:translateX(0)}}.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-191zO2Od:hover .arrow-191zO2Od.hover-191zO2Od,.control-191zO2Od:hover .arrow-191zO2Od:hover,.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od:hover,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od:hover{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa)}}html.theme-dark .feature-mobiletouch .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od,html.theme-dark .isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .control-191zO2Od:hover .arrow-191zO2Od.hover-191zO2Od,html.theme-dark .control-191zO2Od:hover .arrow-191zO2Od:hover,html.theme-dark .feature-mobiletouch .control-191zO2Od .arrow-191zO2Od:hover,html.theme-dark .isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od:hover{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od svg,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od.hover-191zO2Od svg{transform:translateX(-1px)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-191zO2Od:hover .arrow-191zO2Od.hover-191zO2Od svg,.control-191zO2Od:hover .arrow-191zO2Od:hover svg,.feature-mobiletouch .control-191zO2Od .arrow-191zO2Od:hover svg,.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od:hover svg{transform:translateX(-1px)}}.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);opacity:1}html.theme-dark .isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od .arrowIcon-191zO2Od{transform:rotate(-180deg)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.isOpened-191zO2Od .control-191zO2Od .arrow-191zO2Od:hover svg{transform:translateX(1px)}}.feature-mobiletouch .isGrayed-191zO2Od .control-191zO2Od .buttonWrap-191zO2Od{transform:translateX(0)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.isGrayed-191zO2Od .control-191zO2Od:hover .buttonWrap-191zO2Od{transform:translateX(0)}}.wrap-2qy9YC6D{box-sizing:border-box;display:flex;flex-wrap:wrap;padding:0 5px;width:390px}.wrap-2qy9YC6D.smallTablet-2qy9YC6D{padding:0 16px;width:100%}.buttonIcon-2qy9YC6D,.item-2qy9YC6D{font-family:FontAwesome;font-size:19px}.item-2qy9YC6D{align-items:center;color:#131722;cursor:pointer;display:flex;height:38px;justify-content:center;text-align:center;width:38px}html.theme-dark .item-2qy9YC6D{color:#b2b5be}.item-2qy9YC6D.smallTablet-2qy9YC6D{margin-bottom:6px;margin-left:8px}.item-2qy9YC6D.hovered-2qy9YC6D,.item-2qy9YC6D:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2qy9YC6D:hover{color:#131722}}html.theme-dark .item-2qy9YC6D.hovered-2qy9YC6D,html.theme-dark .item-2qy9YC6D:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2qy9YC6D:hover{color:#c1c4cd}}.active-2qy9YC6D{border-radius:6px;color:#fff}.active-2qy9YC6D,html.theme-dark .active-2qy9YC6D{background-color:#2962ff}html.theme-dark .active-2qy9YC6D{color:#d1d4dc}.title-2qy9YC6D{color:#787b86;font-size:11px;font-style:normal;font-weight:400;letter-spacing:.4px;line-height:16px;padding:10px 20px 8px 0;text-transform:uppercase}html.theme-dark .title-2qy9YC6D{color:#787b86}.separator-2qy9YC6D{margin-top:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2qy9YC6D:hover .buttonIcon-2qy9YC6D{transition-duration:60ms}}.item-3NgvBqLJ{font-size:16px;padding-bottom:6px;padding-top:10px;white-space:normal}.item-3NgvBqLJ:before{content:none}.label-3NgvBqLJ{line-height:24px;overflow:visible}.container-3CL4Geq2{display:block;transition:fill 60ms ease,stroke 60ms ease}.container-3CL4Geq2.mirror-3CL4Geq2{transform:rotate(-180deg)}.container-3CL4Geq2 .background-3CL4Geq2{fill:var(--tv-color-pane-background,#fff);stroke:var(--tv-color-platform-background,#e0e3eb)}html.theme-dark .container-3CL4Geq2 .background-3CL4Geq2{stroke:var(--tv-color-platform-background,#2a2e39);fill:var(--tv-color-pane-background,#131722)}.container-3CL4Geq2 .arrow-3CL4Geq2,html.theme-dark .container-3CL4Geq2 .arrow-3CL4Geq2{stroke:#9db2bd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-3CL4Geq2:hover .background-3CL4Geq2{fill:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.container-3CL4Geq2:hover .background-3CL4Geq2,html.theme-dark .container-3CL4Geq2:hover .background-3CL4Geq2{stroke:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}html.theme-dark .container-3CL4Geq2:hover .background-3CL4Geq2{fill:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.container-3CL4Geq2:hover .arrow-3CL4Geq2{stroke:var(--tv-color-pane-background,#fff)}html.theme-dark .container-3CL4Geq2:hover .arrow-3CL4Geq2{stroke:var(--tv-color-pane-background,#131722)}}.toggleButton-3zv4iS2j{bottom:58px;left:100%;margin-left:-6px;position:absolute;z-index:10}.toggleButton-3zv4iS2j.collapsed-3zv4iS2j{left:0;margin-left:0}.toggleButton-3zv4iS2j .background-3zv4iS2j{fill:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.toggleButton-3zv4iS2j .background-3zv4iS2j,html.theme-dark .toggleButton-3zv4iS2j .background-3zv4iS2j{stroke:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}html.theme-dark .toggleButton-3zv4iS2j .background-3zv4iS2j{fill:var(--tv-color-toolbar-toggle-button-background-active,#2962ff)}.toggleButton-3zv4iS2j .arrow-3zv4iS2j{stroke:var(--tv-color-pane-background,#fff)}html.theme-dark .toggleButton-3zv4iS2j .arrow-3zv4iS2j{stroke:var(--tv-color-pane-background,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.toggleButton-3zv4iS2j:hover .background-3zv4iS2j{fill:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}.toggleButton-3zv4iS2j:hover .background-3zv4iS2j,html.theme-dark .toggleButton-3zv4iS2j:hover .background-3zv4iS2j{stroke:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}html.theme-dark .toggleButton-3zv4iS2j:hover .background-3zv4iS2j{fill:var(--tv-color-toolbar-toggle-button-background-active-hover,#1e53e5)}}.drawingToolbar-2_so5thS{background-color:var(--tv-color-pane-background,#fff);height:100%;position:relative;-webkit-user-select:none;user-select:none}html.theme-dark .drawingToolbar-2_so5thS{background-color:var(--tv-color-pane-background,#131722)}.drawingToolbar-2_so5thS.isHidden-2_so5thS,html.theme-dark .drawingToolbar-2_so5thS.isHidden-2_so5thS{background-color:initial}.drawingToolbar-2_so5thS.isHidden-2_so5thS .inner-2_so5thS{display:none}.popupMenuItem-2_so5thS{font-size:16px}.inner-2_so5thS{background-color:var(--tv-color-platform-background,#e0e3eb);display:flex;flex:1 0 auto;flex-direction:column;width:52px}html.theme-dark .inner-2_so5thS{background-color:var(--tv-color-platform-background,#2a2e39)}.group-2_so5thS{background-color:var(--tv-color-pane-background,#fff);border-bottom-left-radius:2px;border-top-left-radius:2px;padding:6px 0}html.theme-dark .group-2_so5thS{background-color:var(--tv-color-pane-background,#131722)}.group-2_so5thS+.group-2_so5thS{margin-top:1px}.group-2_so5thS:first-child{border-top-left-radius:0}.group-2_so5thS.noGroupPadding-2_so5thS{padding:0}.lastGroup-2_so5thS{border-radius:0;padding-bottom:20px}.fill-2_so5thS{background-color:var(--tv-color-pane-background,#fff);flex:1 1 100%;margin-top:-2px;min-height:2px}html.theme-dark .fill-2_so5thS{background-color:var(--tv-color-pane-background,#131722)}.separator-2_so5thS{background-color:#e0e3eb;height:1px;margin:5px 0;position:relative;width:100%}html.theme-dark .separator-2_so5thS{background-color:#434651} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.css b/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.css new file mode 100644 index 0000000..1febd19 --- /dev/null +++ b/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.css @@ -0,0 +1 @@ +.scrollable-2CTvqFKf{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-2CTvqFKf{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-2CTvqFKf{min-height:auto}}.scrollable-2CTvqFKf::-webkit-scrollbar{height:5px;width:5px}.scrollable-2CTvqFKf::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-2CTvqFKf::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-2CTvqFKf::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-2CTvqFKf::-webkit-scrollbar-corner{display:none}.recalculateCheckbox-2z5ytJSA{align-items:center;display:flex;margin-bottom:16px}.recalculateCheckbox-2z5ytJSA:last-child{margin-bottom:0}@media screen and (max-width:379px){.singleInputTooltip-2z5ytJSA{margin-bottom:8px}}.checkboxTooltip-2z5ytJSA{margin-left:8px}.descriptionCell-2z5ytJSA{margin-left:12px;margin-right:8px}.descriptionCell-2z5ytJSA:last-child{margin-right:0}.group-2z5ytJSA{margin-right:8px}@media screen and (max-width:379px){.group-2z5ytJSA{margin-right:0;width:min-content}}.smallStyleControl-11tnC1DU{margin-left:8px;width:34px}.smallStyleControl-11tnC1DU:first-child{margin-left:0}.additionalSelect-11tnC1DU{margin-left:8px}.childRowContainer-11tnC1DU{cursor:default;margin-left:26px}.defaultSelect-11tnC1DU{cursor:default;width:100px}.defaultSelectItem-11tnC1DU{box-sizing:border-box;min-width:100px}.block-11tnC1DU{display:flex}@media screen and (max-width:379px){.block-11tnC1DU{display:block}}.group-11tnC1DU{display:flex}@media screen and (max-width:379px){.wrapGroup-11tnC1DU{margin-left:0;margin-top:8px}}.textMarkGraphicBlock-11tnC1DU{display:flex}@media screen and (max-width:550px){.textMarkGraphicBlock-11tnC1DU{display:block}}.textMarkGraphicWrapGroup-11tnC1DU{display:flex}@media screen and (max-width:550px){.textMarkGraphicWrapGroup-11tnC1DU{margin-left:0;margin-top:8px}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.rtl.css b/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.rtl.css new file mode 100644 index 0000000..6bea5e7 --- /dev/null +++ b/public/static/charting_library/bundles/6143.1f43f1c13a5153841646.rtl.css @@ -0,0 +1 @@ +.scrollable-2CTvqFKf{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-2CTvqFKf{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-2CTvqFKf{min-height:auto}}.scrollable-2CTvqFKf::-webkit-scrollbar{height:5px;width:5px}.scrollable-2CTvqFKf::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-2CTvqFKf::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-2CTvqFKf::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-2CTvqFKf::-webkit-scrollbar-corner{display:none}.recalculateCheckbox-2z5ytJSA{align-items:center;display:flex;margin-bottom:16px}.recalculateCheckbox-2z5ytJSA:last-child{margin-bottom:0}@media screen and (max-width:379px){.singleInputTooltip-2z5ytJSA{margin-bottom:8px}}.checkboxTooltip-2z5ytJSA{margin-right:8px}.descriptionCell-2z5ytJSA{margin-left:8px;margin-right:12px}.descriptionCell-2z5ytJSA:last-child{margin-left:0}.group-2z5ytJSA{margin-left:8px}@media screen and (max-width:379px){.group-2z5ytJSA{margin-left:0;width:min-content}}.smallStyleControl-11tnC1DU{margin-right:8px;width:34px}.smallStyleControl-11tnC1DU:first-child{margin-right:0}.additionalSelect-11tnC1DU{margin-right:8px}.childRowContainer-11tnC1DU{cursor:default;margin-right:26px}.defaultSelect-11tnC1DU{cursor:default;width:100px}.defaultSelectItem-11tnC1DU{box-sizing:border-box;min-width:100px}.block-11tnC1DU{display:flex}@media screen and (max-width:379px){.block-11tnC1DU{display:block}}.group-11tnC1DU{display:flex}@media screen and (max-width:379px){.wrapGroup-11tnC1DU{margin-right:0;margin-top:8px}}.textMarkGraphicBlock-11tnC1DU{display:flex}@media screen and (max-width:550px){.textMarkGraphicBlock-11tnC1DU{display:block}}.textMarkGraphicWrapGroup-11tnC1DU{display:flex}@media screen and (max-width:550px){.textMarkGraphicWrapGroup-11tnC1DU{margin-right:0;margin-top:8px}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.css b/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.css new file mode 100644 index 0000000..aa89662 --- /dev/null +++ b/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.css @@ -0,0 +1 @@ +.content-SNaRagqV a,.content-SNaRagqV span{cursor:default}.content-SNaRagqV .titleWrapper-SNaRagqV{align-items:center;display:flex;justify-content:flex-start;padding:4px 0}.content-SNaRagqV .titleWrapper-SNaRagqV>:not(:last-child){margin-right:8px}.content-SNaRagqV .title-SNaRagqV{font-size:18px;font-weight:700;line-height:26px}.content-SNaRagqV .subtitle-SNaRagqV{font-size:14px;line-height:21px}.content-SNaRagqV .subtitle-SNaRagqV .text-SNaRagqV{flex:1 0 0;overflow:hidden;text-overflow:ellipsis}.content-SNaRagqV .icon-SNaRagqV{color:currentColor}.content-SNaRagqV .group-SNaRagqV{padding-top:12px}.content-SNaRagqV .groupIcon-SNaRagqV{border-radius:9px;display:inline-block;height:18px;margin-left:7px;vertical-align:top;width:18px}.content-SNaRagqV .groupIcon-SNaRagqV.beforeMarketOpen-SNaRagqV{background-color:#ffa72626;color:#fb8c00}html.theme-dark .content-SNaRagqV .groupIcon-SNaRagqV.beforeMarketOpen-SNaRagqV{background-color:#ffa72626;color:#fb8c00}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.content-SNaRagqV .groupIcon-SNaRagqV.beforeMarketOpen-SNaRagqV:hover,html.theme-dark .content-SNaRagqV .groupIcon-SNaRagqV.beforeMarketOpen-SNaRagqV:hover{background-color:#ffa72640}}.content-SNaRagqV .groupIcon-SNaRagqV.afterMarketClose-SNaRagqV{background-color:#3179f526;color:#2962ff}html.theme-dark .content-SNaRagqV .groupIcon-SNaRagqV.afterMarketClose-SNaRagqV{background-color:#3179f526;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.content-SNaRagqV .groupIcon-SNaRagqV.afterMarketClose-SNaRagqV:hover,html.theme-dark .content-SNaRagqV .groupIcon-SNaRagqV.afterMarketClose-SNaRagqV:hover{background-color:#3179f540}}.content-SNaRagqV .groupTitle-SNaRagqV{color:#787b86;font-size:11px;font-weight:400;letter-spacing:.4px;line-height:16px;text-transform:uppercase}.content-SNaRagqV .groupRow-SNaRagqV{display:flex;flex-direction:row}.content-SNaRagqV .groupCell-SNaRagqV{flex:1 0 0}.content-SNaRagqV .group-SNaRagqV .text-SNaRagqV{font-size:14px;line-height:22px;overflow:hidden;text-overflow:ellipsis}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV{color:#2962ff;transition:color .35s ease}html.theme-dark .content-SNaRagqV .group-SNaRagqV .link-SNaRagqV{color:#2962ff}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:visited{fill:#2962ff;color:#2962ff}html.theme-dark .content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:visited{fill:#2962ff;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:hover{fill:#1e53e5;color:#1e53e5;transition-duration:60ms}html.theme-dark .content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:hover{fill:#1e53e5;color:#1e53e5}}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:focus{outline:auto}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:focus-visible{outline:auto}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:focus:not(:focus-visible){outline:none}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:active{fill:#1848cc;color:#1848cc;transition-duration:60ms}html.theme-dark .content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:active{fill:#1848cc;color:#1848cc}.content-SNaRagqV.mob-SNaRagqV .title-SNaRagqV{font-size:20px;line-height:28px}.content-SNaRagqV.mob-SNaRagqV .group-SNaRagqV .text-SNaRagqV,.content-SNaRagqV.mob-SNaRagqV .subtitle-SNaRagqV{font-size:16px;line-height:24px}.content-SNaRagqV.mini-SNaRagqV .title-SNaRagqV{font-size:16px;line-height:22px}.content-SNaRagqV.mini-SNaRagqV .subtitle-SNaRagqV{font-size:13px;line-height:19px}.drawer-zv4KaX-F>:not(:last-child){border-bottom:1px solid #e0e3eb}.drawerItem-zv4KaX-F{color:#131722;padding:16px}html.theme-dark .drawerItem-zv4KaX-F{color:#d1d4dc}.menuWrap-zv4KaX-F{background:#0000}.menuWrap-zv4KaX-F,html.theme-dark .menuWrap-zv4KaX-F{box-shadow:0 0 #0000}html.theme-dark .menuWrap-zv4KaX-F{background:#0000}.menuWrap-zv4KaX-F .menuBox-zv4KaX-F{margin:2px 4px 4px;padding:0}.card-zv4KaX-F{background:#fff;border-left:4px solid;border-radius:4px;box-shadow:0 2px 4px #6b798866;box-sizing:border-box;color:#131722;min-width:300px;padding:16px 16px 16px 12px}html.theme-dark .card-zv4KaX-F{background:#1e222d;box-shadow:0 2px 4px #0006;color:#d1d4dc}.card-zv4KaX-F:not(:first-child){margin-top:8px}.card-zv4KaX-F.mini-zv4KaX-F{padding:12px 16px 12px 12px}.fadeTop-zv4KaX-F{background:linear-gradient(#fff,#fff0);height:10px;position:absolute;top:0}html.theme-dark .fadeTop-zv4KaX-F{background:linear-gradient(#131722,#13172200)}.fadeBottom-zv4KaX-F{background:linear-gradient(#fff0,#fff);bottom:0;height:10px;position:absolute}html.theme-dark .fadeBottom-zv4KaX-F{background:linear-gradient(#13172200,#131722)} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.rtl.css b/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.rtl.css new file mode 100644 index 0000000..da8a73b --- /dev/null +++ b/public/static/charting_library/bundles/6253.8ddff4c976b3edf9f34c.rtl.css @@ -0,0 +1 @@ +.content-SNaRagqV a,.content-SNaRagqV span{cursor:default}.content-SNaRagqV .titleWrapper-SNaRagqV{align-items:center;display:flex;justify-content:flex-start;padding:4px 0}.content-SNaRagqV .titleWrapper-SNaRagqV>:not(:last-child){margin-left:8px}.content-SNaRagqV .title-SNaRagqV{font-size:18px;font-weight:700;line-height:26px}.content-SNaRagqV .subtitle-SNaRagqV{font-size:14px;line-height:21px}.content-SNaRagqV .subtitle-SNaRagqV .text-SNaRagqV{flex:1 0 0;overflow:hidden;text-overflow:ellipsis}.content-SNaRagqV .icon-SNaRagqV{color:currentColor}.content-SNaRagqV .group-SNaRagqV{padding-top:12px}.content-SNaRagqV .groupIcon-SNaRagqV{border-radius:9px;display:inline-block;height:18px;margin-right:7px;vertical-align:top;width:18px}.content-SNaRagqV .groupIcon-SNaRagqV.beforeMarketOpen-SNaRagqV{background-color:#ffa72626;color:#fb8c00}html.theme-dark .content-SNaRagqV .groupIcon-SNaRagqV.beforeMarketOpen-SNaRagqV{background-color:#ffa72626;color:#fb8c00}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.content-SNaRagqV .groupIcon-SNaRagqV.beforeMarketOpen-SNaRagqV:hover,html.theme-dark .content-SNaRagqV .groupIcon-SNaRagqV.beforeMarketOpen-SNaRagqV:hover{background-color:#ffa72640}}.content-SNaRagqV .groupIcon-SNaRagqV.afterMarketClose-SNaRagqV{background-color:#3179f526;color:#2962ff}html.theme-dark .content-SNaRagqV .groupIcon-SNaRagqV.afterMarketClose-SNaRagqV{background-color:#3179f526;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.content-SNaRagqV .groupIcon-SNaRagqV.afterMarketClose-SNaRagqV:hover,html.theme-dark .content-SNaRagqV .groupIcon-SNaRagqV.afterMarketClose-SNaRagqV:hover{background-color:#3179f540}}.content-SNaRagqV .groupTitle-SNaRagqV{color:#787b86;font-size:11px;font-weight:400;letter-spacing:.4px;line-height:16px;text-transform:uppercase}.content-SNaRagqV .groupRow-SNaRagqV{display:flex;flex-direction:row}.content-SNaRagqV .groupCell-SNaRagqV{flex:1 0 0}.content-SNaRagqV .group-SNaRagqV .text-SNaRagqV{font-size:14px;line-height:22px;overflow:hidden;text-overflow:ellipsis}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV{color:#2962ff;transition:color .35s ease}html.theme-dark .content-SNaRagqV .group-SNaRagqV .link-SNaRagqV{color:#2962ff}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:visited{fill:#2962ff;color:#2962ff}html.theme-dark .content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:visited{fill:#2962ff;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:hover{fill:#1e53e5;color:#1e53e5;transition-duration:60ms}html.theme-dark .content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:hover{fill:#1e53e5;color:#1e53e5}}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:focus{outline:auto}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:focus-visible{outline:auto}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:focus:not(:focus-visible){outline:none}.content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:active{fill:#1848cc;color:#1848cc;transition-duration:60ms}html.theme-dark .content-SNaRagqV .group-SNaRagqV .link-SNaRagqV:active{fill:#1848cc;color:#1848cc}.content-SNaRagqV.mob-SNaRagqV .title-SNaRagqV{font-size:20px;line-height:28px}.content-SNaRagqV.mob-SNaRagqV .group-SNaRagqV .text-SNaRagqV,.content-SNaRagqV.mob-SNaRagqV .subtitle-SNaRagqV{font-size:16px;line-height:24px}.content-SNaRagqV.mini-SNaRagqV .title-SNaRagqV{font-size:16px;line-height:22px}.content-SNaRagqV.mini-SNaRagqV .subtitle-SNaRagqV{font-size:13px;line-height:19px}.drawer-zv4KaX-F>:not(:last-child){border-bottom:1px solid #e0e3eb}.drawerItem-zv4KaX-F{color:#131722;padding:16px}html.theme-dark .drawerItem-zv4KaX-F{color:#d1d4dc}.menuWrap-zv4KaX-F{background:#0000}.menuWrap-zv4KaX-F,html.theme-dark .menuWrap-zv4KaX-F{box-shadow:0 0 #0000}html.theme-dark .menuWrap-zv4KaX-F{background:#0000}.menuWrap-zv4KaX-F .menuBox-zv4KaX-F{margin:2px 4px 4px;padding:0}.card-zv4KaX-F{background:#fff;border-radius:4px;border-right:4px solid;box-shadow:0 2px 4px #6b798866;box-sizing:border-box;color:#131722;min-width:300px;padding:16px 12px 16px 16px}html.theme-dark .card-zv4KaX-F{background:#1e222d;box-shadow:0 2px 4px #0006;color:#d1d4dc}.card-zv4KaX-F:not(:first-child){margin-top:8px}.card-zv4KaX-F.mini-zv4KaX-F{padding:12px 12px 12px 16px}.fadeTop-zv4KaX-F{background:linear-gradient(#fff,#fff0);height:10px;position:absolute;top:0}html.theme-dark .fadeTop-zv4KaX-F{background:linear-gradient(#131722,#13172200)}.fadeBottom-zv4KaX-F{background:linear-gradient(#fff0,#fff);bottom:0;height:10px;position:absolute}html.theme-dark .fadeBottom-zv4KaX-F{background:linear-gradient(#13172200,#131722)} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.css b/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.css new file mode 100644 index 0000000..6d985fc --- /dev/null +++ b/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.css @@ -0,0 +1 @@ +.slider-3RfwXbxu{height:var(--tv-dialog-tabs-slider-height,4px)}.slider-3RfwXbxu,html.theme-dark .slider-3RfwXbxu{background-color:initial}.slider-3RfwXbxu .inner-3RfwXbxu{background-color:#2962ff;border-radius:var(--tv-dialog-tabs-border-radius,0);height:100%;margin:0 14px}html.theme-sa .slider-3RfwXbxu .inner-3RfwXbxu{background-color:#ff7200}html.theme-dark .slider-3RfwXbxu .inner-3RfwXbxu{background-color:#2962ff}.scrollWrap-1KEqJy8_{flex:0 0 auto;height:var(--tv-dialog-tabs-height,33px)}.tabsWrap-1KEqJy8_{display:inline-block;height:100%}.tabs-1KEqJy8_{box-sizing:border-box;font-size:16px;height:100%;padding:0 6px}.tabs-1KEqJy8_:before{background:var(--tv-dialog-tabs-separator-color,#e0e3eb);border-radius:var(--tv-dialog-tabs-border-radius,0);bottom:0;content:"";display:block;height:var(--tv-dialog-tabs-separator-width,1px);left:var(--tv-dialog-tabs-separator-margin,0);pointer-events:none;position:absolute;right:var(--tv-dialog-tabs-separator-margin,0)}html.theme-dark .tabs-1KEqJy8_:before{background:var(--tv-dialog-tabs-separator-color,#434651)}.tabs-1KEqJy8_.withoutBorder-1KEqJy8_:before{display:none}.tab-1KEqJy8_{border-bottom-width:0;cursor:default;flex:none;padding:var(--tv-dialog-tabs-tab-padding-top,0) 14px 14px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tab-1KEqJy8_.withHover-1KEqJy8_:hover,html.theme-dark .tab-1KEqJy8_.withHover-1KEqJy8_:hover{color:#1e53e5}}.headerBottomSeparator-1KEqJy8_{border-bottom:var(--tv-dialog-tabs-separator-width,1px) solid var(--tv-dialog-tabs-separator-color,#e0e3eb);border-radius:var(--tv-dialog-tabs-border-radius,0);left:var(--tv-dialog-tabs-separator-margin,0);position:relative;top:100%;width:calc(100% - var(--tv-dialog-tabs-separator-margin, 0)*2)}html.theme-dark .headerBottomSeparator-1KEqJy8_{border-bottom:var(--tv-dialog-tabs-separator-width,1px) solid var(--tv-dialog-tabs-separator-color,#434651)}.fadeWithoutSlider-1KEqJy8_{height:calc(100% - var(--tv-dialog-tabs-slider-height, 4px))}.withBadge-1KEqJy8_{position:relative}.withBadge-1KEqJy8_:after{background-color:#f7525f;border-radius:50%;box-sizing:border-box;content:"";height:8px;position:absolute;right:2px;top:2px;width:8px}html.theme-dark .withBadge-1KEqJy8_:after{background-color:#cc2f3c} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.rtl.css b/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.rtl.css new file mode 100644 index 0000000..ee39a9c --- /dev/null +++ b/public/static/charting_library/bundles/6333.75d8cc7be7c14f60fb3b.rtl.css @@ -0,0 +1 @@ +.slider-3RfwXbxu{height:var(--tv-dialog-tabs-slider-height,4px)}.slider-3RfwXbxu,html.theme-dark .slider-3RfwXbxu{background-color:initial}.slider-3RfwXbxu .inner-3RfwXbxu{background-color:#2962ff;border-radius:var(--tv-dialog-tabs-border-radius,0);height:100%;margin:0 14px}html.theme-sa .slider-3RfwXbxu .inner-3RfwXbxu{background-color:#ff7200}html.theme-dark .slider-3RfwXbxu .inner-3RfwXbxu{background-color:#2962ff}.scrollWrap-1KEqJy8_{flex:0 0 auto;height:var(--tv-dialog-tabs-height,33px)}.tabsWrap-1KEqJy8_{display:inline-block;height:100%}.tabs-1KEqJy8_{box-sizing:border-box;font-size:16px;height:100%;padding:0 6px}.tabs-1KEqJy8_:before{background:var(--tv-dialog-tabs-separator-color,#e0e3eb);border-radius:var(--tv-dialog-tabs-border-radius,0);bottom:0;content:"";display:block;height:var(--tv-dialog-tabs-separator-width,1px);left:var(--tv-dialog-tabs-separator-margin,0);pointer-events:none;position:absolute;right:var(--tv-dialog-tabs-separator-margin,0)}html.theme-dark .tabs-1KEqJy8_:before{background:var(--tv-dialog-tabs-separator-color,#434651)}.tabs-1KEqJy8_.withoutBorder-1KEqJy8_:before{display:none}.tab-1KEqJy8_{border-bottom-width:0;cursor:default;flex:none;padding:var(--tv-dialog-tabs-tab-padding-top,0) 14px 14px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tab-1KEqJy8_.withHover-1KEqJy8_:hover,html.theme-dark .tab-1KEqJy8_.withHover-1KEqJy8_:hover{color:#1e53e5}}.headerBottomSeparator-1KEqJy8_{border-bottom:var(--tv-dialog-tabs-separator-width,1px) solid var(--tv-dialog-tabs-separator-color,#e0e3eb);border-radius:var(--tv-dialog-tabs-border-radius,0);position:relative;right:var(--tv-dialog-tabs-separator-margin,0);top:100%;width:calc(100% - var(--tv-dialog-tabs-separator-margin, 0)*2)}html.theme-dark .headerBottomSeparator-1KEqJy8_{border-bottom:var(--tv-dialog-tabs-separator-width,1px) solid var(--tv-dialog-tabs-separator-color,#434651)}.fadeWithoutSlider-1KEqJy8_{height:calc(100% - var(--tv-dialog-tabs-slider-height, 4px))}.withBadge-1KEqJy8_{position:relative}.withBadge-1KEqJy8_:after{background-color:#f7525f;border-radius:50%;box-sizing:border-box;content:"";height:8px;left:2px;position:absolute;top:2px;width:8px}html.theme-dark .withBadge-1KEqJy8_:after{background-color:#cc2f3c} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.css b/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.css new file mode 100644 index 0000000..aac484a --- /dev/null +++ b/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.css @@ -0,0 +1 @@ +.separator-eqcGT_ow{background-color:#e0e3eb;flex-shrink:0;height:1px;margin:6px 0}html.theme-dark .separator-eqcGT_ow{background-color:#434651}.small-eqcGT_ow{margin-bottom:4px;margin-top:4px}.normal-eqcGT_ow{margin-bottom:6px;margin-top:6px}.large-eqcGT_ow{margin-bottom:8px;margin-top:8px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.rtl.css b/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.rtl.css new file mode 100644 index 0000000..aac484a --- /dev/null +++ b/public/static/charting_library/bundles/6473.e5bfe6a8cd8097cebb56.rtl.css @@ -0,0 +1 @@ +.separator-eqcGT_ow{background-color:#e0e3eb;flex-shrink:0;height:1px;margin:6px 0}html.theme-dark .separator-eqcGT_ow{background-color:#434651}.small-eqcGT_ow{margin-bottom:4px;margin-top:4px}.normal-eqcGT_ow{margin-bottom:6px;margin-top:6px}.large-eqcGT_ow{margin-bottom:8px;margin-top:8px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.css b/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.css new file mode 100644 index 0000000..f5fd001 --- /dev/null +++ b/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.css @@ -0,0 +1 @@ +.swatches-vBKBthtD{display:flex;flex-wrap:wrap;margin:0 -3px 6px}.swatch-vBKBthtD{background-color:currentColor;border:1px solid;border-radius:2px;flex:0 0 15px;height:15px;margin:3px;position:relative;width:15px}.swatch-vBKBthtD:after{border:2px solid #0000;border-radius:6px;box-sizing:initial;content:"";height:100%;left:-5px;padding:3px;position:absolute;top:-5px;transition:border-color .35s ease;width:100%}.swatch-vBKBthtD.hover-vBKBthtD:after{border-color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.swatch-vBKBthtD:hover:after{border-color:#d1d4dc}}html.theme-dark .swatch-vBKBthtD.hover-vBKBthtD:after{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .swatch-vBKBthtD:hover:after{border-color:#50535e}}.swatch-vBKBthtD.empty-vBKBthtD{background-color:initial;border-color:#000}html.theme-dark .swatch-vBKBthtD.empty-vBKBthtD{border-color:#fff}.swatch-vBKBthtD.empty-vBKBthtD:before{background-color:#f7525f;content:"";height:21px;left:7px;position:absolute;top:-3px;transform:rotate(45deg);width:1px}html.theme-dark .swatch-vBKBthtD.empty-vBKBthtD:before{background-color:#f7525f}.swatch-vBKBthtD.white-vBKBthtD{border-color:#d1d4dc}html.theme-dark .swatch-vBKBthtD.white-vBKBthtD{border-color:#0000}.swatch-vBKBthtD.selected-vBKBthtD:after{border-color:#2962ff;z-index:1}html.theme-dark .swatch-vBKBthtD.selected-vBKBthtD:after{border-color:#2962ff}.contextItem-vBKBthtD{box-sizing:border-box;height:32px}.opacity-2UqCUhku{align-items:center;display:flex}.opacitySlider-2UqCUhku{background-color:#fff;background-image:url(a6506134daec7169f68f563f084a9d41.svg);background-position:1px;border-radius:5px;flex:1 0 auto;height:10px;position:relative}html.theme-dark .opacitySlider-2UqCUhku{background-color:#000}.opacitySliderGradient-2UqCUhku{background-color:initial;background-image:linear-gradient(90deg,#0000,currentColor);border:1px solid;border-radius:4px;box-sizing:border-box;color:inherit;display:block;height:100%;width:100%}.pointer-2UqCUhku{background-color:initial;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px #00000080;box-sizing:border-box;height:12px;margin:-1px 0 0;position:absolute;transition:left .1s,top .1s;width:12px}.pointer-2UqCUhku,html.theme-dark .pointer-2UqCUhku{background-color:#fff}html.theme-dark .pointer-2UqCUhku{border:2px solid #fff}.pointer-2UqCUhku.dragged-2UqCUhku{transition:left 0s}.opacityPointerWrap-2UqCUhku{left:0;position:absolute;top:0;width:calc(100% - 12px)}.opacityInputWrap-2UqCUhku{align-items:center;color:#131722;display:flex;position:relative}html.theme-dark .opacityInputWrap-2UqCUhku{color:#b2b5be}.opacityInput-2UqCUhku{background-color:initial;border:1px solid #d1d4dc;border-radius:4px;box-sizing:border-box;display:flex;height:26px;line-height:24px;margin-left:8px;padding:0 14px 0 5px;text-align:right;width:47px}html.theme-dark .opacityInput-2UqCUhku{border:1px solid #50535e}.opacityInput-2UqCUhku:focus,html.theme-dark .opacityInput-2UqCUhku:focus{border-color:#2962ff}.opacityInputPercent-2UqCUhku{left:40px;pointer-events:none;position:absolute;text-align:right;top:5px}.saturation-2uNV-KY0{border-radius:2px;overflow:hidden;position:relative;z-index:0}.saturation-2uNV-KY0:after,.saturation-2uNV-KY0:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.saturation-2uNV-KY0:before{background-image:linear-gradient(90deg,#fff,#fff0)}.saturation-2uNV-KY0:after{background-image:linear-gradient(0deg,#000,#0000)}.saturation-2uNV-KY0 .pointer-2uNV-KY0{background-color:initial;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px #00000080;height:10px;margin:-6px 0 0 -6px;position:absolute;transition:left .1s,top .1s;width:10px;z-index:1}html.theme-dark .saturation-2uNV-KY0 .pointer-2uNV-KY0{border:2px solid #fff}.hue-1Mi0KyO-{align-items:stretch;background-image:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:2px;display:flex}.hue-1Mi0KyO- .pointer-1Mi0KyO-{background-color:initial;border:2px solid #fff;border-radius:2px;box-shadow:0 1px 2px #00000080;height:5px;margin:-4px 0 0 -2px;position:absolute;transition:left .1s,top .1s;width:100%}html.theme-dark .hue-1Mi0KyO- .pointer-1Mi0KyO-{border:2px solid #fff}.pointerContainer-1Mi0KyO-{margin:3px 0;position:relative;width:100%}.container-1r82-bI2{padding:6px 12px;width:224px}.form-1r82-bI2{display:flex;margin-bottom:12px}.swatch-1r82-bI2{border-radius:4px;box-sizing:border-box;height:26px;width:26px}.inputWrap-1r82-bI2{align-items:center;color:#131722;display:flex;position:relative}html.theme-dark .inputWrap-1r82-bI2{color:#b2b5be}.inputHash-1r82-bI2{pointer-events:none;position:absolute;text-align:right;top:5px;width:21px}.input-1r82-bI2{background-color:initial;border:1px solid #d1d4dc;border-radius:4px;box-sizing:border-box;display:flex;height:26px;line-height:24px;margin-left:8px;padding:0 5px 0 12px;width:68px}html.theme-dark .input-1r82-bI2{border:1px solid #50535e}.input-1r82-bI2:focus,html.theme-dark .input-1r82-bI2:focus{border-color:#2962ff}.buttonWrap-1r82-bI2{height:26px;margin-left:auto}.hueSaturationWrap-1r82-bI2{display:flex;height:184px}.saturation-1r82-bI2{height:100%;margin-right:7px;width:200px}.hue-1r82-bI2{height:100%;width:17px}.container-TZggBcGZ{padding:6px 12px;width:224px}.sectionTitle-TZggBcGZ{color:#787b86;font-size:12px;line-height:14px;margin:12px 0 4px}html.theme-dark .sectionTitle-TZggBcGZ{color:#787b86}.separator-TZggBcGZ{background-color:#d1d4dc;height:1px;margin:12px 0}html.theme-dark .separator-TZggBcGZ{background-color:#434651}.separator-TZggBcGZ:last-child{display:none}.customButton-TZggBcGZ{border-radius:2px;flex:0 0 17px;height:17px;margin:3px;position:relative;transition:background-color .35s;width:17px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.customButton-TZggBcGZ:hover{background-color:#f0f3fa}html.theme-dark .customButton-TZggBcGZ:hover{background-color:#2a2e39}}.customButton-TZggBcGZ:after,.customButton-TZggBcGZ:before{background-color:#131722;content:"";position:absolute}html.theme-dark .customButton-TZggBcGZ:after,html.theme-dark .customButton-TZggBcGZ:before{background-color:#b2b5be}.customButton-TZggBcGZ:before{height:13px;left:8px;top:2px;width:1px}.customButton-TZggBcGZ:after{height:1px;left:2px;top:8px;width:13px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.rtl.css b/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.rtl.css new file mode 100644 index 0000000..d62699b --- /dev/null +++ b/public/static/charting_library/bundles/6548.bda2305976fecdd6ca1a.rtl.css @@ -0,0 +1 @@ +.swatches-vBKBthtD{display:flex;flex-wrap:wrap;margin:0 -3px 6px}.swatch-vBKBthtD{background-color:currentColor;border:1px solid;border-radius:2px;flex:0 0 15px;height:15px;margin:3px;position:relative;width:15px}.swatch-vBKBthtD:after{border:2px solid #0000;border-radius:6px;box-sizing:initial;content:"";height:100%;padding:3px;position:absolute;right:-5px;top:-5px;transition:border-color .35s ease;width:100%}.swatch-vBKBthtD.hover-vBKBthtD:after{border-color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.swatch-vBKBthtD:hover:after{border-color:#d1d4dc}}html.theme-dark .swatch-vBKBthtD.hover-vBKBthtD:after{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .swatch-vBKBthtD:hover:after{border-color:#50535e}}.swatch-vBKBthtD.empty-vBKBthtD{background-color:initial;border-color:#000}html.theme-dark .swatch-vBKBthtD.empty-vBKBthtD{border-color:#fff}.swatch-vBKBthtD.empty-vBKBthtD:before{background-color:#f7525f;content:"";height:21px;position:absolute;right:7px;top:-3px;transform:rotate(-45deg);width:1px}html.theme-dark .swatch-vBKBthtD.empty-vBKBthtD:before{background-color:#f7525f}.swatch-vBKBthtD.white-vBKBthtD{border-color:#d1d4dc}html.theme-dark .swatch-vBKBthtD.white-vBKBthtD{border-color:#0000}.swatch-vBKBthtD.selected-vBKBthtD:after{border-color:#2962ff;z-index:1}html.theme-dark .swatch-vBKBthtD.selected-vBKBthtD:after{border-color:#2962ff}.contextItem-vBKBthtD{box-sizing:border-box;height:32px}.opacity-2UqCUhku{align-items:center;display:flex}.opacitySlider-2UqCUhku{background-color:#fff;background-image:url(a6506134daec7169f68f563f084a9d41.svg);background-position:1px;border-radius:5px;flex:1 0 auto;height:10px;position:relative}html.theme-dark .opacitySlider-2UqCUhku{background-color:#000}.opacitySliderGradient-2UqCUhku{background-color:initial;background-image:linear-gradient(270deg,#0000,currentColor);border:1px solid;border-radius:4px;box-sizing:border-box;color:inherit;display:block;height:100%;width:100%}.pointer-2UqCUhku{background-color:initial;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px #00000080;box-sizing:border-box;height:12px;margin:-1px 0 0;position:absolute;transition:right .1s,top .1s;width:12px}.pointer-2UqCUhku,html.theme-dark .pointer-2UqCUhku{background-color:#fff}html.theme-dark .pointer-2UqCUhku{border:2px solid #fff}.pointer-2UqCUhku.dragged-2UqCUhku{transition:right 0s}.opacityPointerWrap-2UqCUhku{left:0;position:absolute;top:0;width:calc(100% - 12px)}.opacityInputWrap-2UqCUhku{align-items:center;color:#131722;display:flex;position:relative}html.theme-dark .opacityInputWrap-2UqCUhku{color:#b2b5be}.opacityInput-2UqCUhku{background-color:initial;border:1px solid #d1d4dc;border-radius:4px;box-sizing:border-box;display:flex;height:26px;line-height:24px;margin-right:8px;padding:0 5px 0 14px;text-align:left;width:47px}html.theme-dark .opacityInput-2UqCUhku{border:1px solid #50535e}.opacityInput-2UqCUhku:focus,html.theme-dark .opacityInput-2UqCUhku:focus{border-color:#2962ff}.opacityInputPercent-2UqCUhku{pointer-events:none;position:absolute;right:40px;text-align:left;top:5px}.saturation-2uNV-KY0{border-radius:2px;overflow:hidden;position:relative;z-index:0}.saturation-2uNV-KY0:after,.saturation-2uNV-KY0:before{content:"";height:100%;position:absolute;right:0;top:0;width:100%}.saturation-2uNV-KY0:before{background-image:linear-gradient(270deg,#fff,#fff0)}.saturation-2uNV-KY0:after{background-image:linear-gradient(0deg,#000,#0000)}.saturation-2uNV-KY0 .pointer-2uNV-KY0{background-color:initial;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px #00000080;height:10px;margin:-6px -6px 0 0;position:absolute;transition:right .1s,top .1s;width:10px;z-index:1}html.theme-dark .saturation-2uNV-KY0 .pointer-2uNV-KY0{border:2px solid #fff}.hue-1Mi0KyO-{align-items:stretch;background-image:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:2px;display:flex}.hue-1Mi0KyO- .pointer-1Mi0KyO-{background-color:initial;border:2px solid #fff;border-radius:2px;box-shadow:0 1px 2px #00000080;height:5px;margin:-4px -2px 0 0;position:absolute;transition:right .1s,top .1s;width:100%}html.theme-dark .hue-1Mi0KyO- .pointer-1Mi0KyO-{border:2px solid #fff}.pointerContainer-1Mi0KyO-{margin:3px 0;position:relative;width:100%}.container-1r82-bI2{padding:6px 12px;width:224px}.form-1r82-bI2{display:flex;margin-bottom:12px}.swatch-1r82-bI2{border-radius:4px;box-sizing:border-box;height:26px;width:26px}.inputWrap-1r82-bI2{align-items:center;color:#131722;display:flex;position:relative}html.theme-dark .inputWrap-1r82-bI2{color:#b2b5be}.inputHash-1r82-bI2{pointer-events:none;position:absolute;text-align:left;top:5px;width:21px}.input-1r82-bI2{background-color:initial;border:1px solid #d1d4dc;border-radius:4px;box-sizing:border-box;display:flex;height:26px;line-height:24px;margin-right:8px;padding:0 12px 0 5px;width:68px}html.theme-dark .input-1r82-bI2{border:1px solid #50535e}.input-1r82-bI2:focus,html.theme-dark .input-1r82-bI2:focus{border-color:#2962ff}.buttonWrap-1r82-bI2{height:26px;margin-right:auto}.hueSaturationWrap-1r82-bI2{display:flex;height:184px}.saturation-1r82-bI2{height:100%;margin-left:7px;width:200px}.hue-1r82-bI2{height:100%;width:17px}.container-TZggBcGZ{padding:6px 12px;width:224px}.sectionTitle-TZggBcGZ{color:#787b86;font-size:12px;line-height:14px;margin:12px 0 4px}html.theme-dark .sectionTitle-TZggBcGZ{color:#787b86}.separator-TZggBcGZ{background-color:#d1d4dc;height:1px;margin:12px 0}html.theme-dark .separator-TZggBcGZ{background-color:#434651}.separator-TZggBcGZ:last-child{display:none}.customButton-TZggBcGZ{border-radius:2px;flex:0 0 17px;height:17px;margin:3px;position:relative;transition:background-color .35s;width:17px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.customButton-TZggBcGZ:hover{background-color:#f0f3fa}html.theme-dark .customButton-TZggBcGZ:hover{background-color:#2a2e39}}.customButton-TZggBcGZ:after,.customButton-TZggBcGZ:before{background-color:#131722;content:"";position:absolute}html.theme-dark .customButton-TZggBcGZ:after,html.theme-dark .customButton-TZggBcGZ:before{background-color:#b2b5be}.customButton-TZggBcGZ:before{height:13px;right:8px;top:2px;width:1px}.customButton-TZggBcGZ:after{height:1px;right:2px;top:8px;width:13px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.css b/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.css new file mode 100644 index 0000000..d59633a --- /dev/null +++ b/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.css @@ -0,0 +1 @@ +.switcherWrapper-ZOZ_o9xK{--tv-switcher-wrapper-width:38px;--tv-switcher-wrapper-height:20px;--tv-switcher-wrapper-radius:10px;--tv-switcher-thumb-size:14px;--tv-switcher-thumb-padding:3px;-webkit-tap-highlight-color:transparent;display:inline-block;flex:0 0 auto;height:var(--tv-switcher-wrapper-height);position:relative;vertical-align:middle;width:var(--tv-switcher-wrapper-width);z-index:0}.switcherWrapper-ZOZ_o9xK.size-large-ZOZ_o9xK{--tv-switcher-wrapper-height:34px;--tv-switcher-wrapper-width:64px;--tv-switcher-thumb-size:28px;--tv-switcher-wrapper-radius:28px}.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .switcherThumbWrapper-ZOZ_o9xK:before{content:none}.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#24b29b;border-color:#24b29b}html.theme-dark .switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#06806b;border-color:#06806b}.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#3179f5;border-color:#3179f5}html.theme-dark .switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#1e53e5;border-color:#1e53e5}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK:hover .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#42bda8;border-color:#42bda8}html.theme-dark .switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK:hover .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#056656;border-color:#056656}.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK:hover .switcherTrack-ZOZ_o9xK{background-color:#2962ff;border-color:#2962ff}html.theme-dark .switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK:hover .switcherTrack-ZOZ_o9xK{background-color:#2962ff;border-color:#2962ff}}.input-ZOZ_o9xK{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:1}.input-ZOZ_o9xK:checked,.input-ZOZ_o9xK:disabled,.input-ZOZ_o9xK:focus{border:0;outline:0}.input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#2962ff;border-color:#2962ff}html.theme-dark .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#2962ff;border-color:#2962ff}.input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherThumb-ZOZ_o9xK{transform:translate(calc(var(--tv-switcher-wrapper-width) - var(--tv-switcher-thumb-size) - var(--tv-switcher-thumb-padding)),var(--tv-switcher-thumb-padding))}.input-ZOZ_o9xK:disabled+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#fff;border-color:#d6d8e0}html.theme-dark .input-ZOZ_o9xK:disabled+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#131722;border-color:#4c525e}.input-ZOZ_o9xK:disabled+.switcherThumbWrapper-ZOZ_o9xK .switcherThumb-ZOZ_o9xK{background-color:#d6d8e0}html.theme-dark .input-ZOZ_o9xK:disabled+.switcherThumbWrapper-ZOZ_o9xK .switcherThumb-ZOZ_o9xK{background-color:#4c525e}.input-ZOZ_o9xK.focus-ZOZ_o9xK:focus+.switcherThumbWrapper-ZOZ_o9xK:before{opacity:.2}.switcherThumbWrapper-ZOZ_o9xK{height:100%;position:relative;width:100%;z-index:0}.switcherThumbWrapper-ZOZ_o9xK:before{background-color:#37a6ef;border-radius:calc(var(--tv-switcher-wrapper-radius) + 8px);content:"";height:calc(100% + 8px);left:-4px;opacity:0;position:absolute;top:-4px;transition-duration:.6s;transition-property:opacity;transition-timing-function:ease-out;width:calc(100% + 8px)}html.theme-dark .switcherThumbWrapper-ZOZ_o9xK:before{background-color:#2e7bb2}.switcherTrack-ZOZ_o9xK{background:#d6d8e0;border:1px solid #d6d8e0;border-radius:var(--tv-switcher-wrapper-radius);height:calc(100% - 2px);left:0;position:absolute;top:0;width:calc(100% - 2px)}html.theme-dark .switcherTrack-ZOZ_o9xK{background:#363c4e;border-color:#363c4e}.switcherThumb-ZOZ_o9xK{background:#fff;border-radius:var(--tv-switcher-thumb-size);height:var(--tv-switcher-thumb-size);transform:translate(var(--tv-switcher-thumb-padding),var(--tv-switcher-thumb-padding));transition-duration:.25s;transition-property:transform;transition-timing-function:ease-out;width:var(--tv-switcher-thumb-size)}html.theme-dark .switcherThumb-ZOZ_o9xK{background:#fff}.wrapper-1Eudat6L{align-content:flex-start;align-items:flex-start;background-color:#fff;color:#131722;display:flex;flex-direction:row;justify-content:space-between;padding:6px 10px 2px 12px;white-space:nowrap}html.theme-dark .wrapper-1Eudat6L{background-color:#1e222d;color:#b2b5be}.wrapper-1Eudat6L.hovered-1Eudat6L,.wrapper-1Eudat6L:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-1Eudat6L:hover{color:#131722}}html.theme-dark .wrapper-1Eudat6L.hovered-1Eudat6L,html.theme-dark .wrapper-1Eudat6L:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrapper-1Eudat6L:hover{color:#c1c4cd}}.wrapper-1Eudat6L.hovered-1Eudat6L,.wrapper-1Eudat6L:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-1Eudat6L:hover{background-color:#f0f3fa}}html.theme-dark .wrapper-1Eudat6L.hovered-1Eudat6L,html.theme-dark .wrapper-1Eudat6L:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrapper-1Eudat6L:hover{background-color:#2a2e39}}.wrapper-1Eudat6L:before{content:"";display:block;height:20px}.labelRow-1Eudat6L{flex:1 1 auto;min-width:0;padding:2px 0 6px}.label-1Eudat6L{font-size:14px;margin-right:12px;overflow:hidden}.labelHint-1Eudat6L{color:#787b86;contain:content;font-size:12px;font-weight:400;margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease-in,margin-top .25s ease-in,opacity .35s linear;white-space:normal}.labelOn-1Eudat6L+.labelHint-1Eudat6L{margin-top:4px;max-height:34px;opacity:1;transition:max-height .2s ease-out,margin-top .2s ease-out,opacity .35s linear} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.rtl.css b/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.rtl.css new file mode 100644 index 0000000..394f4c7 --- /dev/null +++ b/public/static/charting_library/bundles/6612.6ea4b89e354fef333be4.rtl.css @@ -0,0 +1 @@ +.switcherWrapper-ZOZ_o9xK{--tv-switcher-wrapper-width:38px;--tv-switcher-wrapper-height:20px;--tv-switcher-wrapper-radius:10px;--tv-switcher-thumb-size:14px;--tv-switcher-thumb-padding:3px;-webkit-tap-highlight-color:transparent;display:inline-block;flex:0 0 auto;height:var(--tv-switcher-wrapper-height);position:relative;vertical-align:middle;width:var(--tv-switcher-wrapper-width);z-index:0}.switcherWrapper-ZOZ_o9xK.size-large-ZOZ_o9xK{--tv-switcher-wrapper-height:34px;--tv-switcher-wrapper-width:64px;--tv-switcher-thumb-size:28px;--tv-switcher-wrapper-radius:28px}.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .switcherThumbWrapper-ZOZ_o9xK:before{content:none}.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#24b29b;border-color:#24b29b}html.theme-dark .switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#06806b;border-color:#06806b}.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#3179f5;border-color:#3179f5}html.theme-dark .switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#1e53e5;border-color:#1e53e5}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK:hover .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#42bda8;border-color:#42bda8}html.theme-dark .switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK:hover .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#056656;border-color:#056656}.switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK:hover .switcherTrack-ZOZ_o9xK{background-color:#2962ff;border-color:#2962ff}html.theme-dark .switcherWrapper-ZOZ_o9xK.intent-select-ZOZ_o9xK:hover .switcherTrack-ZOZ_o9xK{background-color:#2962ff;border-color:#2962ff}}.input-ZOZ_o9xK{height:100%;opacity:0;position:absolute;right:0;top:0;width:100%;z-index:1}.input-ZOZ_o9xK:checked,.input-ZOZ_o9xK:disabled,.input-ZOZ_o9xK:focus{border:0;outline:0}.input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#2962ff;border-color:#2962ff}html.theme-dark .input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#2962ff;border-color:#2962ff}.input-ZOZ_o9xK:checked+.switcherThumbWrapper-ZOZ_o9xK .switcherThumb-ZOZ_o9xK{transform:translate(calc((var(--tv-switcher-wrapper-width) - var(--tv-switcher-thumb-size) - var(--tv-switcher-thumb-padding))*-1),var(--tv-switcher-thumb-padding))}.input-ZOZ_o9xK:disabled+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#fff;border-color:#d6d8e0}html.theme-dark .input-ZOZ_o9xK:disabled+.switcherThumbWrapper-ZOZ_o9xK .switcherTrack-ZOZ_o9xK{background-color:#131722;border-color:#4c525e}.input-ZOZ_o9xK:disabled+.switcherThumbWrapper-ZOZ_o9xK .switcherThumb-ZOZ_o9xK{background-color:#d6d8e0}html.theme-dark .input-ZOZ_o9xK:disabled+.switcherThumbWrapper-ZOZ_o9xK .switcherThumb-ZOZ_o9xK{background-color:#4c525e}.input-ZOZ_o9xK.focus-ZOZ_o9xK:focus+.switcherThumbWrapper-ZOZ_o9xK:before{opacity:.2}.switcherThumbWrapper-ZOZ_o9xK{height:100%;position:relative;width:100%;z-index:0}.switcherThumbWrapper-ZOZ_o9xK:before{background-color:#37a6ef;border-radius:calc(var(--tv-switcher-wrapper-radius) + 8px);content:"";height:calc(100% + 8px);opacity:0;position:absolute;right:-4px;top:-4px;transition-duration:.6s;transition-property:opacity;transition-timing-function:ease-out;width:calc(100% + 8px)}html.theme-dark .switcherThumbWrapper-ZOZ_o9xK:before{background-color:#2e7bb2}.switcherTrack-ZOZ_o9xK{background:#d6d8e0;border:1px solid #d6d8e0;border-radius:var(--tv-switcher-wrapper-radius);height:calc(100% - 2px);position:absolute;right:0;top:0;width:calc(100% - 2px)}html.theme-dark .switcherTrack-ZOZ_o9xK{background:#363c4e;border-color:#363c4e}.switcherThumb-ZOZ_o9xK{background:#fff;border-radius:var(--tv-switcher-thumb-size);height:var(--tv-switcher-thumb-size);transform:translate(var(--tv-switcher-thumb-padding),var(--tv-switcher-thumb-padding));transform:translate(calc((var(--tv-switcher-thumb-padding))*-1),var(--tv-switcher-thumb-padding));transition-duration:.25s;transition-property:transform;transition-timing-function:ease-out;width:var(--tv-switcher-thumb-size)}html.theme-dark .switcherThumb-ZOZ_o9xK{background:#fff}.wrapper-1Eudat6L{align-content:flex-start;align-items:flex-start;background-color:#fff;color:#131722;display:flex;flex-direction:row;justify-content:space-between;padding:6px 12px 2px 10px;white-space:nowrap}html.theme-dark .wrapper-1Eudat6L{background-color:#1e222d;color:#b2b5be}.wrapper-1Eudat6L.hovered-1Eudat6L,.wrapper-1Eudat6L:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-1Eudat6L:hover{color:#131722}}html.theme-dark .wrapper-1Eudat6L.hovered-1Eudat6L,html.theme-dark .wrapper-1Eudat6L:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrapper-1Eudat6L:hover{color:#c1c4cd}}.wrapper-1Eudat6L.hovered-1Eudat6L,.wrapper-1Eudat6L:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-1Eudat6L:hover{background-color:#f0f3fa}}html.theme-dark .wrapper-1Eudat6L.hovered-1Eudat6L,html.theme-dark .wrapper-1Eudat6L:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .wrapper-1Eudat6L:hover{background-color:#2a2e39}}.wrapper-1Eudat6L:before{content:"";display:block;height:20px}.labelRow-1Eudat6L{flex:1 1 auto;min-width:0;padding:2px 0 6px}.label-1Eudat6L{font-size:14px;margin-left:12px;overflow:hidden}.labelHint-1Eudat6L{color:#787b86;contain:content;font-size:12px;font-weight:400;margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease-in,margin-top .25s ease-in,opacity .35s linear;white-space:normal}.labelOn-1Eudat6L+.labelHint-1Eudat6L{margin-top:4px;max-height:34px;opacity:1;transition:max-height .2s ease-out,margin-top .2s ease-out,opacity .35s linear} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.css b/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.css new file mode 100644 index 0000000..cde5682 --- /dev/null +++ b/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.css @@ -0,0 +1 @@ +.button-2YcRd2gv{padding:0 5px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.rtl.css b/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.rtl.css new file mode 100644 index 0000000..cde5682 --- /dev/null +++ b/public/static/charting_library/bundles/6637.b9569ad7b9c1ffb59c7c.rtl.css @@ -0,0 +1 @@ +.button-2YcRd2gv{padding:0 5px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.css b/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.css new file mode 100644 index 0000000..6ab7e72 --- /dev/null +++ b/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.css @@ -0,0 +1 @@ +.dialog-UM6w7sFp{background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;min-width:280px;text-align:left}html.theme-dark .dialog-UM6w7sFp{background-color:#1e222d}.dialog-UM6w7sFp.rounded-UM6w7sFp{border-radius:6px}.dialog-UM6w7sFp.shadowed-UM6w7sFp{box-shadow:0 2px 4px #0003}html.theme-dark .dialog-UM6w7sFp.shadowed-UM6w7sFp{box-shadow:0 2px 4px #0006}.dialog-UM6w7sFp.fullscreen-UM6w7sFp{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;min-height:100%;position:fixed;right:0;top:0;width:100%}.dialog-UM6w7sFp.darker-UM6w7sFp{background-color:#fff}html.theme-dark .dialog-UM6w7sFp.darker-UM6w7sFp{background-color:#131722}.backdrop-UM6w7sFp{background-color:#9598a1;bottom:0;left:0;opacity:.5;position:fixed;right:0;top:0;transform:translateZ(0);z-index:-1}html.theme-dark .backdrop-UM6w7sFp{background-color:#0c0e15}.dialog-2AogBbC7{max-width:380px;min-width:280px;position:fixed;width:100%}.dialog-2AogBbC7 [data-dragg-area=true]{cursor:grab}.dialog-2AogBbC7 [data-dragg-area=true].dragging-2AogBbC7{cursor:grabbing}.dialogAnimatedAppearance-2AogBbC7{animation-duration:.3s;animation-name:dialogAnimation-2AogBbC7;transform-origin:0 0}@keyframes dialogAnimation-2AogBbC7{0%{opacity:0;transform:translate(var(--animationTranslateStartX),var(--animationTranslateStartY)) scale(0)}to{opacity:1;transform:translate(var(--animationTranslateEndX),var(--animationTranslateEndY)) scale(1)}}.dialogTooltip-2AogBbC7{color:#fff;font-size:14px;left:50%;line-height:21px;max-width:540px;position:absolute;top:-20px;transform:translateX(-50%);width:max-content}@media screen and (max-width:768px){.dialogTooltip-2AogBbC7{max-width:240px}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.rtl.css b/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.rtl.css new file mode 100644 index 0000000..1fee331 --- /dev/null +++ b/public/static/charting_library/bundles/7039.873153a7278857ebfcd1.rtl.css @@ -0,0 +1 @@ +.dialog-UM6w7sFp{background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;min-width:280px;text-align:right}html.theme-dark .dialog-UM6w7sFp{background-color:#1e222d}.dialog-UM6w7sFp.rounded-UM6w7sFp{border-radius:6px}.dialog-UM6w7sFp.shadowed-UM6w7sFp{box-shadow:0 2px 4px #0003}html.theme-dark .dialog-UM6w7sFp.shadowed-UM6w7sFp{box-shadow:0 2px 4px #0006}.dialog-UM6w7sFp.fullscreen-UM6w7sFp{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;min-height:100%;position:fixed;right:0;top:0;width:100%}.dialog-UM6w7sFp.darker-UM6w7sFp{background-color:#fff}html.theme-dark .dialog-UM6w7sFp.darker-UM6w7sFp{background-color:#131722}.backdrop-UM6w7sFp{background-color:#9598a1;bottom:0;left:0;opacity:.5;position:fixed;right:0;top:0;transform:translateZ(0);z-index:-1}html.theme-dark .backdrop-UM6w7sFp{background-color:#0c0e15}.dialog-2AogBbC7{max-width:380px;min-width:280px;position:fixed;width:100%}.dialog-2AogBbC7 [data-dragg-area=true]{cursor:grab}.dialog-2AogBbC7 [data-dragg-area=true].dragging-2AogBbC7{cursor:grabbing}.dialogAnimatedAppearance-2AogBbC7{animation-duration:.3s;animation-name:dialogAnimation-2AogBbC7;transform-origin:100% 0}@keyframes dialogAnimation-2AogBbC7{0%{opacity:0;transform:translate(var(--animationTranslateStartX),var(--animationTranslateStartY)) scale(0)}to{opacity:1;transform:translate(var(--animationTranslateEndX),var(--animationTranslateEndY)) scale(1)}}.dialogTooltip-2AogBbC7{color:#fff;font-size:14px;line-height:21px;max-width:540px;position:absolute;right:50%;top:-20px;transform:translateX(50%);width:max-content}@media screen and (max-width:768px){.dialogTooltip-2AogBbC7{max-width:240px}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.css b/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.css new file mode 100644 index 0000000..eab199f --- /dev/null +++ b/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.css @@ -0,0 +1 @@ +.wrapper-2eXD4rIf{display:inline-block;flex:none;height:18px;position:relative;width:18px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-2eXD4rIf .input-2eXD4rIf:hover:not(:focus):not(:disabled)+.box-2eXD4rIf{border-color:#a3a6af}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:hover:not(:focus):not(:disabled)+.box-2eXD4rIf{border-color:#5d606b}.wrapper-2eXD4rIf .input-2eXD4rIf:hover:checked:not(:focus):not(:disabled)+.box-2eXD4rIf{background-color:#1e53e5;border-color:#1e53e5}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:hover:checked:not(:focus):not(:disabled)+.box-2eXD4rIf{background-color:#1e53e5;border-color:#1e53e5}}.wrapper-2eXD4rIf .box-2eXD4rIf{align-items:center;border:1px solid #b2b5be;border-radius:3px;box-sizing:border-box;display:flex;height:100%;justify-content:center;position:relative;transition:background-color .35s ease;width:100%}html.theme-dark .wrapper-2eXD4rIf .box-2eXD4rIf{border:1px solid #50535e}.wrapper-2eXD4rIf .box-2eXD4rIf .icon-2eXD4rIf{align-items:center;box-sizing:border-box;display:inline-flex}.wrapper-2eXD4rIf .box-2eXD4rIf .icon-2eXD4rIf,.wrapper-2eXD4rIf .box-2eXD4rIf .icon-2eXD4rIf svg{height:9px;width:11px}.wrapper-2eXD4rIf .box-2eXD4rIf:before{border:2px solid #2962ff80;border-radius:6px;box-sizing:border-box;content:"";height:26px;left:-5px;opacity:0;position:absolute;top:-5px;transform:scale(.69231);width:26px}html.theme-dark .wrapper-2eXD4rIf .box-2eXD4rIf:before{border:2px solid #2962ff80}.wrapper-2eXD4rIf .box-2eXD4rIf.noOutline-2eXD4rIf:before{content:none}.wrapper-2eXD4rIf .box-2eXD4rIf:after{background-color:initial;border-radius:50%;content:"";height:6px;left:calc(50% - 3px);position:absolute;top:calc(50% - 3px);width:6px}.wrapper-2eXD4rIf .intent-danger-2eXD4rIf{border-color:#f23645}html.theme-dark .wrapper-2eXD4rIf .intent-danger-2eXD4rIf{border-color:#b22833}.wrapper-2eXD4rIf .input-2eXD4rIf{cursor:inherit;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%}.wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf{background-color:#2962ff;border-color:#2962ff}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf{background-color:#2962ff;border-color:#2962ff}.wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf.check-2eXD4rIf .icon-2eXD4rIf{stroke:#fff}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf.check-2eXD4rIf .icon-2eXD4rIf{stroke:#d1d4dc}.wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf.dot-2eXD4rIf:after{background-color:#fff}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf.dot-2eXD4rIf:after{background-color:#d1d4dc}.wrapper-2eXD4rIf .input-2eXD4rIf:disabled+.box-2eXD4rIf{background-color:#e0e3eb;border-color:#b2b5be}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:disabled+.box-2eXD4rIf{background-color:#2a2e39;border-color:#50535e}.wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf{background-color:#e0e3eb}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf{background-color:#2a2e39}.wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf.check-2eXD4rIf .icon-2eXD4rIf{stroke:#b2b5be}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf.check-2eXD4rIf .icon-2eXD4rIf{stroke:#50535e}.wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf.dot-2eXD4rIf:after{background-color:#b2b5be}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf.dot-2eXD4rIf:after{background-color:#50535e}.wrapper-2eXD4rIf .input-2eXD4rIf:active:not(:disabled)+.box-2eXD4rIf,html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:active:not(:disabled)+.box-2eXD4rIf{border-color:#2962ff}.wrapper-2eXD4rIf .input-2eXD4rIf:focus+.box-2eXD4rIf:before{opacity:1;transform:scale(1)}.wrapper-2eXD4rIf .input-2eXD4rIf:focus-visible+.box-2eXD4rIf:before{opacity:1;transform:scale(1)}.wrapper-2eXD4rIf .input-2eXD4rIf:focus:not(:focus-visible)+.box-2eXD4rIf:before{opacity:0;transform:scale(.69231)} \ No newline at end of file diff --git a/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.rtl.css b/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.rtl.css new file mode 100644 index 0000000..125f529 --- /dev/null +++ b/public/static/charting_library/bundles/706.af12d57a740fb6b1ba5b.rtl.css @@ -0,0 +1 @@ +.wrapper-2eXD4rIf{display:inline-block;flex:none;height:18px;position:relative;width:18px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-2eXD4rIf .input-2eXD4rIf:hover:not(:focus):not(:disabled)+.box-2eXD4rIf{border-color:#a3a6af}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:hover:not(:focus):not(:disabled)+.box-2eXD4rIf{border-color:#5d606b}.wrapper-2eXD4rIf .input-2eXD4rIf:hover:checked:not(:focus):not(:disabled)+.box-2eXD4rIf{background-color:#1e53e5;border-color:#1e53e5}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:hover:checked:not(:focus):not(:disabled)+.box-2eXD4rIf{background-color:#1e53e5;border-color:#1e53e5}}.wrapper-2eXD4rIf .box-2eXD4rIf{align-items:center;border:1px solid #b2b5be;border-radius:3px;box-sizing:border-box;display:flex;height:100%;justify-content:center;position:relative;transition:background-color .35s ease;width:100%}html.theme-dark .wrapper-2eXD4rIf .box-2eXD4rIf{border:1px solid #50535e}.wrapper-2eXD4rIf .box-2eXD4rIf .icon-2eXD4rIf{align-items:center;box-sizing:border-box;display:inline-flex}.wrapper-2eXD4rIf .box-2eXD4rIf .icon-2eXD4rIf,.wrapper-2eXD4rIf .box-2eXD4rIf .icon-2eXD4rIf svg{height:9px;width:11px}.wrapper-2eXD4rIf .box-2eXD4rIf:before{border:2px solid #2962ff80;border-radius:6px;box-sizing:border-box;content:"";height:26px;opacity:0;position:absolute;right:-5px;top:-5px;transform:scale(.69231);width:26px}html.theme-dark .wrapper-2eXD4rIf .box-2eXD4rIf:before{border:2px solid #2962ff80}.wrapper-2eXD4rIf .box-2eXD4rIf.noOutline-2eXD4rIf:before{content:none}.wrapper-2eXD4rIf .box-2eXD4rIf:after{background-color:initial;border-radius:50%;content:"";height:6px;position:absolute;right:calc(50% - 3px);top:calc(50% - 3px);width:6px}.wrapper-2eXD4rIf .intent-danger-2eXD4rIf{border-color:#f23645}html.theme-dark .wrapper-2eXD4rIf .intent-danger-2eXD4rIf{border-color:#b22833}.wrapper-2eXD4rIf .input-2eXD4rIf{cursor:inherit;height:100%;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0;width:100%}.wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf{background-color:#2962ff;border-color:#2962ff}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf{background-color:#2962ff;border-color:#2962ff}.wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf.check-2eXD4rIf .icon-2eXD4rIf{stroke:#fff}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf.check-2eXD4rIf .icon-2eXD4rIf{stroke:#d1d4dc}.wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf.dot-2eXD4rIf:after{background-color:#fff}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked+.box-2eXD4rIf.dot-2eXD4rIf:after{background-color:#d1d4dc}.wrapper-2eXD4rIf .input-2eXD4rIf:disabled+.box-2eXD4rIf{background-color:#e0e3eb;border-color:#b2b5be}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:disabled+.box-2eXD4rIf{background-color:#2a2e39;border-color:#50535e}.wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf{background-color:#e0e3eb}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf{background-color:#2a2e39}.wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf.check-2eXD4rIf .icon-2eXD4rIf{stroke:#b2b5be}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf.check-2eXD4rIf .icon-2eXD4rIf{stroke:#50535e}.wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf.dot-2eXD4rIf:after{background-color:#b2b5be}html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:checked:disabled+.box-2eXD4rIf.dot-2eXD4rIf:after{background-color:#50535e}.wrapper-2eXD4rIf .input-2eXD4rIf:active:not(:disabled)+.box-2eXD4rIf,html.theme-dark .wrapper-2eXD4rIf .input-2eXD4rIf:active:not(:disabled)+.box-2eXD4rIf{border-color:#2962ff}.wrapper-2eXD4rIf .input-2eXD4rIf:focus+.box-2eXD4rIf:before{opacity:1;transform:scale(1)}.wrapper-2eXD4rIf .input-2eXD4rIf:focus-visible+.box-2eXD4rIf:before{opacity:1;transform:scale(1)}.wrapper-2eXD4rIf .input-2eXD4rIf:focus:not(:focus-visible)+.box-2eXD4rIf:before{opacity:0;transform:scale(.69231)} \ No newline at end of file diff --git a/public/static/charting_library/bundles/708.7f4b99c8dfd3f4cda1d1.js b/public/static/charting_library/bundles/708.7f4b99c8dfd3f4cda1d1.js new file mode 100644 index 0000000..33a99f3 --- /dev/null +++ b/public/static/charting_library/bundles/708.7f4b99c8dfd3f4cda1d1.js @@ -0,0 +1,7 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[708],{67891:function(e,t){var o,n,s;n=[t],void 0===(s="function"==typeof(o=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t{e.exports={wrapper:"wrapper-2eXD4rIf",input:"input-2eXD4rIf",box:"box-2eXD4rIf",icon:"icon-2eXD4rIf",noOutline:"noOutline-2eXD4rIf","intent-danger":"intent-danger-2eXD4rIf",check:"check-2eXD4rIf", +dot:"dot-2eXD4rIf"}},3819:e=>{e.exports={container:"container-TZggBcGZ",sectionTitle:"sectionTitle-TZggBcGZ",separator:"separator-TZggBcGZ",customButton:"customButton-TZggBcGZ"}},14398:e=>{e.exports={container:"container-1r82-bI2",form:"form-1r82-bI2",swatch:"swatch-1r82-bI2",inputWrap:"inputWrap-1r82-bI2",inputHash:"inputHash-1r82-bI2",input:"input-1r82-bI2",buttonWrap:"buttonWrap-1r82-bI2",hueSaturationWrap:"hueSaturationWrap-1r82-bI2",saturation:"saturation-1r82-bI2",hue:"hue-1r82-bI2"}},70351:e=>{e.exports={hue:"hue-1Mi0KyO-",pointer:"pointer-1Mi0KyO-",pointerContainer:"pointerContainer-1Mi0KyO-"}},14132:e=>{e.exports={opacity:"opacity-2UqCUhku",opacitySlider:"opacitySlider-2UqCUhku",opacitySliderGradient:"opacitySliderGradient-2UqCUhku",pointer:"pointer-2UqCUhku",dragged:"dragged-2UqCUhku",opacityPointerWrap:"opacityPointerWrap-2UqCUhku",opacityInputWrap:"opacityInputWrap-2UqCUhku",opacityInput:"opacityInput-2UqCUhku",opacityInputPercent:"opacityInputPercent-2UqCUhku"}},58733:e=>{e.exports={saturation:"saturation-2uNV-KY0",pointer:"pointer-2uNV-KY0"}},61242:e=>{e.exports={swatches:"swatches-vBKBthtD",swatch:"swatch-vBKBthtD",hover:"hover-vBKBthtD",empty:"empty-vBKBthtD",white:"white-vBKBthtD",selected:"selected-vBKBthtD",contextItem:"contextItem-vBKBthtD"}},66549:e=>{e.exports={"tablet-small-breakpoint":"screen and (max-width: 428px)",item:"item-2IihgTnv",hovered:"hovered-2IihgTnv",isDisabled:"isDisabled-2IihgTnv",isActive:"isActive-2IihgTnv",shortcut:"shortcut-2IihgTnv",toolbox:"toolbox-2IihgTnv",withIcon:"withIcon-2IihgTnv",icon:"icon-2IihgTnv",labelRow:"labelRow-2IihgTnv",label:"label-2IihgTnv",showOnHover:"showOnHover-2IihgTnv"}},53400:(e,t,o)=>{"use strict";o.d(t,{CheckboxInput:()=>l});var n=o(67294),s=o(94184),r=o(49775),i=o(44805),a=o(58644),c=o.n(a);function l(e){const t=s(c().box,c()["intent-"+e.intent],{[c().check]:!Boolean(e.indeterminate),[c().dot]:Boolean(e.indeterminate),[c().noOutline]:-1===e.tabIndex}),o=s(c().wrapper,e.className);return n.createElement("span",{className:o,title:e.title},n.createElement("input",{id:e.id,tabIndex:e.tabIndex,className:c().input,type:"checkbox",name:e.name,checked:e.checked,disabled:e.disabled,value:e.value,autoFocus:e.autoFocus,role:e.role,onChange:function(){e.onChange&&e.onChange(e.value)},ref:e.reference}),n.createElement("span",{className:t},n.createElement(r.Icon,{icon:i,className:c().icon})))}},43001:(e,t,o)=>{"use strict";o.d(t,{ColorPicker:()=>O});var n=o(67294),s=o(94184),r=o.n(s),i=o(79881),a=o(14563),c=o(16282),l=o(43367),u=o(76420),h=o(95860);const d=n.createContext(void 0);var p=o(35671),m=o(23353),v=o(61242);function g(e){const{index:t,color:o,selected:r,onSelect:a}=e,[g,f]=(0,n.useState)(!1),C=(0,n.useContext)(d),_=(0,n.useRef)(null),b=Boolean(C)&&!l.CheckMobile.any();return n.createElement(n.Fragment,null,n.createElement("div",{ref:_,style:o?{color:o}:void 0,className:s(v.swatch,g&&v.hover,r&&v.selected,!o&&v.empty,String(o).toLowerCase()===p.white&&v.white),onClick:function(){a(o)},onContextMenu:b?E:void 0}),b&&n.createElement(u.PopupMenu,{ +isOpened:g,onClose:E,position:function(){const e=(0,c.ensureNotNull)(_.current).getBoundingClientRect();return{x:e.left,y:e.top+e.height+4}},onClickOutside:E},n.createElement(h.PopupMenuItem,{className:v.contextItem,label:(0,i.t)("Remove color"),icon:m,onClick:function(){E(),(0,c.ensureDefined)(C)(t)},dontClosePopup:!0})));function E(){f(!g)}}class f extends n.PureComponent{constructor(){super(...arguments),this._onSelect=e=>{const{onSelect:t}=this.props;t&&t(e)}}render(){const{colors:e,color:t,children:o}=this.props;if(!e)return null;const s=t?(0,a.parseRgb)(String(t)):void 0;return n.createElement("div",{className:v.swatches},e.map((e,t)=>n.createElement(g,{key:String(e)+t,index:t,color:e,selected:s&&(0,a.areEqualRgb)(s,(0,a.parseRgb)(String(e))),onSelect:this._onSelect})),o)}}var C=o(97852),_=o(80511);function b(e){const t="Invalid RGB color: "+e;if(null===e)throw new Error(t);const o=e.match(/^#?([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i);if(null===o)throw new Error(t);const[,n,s,r]=o;if(!n||!s||!r)throw new Error(t);const i=parseInt(n,16)/255,a=parseInt(s,16)/255,c=parseInt(r,16)/255,l=Math.max(i,a,c),u=Math.min(i,a,c);let h;const d=l,p=l-u,m=0===l?0:p/l;if(l===u)h=0;else{switch(l){case i:h=(a-c)/p+(a{this._container=e},this._handlePosition=e=>{const{hsv:{h:t},onChange:o}=this.props;if(!o)return;const n=(0,c.ensureNotNull)(this._container).getBoundingClientRect(),s=e.clientX-n.left,r=e.clientY-n.top;let i=s/n.width;i<0?i=0:i>1&&(i=1);let a=1-r/n.height;a<0?a=0:a>1&&(a=1),o({h:t,s:i,v:a})},this._mouseDown=e=>{window.addEventListener("mouseup",this._mouseUp),window.addEventListener("mousemove",this._mouseMove)},this._mouseUp=e=>{window.removeEventListener("mousemove",this._mouseMove),window.removeEventListener("mouseup",this._mouseUp),this._handlePosition(e)},this._mouseMove=(0,E.default)(this._handlePosition,100),this._handleTouch=e=>{this._handlePosition(e.nativeEvent.touches[0])}}render(){const{className:e,hsv:{h:t,s:o,v:s}}=this.props,i=`hsl(${360*t}, 100%, 50%)`;return n.createElement("div",{className:r()(w.saturation,e),style:{backgroundColor:i},ref:this._refContainer,onMouseDown:this._mouseDown,onTouchStart:this._handleTouch,onTouchMove:this._handleTouch},n.createElement("div",{className:w.pointer,style:{left:100*o+"%",top:100*(1-s)+"%"}}))}}var k=o(70351);class S extends n.PureComponent{constructor(){super(...arguments),this._container=null,this._refContainer=e=>{this._container=e},this._handlePosition=e=>{const{hsv:{s:t,v:o},onChange:n}=this.props;if(!n)return;const s=(0,c.ensureNotNull)(this._container).getBoundingClientRect();let r=(e.clientY-s.top)/s.height;r<0?r=0:r>1&&(r=1),n({h:r,s:t,v:o})},this._mouseDown=e=>{window.addEventListener("mouseup",this._mouseUp),window.addEventListener("mousemove",this._mouseMove)},this._mouseUp=e=>{ +window.removeEventListener("mousemove",this._mouseMove),window.removeEventListener("mouseup",this._mouseUp),this._handlePosition(e)},this._mouseMove=(0,E.default)(this._handlePosition,100),this._handleTouch=e=>{this._handlePosition(e.nativeEvent.touches[0])}}render(){const{className:e,hsv:{h:t}}=this.props;return n.createElement("div",{className:r()(k.hue,e)},n.createElement("div",{className:k.pointerContainer,ref:this._refContainer,onMouseDown:this._mouseDown,onTouchStart:this._handleTouch,onTouchMove:this._handleTouch},n.createElement("div",{className:k.pointer,style:{top:100*t+"%"}})))}}var N=o(14398);const I=(0,i.t)("Add",{context:"Color Picker"});class P extends n.PureComponent{constructor(e){super(e),this._handleHSV=e=>{const t=function(e){const{h:t,s:o,v:n}=e;let s,r,i;const a=Math.floor(6*t),c=6*t-a,l=n*(1-o),u=n*(1-c*o),h=n*(1-(1-c)*o);switch(a%6){case 0:s=n,r=h,i=l;break;case 1:s=u,r=n,i=l;break;case 2:s=l,r=n,i=h;break;case 3:s=l,r=u,i=n;break;case 4:s=h,r=l,i=n;break;case 5:s=n,r=l,i=u;break;default:s=0,r=0,i=0}return"#"+[255*s,255*r,255*i].map(e=>("0"+Math.round(e).toString(16)).replace(/.+?([a-f0-9]{2})$/i,"$1")).join("")}(e)||"#000000";this.setState({color:t,inputColor:t.replace(/^#/,""),hsv:e}),this.props.onSelect(t)},this._handleInput=e=>{const t=e.currentTarget.value;try{const e=b(t),o="#"+t;this.setState({color:o,inputColor:t,hsv:e}),this.props.onSelect(o)}catch(e){this.setState({inputColor:t})}},this._handleAddColor=()=>this.props.onAdd(this.state.color);const t=e.color||"#000000";this.state={color:t,inputColor:t.replace(/^#/,""),hsv:b(t)}}render(){const{color:e,hsv:t,inputColor:o}=this.state;return n.createElement("div",{className:N.container},n.createElement("div",{className:N.form},n.createElement("div",{className:N.swatch,style:{backgroundColor:e}}),n.createElement("div",{className:N.inputWrap},n.createElement("span",{className:N.inputHash},"#"),n.createElement("input",{type:"text",className:N.input,value:o,onChange:this._handleInput})),n.createElement("div",{className:N.buttonWrap},n.createElement(_.Button,{size:"s",onClick:this._handleAddColor},I))),n.createElement("div",{className:N.hueSaturationWrap},n.createElement(y,{className:N.saturation,hsv:t,onChange:this._handleHSV}),n.createElement(S,{className:N.hue,hsv:t,onChange:this._handleHSV})))}}var T=o(3819);const x=(0,i.t)("Add custom color",{context:"Color Picker"}),M=(0,i.t)("Opacity",{context:"Color Picker"});class O extends n.PureComponent{constructor(e){super(e),this._handleAddColor=e=>{this.setState({isCustom:!1}),this._onToggleCustom(!1);const{onAddColor:t}=this.props;t&&t(e)},this._handleSelectColor=e=>{const{onColorChange:t}=this.props,{isCustom:o}=this.state;t&&t(e,o)},this._handleCustomClick=()=>{this.setState({isCustom:!0}),this._onToggleCustom(!0)},this._handleOpacity=e=>{const{onOpacityChange:t}=this.props;t&&t(e)},this.state={isCustom:!1}}componentDidUpdate(e,t){e.selectOpacity!==this.props.selectOpacity&&this.props.menu&&this.props.menu.update()}render(){ +const{color:e,opacity:t,selectCustom:o,selectOpacity:s,customColors:i,onRemoveCustomColor:a}=this.props,{isCustom:c}=this.state,l="number"==typeof t?t:1;return c?n.createElement(P,{color:e,onSelect:this._handleSelectColor,onAdd:this._handleAddColor}):n.createElement("div",{className:T.container},n.createElement(f,{colors:p.basic,color:e,onSelect:this._handleSelectColor}),n.createElement(f,{colors:p.extended,color:e,onSelect:this._handleSelectColor}),n.createElement("div",{className:T.separator}),n.createElement(d.Provider,{value:a},n.createElement(f,{colors:i,color:e,onSelect:this._handleSelectColor},o&&n.createElement("div",{className:r()(T.customButton,"apply-common-tooltip"),onClick:this._handleCustomClick,title:x}))),s&&n.createElement(n.Fragment,null,n.createElement("div",{className:T.sectionTitle},M),n.createElement(C.Opacity,{color:e,opacity:l,onChange:this._handleOpacity})))}_onToggleCustom(e){const{onToggleCustom:t}=this.props;t&&t(e)}}},97852:(e,t,o)=>{"use strict";o.d(t,{Opacity:()=>c});var n=o(67294),s=o(94184),r=o(16282),i=o(57968),a=o(14132);class c extends n.PureComponent{constructor(e){super(e),this._container=null,this._pointer=null,this._raf=null,this._refContainer=e=>{this._container=e},this._refPointer=e=>{this._pointer=e},this._handlePosition=e=>{null===this._raf&&(this._raf=requestAnimationFrame(()=>{const t=(0,r.ensureNotNull)(this._container),o=(0,r.ensureNotNull)(this._pointer),n=t.getBoundingClientRect(),s=o.offsetWidth,a=e.clientX-s/2-n.left,c=(0,i.clamp)(a/(n.width-s),0,1);this.setState({inputOpacity:Math.round(100*c).toString()}),this.props.onChange(c),this._raf=null}))},this._onSliderClick=e=>{this._handlePosition(e.nativeEvent),this._dragSubscribe()},this._mouseUp=e=>{this.setState({isPointerDragged:!1}),this._dragUnsubscribe(),this._handlePosition(e)},this._mouseMove=e=>{this.setState({isPointerDragged:!0}),this._handlePosition(e)},this._onTouchStart=e=>{this._handlePosition(e.nativeEvent.touches[0])},this._handleTouch=e=>{this.setState({isPointerDragged:!0}),this._handlePosition(e.nativeEvent.touches[0])},this._handleTouchEnd=()=>{this.setState({isPointerDragged:!1})},this._handleInput=e=>{const t=e.currentTarget.value,o=Number(t)/100;this.setState({inputOpacity:t}),Number.isNaN(o)||o>1||this.props.onChange(o)},this.state={inputOpacity:Math.round(100*e.opacity).toString(),isPointerDragged:!1}}componentWillUnmount(){null!==this._raf&&(cancelAnimationFrame(this._raf),this._raf=null),this._dragUnsubscribe()}render(){const{color:e,opacity:t,hideInput:o}=this.props,{inputOpacity:r,isPointerDragged:i}=this.state,c={color:e||void 0};return n.createElement("div",{className:a.opacity},n.createElement("div",{className:a.opacitySlider,style:c,ref:this._refContainer,onMouseDown:this._onSliderClick,onTouchStart:this._onTouchStart,onTouchMove:this._handleTouch,onTouchEnd:this._handleTouchEnd},n.createElement("div",{className:a.opacitySliderGradient,style:{backgroundImage:`linear-gradient(90deg, transparent, ${e})`}}),n.createElement("div",{className:a.opacityPointerWrap},n.createElement("div",{ +className:s(a.pointer,i&&a.dragged),style:{left:100*t+"%"},ref:this._refPointer}))),!o&&n.createElement("div",{className:a.opacityInputWrap},n.createElement("input",{type:"text",className:a.opacityInput,value:r,onChange:this._handleInput}),n.createElement("span",{className:a.opacityInputPercent},"%")))}_dragSubscribe(){const e=(0,r.ensureNotNull)(this._container).ownerDocument;e&&(e.addEventListener("mouseup",this._mouseUp),e.addEventListener("mousemove",this._mouseMove))}_dragUnsubscribe(){const e=(0,r.ensureNotNull)(this._container).ownerDocument;e&&(e.removeEventListener("mousemove",this._mouseMove),e.removeEventListener("mouseup",this._mouseUp))}}},35671:(e,t,o)=>{"use strict";o.d(t,{white:()=>s,basic:()=>a,extended:()=>l});var n=o(53312);const s=n.colorsPalette["color-white"],r=["ripe-red","tan-orange","banana-yellow","iguana-green","minty-green","sky-blue","tv-blue","deep-blue","grapes-purple","berry-pink"],i=[200,300,400,500,600,700,800,900].map(e=>"color-cold-gray-"+e);i.unshift("color-white"),i.push("color-black"),r.forEach(e=>{i.push(`color-${e}-500`)});const a=i.map(e=>n.colorsPalette[e]),c=[];[100,200,300,400,700,900].forEach(e=>{r.forEach(t=>{c.push(`color-${t}-${e}`)})});const l=c.map(e=>n.colorsPalette[e])},6347:(e,t,o)=>{"use strict";o.d(t,{useCustomColors:()=>c});var n=o(67294),s=o(64222),r=o(18437);function i(e,t){(0,n.useEffect)(()=>(r.subscribe(e,t,null),()=>{r.unsubscribe(e,t,null)}),[e,t])}var a=o(14563);function c(){const[e,t]=(0,n.useState)((0,s.getJSON)("pickerCustomColors",[]));i("add_new_custom_color",o=>t(l(o,e))),i("remove_custom_color",o=>t(u(o,e)));const o=(0,n.useCallback)(t=>{const o=t?(0,a.parseRgb)(t):null;e.some(e=>null!==e&&null!==o&&(0,a.areEqualRgb)((0,a.parseRgb)(e),o))||(r.emit("add_new_custom_color",t),(0,s.setJSON)("pickerCustomColors",l(t,e)))},[e]),c=(0,n.useCallback)(t=>{(t>=0||t29&&o.shift(),o}function u(e,t){return t.filter((t,o)=>e!==o)}},95860:(e,t,o)=>{"use strict";o.d(t,{DEFAULT_POPUP_MENU_ITEM_THEME:()=>l,PopupMenuItem:()=>d});var n=o(67294),s=o(94184),r=o(79424),i=o(87438),a=o(74818),c=o(66549);const l=c;function u(e){const{reference:t,...o}=e,s={...o,ref:t};return n.createElement(e.href?"a":"div",s)}function h(e){e.stopPropagation()}function d(e){const{id:t,role:o,"aria-selected":l,className:d,title:p,labelRowClassName:m,labelClassName:v,shortcut:g,forceShowShortcuts:f,icon:C,isActive:_,isDisabled:b,isHovered:E,appearAsDisabled:w,label:y,link:k,showToolboxOnHover:S,target:N,rel:I,toolbox:P,reference:T,onMouseOut:x,onMouseOver:M,suppressToolboxClick:O=!0,theme:D=c}=e,B=(0,a.filterDataProps)(e),U=(0,n.useRef)(null);return n.createElement(u,{...B,id:t,role:o,"aria-selected":l,className:s(d,D.item,C&&D.withIcon,{[D.isActive]:_,[D.isDisabled]:b||w,[D.hovered]:E}),title:p,href:k,target:N,rel:I,reference:function(e){U.current=e,"function"==typeof T&&T(e);"object"==typeof T&&(T.current=e)}, +onClick:function(t){const{dontClosePopup:o,onClick:n,onClickArg:s,trackEventObject:a}=e;if(b)return;a&&(0,i.trackEvent)(a.category,a.event,a.label);n&&n(s,t);o||(0,r.globalCloseMenu)()},onContextMenu:function(t){const{trackEventObject:o,trackRightClick:n}=e;o&&n&&(0,i.trackEvent)(o.category,o.event,o.label+"_rightClick")},onMouseUp:function(t){const{trackEventObject:o,trackMouseWheelClick:n}=e;if(1===t.button&&k&&o){let e=o.label;n&&(e+="_mouseWheelClick"),(0,i.trackEvent)(o.category,o.event,e)}},onMouseOver:M,onMouseOut:x},void 0!==C&&n.createElement("div",{className:D.icon,dangerouslySetInnerHTML:{__html:C}}),n.createElement("div",{className:s(D.labelRow,m)},n.createElement("div",{className:s(D.label,v)},y)),(void 0!==g||f)&&n.createElement("div",{className:D.shortcut},(A=g)&&A.split("+").join(" + ")),void 0!==P&&n.createElement("div",{onClick:O?h:void 0,className:s(D.toolbox,{[D.showOnHover]:S})},P));var A}},76420:(e,t,o)=>{"use strict";o.d(t,{PopupMenu:()=>l});var n=o(67294),s=o(73935),r=o(4735),i=o(90901),a=o(94884),c=o(47165);function l(e){const{controller:t,children:o,isOpened:l,closeOnClickOutside:u=!0,doNotCloseOn:h,onClickOutside:d,onClose:p,...m}=e,v=(0,n.useContext)(a.CloseDelegateContext),g=(0,c.useOutsideEvent)({handler:function(e){d&&d(e);if(!u)return;if(h&&e.target instanceof Node){const t=s.findDOMNode(h);if(t instanceof Node&&t.contains(e.target))return}p()},mouseDown:!0,touchStart:!0});return l?n.createElement(r.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},n.createElement("span",{ref:g,style:{pointerEvents:"auto"}},n.createElement(i.Menu,{...m,onClose:p,onScroll:function(t){const{onScroll:o}=e;o&&o(t)},customCloseDelegate:v,ref:t},o))):null}},44805:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.css b/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.css new file mode 100644 index 0000000..20343f6 --- /dev/null +++ b/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.css @@ -0,0 +1 @@ +.sortButton-Srpxcu6T{align-items:center;border-radius:2px;color:#131722;display:flex;height:34px;justify-content:center;margin-left:auto;width:34px}html.theme-dark .sortButton-Srpxcu6T{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.sortButton-Srpxcu6T:hover{background-color:#f0f3fa}html.theme-dark .sortButton-Srpxcu6T:hover{background-color:#363a45}}.sortButton-Srpxcu6T .icon-Srpxcu6T{height:28px}.container-xPtOXn4t{padding:2px 0}.labelWrap-xPtOXn4t{align-items:center;display:flex;justify-content:center}.labelWrap-xPtOXn4t .icon-xPtOXn4t{height:28px;padding-right:6px;width:28px}.labelWrap-xPtOXn4t .text-xPtOXn4t{padding-right:11px}.container-30_lleAw{align-items:flex-end;box-sizing:border-box;cursor:default;display:flex;flex-shrink:0;padding:9px 17px 3px 32px}.title-30_lleAw{color:#787b86;font-size:11px;letter-spacing:.4px;line-height:16px;margin-bottom:5px;text-transform:uppercase}.container-1NQ91aze{cursor:default;height:100%;overflow:hidden;position:relative;z-index:0}@media (pointer:fine){.list-1NQ91aze{scrollbar-width:none}.list-1NQ91aze.sb-scrollbar-wrap{display:none}.list-1NQ91aze::-webkit-scrollbar{display:none;height:0;width:0}.list-1NQ91aze::-webkit-scrollbar-thumb,.list-1NQ91aze::-webkit-scrollbar-track{display:none}.list-1NQ91aze::-webkit-scrollbar-corner{display:none}}.overlayScrollWrap-1NQ91aze{bottom:0;left:0;right:0;top:0;z-index:1}.scroll-1NQ91aze::-webkit-scrollbar{height:5px;width:5px}.scroll-1NQ91aze::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scroll-1NQ91aze::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scroll-1NQ91aze::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scroll-1NQ91aze::-webkit-scrollbar-corner{display:none}@media tablet-small-breakpoint{.scroll-1NQ91aze{box-sizing:border-box;padding-bottom:6px;padding-top:6px}}.highlight-1aROqc2m{color:#1848cc}.active-1aROqc2m,html.theme-dark .active-1aROqc2m{color:#90bff9}.dialog-1xjtlTJV{height:540px;width:420px}@media screen and (min-width:480px){.dialog-1xjtlTJV{width:480px}}.contentList-1xjtlTJV{min-height:0}@media screen and (min-width:480px){.contentList-1xjtlTJV{max-height:526px}}@media screen and (max-width:428px){.contentList-1xjtlTJV{max-height:none}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.rtl.css b/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.rtl.css new file mode 100644 index 0000000..437ede0 --- /dev/null +++ b/public/static/charting_library/bundles/7353.9bb4f9381a2ee34bec3c.rtl.css @@ -0,0 +1 @@ +.sortButton-Srpxcu6T{align-items:center;border-radius:2px;color:#131722;display:flex;height:34px;justify-content:center;margin-right:auto;width:34px}html.theme-dark .sortButton-Srpxcu6T{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.sortButton-Srpxcu6T:hover{background-color:#f0f3fa}html.theme-dark .sortButton-Srpxcu6T:hover{background-color:#363a45}}.sortButton-Srpxcu6T .icon-Srpxcu6T{height:28px}.container-xPtOXn4t{padding:2px 0}.labelWrap-xPtOXn4t{align-items:center;display:flex;justify-content:center}.labelWrap-xPtOXn4t .icon-xPtOXn4t{height:28px;padding-left:6px;width:28px}.labelWrap-xPtOXn4t .text-xPtOXn4t{padding-left:11px}.container-30_lleAw{align-items:flex-end;box-sizing:border-box;cursor:default;display:flex;flex-shrink:0;padding:9px 32px 3px 17px}.title-30_lleAw{color:#787b86;font-size:11px;letter-spacing:.4px;line-height:16px;margin-bottom:5px;text-transform:uppercase}.container-1NQ91aze{cursor:default;height:100%;overflow:hidden;position:relative;z-index:0}@media (pointer:fine){.list-1NQ91aze{scrollbar-width:none}.list-1NQ91aze.sb-scrollbar-wrap{display:none}.list-1NQ91aze::-webkit-scrollbar{display:none;height:0;width:0}.list-1NQ91aze::-webkit-scrollbar-thumb,.list-1NQ91aze::-webkit-scrollbar-track{display:none}.list-1NQ91aze::-webkit-scrollbar-corner{display:none}}.overlayScrollWrap-1NQ91aze{bottom:0;left:0;right:0;top:0;z-index:1}.scroll-1NQ91aze::-webkit-scrollbar{height:5px;width:5px}.scroll-1NQ91aze::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scroll-1NQ91aze::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scroll-1NQ91aze::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scroll-1NQ91aze::-webkit-scrollbar-corner{display:none}@media tablet-small-breakpoint{.scroll-1NQ91aze{box-sizing:border-box;padding-bottom:6px;padding-top:6px}}.highlight-1aROqc2m{color:#1848cc}.active-1aROqc2m,html.theme-dark .active-1aROqc2m{color:#90bff9}.dialog-1xjtlTJV{height:540px;width:420px}@media screen and (min-width:480px){.dialog-1xjtlTJV{width:480px}}.contentList-1xjtlTJV{min-height:0}@media screen and (min-width:480px){.contentList-1xjtlTJV{max-height:526px}}@media screen and (max-width:428px){.contentList-1xjtlTJV{max-height:none}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7365.fb40181a46db7cf2d8b0.js b/public/static/charting_library/bundles/7365.fb40181a46db7cf2d8b0.js new file mode 100644 index 0000000..e0c5f4e --- /dev/null +++ b/public/static/charting_library/bundles/7365.fb40181a46db7cf2d8b0.js @@ -0,0 +1,4 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7365],{42711:t=>{t.exports={errors:"errors-3rBjZvef",show:"show-3rBjZvef",error:"error-3rBjZvef"}},79114:t=>{t.exports={"error-icon":"error-icon-3x-w99oG","intent-danger":"intent-danger-3x-w99oG","intent-warning":"intent-warning-3x-w99oG"}},67276:t=>{t.exports={"static-messages":"static-messages-1hgcN2c2",errors:"errors-1hgcN2c2",warnings:"warnings-1hgcN2c2",message:"message-1hgcN2c2"}},18820:(t,e,r)=>{"use strict";r.d(e,{getTimezoneName:()=>s});r(84540);function s(t){const e=t.model().timezone();if("exchange"!==e)return e;const r=t.model().mainSeries().symbolInfo();return null==r?void 0:r.timezone}},35347:(t,e,r)=>{"use strict";r.d(e,{anchors:()=>s});r(67294);const s={bottom:{attachment:{horizontal:"left",vertical:"top"},targetAttachment:{horizontal:"left",vertical:"bottom"}},top:{attachment:{horizontal:"left",vertical:"bottom"},targetAttachment:{horizontal:"left",vertical:"top"}},topRight:{attachment:{horizontal:"right",vertical:"bottom"},targetAttachment:{horizontal:"right",vertical:"top"}},bottomRight:{attachment:{horizontal:"right",vertical:"top"},targetAttachment:{horizontal:"right",vertical:"bottom"}}}},11086:(t,e,r)=>{"use strict";r.d(e,{hoverMouseEventFilter:()=>n,useAccurateHover:()=>a,useHover:()=>o});var s=r(67294);function o(){const[t,e]=(0,s.useState)(!1);return[t,{onMouseOver:function(t){n(t)&&e(!0)},onMouseOut:function(t){n(t)&&e(!1)}}]}function n(t){return!t.currentTarget.contains(t.relatedTarget)}function a(t){const[e,r]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{const e=e=>{if(null===t.current)return;const s=t.current.contains(e.target);r(s)};return document.addEventListener("mouseover",e),()=>document.removeEventListener("mouseover",e)},[]),e}},91943:(t,e,r)=>{"use strict";r.d(e,{FormInput:()=>c});var s=r(67294),o=r(81829),n=r(16305),a=r(92136),i=r(66213),h=r(66364);function c(t){var e;const{intent:r,onFocus:c,onBlur:l,onMouseOver:m,onMouseOut:d,containerReference:g=null,endSlot:p,hasErrors:u,hasWarnings:f,errors:w,warnings:v,alwaysShowAttachedErrors:E,iconHidden:b,messagesPosition:A,messagesAttachment:M,customErrorsAttachment:S,messagesRoot:R,inheritMessagesWidthFromTarget:_,disableMessagesRtlStyles:W,...x}=t,y=(0,n.useControlValidationLayout)({hasErrors:u,hasWarnings:f,errors:w,warnings:v,alwaysShowAttachedErrors:E,iconHidden:b,messagesPosition:A,messagesAttachment:M,customErrorsAttachment:S,messagesRoot:R,inheritMessagesWidthFromTarget:_,disableMessagesRtlStyles:W}),z=(0,i.createSafeMulticastEventHandler)(c,y.onFocus),C=(0,i.createSafeMulticastEventHandler)(l,y.onBlur),O=(0,i.createSafeMulticastEventHandler)(m,y.onMouseOver),T=(0,i.createSafeMulticastEventHandler)(d,y.onMouseOut);return s.createElement(s.Fragment,null,s.createElement(o.InputControl,{...x,intent:null!==(e=y.intent)&&void 0!==e?e:r,onFocus:z,onBlur:C,onMouseOver:O,onMouseOut:T,containerReference:(0,h.useMergedRefs)([g,y.containerReference]),endSlot:s.createElement(s.Fragment,null,y.icon&&s.createElement(a.EndSlot,{icon:!0},y.icon),p)}),y.renderedErrors)}}, +16305:(t,e,r)=>{"use strict";r.d(e,{MessagesPosition:()=>A,useControlValidationLayout:()=>C});var s=r(67294),o=r(94184),n=r(15965),a=r(11086),i=r(92136),h=r(35347),c=r(36668),l=r(73935);var m=r(42711),d=r(76553);class g extends s.PureComponent{render(){const{children:t=[],show:e=!1,customErrorClass:r,disableRtlStyles:n}=this.props,a=o(m.errors,{[m.show]:e},r),i=t.map((t,e)=>s.createElement("div",{className:m.error,key:e},t));let h={position:"absolute",top:this.props.top,width:this.props.width,height:this.props.height,bottom:void 0!==this.props.bottom?this.props.bottom:"100%",right:void 0!==this.props.right?this.props.right:0,left:this.props.left,zIndex:this.props.zIndex,maxWidth:this.props.maxWidth};if((0,d.isRtl)()&&!n){const{left:t,right:e}=h;h={...h,left:e,right:t}}return s.createElement("div",{style:h,className:a},i)}}const p=(0,c.makeOverlapable)((u=g,(f=class extends s.PureComponent{constructor(t){super(t),this._getComponentInstance=t=>{this._instance=t},this._throttleCalcProps=()=>{requestAnimationFrame(()=>this.setState(this._calcProps(this.props)))},this.state=this._getStateFromProps()}componentDidMount(){this._instanceElem=l.findDOMNode(this._instance),this.props.attachOnce||this._subscribe(),this.setState(this._calcProps(this.props))}componentDidUpdate(t){t.children===this.props.children&&t.top===this.props.top&&t.left===this.props.left&&t.width===this.props.width||this.setState(this._getStateFromProps(),()=>this.setState(this._calcProps(this.props)))}render(){return s.createElement("div",{style:{position:"absolute",width:"100%",top:0,left:0}},s.createElement(u,{...this.props,ref:this._getComponentInstance,top:this.state.top,bottom:void 0!==this.state.bottom?this.state.bottom:"auto",right:void 0!==this.state.right?this.state.right:"auto",left:this.state.left,width:this.state.width,maxWidth:this.state.maxWidth},this.props.children))}componentWillUnmount(){this._unsubsribe()}_getStateFromProps(){return{bottom:this.props.bottom,left:this.props.left,right:this.props.right,top:void 0!==this.props.top?this.props.top:-1e4,width:this.props.inheritWidthFromTarget?this.props.target&&this.props.target.getBoundingClientRect().width:this.props.width,maxWidth:this.props.inheritMaxWidthFromTarget&&this.props.target&&this.props.target.getBoundingClientRect().width}}_calcProps(t){if(t.target&&t.attachment&&t.targetAttachment){const e=this._calcTargetProps(t.target,t.attachment,t.targetAttachment);if(null===e)return{};const{width:r,inheritWidthFromTarget:s=!0,inheritMaxWidthFromTarget:o=!1}=this.props,n={width:s?e.width:r,maxWidth:o?e.width:void 0};switch(t.attachment.vertical){case"bottom":case"middle":n.top=e.y;break;default:n[t.attachment.vertical]=e.y}switch(t.attachment.horizontal){case"right":case"center":n.left=e.x;break;default:n[t.attachment.horizontal]=e.x}return n}return{}}_calcTargetProps(t,e,r){const s=t.getBoundingClientRect(),o=this._instanceElem.getBoundingClientRect(),n="parent"===this.props.root?this._getCoordsRelToParentEl(t,s):this._getCoordsRelToDocument(s);if(null===n)return null +;const a=this._getDimensions(o),i=this._getDimensions(s).width;let h=0,c=0;switch(e.vertical){case"top":c=n[r.vertical];break;case"bottom":c=n[r.vertical]-a.height;break;case"middle":c=n[r.vertical]-a.height/2}switch(e.horizontal){case"left":h=n[r.horizontal];break;case"right":h=n[r.horizontal]-a.width;break;case"center":h=n[r.horizontal]-a.width/2}return"number"==typeof this.props.attachmentOffsetY&&(c+=this.props.attachmentOffsetY),"number"==typeof this.props.attachmentOffsetX&&(h+=this.props.attachmentOffsetX),{x:h,y:c,width:i}}_getCoordsRelToDocument(t){const e=pageYOffset,r=pageXOffset,s=t.top+e,o=t.bottom+e,n=t.left+r;return{top:s,bottom:o,left:n,right:t.right+r,middle:(s+t.height)/2,center:n+t.width/2}}_getCoordsRelToParentEl(t,e){const r=t.offsetParent;if(null===r)return null;const s=r.scrollTop,o=r.scrollLeft,n=t.offsetTop+s,a=t.offsetLeft+o,i=e.width+a;return{top:n,bottom:e.height+n,left:a,right:i,middle:(n+e.height)/2,center:(a+e.width)/2}}_getDimensions(t){return{height:t.height,width:t.width}}_subscribe(){"document"===this.props.root&&(window.addEventListener("scroll",this._throttleCalcProps,!0),window.addEventListener("resize",this._throttleCalcProps))}_unsubsribe(){window.removeEventListener("scroll",this._throttleCalcProps,!0),window.removeEventListener("resize",this._throttleCalcProps)}}).displayName="Attachable Component",f));var u,f,w=r(49775),v=r(26176),E=r(79114);function b(t){const{intent:e="danger"}=t;return s.createElement(w.Icon,{icon:v,className:o(E["error-icon"],E["intent-"+e])})}var A,M,S=r(67276);!function(t){t[t.Attached=0]="Attached",t[t.Static=1]="Static",t[t.Hidden=2]="Hidden"}(A||(A={})),function(t){t.Top="top",t.Bottom="bottom"}(M||(M={}));const R={top:{attachment:h.anchors.topRight.attachment,targetAttachment:h.anchors.topRight.targetAttachment,attachmentOffsetY:-4},bottom:{attachment:h.anchors.bottomRight.attachment,targetAttachment:h.anchors.bottomRight.targetAttachment,attachmentOffsetY:4}};function _(t){const{isOpened:e,target:r,errorAttachment:o=M.Top,customErrorsAttachment:n,root:a="parent",inheritWidthFromTarget:i=!1,disableRtlStyles:h,children:c}=t,{attachment:l,targetAttachment:m,attachmentOffsetY:d}=null!=n?n:R[o];return s.createElement(p,{isOpened:e,target:r,root:a,inheritWidthFromTarget:i,attachment:l,targetAttachment:m,attachmentOffsetY:d,disableRtlStyles:h,inheritMaxWidthFromTarget:!0,show:!0},c)}function W(t,e){return Boolean(t)&&void 0!==e&&e.length>0}function x(t,e,r){return t===A.Attached&&W(e,r)}function y(t,e,r){return t===A.Static&&W(e,r)}function z(t,e,r){const{hasErrors:s,hasWarnings:o,alwaysShowAttachedErrors:n,iconHidden:a,errors:i,warnings:h,messagesPosition:c=A.Static}=t,l=x(c,s,i),m=x(c,o,h),d=l&&(e||r||Boolean(n)),g=!d&&m&&(e||r),p=y(c,s,i),u=!p&&y(c,o,h),f=!a&&Boolean(s);return{hasAttachedErrorMessages:l,hasAttachedWarningMessages:m,showAttachedErrorMessages:d,showAttachedWarningMessages:g,showStaticErrorMessages:p,showStaticWarningMessages:u,showErrorIcon:f,showWarningIcon:!a&&!f&&Boolean(o),intent:function(t,e){ +return Boolean(t)?"danger":Boolean(e)?"warning":void 0}(s,o)}}function C(t){var e,r;const{errors:h,warnings:c,messagesAttachment:l,customErrorsAttachment:m,messagesRoot:d,inheritMessagesWidthFromTarget:g,disableMessagesRtlStyles:p}=t,[u,f]=(0,n.useFocus)(),[w,v]=(0,a.useHover)(),E=(0,s.useRef)(null),{hasAttachedErrorMessages:A,hasAttachedWarningMessages:M,showAttachedErrorMessages:R,showAttachedWarningMessages:W,showStaticErrorMessages:x,showStaticWarningMessages:y,showErrorIcon:C,showWarningIcon:O,intent:T}=z(t,u,w),F=C||O?s.createElement(b,{intent:C?"danger":"warning"}):void 0,P=A?s.createElement(_,{errorAttachment:l,customErrorsAttachment:m,isOpened:R,target:E.current,root:d,inheritWidthFromTarget:g,disableRtlStyles:p,children:h}):void 0,B=M?s.createElement(_,{errorAttachment:l,isOpened:W,target:E.current,root:d,inheritWidthFromTarget:g,disableRtlStyles:p,children:c}):void 0,k=x?s.createElement(i.AfterSlot,{className:o(S["static-messages"],S.errors)},null==h?void 0:h.map((t,e)=>s.createElement("p",{key:e,className:S.message},t))):void 0,N=y?s.createElement(i.AfterSlot,{className:o(S["static-messages"],S.warnings)},null==c?void 0:c.map((t,e)=>s.createElement("p",{key:e,className:S.message},t))):void 0;return{icon:F,renderedErrors:null!==(r=null!==(e=null!=P?P:B)&&void 0!==e?e:k)&&void 0!==r?r:N,containerReference:E,intent:T,...f,...v}}},26176:t=>{t.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/7371.81bb2bc38b8ec23308e1.js b/public/static/charting_library/bundles/7371.81bb2bc38b8ec23308e1.js new file mode 100644 index 0000000..90547eb --- /dev/null +++ b/public/static/charting_library/bundles/7371.81bb2bc38b8ec23308e1.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7371],{97806:(e,t,n)=>{n.r(t),n.d(t,{createPropertyPage:()=>r});var i=n(32856),o=n.n(i);function r(e,t,n,i=null){const r={id:t,title:n,definitions:new(o())(e)};return null!==i&&(r.icon=i),r}},63725:(e,t,n)=>{n.r(t),n.d(t,{getIntervalsVisibilitiesPropertiesDefinitions:()=>we,getSelectionIntervalsVisibilitiesPropertiesDefinition:()=>pe});var i=n(79881),o=n(90963),r=n(27490),s=n(68680),a=n(32856),l=n.n(a),c=n(1467),d=n(39096),h=n(16282),m=n(674),w=n.n(m);const p=new o.TranslatedString("change {propertyName} property",(0,i.t)("change {propertyName} property"));class y extends(w()){constructor(e,t,n){super(),this._isProcess=!1,this._listenersMappers=[],this._valueApplier={applyValue:(e,t)=>{this._propertyApplier.setProperty(e,t,p)}},this._baseProperty=e,this._propertyApplier=n,this._propertyName=t}destroy(){this._baseProperty.destroy()}value(){return this._baseProperty.value()}setValue(e,t){this._propertyApplier.beginUndoMacro(p.format({propertyName:this._propertyName})),this._isProcess=!0,this._baseProperty.setValue(e,void 0,this._valueApplier),this._isProcess=!1,this._propertyApplier.endUndoMacro(),this._listenersMappers.forEach(e=>{e.method.call(e.obj,this)})}subscribe(e,t){const n=()=>{this._isProcess||t.call(e,this)};this._listenersMappers.push({obj:e,method:t,callback:n}),this._baseProperty.subscribe(e,n)}unsubscribe(e,t){var n;const i=(0,h.ensureDefined)(null===(n=this._listenersMappers.find(n=>n.obj===e&&n.method===t))||void 0===n?void 0:n.callback);this._baseProperty.unsubscribe(e,i)}unsubscribeAll(e){this._baseProperty.unsubscribeAll(e)}}const g=new o.TranslatedString("change {title} visibility on ticks",(0,i.t)("change {title} visibility on ticks")),f=new o.TranslatedString("change {title} visibility on seconds",(0,i.t)("change {title} visibility on seconds")),T=new o.TranslatedString("change {title} seconds from",(0,i.t)("change {title} seconds from")),u=new o.TranslatedString("change {title} seconds to",(0,i.t)("change {title} seconds to")),P=new o.TranslatedString("change {title} visibility on minutes",(0,i.t)("change {title} visibility on minutes")),b=new o.TranslatedString("change {title} minutes from",(0,i.t)("change {title} minutes from")),v=new o.TranslatedString("change {title} minutes to",(0,i.t)("change {title} minutes to")),k=new o.TranslatedString("change {title} visibility on hours",(0,i.t)("change {title} visibility on hours")),S=new o.TranslatedString("change {title} hours from",(0,i.t)("change {title} hours from")),D=new o.TranslatedString("change {title} hours to",(0,i.t)("change {title} hours to")),_=new o.TranslatedString("change {title} visibility on days",(0,i.t)("change {title} visibility on days")),C=new o.TranslatedString("change {title} days from",(0,i.t)("change {title} days from")),L=new o.TranslatedString("change {title} days to",(0,i.t)("change {title} days to")),V=new o.TranslatedString("change {title} visibility on weeks",(0, +i.t)("change {title} visibility on weeks")),I=new o.TranslatedString("change {title} weeks from",(0,i.t)("change {title} weeks from")),x=new o.TranslatedString("change {title} weeks to",(0,i.t)("change {title} weeks to")),R=new o.TranslatedString("change {title} visibility on months",(0,i.t)("change {title} visibility on months")),F=new o.TranslatedString("change {title} months from",(0,i.t)("change {title} months from")),M=new o.TranslatedString("change {title} months to",(0,i.t)("change {title} months to")),A=(new o.TranslatedString("change {title} visibility on ranges",(0,i.t)("change {title} visibility on ranges")),(0,i.t)("Ticks")),N=(0,i.t)("Seconds"),j=(0,i.t)("Minutes"),E=(0,i.t)("Hours"),H=(0,i.t)("Days"),W=(0,i.t)("Weeks"),U=(0,i.t)("Months"),q=((0,i.t)("Ranges"),new o.TranslatedString("ticks",(0,i.t)("ticks"))),z=new o.TranslatedString("seconds",(0,i.t)("seconds")),B=new o.TranslatedString("seconds from",(0,i.t)("seconds from")),G=new o.TranslatedString("seconds to",(0,i.t)("seconds to")),J=new o.TranslatedString("minutes",(0,i.t)("minutes")),K=new o.TranslatedString("minutes from",(0,i.t)("minutes from")),O=new o.TranslatedString("minutes to",(0,i.t)("minutes to")),Q=new o.TranslatedString("hours",(0,i.t)("hours")),X=new o.TranslatedString("hours from",(0,i.t)("hours from")),Y=new o.TranslatedString("hours to",(0,i.t)("hours to")),Z=new o.TranslatedString("days",(0,i.t)("days")),$=new o.TranslatedString("days from",(0,i.t)("days from")),ee=new o.TranslatedString("days to",(0,i.t)("days to")),te=new o.TranslatedString("weeks",(0,i.t)("weeks")),ne=new o.TranslatedString("weeks from",(0,i.t)("weeks from")),ie=new o.TranslatedString("weeks to",(0,i.t)("weeks to")),oe=new o.TranslatedString("months",(0,i.t)("months")),re=new o.TranslatedString("months from",(0,i.t)("months from")),se=new o.TranslatedString("months to",(0,i.t)("months to")),ae=(new o.TranslatedString("ranges",(0,i.t)("ranges")),[1,59]),le=[1,59],ce=[1,24],de=[1,366],he=[1,52],me=[1,12];function we(e,t,n){const i=[];if(r.enabled("tick_resolution")){const o=(0,s.createCheckablePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(e,t.ticks,g.format({title:n}))},{id:"IntervalsVisibilitiesTicks",title:A});i.push(o)}if((0,c.isSecondsEnabled)()){const o=(0,s.createRangePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(e,t.seconds,f.format({title:n})),from:(0,s.convertToDefinitionProperty)(e,t.secondsFrom,T.format({title:n})),to:(0,s.convertToDefinitionProperty)(e,t.secondsTo,u.format({title:n}))},{id:"IntervalsVisibilitiesSecond",title:N,min:new(l())(ae[0]),max:new(l())(ae[1])});i.push(o)}const o=(0,s.createRangePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(e,t.minutes,P.format({title:n})),from:(0,s.convertToDefinitionProperty)(e,t.minutesFrom,b.format({title:n})),to:(0,s.convertToDefinitionProperty)(e,t.minutesTo,v.format({title:n}))},{id:"IntervalsVisibilitiesMinutes",title:j,min:new(l())(le[0]),max:new(l())(le[1])}),a=(0,s.createRangePropertyDefinition)({checked:(0, +s.convertToDefinitionProperty)(e,t.hours,k.format({title:n})),from:(0,s.convertToDefinitionProperty)(e,t.hoursFrom,S.format({title:n})),to:(0,s.convertToDefinitionProperty)(e,t.hoursTo,D.format({title:n}))},{id:"IntervalsVisibilitiesHours",title:E,min:new(l())(ce[0]),max:new(l())(ce[1])}),d=(0,s.createRangePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(e,t.days,_.format({title:n})),from:(0,s.convertToDefinitionProperty)(e,t.daysFrom,C.format({title:n})),to:(0,s.convertToDefinitionProperty)(e,t.daysTo,L.format({title:n}))},{id:"IntervalsVisibilitiesDays",title:H,min:new(l())(de[0]),max:new(l())(de[1])});i.push(o,a,d);const h=(0,s.createRangePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(e,t.weeks,V.format({title:n})),from:(0,s.convertToDefinitionProperty)(e,t.weeksFrom,I.format({title:n})),to:(0,s.convertToDefinitionProperty)(e,t.weeksTo,x.format({title:n}))},{id:"IntervalsVisibilitiesWeeks",title:W,min:new(l())(he[0]),max:new(l())(he[1])}),m=(0,s.createRangePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(e,t.months,R.format({title:n})),from:(0,s.convertToDefinitionProperty)(e,t.monthsFrom,F.format({title:n})),to:(0,s.convertToDefinitionProperty)(e,t.monthsTo,M.format({title:n}))},{id:"IntervalsVisibilitiesMonths",title:U,min:new(l())(me[0]),max:new(l())(me[1])});return i.push(h,m),i}function pe(e,t){const n=[];if(r.enabled("tick_resolution")){const i=(0,s.createCheckablePropertyDefinition)({checked:new y(new d.LineToolCollectedProperty(e.ticks),q,t)},{id:"IntervalsVisibilitiesTicks",title:A});n.push(i)}if((0,c.isSecondsEnabled)()){const i=(0,s.createRangePropertyDefinition)({checked:new y(new d.LineToolCollectedProperty(e.seconds),z,t),from:new y(new d.LineToolCollectedProperty(e.secondsFrom),B,t),to:new y(new d.LineToolCollectedProperty(e.secondsTo),G,t)},{id:"IntervalsVisibilitiesSecond",title:N,min:new(l())(ae[0]),max:new(l())(ae[1])});n.push(i)}const i=(0,s.createRangePropertyDefinition)({checked:new y(new d.LineToolCollectedProperty(e.minutes),J,t),from:new y(new d.LineToolCollectedProperty(e.minutesFrom),K,t),to:new y(new d.LineToolCollectedProperty(e.minutesTo),O,t)},{id:"IntervalsVisibilitiesMinutes",title:j,min:new(l())(le[0]),max:new(l())(le[1])}),o=(0,s.createRangePropertyDefinition)({checked:new y(new d.LineToolCollectedProperty(e.hours),Q,t),from:new y(new d.LineToolCollectedProperty(e.hoursFrom),X,t),to:new y(new d.LineToolCollectedProperty(e.hoursTo),Y,t)},{id:"IntervalsVisibilitiesHours",title:E,min:new(l())(ce[0]),max:new(l())(ce[1])}),a=(0,s.createRangePropertyDefinition)({checked:new y(new d.LineToolCollectedProperty(e.days),Z,t),from:new y(new d.LineToolCollectedProperty(e.daysFrom),$,t),to:new y(new d.LineToolCollectedProperty(e.daysTo),ee,t)},{id:"IntervalsVisibilitiesDays",title:H,min:new(l())(de[0]),max:new(l())(de[1])});n.push(i,o,a);const h=(0,s.createRangePropertyDefinition)({checked:new y(new d.LineToolCollectedProperty(e.weeks),te,t),from:new y(new d.LineToolCollectedProperty(e.weeksFrom),ne,t), +to:new y(new d.LineToolCollectedProperty(e.weeksTo),ie,t)},{id:"IntervalsVisibilitiesWeeks",title:W,min:new(l())(he[0]),max:new(l())(he[1])}),m=(0,s.createRangePropertyDefinition)({checked:new y(new d.LineToolCollectedProperty(e.months),oe,t),from:new y(new d.LineToolCollectedProperty(e.monthsFrom),re,t),to:new y(new d.LineToolCollectedProperty(e.monthsTo),se,t)},{id:"IntervalsVisibilitiesMonths",title:U,min:new(l())(me[0]),max:new(l())(me[1])});return n.push(h,m),n}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/739.ac9682232ee125adb331.js b/public/static/charting_library/bundles/739.ac9682232ee125adb331.js new file mode 100644 index 0000000..da5b984 --- /dev/null +++ b/public/static/charting_library/bundles/739.ac9682232ee125adb331.js @@ -0,0 +1,3 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[739],{78443:e=>{e.exports={defaultsButtonText:"defaultsButtonText-3mn75BN0",defaultsButtonItem:"defaultsButtonItem-3mn75BN0",defaultsButtonIcon:"defaultsButtonIcon-3mn75BN0"}},50559:e=>{e.exports={themesButtonText:"themesButtonText-3nid3QQp",themesButtonIcon:"themesButtonIcon-3nid3QQp",defaultsButtonText:"defaultsButtonText-3nid3QQp",defaultsButtonItem:"defaultsButtonItem-3nid3QQp"}},55241:e=>{e.exports={slider:"slider-3RfwXbxu",inner:"inner-3RfwXbxu"}},34344:e=>{e.exports={scrollWrap:"scrollWrap-1KEqJy8_",tabsWrap:"tabsWrap-1KEqJy8_",tabs:"tabs-1KEqJy8_",withoutBorder:"withoutBorder-1KEqJy8_",tab:"tab-1KEqJy8_",withHover:"withHover-1KEqJy8_",headerBottomSeparator:"headerBottomSeparator-1KEqJy8_",fadeWithoutSlider:"fadeWithoutSlider-1KEqJy8_",withBadge:"withBadge-1KEqJy8_"}},16929:e=>{e.exports={tabs:"tabs-3I2ohC86",tab:"tab-3I2ohC86",noBorder:"noBorder-3I2ohC86",disabled:"disabled-3I2ohC86",active:"active-3I2ohC86",defaultCursor:"defaultCursor-3I2ohC86",slider:"slider-3I2ohC86",content:"content-3I2ohC86"}},58789:(e,t,r)=>{"use strict";r.d(t,{StudyDefaultsManager:()=>p});var a=r(67294),o=r(94184),n=r.n(o),s=r(49775),l=r(79881),i=r(19522),c=r(95860),u=r(22775),d=r(78443);const m={reset:(0,l.t)("Reset settings"),saveAsDefault:(0,l.t)("Save as default"),defaults:(0,l.t)("Defaults")};class p extends a.PureComponent{constructor(){super(...arguments),this._handleResetToDefaults=()=>{this.props.model.restorePropertiesForSource(this.props.source)},this._handleSaveAsDefaults=()=>{this.props.source.properties().saveDefaults()}}render(){const{mode:e}=this.props;return a.createElement(i.DisclosureMenu,{id:"study-defaults-manager",className:n()("normal"===e&&d.defaultsButtonText),hideArrowButton:"compact"===e,buttonChildren:this._getPlaceHolderItem("compact"===e)},a.createElement(c.PopupMenuItem,{className:d.defaultsButtonItem,isActive:!1,label:m.reset,onClick:this._handleResetToDefaults}),a.createElement(c.PopupMenuItem,{className:d.defaultsButtonItem,isActive:!1,label:m.saveAsDefault,onClick:this._handleSaveAsDefaults}))}_getPlaceHolderItem(e){return e?a.createElement(s.Icon,{className:d.defaultsButtonIcon,icon:u}):m.defaults}}},3468:(e,t,r)=>{"use strict";r.d(t,{FooterMenu:()=>d});var a=r(67294),o=r(79881),n=r(49775),s=r(19522),l=r(68521),i=r(50559),c=r(22775);function u(e){return e.isTabletWidth?a.createElement(n.Icon,{className:i.themesButtonIcon,icon:c}):a.createElement(a.Fragment,null,(0,o.t)("Template"))}function d(e){return a.createElement(l.MatchMedia,{rule:"screen and (max-width: 768px)"},t=>a.createElement(s.DisclosureMenu,{className:!t&&i.themesButtonText,hideArrowButton:t,buttonChildren:a.createElement(u,{isTabletWidth:t})},e.children))}},9927:(e,t,r)=>{"use strict";r.d(t,{TemplateMenuItem:()=>c});var a=r(67294),o=r(95860),n=r(14303),s=r(11086),l=r(96404),i=r(50559);function c(e){const{name:t,onRemove:r,onClick:c}=e,[u,d]=(0,s.useHover)(),m=a.useCallback(()=>c(t),[c,t]),p=a.useCallback(()=>{r&&r(t)},[r,t]);return a.createElement("div",{...d +},a.createElement(o.PopupMenuItem,{className:i.defaultsButtonItem,isActive:!1,label:t,onClick:m,toolbox:r&&a.createElement(n.RemoveButton,{hidden:!l.mobiletouch&&!u,onClick:p})}))}},1706:(e,t,r)=>{"use strict";r.d(t,{PropertiesEditorTab:()=>c});var a=r(67294),o=r(63544);const n={"Elliott Impulse Wave (12345)Degree":"normal","Elliott Triangle Wave (ABCDE)Degree":"normal","Elliott Triple Combo Wave (WXYXZ)Degree":"normal","Elliott Correction Wave (ABC)Degree":"normal","Elliott Double Combo Wave (WXY)Degree":"normal",BarsPatternMode:"normal",StudyInputSource:"normal"},s={TextText:"big",AnchoredTextText:"big",NoteText:"big",AnchoredNoteText:"big",CalloutText:"big",BalloonText:"big"};var l=r(35665),i=r(9102);function c(e){const{page:t,pageRef:r,tableKey:c}=e;return a.createElement(o.ControlCustomHeightContext.Provider,{value:s},a.createElement(o.ControlCustomWidthContext.Provider,{value:n},t&&a.createElement(l.PropertyTable,{reference:r,key:c},t.definitions.value().map(e=>a.createElement(i.Section,{key:e.id,definition:e})))))}},54046:(e,t,r)=>{"use strict";r.d(t,{FooterMenu:()=>i});var a=r(67294),o=(r(37703),r(79881)),n=r(3468),s=r(9927);function l(e){const{model:t,source:r}=e;return a.createElement(n.FooterMenu,null,a.createElement(s.TemplateMenuItem,{onClick:function(){t.restorePropertiesForSource(r)},name:(0,o.t)("Apply Defaults")}))}function i(e){return a.createElement(l,{...e})}},77658:(e,t,r)=>{"use strict";r.d(t,{DialogTabs:()=>h});var a=r(67294),o=r(94184),n=r(41445),s=r(4598),l=r(55241);const i=(0,s.mergeThemes)(n.DEFAULT_SLIDER_THEME,l);var c=r(52444),u=r(96404),d=r(34344);const m=d,p=(0,n.factory)((function(e){return a.createElement("div",{className:i.slider,ref:e.reference},a.createElement("div",{className:i.inner}))}));class h extends a.PureComponent{constructor(){super(...arguments),this._createClickHandler=e=>()=>{this.props.onSelect(e)}}render(){const{theme:e=m,hiddenBottomBorders:t,fadedSlider:r=!0,ScrollComponent:n=c.HorizontalScroll}=this.props,s=this._generateDialogTabs();return a.createElement("div",{className:o(e.scrollWrap)},!t&&a.createElement("div",{className:e.headerBottomSeparator}),a.createElement(n,{isVisibleFade:u.mobiletouch,isVisibleButtons:!u.mobiletouch,isVisibleScrollbar:!1,fadeClassName:o({[e.fadeWithoutSlider]:!r})},a.createElement("div",{className:e.tabsWrap},a.createElement(p,{className:o(e.tabs,t&&e.withoutBorder)},s))))}_generateDialogTabs(){const{activeTabId:e,tabs:t,theme:r=m}=this.props;return t.allIds.map(s=>{const l=e===s,i=t.byId[s].withNotificationsBadge;return a.createElement(n.SliderItem,{key:s,value:s,className:o(r.tab,!l&&r.withHover,i&&d.withBadge),isActive:l,onClick:this._createClickHandler(s)},t.byId[s].title)})}}},41445:(e,t,r)=>{"use strict";r.d(t,{DEFAULT_SLIDER_THEME:()=>l,SliderItem:()=>i,factory:()=>c});var a=r(67294),o=r(94184),n=r(16282),s=r(16929);const l=s;function i(e){const t=o(e.className,s.tab,{[s.active]:e.isActive,[s.disabled]:e.isDisabled,[s.defaultCursor]:!!e.shouldUseDefaultCursor,[s.noBorder]:!!e.noBorder});return a.createElement("div",{ +className:t,onClick:e.onClick,ref:e.reference,"data-type":"tab-item","data-value":e.value,"data-name":"tab-item-"+e.value.toString().toLowerCase()},e.children)}function c(e){return class extends a.PureComponent{constructor(){super(...arguments),this.activeTab={current:null}}componentDidUpdate(){(0,n.ensureNotNull)(this._slider).style.transition="transform 350ms",this._componentDidUpdate()}componentDidMount(){this._componentDidUpdate()}render(){const{className:t}=this.props,r=this._generateTabs();return a.createElement("div",{className:o(t,s.tabs),"data-name":this.props["data-name"]},r,a.createElement(e,{reference:e=>{this._slider=e}}))}_generateTabs(){return this.activeTab.current=null,a.Children.map(this.props.children,e=>{const t=e,r=Boolean(t.props.isActive),o={reference:e=>{r&&(this.activeTab.current=e),t.props.reference&&t.props.reference(e)}};return a.cloneElement(t,o)})}_componentDidUpdate(){const e=(0,n.ensureNotNull)(this._slider).style;if(this.activeTab.current){const t=this.activeTab.current.offsetWidth,r=this.activeTab.current.offsetLeft;e.transform=`translateX(${r}px)`,e.width=t+"px",e.opacity="1"}else e.opacity="0"}}}c((function(e){return a.createElement("div",{className:s.slider,ref:e.reference})}))}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png b/public/static/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png new file mode 100644 index 0000000..f493b31 Binary files /dev/null and b/public/static/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png differ diff --git a/public/static/charting_library/bundles/7400.30502d5397989951046f.css b/public/static/charting_library/bundles/7400.30502d5397989951046f.css new file mode 100644 index 0000000..61be32a --- /dev/null +++ b/public/static/charting_library/bundles/7400.30502d5397989951046f.css @@ -0,0 +1 @@ +.wrap-3C3rxkDX{bottom:0;cursor:default;pointer-events:all;position:absolute;right:0;top:0;width:8px;will-change:height}.wrap--horizontal-3C3rxkDX{height:8px;left:0;right:0;top:auto;will-change:width}.bar-3C3rxkDX{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0;width:100%;will-change:height,transform}.bar-3C3rxkDX .barInner-3C3rxkDX{background-color:#d1d4dc;border-radius:2px;height:calc(100% - 4px);width:4px}html.theme-dark .bar-3C3rxkDX .barInner-3C3rxkDX{background-color:#50535e}.bar-3C3rxkDX .barInner--horizontal-3C3rxkDX{height:4px;width:calc(100% - 4px)}.bar--horizontal-3C3rxkDX{height:100%;left:0;top:0;width:auto;will-change:width,transform}.scrollWrap-2LZ1ZhWc{pointer-events:none;position:absolute;will-change:visibility}.itemRow-1SBAfF8E{align-items:center;cursor:default;display:flex;height:52px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.itemRow-1SBAfF8E:hover{background-color:#f0f3fa}html.theme-dark .itemRow-1SBAfF8E:hover{background-color:#2a2e39}.itemRow-1SBAfF8E:hover .favoriteButton-1SBAfF8E{opacity:1}}.itemRow-1SBAfF8E.active-1SBAfF8E,html.theme-dark .itemRow-1SBAfF8E.active-1SBAfF8E{background-color:#2962ff}.itemRow-1SBAfF8E.selected-1SBAfF8E{background-color:#bbd9fb}html.theme-dark .itemRow-1SBAfF8E.selected-1SBAfF8E{background-color:#142e61}.itemRow-1SBAfF8E.mobile-1SBAfF8E{height:55px}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E{display:flex;flex-direction:column;overflow:hidden;padding-right:20px}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E{color:#131722;font-size:14px;line-height:21px;margin-bottom:4px;overflow:hidden;white-space:nowrap}html.theme-dark .itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E{color:#b2b5be}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E.active-1SBAfF8E{color:#fff}html.theme-dark .itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E.active-1SBAfF8E{color:#d1d4dc}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E.mobile-1SBAfF8E{font-size:16px;line-height:24px;margin:4px 0 2px}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .details-1SBAfF8E{color:#787b86;font-size:12px;line-height:17px;overflow:hidden;white-space:nowrap}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .details-1SBAfF8E.active-1SBAfF8E{color:#fff}html.theme-dark .itemRow-1SBAfF8E .itemInfo-1SBAfF8E .details-1SBAfF8E.active-1SBAfF8E{color:#d1d4dc}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .details-1SBAfF8E.mobile-1SBAfF8E{margin-bottom:8px}.itemRow-1SBAfF8E .itemInfoWithPadding-1SBAfF8E{padding-left:20px}.itemRow-1SBAfF8E .favoriteButton-1SBAfF8E{margin:0 4px 0 6px}.itemRow-1SBAfF8E .favoriteButton-1SBAfF8E.favorite-1SBAfF8E,.itemRow-1SBAfF8E .favoriteButton-1SBAfF8E.mobile-1SBAfF8E{opacity:1}.itemRow-1SBAfF8E .removeButton-1SBAfF8E{margin-left:auto;margin-right:18px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7400.30502d5397989951046f.rtl.css b/public/static/charting_library/bundles/7400.30502d5397989951046f.rtl.css new file mode 100644 index 0000000..00b02ae --- /dev/null +++ b/public/static/charting_library/bundles/7400.30502d5397989951046f.rtl.css @@ -0,0 +1 @@ +.wrap-3C3rxkDX{bottom:0;cursor:default;left:0;pointer-events:all;position:absolute;top:0;width:8px;will-change:height}.wrap--horizontal-3C3rxkDX{height:8px;left:0;right:0;top:auto;will-change:width}.bar-3C3rxkDX{align-items:center;display:flex;justify-content:center;position:absolute;right:0;top:0;width:100%;will-change:height,transform}.bar-3C3rxkDX .barInner-3C3rxkDX{background-color:#d1d4dc;border-radius:2px;height:calc(100% - 4px);width:4px}html.theme-dark .bar-3C3rxkDX .barInner-3C3rxkDX{background-color:#50535e}.bar-3C3rxkDX .barInner--horizontal-3C3rxkDX{height:4px;width:calc(100% - 4px)}.bar--horizontal-3C3rxkDX{height:100%;right:0;top:0;width:auto;will-change:width,transform}.scrollWrap-2LZ1ZhWc{pointer-events:none;position:absolute;will-change:visibility}.itemRow-1SBAfF8E{align-items:center;cursor:default;display:flex;height:52px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.itemRow-1SBAfF8E:hover{background-color:#f0f3fa}html.theme-dark .itemRow-1SBAfF8E:hover{background-color:#2a2e39}.itemRow-1SBAfF8E:hover .favoriteButton-1SBAfF8E{opacity:1}}.itemRow-1SBAfF8E.active-1SBAfF8E,html.theme-dark .itemRow-1SBAfF8E.active-1SBAfF8E{background-color:#2962ff}.itemRow-1SBAfF8E.selected-1SBAfF8E{background-color:#bbd9fb}html.theme-dark .itemRow-1SBAfF8E.selected-1SBAfF8E{background-color:#142e61}.itemRow-1SBAfF8E.mobile-1SBAfF8E{height:55px}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E{display:flex;flex-direction:column;overflow:hidden;padding-left:20px}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E{color:#131722;font-size:14px;line-height:21px;margin-bottom:4px;overflow:hidden;white-space:nowrap}html.theme-dark .itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E{color:#b2b5be}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E.active-1SBAfF8E{color:#fff}html.theme-dark .itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E.active-1SBAfF8E{color:#d1d4dc}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .title-1SBAfF8E.mobile-1SBAfF8E{font-size:16px;line-height:24px;margin:4px 0 2px}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .details-1SBAfF8E{color:#787b86;font-size:12px;line-height:17px;overflow:hidden;white-space:nowrap}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .details-1SBAfF8E.active-1SBAfF8E{color:#fff}html.theme-dark .itemRow-1SBAfF8E .itemInfo-1SBAfF8E .details-1SBAfF8E.active-1SBAfF8E{color:#d1d4dc}.itemRow-1SBAfF8E .itemInfo-1SBAfF8E .details-1SBAfF8E.mobile-1SBAfF8E{margin-bottom:8px}.itemRow-1SBAfF8E .itemInfoWithPadding-1SBAfF8E{padding-right:20px}.itemRow-1SBAfF8E .favoriteButton-1SBAfF8E{margin:0 6px 0 4px}.itemRow-1SBAfF8E .favoriteButton-1SBAfF8E.favorite-1SBAfF8E,.itemRow-1SBAfF8E .favoriteButton-1SBAfF8E.mobile-1SBAfF8E{opacity:1}.itemRow-1SBAfF8E .removeButton-1SBAfF8E{margin-left:18px;margin-right:auto} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7591.cea4aee1089cbf340ee7.js b/public/static/charting_library/bundles/7591.cea4aee1089cbf340ee7.js new file mode 100644 index 0000000..4802ae9 --- /dev/null +++ b/public/static/charting_library/bundles/7591.cea4aee1089cbf340ee7.js @@ -0,0 +1,2 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7591],{43948:e=>{e.exports={button:"button-xRobF0EE",content:"content-xRobF0EE","icon-only":"icon-only-xRobF0EE","color-brand":"color-brand-xRobF0EE","variant-primary":"variant-primary-xRobF0EE","variant-secondary":"variant-secondary-xRobF0EE","color-gray":"color-gray-xRobF0EE","color-green":"color-green-xRobF0EE","color-red":"color-red-xRobF0EE","size-xsmall":"size-xsmall-xRobF0EE","size-small":"size-small-xRobF0EE","size-medium":"size-medium-xRobF0EE","size-large":"size-large-xRobF0EE","size-xlarge":"size-xlarge-xRobF0EE","with-start-icon":"with-start-icon-xRobF0EE","with-end-icon":"with-end-icon-xRobF0EE","start-icon-wrap":"start-icon-wrap-xRobF0EE","end-icon-wrap":"end-icon-wrap-xRobF0EE",animated:"animated-xRobF0EE",stretch:"stretch-xRobF0EE",grouped:"grouped-xRobF0EE","adjust-position":"adjust-position-xRobF0EE","first-row":"first-row-xRobF0EE","first-col":"first-col-xRobF0EE","no-corner-top-left":"no-corner-top-left-xRobF0EE","no-corner-top-right":"no-corner-top-right-xRobF0EE","no-corner-bottom-right":"no-corner-bottom-right-xRobF0EE","no-corner-bottom-left":"no-corner-bottom-left-xRobF0EE"}},11905:e=>{e.exports={"small-height-breakpoint":"screen and (max-height: 360px)",footer:"footer-KW8170fm",submitButton:"submitButton-KW8170fm",buttons:"buttons-KW8170fm"}},80511:(e,t,n)=>{"use strict";n.d(t,{Button:()=>R});var o=n(67294),r=n(94184),s=n(48413),a=n(49775),i=n(43948),c=n.n(i);function l(e){const{color:t="brand",size:n="medium",variant:o="primary",stretch:a=!1,icon:i,startIcon:l,endIcon:u,iconOnly:m=!1,className:d,isGrouped:b,cellState:E,disablePositionAdjustment:p=!1}=e,h=function(e){let t="";return 0!==e&&(1&e&&(t=r(t,c()["no-corner-top-left"])),2&e&&(t=r(t,c()["no-corner-top-right"])),4&e&&(t=r(t,c()["no-corner-bottom-right"])),8&e&&(t=r(t,c()["no-corner-bottom-left"]))),t}((0,s.getGroupCellRemoveRoundBorders)(E));return r(d,c().button,c()["size-"+n],c()["color-"+t],c()["variant-"+o],a&&c().stretch,(i||l)&&c()["with-start-icon"],u&&c()["with-end-icon"],m&&c()["icon-only"],h,b&&c().grouped,b&&!p&&c()["adjust-position"],b&&E.isTop&&c()["first-row"],b&&E.isLeft&&c()["first-col"])}function u(e){const{size:t,startIcon:n,icon:r,iconOnly:s,children:i,endIcon:l}=e,u=null!=n?n:r;return o.createElement(o.Fragment,null,u&&"xsmall"!==t&&o.createElement(a.Icon,{icon:u,className:c()["start-icon-wrap"]}),i&&o.createElement("span",{className:c().content},i),l&&!s&&"xsmall"!==t&&o.createElement(a.Icon,{icon:l,className:c()["end-icon-wrap"]}))}var m=n(94618),d=n(74818);function b(e){const{className:t,color:n,variant:o,size:r,stretch:s,animated:a,icon:i,iconOnly:c,startIcon:l,endIcon:u,...m}=e;return{...m,...(0,d.filterDataProps)(e),...(0,d.filterAriaProps)(e)}}function E(e){const{reference:t,...n}=e,{isGrouped:r,cellState:s,disablePositionAdjustment:a}=(0,o.useContext)(m.ControlGroupContext),i=l({...n,isGrouped:r,cellState:s,disablePositionAdjustment:a});return o.createElement("button",{...b(n),className:i,ref:t},o.createElement(u,{...n}))} +function p(e="default"){switch(e){case"default":return"primary";case"stroke":return"secondary"}}function h(e="primary"){switch(e){case"primary":return"brand";case"success":return"green";case"default":return"gray";case"danger":return"red"}}function f(e="m"){switch(e){case"s":return"xsmall";case"m":return"small";case"l":return"large"}}function x(e){const{intent:t,size:n,appearance:o,useFullWidth:r,icon:s,...a}=e;return{...a,color:h(t),size:f(n),variant:p(o),stretch:r,startIcon:s}}function R(e){return o.createElement(E,{...x(e)})}},7591:(e,t,n)=>{"use strict";n.d(t,{AdaptiveConfirmDialog:()=>d});var o=n(67294),r=n(94184),s=n.n(r),a=n(80511),i=n(16282),c=n(79881),l=n(42998),u=n(93590),m=n(11905);class d extends o.PureComponent{constructor(){super(...arguments),this._dialogRef=o.createRef(),this._handleClose=()=>{const{defaultActionOnClose:e,onSubmit:t,onCancel:n,onClose:o}=this.props;switch(e){case"submit":t();break;case"cancel":n()}o()},this._handleCancel=()=>{this.props.onCancel(),this.props.onClose()},this._handleKeyDown=e=>{const{onSubmit:t,submitButtonDisabled:n,submitOnEnterKey:o}=this.props;13===(0,l.hashFromEvent)(e)&&o&&(e.preventDefault(),n||t())}}render(){const{render:e,onClose:t,onSubmit:n,onCancel:r,footerLeftRenderer:s,submitButtonText:a,submitButtonDisabled:i,defaultActionOnClose:c,submitOnEnterKey:l,...m}=this.props;return o.createElement(u.AdaptivePopupDialog,{...m,ref:this._dialogRef,onKeyDown:this._handleKeyDown,render:this._renderChildren(),onClose:this._handleClose})}focus(){(0,i.ensureNotNull)(this._dialogRef.current).focus()}_renderChildren(){return e=>{const{render:t,footerLeftRenderer:n,additionalButtons:r,submitButtonText:i,submitButtonDisabled:l,onSubmit:u,cancelButtonText:d,showCancelButton:b=!0,submitButtonClassName:E,cancelButtonClassName:p,buttonsWrapperClassName:h}=this.props;return o.createElement(o.Fragment,null,t(e),o.createElement("div",{className:m.footer},n&&n(e.isSmallWidth),o.createElement("div",{className:s()(m.buttons,h)},r,b&&o.createElement(a.Button,{className:p,name:"cancel",appearance:"stroke",onClick:this._handleCancel},null!=d?d:(0,c.t)("Cancel")),o.createElement("span",{className:m.submitButton},o.createElement(a.Button,{className:E,disabled:l,name:"submit",onClick:u,"data-name":"submit-button"},null!=i?i:(0,c.t)("Ok"))))))}}}d.defaultProps={defaultActionOnClose:"submit",submitOnEnterKey:!0}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/7607.99350c6a482907066b03.css b/public/static/charting_library/bundles/7607.99350c6a482907066b03.css new file mode 100644 index 0000000..d13d5af --- /dev/null +++ b/public/static/charting_library/bundles/7607.99350c6a482907066b03.css @@ -0,0 +1 @@ +.item-f5BaKrKq{vertical-align:middle;white-space:nowrap}.item-f5BaKrKq.interactive-f5BaKrKq{color:#131722}html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq{color:#b2b5be}.item-f5BaKrKq.interactive-f5BaKrKq.hovered-f5BaKrKq,.item-f5BaKrKq.interactive-f5BaKrKq:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.interactive-f5BaKrKq:hover{color:#131722}}html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq.hovered-f5BaKrKq,html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq:hover{color:#c1c4cd}}.item-f5BaKrKq.interactive-f5BaKrKq.hovered-f5BaKrKq,.item-f5BaKrKq.interactive-f5BaKrKq:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.interactive-f5BaKrKq:hover{background-color:#f0f3fa}}html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq.hovered-f5BaKrKq,html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq:hover{background-color:#2a2e39}}.item-f5BaKrKq.disabled-f5BaKrKq{cursor:default;opacity:.3}.item-f5BaKrKq.disabled-f5BaKrKq,.item-f5BaKrKq.disabled-f5BaKrKq:active{background-color:#fff;color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.disabled-f5BaKrKq:hover{background-color:#fff;color:#131722}}html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq,html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq:active{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq:hover{background-color:#1e222d}}html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq,html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq:hover{color:#b2b5be}}.item-f5BaKrKq.active-f5BaKrKq,.item-f5BaKrKq.active-f5BaKrKq:active{background-color:#2962ff;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.active-f5BaKrKq:hover{background-color:#2962ff;color:#fff}}html.theme-dark .item-f5BaKrKq.active-f5BaKrKq,html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:active{background-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:hover{background-color:#2962ff}}html.theme-dark .item-f5BaKrKq.active-f5BaKrKq,html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:active{color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:hover{color:#d1d4dc}}.item-f5BaKrKq.active-f5BaKrKq .shortcut-f5BaKrKq,.item-f5BaKrKq.active-f5BaKrKq:active .shortcut-f5BaKrKq{color:#b2b5beb3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.active-f5BaKrKq:hover .shortcut-f5BaKrKq{color:#b2b5beb3}}html.theme-dark .item-f5BaKrKq.active-f5BaKrKq .shortcut-f5BaKrKq,html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:active .shortcut-f5BaKrKq{color:#787b86b3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:hover .shortcut-f5BaKrKq{color:#787b86b3}}.item-f5BaKrKq.normal-f5BaKrKq{height:32px}.item-f5BaKrKq.big-f5BaKrKq{height:68px}.iconCell-f5BaKrKq{min-width:6px}.icon-f5BaKrKq{align-items:center;display:flex;justify-content:center;padding-left:8px;width:28px}.icon-f5BaKrKq svg{height:28px;width:28px}.icon-f5BaKrKq.checkmark-f5BaKrKq svg{fill:currentColor;height:14px;width:18px}.content-f5BaKrKq{align-items:center;display:flex;max-width:365px;padding-left:6px;padding-right:20px}.label-f5BaKrKq{flex:1 1 auto;font-size:14px;overflow-x:hidden;text-align:left}.toolbox-f5BaKrKq{flex:0 1 auto;line-height:14px;margin-left:10px}.feature-no-mobiletouch .toolbox-f5BaKrKq.showToolboxOnHover-f5BaKrKq{opacity:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.feature-no-mobiletouch .item-f5BaKrKq:hover .toolbox-f5BaKrKq.showToolboxOnHover-f5BaKrKq{opacity:1}}.arrowIcon-f5BaKrKq{flex:0 1 auto;margin-left:10px}.arrowIcon-f5BaKrKq svg{fill:currentColor;height:10px}.shortcut-f5BaKrKq{color:#9598a1;flex:0 1 auto;font-size:12px;margin-left:10px;padding-top:2px}html.theme-dark .shortcut-f5BaKrKq{color:#5d606b}.subMenu-f5BaKrKq{height:0}.invisibleHotkey-f5BaKrKq{visibility:hidden}.item-1-SF84yU{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:flex-start;padding:8px 8px 8px 42px;position:relative}.item-1-SF84yU.emptyIcons-1-SF84yU{padding-left:20px}.item-1-SF84yU.loading-1-SF84yU{justify-content:center;position:relative}.item-1-SF84yU.disabled-1-SF84yU{cursor:default;opacity:.3}.item-1-SF84yU.disabled-1-SF84yU,.item-1-SF84yU.disabled-1-SF84yU:active{background-color:#fff;color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-1-SF84yU.disabled-1-SF84yU:hover{background-color:#fff;color:#131722}}html.theme-dark .item-1-SF84yU.disabled-1-SF84yU,html.theme-dark .item-1-SF84yU.disabled-1-SF84yU:active{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-1-SF84yU.disabled-1-SF84yU:hover{background-color:#1e222d}}html.theme-dark .item-1-SF84yU.disabled-1-SF84yU,html.theme-dark .item-1-SF84yU.disabled-1-SF84yU:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-1-SF84yU.disabled-1-SF84yU:hover{color:#b2b5be}}.item-1-SF84yU.interactive-1-SF84yU{color:#131722}html.theme-dark .item-1-SF84yU.interactive-1-SF84yU{color:#b2b5be}.item-1-SF84yU.interactive-1-SF84yU.hovered-1-SF84yU,.item-1-SF84yU.interactive-1-SF84yU:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-1-SF84yU.interactive-1-SF84yU:hover{color:#131722}}html.theme-dark .item-1-SF84yU.interactive-1-SF84yU.hovered-1-SF84yU,html.theme-dark .item-1-SF84yU.interactive-1-SF84yU:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-1-SF84yU.interactive-1-SF84yU:hover{color:#c1c4cd}}.item-1-SF84yU.interactive-1-SF84yU.hovered-1-SF84yU,.item-1-SF84yU.interactive-1-SF84yU:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-1-SF84yU.interactive-1-SF84yU:hover{background-color:#f0f3fa}}html.theme-dark .item-1-SF84yU.interactive-1-SF84yU.hovered-1-SF84yU,html.theme-dark .item-1-SF84yU.interactive-1-SF84yU:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-1-SF84yU.interactive-1-SF84yU:hover{background-color:#2a2e39}}.item-1-SF84yU.normal-1-SF84yU{min-height:40px}.item-1-SF84yU.big-1-SF84yU{min-height:68px}.icon-1-SF84yU{align-items:center;color:#131722;display:flex;height:28px;justify-content:center;left:8px;position:absolute;top:6px;width:28px}html.theme-dark .icon-1-SF84yU{color:#b2b5be}.label-1-SF84yU{color:#131722;font-size:16px;line-height:24px;margin-right:8px;max-width:100%;word-break:break-word}html.theme-dark .label-1-SF84yU{color:#b2b5be}.title-1-SF84yU{font-weight:700}.nested-1-SF84yU{align-items:center;align-self:center;display:flex;height:18px;justify-content:center;margin-left:auto;width:18px}.shortcut-1-SF84yU{line-height:24px;margin-left:auto;margin-right:8px;padding:0}.remove-1-SF84yU{align-items:center;color:#131722;display:flex;height:24px;margin-left:auto;margin-right:8px}html.theme-dark .remove-1-SF84yU{color:#b2b5be} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7607.99350c6a482907066b03.rtl.css b/public/static/charting_library/bundles/7607.99350c6a482907066b03.rtl.css new file mode 100644 index 0000000..b60f37a --- /dev/null +++ b/public/static/charting_library/bundles/7607.99350c6a482907066b03.rtl.css @@ -0,0 +1 @@ +.item-f5BaKrKq{vertical-align:middle;white-space:nowrap}.item-f5BaKrKq.interactive-f5BaKrKq{color:#131722}html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq{color:#b2b5be}.item-f5BaKrKq.interactive-f5BaKrKq.hovered-f5BaKrKq,.item-f5BaKrKq.interactive-f5BaKrKq:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.interactive-f5BaKrKq:hover{color:#131722}}html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq.hovered-f5BaKrKq,html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq:hover{color:#c1c4cd}}.item-f5BaKrKq.interactive-f5BaKrKq.hovered-f5BaKrKq,.item-f5BaKrKq.interactive-f5BaKrKq:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.interactive-f5BaKrKq:hover{background-color:#f0f3fa}}html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq.hovered-f5BaKrKq,html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.interactive-f5BaKrKq:hover{background-color:#2a2e39}}.item-f5BaKrKq.disabled-f5BaKrKq{cursor:default;opacity:.3}.item-f5BaKrKq.disabled-f5BaKrKq,.item-f5BaKrKq.disabled-f5BaKrKq:active{background-color:#fff;color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.disabled-f5BaKrKq:hover{background-color:#fff;color:#131722}}html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq,html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq:active{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq:hover{background-color:#1e222d}}html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq,html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.disabled-f5BaKrKq:hover{color:#b2b5be}}.item-f5BaKrKq.active-f5BaKrKq,.item-f5BaKrKq.active-f5BaKrKq:active{background-color:#2962ff;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.active-f5BaKrKq:hover{background-color:#2962ff;color:#fff}}html.theme-dark .item-f5BaKrKq.active-f5BaKrKq,html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:active{background-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:hover{background-color:#2962ff}}html.theme-dark .item-f5BaKrKq.active-f5BaKrKq,html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:active{color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:hover{color:#d1d4dc}}.item-f5BaKrKq.active-f5BaKrKq .shortcut-f5BaKrKq,.item-f5BaKrKq.active-f5BaKrKq:active .shortcut-f5BaKrKq{color:#b2b5beb3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-f5BaKrKq.active-f5BaKrKq:hover .shortcut-f5BaKrKq{color:#b2b5beb3}}html.theme-dark .item-f5BaKrKq.active-f5BaKrKq .shortcut-f5BaKrKq,html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:active .shortcut-f5BaKrKq{color:#787b86b3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-f5BaKrKq.active-f5BaKrKq:hover .shortcut-f5BaKrKq{color:#787b86b3}}.item-f5BaKrKq.normal-f5BaKrKq{height:32px}.item-f5BaKrKq.big-f5BaKrKq{height:68px}.iconCell-f5BaKrKq{min-width:6px}.icon-f5BaKrKq{align-items:center;display:flex;justify-content:center;padding-right:8px;width:28px}.icon-f5BaKrKq svg{height:28px;width:28px}.icon-f5BaKrKq.checkmark-f5BaKrKq svg{fill:currentColor;height:14px;width:18px}.content-f5BaKrKq{align-items:center;display:flex;max-width:365px;padding-left:20px;padding-right:6px}.label-f5BaKrKq{flex:1 1 auto;font-size:14px;overflow-x:hidden;text-align:right}.toolbox-f5BaKrKq{flex:0 1 auto;line-height:14px;margin-right:10px}.feature-no-mobiletouch .toolbox-f5BaKrKq.showToolboxOnHover-f5BaKrKq{opacity:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.feature-no-mobiletouch .item-f5BaKrKq:hover .toolbox-f5BaKrKq.showToolboxOnHover-f5BaKrKq{opacity:1}}.arrowIcon-f5BaKrKq{flex:0 1 auto;margin-right:10px}.arrowIcon-f5BaKrKq svg{fill:currentColor;height:10px;transform:scaleX(-1)}.shortcut-f5BaKrKq{color:#9598a1;flex:0 1 auto;font-size:12px;margin-right:10px;padding-top:2px}html.theme-dark .shortcut-f5BaKrKq{color:#5d606b}.subMenu-f5BaKrKq{height:0}.invisibleHotkey-f5BaKrKq{visibility:hidden}.item-1-SF84yU{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:flex-start;padding:8px 42px 8px 8px;position:relative}.item-1-SF84yU.emptyIcons-1-SF84yU{padding-right:20px}.item-1-SF84yU.loading-1-SF84yU{justify-content:center;position:relative}.item-1-SF84yU.disabled-1-SF84yU{cursor:default;opacity:.3}.item-1-SF84yU.disabled-1-SF84yU,.item-1-SF84yU.disabled-1-SF84yU:active{background-color:#fff;color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-1-SF84yU.disabled-1-SF84yU:hover{background-color:#fff;color:#131722}}html.theme-dark .item-1-SF84yU.disabled-1-SF84yU,html.theme-dark .item-1-SF84yU.disabled-1-SF84yU:active{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-1-SF84yU.disabled-1-SF84yU:hover{background-color:#1e222d}}html.theme-dark .item-1-SF84yU.disabled-1-SF84yU,html.theme-dark .item-1-SF84yU.disabled-1-SF84yU:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-1-SF84yU.disabled-1-SF84yU:hover{color:#b2b5be}}.item-1-SF84yU.interactive-1-SF84yU{color:#131722}html.theme-dark .item-1-SF84yU.interactive-1-SF84yU{color:#b2b5be}.item-1-SF84yU.interactive-1-SF84yU.hovered-1-SF84yU,.item-1-SF84yU.interactive-1-SF84yU:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-1-SF84yU.interactive-1-SF84yU:hover{color:#131722}}html.theme-dark .item-1-SF84yU.interactive-1-SF84yU.hovered-1-SF84yU,html.theme-dark .item-1-SF84yU.interactive-1-SF84yU:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-1-SF84yU.interactive-1-SF84yU:hover{color:#c1c4cd}}.item-1-SF84yU.interactive-1-SF84yU.hovered-1-SF84yU,.item-1-SF84yU.interactive-1-SF84yU:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-1-SF84yU.interactive-1-SF84yU:hover{background-color:#f0f3fa}}html.theme-dark .item-1-SF84yU.interactive-1-SF84yU.hovered-1-SF84yU,html.theme-dark .item-1-SF84yU.interactive-1-SF84yU:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-1-SF84yU.interactive-1-SF84yU:hover{background-color:#2a2e39}}.item-1-SF84yU.normal-1-SF84yU{min-height:40px}.item-1-SF84yU.big-1-SF84yU{min-height:68px}.icon-1-SF84yU{align-items:center;color:#131722;display:flex;height:28px;justify-content:center;position:absolute;right:8px;top:6px;width:28px}html.theme-dark .icon-1-SF84yU{color:#b2b5be}.label-1-SF84yU{color:#131722;font-size:16px;line-height:24px;margin-left:8px;max-width:100%;word-break:break-word}html.theme-dark .label-1-SF84yU{color:#b2b5be}.title-1-SF84yU{font-weight:700}.nested-1-SF84yU,.title-1-SF84yU .icon-1-SF84yU{transform:scaleX(-1)}.nested-1-SF84yU{align-items:center;align-self:center;display:flex;height:18px;justify-content:center;margin-right:auto;width:18px}.shortcut-1-SF84yU{line-height:24px;margin-left:8px;margin-right:auto;padding:0}.remove-1-SF84yU{align-items:center;color:#131722;display:flex;height:24px;margin-left:8px;margin-right:auto}html.theme-dark .remove-1-SF84yU{color:#b2b5be} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.css b/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.css new file mode 100644 index 0000000..726cb64 --- /dev/null +++ b/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.css @@ -0,0 +1 @@ +.menuWrap-g78rwseC{background-color:#fff;border-radius:3px;box-shadow:0 2px 4px #0003;box-sizing:border-box;text-align:left;-webkit-user-select:none;user-select:none;z-index:100}html.theme-dark .menuWrap-g78rwseC{background-color:#1e222d;box-shadow:0 2px 4px #0006}.menuWrap-g78rwseC.isMeasuring-g78rwseC{opacity:0;pointer-events:none;position:fixed;visibility:hidden}.menuWrap-g78rwseC:focus{outline:none}.scrollWrap-g78rwseC{height:100%;overflow-x:hidden;overflow-y:auto}.scrollWrap-g78rwseC.momentumBased-g78rwseC{-webkit-overflow-scrolling:touch}.scrollWrap-g78rwseC::-webkit-scrollbar{height:5px;width:5px}.scrollWrap-g78rwseC::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollWrap-g78rwseC::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollWrap-g78rwseC::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollWrap-g78rwseC::-webkit-scrollbar-corner{display:none}.menuBox-g78rwseC{padding:6px 0}.isHidden-g78rwseC{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.rtl.css b/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.rtl.css new file mode 100644 index 0000000..fa7b0e8 --- /dev/null +++ b/public/static/charting_library/bundles/7610.9e79032a52ca259701ef.rtl.css @@ -0,0 +1 @@ +.menuWrap-g78rwseC{background-color:#fff;border-radius:3px;box-shadow:0 2px 4px #0003;box-sizing:border-box;text-align:right;-webkit-user-select:none;user-select:none;z-index:100}html.theme-dark .menuWrap-g78rwseC{background-color:#1e222d;box-shadow:0 2px 4px #0006}.menuWrap-g78rwseC.isMeasuring-g78rwseC{opacity:0;pointer-events:none;position:fixed;visibility:hidden}.menuWrap-g78rwseC:focus{outline:none}.scrollWrap-g78rwseC{height:100%;overflow-x:hidden;overflow-y:auto}.scrollWrap-g78rwseC.momentumBased-g78rwseC{-webkit-overflow-scrolling:touch}.scrollWrap-g78rwseC::-webkit-scrollbar{height:5px;width:5px}.scrollWrap-g78rwseC::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollWrap-g78rwseC::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollWrap-g78rwseC::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollWrap-g78rwseC::-webkit-scrollbar-corner{display:none}.menuBox-g78rwseC{padding:6px 0}.isHidden-g78rwseC{display:none} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7703.be823882173b57ef030c.js b/public/static/charting_library/bundles/7703.be823882173b57ef030c.js new file mode 100644 index 0000000..cd51e40 --- /dev/null +++ b/public/static/charting_library/bundles/7703.be823882173b57ef030c.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7703],{8679:(e,n,t)=>{var r=t(21296),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},u={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function s(e){return r.isMemo(e)?a:i[e.$$typeof]||o}i[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[r.Memo]=a;var c=Object.defineProperty,p=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,l=Object.getPrototypeOf,v=Object.prototype;e.exports=function e(n,t,r){if("string"!=typeof t){if(v){var o=l(t);o&&o!==v&&e(n,o,r)}var a=p(t);f&&(a=a.concat(f(t)));for(var i=s(n),h=s(t),m=0;m{t.d(n,{Provider:()=>c,connect:()=>U});var r=t(67294),o=(t(45697),r.createContext(null));var u=function(e){e()},a=function(){return u},i={notify:function(){}};var s=function(){function e(e,n){this.store=e,this.parentSub=n,this.unsubscribe=null,this.listeners=i,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var n=e.prototype;return n.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},n.notifyNestedSubs=function(){this.listeners.notify()},n.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},n.isSubscribed=function(){return Boolean(this.unsubscribe)},n.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=function(){var e=a(),n=null,t=null;return{clear:function(){n=null,t=null},notify:function(){e((function(){for(var e=n;e;)e.callback(),e=e.next}))},get:function(){for(var e=[],t=n;t;)e.push(t),t=t.next;return e},subscribe:function(e){var r=!0,o=t={callback:e,next:null,prev:t};return o.prev?o.prev.next=o:n=o,function(){r&&null!==n&&(r=!1,o.next?o.next.prev=o.prev:t=o.prev,o.prev?o.prev.next=o.next:n=o.next)}}}}())},n.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=i)},e}();const c=function(e){var n=e.store,t=e.context,u=e.children,a=(0,r.useMemo)((function(){var e=new s(n);return e.onStateChange=e.notifyNestedSubs,{store:n,subscription:e}}),[n]),i=(0,r.useMemo)((function(){return n.getState()}),[n]);(0,r.useEffect)((function(){var e=a.subscription;return e.trySubscribe(),i!==n.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[a,i]);var c=t||o;return r.createElement(c.Provider,{value:a},u)} +;var p=t(87462),f=t(63366),d=t(8679),l=t.n(d),v=t(72973),h="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect,m=[],y=[null,null];function b(e,n){var t=e[1];return[n.payload,t+1]}function P(e,n,t){h((function(){return e.apply(void 0,n)}),t)}function g(e,n,t,r,o,u,a){e.current=r,n.current=o,t.current=!1,u.current&&(u.current=null,a())}function w(e,n,t,r,o,u,a,i,s,c){if(e){var p=!1,f=null,d=function(){if(!p){var e,t,d=n.getState();try{e=r(d,o.current)}catch(e){t=e,f=e}t||(f=null),e===u.current?a.current||s():(u.current=e,i.current=e,a.current=!0,c({type:"STORE_UPDATED",payload:{error:t}}))}};t.onStateChange=d,t.trySubscribe(),d();return function(){if(p=!0,t.tryUnsubscribe(),t.onStateChange=null,f)throw f}}}var S=function(){return[null,0]};function O(e,n){void 0===n&&(n={});var t=n,u=t.getDisplayName,a=void 0===u?function(e){return"ConnectAdvanced("+e+")"}:u,i=t.methodName,c=void 0===i?"connectAdvanced":i,d=t.renderCountProp,h=void 0===d?void 0:d,O=t.shouldHandleStateChanges,C=void 0===O||O,E=t.storeKey,N=void 0===E?"store":E,M=(t.withRef,t.forwardRef),T=void 0!==M&&M,x=t.context,q=void 0===x?o:x,D=(0,f.default)(t,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]),R=q;return function(n){var t=n.displayName||n.name||"Component",o=a(t),u=(0,p.default)({},D,{getDisplayName:a,methodName:c,renderCountProp:h,shouldHandleStateChanges:C,storeKey:N,displayName:o,wrappedComponentName:t,WrappedComponent:n}),i=D.pure;var d=i?r.useMemo:function(e){return e()};function O(t){var o=(0,r.useMemo)((function(){var e=t.forwardedRef,n=(0,f.default)(t,["forwardedRef"]);return[t.context,e,n]}),[t]),a=o[0],i=o[1],c=o[2],l=(0,r.useMemo)((function(){return a&&a.Consumer&&(0,v.isContextConsumer)(r.createElement(a.Consumer,null))?a:R}),[a,R]),h=(0,r.useContext)(l),O=Boolean(t.store)&&Boolean(t.store.getState)&&Boolean(t.store.dispatch);Boolean(h)&&Boolean(h.store);var E=O?t.store:h.store,N=(0,r.useMemo)((function(){return function(n){return e(n.dispatch,u)}(E)}),[E]),M=(0,r.useMemo)((function(){if(!C)return y;var e=new s(E,O?null:h.subscription),n=e.notifyNestedSubs.bind(e);return[e,n]}),[E,O,h]),T=M[0],x=M[1],q=(0,r.useMemo)((function(){return O?h:(0,p.default)({},h,{subscription:T})}),[O,h,T]),D=(0,r.useReducer)(b,m,S),j=D[0][0],k=D[1];if(j&&j.error)throw j.error;var B=(0,r.useRef)(),W=(0,r.useRef)(c),F=(0,r.useRef)(),$=(0,r.useRef)(!1),H=d((function(){return F.current&&c===W.current?F.current:N(E.getState(),c)}),[E,j,c]);P(g,[W,B,$,c,H,F,x]),P(w,[C,E,T,N,W,B,$,F,x,k],[E,T,N]);var U=(0,r.useMemo)((function(){return r.createElement(n,(0,p.default)({},H,{ref:i}))}),[i,n,H]);return(0,r.useMemo)((function(){return C?r.createElement(l.Provider,{value:q},U):U}),[l,U,q])}var E=i?r.memo(O):O;if(E.WrappedComponent=n,E.displayName=o,T){var M=r.forwardRef((function(e,n){return r.createElement(E,(0,p.default)({},e,{forwardedRef:n}))}));return M.displayName=o,M.WrappedComponent=n,l()(M,n)}return l()(E,n)}} +function C(e,n){return e===n?0!==e||0!==n||1/e==1/n:e!=e&&n!=n}function E(e,n){if(C(e,n))return!0;if("object"!=typeof e||null===e||"object"!=typeof n||null===n)return!1;var t=Object.keys(e),r=Object.keys(n);if(t.length!==r.length)return!1;for(var o=0;o=0;r--){var o=n[r](e);if(o)return o}return function(n,r){throw new Error("Invalid value of type "+typeof e+" for "+t+" argument when connecting component "+r.wrappedComponentName+".")}}function $(e,n){return e===n}function H(e){var n=void 0===e?{}:e,t=n.connectHOC,r=void 0===t?O:t,o=n.mapStateToPropsFactories,u=void 0===o?D:o,a=n.mapDispatchToPropsFactories,i=void 0===a?q:a,s=n.mergePropsFactories,c=void 0===s?j:s,d=n.selectorFactory,l=void 0===d?W:d;return function(e,n,t,o){void 0===o&&(o={});var a=o,s=a.pure,d=void 0===s||s,v=a.areStatesEqual,h=void 0===v?$:v,m=a.areOwnPropsEqual,y=void 0===m?E:m,b=a.areStatePropsEqual,P=void 0===b?E:b,g=a.areMergedPropsEqual,w=void 0===g?E:g,S=(0, +f.default)(a,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),O=F(e,u,"mapStateToProps"),C=F(n,i,"mapDispatchToProps"),N=F(t,c,"mergeProps");return r(l,(0,p.default)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:O,initMapDispatchToProps:C,initMergeProps:N,pure:d,areStatesEqual:h,areOwnPropsEqual:y,areStatePropsEqual:P,areMergedPropsEqual:w},S))}}const U=H();var A,K=t(73935);A=K.unstable_batchedUpdates,u=A}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.css b/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.css new file mode 100644 index 0000000..4936cc4 --- /dev/null +++ b/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.css @@ -0,0 +1 @@ +.footer-3r-9t_XG{align-items:center;background-color:#f8f9fd;border-radius:0 0 6px 6px;box-sizing:border-box;color:#787b86;cursor:default;display:flex;flex:0 0 auto;font-size:13px;justify-content:center;line-height:17px;max-height:65px;min-height:40px;padding:9px 20px;text-align:center}html.theme-dark .footer-3r-9t_XG{background-color:#2a2e39} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.rtl.css b/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.rtl.css new file mode 100644 index 0000000..4936cc4 --- /dev/null +++ b/public/static/charting_library/bundles/7757.6d2b490c3cc2ed78d4dd.rtl.css @@ -0,0 +1 @@ +.footer-3r-9t_XG{align-items:center;background-color:#f8f9fd;border-radius:0 0 6px 6px;box-sizing:border-box;color:#787b86;cursor:default;display:flex;flex:0 0 auto;font-size:13px;justify-content:center;line-height:17px;max-height:65px;min-height:40px;padding:9px 20px;text-align:center}html.theme-dark .footer-3r-9t_XG{background-color:#2a2e39} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7799.681df0cf83dba8ef3cc5.js b/public/static/charting_library/bundles/7799.681df0cf83dba8ef3cc5.js new file mode 100644 index 0000000..83fda8a --- /dev/null +++ b/public/static/charting_library/bundles/7799.681df0cf83dba8ef3cc5.js @@ -0,0 +1,4 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7799],{75831:e=>{e.exports={itemRow:"itemRow-1SBAfF8E",favoriteButton:"favoriteButton-1SBAfF8E",active:"active-1SBAfF8E",selected:"selected-1SBAfF8E",mobile:"mobile-1SBAfF8E",itemInfo:"itemInfo-1SBAfF8E",title:"title-1SBAfF8E",details:"details-1SBAfF8E",itemInfoWithPadding:"itemInfoWithPadding-1SBAfF8E",favorite:"favorite-1SBAfF8E",removeButton:"removeButton-1SBAfF8E"}},65561:e=>{e.exports={scrollWrap:"scrollWrap-2LZ1ZhWc"}},53123:e=>{e.exports={wrap:"wrap-3C3rxkDX","wrap--horizontal":"wrap--horizontal-3C3rxkDX",bar:"bar-3C3rxkDX",barInner:"barInner-3C3rxkDX","barInner--horizontal":"barInner--horizontal-3C3rxkDX","bar--horizontal":"bar--horizontal-3C3rxkDX"}},69560:e=>{e.exports={favorite:"favorite-I_fAY9V2",disabled:"disabled-I_fAY9V2",active:"active-I_fAY9V2",checked:"checked-I_fAY9V2"}},66549:e=>{e.exports={"tablet-small-breakpoint":"screen and (max-width: 428px)",item:"item-2IihgTnv",hovered:"hovered-2IihgTnv",isDisabled:"isDisabled-2IihgTnv",isActive:"isActive-2IihgTnv",shortcut:"shortcut-2IihgTnv",toolbox:"toolbox-2IihgTnv",withIcon:"withIcon-2IihgTnv",icon:"icon-2IihgTnv",labelRow:"labelRow-2IihgTnv",label:"label-2IihgTnv",showOnHover:"showOnHover-2IihgTnv"}},15169:e=>{e.exports={button:"button-3B9fDLtm",disabled:"disabled-3B9fDLtm",active:"active-3B9fDLtm",hidden:"hidden-3B9fDLtm"}},62638:(e,t,n)=>{"use strict";n.d(t,{DialogContentItem:()=>v});var o=n(67294),r=n(94184),i=n.n(r),l=n(43367),s=n(65043),c=n(14303);function a(e){const{url:t,...n}=e;return t?o.createElement("a",{...n,href:t}):o.createElement("div",{...n})}var u=n(75831);function v(e){const{title:t,subtitle:n,removeBtnLabel:r,onClick:v,onClickFavorite:f,onClickRemove:m,isActive:h,isSelected:g,isFavorite:b,isMobile:p=!1,showFavorite:E=!0,...C}=e;return o.createElement(a,{...C,className:i()(u.itemRow,h&&!g&&u.active,p&&u.mobile,g&&u.selected),onClick:d.bind(null,v),"data-role":"list-item","data-active":h},E&&f&&o.createElement(s.FavoriteButton,{className:i()(u.favoriteButton,b&&u.favorite,l.CheckMobile.any()&&u.mobile),isActive:h&&!g,isFilled:b,onClick:d.bind(null,f),"data-name":"list-item-favorite-button","data-favorite":b}),o.createElement("div",{className:i()(u.itemInfo,!E&&u.itemInfoWithPadding)},o.createElement("div",{className:i()(u.title,h&&!g&&u.active,p&&u.mobile),"data-name":"list-item-title"},t),o.createElement("div",{className:i()(u.details,h&&!g&&u.active,p&&u.mobile)},n)),o.createElement(c.RemoveButton,{className:u.removeButton,isActive:h&&!g,onClick:d.bind(null,m),"data-name":"list-item-remove-button",title:r}))}function d(e,t){t.defaultPrevented||(t.preventDefault(),e(t))}},27947:(e,t,n)=>{"use strict";n.d(t,{OverlayScrollContainer:()=>f});var o=n(67294),r=n(94184),i=n.n(r),l=n(16282),s=n(57968),c=n(76553);const a=n(53123);function u(e){const{size:t,scrollSize:n,clientSize:r,scrollProgress:u,onScrollProgressChange:v,horizontal:d,theme:f=a,onDragStart:m,onDragEnd:h,minBarSize:g=40}=e,b=(0,o.useRef)(null),p=(0,o.useRef)(null),[E,C]=(0,o.useState)(!1),w=(0,o.useRef)(0) +;(0,o.useEffect)(()=>{const e=(0,l.ensureNotNull)(b.current).ownerDocument;return E?(m&&m(),e&&(e.addEventListener("mousemove",x),e.addEventListener("mouseup",L))):h&&h(),()=>{e&&(e.removeEventListener("mousemove",x),e.removeEventListener("mouseup",L))}},[E]);const N=t/n||0,k=r*N||0,S=Math.max(k,g),D=(t-S)/(t-k),I=function(e){if((0,c.isRtl)()&&d)return e-n+r;return e}((0,s.clamp)(u,0,n-t));return o.createElement("div",{ref:b,className:i()(f.wrap,d&&f["wrap--horizontal"]),style:{[d?"width":"height"]:t},onMouseDown:function(e){if(e.isDefaultPrevented())return;e.preventDefault();const o=(0,l.ensureNotNull)(p.current).getBoundingClientRect();w.current=(d?o.width:o.height)/2;const r=n-t;let i=B(e.nativeEvent,(0,l.ensureNotNull)(b.current))-w.current;i<0?(i=0,w.current=B(e.nativeEvent,(0,l.ensureNotNull)(b.current))):i>r*N*D&&(i=r*N*D,w.current=B(e.nativeEvent,(0,l.ensureNotNull)(b.current))-i);v(i/N/D),C(!0)}},o.createElement("div",{ref:p,className:i()(f.bar,d&&f["bar--horizontal"]),style:{[d?"minWidth":"minHeight"]:g,[d?"width":"height"]:S,transform:`translate${d?"X":"Y"}(${I*N*D||0}px)`},onMouseDown:function(e){e.preventDefault(),w.current=B(e.nativeEvent,(0,l.ensureNotNull)(p.current)),C(!0)}},o.createElement("div",{className:i()(f.barInner,d&&f["barInner--horizontal"])})));function x(e){const t=B(e,(0,l.ensureNotNull)(b.current))-w.current;v(t/N/D)}function L(e){C(!1)}function B(e,t){const n=t.getBoundingClientRect();return d?e.clientX-n.left:e.clientY-n.top}}var v=n(11086),d=n(65561);function f(e){const{reference:t,className:n,containerHeight:i=0,containerWidth:l=0,contentHeight:s=0,contentWidth:c=0,scrollPosTop:a=0,scrollPosLeft:f=0,onVerticalChange:m,onHorizontalChange:h,visible:g}=e,[b,p]=(0,v.useHover)(),[E,C]=(0,o.useState)(!1),w=i{"use strict";n.d(t,{FavoriteButton:()=>v});var o=n(79881),r=n(67294),i=n(94184),l=n(49775),s=n(72579),c=n(23204),a=n(69560);const u={add:(0,o.t)("Add to favorites"),remove:(0,o.t)("Remove from favorites")};function v(e){const{className:t,isFilled:n,isActive:o,onClick:v,...d}=e;return r.createElement(l.Icon,{...d,className:i(a.favorite,"apply-common-tooltip",n&&a.checked,o&&a.active,t),icon:n?s:c,onClick:v,title:n?u.remove:u.add})}},88098:(e,t,n)=>{"use strict";n.d(t,{useDimensions:()=>r});var o=n(67294);function r(){const[e,t]=(0,o.useState)(null);return[(0,o.useCallback)(n=>{n.width===(null==e?void 0:e.width)&&n.height===e.height||t(n)},[e]),e]}},11086:(e,t,n)=>{"use strict";n.d(t,{hoverMouseEventFilter:()=>i,useAccurateHover:()=>l,useHover:()=>r});var o=n(67294);function r(){ +const[e,t]=(0,o.useState)(!1);return[e,{onMouseOver:function(e){i(e)&&t(!0)},onMouseOut:function(e){i(e)&&t(!1)}}]}function i(e){return!e.currentTarget.contains(e.relatedTarget)}function l(e){const[t,n]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{const t=t=>{if(null===e.current)return;const o=e.current.contains(t.target);n(o)};return document.addEventListener("mouseover",t),()=>document.removeEventListener("mouseover",t)},[]),t}},77400:(e,t,n)=>{"use strict";n.d(t,{useOverlayScroll:()=>c});var o=n(67294),r=n(16282),i=n(11086),l=n(43367);const s={onMouseOver:()=>{},onMouseOut:()=>{}};function c(e,t=l.CheckMobile.any()){const n=(0,o.useRef)(null),c=e||(0,o.useRef)(null),[a,u]=(0,i.useHover)(),[v,d]=(0,o.useState)({reference:n,containerHeight:0,containerWidth:0,contentHeight:0,contentWidth:0,scrollPosTop:0,scrollPosLeft:0,onVerticalChange:function(e){d(t=>({...t,scrollPosTop:e})),(0,r.ensureNotNull)(c.current).scrollTop=e},onHorizontalChange:function(e){d(t=>({...t,scrollPosLeft:e})),(0,r.ensureNotNull)(c.current).scrollLeft=e},visible:a}),f=(0,o.useCallback)(()=>{if(!c.current)return;const{clientHeight:e,scrollHeight:t,scrollTop:o,clientWidth:r,scrollWidth:i,scrollLeft:l}=c.current,s=n.current?n.current.offsetTop:0;d(n=>({...n,containerHeight:e-s,contentHeight:t-s,scrollPosTop:o,containerWidth:r,contentWidth:i,scrollPosLeft:l}))},[]);function m(){d(e=>({...e,scrollPosTop:(0,r.ensureNotNull)(c.current).scrollTop,scrollPosLeft:(0,r.ensureNotNull)(c.current).scrollLeft}))}return(0,o.useEffect)(()=>{a&&f(),d(e=>({...e,visible:a}))},[a]),(0,o.useEffect)(()=>{const e=c.current;return e&&e.addEventListener("scroll",m),()=>{e&&e.removeEventListener("scroll",m)}},[c]),[v,t?s:u,c,f]}},95860:(e,t,n)=>{"use strict";n.d(t,{DEFAULT_POPUP_MENU_ITEM_THEME:()=>a,PopupMenuItem:()=>d});var o=n(67294),r=n(94184),i=n(79424),l=n(87438),s=n(74818),c=n(66549);const a=c;function u(e){const{reference:t,...n}=e,r={...n,ref:t};return o.createElement(e.href?"a":"div",r)}function v(e){e.stopPropagation()}function d(e){const{id:t,role:n,"aria-selected":a,className:d,title:f,labelRowClassName:m,labelClassName:h,shortcut:g,forceShowShortcuts:b,icon:p,isActive:E,isDisabled:C,isHovered:w,appearAsDisabled:N,label:k,link:S,showToolboxOnHover:D,target:I,rel:x,toolbox:L,reference:B,onMouseOut:M,onMouseOver:P,suppressToolboxClick:A=!0,theme:T=c}=e,z=(0,s.filterDataProps)(e),O=(0,o.useRef)(null);return o.createElement(u,{...z,id:t,role:n,"aria-selected":a,className:r(d,T.item,p&&T.withIcon,{[T.isActive]:E,[T.isDisabled]:C||N,[T.hovered]:w}),title:f,href:S,target:I,rel:x,reference:function(e){O.current=e,"function"==typeof B&&B(e);"object"==typeof B&&(B.current=e)},onClick:function(t){const{dontClosePopup:n,onClick:o,onClickArg:r,trackEventObject:s}=e;if(C)return;s&&(0,l.trackEvent)(s.category,s.event,s.label);o&&o(r,t);n||(0,i.globalCloseMenu)()},onContextMenu:function(t){const{trackEventObject:n,trackRightClick:o}=e;n&&o&&(0,l.trackEvent)(n.category,n.event,n.label+"_rightClick")},onMouseUp:function(t){const{trackEventObject:n,trackMouseWheelClick:o}=e +;if(1===t.button&&S&&n){let e=n.label;o&&(e+="_mouseWheelClick"),(0,l.trackEvent)(n.category,n.event,e)}},onMouseOver:P,onMouseOut:M},void 0!==p&&o.createElement("div",{className:T.icon,dangerouslySetInnerHTML:{__html:p}}),o.createElement("div",{className:r(T.labelRow,m)},o.createElement("div",{className:r(T.label,h)},k)),(void 0!==g||b)&&o.createElement("div",{className:T.shortcut},(H=g)&&H.split("+").join(" + ")),void 0!==L&&o.createElement("div",{onClick:A?v:void 0,className:r(T.toolbox,{[T.showOnHover]:D})},L));var H}},76420:(e,t,n)=>{"use strict";n.d(t,{PopupMenu:()=>a});var o=n(67294),r=n(73935),i=n(4735),l=n(90901),s=n(94884),c=n(47165);function a(e){const{controller:t,children:n,isOpened:a,closeOnClickOutside:u=!0,doNotCloseOn:v,onClickOutside:d,onClose:f,...m}=e,h=(0,o.useContext)(s.CloseDelegateContext),g=(0,c.useOutsideEvent)({handler:function(e){d&&d(e);if(!u)return;if(v&&e.target instanceof Node){const t=r.findDOMNode(v);if(t instanceof Node&&t.contains(e.target))return}f()},mouseDown:!0,touchStart:!0});return a?o.createElement(i.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},o.createElement("span",{ref:g,style:{pointerEvents:"auto"}},o.createElement(l.Menu,{...m,onClose:f,onScroll:function(t){const{onScroll:n}=e;n&&n(t)},customCloseDelegate:h,ref:t},n))):null}},14303:(e,t,n)=>{"use strict";n.d(t,{RemoveButton:()=>u});var o=n(79881),r=n(67294),i=n(94184),l=n(49775),s=n(36535),c=n(15169);const a={remove:(0,o.t)("Remove")};function u(e){const{className:t,isActive:n,onClick:o,title:u,hidden:v,"data-name":d="remove-button",...f}=e;return r.createElement(l.Icon,{...f,"data-name":d,className:i(c.button,"apply-common-tooltip",n&&c.active,v&&c.hidden,t),icon:s,onClick:o,title:u||a.remove})}},36535:e=>{e.exports=''},72579:e=>{e.exports=''},23204:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.css b/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.css new file mode 100644 index 0000000..4f92e59 --- /dev/null +++ b/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.css @@ -0,0 +1 @@ +.button-2Vpz_LXc{align-items:center;box-sizing:border-box;color:var(--tv-color-toolbar-button-text,#131722);cursor:default;display:flex;height:100%;transition:background-color 60ms ease,opacity 60ms ease,color 60ms ease}html.theme-dark .button-2Vpz_LXc{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-2Vpz_LXc.hover-2Vpz_LXc,.button-2Vpz_LXc:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-2Vpz_LXc.hover-2Vpz_LXc,html.theme-dark .button-2Vpz_LXc:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-2Vpz_LXc svg{display:block;-moz-transform:translateX(0)}.button-2Vpz_LXc.isInteractive-2Vpz_LXc{position:relative;z-index:0}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.hover-2Vpz_LXc:before,.button-2Vpz_LXc.isInteractive-2Vpz_LXc:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isInteractive-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.hover-2Vpz_LXc:before,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc{position:relative;z-index:0}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc.hover-2Vpz_LXc:before,.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc.hover-2Vpz_LXc:before,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.newStyles-2Vpz_LXc{--tv-toolbar-explicit-hover-border-radius:4px}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#2962ff)}html.theme-sa .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#2962ff)}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc.hover-2Vpz_LXc,.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc:active{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc:hover{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc.hover-2Vpz_LXc,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc:active{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc:hover{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc.hover-2Vpz_LXc:before,.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:active:before,.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-left,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-right,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-left,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-right,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc.hover-2Vpz_LXc:before,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:active:before,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}}.button-2Vpz_LXc.isDisabled-2Vpz_LXc{opacity:.3}.button-2Vpz_LXc.isDisabled-2Vpz_LXc,.button-2Vpz_LXc.isDisabled-2Vpz_LXc:active{background-color:initial}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isDisabled-2Vpz_LXc:hover{background-color:initial}}.button-2Vpz_LXc.isDisabled-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#2962ff);opacity:1}html.theme-sa .button-2Vpz_LXc.isDisabled-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .button-2Vpz_LXc.isDisabled-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#2962ff)}.icon-2Vpz_LXc+.text-2Vpz_LXc,.text-2Vpz_LXc+.icon-2Vpz_LXc{margin-left:2px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.rtl.css b/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.rtl.css new file mode 100644 index 0000000..0984d3f --- /dev/null +++ b/public/static/charting_library/bundles/7936.1e4e780ffda134d965f5.rtl.css @@ -0,0 +1 @@ +.button-2Vpz_LXc{align-items:center;box-sizing:border-box;color:var(--tv-color-toolbar-button-text,#131722);cursor:default;display:flex;height:100%;transition:background-color 60ms ease,opacity 60ms ease,color 60ms ease}html.theme-dark .button-2Vpz_LXc{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-2Vpz_LXc.hover-2Vpz_LXc,.button-2Vpz_LXc:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-2Vpz_LXc.hover-2Vpz_LXc,html.theme-dark .button-2Vpz_LXc:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-2Vpz_LXc svg{display:block;-moz-transform:translateX(0)}.button-2Vpz_LXc.isInteractive-2Vpz_LXc{position:relative;z-index:0}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.hover-2Vpz_LXc:before,.button-2Vpz_LXc.isInteractive-2Vpz_LXc:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isInteractive-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.hover-2Vpz_LXc:before,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc{position:relative;z-index:0}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc.hover-2Vpz_LXc:before,.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);left:0;position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);right:0;top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc.hover-2Vpz_LXc:before,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isGrouped-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.newStyles-2Vpz_LXc{--tv-toolbar-explicit-hover-border-radius:4px}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#2962ff)}html.theme-sa .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#2962ff)}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc.hover-2Vpz_LXc,.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc:active{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc:hover{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc.hover-2Vpz_LXc,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc:active{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isActive-2Vpz_LXc:hover{color:var(--tv-color-toolbar-button-text-active-hover,#1e53e5)}}.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc.hover-2Vpz_LXc:before,.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:active:before,.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-right,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-left,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-right,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-left,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}}html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc.hover-2Vpz_LXc:before,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:active:before,html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-2Vpz_LXc.isInteractive-2Vpz_LXc.isOpened-2Vpz_LXc:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}}.button-2Vpz_LXc.isDisabled-2Vpz_LXc{opacity:.3}.button-2Vpz_LXc.isDisabled-2Vpz_LXc,.button-2Vpz_LXc.isDisabled-2Vpz_LXc:active{background-color:initial}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-2Vpz_LXc.isDisabled-2Vpz_LXc:hover{background-color:initial}}.button-2Vpz_LXc.isDisabled-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#2962ff);opacity:1}html.theme-sa .button-2Vpz_LXc.isDisabled-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#ff7200)}html.theme-dark .button-2Vpz_LXc.isDisabled-2Vpz_LXc.isActive-2Vpz_LXc{color:var(--tv-color-toolbar-button-text-active,#2962ff)}.icon-2Vpz_LXc+.text-2Vpz_LXc,.text-2Vpz_LXc+.icon-2Vpz_LXc{margin-right:2px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/7962.eed46026b7fd77b57cb3.js b/public/static/charting_library/bundles/7962.eed46026b7fd77b57cb3.js new file mode 100644 index 0000000..cad51c8 --- /dev/null +++ b/public/static/charting_library/bundles/7962.eed46026b7fd77b57cb3.js @@ -0,0 +1,3 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7962],{31877:e=>{e.exports={button:"button-2Vpz_LXc",hover:"hover-2Vpz_LXc",isInteractive:"isInteractive-2Vpz_LXc",isGrouped:"isGrouped-2Vpz_LXc",newStyles:"newStyles-2Vpz_LXc",isActive:"isActive-2Vpz_LXc",isOpened:"isOpened-2Vpz_LXc",isDisabled:"isDisabled-2Vpz_LXc",text:"text-2Vpz_LXc",icon:"icon-2Vpz_LXc"}},51492:e=>{e.exports={button:"button-1SoiPS-f",hover:"hover-1SoiPS-f",arrow:"arrow-1SoiPS-f",arrowWrap:"arrowWrap-1SoiPS-f",newStyles:"newStyles-1SoiPS-f",isOpened:"isOpened-1SoiPS-f"}},64526:e=>{e.exports={wrap:"wrap-164vy-kj",positionBottom:"positionBottom-164vy-kj",backdrop:"backdrop-164vy-kj",drawer:"drawer-164vy-kj",positionLeft:"positionLeft-164vy-kj"}},2632:e=>{e.exports={icon:"icon-19OjtB6A",dropped:"dropped-19OjtB6A"}},19330:(e,t,o)=>{"use strict";o.d(t,{VerticalAttachEdge:()=>r,HorizontalAttachEdge:()=>i,VerticalDropDirection:()=>n,HorizontalDropDirection:()=>a,getPopupPositioner:()=>l});var r,i,n,a,s=o(16282);!function(e){e[e.Top=0]="Top",e[e.Bottom=1]="Bottom"}(r||(r={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(i||(i={})),function(e){e[e.FromTopToBottom=0]="FromTopToBottom",e[e.FromBottomToTop=1]="FromBottomToTop"}(n||(n={})),function(e){e[e.FromLeftToRight=0]="FromLeftToRight",e[e.FromRightToLeft=1]="FromRightToLeft"}(a||(a={}));const c={verticalAttachEdge:r.Bottom,horizontalAttachEdge:i.Left,verticalDropDirection:n.FromTopToBottom,horizontalDropDirection:a.FromLeftToRight,verticalMargin:0,horizontalMargin:0,matchButtonAndListboxWidths:!1};function l(e,t){return(o,l)=>{const p=(0,s.ensureNotNull)(e).getBoundingClientRect(),{verticalAttachEdge:d=c.verticalAttachEdge,verticalDropDirection:h=c.verticalDropDirection,horizontalAttachEdge:u=c.horizontalAttachEdge,horizontalDropDirection:m=c.horizontalDropDirection,horizontalMargin:w=c.horizontalMargin,verticalMargin:v=c.verticalMargin,matchButtonAndListboxWidths:g=c.matchButtonAndListboxWidths}=t,D=d===r.Top?-1*v:v,f=u===i.Right?p.right:p.left,b=d===r.Top?p.top:p.bottom,C={x:f-(m===a.FromRightToLeft?o:0)+w,y:b-(h===n.FromBottomToTop?l:0)+D};return g&&(C.overrideWidth=p.width),C}}},47218:(e,t,o)=>{"use strict";o.d(t,{DEFAULT_TOOL_WIDGET_BUTTON_THEME:()=>c,ToolWidgetButton:()=>l});var r=o(67294),i=o(94184),n=o(49775),a=o(19470),s=o(31877);const c=s,l=r.forwardRef((e,t)=>{const{icon:o,isActive:c,isOpened:l,isDisabled:p,isGrouped:d,isHovered:h,onClick:u,text:m,textBeforeIcon:w,title:v,theme:g=s,className:D,forceInteractive:f,"data-name":b,...C}=e,T=i(D,g.button,v&&"apply-common-tooltip",{[g.isActive]:c,[g.isOpened]:l,[g.isInteractive]:(f||Boolean(u))&&!p,[g.isDisabled]:p,[g.isGrouped]:d,[g.hover]:h,[g.newStyles]:a.hasNewHeaderToolbarStyles}),_=o&&("string"==typeof o?r.createElement(n.Icon,{className:g.icon,icon:o}):r.cloneElement(o,{className:i(g.icon,o.props.className)}));return r.createElement("div",{...C,ref:t,"data-role":"button",className:T,onClick:p?void 0:u,title:v,"data-name":b},w&&m&&r.createElement("div",{className:i("js-button-text",g.text) +},m),_,!w&&m&&r.createElement("div",{className:i("js-button-text",g.text)},m))})},67842:(e,t,o)=>{"use strict";o.d(t,{ToolWidgetMenu:()=>m});var r=o(67294),i=o(94184),n=o(76420),a=o(88262),s=o(74818),c=o(94004),l=o(57374),p=o(19330),d=o(68521),h=o(19470),u=o(51492);class m extends r.PureComponent{constructor(e){super(e),this._wrapperRef=null,this._controller=r.createRef(),this._handleWrapperRef=e=>{this._wrapperRef=e,this.props.reference&&this.props.reference(e)},this._handleClick=e=>{e.target instanceof Node&&e.currentTarget.contains(e.target)&&(this._handleToggleDropdown(),this.props.onClick&&this.props.onClick(e,!this.state.isOpened))},this._handleToggleDropdown=e=>{const{onClose:t,onOpen:o}=this.props,{isOpened:r}=this.state,i="boolean"==typeof e?e:!r;this.setState({isOpened:i}),i&&o&&o(),!i&&t&&t()},this._handleClose=()=>{this.close()},this.state={isOpened:!1}}render(){const{id:e,arrow:t,content:o,isDisabled:n,isDrawer:c,isShowTooltip:l,title:p,className:u,hotKey:m,theme:w,drawerBreakpoint:v}=this.props,{isOpened:g}=this.state,D=i(u,w.button,{"apply-common-tooltip":l||!n,[w.isDisabled]:n,[w.isOpened]:g,[w.newStyles]:h.hasNewHeaderToolbarStyles});return r.createElement("div",{id:e,className:D,onClick:n?void 0:this._handleClick,title:p,"data-tooltip-hotkey":m,ref:this._handleWrapperRef,"data-role":"button",...(0,s.filterDataProps)(this.props)},o,t&&r.createElement("div",{className:w.arrow},r.createElement("div",{className:w.arrowWrap},r.createElement(a.ToolWidgetCaret,{dropped:g}))),this.state.isOpened&&(v?r.createElement(d.MatchMedia,{rule:v},e=>this._renderContent(e)):this._renderContent(c)))}close(){this._handleToggleDropdown(!1)}update(){null!==this._controller.current&&this._controller.current.update()}_renderContent(e){const{menuDataName:t,minWidth:o,menuClassName:i,maxHeight:a,drawerPosition:s="Bottom",children:d}=this.props,{isOpened:h}=this.state,u={horizontalMargin:this.props.horizontalMargin||0,verticalMargin:this.props.verticalMargin||2,verticalAttachEdge:this.props.verticalAttachEdge,horizontalAttachEdge:this.props.horizontalAttachEdge,verticalDropDirection:this.props.verticalDropDirection,horizontalDropDirection:this.props.horizontalDropDirection,matchButtonAndListboxWidths:this.props.matchButtonAndListboxWidths},m=Boolean(h&&e&&s),w=function(e){return"function"==typeof e}(d)?d({isDrawer:m}):d;return m?r.createElement(c.DrawerManager,null,r.createElement(l.Drawer,{onClose:this._handleClose,position:s,"data-name":t},w)):r.createElement(n.PopupMenu,{controller:this._controller,closeOnClickOutside:this.props.closeOnClickOutside,doNotCloseOn:this,isOpened:h,minWidth:o,onClose:this._handleClose,position:(0,p.getPopupPositioner)(this._wrapperRef,u),className:i,maxHeight:a,"data-name":t},w)}}m.defaultProps={arrow:!0,closeOnClickOutside:!0,theme:u}},19470:(e,t,o)=>{"use strict";o.d(t,{hasNewHeaderToolbarStyles:()=>r});o(27490);const r=!1},94004:(e,t,o)=>{"use strict";o.d(t,{DrawerManager:()=>i,DrawerContext:()=>n});var r=o(67294);class i extends r.PureComponent{constructor(e){super(e),this._addDrawer=()=>{ +const e=this.state.currentDrawer+1;return this.setState({currentDrawer:e}),e},this._removeDrawer=()=>{const e=this.state.currentDrawer-1;return this.setState({currentDrawer:e}),e},this.state={currentDrawer:0}}render(){return r.createElement(n.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.currentDrawer}},this.props.children)}}const n=r.createContext(null)},57374:(e,t,o)=>{"use strict";o.d(t,{Drawer:()=>u});var r=o(67294),i=o(16282),n=o(94184),a=o(67891),s=o(75761),c=o(4735),l=o(94004),p=o(43367),d=o(94884),h=o(64526);function u(e){const{position:t="Bottom",onClose:o,children:u,className:m,theme:w=h}=e,v=(0,i.ensureNotNull)((0,r.useContext)(l.DrawerContext)),[g,D]=(0,r.useState)(0),f=(0,r.useRef)(null),b=(0,r.useContext)(d.CloseDelegateContext);return(0,r.useEffect)(()=>{const e=(0,i.ensureNotNull)(f.current);return e.focus({preventScroll:!0}),b.subscribe(v,o),(0,s.setFixedBodyState)(!0),p.CheckMobile.iOS()&&(0,a.disableBodyScroll)(e),D(v.addDrawer()),()=>{b.unsubscribe(v,o);const t=v.removeDrawer();p.CheckMobile.iOS()&&(0,a.enableBodyScroll)(e),0===t&&(0,s.setFixedBodyState)(!1)}},[]),r.createElement(c.Portal,null,r.createElement("div",{className:n(h.wrap,h["position"+t])},g===v.currentDrawer&&r.createElement("div",{className:h.backdrop,onClick:o}),r.createElement("div",{className:n(h.drawer,w.drawer,h["position"+t],m),ref:f,tabIndex:-1,"data-name":e["data-name"]},u)))}},88262:(e,t,o)=>{"use strict";o.d(t,{ToolWidgetCaret:()=>c});var r=o(67294),i=o(94184),n=o(49775),a=o(2632),s=o(85533);function c(e){const{dropped:t,className:o}=e;return r.createElement(n.Icon,{className:i(o,a.icon,{[a.dropped]:t}),icon:s})}},85533:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png b/public/static/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png new file mode 100644 index 0000000..e42efca Binary files /dev/null and b/public/static/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png differ diff --git a/public/static/charting_library/bundles/8193.01090d4d9384825040ad.css b/public/static/charting_library/bundles/8193.01090d4d9384825040ad.css new file mode 100644 index 0000000..cb99936 --- /dev/null +++ b/public/static/charting_library/bundles/8193.01090d4d9384825040ad.css @@ -0,0 +1 @@ +.container-QDd7xRJ1{align-items:center;border-color:var(--ui-lib-intent-color,#d1d4dc);border-radius:4px;border-style:solid;border-width:var(--ui-lib-control-border-width,1px);box-sizing:border-box;color:#131722;display:inline-flex;position:relative}.container-QDd7xRJ1,html.theme-dark .container-QDd7xRJ1{--ui-lib-control-default-slot-color:#787b86}html.theme-dark .container-QDd7xRJ1{border-color:var(--ui-lib-intent-color,#50535e);color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.intent-default-QDd7xRJ1:hover{--ui-lib-control-default-slot-color:#131722;border-color:#a3a6af}html.theme-dark .container-QDd7xRJ1.intent-default-QDd7xRJ1:hover{--ui-lib-control-default-slot-color:#d1d4dc;border-color:#6a6d78}}.container-QDd7xRJ1.focused-QDd7xRJ1{border-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.focused-QDd7xRJ1:hover{border-color:#2962ff}}html.theme-dark .container-QDd7xRJ1.focused-QDd7xRJ1{border-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.focused-QDd7xRJ1:hover{border-color:#2962ff}}.container-QDd7xRJ1.readonly-QDd7xRJ1{background-color:#f0f3fa;border-color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.readonly-QDd7xRJ1:hover{background-color:#f0f3fa;border-color:#d1d4dc}}html.theme-dark .container-QDd7xRJ1.readonly-QDd7xRJ1{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.readonly-QDd7xRJ1:hover{background-color:#2a2e39}}html.theme-dark .container-QDd7xRJ1.readonly-QDd7xRJ1{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.readonly-QDd7xRJ1:hover{border-color:#50535e}}.container-QDd7xRJ1.disabled-QDd7xRJ1{--ui-lib-control-text-fill-color:#b2b5be;--ui-lib-control-default-slot-color:#787b86;background-color:#f0f3fa;border-color:#d1d4dc;color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.disabled-QDd7xRJ1:hover{--ui-lib-control-text-fill-color:#b2b5be;--ui-lib-control-default-slot-color:#787b86;background-color:#f0f3fa;border-color:#d1d4dc;color:#b2b5be}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{--ui-lib-control-default-slot-color:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{--ui-lib-control-default-slot-color:#787b86}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{--ui-lib-control-text-fill-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{--ui-lib-control-text-fill-color:#50535e}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{color:#50535e}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{background-color:#2a2e39}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{border-color:#50535e}}.container-QDd7xRJ1.with-highlight-QDd7xRJ1,.container-QDd7xRJ1.with-highlight-QDd7xRJ1.focused-QDd7xRJ1{border-color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.with-highlight-QDd7xRJ1:hover{border-color:#d1d4dc}}html.theme-dark .container-QDd7xRJ1.with-highlight-QDd7xRJ1,html.theme-dark .container-QDd7xRJ1.with-highlight-QDd7xRJ1.focused-QDd7xRJ1{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.with-highlight-QDd7xRJ1:hover{border-color:#50535e}}.container-QDd7xRJ1.grouped-QDd7xRJ1.adjust-position-QDd7xRJ1:not(.first-row-QDd7xRJ1){margin-top:calc(var(--ui-lib-control-border-width, 1px)*-1)}.container-QDd7xRJ1.grouped-QDd7xRJ1.adjust-position-QDd7xRJ1:not(.first-col-QDd7xRJ1){margin-left:calc(var(--ui-lib-control-border-width, 1px)*-1)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.grouped-QDd7xRJ1:hover{z-index:1}}.container-QDd7xRJ1.grouped-QDd7xRJ1.focused-QDd7xRJ1{z-index:2}.container-QDd7xRJ1.stretch-QDd7xRJ1{width:100%}.container-QDd7xRJ1.font-size-medium-QDd7xRJ1{font-size:14px;font-style:normal;font-weight:400;line-height:21px}.container-QDd7xRJ1.font-size-large-QDd7xRJ1{font-size:16px;font-style:normal;font-weight:400;line-height:24px}.container-QDd7xRJ1.size-small-QDd7xRJ1{height:24px}.container-QDd7xRJ1.size-medium-QDd7xRJ1{height:34px}.container-QDd7xRJ1.size-large-QDd7xRJ1{height:48px}.container-QDd7xRJ1.intent-default-QDd7xRJ1{--ui-lib-intent-color:#d1d4dc;--ui-lib-intent-highlight-color:#b2b5be}html.theme-dark .container-QDd7xRJ1.intent-default-QDd7xRJ1{--ui-lib-intent-highlight-color:#868993;--ui-lib-intent-color:#50535e}.container-QDd7xRJ1.intent-success-QDd7xRJ1{--ui-lib-intent-color:#06806b;--ui-lib-intent-highlight-color:#06806b}html.theme-dark .container-QDd7xRJ1.intent-success-QDd7xRJ1{--ui-lib-intent-color:#06806b}.container-QDd7xRJ1.intent-warning-QDd7xRJ1{--ui-lib-intent-color:#ff9800;--ui-lib-intent-highlight-color:#ff9800}html.theme-dark .container-QDd7xRJ1.intent-warning-QDd7xRJ1{--ui-lib-intent-color:#ff9800}.container-QDd7xRJ1.intent-danger-QDd7xRJ1{--ui-lib-intent-color:#f23645;--ui-lib-intent-highlight-color:#f23645}html.theme-dark .container-QDd7xRJ1.intent-danger-QDd7xRJ1{--ui-lib-intent-color:#b22833}.container-QDd7xRJ1.intent-primary-QDd7xRJ1{--ui-lib-intent-color:#2962ff;--ui-lib-intent-highlight-color:#2962ff}html.theme-dark .container-QDd7xRJ1.intent-primary-QDd7xRJ1{--ui-lib-intent-color:#2962ff}.container-QDd7xRJ1.border-none-QDd7xRJ1{--ui-lib-control-border-width:0px}.container-QDd7xRJ1.border-thin-QDd7xRJ1{--ui-lib-control-border-width:1px}.container-QDd7xRJ1.border-thick-QDd7xRJ1{--ui-lib-control-border-width:2px}.container-QDd7xRJ1.no-corner-top-left-QDd7xRJ1{border-top-left-radius:0}.container-QDd7xRJ1.no-corner-top-right-QDd7xRJ1{border-top-right-radius:0}.container-QDd7xRJ1.no-corner-bottom-right-QDd7xRJ1{border-bottom-right-radius:0}.container-QDd7xRJ1.no-corner-bottom-left-QDd7xRJ1{border-bottom-left-radius:0}.highlight-QDd7xRJ1{border:2px solid;border-color:var(--ui-lib-intent-highlight-color,#b2b5be);border-radius:4px;bottom:0;left:0;margin:calc(var(--ui-lib-control-border-width, 1px)*-1);pointer-events:none;position:absolute;right:0;top:0;visibility:hidden;z-index:3}html.theme-dark .highlight-QDd7xRJ1{border-color:var(--ui-lib-intent-highlight-color,#868993)}.highlight-QDd7xRJ1.no-corner-top-left-QDd7xRJ1{border-top-left-radius:0}.highlight-QDd7xRJ1.no-corner-top-right-QDd7xRJ1{border-top-right-radius:0}.highlight-QDd7xRJ1.no-corner-bottom-right-QDd7xRJ1{border-bottom-right-radius:0}.highlight-QDd7xRJ1.no-corner-bottom-left-QDd7xRJ1{border-bottom-left-radius:0}.highlight-QDd7xRJ1.shown-QDd7xRJ1{visibility:visible}.inner-slot-1cMNQxXi{--ui-lib-control-inner-slot-gap:2px;align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;height:calc(100% - (3px - var(--ui-lib-control-border-width, 1px))*2);justify-content:center;margin-bottom:calc(3px - var(--ui-lib-control-border-width, 1px));margin-right:var(--ui-lib-control-inner-slot-gap,2px);margin-top:calc(3px - var(--ui-lib-control-border-width, 1px));overflow:hidden}.inner-slot-1cMNQxXi:first-child{margin-left:calc(3px - var(--ui-lib-control-border-width, 1px))}.inner-slot-1cMNQxXi:nth-last-child(2){margin-right:calc(3px - var(--ui-lib-control-border-width, 1px))}.inner-slot-1cMNQxXi.interactive-1cMNQxXi{color:var(--ui-lib-control-default-slot-color,currentColor)}.inner-slot-1cMNQxXi.icon-1cMNQxXi{flex:none;width:28px}.inner-middle-slot-1cMNQxXi{flex:1 1 auto}.before-slot-1cMNQxXi{display:flex;margin-bottom:2px}.after-slot-1cMNQxXi{display:flex;margin-top:4px}.input-saRppuvn{-webkit-text-fill-color:var(--ui-lib-control-text-fill-color,currentColor);-webkit-appearance:auto;appearance:textfield;background-color:initial;border:0;display:block;font-family:inherit;font-size:inherit;height:100%;line-height:inherit;margin:0;min-width:0;order:0;outline:0;padding:0;padding:0 calc(8px - var(--ui-lib-control-border-width, 2px) - var(--ui-lib-control-inner-slot-gap, 2px));width:100%}.input-saRppuvn::placeholder{-webkit-text-fill-color:currentColor;color:#a3a6af;opacity:1}html.theme-dark .input-saRppuvn::placeholder{color:#434651}.input-saRppuvn::-webkit-calendar-picker-indicator,.input-saRppuvn::-webkit-clear-button,.input-saRppuvn::-webkit-inner-spin-button,.input-saRppuvn::-webkit-outer-spin-button,.input-saRppuvn::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.input-saRppuvn:-webkit-autofill,.input-saRppuvn:-webkit-autofill:active,.input-saRppuvn:-webkit-autofill:focus{border-radius:3px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.input-saRppuvn:-webkit-autofill:hover{border-radius:3px}}html.theme-dark .input-saRppuvn::-webkit-calendar-picker-indicator{filter:invert(1)}.input-saRppuvn.with-start-slot-saRppuvn{padding-left:calc(4px - var(--ui-lib-control-inner-slot-gap, 2px))}.input-saRppuvn.with-end-slot-saRppuvn{padding-right:calc(4px - var(--ui-lib-control-inner-slot-gap, 2px))} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8193.01090d4d9384825040ad.rtl.css b/public/static/charting_library/bundles/8193.01090d4d9384825040ad.rtl.css new file mode 100644 index 0000000..02e8f36 --- /dev/null +++ b/public/static/charting_library/bundles/8193.01090d4d9384825040ad.rtl.css @@ -0,0 +1 @@ +.container-QDd7xRJ1{align-items:center;border-color:var(--ui-lib-intent-color,#d1d4dc);border-radius:4px;border-style:solid;border-width:var(--ui-lib-control-border-width,1px);box-sizing:border-box;color:#131722;display:inline-flex;position:relative}.container-QDd7xRJ1,html.theme-dark .container-QDd7xRJ1{--ui-lib-control-default-slot-color:#787b86}html.theme-dark .container-QDd7xRJ1{border-color:var(--ui-lib-intent-color,#50535e);color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.intent-default-QDd7xRJ1:hover{--ui-lib-control-default-slot-color:#131722;border-color:#a3a6af}html.theme-dark .container-QDd7xRJ1.intent-default-QDd7xRJ1:hover{--ui-lib-control-default-slot-color:#d1d4dc;border-color:#6a6d78}}.container-QDd7xRJ1.focused-QDd7xRJ1{border-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.focused-QDd7xRJ1:hover{border-color:#2962ff}}html.theme-dark .container-QDd7xRJ1.focused-QDd7xRJ1{border-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.focused-QDd7xRJ1:hover{border-color:#2962ff}}.container-QDd7xRJ1.readonly-QDd7xRJ1{background-color:#f0f3fa;border-color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.readonly-QDd7xRJ1:hover{background-color:#f0f3fa;border-color:#d1d4dc}}html.theme-dark .container-QDd7xRJ1.readonly-QDd7xRJ1{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.readonly-QDd7xRJ1:hover{background-color:#2a2e39}}html.theme-dark .container-QDd7xRJ1.readonly-QDd7xRJ1{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.readonly-QDd7xRJ1:hover{border-color:#50535e}}.container-QDd7xRJ1.disabled-QDd7xRJ1{--ui-lib-control-text-fill-color:#b2b5be;--ui-lib-control-default-slot-color:#787b86;background-color:#f0f3fa;border-color:#d1d4dc;color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.disabled-QDd7xRJ1:hover{--ui-lib-control-text-fill-color:#b2b5be;--ui-lib-control-default-slot-color:#787b86;background-color:#f0f3fa;border-color:#d1d4dc;color:#b2b5be}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{--ui-lib-control-default-slot-color:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{--ui-lib-control-default-slot-color:#787b86}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{--ui-lib-control-text-fill-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{--ui-lib-control-text-fill-color:#50535e}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{color:#50535e}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{background-color:#2a2e39}}html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.disabled-QDd7xRJ1:hover{border-color:#50535e}}.container-QDd7xRJ1.with-highlight-QDd7xRJ1,.container-QDd7xRJ1.with-highlight-QDd7xRJ1.focused-QDd7xRJ1{border-color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.with-highlight-QDd7xRJ1:hover{border-color:#d1d4dc}}html.theme-dark .container-QDd7xRJ1.with-highlight-QDd7xRJ1,html.theme-dark .container-QDd7xRJ1.with-highlight-QDd7xRJ1.focused-QDd7xRJ1{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-QDd7xRJ1.with-highlight-QDd7xRJ1:hover{border-color:#50535e}}.container-QDd7xRJ1.grouped-QDd7xRJ1.adjust-position-QDd7xRJ1:not(.first-row-QDd7xRJ1){margin-top:calc(var(--ui-lib-control-border-width, 1px)*-1)}.container-QDd7xRJ1.grouped-QDd7xRJ1.adjust-position-QDd7xRJ1:not(.first-col-QDd7xRJ1){margin-right:calc(var(--ui-lib-control-border-width, 1px)*-1)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-QDd7xRJ1.grouped-QDd7xRJ1:hover{z-index:1}}.container-QDd7xRJ1.grouped-QDd7xRJ1.focused-QDd7xRJ1{z-index:2}.container-QDd7xRJ1.stretch-QDd7xRJ1{width:100%}.container-QDd7xRJ1.font-size-medium-QDd7xRJ1{font-size:14px;font-style:normal;font-weight:400;line-height:21px}.container-QDd7xRJ1.font-size-large-QDd7xRJ1{font-size:16px;font-style:normal;font-weight:400;line-height:24px}.container-QDd7xRJ1.size-small-QDd7xRJ1{height:24px}.container-QDd7xRJ1.size-medium-QDd7xRJ1{height:34px}.container-QDd7xRJ1.size-large-QDd7xRJ1{height:48px}.container-QDd7xRJ1.intent-default-QDd7xRJ1{--ui-lib-intent-color:#d1d4dc;--ui-lib-intent-highlight-color:#b2b5be}html.theme-dark .container-QDd7xRJ1.intent-default-QDd7xRJ1{--ui-lib-intent-highlight-color:#868993;--ui-lib-intent-color:#50535e}.container-QDd7xRJ1.intent-success-QDd7xRJ1{--ui-lib-intent-color:#06806b;--ui-lib-intent-highlight-color:#06806b}html.theme-dark .container-QDd7xRJ1.intent-success-QDd7xRJ1{--ui-lib-intent-color:#06806b}.container-QDd7xRJ1.intent-warning-QDd7xRJ1{--ui-lib-intent-color:#ff9800;--ui-lib-intent-highlight-color:#ff9800}html.theme-dark .container-QDd7xRJ1.intent-warning-QDd7xRJ1{--ui-lib-intent-color:#ff9800}.container-QDd7xRJ1.intent-danger-QDd7xRJ1{--ui-lib-intent-color:#f23645;--ui-lib-intent-highlight-color:#f23645}html.theme-dark .container-QDd7xRJ1.intent-danger-QDd7xRJ1{--ui-lib-intent-color:#b22833}.container-QDd7xRJ1.intent-primary-QDd7xRJ1{--ui-lib-intent-color:#2962ff;--ui-lib-intent-highlight-color:#2962ff}html.theme-dark .container-QDd7xRJ1.intent-primary-QDd7xRJ1{--ui-lib-intent-color:#2962ff}.container-QDd7xRJ1.border-none-QDd7xRJ1{--ui-lib-control-border-width:0px}.container-QDd7xRJ1.border-thin-QDd7xRJ1{--ui-lib-control-border-width:1px}.container-QDd7xRJ1.border-thick-QDd7xRJ1{--ui-lib-control-border-width:2px}.container-QDd7xRJ1.no-corner-top-left-QDd7xRJ1{border-top-right-radius:0}.container-QDd7xRJ1.no-corner-top-right-QDd7xRJ1{border-top-left-radius:0}.container-QDd7xRJ1.no-corner-bottom-right-QDd7xRJ1{border-bottom-left-radius:0}.container-QDd7xRJ1.no-corner-bottom-left-QDd7xRJ1{border-bottom-right-radius:0}.highlight-QDd7xRJ1{border:2px solid;border-color:var(--ui-lib-intent-highlight-color,#b2b5be);border-radius:4px;bottom:0;left:0;margin:calc(var(--ui-lib-control-border-width, 1px)*-1);pointer-events:none;position:absolute;right:0;top:0;visibility:hidden;z-index:3}html.theme-dark .highlight-QDd7xRJ1{border-color:var(--ui-lib-intent-highlight-color,#868993)}.highlight-QDd7xRJ1.no-corner-top-left-QDd7xRJ1{border-top-right-radius:0}.highlight-QDd7xRJ1.no-corner-top-right-QDd7xRJ1{border-top-left-radius:0}.highlight-QDd7xRJ1.no-corner-bottom-right-QDd7xRJ1{border-bottom-left-radius:0}.highlight-QDd7xRJ1.no-corner-bottom-left-QDd7xRJ1{border-bottom-right-radius:0}.highlight-QDd7xRJ1.shown-QDd7xRJ1{visibility:visible}.inner-slot-1cMNQxXi{--ui-lib-control-inner-slot-gap:2px;align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;height:calc(100% - (3px - var(--ui-lib-control-border-width, 1px))*2);justify-content:center;margin-bottom:calc(3px - var(--ui-lib-control-border-width, 1px));margin-left:var(--ui-lib-control-inner-slot-gap,2px);margin-top:calc(3px - var(--ui-lib-control-border-width, 1px));overflow:hidden}.inner-slot-1cMNQxXi:first-child{margin-right:calc(3px - var(--ui-lib-control-border-width, 1px))}.inner-slot-1cMNQxXi:nth-last-child(2){margin-left:calc(3px - var(--ui-lib-control-border-width, 1px))}.inner-slot-1cMNQxXi.interactive-1cMNQxXi{color:var(--ui-lib-control-default-slot-color,currentColor)}.inner-slot-1cMNQxXi.icon-1cMNQxXi{flex:none;width:28px}.inner-middle-slot-1cMNQxXi{flex:1 1 auto}.before-slot-1cMNQxXi{display:flex;margin-bottom:2px}.after-slot-1cMNQxXi{display:flex;margin-top:4px}.input-saRppuvn{-webkit-text-fill-color:var(--ui-lib-control-text-fill-color,currentColor);-webkit-appearance:auto;appearance:textfield;background-color:initial;border:0;display:block;font-family:inherit;font-size:inherit;height:100%;line-height:inherit;margin:0;min-width:0;order:0;outline:0;padding:0;padding:0 calc(8px - var(--ui-lib-control-border-width, 2px) - var(--ui-lib-control-inner-slot-gap, 2px));width:100%}.input-saRppuvn::placeholder{-webkit-text-fill-color:currentColor;color:#a3a6af;opacity:1}html.theme-dark .input-saRppuvn::placeholder{color:#434651}.input-saRppuvn::-webkit-calendar-picker-indicator,.input-saRppuvn::-webkit-clear-button,.input-saRppuvn::-webkit-inner-spin-button,.input-saRppuvn::-webkit-outer-spin-button,.input-saRppuvn::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.input-saRppuvn:-webkit-autofill,.input-saRppuvn:-webkit-autofill:active,.input-saRppuvn:-webkit-autofill:focus{border-radius:3px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.input-saRppuvn:-webkit-autofill:hover{border-radius:3px}}html.theme-dark .input-saRppuvn::-webkit-calendar-picker-indicator{filter:invert(1)}.input-saRppuvn.with-start-slot-saRppuvn{padding-right:calc(4px - var(--ui-lib-control-inner-slot-gap, 2px))}.input-saRppuvn.with-end-slot-saRppuvn{padding-left:calc(4px - var(--ui-lib-control-inner-slot-gap, 2px))} \ No newline at end of file diff --git a/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.css b/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.css new file mode 100644 index 0000000..385ea22 --- /dev/null +++ b/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.css @@ -0,0 +1 @@ +.checkbox-2jiVkfto{-webkit-tap-highlight-color:transparent;align-items:center;cursor:default;display:inline-flex;font-size:14px;font-stretch:normal;font-style:normal;font-weight:400;letter-spacing:normal;line-height:normal;position:relative;-webkit-user-select:none;user-select:none}.checkbox-2jiVkfto.reverse-2jiVkfto{flex-direction:row-reverse}.checkbox-2jiVkfto.reverse-2jiVkfto .label-2jiVkfto{margin-left:0;margin-right:8px}.checkbox-2jiVkfto.baseline-2jiVkfto{align-items:baseline}.checkbox-2jiVkfto .label-2jiVkfto{color:#000;margin-left:8px;min-width:0}html.theme-dark .checkbox-2jiVkfto .label-2jiVkfto{color:#b2b5be} \ No newline at end of file diff --git a/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.rtl.css b/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.rtl.css new file mode 100644 index 0000000..0d9a4eb --- /dev/null +++ b/public/static/charting_library/bundles/83.46ce2798763a3d5c2748.rtl.css @@ -0,0 +1 @@ +.checkbox-2jiVkfto{-webkit-tap-highlight-color:transparent;align-items:center;cursor:default;display:inline-flex;font-size:14px;font-stretch:normal;font-style:normal;font-weight:400;letter-spacing:normal;line-height:normal;position:relative;-webkit-user-select:none;user-select:none}.checkbox-2jiVkfto.reverse-2jiVkfto{flex-direction:row-reverse}.checkbox-2jiVkfto.reverse-2jiVkfto .label-2jiVkfto{margin-left:8px;margin-right:0}.checkbox-2jiVkfto.baseline-2jiVkfto{align-items:baseline}.checkbox-2jiVkfto .label-2jiVkfto{color:#000;margin-right:8px;min-width:0}html.theme-dark .checkbox-2jiVkfto .label-2jiVkfto{color:#b2b5be} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8434.99d7135551ebc9e84366.js b/public/static/charting_library/bundles/8434.99d7135551ebc9e84366.js new file mode 100644 index 0000000..1ce3088 --- /dev/null +++ b/public/static/charting_library/bundles/8434.99d7135551ebc9e84366.js @@ -0,0 +1,6 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[8434],{33214:e=>{e.exports={loader:"loader-38qh0l_K",static:"static-38qh0l_K",item:"item-38qh0l_K","tv-button-loader":"tv-button-loader-38qh0l_K",black:"black-38qh0l_K",white:"white-38qh0l_K",gray:"gray-38qh0l_K",primary:"primary-38qh0l_K","loader-initial":"loader-initial-38qh0l_K","loader-appear":"loader-appear-38qh0l_K"}},66406:e=>{e.exports={loaderWrap:"loaderWrap-2SapxxDI",big:"big-2SapxxDI",loader:"loader-2SapxxDI"}},30160:e=>{e.exports={item:"item-f5BaKrKq",interactive:"interactive-f5BaKrKq",hovered:"hovered-f5BaKrKq",disabled:"disabled-f5BaKrKq",active:"active-f5BaKrKq",shortcut:"shortcut-f5BaKrKq",normal:"normal-f5BaKrKq",big:"big-f5BaKrKq",iconCell:"iconCell-f5BaKrKq",icon:"icon-f5BaKrKq",checkmark:"checkmark-f5BaKrKq",content:"content-f5BaKrKq",label:"label-f5BaKrKq",checked:"checked-f5BaKrKq",toolbox:"toolbox-f5BaKrKq",showToolboxOnHover:"showToolboxOnHover-f5BaKrKq",arrowIcon:"arrowIcon-f5BaKrKq",subMenu:"subMenu-f5BaKrKq",invisibleHotkey:"invisibleHotkey-f5BaKrKq"}},52221:e=>{e.exports={row:"row-3B5H2q5m",line:"line-3B5H2q5m",hint:"hint-3B5H2q5m"}},39049:e=>{e.exports={menu:"menu-1Jmy26Oy"}},85848:e=>{e.exports={item:"item-1-SF84yU",emptyIcons:"emptyIcons-1-SF84yU",loading:"loading-1-SF84yU",disabled:"disabled-1-SF84yU",interactive:"interactive-1-SF84yU",hovered:"hovered-1-SF84yU",normal:"normal-1-SF84yU",big:"big-1-SF84yU",icon:"icon-1-SF84yU",label:"label-1-SF84yU",title:"title-1-SF84yU",nested:"nested-1-SF84yU",shortcut:"shortcut-1-SF84yU",remove:"remove-1-SF84yU"}},81885:e=>{e.exports={separator:"separator-LcIsiH9i"}},15169:e=>{e.exports={button:"button-3B9fDLtm",disabled:"disabled-3B9fDLtm",active:"active-3B9fDLtm",hidden:"hidden-3B9fDLtm"}},73226:(e,t,n)=>{"use strict";n.d(t,{Loader:()=>c});var s,o=n(67294),r=n(94184),a=n(8596),i=n(33214),l=n.n(i);!function(e){e[e.Initial=0]="Initial",e[e.Appear=1]="Appear",e[e.Active=2]="Active"}(s||(s={}));class c extends o.PureComponent{constructor(e){super(e),this._stateChangeTimeout=null,this.state={state:s.Initial}}render(){const{className:e,color:t="black",staticPosition:n}=this.props,s=r(l().item,{[l()[t]]:Boolean(t)});return o.createElement("span",{className:r(l().loader,n&&l().static,e,this._getStateClass())},o.createElement("span",{className:s}),o.createElement("span",{className:s}),o.createElement("span",{className:s}))}componentDidMount(){this.setState({state:s.Appear}),this._stateChangeTimeout=setTimeout(()=>{this.setState({state:s.Active})},2*a.dur)}componentWillUnmount(){this._stateChangeTimeout&&(clearTimeout(this._stateChangeTimeout),this._stateChangeTimeout=null)}_getStateClass(){switch(this.state.state){case s.Initial:return l()["loader-initial"];case s.Appear:return l()["loader-appear"];default:return""}}}},87361:(e,t,n)=>{"use strict";n.d(t,{ActionsTable:()=>M});var s=n(67294),o=n(52221);function r(e){return s.createElement("tr",{className:o.row},s.createElement("td",null,s.createElement("div",{className:o.line})),s.createElement("td",null,s.createElement("div",{ +className:o.line}),e.hint?s.createElement("div",{className:o.hint},e.hint):null))}var a=n(16282),i=n(94184),l=n.n(i),c=n(53400),u=n(43367),h=n(96404);var p=n(14303),m=n(65043),d=n(57330),v=n(17722),b=n(78243),f=n(47642),_=n(30160);class x extends s.PureComponent{constructor(){super(...arguments),this._handleMouseOver=e=>{(function(e){const t=e.sourceCapabilities;let n=t&&t.firesTouchEvents;return void 0===n&&(n=h.touch),n})(e.nativeEvent)||this.props.onMouseOver&&this.props.onMouseOver()},this._handleClickToolbox=e=>{e.stopPropagation(),this.props.onClickToolbox&&this.props.onClickToolbox()}}render(){const{hasSubItems:e,shortcutHint:t,hint:n,invisibleHotkey:o,favourite:r,theme:a=_,size:l="normal"}=this.props,c=this.props.checkable&&this.props.checkboxInput?"label":"div";return s.createElement(s.Fragment,null,s.createElement("tr",{className:i(a.item,!this.props.noInteractive&&a.interactive,this.props.hovered&&a.hovered,this.props.disabled&&a.disabled,this.props.active&&a.active,this.props.selected&&a.selected,a[l]),onClick:this.props.onClick,onMouseOver:this._handleMouseOver,ref:this.props.reference,"data-action-name":this.props.actionName},void 0!==r&&s.createElement("td",null,s.createElement(m.FavoriteButton,{className:a.favourite,isFilled:r,onClick:this.props.onFavouriteClick})),s.createElement("td",{className:i(a.iconCell),"data-icon-cell":!0},this._icon(a)),s.createElement("td",{className:a.contentCell},s.createElement(c,{className:a.content},s.createElement("span",{className:i(a.label,this.props.checked&&a.checked),"data-label":!0},this.props.label),this._toolbox(a),e&&s.createElement("span",{className:a.arrowIcon,dangerouslySetInnerHTML:{__html:f},"data-submenu-arrow":!0}),!e&&t&&!u.CheckMobile.any()&&s.createElement(d.Hint,{className:i(o&&a.invisibleHotkey),text:t}),!e&&!t&&n&&s.createElement(d.Hint,{text:n})))),s.createElement("tr",{className:a.subMenu},s.createElement("td",null,this.props.children)))}_icon(e){if(this.props.checkable){if(this.props.checkboxInput)return s.createElement(c.CheckboxInput,{className:i(e.icon,e.checkboxInput),checked:this.props.checked});if(this.props.checked){const t=!this.props.icon&&!this.props.iconChecked,n=this.props.iconChecked||this.props.icon||b;return s.createElement("span",{className:i(e.icon,t&&e.checkmark),dangerouslySetInnerHTML:{__html:n},"data-icon-checkmark":t})}return this.props.icon?s.createElement("span",{className:e.icon,dangerouslySetInnerHTML:{__html:this.props.icon}}):s.createElement("span",{className:e.icon})}return this.props.icon?s.createElement("span",{className:e.icon,dangerouslySetInnerHTML:{__html:this.props.icon}}):null}_toolbox(e){return this.props.toolbox?s.createElement("span",{className:i(e.toolbox,this.props.showToolboxOnHover&&e.showToolboxOnHover),onClick:this._handleClickToolbox,"data-toolbox":!0},this._renderToolboxContent()):null}_renderToolboxContent(){if(this.props.toolbox)switch(this.props.toolbox.type){case v.ToolboxType.Delete:return s.createElement(p.RemoveButton,{onClick:this.props.toolbox.action})}return null}} +var C=n(56806),g=n(79424),E=n(87438),k=n(76553);var S=n(2291),w=n(73226),y=n(66406);function N(e){const{size:t="normal"}=e;return s.createElement(x,{size:t,label:s.createElement("div",{className:l()(y.loaderWrap,y[t])},s.createElement(w.Loader,{className:y.loader})),noInteractive:!0,onMouseOver:e.onMouseOver})}class I extends s.PureComponent{constructor(e){super(e),this._itemRef=null,this._menuElementRef=s.createRef(),this._menuRef=null,this._handleClick=e=>{e.isDefaultPrevented()||this.state.disabled||(this._hasSubItems()?this._showSubMenu():(this.state.doNotCloseOnClick||(0,g.globalCloseMenu)(),this.props.action.execute(),this._trackEvent(),this.props.onExecute&&this.props.onExecute(this.props.action)))},this._handleClickToolbox=()=>{(0,g.globalCloseMenu)()},this._handleItemMouseOver=()=>{this._showSubMenu(),this._setCurrentContextValue()},this._handleMenuMouseOver=()=>{this._setCurrentContextValue()},this._showSubMenu=()=>{this.props.onShowSubMenu(this.props.action)},this._calcSubMenuPos=e=>function(e,t,n={x:0,y:10}){if(t){const{left:n,right:s,top:o}=t.getBoundingClientRect(),r=document.documentElement.clientWidth,a={x:n-e,y:o},i={x:s,y:o};return(0,k.isRtl)()?n<=e?i:a:r-s>=e?i:a}return n}(e,this._itemRef),this._updateState=e=>{this.setState(e.getState())},this._setItemRef=e=>{this._itemRef=e},this._handleMenuRef=e=>{this._menuRef=e},this._registerSubmenu=()=>{var e;return null===(e=this.context)||void 0===e?void 0:e.registerSubmenu(this.props.action.id,e=>(0,a.ensureNotNull)(this._itemRef).contains(e)||null!==this._menuElementRef.current&&this._menuElementRef.current.contains(e))},this.state={...this.props.action.getState()}}componentDidMount(){this.props.action.onUpdate().subscribe(this,this._updateState),this.state.subItems.length&&(this._unsubscribe=this._registerSubmenu()),this.props.reference&&(this._itemRef=this.props.reference.current)}componentDidUpdate(e,t){var n,s,o;t.loading!==this.state.loading&&(null===(s=(n=this.props).onRequestUpdate)||void 0===s||s.call(n)),0===t.subItems.length&&this.state.subItems.length>0&&(this._unsubscribe=this._registerSubmenu()),t.subItems.length>0&&0===this.state.subItems.length&&(null===(o=this._unsubscribe)||void 0===o||o.call(this)),t.subItems!==this.state.subItems&&null!==this._menuRef&&this._menuRef.update()}componentWillUnmount(){this.props.action.onUpdate().unsubscribe(this,this._updateState),this._unsubscribe&&this._unsubscribe()}render(){var e,t,n;const o=null!==(e=this.state.jsxLabel)&&void 0!==e?e:this.state.label,r=(null===(t=this.context)||void 0===t?void 0:t.current)?this.context.current===this.props.action.id:this.props.isSubMenuOpened;return this.state.loading?s.createElement(N,{size:this.state.size}):s.createElement(x,{theme:this.props.theme,reference:null!==(n=this.props.reference)&&void 0!==n?n:this._setItemRef,onClick:this._handleClick,onClickToolbox:this._handleClickToolbox,onMouseOver:this._handleItemMouseOver,hovered:r,hasSubItems:this._hasSubItems(),actionName:this.state.name,checkboxInput:this.props.checkboxInput,selected:this.props.selected, +...this.state,label:o},s.createElement(C.ContextMenu,{isOpened:r,items:this.state.subItems,position:this._calcSubMenuPos,menuStatName:this.props.menuStatName,parentStatName:this._getStatName(),menuElementReference:this._menuElementRef,onMouseOver:this.state.subItems.length?this._handleMenuMouseOver:void 0,ref:this._handleMenuRef}))}_setCurrentContextValue(){var e;this.state.subItems.length&&(null===(e=this.context)||void 0===e||e.setCurrent(this.props.action.id))}_hasSubItems(){return this.state.subItems.length>0}_trackEvent(){const e=this._getStatName();(0,E.trackEvent)("ContextMenuClick",this.props.menuStatName||"",e)}_getStatName(){return[this.props.parentStatName,this.state.statName].filter(e=>Boolean(e)).join(".")}}I.contextType=S.SubmenuContext;class M extends s.PureComponent{constructor(e){super(e),this._handleShowSubMenu=e=>{const t=e.getState();this.setState({showSubMenuOf:t.subItems.length?e:void 0})},this.state={}}render(){return s.createElement("table",null,s.createElement("tbody",null,this.props.items.map(e=>this._item(e))))}static getDerivedStateFromProps(e,t){return!e.parentIsOpened&&t.showSubMenuOf?{showSubMenuOf:void 0}:null}_item(e){switch(e.type){case"separator":return s.createElement(r,{key:e.id,hint:e.getHint()});case"action":return s.createElement(I,{key:e.id,action:e,onShowSubMenu:this._handleShowSubMenu,isSubMenuOpened:this.state.showSubMenuOf===e,menuStatName:this.props.menuStatName,parentStatName:this.props.parentStatName,onRequestUpdate:this.props.onRequestUpdate})}}}},56806:(e,t,n)=>{"use strict";n.d(t,{ContextMenu:()=>S,OverlapContextMenu:()=>w});var s=n(67294),o=n(94184),r=n.n(o),a=n(36668),i=n(90901),l=n(13894),c=n(80556),u=n(87361),h=n(94004),p=n(68521),m=n(81885);function d(e){return s.createElement("li",{className:m.separator})}var v=n(90590),b=n(57374),f=n(79424);function _(e){const{action:t}=e,[n,o]=(0,s.useState)(()=>t.getState()),[r,a]=(0,s.useState)(!1),i=!!n.subItems.length,l=i&&r;return(0,s.useEffect)(()=>{const e=()=>o(t.getState());return t.onUpdate().subscribe(null,e),()=>{t.onUpdate().unsubscribe(null,e)}},[]),s.createElement(v.ContextMenuItem,{...n,onClick:function(e){if(n.disabled||e.defaultPrevented)return;if(i)return void a(!0);n.doNotCloseOnClick||(0,f.globalCloseMenu)();t.execute()},isLoading:n.loading,isHovered:l},l&&s.createElement(b.Drawer,{onClose:c},s.createElement(g,{items:n.subItems,parentAction:t,closeNested:c})));function c(e){e&&e.preventDefault(),a(!1)}}var x=n(23060),C=n(2958);function g(e){const{items:t,parentAction:n,closeNested:o}=e,r=!Boolean(n)&&t.every(e=>!Boolean("separator"!==e.type&&(e.getState().icon||e.getState().checkable)));return s.createElement(x.EmptyIconsContext.Provider,{value:r},s.createElement("ul",null,n&&s.createElement(s.Fragment,null,s.createElement(v.ContextMenuItem,{label:n.getState().label,isTitle:!0,active:!1,disabled:!1,subItems:[],checkable:!1,checked:!1,doNotCloseOnClick:!1,icon:C,onClick:o}),s.createElement(d,null)),t.map(e=>{switch(e.type){case"action":return s.createElement(_,{key:e.id,action:e});case"separator": +return s.createElement(d,{key:e.id})}})))}const E=s.createContext(null);var k=n(39049);class S extends s.PureComponent{constructor(e){super(e),this._menuRef=s.createRef(),this._handleRequestUpdate=()=>{this.update()},this._handleClose=()=>{this.props.onClose&&this.props.onClose()},this._handleOutsideClickClose=e=>{const{doNotCloseOn:t,onClose:n}=this.props;!n||void 0!==t&&t.contains(e.target)||n()},this._handleFocusOnOpen=()=>{var e,t;(null===(e=this.props.menuElementReference)||void 0===e?void 0:e.current)&&this.props.takeFocus&&(null===(t=this.props.menuElementReference)||void 0===t||t.current.focus({preventScroll:!0}))},this.state={}}render(){const{isOpened:e,onClose:t,items:n,doNotCloseOn:o,menuStatName:a,parentStatName:m,takeFocus:d,...v}=this.props;return e?s.createElement(h.DrawerManager,null,s.createElement(c.KeyboardDocumentListener,{keyCode:27,eventType:"keyup",handler:this._handleClose}),s.createElement(p.MatchMedia,{rule:"screen and (max-width: 428px)"},t=>this._isDrawer(t)?s.createElement(E.Provider,{value:{type:"drawer"}},s.createElement(b.Drawer,{onClose:this._handleClose,position:"Bottom","data-name":v["data-name"]},s.createElement(g,{items:n}))):s.createElement(E.Provider,{value:{type:"menu"}},s.createElement(l.OutsideEvent,{handler:this._handleOutsideClickClose,mouseDown:!0,touchStart:!0,reference:this.props.menuElementReference},t=>s.createElement(i.Menu,{...v,reference:t,className:r()(k.menu,"context-menu"),onClose:this._handleClose,noMomentumBasedScroll:!0,ref:this._menuRef,tabIndex:d?-1:void 0,onOpen:this._handleFocusOnOpen},s.createElement(u.ActionsTable,{items:n,menuStatName:a,parentStatName:m,parentIsOpened:e,onRequestUpdate:this._handleRequestUpdate})))))):null}update(){this._menuRef.current&&this._menuRef.current.update()}_isDrawer(e){return void 0===this.props.mode?e:"drawer"===this.props.mode}}const w=(0,a.makeOverlapable)(S)},57330:(e,t,n)=>{"use strict";n.d(t,{Hint:()=>i});var s=n(67294),o=n(94184),r=n.n(o),a=n(30160);function i(e){const{text:t="",className:n}=e;return s.createElement("span",{className:r()(a.shortcut,n)},t)}},90590:(e,t,n)=>{"use strict";n.d(t,{ContextMenuItem:()=>d});var s=n(67294),o=n(94184),r=n.n(o),a=n(49775),i=n(73226),l=n(23060),c=n(57330),u=n(12343),h=n(655),p=n(37978),m=n(85848);function d(e){const{isTitle:t,isLoading:n,isHovered:o,active:d,checkable:v,disabled:b,checked:f,icon:_,iconChecked:x,hint:C,subItems:g,label:E,onClick:k,children:S,toolbox:w,jsxLabel:y,size:N="normal"}=e,I=(0,s.useContext)(l.EmptyIconsContext),M=!!g.length;return n?s.createElement("li",{className:r()(m.item,m.loading,m[N])},s.createElement(i.Loader,null)):s.createElement("li",{className:r()(m.item,m.interactive,t&&m.title,b&&m.disabled,o&&m.hovered,d&&m.active,I&&m.emptyIcons,m[N]),onClick:k},s.createElement(a.Icon,{className:r()(m.icon),icon:function(){if(v&&f)return x||_||u;return _}()}),s.createElement("span",{className:r()(m.label)},null!=y?y:E),!!w&&s.createElement(a.Icon,{onClick:function(){w&&w.action()},className:m.remove,icon:p}),!M&&C&&s.createElement(c.Hint,{ +className:m.shortcut,text:C}),M&&s.createElement(a.Icon,{className:m.nested,icon:h}),S)}},23060:(e,t,n)=>{"use strict";n.d(t,{EmptyIconsContext:()=>s});const s=n(67294).createContext(!1)},80556:(e,t,n)=>{"use strict";n.d(t,{KeyboardDocumentListener:()=>o});var s=n(67294);class o extends s.PureComponent{constructor(){super(...arguments),this._handleKeyDown=e=>{e.keyCode===this.props.keyCode&&this.props.handler(e)}}componentDidMount(){document.addEventListener(this.props.eventType||"keydown",this._handleKeyDown,!1)}componentWillUnmount(){document.removeEventListener(this.props.eventType||"keydown",this._handleKeyDown,!1)}render(){return null}}},13894:(e,t,n)=>{"use strict";n.d(t,{OutsideEvent:()=>o});var s=n(47165);function o(e){const{children:t,...n}=e;return t((0,s.useOutsideEvent)(n))}},36668:(e,t,n)=>{"use strict";n.d(t,{makeOverlapable:()=>r});var s=n(67294),o=n(4735);function r(e){return class extends s.PureComponent{render(){const{isOpened:t,root:n}=this.props;if(!t)return null;const r=s.createElement(e,{...this.props,zIndex:150});return"parent"===n?r:s.createElement(o.Portal,null,r)}}}},14303:(e,t,n)=>{"use strict";n.d(t,{RemoveButton:()=>u});var s=n(79881),o=n(67294),r=n(94184),a=n(49775),i=n(36535),l=n(15169);const c={remove:(0,s.t)("Remove")};function u(e){const{className:t,isActive:n,onClick:s,title:u,hidden:h,"data-name":p="remove-button",...m}=e;return o.createElement(a.Icon,{...m,"data-name":p,className:r(l.button,"apply-common-tooltip",n&&l.active,h&&l.hidden,t),icon:i,onClick:s,title:u||c.remove})}},2958:e=>{e.exports=''},655:e=>{e.exports=''},78243:e=>{e.exports=''},12343:e=>{e.exports=''},36535:e=>{e.exports=''},37978:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.css b/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.css new file mode 100644 index 0000000..15bcc70 --- /dev/null +++ b/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.css @@ -0,0 +1 @@ +html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#434651;font-family:Trebuchet MS,roboto,ubuntu,sans-serif;font-size:14px}html.theme-dark body{color:#d1d4dc}html[lang=vi] body{font-family:Arial,sans-serif}body,html{box-sizing:border-box}body,dir,h1,h2,h3,h4,h5,h6,html,li,menu,ol,p,ul{margin:0;padding:0}a{text-decoration:none}a:active{outline:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){a:hover{outline:0}}h1{font-size:2em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sup{top:-.25em}sub{bottom:-.25em}figure{margin:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button,select{text-transform:none}button,input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:initial}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:none;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}:root{--v-rhythm-header-1-space-phone:56px;--v-rhythm-header-1-space-tablet:80px;--v-rhythm-header-1-space-laptop:100px;--v-rhythm-header-1-space-desktop:120px;--v-rhythm-header-2-space-phone:16px;--v-rhythm-header-2-space-tablet:24px;--v-rhythm-header-2-space-laptop:32px;--v-rhythm-header-2-space-desktop:40px;--v-rhythm-header-3-space-phone:16px;--v-rhythm-header-3-space-tablet:16px;--v-rhythm-header-3-space-laptop:24px;--v-rhythm-header-3-space-desktop:24px;--v-rhythm-footer-1-space-phone:56px;--v-rhythm-footer-1-space-tablet:80px;--v-rhythm-footer-1-space-laptop:100px;--v-rhythm-footer-1-space-desktop:120px;--v-rhythm-footer-2-space-phone:16px;--v-rhythm-footer-2-space-tablet:24px;--v-rhythm-footer-2-space-laptop:32px;--v-rhythm-footer-2-space-desktop:40px;--v-rhythm-footer-3-space-phone:16px;--v-rhythm-footer-3-space-tablet:16px;--v-rhythm-footer-3-space-laptop:24px;--v-rhythm-footer-3-space-desktop:24px;--v-rhythm-spacing-1-phone:80px;--v-rhythm-spacing-1-tablet:120px;--v-rhythm-spacing-1-laptop:160px;--v-rhythm-spacing-1-desktop:200px;--v-rhythm-spacing-2-phone:64px;--v-rhythm-spacing-2-tablet:88px;--v-rhythm-spacing-2-laptop:120px;--v-rhythm-spacing-2-desktop:160px;--v-rhythm-spacing-3-phone:48px;--v-rhythm-spacing-3-tablet:64px;--v-rhythm-spacing-3-laptop:88px;--v-rhythm-spacing-3-desktop:120px;--v-rhythm-spacing-4-phone:48px;--v-rhythm-spacing-4-tablet:48px;--v-rhythm-spacing-4-laptop:64px;--v-rhythm-spacing-4-desktop:80px;--v-rhythm-spacing-5-phone:32px;--v-rhythm-spacing-5-tablet:32px;--v-rhythm-spacing-5-laptop:40px;--v-rhythm-spacing-5-desktop:48px;--v-rhythm-header-1-space:var(--v-rhythm-header-1-space-phone);--v-rhythm-header-2-space:var(--v-rhythm-header-2-space-phone);--v-rhythm-header-3-space:var(--v-rhythm-header-3-space-phone);--v-rhythm-footer-1-space:var(--v-rhythm-footer-1-space-phone);--v-rhythm-footer-2-space:var(--v-rhythm-footer-2-space-phone);--v-rhythm-footer-3-space:var(--v-rhythm-footer-3-space-phone);--v-rhythm-spacing-1:var(--v-rhythm-spacing-1-phone);--v-rhythm-spacing-2:var(--v-rhythm-spacing-2-phone);--v-rhythm-spacing-3:var(--v-rhythm-spacing-3-phone);--v-rhythm-spacing-4:var(--v-rhythm-spacing-4-phone);--v-rhythm-spacing-5:var(--v-rhythm-spacing-5-phone)}@media screen and (min-width:768px){:root{--v-rhythm-header-1-space:var(--v-rhythm-header-1-space-tablet);--v-rhythm-header-2-space:var(--v-rhythm-header-2-space-tablet);--v-rhythm-header-3-space:var(--v-rhythm-header-3-space-tablet);--v-rhythm-footer-1-space:var(--v-rhythm-footer-1-space-tablet);--v-rhythm-footer-2-space:var(--v-rhythm-footer-2-space-tablet);--v-rhythm-footer-3-space:var(--v-rhythm-footer-3-space-tablet);--v-rhythm-spacing-1:var(--v-rhythm-spacing-1-tablet);--v-rhythm-spacing-2:var(--v-rhythm-spacing-2-tablet);--v-rhythm-spacing-3:var(--v-rhythm-spacing-3-tablet);--v-rhythm-spacing-4:var(--v-rhythm-spacing-4-tablet);--v-rhythm-spacing-5:var(--v-rhythm-spacing-5-tablet)}}@media screen and (min-width:1280px){:root{--v-rhythm-header-1-space:var(--v-rhythm-header-1-space-laptop);--v-rhythm-header-2-space:var(--v-rhythm-header-2-space-laptop);--v-rhythm-header-3-space:var(--v-rhythm-header-3-space-laptop);--v-rhythm-footer-1-space:var(--v-rhythm-footer-1-space-laptop);--v-rhythm-footer-2-space:var(--v-rhythm-footer-2-space-laptop);--v-rhythm-footer-3-space:var(--v-rhythm-footer-3-space-laptop);--v-rhythm-spacing-1:var(--v-rhythm-spacing-1-laptop);--v-rhythm-spacing-2:var(--v-rhythm-spacing-2-laptop);--v-rhythm-spacing-3:var(--v-rhythm-spacing-3-laptop);--v-rhythm-spacing-4:var(--v-rhythm-spacing-4-laptop);--v-rhythm-spacing-5:var(--v-rhythm-spacing-5-laptop)}}@media screen and (min-width:1440px){:root{--v-rhythm-header-1-space:var(--v-rhythm-header-1-space-desktop);--v-rhythm-header-2-space:var(--v-rhythm-header-2-space-desktop);--v-rhythm-header-3-space:var(--v-rhythm-header-3-space-desktop);--v-rhythm-footer-1-space:var(--v-rhythm-footer-1-space-desktop);--v-rhythm-footer-2-space:var(--v-rhythm-footer-2-space-desktop);--v-rhythm-footer-3-space:var(--v-rhythm-footer-3-space-desktop);--v-rhythm-spacing-1:var(--v-rhythm-spacing-1-desktop);--v-rhythm-spacing-2:var(--v-rhythm-spacing-2-desktop);--v-rhythm-spacing-3:var(--v-rhythm-spacing-3-desktop);--v-rhythm-spacing-4:var(--v-rhythm-spacing-4-desktop);--v-rhythm-spacing-5:var(--v-rhythm-spacing-5-desktop)}}.tv-text ol,.tv-text p,.tv-text ul{color:#131722;font-size:14px;line-height:1.6;margin-bottom:12px}html.theme-dark .tv-text ol,html.theme-dark .tv-text p,html.theme-dark .tv-text ul{color:#d1d4dc}.tv-text ol.tv-text__color_bright,.tv-text p.tv-text__color_bright,.tv-text ul.tv-text__color_bright{color:#fff}.tv-text ol.tv-text__color_silver,.tv-text p.tv-text__color_silver,.tv-text ul.tv-text__color_silver{color:silver}.tv-text ol.tv-text__color_silver_30,.tv-text p.tv-text__color_silver_30,.tv-text ul.tv-text__color_silver_30{color:#9b9b9b}.tv-text ol.tv-text__paragraph--additional-top-margin,.tv-text p.tv-text__paragraph--additional-top-margin,.tv-text ul.tv-text__paragraph--additional-top-margin{margin-top:24px}.tv-text ol.tv-text__paragraph--additional-top-margin_double,.tv-text p.tv-text__paragraph--additional-top-margin_double,.tv-text ul.tv-text__paragraph--additional-top-margin_double{margin-top:48px}.tv-text ol.tv-text__paragraph--additional-bottom-margin,.tv-text p.tv-text__paragraph--additional-bottom-margin,.tv-text ul.tv-text__paragraph--additional-bottom-margin{margin-bottom:24px}.tv-text ol.tv-text__paragraph--additional-bottom-margin_double,.tv-text p.tv-text__paragraph--additional-bottom-margin_double,.tv-text ul.tv-text__paragraph--additional-bottom-margin_double{margin-bottom:48px}.tv-text ol .tv-text--highlight-important,.tv-text p .tv-text--highlight-important,.tv-text ul .tv-text--highlight-important{background:#fff3e0;box-shadow:0 0 0 .37em #fff3e0}html.theme-dark .tv-text ol .tv-text--highlight-important,html.theme-dark .tv-text p .tv-text--highlight-important,html.theme-dark .tv-text ul .tv-text--highlight-important{background:#142e61;box-shadow:0 0 0 .37em #142e61}.tv-text ol .tv-text--highlight-important:empty,.tv-text p .tv-text--highlight-important:empty,.tv-text ul .tv-text--highlight-important:empty{background:#0000;box-shadow:none}.tv-text h1{font-size:45px;margin-bottom:30px;margin-top:30px}@media screen and (max-width:1019px){.tv-text h1{font-size:38px}}@media screen and (max-width:767px){.tv-text h1{font-size:32px}}@media screen and (max-width:479px){.tv-text h1{font-size:28px}}.tv-text h2{font-size:31px}@media screen and (max-width:1019px){.tv-text h2{font-size:26px}}@media screen and (max-width:479px){.tv-text h2{font-size:24px}}.tv-text h3{font-size:17px}@media screen and (max-width:1019px){.tv-text h3{font-size:16px}}.tv-text h4{font-size:15px}.tv-text h2,.tv-text h3,.tv-text h4{margin-bottom:20px;margin-top:20px}.tv-text h1:first-child,.tv-text h2:first-child,.tv-text h3:first-child,.tv-text h4:first-child{margin-top:0}.tv-text ol,.tv-text ul{list-style-position:inside}.tv-text--position-outside ol,.tv-text--position-outside ul{list-style-position:outside;padding-left:17px}.tv-text a:not(.tv-button){color:#2962ff;transition:color .35s ease}html.theme-dark .tv-text a:not(.tv-button){color:#2962ff}.tv-text a:not(.tv-button):visited{fill:#2962ff;color:#2962ff}html.theme-dark .tv-text a:not(.tv-button):visited{fill:#2962ff;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-text a:not(.tv-button):hover{fill:#1e53e5;color:#1e53e5;transition-duration:.06s}html.theme-dark .tv-text a:not(.tv-button):hover{fill:#1e53e5;color:#1e53e5}}.tv-text a:not(.tv-button):focus{outline:auto}.tv-text a:not(.tv-button):focus:not(:-moz-focusring){outline:none}.tv-text a:not(.tv-button):-moz-focusring{outline:auto}.tv-text a:not(.tv-button):active{fill:#1848cc;color:#1848cc;transition-duration:.06s}html.theme-dark .tv-text a:not(.tv-button):active{fill:#1848cc;color:#1848cc}.tv-text__font.tv-text__font--size_semilarge{font-size:15px}@media screen and (max-width:767px){.tv-text__font.tv-text__font--size_semilarge{font-size:14px}}.tv-text__font.tv-text__font--size_large{font-size:17px}@media screen and (max-width:767px){.tv-text__font.tv-text__font--size_large{font-size:16px}}.tv-text__font.tv-text__font--size_xlarge{font-size:19px}@media screen and (max-width:767px){.tv-text__font.tv-text__font--size_xlarge{font-size:18px}}.tv-text__font--bold{font-weight:700}.tv-text__font--italic{font-style:italic}.tv-text--darkbg,.tv-text--darkbg ol,.tv-text--darkbg p,.tv-text--darkbg ul{color:#fff}.tv-text--highlight-important{background:#fff3e0;box-shadow:0 0 0 .07em #fff3e0}html.theme-dark .tv-text--highlight-important{background:#142e61;box-shadow:0 0 0 .07em #142e61}.tv-text--highlight-important:empty{background:#0000;box-shadow:none}.symbol-change-direction.up{color:#37bc9b}.symbol-change-direction.down{color:#ff4a68}.js-hidden{display:none!important}.js-no-pointer-events{pointer-events:none!important}body{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;box-sizing:border-box;min-width:320px}body.i-no-scroll{overflow:hidden!important}body.i-no-padding{padding:0!important}::selection{background:#bbd9fb}html.theme-dark ::selection{background:#143a87}.i-hidden{display:none!important}.i-invisible{visibility:hidden!important}.i-clearfix:after{clear:both;content:"";display:table}.i-align_left{text-align:left!important}.i-align_right{text-align:right!important}.i-align_center{text-align:center!important}.i-float_left{float:left!important}.i-float_right{float:right!important}.i-float_none{float:none!important}@media screen and (min-width:1020px){.i-device-only{display:none!important}}@media screen and (max-width:1019px){.i-desktop-only{display:none!important}}@media screen and (min-width:479px){.i-phones-only{display:none!important}}@media screen and (max-width:479px){.i-except-phones-only{display:none!important}}.i-no-break{white-space:nowrap}body.fullscreen-mode{overflow:hidden}.tv-layout-width{box-sizing:border-box;margin:0 auto;padding:0 20px;width:1020px}.tv-layout-width--no-padding{padding:0;width:980px}.tv-layout-width--simple{padding:0}.tv-dialog .tv-layout-width{max-width:100%}.chart-page .tv-layout-width{width:100%}@media screen and (max-width:1019px){.tv-layout-width{width:auto}.tv-layout-width .tv-feed{margin-left:-20px;margin-right:-20px}.tv-layout-width .tv-feed--tablet-top-indent{margin-top:48px}}.tv-layout-padding{padding:0 20px}body.page-wide .tv-layout-width,body.popup-wide .fancybox-overlay .tv-layout-width{width:1520px}.tv-main,body.page-fullwidth .tv-layout-width{width:100%}.tv-main{display:flex;flex-direction:column;min-height:100%}.tv-side-toolbar{float:left;height:100%;overflow-x:visible;overflow-y:hidden;position:static}.tv-main-panel{background-color:#f1f3f6;overflow:hidden;position:relative}.tv-side-panel{float:right;height:100%;position:relative;z-index:15}.tv-panels{height:100%}.chart-page .tv-content{padding:0}.clear{clear:both}.clearfix:after{clear:both;content:"";display:block}.hide{display:none!important}.show{display:block!important}.tv-right{float:right!important}.tv-left{float:left!important}#_atssh{margin-top:-20px;position:absolute}.js-right-boundary{margin-right:0}body{background-color:#fff}html.theme-dark body{background-color:#131722}body.tv-body--bg_superdark,html.theme-dark body.tv-body--bg_superdark{background:#131722}body.tv-body--bg_contrast{background-color:#fff}html.theme-dark body.tv-body--bg_contrast{background-color:#1e222d}body.extension{min-width:0;overflow:hidden}img{border:none}textarea{resize:none}:focus{outline:none}input,textarea{border-radius:0}.tv-profile .tags,.unselectable{-webkit-user-select:none;user-select:none}.selectable,input,textarea{-webkit-user-select:text;user-select:text}.text-center{text-align:center}#chart-area{background:#0000}#chart-area,.chart-container{position:relative}#chart-area.fullscreen{height:100%!important;left:0;position:fixed;top:0;width:100%!important;z-index:15}.chart-page{background-color:var(--tv-color-platform-background,#e0e3eb)}html.theme-dark .chart-page{background-color:var(--tv-color-platform-background,#2a2e39)}.chart-page .chart-container{contain:strict;position:relative}.chart-page .chart-container-border{background-color:#fff;border:none;height:100%;overflow:hidden;position:relative;width:100%;z-index:0}html.theme-dark .chart-page .chart-container-border{background-color:#131722}.chart-page .chart-container.multiple.active:after{border:2px solid #2962ff;bottom:0;box-sizing:border-box;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}html.theme-dark .chart-page .chart-container.multiple.active:after{border-color:#2962ff}.chart-page .chart-container.inactive .back-to-present{display:none}.chart-page .chart-container.no-header-toolbar .chart-container-border{border-top-left-radius:4px;border-top-right-radius:4px}.chart-page .chart-container.no-bottom-toolbar .chart-container-border{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.input-reset{border-radius:50%;cursor:pointer;display:none;height:16px;position:absolute;right:7px;top:7px;width:16px}.input-reset:before{background:url(1df47f578aeef40dd1f2328338a133be.png) no-repeat -103px -340px;content:" ";display:block;height:10px;left:50%;margin:-5px 0 0 -5px;position:absolute;top:50%;width:10px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.input-reset:hover{background-color:#f2f5f8}}.input-reset:active{opacity:.6}.loading-indicator{background:#fff;height:100%;left:0;position:absolute;top:0;width:100%;z-index:150}html.theme-dark .loading-indicator{background:#131722}.ui-slider-horizontal{background-color:#f4f7f9;border:1px solid #c9cbcd!important;box-shadow:inset 0 1px 2px #00000026;height:5px!important;margin:7px 0 0}html.theme-dark .ui-slider-horizontal{background-color:#171b29;border-color:#2f3241!important}.ui-slider-handle{background:url(1df47f578aeef40dd1f2328338a133be.png) -20px -80px!important;border:none!important;height:15px!important;margin-left:-7px!important;top:-5px!important;width:15px!important}.ui-slider-horizontal.linewidth-slider{background:url(4a9abefd31dab7c8239e02e925aacd78.png) 0 0 no-repeat!important;border:none!important;box-shadow:none;display:inline-block;height:12px!important;margin:7px 10px;vertical-align:middle;width:101px}.ui-slider-horizontal.linewidth-slider:after,.ui-slider-horizontal.linewidth-slider:before{content:none}.ui-slider-horizontal.transparency-slider{background:url(7e0cc5f7d7f5151500dd60b8d6ca60a1.png)!important;height:8px!important;margin:7px 10px;width:99px}.ui-slider-horizontal.transparency-slider.wide-slider{margin:7px 1px;width:176px}.ui-slider-horizontal.transparency-slider .gradient{background:linear-gradient(90deg,#0000 0,#7db9e8);height:100%;left:0;position:absolute;top:0;width:92%}.ui-slider-horizontal.linewidth-slider .ui-slider-handle,.ui-slider-horizontal.transparency-slider .ui-slider-handle{background:url(40566afd832a155e5e370a8bd423de4b.svg) 0 0 no-repeat!important;height:20px!important;margin:-10px 0 0 -10px!important;top:50%!important;width:20px!important}.ui-slider-horizontal.linewidth-slider .ui-slider-handle.without-shift-handle-left,.ui-slider-horizontal.transparency-slider .ui-slider-handle.without-shift-handle-left{margin:-10px 3px 0 -3px!important}.falling,.growing,.search-results .symbol-last.falling,.search-results .symbol-last.growing{color:#fff}.growing{background:#37bc9b}.falling{background:#ff4a68}#myswf{left:0;position:fixed;top:0}.tv-button{fill:currentColor;-webkit-tap-highlight-color:transparent;background-color:initial;border:none;border-radius:4px;box-sizing:border-box;color:#757575;cursor:pointer;display:inline-block;font-size:14px;line-height:32px;margin:0;min-width:40px;outline:0;overflow:hidden;padding:1px 22px;position:relative;text-align:center;text-decoration:none;transition:background-color .35s ease,border-color .35s ease,color .35s ease;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.tv-button.tv-button--danger_ghost,.tv-button.tv-button--default,.tv-button.tv-button--default_ghost,.tv-button.tv-button--primary_ghost,.tv-button.tv-button--secondary_ghost,.tv-button.tv-button--state,.tv-button.tv-button--success_ghost,.tv-button.tv-button--warning_ghost{padding:0 21px}.tv-button.i-active,.tv-button.i-hover,.tv-button:active{transition-duration:.06s}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button:hover{transition-duration:.06s}}.tv-button svg{vertical-align:middle}.tv-button--block{display:block;text-align:center;width:100%}.tv-button+.tv-button{margin-left:15px}.tv-button.tv-button--no-left-margin{margin-left:0}.tv-button__text{display:inline-block;position:relative}.tv-button__text--full-height{word-wrap:break-word;align-items:center;display:flex;height:100%;justify-content:center;line-height:1.2em;margin:11px 5px;white-space:normal;width:100%}.tv-button--default,.tv-button--default_ghost,a.tv-button--default:visited{background-color:#fff;border-color:#fff;color:#fff}html.theme-dark .tv-button--default,html.theme-dark .tv-button--default_ghost,html.theme-dark a.tv-button--default:visited{background-color:#1e222d;border-color:#1e222d}.tv-button--default_ghost{color:#fff}html.theme-dark .tv-button--default_ghost{color:#1e222d}.tv-button--default_ghost.i-checked{background-color:#fff;border-color:#fff;color:#fff}html.theme-dark .tv-button--default_ghost.i-checked{background-color:#1e222d;border-color:#1e222d}.tv-button--default.i-active,.tv-button--default:active,.tv-button--default_ghost.i-active,.tv-button--default_ghost:active{background-color:#ececec;border-color:#ececec;color:#fff;transform:translateY(1px)}html.theme-dark .tv-button--default.i-active,html.theme-dark .tv-button--default:active,html.theme-dark .tv-button--default_ghost.i-active,html.theme-dark .tv-button--default_ghost:active{background-color:#1c2030;border-color:#1c2030}.tv-button--default.i-hover,.tv-button--default_ghost.i-hover{background-color:#e0e3eb;border-color:#e0e3eb;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--default:hover,.tv-button--default_ghost:hover{background-color:#e0e3eb;border-color:#e0e3eb;color:#fff}}html.theme-dark .tv-button--default.i-hover,html.theme-dark .tv-button--default_ghost.i-hover{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--default:hover,html.theme-dark .tv-button--default_ghost:hover{background-color:#1e222d}}html.theme-dark .tv-button--default.i-hover,html.theme-dark .tv-button--default_ghost.i-hover{border-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--default:hover,html.theme-dark .tv-button--default_ghost:hover{border-color:#1e222d}}.tv-button--default_ghost .tv-button__loader-item{background-color:#e0e3eb}html.theme-dark .tv-button--default_ghost .tv-button__loader-item{background-color:#1e222d}.tv-button--default_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--default_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--default,.tv-button--default.i-checked,.tv-button--default_ghost,.tv-button--default_ghost.i-checked{border:1px solid #b2b5be;color:#6a6d78}html.theme-dark .tv-button--default,html.theme-dark .tv-button--default.i-checked,html.theme-dark .tv-button--default_ghost,html.theme-dark .tv-button--default_ghost.i-checked{border-color:#363a45;color:#787b86}.tv-button--default.i-hover,.tv-button--default_ghost.i-hover{border-color:#b2b5be;color:#6a6d78}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--default:hover,.tv-button--default_ghost:hover{border-color:#b2b5be;color:#6a6d78}}html.theme-dark .tv-button--default.i-hover,html.theme-dark .tv-button--default_ghost.i-hover{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--default:hover,html.theme-dark .tv-button--default_ghost:hover{border-color:#363a45}}html.theme-dark .tv-button--default.i-hover,html.theme-dark .tv-button--default_ghost.i-hover{color:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--default:hover,html.theme-dark .tv-button--default_ghost:hover{color:#787b86}}.tv-button--default.i-active,.tv-button--default:active,.tv-button--default_ghost.i-active,.tv-button--default_ghost:active{border-color:#b2b5be;color:#6a6d78}html.theme-dark .tv-button--default.i-active,html.theme-dark .tv-button--default:active,html.theme-dark .tv-button--default_ghost.i-active,html.theme-dark .tv-button--default_ghost:active{border-color:#363a45;color:#787b86}.tv-button--primary,.tv-button--primary_ghost,a.tv-button--primary:visited{background-color:#2962ff;border-color:#2962ff;color:#fff}html.theme-dark .tv-button--primary,html.theme-dark .tv-button--primary_ghost,html.theme-dark a.tv-button--primary:visited{background-color:#2962ff;border-color:#2962ff;color:#fff}.tv-button--primary_ghost,html.theme-dark .tv-button--primary_ghost{color:#2962ff}.tv-button--primary_ghost.i-checked{background-color:#2962ff;border-color:#2962ff;color:#fff}html.theme-dark .tv-button--primary_ghost.i-checked{background-color:#2962ff;border-color:#2962ff;color:#fff}.tv-button--primary.i-active,.tv-button--primary:active,.tv-button--primary_ghost.i-active,.tv-button--primary_ghost:active{background-color:#1848cc;border-color:#1848cc;color:#fff;transform:translateY(1px)}html.theme-dark .tv-button--primary.i-active,html.theme-dark .tv-button--primary:active,html.theme-dark .tv-button--primary_ghost.i-active,html.theme-dark .tv-button--primary_ghost:active{background-color:#1848cc;border-color:#1848cc;color:#fff}.tv-button--primary.i-hover,.tv-button--primary_ghost.i-hover{background-color:#1e53e5;border-color:#1e53e5;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--primary:hover,.tv-button--primary_ghost:hover{background-color:#1e53e5;border-color:#1e53e5;color:#fff}}html.theme-dark .tv-button--primary.i-hover,html.theme-dark .tv-button--primary_ghost.i-hover{background-color:#1e53e5}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--primary:hover,html.theme-dark .tv-button--primary_ghost:hover{background-color:#1e53e5}}html.theme-dark .tv-button--primary.i-hover,html.theme-dark .tv-button--primary_ghost.i-hover{border-color:#1e53e5}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--primary:hover,html.theme-dark .tv-button--primary_ghost:hover{border-color:#1e53e5}}html.theme-dark .tv-button--primary.i-hover,html.theme-dark .tv-button--primary_ghost.i-hover{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--primary:hover,html.theme-dark .tv-button--primary_ghost:hover{color:#fff}}.tv-button--primary_ghost .tv-button__loader-item,html.theme-dark .tv-button--primary_ghost .tv-button__loader-item{background-color:#1e53e5}.tv-button--primary_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--primary_ghost:hover .tv-button__loader-item{background-color:#fff}}html.theme-dark .tv-button--primary_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--primary_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--secondary,.tv-button--secondary_ghost,a.tv-button--secondary:visited{background-color:#e9eff2;border-color:#e9eff2;color:#757575}.tv-button--secondary_ghost{color:#757575}.tv-button--secondary_ghost.i-checked{background-color:#e9eff2;border-color:#e9eff2;color:#757575}.tv-button--secondary.i-active,.tv-button--secondary:active,.tv-button--secondary_ghost.i-active,.tv-button--secondary_ghost:active{background-color:#cfdce3;border-color:#cfdce3;color:#757575;transform:translateY(1px)}.tv-button--secondary.i-hover,.tv-button--secondary_ghost.i-hover{background-color:#dce6ea;border-color:#dce6ea;color:#757575}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--secondary:hover,.tv-button--secondary_ghost:hover{background-color:#dce6ea;border-color:#dce6ea;color:#757575}}.tv-button--secondary_ghost .tv-button__loader-item{background-color:#dce6ea}.tv-button--secondary_ghost.i-hover .tv-button__loader-item{background-color:#757575}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--secondary_ghost:hover .tv-button__loader-item{background-color:#757575}}.tv-button--success,.tv-button--success_ghost,a.tv-button--success:visited{background-color:#089981;border-color:#089981;color:#fff}html.theme-dark .tv-button--success,html.theme-dark .tv-button--success_ghost,html.theme-dark a.tv-button--success:visited{background-color:#056656;border-color:#056656;color:#fff}.tv-button--success_ghost{color:#089981}html.theme-dark .tv-button--success_ghost{color:#056656}.tv-button--success_ghost.i-checked{background-color:#089981;border-color:#089981;color:#fff}html.theme-dark .tv-button--success_ghost.i-checked{background-color:#056656;border-color:#056656;color:#fff}.tv-button--success.i-active,.tv-button--success:active,.tv-button--success_ghost.i-active,.tv-button--success_ghost:active{background-color:#056656;border-color:#056656;color:#fff;transform:translateY(1px)}html.theme-dark .tv-button--success.i-active,html.theme-dark .tv-button--success:active,html.theme-dark .tv-button--success_ghost.i-active,html.theme-dark .tv-button--success_ghost:active{background-color:#089981;border-color:#089981;color:#fff}.tv-button--success.i-hover,.tv-button--success_ghost.i-hover{background-color:#06806b;border-color:#06806b;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--success:hover,.tv-button--success_ghost:hover{background-color:#06806b;border-color:#06806b;color:#fff}}html.theme-dark .tv-button--success.i-hover,html.theme-dark .tv-button--success_ghost.i-hover{background-color:#06806b}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--success:hover,html.theme-dark .tv-button--success_ghost:hover{background-color:#06806b}}html.theme-dark .tv-button--success.i-hover,html.theme-dark .tv-button--success_ghost.i-hover{border-color:#06806b}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--success:hover,html.theme-dark .tv-button--success_ghost:hover{border-color:#06806b}}html.theme-dark .tv-button--success.i-hover,html.theme-dark .tv-button--success_ghost.i-hover{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--success:hover,html.theme-dark .tv-button--success_ghost:hover{color:#fff}}.tv-button--success_ghost .tv-button__loader-item,html.theme-dark .tv-button--success_ghost .tv-button__loader-item{background-color:#06806b}.tv-button--success_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--success_ghost:hover .tv-button__loader-item{background-color:#fff}}html.theme-dark .tv-button--success_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--success_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--danger,.tv-button--danger_ghost,a.tv-button--danger:visited{background-color:#f7525f;border-color:#f7525f;color:#fff}html.theme-dark .tv-button--danger,html.theme-dark .tv-button--danger_ghost,html.theme-dark a.tv-button--danger:visited{background-color:#b22833;border-color:#b22833;color:#fff}.tv-button--danger_ghost{color:#f7525f}html.theme-dark .tv-button--danger_ghost{color:#b22833}.tv-button--danger_ghost.i-checked{background-color:#f7525f;border-color:#f7525f;color:#fff}html.theme-dark .tv-button--danger_ghost.i-checked{background-color:#b22833;border-color:#b22833;color:#fff}.tv-button--danger.i-active,.tv-button--danger:active,.tv-button--danger_ghost.i-active,.tv-button--danger_ghost:active{background-color:#b22833;border-color:#b22833;color:#fff;transform:translateY(1px)}html.theme-dark .tv-button--danger.i-active,html.theme-dark .tv-button--danger:active,html.theme-dark .tv-button--danger_ghost.i-active,html.theme-dark .tv-button--danger_ghost:active{background-color:#f23645;border-color:#f23645;color:#fff}.tv-button--danger.i-hover,.tv-button--danger_ghost.i-hover{background-color:#cc2f3c;border-color:#cc2f3c;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--danger:hover,.tv-button--danger_ghost:hover{background-color:#cc2f3c;border-color:#cc2f3c;color:#fff}}html.theme-dark .tv-button--danger.i-hover,html.theme-dark .tv-button--danger_ghost.i-hover{background-color:#cc2f3c}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--danger:hover,html.theme-dark .tv-button--danger_ghost:hover{background-color:#cc2f3c}}html.theme-dark .tv-button--danger.i-hover,html.theme-dark .tv-button--danger_ghost.i-hover{border-color:#cc2f3c}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--danger:hover,html.theme-dark .tv-button--danger_ghost:hover{border-color:#cc2f3c}}html.theme-dark .tv-button--danger.i-hover,html.theme-dark .tv-button--danger_ghost.i-hover{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--danger:hover,html.theme-dark .tv-button--danger_ghost:hover{color:#fff}}.tv-button--danger_ghost .tv-button__loader-item,html.theme-dark .tv-button--danger_ghost .tv-button__loader-item{background-color:#cc2f3c}.tv-button--danger_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--danger_ghost:hover .tv-button__loader-item{background-color:#fff}}html.theme-dark .tv-button--danger_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--danger_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--warning,.tv-button--warning_ghost,a.tv-button--warning:visited{background-color:#f89e30;border-color:#f89e30;color:#fff}.tv-button--warning_ghost{color:#f89e30}.tv-button--warning_ghost.i-checked{background-color:#f89e30;border-color:#f89e30;color:#fff}.tv-button--warning.i-active,.tv-button--warning:active,.tv-button--warning_ghost.i-active,.tv-button--warning_ghost:active{background-color:#d47807;border-color:#d47807;color:#fff;transform:translateY(1px)}.tv-button--warning.i-hover,.tv-button--warning_ghost.i-hover{background-color:#f79217;border-color:#f79217;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--warning:hover,.tv-button--warning_ghost:hover{background-color:#f79217;border-color:#f79217;color:#fff}}.tv-button--warning_ghost .tv-button__loader-item{background-color:#f79217}.tv-button--warning_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--warning_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--link{color:#2962ff;transition:color .35s ease}html.theme-dark .tv-button--link{color:#2962ff}.tv-button--link:visited{fill:#2962ff;color:#2962ff}html.theme-dark .tv-button--link:visited{fill:#2962ff;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--link:hover{fill:#1e53e5;color:#1e53e5;transition-duration:.06s}html.theme-dark .tv-button--link:hover{fill:#1e53e5;color:#1e53e5}}.tv-button--link:focus{outline:auto}.tv-button--link:focus:not(:-moz-focusring){outline:none}.tv-button--link:-moz-focusring{outline:auto}.tv-button--link:active{fill:#1848cc;color:#1848cc;transition-duration:.06s}html.theme-dark .tv-button--link:active{fill:#1848cc;color:#1848cc}.tv-button--danger_ghost,.tv-button--default_ghost,.tv-button--primary_ghost,.tv-button--secondary_ghost,.tv-button--success_ghost,.tv-button--warning_ghost{background-color:initial;border-style:solid;border-width:1px}html.theme-dark .tv-button--danger_ghost,html.theme-dark .tv-button--default_ghost,html.theme-dark .tv-button--primary_ghost,html.theme-dark .tv-button--secondary_ghost,html.theme-dark .tv-button--success_ghost,html.theme-dark .tv-button--warning_ghost{background-color:initial}.tv-button--danger_ghost.tv-button--size_large,.tv-button--default_ghost.tv-button--size_large,.tv-button--primary_ghost.tv-button--size_large,.tv-button--secondary_ghost.tv-button--size_large,.tv-button--success_ghost.tv-button--size_large,.tv-button--warning_ghost.tv-button--size_large{border-width:2px}.tv-button--danger_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--default_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--primary_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--secondary_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--success_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--warning_ghost.tv-button--size_large.tv-button--thin-border{border-width:1px}.tv-button .tv-ripple{background-color:#ffffff40}.tv-button--default .tv-ripple,.tv-button--default_ghost .tv-ripple{background-color:#75869640}.tv-button.i-disabled .tv-ripple{background-color:initial}.tv-button.i-disabled,.tv-button.i-disabled:active,.tv-button:disabled,.tv-button:disabled:active{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be;cursor:default}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button.i-disabled:hover,.tv-button:disabled:hover{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be;cursor:default}}html.theme-dark .tv-button.i-disabled,html.theme-dark .tv-button.i-disabled:active,html.theme-dark .tv-button:disabled,html.theme-dark .tv-button:disabled:active{background-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button.i-disabled:hover,html.theme-dark .tv-button:disabled:hover{background-color:#363a45}}html.theme-dark .tv-button.i-disabled,html.theme-dark .tv-button.i-disabled:active,html.theme-dark .tv-button:disabled,html.theme-dark .tv-button:disabled:active{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button.i-disabled:hover,html.theme-dark .tv-button:disabled:hover{border-color:#363a45}}html.theme-dark .tv-button.i-disabled,html.theme-dark .tv-button.i-disabled:active,html.theme-dark .tv-button:disabled,html.theme-dark .tv-button:disabled:active{color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button.i-disabled:hover,html.theme-dark .tv-button:disabled:hover{color:#50535e}}.tv-button.i-disabled:active,.tv-button:disabled:active{transform:translateY(0)}.tv-button--size_xsmall{border-radius:1px;font-size:11px;font-weight:400;line-height:15px;padding:2px 7px}.tv-button--size_xsmall.tv-button--danger_ghost,.tv-button--size_xsmall.tv-button--default,.tv-button--size_xsmall.tv-button--default_ghost,.tv-button--size_xsmall.tv-button--primary_ghost,.tv-button--size_xsmall.tv-button--secondary_ghost,.tv-button--size_xsmall.tv-button--state,.tv-button--size_xsmall.tv-button--success_ghost,.tv-button--size_xsmall.tv-button--warning_ghost{padding:1px 6px}.tv-button--size_xsmall+.tv-button--size_xsmall{margin-left:10px}.tv-button--size_small{font-size:13px;line-height:25px;padding:1px 12px}.tv-button--size_small.tv-button--danger_ghost,.tv-button--size_small.tv-button--default,.tv-button--size_small.tv-button--default_ghost,.tv-button--size_small.tv-button--primary_ghost,.tv-button--size_small.tv-button--secondary_ghost,.tv-button--size_small.tv-button--state,.tv-button--size_small.tv-button--success_ghost,.tv-button--size_small.tv-button--warning_ghost{padding:0 11px}.tv-button--size_small+.tv-button--size_small{margin-left:10px}.tv-button--size_large{font-size:17px;line-height:44px;padding:1px 30px}.tv-button--size_large.tv-button--danger_ghost,.tv-button--size_large.tv-button--default,.tv-button--size_large.tv-button--default_ghost,.tv-button--size_large.tv-button--primary_ghost,.tv-button--size_large.tv-button--secondary_ghost,.tv-button--size_large.tv-button--state,.tv-button--size_large.tv-button--success_ghost,.tv-button--size_large.tv-button--warning_ghost{padding:0 29px}.tv-button--size_promo{border-radius:120px;font-size:24px;line-height:54px;padding:1px 40px}.tv-button--size_promo.tv-button--danger_ghost,.tv-button--size_promo.tv-button--default,.tv-button--size_promo.tv-button--default_ghost,.tv-button--size_promo.tv-button--primary_ghost,.tv-button--size_promo.tv-button--secondary_ghost,.tv-button--size_promo.tv-button--state,.tv-button--size_promo.tv-button--success_ghost,.tv-button--size_promo.tv-button--warning_ghost{padding:0 39px}.tv-button--no-padding{padding:1px}.tv-button--no-padding.tv-button--danger_ghost,.tv-button--no-padding.tv-button--default,.tv-button--no-padding.tv-button--default_ghost,.tv-button--no-padding.tv-button--primary_ghost,.tv-button--no-padding.tv-button--secondary_ghost,.tv-button--no-padding.tv-button--state,.tv-button--no-padding.tv-button--success_ghost,.tv-button--no-padding.tv-button--warning_ghost{padding:0}.tv-button--state{background:#0000;border-style:solid;border-width:1px;text-align:center}html.theme-dark .tv-button--state{background:#0000}.tv-button--state:after{content:"";display:inline-block}.tv-button--state__checked,.tv-button--state__uncheck-hint,.tv-button--state__unchecked{display:block;height:0;transition:opacity .2625s ease,transform .2625s ease}.tv-button--state__ellipsis-text{display:block;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.i-checked:hover .tv-button--state__checked,.tv-button--state.i-checked:hover .tv-button--state__uncheck-hint,.tv-button--state.i-checked:hover .tv-button--state__unchecked{will-change:opacity,transform}}.tv-button--state.i-checked .tv-button--state__unchecked,.tv-button--state__checked,.tv-button--state__uncheck-hint{opacity:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.i-checked:hover .tv-button--state__checked{opacity:0}}.tv-button--state.i-checked .tv-button--state__checked,.tv-button--state__unchecked{opacity:1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.i-checked:hover .tv-button--state__uncheck-hint{opacity:1}.tv-button--state.i-checked:hover .tv-button--state__checked{transform:translateY(-5px)}}.tv-button--state.i-checked .tv-button--state__unchecked,.tv-button--state__checked,.tv-button--state__uncheck-hint{transform:translateY(5px)}.tv-button--state.i-checked .tv-button--state__checked{transform:translateY(0)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.i-checked:hover .tv-button--state__uncheck-hint{transform:translateY(0)}}.tv-button--state.tv-button--success{background-color:initial;color:#089981}html.theme-dark .tv-button--state.tv-button--success{background-color:initial;color:#056656}.tv-button--state.tv-button--success.i-checked{background-color:#089981;color:#fff}html.theme-dark .tv-button--state.tv-button--success.i-checked{background-color:#056656;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--success:hover{background-color:#06806b;color:#fff}html.theme-dark .tv-button--state.tv-button--success:hover{background-color:#06806b;color:#fff}}.tv-button--state.tv-button--success:active{background-color:#056656;color:#fff}html.theme-dark .tv-button--state.tv-button--success:active{background-color:#089981;color:#fff}.tv-button--state.tv-button--danger{background-color:initial;color:#f7525f}html.theme-dark .tv-button--state.tv-button--danger{background-color:initial;color:#b22833}.tv-button--state.tv-button--danger.i-checked{background-color:#ff4a68;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--danger:hover{background-color:#f24965;color:#fff}}.tv-button--state.tv-button--danger:active{background-color:#ff173e;color:#fff}.tv-button--state.tv-button--primary{background-color:initial;color:#2962ff}html.theme-dark .tv-button--state.tv-button--primary{background-color:initial;color:#2962ff}.tv-button--state.tv-button--primary.i-checked{background-color:#2962ff;color:#fff}html.theme-dark .tv-button--state.tv-button--primary.i-checked{background-color:#2962ff;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--primary:hover{background-color:#1e53e5;color:#fff}html.theme-dark .tv-button--state.tv-button--primary:hover{background-color:#1e53e5;color:#fff}}.tv-button--state.tv-button--primary:active{background-color:#1848cc;color:#fff}html.theme-dark .tv-button--state.tv-button--primary:active{background-color:#1848cc;color:#fff}.tv-button--state.tv-button--primary_ghost-hover.i-checked{background-color:initial;color:#2962ff}html.theme-dark .tv-button--state.tv-button--primary_ghost-hover.i-checked{background-color:initial;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--primary_ghost-hover:hover{background-color:#1e53e5;color:#fff}html.theme-dark .tv-button--state.tv-button--primary_ghost-hover:hover{background-color:#1e53e5;color:#fff}}.tv-button--state.tv-button--primary_ghost-hover:active{background-color:#1848cc;color:#fff}html.theme-dark .tv-button--state.tv-button--primary_ghost-hover:active{background-color:#1848cc;color:#fff}.tv-button--state.tv-button--secondary{background-color:initial;color:#757575}.tv-button--state.tv-button--secondary.i-checked{background-color:#e9eff2;color:#757575}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--secondary:hover{background-color:#dce6ea;color:#757575}}.tv-button--state.tv-button--secondary:active{background-color:#cfdce3;color:#757575}.tv-button--state.tv-button--warning{background-color:initial;color:#f89e30}.tv-button--state.tv-button--warning.i-checked{background-color:#f89e30;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--warning:hover{background-color:#f79217;color:#fff}}.tv-button--state.tv-button--warning:active{background-color:#d47807;color:#fff}.tv-button--state.tv-button--icon-with-text svg{margin-bottom:-8px;margin-right:6px;vertical-align:unset}.tv-button--icon{align-items:center;display:inline-flex;height:34px;justify-content:center;min-width:auto;padding:0!important;width:34px}.tv-button--icon.tv-button--size_xsmall{height:19px;width:19px}.tv-button--icon.tv-button--size_small{height:27px;width:27px}.tv-button--icon.tv-button--size_large{height:46px;width:46px}.tv-button__icon{display:flex;margin-right:7px}.tv-button--loader .tv-button__text{transition:opacity .175s ease,transform .175s ease}.tv-button--loader.i-start-load .tv-button__text{opacity:0;transform:translateY(-5px)}.tv-button--loader.i-loading .tv-button__text{opacity:0;transform:translateY(5px)}.tv-button--loader.i-stop-load .tv-button__text{opacity:1;transform:translateY(0);transition-delay:.175s}.tv-button__loader{bottom:0;font-size:0;height:100%;left:0;margin:0 auto;opacity:0;position:absolute;right:0;text-align:center;top:0;transition:opacity .35s ease}.tv-button__loader:after{content:"";display:inline-block;height:100%;vertical-align:middle}.tv-button--loader.i-loading .tv-button__loader,.tv-button--loader.i-start-load .tv-button__loader{opacity:1}.tv-button--loader.i-stop-load .tv-button__loader{opacity:0}.tv-button__loader-item{background-color:#fff;border-radius:100%;display:inline-block;height:10px;margin-left:2px;margin-right:2px;opacity:0;transform:translateY(12px) scale(.6);transition:transform .35s cubic-bezier(.68,-.55,.265,1.55),opacity .35s ease;vertical-align:middle;width:10px}.tv-button__loader-item:nth-child(2){transition-delay:.11666667s}.tv-button__loader-item:nth-child(3){transition-delay:.23333333s}.tv-button--default .tv-button__loader-item{background-color:#757575}.tv-button--loader.i-loading .tv-button__loader-item,.tv-button--loader.i-start-load .tv-button__loader-item{opacity:1}.tv-button--loader.i-stop-load .tv-button__loader-item{opacity:0}.tv-button--loader.i-loading .tv-button__loader-item,.tv-button--loader.i-start-load .tv-button__loader-item,.tv-button--loader.i-stop-load .tv-button__loader-item{transform:translateY(0) scale(.6)}.tv-button--loader.i-loading .tv-button__loader-item,.tv-button--loader.i-stop-load .tv-button__loader-item{animation:tv-button-loader .96s ease-in-out infinite both}.tv-button--loader.i-loading .tv-button__loader-item:nth-child(2),.tv-button--loader.i-stop-load .tv-button__loader-item:nth-child(2){animation-delay:.151s}.tv-button--loader.i-loading .tv-button__loader-item:nth-child(3),.tv-button--loader.i-stop-load .tv-button__loader-item:nth-child(3){animation-delay:.32s}.tv-button--no-border-radius{border-radius:0}.tv-button--no-border{border:none}.tv-button--connect{border-radius:0}.tv-button--connect_left{border-bottom-left-radius:0;border-top-left-radius:0}.tv-button--connect_right{border-bottom-right-radius:0;border-top-right-radius:0}.tv-button--with-icon{align-items:center;display:inline-flex;transform:translate(0)}@keyframes tv-button-loader{0%,to{transform:scale(.6)}50%{transform:scale(.9)}}.tv-control-input{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background-color:#fff;border:1px solid #e0e3eb;border-radius:2px;box-sizing:border-box;color:#434651;display:block;font-size:13px;height:34px;padding:0 12px;transition:border-color .35s ease,background-color .35s ease;width:100%}html.theme-dark .tv-control-input{background-color:#1e222d;border-color:#363a45;color:#d1d4dc}.tv-control-input::placeholder{color:#a3a6af;opacity:1}html.theme-dark .tv-control-input::placeholder{color:#50535e}.tv-control-input:-webkit-autofill{-webkit-text-fill-color:#535353!important;box-shadow:inset 0 0 0 1000px #fff!important}.tv-control-input--size_xsmall{height:19px}.tv-control-input--size_small{height:27px}.tv-control-input--size_large{font-size:16px;height:48px}.tv-control-input--connect{border-left:0;border-radius:0;border-right:0}.tv-control-input--connect_left{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0}.tv-control-input--connect_right{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input:hover{border-color:#c1c4cd;transition-duration:.06s}html.theme-dark .tv-control-input:hover{border-color:#50535e}}.tv-control-input:focus{border-color:#2962ff!important;transition-duration:.06s}.tv-control-input[readonly]{border-color:#dadde0;color:#8a8a8a}.tv-control-input[readonly]:focus{border-color:#e0e3eb!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input[readonly]:hover{border-color:#e0e3eb!important}}html.theme-dark .tv-control-input[readonly]:focus{border-color:#2a2e39!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-control-input[readonly]:hover{border-color:#2a2e39!important}}.tv-control-input--readonly_dark,.tv-control-input--readonly_dark[readonly],html.theme-dark .tv-control-input--readonly_dark,html.theme-dark .tv-control-input--readonly_dark[readonly]{color:#50535e}.tv-control-input.i-disabled,.tv-control-input[disabled]{border-color:#e0e3eb!important;color:#e0e3eb!important}html.theme-dark .tv-control-input.i-disabled,html.theme-dark .tv-control-input[disabled]{border-color:#2a2e39!important;color:#2a2e39!important}.tv-control-input.i-disabled::placeholder,.tv-control-input[disabled]::placeholder{color:#e0e3eb!important}html.theme-dark .tv-control-input.i-disabled::placeholder,html.theme-dark .tv-control-input[disabled]::placeholder{color:#2a2e39!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input.i-disabled:hover,.tv-control-input[disabled]:hover{border-color:#e0e3eb!important}html.theme-dark .tv-control-input.i-disabled:hover,html.theme-dark .tv-control-input[disabled]:hover{border-color:#2a2e39!important}}.tv-control-input.i-error{border-color:#ff4a68!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input.i-error:hover{border-color:#f24965!important}}.tv-control-input.i-error:focus{border-color:#ff173e!important}.tv-control-input.i-success{border-color:#089981!important}html.theme-dark .tv-control-input.i-success{border-color:#056656!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input.i-success:hover,html.theme-dark .tv-control-input.i-success:hover{border-color:#06806b!important}}.tv-control-input.i-success:active,.tv-control-input.i-success:focus{border-color:#056656!important}html.theme-dark .tv-control-input.i-success:active,html.theme-dark .tv-control-input.i-success:focus{border-color:#089981!important}.tv-control-input--phone{direction:ltr;text-align:left}.tv-control-input--file{display:none}body,html{background:none;height:100%;overflow:hidden;width:100%}body{min-width:240px}#library-container{background:#fff;border:1px solid #d9dadb}#library-container #showExtendedHoursLink{display:none}.on-widget .open-popup{background:#6798bb;border-width:0!important;border:none;margin-left:4px;padding:7px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.on-widget .open-popup:hover{background:#69a3cc}}.on-widget .open-popup:active{background:#71acd6}.on-widget .open-popup svg{fill:#fff;display:block;height:14px;width:16px}.on-widget .widgetbar-widget-hotlist .widgetbar-widgetheader .widgetbar-headerspace{display:none}.text .logo-highlighted{font-weight:700;text-decoration:underline}.on-cme-widget .symbol-edit-popup .filter,.on-cme-widget .symbol-search-dialog .filter{display:none}.on-cme-widget .symbol-search-dialog .results{height:450px}.load-chart .chart-search,.load-chart .chart-search input{width:100%}@media only screen and (max-width:750px){.charts-popup-list .item.save-load-chart-title{display:block}}.charts-popup-list .item .title,.charts-popup-list .item .title-expanded{width:auto}.common-tooltip-36YLR71G{color:#f0f3fa;display:inline-flex;font-size:12px;line-height:18px;opacity:1;pointer-events:none;position:fixed;transition:opacity .15s linear;z-index:1000}.common-tooltip--hidden-36YLR71G{opacity:0}.common-tooltip--horizontal-36YLR71G{margin:4px 0}.common-tooltip--horizontal-36YLR71G.common-tooltip--farther-36YLR71G{margin:8px 0}.common-tooltip--vertical-36YLR71G{margin:0 4px}.common-tooltip--vertical-36YLR71G.common-tooltip-farther-36YLR71G{margin:0 8px}.common-tooltip--direction_normal-36YLR71G{flex-direction:row}.common-tooltip--direction_normal-36YLR71G .common-tooltip__body-36YLR71G{border-bottom-left-radius:2px;border-top-left-radius:2px}.common-tooltip--direction_normal-36YLR71G .common-tooltip__body--no-buttons-36YLR71G,.common-tooltip--direction_normal-36YLR71G .common-tooltip__button-container-36YLR71G{border-bottom-right-radius:2px;border-top-right-radius:2px}.common-tooltip--direction_normal-36YLR71G .common-tooltip__button-36YLR71G:not(:last-child){margin-right:1px}.common-tooltip--direction_reversed-36YLR71G{flex-direction:row-reverse}.common-tooltip--direction_reversed-36YLR71G .common-tooltip__body-36YLR71G{border-bottom-right-radius:2px;border-top-right-radius:2px}.common-tooltip--direction_reversed-36YLR71G .common-tooltip__body--no-buttons-36YLR71G,.common-tooltip--direction_reversed-36YLR71G .common-tooltip__button-container-36YLR71G{border-bottom-left-radius:2px;border-top-left-radius:2px}.common-tooltip--direction_reversed-36YLR71G .common-tooltip__button-36YLR71G:not(:first-child){margin-left:1px}.common-tooltip__ear-holder-36YLR71G{position:relative}.common-tooltip__ear-holder-36YLR71G:after{border:0 solid #2a2e39;box-sizing:border-box;content:"";display:block;height:0;position:absolute;width:0}html.theme-dark .common-tooltip__ear-holder-36YLR71G:after{border-color:#363a45}.common-tooltip__ear-holder--above-36YLR71G:after,.common-tooltip__ear-holder--below-36YLR71G:after{border-left:6px solid #0000;border-right:6px solid #0000;left:50%;margin-left:-6px}html.theme-dark .common-tooltip__ear-holder--above-36YLR71G:after,html.theme-dark .common-tooltip__ear-holder--below-36YLR71G:after{border-left-color:#0000;border-right-color:#0000}.common-tooltip__ear-holder--below-36YLR71G:after{border-bottom-width:4px;bottom:100%}.common-tooltip__ear-holder--above-36YLR71G:after{border-top-width:4px;top:100%}.common-tooltip__ear-holder--after-36YLR71G:after,.common-tooltip__ear-holder--before-36YLR71G:after{border-bottom:6px solid #0000;border-top:6px solid #0000;margin-top:-6px;top:50%}html.theme-dark .common-tooltip__ear-holder--after-36YLR71G:after,html.theme-dark .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom-color:#0000;border-top-color:#0000}.common-tooltip__ear-holder--before-36YLR71G:after{border-right-width:4px;right:100%}.common-tooltip__ear-holder--after-36YLR71G:after{border-left-width:4px;left:100%}.common-tooltip__body-36YLR71G{word-wrap:break-word;background-color:#2a2e39;box-sizing:border-box;display:block;max-width:320px;overflow:hidden;padding:3px 8px;position:relative;text-align:left;white-space:pre-wrap}html.theme-dark .common-tooltip__body-36YLR71G{background-color:#363a45}.common-tooltip__body--with-hotkey-36YLR71G{display:flex;max-width:420px;padding:0}.common-tooltip__body--width_wide-36YLR71G{max-width:640px}.common-tooltip__body--width_narrow-36YLR71G{max-width:200px}.common-tooltip__body--no-padding-36YLR71G{padding:0}.common-tooltip__hotkey-block-36YLR71G{align-items:center;color:#ff9800;display:inline-flex;flex:1 0 auto;justify-content:center;line-height:12px;padding:4px 8px 5px}.common-tooltip__hotkey-block--divider-36YLR71G{border-left:1px solid #5d606b;margin-left:8px}html.theme-dark .common-tooltip__hotkey-block--divider-36YLR71G{border-left:1px solid #363a45}.common-tooltip__hotkey-text-36YLR71G{align-items:center;display:inline-flex;margin:3px 0 3px 8px}.common-tooltip__hotkey-button-36YLR71G{align-items:center;border:1px solid;border-radius:2px;display:inline-flex;height:13px;justify-content:center;min-width:7px;padding:0 3px}.common-tooltip__plus-sign-36YLR71G{height:15px;line-height:16px;text-align:center;width:13px}.common-tooltip__button-container-36YLR71G{display:flex;overflow:hidden;position:relative}.common-tooltip__button-36YLR71G{align-items:center;background-color:#2962ff;color:#fff;display:flex;padding:0 10px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.common-tooltip__button-36YLR71G:hover{background-color:#bbd9fb}}.common-tooltip-36YLR71G.theme-white{color:#131722}html.theme-dark .common-tooltip-36YLR71G.theme-white{color:#d1d4dc}.common-tooltip-36YLR71G.theme-white .common-tooltip__body-36YLR71G{background-color:#fff;border-radius:0}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__body-36YLR71G{background-color:#1e222d}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G{border:1px solid #e0e3eb}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G{border:1px solid #363a45}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G:after{border-color:#fff}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G:after{border-color:#1e222d}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:after,.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:after{border-left:6px solid #0000;border-right:6px solid #0000}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:after,html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:after{border-left-color:#0000;border-right-color:#0000}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:after,.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom:6px solid #0000;border-top:6px solid #0000}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:after,html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom-color:#0000;border-top-color:#0000}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G:before{border:0 solid #e0e3eb;content:"";display:block;height:0;position:absolute;width:0;z-index:1000}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G:before{border-color:#363a45}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:before,.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:before{border-left:7px solid #0000;border-right:7px solid #0000;left:50%;margin-left:-7px}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:before,html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:before{border-left-color:#0000;border-right-color:#0000}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:before{border-bottom-width:6px;top:-6px}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:before{border-top-width:6px;bottom:-6px}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:before,.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:before{border-bottom:7px solid #0000;border-top:7px solid #0000;margin-top:-7px;top:50%}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:before,html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:before{border-bottom-color:#0000;border-top-color:#0000}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:before{border-right-width:6px;left:-6px}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:before{border-left-width:6px;right:-6px}.common-tooltip-36YLR71G.theme-round-shadow{box-shadow:0 1px 3px 0 #2a2c394a;color:#131722}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow{color:#d1d4dc}.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__body-36YLR71G{background-color:#fff}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__body-36YLR71G{background-color:#1e222d}.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder-36YLR71G:after{border-color:#fff}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder-36YLR71G:after{border-color:#1e222d}.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--above-36YLR71G:after,.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--below-36YLR71G:after{border-left:6px solid #0000;border-right:6px solid #0000}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--above-36YLR71G:after,html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--below-36YLR71G:after{border-left-color:#0000;border-right-color:#0000}.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--after-36YLR71G:after,.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom:6px solid #0000;border-top:6px solid #0000}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--after-36YLR71G:after,html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom-color:#0000;border-top-color:#0000}.container-e6Js9pSl{background-color:#e0e3eb;box-sizing:border-box;height:100%;width:100%}html.theme-dark .container-e6Js9pSl{background-color:#2a2e39}.container-e6Js9pSl .inner-e6Js9pSl{background-color:#fff;height:100%;width:100%}html.theme-dark .container-e6Js9pSl .inner-e6Js9pSl{background-color:#131722}.container-e6Js9pSl.border-left-e6Js9pSl{padding-left:4px}.container-e6Js9pSl.border-right-e6Js9pSl{padding-right:4px}.container-e6Js9pSl.border-top-e6Js9pSl{padding-top:4px}.container-e6Js9pSl.border-bottom-e6Js9pSl{padding-bottom:4px}.container-e6Js9pSl.top-right-radius-e6Js9pSl .inner-e6Js9pSl{border-top-right-radius:0}.container-e6Js9pSl.top-left-radius-e6Js9pSl .inner-e6Js9pSl{border-top-left-radius:0}.container-e6Js9pSl.bottom-right-radius-e6Js9pSl .inner-e6Js9pSl{border-bottom-right-radius:0}.container-e6Js9pSl.bottom-left-radius-e6Js9pSl .inner-e6Js9pSl{border-bottom-left-radius:0}button,html input[type=button],input[type=reset],input[type=submit]{cursor:default}.chart-widget{border-style:none;box-sizing:border-box;height:256px;left:0;margin:0;overflow:hidden;padding:0;position:absolute;top:0;width:512px}.chart-header{background-color:#fff;border-bottom:1px solid gray;color:#fff}table.chart-markup-table{border:none;border-collapse:collapse;border-spacing:0;line-height:0px;margin:0;padding:0}.chart-markup-table tr{margin:0;padding:0}td.chart-markup-table{border:none;line-height:0px;margin:0;padding:0;text-align:left;vertical-align:top}.chart-gui-wrapper{align-items:flex-start;direction:ltr;display:flex;height:100%;max-height:100%;max-width:100%;overflow:hidden;position:relative;width:100%}.chart-data-window{background-color:#fff;border-collapse:collapse;box-sizing:border-box;color:#434651;margin:0;padding:0;position:absolute;text-align:left;width:100%}html.theme-dark .chart-data-window{background-color:#131722;color:#d1d4dc}.chart-data-window .box{margin:3px}.chart-data-window .box.with-actions{cursor:pointer}.chart-data-window .box:first-child .chart-data-window-header:first-child{margin-top:0}.chart-data-window .hover .chart-data-window-header .hover-source-icon{display:block}.chart-data-window .active{border-left:2px solid #528cde}.chart-data-window .active .chart-data-window-header{background:#e9f8ff}.chart-data-window .active .chart-data-window-header,.chart-data-window .active .chart-data-window-item .chart-data-window-item-title{padding-left:8px}.chart-data-window .active .chart-data-window-item{font-weight:700}.chart-data-window .hidden{opacity:.3}.chart-data-window .hidden .chart-data-window-item{display:none}.chart-data-window .chart-data-window-header,.chart-data-window .chart-data-window-item{margin-bottom:3px;position:relative}.chart-data-window .chart-data-window-header{background:#f0f3fa;font-size:12px;font-weight:700;padding:9px 10px}html.theme-dark .chart-data-window .chart-data-window-header{background:#2a2e39}.chart-data-window .chart-data-window-header .toggle-source-icon{display:block;height:10px;position:absolute;right:14px;top:11px;width:16px}.chart-data-window .chart-data-window-header .toggle-source-icon svg{fill:#787b86;display:block;height:10px;width:16px}html.theme-dark .chart-data-window .chart-data-window-header .toggle-source-icon svg{fill:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-data-window .chart-data-window-header .toggle-source-icon:hover svg{fill:#2962ff!important}}.chart-data-window .chart-data-window-header .hover-source-icon{background:#2962ff;border-radius:10px;display:none;height:10px;position:absolute;right:40px;top:11px;width:10px}.chart-data-window .chart-data-window-item:last-child{margin-bottom:0}.chart-data-window .chart-data-window-item .chart-data-window-item-title,.chart-data-window .chart-data-window-item .chart-data-window-item-value{box-sizing:border-box;display:inline-block;padding:4px 10px;white-space:nowrap;width:50%}.chart-data-window .chart-data-window-item .chart-data-window-item-title .real-color,.chart-data-window .chart-data-window-item .chart-data-window-item-value .real-color{border:1px dotted #ccc;cursor:help;display:inline-block;height:8px;margin-right:15px;width:15px}.chart-data-window .chart-data-window-item .chart-data-window-item-value{text-align:right}.chart-loading-screen{height:0;left:0;position:absolute;top:0;width:0;z-index:4}.chart-loading-screen .chart-loading-screen-shield{background:red;height:100%;opacity:0;width:100%}.chart-loading-screen.fade{height:100%;width:100%}.chart-loading-screen.fade .chart-loading-screen-shield{opacity:.5;transition:opacity .3s ease}.bar-mark-tooltip{background:#ffffffe6;border:1px solid gray;display:none;min-height:18px;padding:8px 10px 8px 8px;position:absolute;z-index:14}html.theme-dark .bar-mark-tooltip{background:#131722e6}.bar-mark-tooltip .text{display:inline-block;font-size:13px;line-height:13px;max-width:250px;overflow:hidden;padding-left:4px;padding-top:2px;text-overflow:ellipsis}.published-charts-tooltip{background:#ffffffe6;border:1px solid;cursor:default;display:none;height:32px;margin-top:-25px;padding:8px 30px 8px 8px;position:absolute;z-index:7}html.theme-dark .published-charts-tooltip{background:#131722e6}.published-charts-tooltip .avatar{height:32px;left:8px;position:absolute;top:8px;width:32px}.published-charts-tooltip .avatar img{height:32px;width:32px}.published-charts-tooltip .pin{background-image:url(7393f661fc7d4389ea6d4dabd2a5aeea.png);cursor:pointer;height:16px;position:absolute;right:9px;top:9px;vertical-align:top;width:16px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.published-charts-tooltip .pin:hover{background-position:32px 0}}.published-charts-tooltip .pin.pinned{background-position:16px 0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.published-charts-tooltip .pin.pinned:hover{background-position:16px 0}}.published-charts-tooltip .text{color:#434651;cursor:pointer;display:inline-block;font-size:13px;font-weight:700;line-height:15px;max-width:250px;overflow:hidden;padding-left:39px;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .published-charts-tooltip .text{color:#8b8f95}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.published-charts-tooltip .text:hover{text-decoration:underline}}.published-charts-tooltip .username{color:#8f8f8f;font-size:11px;font-weight:400;line-height:13px;padding-left:39px;padding-top:2px;white-space:nowrap}.published-charts-tooltip:after,.published-charts-tooltip:before{border:solid #0000;content:" ";height:0;left:100%;pointer-events:none;position:absolute;width:0}.published-charts-tooltip:after{border-width:1em;margin-top:-1em;top:50%}.published-charts-tooltip:before{border-width:1.1em;margin-top:-1.1em;top:50%}.published-charts-tooltip:not(.right):after{border-color:#fff0 #fff0 #fff0 #fff}html.theme-dark .published-charts-tooltip:not(.right):after{border-left-color:#131722}.published-charts-tooltip.right:after{border-color:#fff0 #fff #fff0 #fff0}html.theme-dark .published-charts-tooltip.right:after{border-right-color:#131722}.published-charts-tooltip.right:before{left:-2.2em}.published-charts-tooltip.right:after{left:-2em}.published-charts-tooltip.green{border-color:#78c143}.published-charts-tooltip.red{border-color:#cc4545}.published-charts-tooltip.neutral{border-color:#eac300}.published-charts-tooltip.green:before{border-color:#78c14300 #78c14300 #78c14300 #78c143}.published-charts-tooltip.red:before{border-color:#cc454500 #cc454500 #cc454500 #cc4545}.published-charts-tooltip.neutral:before{border-color:#eac30000 #eac30000 #eac30000 #eac300}.published-charts-tooltip.green.right:before{border-color:#78c14300 #78c143 #78c14300 #78c14300}.published-charts-tooltip.red.right:before{border-color:#cc454500 #cc4545 #cc454500 #cc454500}.published-charts-tooltip.neutral.right:before{border-color:#eac30000 #eac300 #eac30000 #eac30000}.chart-controls-bar{background-color:var(--tv-color-pane-background,#fff);border-top:1px solid;border-color:var(--tv-color-platform-background,#e0e3eb);border-radius:0 0 4px 4px;box-sizing:border-box;contain:strict;height:39px;overflow:hidden;position:absolute}html.theme-dark .chart-controls-bar{background-color:var(--tv-color-pane-background,#131722);border-color:var(--tv-color-platform-background,#2a2e39)}.no-border-bottom-left-radius .chart-controls-bar{border-bottom-left-radius:0}.no-border-bottom-right-radius .chart-controls-bar{border-bottom-right-radius:0}.charts-popup-list.date-range-popupmenu{margin-left:1px}.charts-popup-list.date-range-popupmenu .item{padding-left:10px;padding-right:10px}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(40f9a03d174178efb12303caa9bc7cd8.woff2) format("woff2"),url(3293616ec0c605c7c2db25829a0a509e.woff) format("woff")}.ui-draggable{touch-action:none}.chart-gui-button-pseudo-border{background:#0000;border:1px solid #b5b7b9;content:"";display:block;height:100%;left:-1px;position:absolute;top:-1px;width:100%;z-index:1}html.theme-dark .chart-gui-button-pseudo-border{border-color:#4c525e}._tv-dialog .button,._tv-dialog .submenu,.bottom-widgetbar-content.backtesting .button,.bottom-widgetbar-content.backtesting .submenu,.properties-toolbar .button,.properties-toolbar .submenu,.widgetbar-widgetheader .button,.widgetbar-widgetheader .submenu{position:relative}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){._tv-dialog .button:not(.disabled):not(.selected):hover:before,._tv-dialog .submenu:not(.disabled):not(.selected):hover:before,.bottom-widgetbar-content.backtesting .button:not(.disabled):not(.selected):hover:before,.bottom-widgetbar-content.backtesting .submenu:not(.disabled):not(.selected):hover:before,.properties-toolbar .button:not(.disabled):not(.selected):hover:before,.properties-toolbar .submenu:not(.disabled):not(.selected):hover:before,.widgetbar-widgetheader .button:not(.disabled):not(.selected):hover:before,.widgetbar-widgetheader .submenu:not(.disabled):not(.selected):hover:before{background:#0000;border:1px solid #b5b7b9;content:"";display:block;height:100%;left:-1px;position:absolute;top:-1px;width:100%;z-index:1}html.theme-dark ._tv-dialog .button:not(.disabled):not(.selected):hover:before,html.theme-dark ._tv-dialog .submenu:not(.disabled):not(.selected):hover:before,html.theme-dark .bottom-widgetbar-content.backtesting .button:not(.disabled):not(.selected):hover:before,html.theme-dark .bottom-widgetbar-content.backtesting .submenu:not(.disabled):not(.selected):hover:before,html.theme-dark .properties-toolbar .button:not(.disabled):not(.selected):hover:before,html.theme-dark .properties-toolbar .submenu:not(.disabled):not(.selected):hover:before,html.theme-dark .widgetbar-widgetheader .button:not(.disabled):not(.selected):hover:before,html.theme-dark .widgetbar-widgetheader .submenu:not(.disabled):not(.selected):hover:before{border-color:#4c525e}._tv-dialog .tv-select-container:not(.sbHolderDisabled):hover,.bottom-widgetbar-content.backtesting .tv-select-container:not(.sbHolderDisabled):hover,.properties-toolbar .tv-select-container:not(.sbHolderDisabled):hover,.widgetbar-widgetheader .tv-select-container:not(.sbHolderDisabled):hover{border:1px solid #b5b7b9}html.theme-dark ._tv-dialog .tv-select-container:not(.sbHolderDisabled):hover,html.theme-dark .bottom-widgetbar-content.backtesting .tv-select-container:not(.sbHolderDisabled):hover,html.theme-dark .properties-toolbar .tv-select-container:not(.sbHolderDisabled):hover,html.theme-dark .widgetbar-widgetheader .tv-select-container:not(.sbHolderDisabled):hover{border-color:#4c525e}.widgetbar-widgetheader .button:hover{border:1px solid #f7f8fa}html.theme-dark .widgetbar-widgetheader .button:hover{border-color:#4c525e}}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;width:100%}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#e0e3eb80;border-radius:50%;display:inline-block;height:19px;position:relative;transform-origin:bottom;width:19px;z-index:2}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{bottom:50%;color:#50535e;font-size:11px;opacity:1;pointer-events:false;position:absolute;text-align:center;top:50%;width:100%;z-index:2}html.theme-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{color:#50535e}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd{height:15px;left:2px;opacity:0;pointer-events:false;position:absolute;top:2px;z-index:3}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg,html.theme-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg{fill:#131722}.chart-container.inactive .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{display:none}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-container:hover .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{display:inline-block}.price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#e0e3eb00}.price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd{opacity:1}.price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg,html.theme-dark .price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg{fill:#000}.price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{opacity:0}}.price-axis-stub-1DJMiIgd.fixed-gear-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#0000}.price-axis-stub-1DJMiIgd.fixed-gear-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{opacity:0}.price-axis-stub-1DJMiIgd.fixed-gear-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd{opacity:1}.price-axis-stub-1DJMiIgd.fixed-symbol-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#e0e3eb80}.price-axis-stub-1DJMiIgd.fixed-symbol-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd{opacity:0}.price-axis-stub-1DJMiIgd.fixed-symbol-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{opacity:1}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#2a2e3980}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd,html.theme-dark .chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{color:#787b86}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg,html.theme-dark .chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg{fill:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#2a2e3900}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg,html.theme-dark .chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg{fill:#9598a1}}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd.fixed-symbol-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#2a2e3980}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd.fixed-gear-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#0000}.time-axis{cursor:default}.time-axis--cursor-grabbing{cursor:grabbing}.time-axis--cursor-ew-resize{cursor:ew-resize}.tv-spinner{animation:tv-spinner__container-rotate-19aXx8o_ .9s linear infinite;color:var(--tv-spinner-color,#2962ff);direction:ltr;display:none;height:1em;left:calc(50% - .5em);margin:0 auto;position:absolute;top:calc(50% - .5em);width:1em;will-change:transform}.tv-spinner--size_xsmall{font-size:14px}.tv-spinner--size_small{font-size:20px}.tv-spinner--size_medium{font-size:28px}.tv-spinner--size_large{font-size:56px}.tv-spinner--size_mini .tv-spinner__width_element:after{border-width:2px}.tv-spinner--size_medium .tv-spinner__width_element:after{border-width:3px}.tv-spinner--size_large .tv-spinner__width_element:after{border-width:4px}.tv-spinner--shown{display:block}.tv-spinner__spinner-layer{color:currentColor;height:100%;position:absolute;transform:rotate(90deg);white-space:nowrap;width:100%}.tv-spinner__spinner-layer:after{border-radius:50%;border-top-style:solid;border-width:.07em;box-sizing:border-box;content:"";left:45%;position:absolute;top:0;width:10%}.tv-spinner__background{display:inline-block;height:100%;overflow:hidden;position:absolute;width:100%}.tv-spinner__background:after{border-color:#8797a533;border-radius:50%;border-style:solid;bottom:0;box-sizing:border-box;content:"";left:0;position:absolute;top:0;width:100%}.tv-spinner__circle-clipper{display:inline-block;height:100%;overflow:hidden;position:relative;width:50%}.tv-spinner__circle-clipper:after{animation-duration:1.4s;animation-iteration-count:1;animation-timing-function:cubic-bezier(.36,0,.37,.99);border-bottom-color:#0000;border-radius:50%;border-style:solid;bottom:0;box-sizing:border-box;content:"";position:absolute;top:0;width:200%;will-change:transform}.tv-spinner__circle-clipper--left:after{animation-name:tv-spinner__left-spin-19aXx8o_;border-right-color:#0000;left:0;transform:rotate(0deg)}.tv-spinner__circle-clipper--right:after{animation-name:tv-spinner__right-spin-19aXx8o_;border-left-color:#0000;left:-100%;transform:rotate(-124deg)}@keyframes tv-spinner__container-rotate-19aXx8o_{to{transform:rotate(1turn)}}@keyframes tv-spinner__left-spin-19aXx8o_{0%{transform:rotate(130deg)}to{transform:rotate(0deg)}}@keyframes tv-spinner__right-spin-19aXx8o_{0%{transform:rotate(-130deg)}to{transform:rotate(-124deg)}}.price-axis-currency-label-wrapper-25tFaE37{left:0;pointer-events:none;position:absolute;text-align:center;top:6px;-webkit-user-select:none;user-select:none;width:100%;z-index:3}.price-axis-currency-label-25tFaE37{border:1px solid #d1d4dc;border-radius:4px;cursor:default;display:inline-block;text-align:left}.chart-container.inactive .price-axis-currency-label-25tFaE37{visibility:hidden}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-container:hover .price-axis-currency-label-25tFaE37{visibility:visible}}.price-axis-currency-label-25tFaE37 tr{pointer-events:auto}.price-axis-currency-label-25tFaE37 tr td:first-child{border-radius:4px 0 0 4px;padding-left:4px}.price-axis-currency-label-25tFaE37 tr td:last-child{border-radius:0 4px 4px 0;padding-right:2px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.price-axis-currency-label-25tFaE37 tr:hover:not(.readonly-25tFaE37){background-color:#f0f3fa}html.theme-dark .price-axis-currency-label-25tFaE37 tr:hover:not(.readonly-25tFaE37){background-color:#1e222d}}.price-axis-currency-label-25tFaE37 tr.readonly-25tFaE37{pointer-events:none}.price-axis-currency-label-25tFaE37 tr.readonly-25tFaE37 td:last-child{padding-right:4px}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 .price-axis-currency-label-dropdown-25tFaE37:last-child{border-top:1px solid #d1d4dc}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 tr:first-child td:first-child{border-radius:4px 0 0 0}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 tr:first-child td:last-child{border-radius:0 4px 0 0}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 tr:last-child td:first-child{border-radius:0 0 0 4px}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 tr:last-child td:last-child{border-radius:0 0 4px 0}.price-axis-currency-label-text-25tFaE37{white-space:nowrap}.price-axis-currency-label-arrow-down-25tFaE37 svg{margin-bottom:2px;margin-left:2px;vertical-align:middle}.chart-widget__top--themed-dark .price-axis-currency-label-25tFaE37{border-color:#363a45}.chart-widget__top--themed-dark .price-axis-currency-label-25tFaE37.multiline-25tFaE37 .price-axis-currency-label-dropdown-25tFaE37:last-child{border-top:1px solid #363a45}.price-axis{cursor:default;height:100%;overflow:hidden;position:absolute}.price-axis--cursor-grabbing{cursor:grabbing}.price-axis--cursor-pointer{cursor:pointer}.price-axis--cursor-ns-resize{cursor:ns-resize}.pane{cursor:crosshair;overflow:hidden}.pane--cursor-pointer{cursor:pointer}.pane--cursor-eraser{cursor:url(0579d40b812fa2c3ffe72e5803a6e14c.cur),default}.pane--cursor-dot{cursor:url(ed68e83c16f77203e73dbc4c3a7c7fa1.cur),default}.pane--cursor-default{cursor:default}.pane--cursor-grabbing{cursor:grabbing}.pane--cursor-zoom-in{cursor:zoom-in}.pane--cursor-ew-resize{cursor:ew-resize}.pane--cursor-ns-resize{cursor:ns-resize}.pane--cursor-nwse-resize{cursor:nwse-resize}.pane--cursor-nesw-resize{cursor:nesw-resize}.pane-separator{margin:0;padding:0;position:relative}.pane-separator .handle{cursor:row-resize;height:9px;left:0;position:absolute;top:-4px;width:100%;z-index:50}.pane-separator .handle.i-active{background:#b2b5be33}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.pane-separator .handle:hover{background:#b2b5be33}}.chart-widget--themed-dark .pane-separator .handle.i-active{background:#b2b5be1f}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget--themed-dark .pane-separator .handle:hover{background:#b2b5be1f}}.pane-separator .handle.i-active:before{background:#b2b5be03;content:"";height:100%;left:0;opacity:0;position:fixed;top:0;width:100%}@keyframes tv-transition--fade-in-1zC4Mcq2{0%{opacity:0;visibility:visible}to{opacity:1}}@keyframes tv-transition--fade-out-1zC4Mcq2{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes tv-transition--slide-out-1zC4Mcq2{0%{max-height:9000px}to{max-height:0;visibility:hidden}}.tv-transition--fade-in{animation:tv-transition--fade-in-1zC4Mcq2 .35s ease forwards}.tv-transition--fade-out{animation:tv-transition--fade-out-1zC4Mcq2 .35s ease forwards}.tv-transition--slide-out{animation:tv-transition--slide-out-1zC4Mcq2 .35s ease forwards}@font-face{font-family:EuclidCircular;font-style:normal;font-weight:400;src:url(b1a63a011fd92dfb93db6db243bb036c.woff2) format("woff2")} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.rtl.css b/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.rtl.css new file mode 100644 index 0000000..d01bc77 --- /dev/null +++ b/public/static/charting_library/bundles/8445.e3ed5f183ca7539d37f0.rtl.css @@ -0,0 +1 @@ +html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#434651;font-family:Trebuchet MS,roboto,ubuntu,sans-serif;font-size:14px}html.theme-dark body{color:#d1d4dc}html[lang=vi] body{font-family:Arial,sans-serif}body,html{box-sizing:border-box}body,dir,h1,h2,h3,h4,h5,h6,html,li,menu,ol,p,ul{margin:0;padding:0}a{text-decoration:none}a:active{outline:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){a:hover{outline:0}}h1{font-size:2em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sup{top:-.25em}sub{bottom:-.25em}figure{margin:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button,select{text-transform:none}button,input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:initial}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:none;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}:root{--v-rhythm-header-1-space-phone:56px;--v-rhythm-header-1-space-tablet:80px;--v-rhythm-header-1-space-laptop:100px;--v-rhythm-header-1-space-desktop:120px;--v-rhythm-header-2-space-phone:16px;--v-rhythm-header-2-space-tablet:24px;--v-rhythm-header-2-space-laptop:32px;--v-rhythm-header-2-space-desktop:40px;--v-rhythm-header-3-space-phone:16px;--v-rhythm-header-3-space-tablet:16px;--v-rhythm-header-3-space-laptop:24px;--v-rhythm-header-3-space-desktop:24px;--v-rhythm-footer-1-space-phone:56px;--v-rhythm-footer-1-space-tablet:80px;--v-rhythm-footer-1-space-laptop:100px;--v-rhythm-footer-1-space-desktop:120px;--v-rhythm-footer-2-space-phone:16px;--v-rhythm-footer-2-space-tablet:24px;--v-rhythm-footer-2-space-laptop:32px;--v-rhythm-footer-2-space-desktop:40px;--v-rhythm-footer-3-space-phone:16px;--v-rhythm-footer-3-space-tablet:16px;--v-rhythm-footer-3-space-laptop:24px;--v-rhythm-footer-3-space-desktop:24px;--v-rhythm-spacing-1-phone:80px;--v-rhythm-spacing-1-tablet:120px;--v-rhythm-spacing-1-laptop:160px;--v-rhythm-spacing-1-desktop:200px;--v-rhythm-spacing-2-phone:64px;--v-rhythm-spacing-2-tablet:88px;--v-rhythm-spacing-2-laptop:120px;--v-rhythm-spacing-2-desktop:160px;--v-rhythm-spacing-3-phone:48px;--v-rhythm-spacing-3-tablet:64px;--v-rhythm-spacing-3-laptop:88px;--v-rhythm-spacing-3-desktop:120px;--v-rhythm-spacing-4-phone:48px;--v-rhythm-spacing-4-tablet:48px;--v-rhythm-spacing-4-laptop:64px;--v-rhythm-spacing-4-desktop:80px;--v-rhythm-spacing-5-phone:32px;--v-rhythm-spacing-5-tablet:32px;--v-rhythm-spacing-5-laptop:40px;--v-rhythm-spacing-5-desktop:48px;--v-rhythm-header-1-space:var(--v-rhythm-header-1-space-phone);--v-rhythm-header-2-space:var(--v-rhythm-header-2-space-phone);--v-rhythm-header-3-space:var(--v-rhythm-header-3-space-phone);--v-rhythm-footer-1-space:var(--v-rhythm-footer-1-space-phone);--v-rhythm-footer-2-space:var(--v-rhythm-footer-2-space-phone);--v-rhythm-footer-3-space:var(--v-rhythm-footer-3-space-phone);--v-rhythm-spacing-1:var(--v-rhythm-spacing-1-phone);--v-rhythm-spacing-2:var(--v-rhythm-spacing-2-phone);--v-rhythm-spacing-3:var(--v-rhythm-spacing-3-phone);--v-rhythm-spacing-4:var(--v-rhythm-spacing-4-phone);--v-rhythm-spacing-5:var(--v-rhythm-spacing-5-phone)}@media screen and (min-width:768px){:root{--v-rhythm-header-1-space:var(--v-rhythm-header-1-space-tablet);--v-rhythm-header-2-space:var(--v-rhythm-header-2-space-tablet);--v-rhythm-header-3-space:var(--v-rhythm-header-3-space-tablet);--v-rhythm-footer-1-space:var(--v-rhythm-footer-1-space-tablet);--v-rhythm-footer-2-space:var(--v-rhythm-footer-2-space-tablet);--v-rhythm-footer-3-space:var(--v-rhythm-footer-3-space-tablet);--v-rhythm-spacing-1:var(--v-rhythm-spacing-1-tablet);--v-rhythm-spacing-2:var(--v-rhythm-spacing-2-tablet);--v-rhythm-spacing-3:var(--v-rhythm-spacing-3-tablet);--v-rhythm-spacing-4:var(--v-rhythm-spacing-4-tablet);--v-rhythm-spacing-5:var(--v-rhythm-spacing-5-tablet)}}@media screen and (min-width:1280px){:root{--v-rhythm-header-1-space:var(--v-rhythm-header-1-space-laptop);--v-rhythm-header-2-space:var(--v-rhythm-header-2-space-laptop);--v-rhythm-header-3-space:var(--v-rhythm-header-3-space-laptop);--v-rhythm-footer-1-space:var(--v-rhythm-footer-1-space-laptop);--v-rhythm-footer-2-space:var(--v-rhythm-footer-2-space-laptop);--v-rhythm-footer-3-space:var(--v-rhythm-footer-3-space-laptop);--v-rhythm-spacing-1:var(--v-rhythm-spacing-1-laptop);--v-rhythm-spacing-2:var(--v-rhythm-spacing-2-laptop);--v-rhythm-spacing-3:var(--v-rhythm-spacing-3-laptop);--v-rhythm-spacing-4:var(--v-rhythm-spacing-4-laptop);--v-rhythm-spacing-5:var(--v-rhythm-spacing-5-laptop)}}@media screen and (min-width:1440px){:root{--v-rhythm-header-1-space:var(--v-rhythm-header-1-space-desktop);--v-rhythm-header-2-space:var(--v-rhythm-header-2-space-desktop);--v-rhythm-header-3-space:var(--v-rhythm-header-3-space-desktop);--v-rhythm-footer-1-space:var(--v-rhythm-footer-1-space-desktop);--v-rhythm-footer-2-space:var(--v-rhythm-footer-2-space-desktop);--v-rhythm-footer-3-space:var(--v-rhythm-footer-3-space-desktop);--v-rhythm-spacing-1:var(--v-rhythm-spacing-1-desktop);--v-rhythm-spacing-2:var(--v-rhythm-spacing-2-desktop);--v-rhythm-spacing-3:var(--v-rhythm-spacing-3-desktop);--v-rhythm-spacing-4:var(--v-rhythm-spacing-4-desktop);--v-rhythm-spacing-5:var(--v-rhythm-spacing-5-desktop)}}.tv-text ol,.tv-text p,.tv-text ul{color:#131722;font-size:14px;line-height:1.6;margin-bottom:12px}html.theme-dark .tv-text ol,html.theme-dark .tv-text p,html.theme-dark .tv-text ul{color:#d1d4dc}.tv-text ol.tv-text__color_bright,.tv-text p.tv-text__color_bright,.tv-text ul.tv-text__color_bright{color:#fff}.tv-text ol.tv-text__color_silver,.tv-text p.tv-text__color_silver,.tv-text ul.tv-text__color_silver{color:silver}.tv-text ol.tv-text__color_silver_30,.tv-text p.tv-text__color_silver_30,.tv-text ul.tv-text__color_silver_30{color:#9b9b9b}.tv-text ol.tv-text__paragraph--additional-top-margin,.tv-text p.tv-text__paragraph--additional-top-margin,.tv-text ul.tv-text__paragraph--additional-top-margin{margin-top:24px}.tv-text ol.tv-text__paragraph--additional-top-margin_double,.tv-text p.tv-text__paragraph--additional-top-margin_double,.tv-text ul.tv-text__paragraph--additional-top-margin_double{margin-top:48px}.tv-text ol.tv-text__paragraph--additional-bottom-margin,.tv-text p.tv-text__paragraph--additional-bottom-margin,.tv-text ul.tv-text__paragraph--additional-bottom-margin{margin-bottom:24px}.tv-text ol.tv-text__paragraph--additional-bottom-margin_double,.tv-text p.tv-text__paragraph--additional-bottom-margin_double,.tv-text ul.tv-text__paragraph--additional-bottom-margin_double{margin-bottom:48px}.tv-text ol .tv-text--highlight-important,.tv-text p .tv-text--highlight-important,.tv-text ul .tv-text--highlight-important{background:#fff3e0;box-shadow:0 0 0 .37em #fff3e0}html.theme-dark .tv-text ol .tv-text--highlight-important,html.theme-dark .tv-text p .tv-text--highlight-important,html.theme-dark .tv-text ul .tv-text--highlight-important{background:#142e61;box-shadow:0 0 0 .37em #142e61}.tv-text ol .tv-text--highlight-important:empty,.tv-text p .tv-text--highlight-important:empty,.tv-text ul .tv-text--highlight-important:empty{background:#0000;box-shadow:none}.tv-text h1{font-size:45px;margin-bottom:30px;margin-top:30px}@media screen and (max-width:1019px){.tv-text h1{font-size:38px}}@media screen and (max-width:767px){.tv-text h1{font-size:32px}}@media screen and (max-width:479px){.tv-text h1{font-size:28px}}.tv-text h2{font-size:31px}@media screen and (max-width:1019px){.tv-text h2{font-size:26px}}@media screen and (max-width:479px){.tv-text h2{font-size:24px}}.tv-text h3{font-size:17px}@media screen and (max-width:1019px){.tv-text h3{font-size:16px}}.tv-text h4{font-size:15px}.tv-text h2,.tv-text h3,.tv-text h4{margin-bottom:20px;margin-top:20px}.tv-text h1:first-child,.tv-text h2:first-child,.tv-text h3:first-child,.tv-text h4:first-child{margin-top:0}.tv-text ol,.tv-text ul{list-style-position:inside}.tv-text--position-outside ol,.tv-text--position-outside ul{list-style-position:outside;padding-right:17px}.tv-text a:not(.tv-button){color:#2962ff;transition:color .35s ease}html.theme-dark .tv-text a:not(.tv-button){color:#2962ff}.tv-text a:not(.tv-button):visited{fill:#2962ff;color:#2962ff}html.theme-dark .tv-text a:not(.tv-button):visited{fill:#2962ff;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-text a:not(.tv-button):hover{fill:#1e53e5;color:#1e53e5;transition-duration:.06s}html.theme-dark .tv-text a:not(.tv-button):hover{fill:#1e53e5;color:#1e53e5}}.tv-text a:not(.tv-button):focus{outline:auto}.tv-text a:not(.tv-button):focus:not(:-moz-focusring){outline:none}.tv-text a:not(.tv-button):-moz-focusring{outline:auto}.tv-text a:not(.tv-button):active{fill:#1848cc;color:#1848cc;transition-duration:.06s}html.theme-dark .tv-text a:not(.tv-button):active{fill:#1848cc;color:#1848cc}.tv-text__font.tv-text__font--size_semilarge{font-size:15px}@media screen and (max-width:767px){.tv-text__font.tv-text__font--size_semilarge{font-size:14px}}.tv-text__font.tv-text__font--size_large{font-size:17px}@media screen and (max-width:767px){.tv-text__font.tv-text__font--size_large{font-size:16px}}.tv-text__font.tv-text__font--size_xlarge{font-size:19px}@media screen and (max-width:767px){.tv-text__font.tv-text__font--size_xlarge{font-size:18px}}.tv-text__font--bold{font-weight:700}.tv-text__font--italic{font-style:italic}.tv-text--darkbg,.tv-text--darkbg ol,.tv-text--darkbg p,.tv-text--darkbg ul{color:#fff}.tv-text--highlight-important{background:#fff3e0;box-shadow:0 0 0 .07em #fff3e0}html.theme-dark .tv-text--highlight-important{background:#142e61;box-shadow:0 0 0 .07em #142e61}.tv-text--highlight-important:empty{background:#0000;box-shadow:none}.symbol-change-direction.up{color:#37bc9b}.symbol-change-direction.down{color:#ff4a68}.js-hidden{display:none!important}.js-no-pointer-events{pointer-events:none!important}body{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;box-sizing:border-box;min-width:320px}body.i-no-scroll{overflow:hidden!important}body.i-no-padding{padding:0!important}::selection{background:#bbd9fb}html.theme-dark ::selection{background:#143a87}.i-hidden{display:none!important}.i-invisible{visibility:hidden!important}.i-clearfix:after{clear:both;content:"";display:table}.i-align_left{text-align:right!important}.i-align_right{text-align:left!important}.i-align_center{text-align:center!important}.i-float_left{float:right!important}.i-float_right{float:left!important}.i-float_none{float:none!important}@media screen and (min-width:1020px){.i-device-only{display:none!important}}@media screen and (max-width:1019px){.i-desktop-only{display:none!important}}@media screen and (min-width:479px){.i-phones-only{display:none!important}}@media screen and (max-width:479px){.i-except-phones-only{display:none!important}}.i-no-break{white-space:nowrap}body.fullscreen-mode{overflow:hidden}.tv-layout-width{box-sizing:border-box;margin:0 auto;padding:0 20px;width:1020px}.tv-layout-width--no-padding{padding:0;width:980px}.tv-layout-width--simple{padding:0}.tv-dialog .tv-layout-width{max-width:100%}.chart-page .tv-layout-width{width:100%}@media screen and (max-width:1019px){.tv-layout-width{width:auto}.tv-layout-width .tv-feed{margin-left:-20px;margin-right:-20px}.tv-layout-width .tv-feed--tablet-top-indent{margin-top:48px}}.tv-layout-padding{padding:0 20px}body.page-wide .tv-layout-width,body.popup-wide .fancybox-overlay .tv-layout-width{width:1520px}.tv-main,body.page-fullwidth .tv-layout-width{width:100%}.tv-main{display:flex;flex-direction:column;min-height:100%}.tv-side-toolbar{float:right;height:100%;overflow-x:visible;overflow-y:hidden;position:static}.tv-main-panel{background-color:#f1f3f6;overflow:hidden;position:relative}.tv-side-panel{float:left;height:100%;position:relative;z-index:15}.tv-panels{height:100%}.chart-page .tv-content{padding:0}.clear{clear:both}.clearfix:after{clear:both;content:"";display:block}.hide{display:none!important}.show{display:block!important}.tv-right{float:left!important}.tv-left{float:right!important}#_atssh{margin-top:-20px;position:absolute}.js-right-boundary{margin-left:0}body{background-color:#fff}html.theme-dark body{background-color:#131722}body.tv-body--bg_superdark,html.theme-dark body.tv-body--bg_superdark{background:#131722}body.tv-body--bg_contrast{background-color:#fff}html.theme-dark body.tv-body--bg_contrast{background-color:#1e222d}body.extension{min-width:0;overflow:hidden}img{border:none}textarea{resize:none}:focus{outline:none}input,textarea{border-radius:0}.tv-profile .tags,.unselectable{-webkit-user-select:none;user-select:none}.selectable,input,textarea{-webkit-user-select:text;user-select:text}.text-center{text-align:center}#chart-area{background:#0000}#chart-area,.chart-container{position:relative}#chart-area.fullscreen{height:100%!important;position:fixed;right:0;top:0;width:100%!important;z-index:15}.chart-page{background-color:var(--tv-color-platform-background,#e0e3eb)}html.theme-dark .chart-page{background-color:var(--tv-color-platform-background,#2a2e39)}.chart-page .chart-container{contain:strict;position:relative}.chart-page .chart-container-border{background-color:#fff;border:none;height:100%;overflow:hidden;position:relative;width:100%;z-index:0}html.theme-dark .chart-page .chart-container-border{background-color:#131722}.chart-page .chart-container.multiple.active:after{border:2px solid #2962ff;bottom:0;box-sizing:border-box;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0}html.theme-dark .chart-page .chart-container.multiple.active:after{border-color:#2962ff}.chart-page .chart-container.inactive .back-to-present{display:none}.chart-page .chart-container.no-header-toolbar .chart-container-border{border-top-left-radius:4px;border-top-right-radius:4px}.chart-page .chart-container.no-bottom-toolbar .chart-container-border{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.input-reset{border-radius:50%;cursor:pointer;display:none;height:16px;left:7px;position:absolute;top:7px;width:16px}.input-reset:before{background:url(1df47f578aeef40dd1f2328338a133be.png) no-repeat -103px -340px;content:" ";display:block;height:10px;margin:-5px -5px 0 0;position:absolute;right:50%;top:50%;width:10px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.input-reset:hover{background-color:#f2f5f8}}.input-reset:active{opacity:.6}.loading-indicator{background:#fff;height:100%;position:absolute;right:0;top:0;width:100%;z-index:150}html.theme-dark .loading-indicator{background:#131722}.ui-slider-horizontal{background-color:#f4f7f9;border:1px solid #c9cbcd!important;box-shadow:inset 0 1px 2px #00000026;height:5px!important;margin:7px 0 0}html.theme-dark .ui-slider-horizontal{background-color:#171b29;border-color:#2f3241!important}.ui-slider-handle{background:url(1df47f578aeef40dd1f2328338a133be.png) -20px -80px!important;border:none!important;height:15px!important;margin-right:-7px!important;top:-5px!important;width:15px!important}.ui-slider-horizontal.linewidth-slider{background:url(4a9abefd31dab7c8239e02e925aacd78.png) 100% 0 no-repeat!important;border:none!important;box-shadow:none;display:inline-block;height:12px!important;margin:7px 10px;vertical-align:middle;width:101px}.ui-slider-horizontal.linewidth-slider:after,.ui-slider-horizontal.linewidth-slider:before{content:none}.ui-slider-horizontal.transparency-slider{background:url(7e0cc5f7d7f5151500dd60b8d6ca60a1.png)!important;height:8px!important;margin:7px 10px;width:99px}.ui-slider-horizontal.transparency-slider.wide-slider{margin:7px 1px;width:176px}.ui-slider-horizontal.transparency-slider .gradient{background:linear-gradient(270deg,#0000 0,#7db9e8);height:100%;left:0;position:absolute;top:0;width:92%}.ui-slider-horizontal.linewidth-slider .ui-slider-handle,.ui-slider-horizontal.transparency-slider .ui-slider-handle{background:url(40566afd832a155e5e370a8bd423de4b.svg) 100% 0 no-repeat!important;height:20px!important;margin:-10px 0 0 -10px!important;top:50%!important;width:20px!important}.ui-slider-horizontal.linewidth-slider .ui-slider-handle.without-shift-handle-left,.ui-slider-horizontal.transparency-slider .ui-slider-handle.without-shift-handle-left{margin:-10px 3px 0 -3px!important}.falling,.growing,.search-results .symbol-last.falling,.search-results .symbol-last.growing{color:#fff}.growing{background:#37bc9b}.falling{background:#ff4a68}#myswf{position:fixed;right:0;top:0}.tv-button{fill:currentColor;-webkit-tap-highlight-color:transparent;background-color:initial;border:none;border-radius:4px;box-sizing:border-box;color:#757575;cursor:pointer;display:inline-block;font-size:14px;line-height:32px;margin:0;min-width:40px;outline:0;overflow:hidden;padding:1px 22px;position:relative;text-align:center;text-decoration:none;transition:background-color .35s ease,border-color .35s ease,color .35s ease;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.tv-button.tv-button--danger_ghost,.tv-button.tv-button--default,.tv-button.tv-button--default_ghost,.tv-button.tv-button--primary_ghost,.tv-button.tv-button--secondary_ghost,.tv-button.tv-button--state,.tv-button.tv-button--success_ghost,.tv-button.tv-button--warning_ghost{padding:0 21px}.tv-button.i-active,.tv-button.i-hover,.tv-button:active{transition-duration:.06s}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button:hover{transition-duration:.06s}}.tv-button svg{vertical-align:middle}.tv-button--block{display:block;text-align:center;width:100%}.tv-button+.tv-button{margin-right:15px}.tv-button.tv-button--no-left-margin{margin-right:0}.tv-button__text{display:inline-block;position:relative}.tv-button__text--full-height{word-wrap:break-word;align-items:center;display:flex;height:100%;justify-content:center;line-height:1.2em;margin:11px 5px;white-space:normal;width:100%}.tv-button--default,.tv-button--default_ghost,a.tv-button--default:visited{background-color:#fff;border-color:#fff;color:#fff}html.theme-dark .tv-button--default,html.theme-dark .tv-button--default_ghost,html.theme-dark a.tv-button--default:visited{background-color:#1e222d;border-color:#1e222d}.tv-button--default_ghost{color:#fff}html.theme-dark .tv-button--default_ghost{color:#1e222d}.tv-button--default_ghost.i-checked{background-color:#fff;border-color:#fff;color:#fff}html.theme-dark .tv-button--default_ghost.i-checked{background-color:#1e222d;border-color:#1e222d}.tv-button--default.i-active,.tv-button--default:active,.tv-button--default_ghost.i-active,.tv-button--default_ghost:active{background-color:#ececec;border-color:#ececec;color:#fff;transform:translateY(1px)}html.theme-dark .tv-button--default.i-active,html.theme-dark .tv-button--default:active,html.theme-dark .tv-button--default_ghost.i-active,html.theme-dark .tv-button--default_ghost:active{background-color:#1c2030;border-color:#1c2030}.tv-button--default.i-hover,.tv-button--default_ghost.i-hover{background-color:#e0e3eb;border-color:#e0e3eb;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--default:hover,.tv-button--default_ghost:hover{background-color:#e0e3eb;border-color:#e0e3eb;color:#fff}}html.theme-dark .tv-button--default.i-hover,html.theme-dark .tv-button--default_ghost.i-hover{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--default:hover,html.theme-dark .tv-button--default_ghost:hover{background-color:#1e222d}}html.theme-dark .tv-button--default.i-hover,html.theme-dark .tv-button--default_ghost.i-hover{border-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--default:hover,html.theme-dark .tv-button--default_ghost:hover{border-color:#1e222d}}.tv-button--default_ghost .tv-button__loader-item{background-color:#e0e3eb}html.theme-dark .tv-button--default_ghost .tv-button__loader-item{background-color:#1e222d}.tv-button--default_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--default_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--default,.tv-button--default.i-checked,.tv-button--default_ghost,.tv-button--default_ghost.i-checked{border:1px solid #b2b5be;color:#6a6d78}html.theme-dark .tv-button--default,html.theme-dark .tv-button--default.i-checked,html.theme-dark .tv-button--default_ghost,html.theme-dark .tv-button--default_ghost.i-checked{border-color:#363a45;color:#787b86}.tv-button--default.i-hover,.tv-button--default_ghost.i-hover{border-color:#b2b5be;color:#6a6d78}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--default:hover,.tv-button--default_ghost:hover{border-color:#b2b5be;color:#6a6d78}}html.theme-dark .tv-button--default.i-hover,html.theme-dark .tv-button--default_ghost.i-hover{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--default:hover,html.theme-dark .tv-button--default_ghost:hover{border-color:#363a45}}html.theme-dark .tv-button--default.i-hover,html.theme-dark .tv-button--default_ghost.i-hover{color:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--default:hover,html.theme-dark .tv-button--default_ghost:hover{color:#787b86}}.tv-button--default.i-active,.tv-button--default:active,.tv-button--default_ghost.i-active,.tv-button--default_ghost:active{border-color:#b2b5be;color:#6a6d78}html.theme-dark .tv-button--default.i-active,html.theme-dark .tv-button--default:active,html.theme-dark .tv-button--default_ghost.i-active,html.theme-dark .tv-button--default_ghost:active{border-color:#363a45;color:#787b86}.tv-button--primary,.tv-button--primary_ghost,a.tv-button--primary:visited{background-color:#2962ff;border-color:#2962ff;color:#fff}html.theme-dark .tv-button--primary,html.theme-dark .tv-button--primary_ghost,html.theme-dark a.tv-button--primary:visited{background-color:#2962ff;border-color:#2962ff;color:#fff}.tv-button--primary_ghost,html.theme-dark .tv-button--primary_ghost{color:#2962ff}.tv-button--primary_ghost.i-checked{background-color:#2962ff;border-color:#2962ff;color:#fff}html.theme-dark .tv-button--primary_ghost.i-checked{background-color:#2962ff;border-color:#2962ff;color:#fff}.tv-button--primary.i-active,.tv-button--primary:active,.tv-button--primary_ghost.i-active,.tv-button--primary_ghost:active{background-color:#1848cc;border-color:#1848cc;color:#fff;transform:translateY(1px)}html.theme-dark .tv-button--primary.i-active,html.theme-dark .tv-button--primary:active,html.theme-dark .tv-button--primary_ghost.i-active,html.theme-dark .tv-button--primary_ghost:active{background-color:#1848cc;border-color:#1848cc;color:#fff}.tv-button--primary.i-hover,.tv-button--primary_ghost.i-hover{background-color:#1e53e5;border-color:#1e53e5;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--primary:hover,.tv-button--primary_ghost:hover{background-color:#1e53e5;border-color:#1e53e5;color:#fff}}html.theme-dark .tv-button--primary.i-hover,html.theme-dark .tv-button--primary_ghost.i-hover{background-color:#1e53e5}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--primary:hover,html.theme-dark .tv-button--primary_ghost:hover{background-color:#1e53e5}}html.theme-dark .tv-button--primary.i-hover,html.theme-dark .tv-button--primary_ghost.i-hover{border-color:#1e53e5}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--primary:hover,html.theme-dark .tv-button--primary_ghost:hover{border-color:#1e53e5}}html.theme-dark .tv-button--primary.i-hover,html.theme-dark .tv-button--primary_ghost.i-hover{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--primary:hover,html.theme-dark .tv-button--primary_ghost:hover{color:#fff}}.tv-button--primary_ghost .tv-button__loader-item,html.theme-dark .tv-button--primary_ghost .tv-button__loader-item{background-color:#1e53e5}.tv-button--primary_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--primary_ghost:hover .tv-button__loader-item{background-color:#fff}}html.theme-dark .tv-button--primary_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--primary_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--secondary,.tv-button--secondary_ghost,a.tv-button--secondary:visited{background-color:#e9eff2;border-color:#e9eff2;color:#757575}.tv-button--secondary_ghost{color:#757575}.tv-button--secondary_ghost.i-checked{background-color:#e9eff2;border-color:#e9eff2;color:#757575}.tv-button--secondary.i-active,.tv-button--secondary:active,.tv-button--secondary_ghost.i-active,.tv-button--secondary_ghost:active{background-color:#cfdce3;border-color:#cfdce3;color:#757575;transform:translateY(1px)}.tv-button--secondary.i-hover,.tv-button--secondary_ghost.i-hover{background-color:#dce6ea;border-color:#dce6ea;color:#757575}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--secondary:hover,.tv-button--secondary_ghost:hover{background-color:#dce6ea;border-color:#dce6ea;color:#757575}}.tv-button--secondary_ghost .tv-button__loader-item{background-color:#dce6ea}.tv-button--secondary_ghost.i-hover .tv-button__loader-item{background-color:#757575}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--secondary_ghost:hover .tv-button__loader-item{background-color:#757575}}.tv-button--success,.tv-button--success_ghost,a.tv-button--success:visited{background-color:#089981;border-color:#089981;color:#fff}html.theme-dark .tv-button--success,html.theme-dark .tv-button--success_ghost,html.theme-dark a.tv-button--success:visited{background-color:#056656;border-color:#056656;color:#fff}.tv-button--success_ghost{color:#089981}html.theme-dark .tv-button--success_ghost{color:#056656}.tv-button--success_ghost.i-checked{background-color:#089981;border-color:#089981;color:#fff}html.theme-dark .tv-button--success_ghost.i-checked{background-color:#056656;border-color:#056656;color:#fff}.tv-button--success.i-active,.tv-button--success:active,.tv-button--success_ghost.i-active,.tv-button--success_ghost:active{background-color:#056656;border-color:#056656;color:#fff;transform:translateY(1px)}html.theme-dark .tv-button--success.i-active,html.theme-dark .tv-button--success:active,html.theme-dark .tv-button--success_ghost.i-active,html.theme-dark .tv-button--success_ghost:active{background-color:#089981;border-color:#089981;color:#fff}.tv-button--success.i-hover,.tv-button--success_ghost.i-hover{background-color:#06806b;border-color:#06806b;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--success:hover,.tv-button--success_ghost:hover{background-color:#06806b;border-color:#06806b;color:#fff}}html.theme-dark .tv-button--success.i-hover,html.theme-dark .tv-button--success_ghost.i-hover{background-color:#06806b}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--success:hover,html.theme-dark .tv-button--success_ghost:hover{background-color:#06806b}}html.theme-dark .tv-button--success.i-hover,html.theme-dark .tv-button--success_ghost.i-hover{border-color:#06806b}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--success:hover,html.theme-dark .tv-button--success_ghost:hover{border-color:#06806b}}html.theme-dark .tv-button--success.i-hover,html.theme-dark .tv-button--success_ghost.i-hover{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--success:hover,html.theme-dark .tv-button--success_ghost:hover{color:#fff}}.tv-button--success_ghost .tv-button__loader-item,html.theme-dark .tv-button--success_ghost .tv-button__loader-item{background-color:#06806b}.tv-button--success_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--success_ghost:hover .tv-button__loader-item{background-color:#fff}}html.theme-dark .tv-button--success_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--success_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--danger,.tv-button--danger_ghost,a.tv-button--danger:visited{background-color:#f7525f;border-color:#f7525f;color:#fff}html.theme-dark .tv-button--danger,html.theme-dark .tv-button--danger_ghost,html.theme-dark a.tv-button--danger:visited{background-color:#b22833;border-color:#b22833;color:#fff}.tv-button--danger_ghost{color:#f7525f}html.theme-dark .tv-button--danger_ghost{color:#b22833}.tv-button--danger_ghost.i-checked{background-color:#f7525f;border-color:#f7525f;color:#fff}html.theme-dark .tv-button--danger_ghost.i-checked{background-color:#b22833;border-color:#b22833;color:#fff}.tv-button--danger.i-active,.tv-button--danger:active,.tv-button--danger_ghost.i-active,.tv-button--danger_ghost:active{background-color:#b22833;border-color:#b22833;color:#fff;transform:translateY(1px)}html.theme-dark .tv-button--danger.i-active,html.theme-dark .tv-button--danger:active,html.theme-dark .tv-button--danger_ghost.i-active,html.theme-dark .tv-button--danger_ghost:active{background-color:#f23645;border-color:#f23645;color:#fff}.tv-button--danger.i-hover,.tv-button--danger_ghost.i-hover{background-color:#cc2f3c;border-color:#cc2f3c;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--danger:hover,.tv-button--danger_ghost:hover{background-color:#cc2f3c;border-color:#cc2f3c;color:#fff}}html.theme-dark .tv-button--danger.i-hover,html.theme-dark .tv-button--danger_ghost.i-hover{background-color:#cc2f3c}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--danger:hover,html.theme-dark .tv-button--danger_ghost:hover{background-color:#cc2f3c}}html.theme-dark .tv-button--danger.i-hover,html.theme-dark .tv-button--danger_ghost.i-hover{border-color:#cc2f3c}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--danger:hover,html.theme-dark .tv-button--danger_ghost:hover{border-color:#cc2f3c}}html.theme-dark .tv-button--danger.i-hover,html.theme-dark .tv-button--danger_ghost.i-hover{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--danger:hover,html.theme-dark .tv-button--danger_ghost:hover{color:#fff}}.tv-button--danger_ghost .tv-button__loader-item,html.theme-dark .tv-button--danger_ghost .tv-button__loader-item{background-color:#cc2f3c}.tv-button--danger_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--danger_ghost:hover .tv-button__loader-item{background-color:#fff}}html.theme-dark .tv-button--danger_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button--danger_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--warning,.tv-button--warning_ghost,a.tv-button--warning:visited{background-color:#f89e30;border-color:#f89e30;color:#fff}.tv-button--warning_ghost{color:#f89e30}.tv-button--warning_ghost.i-checked{background-color:#f89e30;border-color:#f89e30;color:#fff}.tv-button--warning.i-active,.tv-button--warning:active,.tv-button--warning_ghost.i-active,.tv-button--warning_ghost:active{background-color:#d47807;border-color:#d47807;color:#fff;transform:translateY(1px)}.tv-button--warning.i-hover,.tv-button--warning_ghost.i-hover{background-color:#f79217;border-color:#f79217;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--warning:hover,.tv-button--warning_ghost:hover{background-color:#f79217;border-color:#f79217;color:#fff}}.tv-button--warning_ghost .tv-button__loader-item{background-color:#f79217}.tv-button--warning_ghost.i-hover .tv-button__loader-item{background-color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--warning_ghost:hover .tv-button__loader-item{background-color:#fff}}.tv-button--link{color:#2962ff;transition:color .35s ease}html.theme-dark .tv-button--link{color:#2962ff}.tv-button--link:visited{fill:#2962ff;color:#2962ff}html.theme-dark .tv-button--link:visited{fill:#2962ff;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--link:hover{fill:#1e53e5;color:#1e53e5;transition-duration:.06s}html.theme-dark .tv-button--link:hover{fill:#1e53e5;color:#1e53e5}}.tv-button--link:focus{outline:auto}.tv-button--link:focus:not(:-moz-focusring){outline:none}.tv-button--link:-moz-focusring{outline:auto}.tv-button--link:active{fill:#1848cc;color:#1848cc;transition-duration:.06s}html.theme-dark .tv-button--link:active{fill:#1848cc;color:#1848cc}.tv-button--danger_ghost,.tv-button--default_ghost,.tv-button--primary_ghost,.tv-button--secondary_ghost,.tv-button--success_ghost,.tv-button--warning_ghost{background-color:initial;border-style:solid;border-width:1px}html.theme-dark .tv-button--danger_ghost,html.theme-dark .tv-button--default_ghost,html.theme-dark .tv-button--primary_ghost,html.theme-dark .tv-button--secondary_ghost,html.theme-dark .tv-button--success_ghost,html.theme-dark .tv-button--warning_ghost{background-color:initial}.tv-button--danger_ghost.tv-button--size_large,.tv-button--default_ghost.tv-button--size_large,.tv-button--primary_ghost.tv-button--size_large,.tv-button--secondary_ghost.tv-button--size_large,.tv-button--success_ghost.tv-button--size_large,.tv-button--warning_ghost.tv-button--size_large{border-width:2px}.tv-button--danger_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--default_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--primary_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--secondary_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--success_ghost.tv-button--size_large.tv-button--thin-border,.tv-button--warning_ghost.tv-button--size_large.tv-button--thin-border{border-width:1px}.tv-button .tv-ripple{background-color:#ffffff40}.tv-button--default .tv-ripple,.tv-button--default_ghost .tv-ripple{background-color:#75869640}.tv-button.i-disabled .tv-ripple{background-color:initial}.tv-button.i-disabled,.tv-button.i-disabled:active,.tv-button:disabled,.tv-button:disabled:active{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be;cursor:default}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button.i-disabled:hover,.tv-button:disabled:hover{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be;cursor:default}}html.theme-dark .tv-button.i-disabled,html.theme-dark .tv-button.i-disabled:active,html.theme-dark .tv-button:disabled,html.theme-dark .tv-button:disabled:active{background-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button.i-disabled:hover,html.theme-dark .tv-button:disabled:hover{background-color:#363a45}}html.theme-dark .tv-button.i-disabled,html.theme-dark .tv-button.i-disabled:active,html.theme-dark .tv-button:disabled,html.theme-dark .tv-button:disabled:active{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button.i-disabled:hover,html.theme-dark .tv-button:disabled:hover{border-color:#363a45}}html.theme-dark .tv-button.i-disabled,html.theme-dark .tv-button.i-disabled:active,html.theme-dark .tv-button:disabled,html.theme-dark .tv-button:disabled:active{color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-button.i-disabled:hover,html.theme-dark .tv-button:disabled:hover{color:#50535e}}.tv-button.i-disabled:active,.tv-button:disabled:active{transform:translateY(0)}.tv-button--size_xsmall{border-radius:1px;font-size:11px;font-weight:400;line-height:15px;padding:2px 7px}.tv-button--size_xsmall.tv-button--danger_ghost,.tv-button--size_xsmall.tv-button--default,.tv-button--size_xsmall.tv-button--default_ghost,.tv-button--size_xsmall.tv-button--primary_ghost,.tv-button--size_xsmall.tv-button--secondary_ghost,.tv-button--size_xsmall.tv-button--state,.tv-button--size_xsmall.tv-button--success_ghost,.tv-button--size_xsmall.tv-button--warning_ghost{padding:1px 6px}.tv-button--size_xsmall+.tv-button--size_xsmall{margin-right:10px}.tv-button--size_small{font-size:13px;line-height:25px;padding:1px 12px}.tv-button--size_small.tv-button--danger_ghost,.tv-button--size_small.tv-button--default,.tv-button--size_small.tv-button--default_ghost,.tv-button--size_small.tv-button--primary_ghost,.tv-button--size_small.tv-button--secondary_ghost,.tv-button--size_small.tv-button--state,.tv-button--size_small.tv-button--success_ghost,.tv-button--size_small.tv-button--warning_ghost{padding:0 11px}.tv-button--size_small+.tv-button--size_small{margin-right:10px}.tv-button--size_large{font-size:17px;line-height:44px;padding:1px 30px}.tv-button--size_large.tv-button--danger_ghost,.tv-button--size_large.tv-button--default,.tv-button--size_large.tv-button--default_ghost,.tv-button--size_large.tv-button--primary_ghost,.tv-button--size_large.tv-button--secondary_ghost,.tv-button--size_large.tv-button--state,.tv-button--size_large.tv-button--success_ghost,.tv-button--size_large.tv-button--warning_ghost{padding:0 29px}.tv-button--size_promo{border-radius:120px;font-size:24px;line-height:54px;padding:1px 40px}.tv-button--size_promo.tv-button--danger_ghost,.tv-button--size_promo.tv-button--default,.tv-button--size_promo.tv-button--default_ghost,.tv-button--size_promo.tv-button--primary_ghost,.tv-button--size_promo.tv-button--secondary_ghost,.tv-button--size_promo.tv-button--state,.tv-button--size_promo.tv-button--success_ghost,.tv-button--size_promo.tv-button--warning_ghost{padding:0 39px}.tv-button--no-padding{padding:1px}.tv-button--no-padding.tv-button--danger_ghost,.tv-button--no-padding.tv-button--default,.tv-button--no-padding.tv-button--default_ghost,.tv-button--no-padding.tv-button--primary_ghost,.tv-button--no-padding.tv-button--secondary_ghost,.tv-button--no-padding.tv-button--state,.tv-button--no-padding.tv-button--success_ghost,.tv-button--no-padding.tv-button--warning_ghost{padding:0}.tv-button--state{background:#0000;border-style:solid;border-width:1px;text-align:center}html.theme-dark .tv-button--state{background:#0000}.tv-button--state:after{content:"";display:inline-block}.tv-button--state__checked,.tv-button--state__uncheck-hint,.tv-button--state__unchecked{display:block;height:0;transition:opacity .2625s ease,transform .2625s ease}.tv-button--state__ellipsis-text{display:block;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.i-checked:hover .tv-button--state__checked,.tv-button--state.i-checked:hover .tv-button--state__uncheck-hint,.tv-button--state.i-checked:hover .tv-button--state__unchecked{will-change:opacity,transform}}.tv-button--state.i-checked .tv-button--state__unchecked,.tv-button--state__checked,.tv-button--state__uncheck-hint{opacity:0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.i-checked:hover .tv-button--state__checked{opacity:0}}.tv-button--state.i-checked .tv-button--state__checked,.tv-button--state__unchecked{opacity:1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.i-checked:hover .tv-button--state__uncheck-hint{opacity:1}.tv-button--state.i-checked:hover .tv-button--state__checked{transform:translateY(-5px)}}.tv-button--state.i-checked .tv-button--state__unchecked,.tv-button--state__checked,.tv-button--state__uncheck-hint{transform:translateY(5px)}.tv-button--state.i-checked .tv-button--state__checked{transform:translateY(0)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.i-checked:hover .tv-button--state__uncheck-hint{transform:translateY(0)}}.tv-button--state.tv-button--success{background-color:initial;color:#089981}html.theme-dark .tv-button--state.tv-button--success{background-color:initial;color:#056656}.tv-button--state.tv-button--success.i-checked{background-color:#089981;color:#fff}html.theme-dark .tv-button--state.tv-button--success.i-checked{background-color:#056656;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--success:hover{background-color:#06806b;color:#fff}html.theme-dark .tv-button--state.tv-button--success:hover{background-color:#06806b;color:#fff}}.tv-button--state.tv-button--success:active{background-color:#056656;color:#fff}html.theme-dark .tv-button--state.tv-button--success:active{background-color:#089981;color:#fff}.tv-button--state.tv-button--danger{background-color:initial;color:#f7525f}html.theme-dark .tv-button--state.tv-button--danger{background-color:initial;color:#b22833}.tv-button--state.tv-button--danger.i-checked{background-color:#ff4a68;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--danger:hover{background-color:#f24965;color:#fff}}.tv-button--state.tv-button--danger:active{background-color:#ff173e;color:#fff}.tv-button--state.tv-button--primary{background-color:initial;color:#2962ff}html.theme-dark .tv-button--state.tv-button--primary{background-color:initial;color:#2962ff}.tv-button--state.tv-button--primary.i-checked{background-color:#2962ff;color:#fff}html.theme-dark .tv-button--state.tv-button--primary.i-checked{background-color:#2962ff;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--primary:hover{background-color:#1e53e5;color:#fff}html.theme-dark .tv-button--state.tv-button--primary:hover{background-color:#1e53e5;color:#fff}}.tv-button--state.tv-button--primary:active{background-color:#1848cc;color:#fff}html.theme-dark .tv-button--state.tv-button--primary:active{background-color:#1848cc;color:#fff}.tv-button--state.tv-button--primary_ghost-hover.i-checked{background-color:initial;color:#2962ff}html.theme-dark .tv-button--state.tv-button--primary_ghost-hover.i-checked{background-color:initial;color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--primary_ghost-hover:hover{background-color:#1e53e5;color:#fff}html.theme-dark .tv-button--state.tv-button--primary_ghost-hover:hover{background-color:#1e53e5;color:#fff}}.tv-button--state.tv-button--primary_ghost-hover:active{background-color:#1848cc;color:#fff}html.theme-dark .tv-button--state.tv-button--primary_ghost-hover:active{background-color:#1848cc;color:#fff}.tv-button--state.tv-button--secondary{background-color:initial;color:#757575}.tv-button--state.tv-button--secondary.i-checked{background-color:#e9eff2;color:#757575}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--secondary:hover{background-color:#dce6ea;color:#757575}}.tv-button--state.tv-button--secondary:active{background-color:#cfdce3;color:#757575}.tv-button--state.tv-button--warning{background-color:initial;color:#f89e30}.tv-button--state.tv-button--warning.i-checked{background-color:#f89e30;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-button--state.tv-button--warning:hover{background-color:#f79217;color:#fff}}.tv-button--state.tv-button--warning:active{background-color:#d47807;color:#fff}.tv-button--state.tv-button--icon-with-text svg{margin-bottom:-8px;margin-left:6px;vertical-align:unset}.tv-button--icon{align-items:center;display:inline-flex;height:34px;justify-content:center;min-width:auto;padding:0!important;width:34px}.tv-button--icon.tv-button--size_xsmall{height:19px;width:19px}.tv-button--icon.tv-button--size_small{height:27px;width:27px}.tv-button--icon.tv-button--size_large{height:46px;width:46px}.tv-button__icon{display:flex;margin-left:7px}.tv-button--loader .tv-button__text{transition:opacity .175s ease,transform .175s ease}.tv-button--loader.i-start-load .tv-button__text{opacity:0;transform:translateY(-5px)}.tv-button--loader.i-loading .tv-button__text{opacity:0;transform:translateY(5px)}.tv-button--loader.i-stop-load .tv-button__text{opacity:1;transform:translateY(0);transition-delay:.175s}.tv-button__loader{bottom:0;font-size:0;height:100%;left:0;margin:0 auto;opacity:0;position:absolute;right:0;text-align:center;top:0;transition:opacity .35s ease}.tv-button__loader:after{content:"";display:inline-block;height:100%;vertical-align:middle}.tv-button--loader.i-loading .tv-button__loader,.tv-button--loader.i-start-load .tv-button__loader{opacity:1}.tv-button--loader.i-stop-load .tv-button__loader{opacity:0}.tv-button__loader-item{background-color:#fff;border-radius:100%;display:inline-block;height:10px;margin-left:2px;margin-right:2px;opacity:0;transform:translateY(12px) scale(.6);transition:transform .35s cubic-bezier(.68,-.55,.265,1.55),opacity .35s ease;vertical-align:middle;width:10px}.tv-button__loader-item:nth-child(2){transition-delay:.11666667s}.tv-button__loader-item:nth-child(3){transition-delay:.23333333s}.tv-button--default .tv-button__loader-item{background-color:#757575}.tv-button--loader.i-loading .tv-button__loader-item,.tv-button--loader.i-start-load .tv-button__loader-item{opacity:1}.tv-button--loader.i-stop-load .tv-button__loader-item{opacity:0}.tv-button--loader.i-loading .tv-button__loader-item,.tv-button--loader.i-start-load .tv-button__loader-item,.tv-button--loader.i-stop-load .tv-button__loader-item{transform:translateY(0) scale(.6)}.tv-button--loader.i-loading .tv-button__loader-item,.tv-button--loader.i-stop-load .tv-button__loader-item{animation:tv-button-loader .96s ease-in-out infinite both}.tv-button--loader.i-loading .tv-button__loader-item:nth-child(2),.tv-button--loader.i-stop-load .tv-button__loader-item:nth-child(2){animation-delay:.151s}.tv-button--loader.i-loading .tv-button__loader-item:nth-child(3),.tv-button--loader.i-stop-load .tv-button__loader-item:nth-child(3){animation-delay:.32s}.tv-button--no-border-radius{border-radius:0}.tv-button--no-border{border:none}.tv-button--connect{border-radius:0}.tv-button--connect_left{border-bottom-right-radius:0;border-top-right-radius:0}.tv-button--connect_right{border-bottom-left-radius:0;border-top-left-radius:0}.tv-button--with-icon{align-items:center;display:inline-flex;transform:translate(0)}@keyframes tv-button-loader{0%,to{transform:scale(.6)}50%{transform:scale(.9)}}.tv-control-input{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background-color:#fff;border:1px solid #e0e3eb;border-radius:2px;box-sizing:border-box;color:#434651;display:block;font-size:13px;height:34px;padding:0 12px;transition:border-color .35s ease,background-color .35s ease;width:100%}html.theme-dark .tv-control-input{background-color:#1e222d;border-color:#363a45;color:#d1d4dc}.tv-control-input::placeholder{color:#a3a6af;opacity:1}html.theme-dark .tv-control-input::placeholder{color:#50535e}.tv-control-input:-webkit-autofill{-webkit-text-fill-color:#535353!important;box-shadow:inset 0 0 0 1000px #fff!important}.tv-control-input--size_xsmall{height:19px}.tv-control-input--size_small{height:27px}.tv-control-input--size_large{font-size:16px;height:48px}.tv-control-input--connect{border-left:0;border-radius:0;border-right:0}.tv-control-input--connect_left{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0}.tv-control-input--connect_right{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0}.tv-control-input--connect_right#id_username{direction:ltr;text-align:right}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input:hover{border-color:#c1c4cd;transition-duration:.06s}html.theme-dark .tv-control-input:hover{border-color:#50535e}}.tv-control-input:focus{border-color:#2962ff!important;transition-duration:.06s}.tv-control-input[readonly]{border-color:#dadde0;color:#8a8a8a}.tv-control-input[readonly]:focus{border-color:#e0e3eb!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input[readonly]:hover{border-color:#e0e3eb!important}}html.theme-dark .tv-control-input[readonly]:focus{border-color:#2a2e39!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .tv-control-input[readonly]:hover{border-color:#2a2e39!important}}.tv-control-input--readonly_dark,.tv-control-input--readonly_dark[readonly],html.theme-dark .tv-control-input--readonly_dark,html.theme-dark .tv-control-input--readonly_dark[readonly]{color:#50535e}.tv-control-input.i-disabled,.tv-control-input[disabled]{border-color:#e0e3eb!important;color:#e0e3eb!important}html.theme-dark .tv-control-input.i-disabled,html.theme-dark .tv-control-input[disabled]{border-color:#2a2e39!important;color:#2a2e39!important}.tv-control-input.i-disabled::placeholder,.tv-control-input[disabled]::placeholder{color:#e0e3eb!important}html.theme-dark .tv-control-input.i-disabled::placeholder,html.theme-dark .tv-control-input[disabled]::placeholder{color:#2a2e39!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input.i-disabled:hover,.tv-control-input[disabled]:hover{border-color:#e0e3eb!important}html.theme-dark .tv-control-input.i-disabled:hover,html.theme-dark .tv-control-input[disabled]:hover{border-color:#2a2e39!important}}.tv-control-input.i-error{border-color:#ff4a68!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input.i-error:hover{border-color:#f24965!important}}.tv-control-input.i-error:focus{border-color:#ff173e!important}.tv-control-input.i-success{border-color:#089981!important}html.theme-dark .tv-control-input.i-success{border-color:#056656!important}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.tv-control-input.i-success:hover,html.theme-dark .tv-control-input.i-success:hover{border-color:#06806b!important}}.tv-control-input.i-success:active,.tv-control-input.i-success:focus{border-color:#056656!important}html.theme-dark .tv-control-input.i-success:active,html.theme-dark .tv-control-input.i-success:focus{border-color:#089981!important}.tv-control-input--phone{direction:ltr;text-align:right}.tv-control-input--file{display:none}body,html{background:none;height:100%;overflow:hidden;width:100%}body{min-width:240px}#library-container{background:#fff;border:1px solid #d9dadb}#library-container #showExtendedHoursLink{display:none}.on-widget .open-popup{background:#6798bb;border-width:0!important;border:none;margin-right:4px;padding:7px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.on-widget .open-popup:hover{background:#69a3cc}}.on-widget .open-popup:active{background:#71acd6}.on-widget .open-popup svg{fill:#fff;display:block;height:14px;width:16px}.on-widget .widgetbar-widget-hotlist .widgetbar-widgetheader .widgetbar-headerspace{display:none}.text .logo-highlighted{font-weight:700;text-decoration:underline}.on-cme-widget .symbol-edit-popup .filter,.on-cme-widget .symbol-search-dialog .filter{display:none}.on-cme-widget .symbol-search-dialog .results{height:450px}.load-chart .chart-search,.load-chart .chart-search input{width:100%}@media only screen and (max-width:750px){.charts-popup-list .item.save-load-chart-title{display:block}}.charts-popup-list .item .title,.charts-popup-list .item .title-expanded{width:auto}.common-tooltip-36YLR71G{color:#f0f3fa;display:inline-flex;font-size:12px;line-height:18px;opacity:1;pointer-events:none;position:fixed;transition:opacity .15s linear;z-index:1000}.common-tooltip--hidden-36YLR71G{opacity:0}.common-tooltip--horizontal-36YLR71G{margin:4px 0}.common-tooltip--horizontal-36YLR71G.common-tooltip--farther-36YLR71G{margin:8px 0}.common-tooltip--vertical-36YLR71G{margin:0 4px}.common-tooltip--vertical-36YLR71G.common-tooltip-farther-36YLR71G{margin:0 8px}.common-tooltip--direction_normal-36YLR71G{flex-direction:row}.common-tooltip--direction_normal-36YLR71G .common-tooltip__body-36YLR71G{border-bottom-right-radius:2px;border-top-right-radius:2px}.common-tooltip--direction_normal-36YLR71G .common-tooltip__body--no-buttons-36YLR71G,.common-tooltip--direction_normal-36YLR71G .common-tooltip__button-container-36YLR71G{border-bottom-left-radius:2px;border-top-left-radius:2px}.common-tooltip--direction_normal-36YLR71G .common-tooltip__button-36YLR71G:not(:last-child){margin-left:1px}.common-tooltip--direction_reversed-36YLR71G{flex-direction:row-reverse}.common-tooltip--direction_reversed-36YLR71G .common-tooltip__body-36YLR71G{border-bottom-left-radius:2px;border-top-left-radius:2px}.common-tooltip--direction_reversed-36YLR71G .common-tooltip__body--no-buttons-36YLR71G,.common-tooltip--direction_reversed-36YLR71G .common-tooltip__button-container-36YLR71G{border-bottom-right-radius:2px;border-top-right-radius:2px}.common-tooltip--direction_reversed-36YLR71G .common-tooltip__button-36YLR71G:not(:first-child){margin-right:1px}.common-tooltip__ear-holder-36YLR71G{position:relative}.common-tooltip__ear-holder-36YLR71G:after{border:0 solid #2a2e39;box-sizing:border-box;content:"";display:block;height:0;position:absolute;width:0}html.theme-dark .common-tooltip__ear-holder-36YLR71G:after{border-color:#363a45}.common-tooltip__ear-holder--above-36YLR71G:after,.common-tooltip__ear-holder--below-36YLR71G:after{border-left:6px solid #0000;border-right:6px solid #0000;left:50%;margin-left:-6px}html.theme-dark .common-tooltip__ear-holder--above-36YLR71G:after,html.theme-dark .common-tooltip__ear-holder--below-36YLR71G:after{border-left-color:#0000;border-right-color:#0000}.common-tooltip__ear-holder--below-36YLR71G:after{border-bottom-width:4px;bottom:100%}.common-tooltip__ear-holder--above-36YLR71G:after{border-top-width:4px;top:100%}.common-tooltip__ear-holder--after-36YLR71G:after,.common-tooltip__ear-holder--before-36YLR71G:after{border-bottom:6px solid #0000;border-top:6px solid #0000;margin-top:-6px;top:50%}html.theme-dark .common-tooltip__ear-holder--after-36YLR71G:after,html.theme-dark .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom-color:#0000;border-top-color:#0000}.common-tooltip__ear-holder--before-36YLR71G:after{border-right-width:4px;right:100%}.common-tooltip__ear-holder--after-36YLR71G:after{border-left-width:4px;left:100%}.common-tooltip__body-36YLR71G{word-wrap:break-word;background-color:#2a2e39;box-sizing:border-box;display:block;max-width:320px;overflow:hidden;padding:3px 8px;position:relative;text-align:right;white-space:pre-wrap}html.theme-dark .common-tooltip__body-36YLR71G{background-color:#363a45}.common-tooltip__body--with-hotkey-36YLR71G{display:flex;max-width:420px;padding:0}.common-tooltip__body--width_wide-36YLR71G{max-width:640px}.common-tooltip__body--width_narrow-36YLR71G{max-width:200px}.common-tooltip__body--no-padding-36YLR71G{padding:0}.common-tooltip__hotkey-block-36YLR71G{align-items:center;color:#ff9800;display:inline-flex;flex:1 0 auto;justify-content:center;line-height:12px;padding:4px 8px 5px}.common-tooltip__hotkey-block--divider-36YLR71G{border-right:1px solid #5d606b;margin-right:8px}html.theme-dark .common-tooltip__hotkey-block--divider-36YLR71G{border-right:1px solid #363a45}.common-tooltip__hotkey-text-36YLR71G{align-items:center;display:inline-flex;margin:3px 8px 3px 0}.common-tooltip__hotkey-button-36YLR71G{align-items:center;border:1px solid;border-radius:2px;display:inline-flex;height:13px;justify-content:center;min-width:7px;padding:0 3px}.common-tooltip__plus-sign-36YLR71G{height:15px;line-height:16px;text-align:center;width:13px}.common-tooltip__button-container-36YLR71G{display:flex;overflow:hidden;position:relative}.common-tooltip__button-36YLR71G{align-items:center;background-color:#2962ff;color:#fff;display:flex;padding:0 10px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.common-tooltip__button-36YLR71G:hover{background-color:#bbd9fb}}.common-tooltip-36YLR71G.theme-white{color:#131722}html.theme-dark .common-tooltip-36YLR71G.theme-white{color:#d1d4dc}.common-tooltip-36YLR71G.theme-white .common-tooltip__body-36YLR71G{background-color:#fff;border-radius:0}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__body-36YLR71G{background-color:#1e222d}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G{border:1px solid #e0e3eb}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G{border:1px solid #363a45}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G:after{border-color:#fff}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G:after{border-color:#1e222d}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:after,.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:after{border-left:6px solid #0000;border-right:6px solid #0000}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:after,html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:after{border-left-color:#0000;border-right-color:#0000}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:after,.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom:6px solid #0000;border-top:6px solid #0000}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:after,html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom-color:#0000;border-top-color:#0000}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G:before{border:0 solid #e0e3eb;content:"";display:block;height:0;position:absolute;width:0;z-index:1000}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder-36YLR71G:before{border-color:#363a45}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:before,.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:before{border-left:7px solid #0000;border-right:7px solid #0000;margin-right:-7px;right:50%}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:before,html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:before{border-left-color:#0000;border-right-color:#0000}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--below-36YLR71G:before{border-bottom-width:6px;top:-6px}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--above-36YLR71G:before{border-top-width:6px;bottom:-6px}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:before,.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:before{border-bottom:7px solid #0000;border-top:7px solid #0000;margin-top:-7px;top:50%}html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:before,html.theme-dark .common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:before{border-bottom-color:#0000;border-top-color:#0000}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--before-36YLR71G:before{border-left-width:6px;right:-6px}.common-tooltip-36YLR71G.theme-white .common-tooltip__ear-holder--after-36YLR71G:before{border-right-width:6px;left:-6px}.common-tooltip-36YLR71G.theme-round-shadow{box-shadow:0 1px 3px 0 #2a2c394a;color:#131722}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow{color:#d1d4dc}.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__body-36YLR71G{background-color:#fff}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__body-36YLR71G{background-color:#1e222d}.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder-36YLR71G:after{border-color:#fff}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder-36YLR71G:after{border-color:#1e222d}.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--above-36YLR71G:after,.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--below-36YLR71G:after{border-left:6px solid #0000;border-right:6px solid #0000}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--above-36YLR71G:after,html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--below-36YLR71G:after{border-left-color:#0000;border-right-color:#0000}.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--after-36YLR71G:after,.common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom:6px solid #0000;border-top:6px solid #0000}html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--after-36YLR71G:after,html.theme-dark .common-tooltip-36YLR71G.theme-round-shadow .common-tooltip__ear-holder--before-36YLR71G:after{border-bottom-color:#0000;border-top-color:#0000}.container-e6Js9pSl{background-color:#e0e3eb;box-sizing:border-box;height:100%;width:100%}html.theme-dark .container-e6Js9pSl{background-color:#2a2e39}.container-e6Js9pSl .inner-e6Js9pSl{background-color:#fff;height:100%;width:100%}html.theme-dark .container-e6Js9pSl .inner-e6Js9pSl{background-color:#131722}.container-e6Js9pSl.border-left-e6Js9pSl{padding-right:4px}.container-e6Js9pSl.border-right-e6Js9pSl{padding-left:4px}.container-e6Js9pSl.border-top-e6Js9pSl{padding-top:4px}.container-e6Js9pSl.border-bottom-e6Js9pSl{padding-bottom:4px}.container-e6Js9pSl.top-right-radius-e6Js9pSl .inner-e6Js9pSl{border-top-left-radius:0}.container-e6Js9pSl.top-left-radius-e6Js9pSl .inner-e6Js9pSl{border-top-right-radius:0}.container-e6Js9pSl.bottom-right-radius-e6Js9pSl .inner-e6Js9pSl{border-bottom-left-radius:0}.container-e6Js9pSl.bottom-left-radius-e6Js9pSl .inner-e6Js9pSl{border-bottom-right-radius:0}button,html input[type=button],input[type=reset],input[type=submit]{cursor:default}.chart-widget{border-style:none;box-sizing:border-box;height:256px;margin:0;overflow:hidden;padding:0;position:absolute;right:0;top:0;width:512px}.chart-header{background-color:#fff;border-bottom:1px solid gray;color:#fff}table.chart-markup-table{border:none;border-collapse:collapse;border-spacing:0;direction:ltr;line-height:0px;margin:0;padding:0}.chart-markup-table tr{margin:0;padding:0}td.chart-markup-table{border:none;direction:rtl;line-height:0px;margin:0;padding:0;text-align:right;vertical-align:top}.chart-gui-wrapper{align-items:flex-start;direction:ltr;display:flex;height:100%;max-height:100%;max-width:100%;overflow:hidden;position:relative;width:100%}.chart-data-window{background-color:#fff;border-collapse:collapse;box-sizing:border-box;color:#434651;margin:0;padding:0;position:absolute;text-align:right;width:100%}html.theme-dark .chart-data-window{background-color:#131722;color:#d1d4dc}.chart-data-window .box{margin:3px}.chart-data-window .box.with-actions{cursor:pointer}.chart-data-window .box:first-child .chart-data-window-header:first-child{margin-top:0}.chart-data-window .hover .chart-data-window-header .hover-source-icon{display:block}.chart-data-window .active{border-right:2px solid #528cde}.chart-data-window .active .chart-data-window-header{background:#e9f8ff}.chart-data-window .active .chart-data-window-header,.chart-data-window .active .chart-data-window-item .chart-data-window-item-title{padding-right:8px}.chart-data-window .active .chart-data-window-item{font-weight:700}.chart-data-window .hidden{opacity:.3}.chart-data-window .hidden .chart-data-window-item{display:none}.chart-data-window .chart-data-window-header,.chart-data-window .chart-data-window-item{margin-bottom:3px;position:relative}.chart-data-window .chart-data-window-header{background:#f0f3fa;font-size:12px;font-weight:700;padding:9px 10px}html.theme-dark .chart-data-window .chart-data-window-header{background:#2a2e39}.chart-data-window .chart-data-window-header .toggle-source-icon{display:block;height:10px;left:14px;position:absolute;top:11px;width:16px}.chart-data-window .chart-data-window-header .toggle-source-icon svg{fill:#787b86;display:block;height:10px;width:16px}html.theme-dark .chart-data-window .chart-data-window-header .toggle-source-icon svg{fill:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-data-window .chart-data-window-header .toggle-source-icon:hover svg{fill:#2962ff!important}}.chart-data-window .chart-data-window-header .hover-source-icon{background:#2962ff;border-radius:10px;display:none;height:10px;left:40px;position:absolute;top:11px;width:10px}.chart-data-window .chart-data-window-item:last-child{margin-bottom:0}.chart-data-window .chart-data-window-item .chart-data-window-item-title,.chart-data-window .chart-data-window-item .chart-data-window-item-value{box-sizing:border-box;display:inline-block;padding:4px 10px;white-space:nowrap;width:50%}.chart-data-window .chart-data-window-item .chart-data-window-item-title .real-color,.chart-data-window .chart-data-window-item .chart-data-window-item-value .real-color{border:1px dotted #ccc;cursor:help;display:inline-block;height:8px;margin-left:15px;width:15px}.chart-data-window .chart-data-window-item .chart-data-window-item-value{text-align:left}.chart-loading-screen{height:0;position:absolute;right:0;top:0;width:0;z-index:4}.chart-loading-screen .chart-loading-screen-shield{background:red;height:100%;opacity:0;width:100%}.chart-loading-screen.fade{height:100%;width:100%}.chart-loading-screen.fade .chart-loading-screen-shield{opacity:.5;transition:opacity .3s ease}.bar-mark-tooltip{background:#ffffffe6;border:1px solid gray;display:none;min-height:18px;padding:8px 8px 8px 10px;position:absolute;z-index:14}html.theme-dark .bar-mark-tooltip{background:#131722e6}.bar-mark-tooltip .text{display:inline-block;font-size:13px;line-height:13px;max-width:250px;overflow:hidden;padding-right:4px;padding-top:2px;text-overflow:ellipsis}.published-charts-tooltip{background:#ffffffe6;border:1px solid;cursor:default;display:none;height:32px;margin-top:-25px;padding:8px 8px 8px 30px;position:absolute;z-index:7}html.theme-dark .published-charts-tooltip{background:#131722e6}.published-charts-tooltip .avatar{height:32px;position:absolute;right:8px;top:8px;width:32px}.published-charts-tooltip .avatar img{height:32px;width:32px}.published-charts-tooltip .pin{background-image:url(7393f661fc7d4389ea6d4dabd2a5aeea.png);cursor:pointer;height:16px;left:9px;position:absolute;top:9px;vertical-align:top;width:16px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.published-charts-tooltip .pin:hover{background-position:32px 0}}.published-charts-tooltip .pin.pinned{background-position:16px 0}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.published-charts-tooltip .pin.pinned:hover{background-position:16px 0}}.published-charts-tooltip .text{color:#434651;cursor:pointer;display:inline-block;font-size:13px;font-weight:700;line-height:15px;max-width:250px;overflow:hidden;padding-right:39px;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .published-charts-tooltip .text{color:#8b8f95}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.published-charts-tooltip .text:hover{text-decoration:underline}}.published-charts-tooltip .username{color:#8f8f8f;font-size:11px;font-weight:400;line-height:13px;padding-right:39px;padding-top:2px;white-space:nowrap}.published-charts-tooltip:after,.published-charts-tooltip:before{border:solid #0000;content:" ";height:0;pointer-events:none;position:absolute;right:100%;width:0}.published-charts-tooltip:after{border-width:1em;margin-top:-1em;top:50%}.published-charts-tooltip:before{border-width:1.1em;margin-top:-1.1em;top:50%}.published-charts-tooltip:not(.right):after{border-color:#fff0 #fff #fff0 #fff0}html.theme-dark .published-charts-tooltip:not(.right):after{border-right-color:#131722}.published-charts-tooltip.right:after{border-color:#fff0 #fff0 #fff0 #fff}html.theme-dark .published-charts-tooltip.right:after{border-left-color:#131722}.published-charts-tooltip.right:before{right:-2.2em}.published-charts-tooltip.right:after{right:-2em}.published-charts-tooltip.green{border-color:#78c143}.published-charts-tooltip.red{border-color:#cc4545}.published-charts-tooltip.neutral{border-color:#eac300}.published-charts-tooltip.green:before{border-color:#78c14300 #78c143 #78c14300 #78c14300}.published-charts-tooltip.red:before{border-color:#cc454500 #cc4545 #cc454500 #cc454500}.published-charts-tooltip.neutral:before{border-color:#eac30000 #eac300 #eac30000 #eac30000}.published-charts-tooltip.green.right:before{border-color:#78c14300 #78c14300 #78c14300 #78c143}.published-charts-tooltip.red.right:before{border-color:#cc454500 #cc454500 #cc454500 #cc4545}.published-charts-tooltip.neutral.right:before{border-color:#eac30000 #eac30000 #eac30000 #eac300}.chart-controls-bar{background-color:var(--tv-color-pane-background,#fff);border-top:1px solid;border-color:var(--tv-color-platform-background,#e0e3eb);border-radius:0 0 4px 4px;box-sizing:border-box;contain:strict;height:39px;overflow:hidden;position:absolute}html.theme-dark .chart-controls-bar{background-color:var(--tv-color-pane-background,#131722);border-color:var(--tv-color-platform-background,#2a2e39)}.no-border-bottom-left-radius .chart-controls-bar{border-bottom-right-radius:0}.no-border-bottom-right-radius .chart-controls-bar{border-bottom-left-radius:0}.charts-popup-list.date-range-popupmenu{margin-right:1px}.charts-popup-list.date-range-popupmenu .item{padding-left:10px;padding-right:10px}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(40f9a03d174178efb12303caa9bc7cd8.woff2) format("woff2"),url(3293616ec0c605c7c2db25829a0a509e.woff) format("woff")}.ui-draggable{touch-action:none}.chart-gui-button-pseudo-border{background:#0000;border:1px solid #b5b7b9;content:"";display:block;height:100%;position:absolute;right:-1px;top:-1px;width:100%;z-index:1}html.theme-dark .chart-gui-button-pseudo-border{border-color:#4c525e}._tv-dialog .button,._tv-dialog .submenu,.bottom-widgetbar-content.backtesting .button,.bottom-widgetbar-content.backtesting .submenu,.properties-toolbar .button,.properties-toolbar .submenu,.widgetbar-widgetheader .button,.widgetbar-widgetheader .submenu{position:relative}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){._tv-dialog .button:not(.disabled):not(.selected):hover:before,._tv-dialog .submenu:not(.disabled):not(.selected):hover:before,.bottom-widgetbar-content.backtesting .button:not(.disabled):not(.selected):hover:before,.bottom-widgetbar-content.backtesting .submenu:not(.disabled):not(.selected):hover:before,.properties-toolbar .button:not(.disabled):not(.selected):hover:before,.properties-toolbar .submenu:not(.disabled):not(.selected):hover:before,.widgetbar-widgetheader .button:not(.disabled):not(.selected):hover:before,.widgetbar-widgetheader .submenu:not(.disabled):not(.selected):hover:before{background:#0000;border:1px solid #b5b7b9;content:"";display:block;height:100%;position:absolute;right:-1px;top:-1px;width:100%;z-index:1}html.theme-dark ._tv-dialog .button:not(.disabled):not(.selected):hover:before,html.theme-dark ._tv-dialog .submenu:not(.disabled):not(.selected):hover:before,html.theme-dark .bottom-widgetbar-content.backtesting .button:not(.disabled):not(.selected):hover:before,html.theme-dark .bottom-widgetbar-content.backtesting .submenu:not(.disabled):not(.selected):hover:before,html.theme-dark .properties-toolbar .button:not(.disabled):not(.selected):hover:before,html.theme-dark .properties-toolbar .submenu:not(.disabled):not(.selected):hover:before,html.theme-dark .widgetbar-widgetheader .button:not(.disabled):not(.selected):hover:before,html.theme-dark .widgetbar-widgetheader .submenu:not(.disabled):not(.selected):hover:before{border-color:#4c525e}._tv-dialog .tv-select-container:not(.sbHolderDisabled):hover,.bottom-widgetbar-content.backtesting .tv-select-container:not(.sbHolderDisabled):hover,.properties-toolbar .tv-select-container:not(.sbHolderDisabled):hover,.widgetbar-widgetheader .tv-select-container:not(.sbHolderDisabled):hover{border:1px solid #b5b7b9}html.theme-dark ._tv-dialog .tv-select-container:not(.sbHolderDisabled):hover,html.theme-dark .bottom-widgetbar-content.backtesting .tv-select-container:not(.sbHolderDisabled):hover,html.theme-dark .properties-toolbar .tv-select-container:not(.sbHolderDisabled):hover,html.theme-dark .widgetbar-widgetheader .tv-select-container:not(.sbHolderDisabled):hover{border-color:#4c525e}.widgetbar-widgetheader .button:hover{border:1px solid #f7f8fa}html.theme-dark .widgetbar-widgetheader .button:hover{border-color:#4c525e}}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;width:100%}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#e0e3eb80;border-radius:50%;display:inline-block;height:19px;position:relative;transform-origin:bottom;width:19px;z-index:2}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{bottom:50%;color:#50535e;font-size:11px;opacity:1;pointer-events:false;position:absolute;text-align:center;top:50%;width:100%;z-index:2}html.theme-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{color:#50535e}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd{height:15px;opacity:0;pointer-events:false;position:absolute;right:2px;top:2px;z-index:3}.price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg,html.theme-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg{fill:#131722}.chart-container.inactive .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{display:none}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-container:hover .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{display:inline-block}.price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#e0e3eb00}.price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd{opacity:1}.price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg,html.theme-dark .price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg{fill:#000}.price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{opacity:0}}.price-axis-stub-1DJMiIgd.fixed-gear-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#0000}.price-axis-stub-1DJMiIgd.fixed-gear-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{opacity:0}.price-axis-stub-1DJMiIgd.fixed-gear-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd{opacity:1}.price-axis-stub-1DJMiIgd.fixed-symbol-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#e0e3eb80}.price-axis-stub-1DJMiIgd.fixed-symbol-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd{opacity:0}.price-axis-stub-1DJMiIgd.fixed-symbol-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{opacity:1}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#2a2e3980}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd,html.theme-dark .chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .symbol-1DJMiIgd{color:#787b86}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg,html.theme-dark .chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg{fill:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#2a2e3900}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg,html.theme-dark .chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd:hover .wrapper-1DJMiIgd .label-1DJMiIgd .gear-1DJMiIgd svg{fill:#9598a1}}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd.fixed-symbol-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#2a2e3980}.chart-widget__bottom--themed-dark .price-axis-stub-1DJMiIgd.fixed-gear-1DJMiIgd .wrapper-1DJMiIgd .label-1DJMiIgd{background-color:#0000}.time-axis{cursor:default}.time-axis--cursor-grabbing{cursor:grabbing}.time-axis--cursor-ew-resize{cursor:ew-resize}.tv-spinner{animation:tv-spinner__container-rotate-19aXx8o_ .9s linear infinite;color:var(--tv-spinner-color,#2962ff);direction:rtl;display:none;height:1em;margin:0 auto;position:absolute;right:calc(50% - .5em);top:calc(50% - .5em);width:1em;will-change:transform}.tv-spinner--size_xsmall{font-size:14px}.tv-spinner--size_small{font-size:20px}.tv-spinner--size_medium{font-size:28px}.tv-spinner--size_large{font-size:56px}.tv-spinner--size_mini .tv-spinner__width_element:after{border-width:2px}.tv-spinner--size_medium .tv-spinner__width_element:after{border-width:3px}.tv-spinner--size_large .tv-spinner__width_element:after{border-width:4px}.tv-spinner--shown{display:block}.tv-spinner__spinner-layer{color:currentColor;height:100%;position:absolute;transform:rotate(-90deg);white-space:nowrap;width:100%}.tv-spinner__spinner-layer:after{border-radius:50%;border-top-style:solid;border-width:.07em;box-sizing:border-box;content:"";position:absolute;right:45%;top:0;width:10%}.tv-spinner__background{display:inline-block;height:100%;overflow:hidden;position:absolute;width:100%}.tv-spinner__background:after{border-color:#8797a533;border-radius:50%;border-style:solid;bottom:0;box-sizing:border-box;content:"";position:absolute;right:0;top:0;width:100%}.tv-spinner__circle-clipper{display:inline-block;height:100%;overflow:hidden;position:relative;width:50%}.tv-spinner__circle-clipper:after{animation-duration:1.4s;animation-iteration-count:1;animation-timing-function:cubic-bezier(.36,0,.37,.99);border-bottom-color:#0000;border-radius:50%;border-style:solid;bottom:0;box-sizing:border-box;content:"";position:absolute;top:0;width:200%;will-change:transform}.tv-spinner__circle-clipper--left:after{animation-name:tv-spinner__left-spin-19aXx8o_;border-left-color:#0000;right:0;transform:rotate(0deg)}.tv-spinner__circle-clipper--right:after{animation-name:tv-spinner__right-spin-19aXx8o_;border-right-color:#0000;right:-100%;transform:rotate(124deg)}@keyframes tv-spinner__container-rotate-19aXx8o_{to{transform:rotate(-1turn)}}@keyframes tv-spinner__left-spin-19aXx8o_{0%{transform:rotate(-130deg)}to{transform:rotate(0deg)}}@keyframes tv-spinner__right-spin-19aXx8o_{0%{transform:rotate(130deg)}to{transform:rotate(124deg)}}.price-axis-currency-label-wrapper-25tFaE37{pointer-events:none;position:absolute;right:0;text-align:center;top:6px;-webkit-user-select:none;user-select:none;width:100%;z-index:3}.price-axis-currency-label-25tFaE37{border:1px solid #d1d4dc;border-radius:4px;cursor:default;display:inline-block;text-align:right}.chart-container.inactive .price-axis-currency-label-25tFaE37{visibility:hidden}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-container:hover .price-axis-currency-label-25tFaE37{visibility:visible}}.price-axis-currency-label-25tFaE37 tr{pointer-events:auto}.price-axis-currency-label-25tFaE37 tr td:first-child{border-radius:0 4px 4px 0;padding-right:4px}.price-axis-currency-label-25tFaE37 tr td:last-child{border-radius:4px 0 0 4px;padding-left:2px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.price-axis-currency-label-25tFaE37 tr:hover:not(.readonly-25tFaE37){background-color:#f0f3fa}html.theme-dark .price-axis-currency-label-25tFaE37 tr:hover:not(.readonly-25tFaE37){background-color:#1e222d}}.price-axis-currency-label-25tFaE37 tr.readonly-25tFaE37{pointer-events:none}.price-axis-currency-label-25tFaE37 tr.readonly-25tFaE37 td:last-child{padding-left:4px}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 .price-axis-currency-label-dropdown-25tFaE37:last-child{border-top:1px solid #d1d4dc}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 tr:first-child td:first-child{border-radius:0 4px 0 0}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 tr:first-child td:last-child{border-radius:4px 0 0 0}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 tr:last-child td:first-child{border-radius:0 0 4px 0}.price-axis-currency-label-25tFaE37.multiline-25tFaE37 tr:last-child td:last-child{border-radius:0 0 0 4px}.price-axis-currency-label-text-25tFaE37{white-space:nowrap}.price-axis-currency-label-arrow-down-25tFaE37 svg{margin-bottom:2px;margin-right:2px;vertical-align:middle}.chart-widget__top--themed-dark .price-axis-currency-label-25tFaE37{border-color:#363a45}.chart-widget__top--themed-dark .price-axis-currency-label-25tFaE37.multiline-25tFaE37 .price-axis-currency-label-dropdown-25tFaE37:last-child{border-top:1px solid #363a45}.price-axis{cursor:default;height:100%;overflow:hidden;position:absolute}.price-axis--cursor-grabbing{cursor:grabbing}.price-axis--cursor-pointer{cursor:pointer}.price-axis--cursor-ns-resize{cursor:ns-resize}.pane{cursor:crosshair;overflow:hidden}.pane--cursor-pointer{cursor:pointer}.pane--cursor-eraser{cursor:url(0579d40b812fa2c3ffe72e5803a6e14c.cur),default}.pane--cursor-dot{cursor:url(ed68e83c16f77203e73dbc4c3a7c7fa1.cur),default}.pane--cursor-default{cursor:default}.pane--cursor-grabbing{cursor:grabbing}.pane--cursor-zoom-in{cursor:zoom-in}.pane--cursor-ew-resize{cursor:ew-resize}.pane--cursor-ns-resize{cursor:ns-resize}.pane--cursor-nwse-resize{cursor:nesw-resize}.pane--cursor-nesw-resize{cursor:nwse-resize}.pane-separator{margin:0;padding:0;position:relative}.pane-separator .handle{cursor:row-resize;height:9px;position:absolute;right:0;top:-4px;width:100%;z-index:50}.pane-separator .handle.i-active{background:#b2b5be33}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.pane-separator .handle:hover{background:#b2b5be33}}.chart-widget--themed-dark .pane-separator .handle.i-active{background:#b2b5be1f}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.chart-widget--themed-dark .pane-separator .handle:hover{background:#b2b5be1f}}.pane-separator .handle.i-active:before{background:#b2b5be03;content:"";height:100%;opacity:0;position:fixed;right:0;top:0;width:100%}@keyframes tv-transition--fade-in-1zC4Mcq2{0%{opacity:0;visibility:visible}to{opacity:1}}@keyframes tv-transition--fade-out-1zC4Mcq2{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes tv-transition--slide-out-1zC4Mcq2{0%{max-height:9000px}to{max-height:0;visibility:hidden}}.tv-transition--fade-in{animation:tv-transition--fade-in-1zC4Mcq2 .35s ease forwards}.tv-transition--fade-out{animation:tv-transition--fade-out-1zC4Mcq2 .35s ease forwards}.tv-transition--slide-out{animation:tv-transition--slide-out-1zC4Mcq2 .35s ease forwards}@font-face{font-family:EuclidCircular;font-style:normal;font-weight:400;src:url(b1a63a011fd92dfb93db6db243bb036c.woff2) format("woff2")} \ No newline at end of file diff --git a/public/static/charting_library/bundles/847.0e2ec220427667ac4afb.js b/public/static/charting_library/bundles/847.0e2ec220427667ac4afb.js new file mode 100644 index 0000000..9591095 --- /dev/null +++ b/public/static/charting_library/bundles/847.0e2ec220427667ac4afb.js @@ -0,0 +1,8 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[847],{28209:e=>{e.exports={checkbox:"checkbox-2jiVkfto",reverse:"reverse-2jiVkfto",label:"label-2jiVkfto",baseline:"baseline-2jiVkfto"}},38817:e=>{e.exports={"textarea-container":"textarea-container-1F0MhDpb","change-highlight":"change-highlight-1F0MhDpb",focused:"focused-1F0MhDpb","resize-vertical":"resize-vertical-1F0MhDpb","resize-horizontal":"resize-horizontal-1F0MhDpb","resize-both":"resize-both-1F0MhDpb",textarea:"textarea-1F0MhDpb"}},81880:e=>{e.exports={wrap:"wrap-kAIcH6Vi",thicknessItem:"thicknessItem-kAIcH6Vi",checked:"checked-kAIcH6Vi",radio:"radio-kAIcH6Vi",bar:"bar-kAIcH6Vi"}},50105:e=>{e.exports={innerLabel:"innerLabel-21h1g6jU"}},76535:e=>{e.exports={controlWrapper:"controlWrapper-7ApHzdB4",hidden:"hidden-7ApHzdB4",control:"control-7ApHzdB4",controlIncrease:"controlIncrease-7ApHzdB4",controlDecrease:"controlDecrease-7ApHzdB4",controlIcon:"controlIcon-7ApHzdB4",title:"title-7ApHzdB4"}},44718:e=>{e.exports={content:"content-22S1W3v8",cell:"cell-22S1W3v8",inner:"inner-22S1W3v8",first:"first-22S1W3v8",inlineCell:"inlineCell-22S1W3v8",fill:"fill-22S1W3v8",top:"top-22S1W3v8",topCenter:"topCenter-22S1W3v8",offset:"offset-22S1W3v8",inlineRow:"inlineRow-22S1W3v8",grouped:"grouped-22S1W3v8",separator:"separator-22S1W3v8",groupSeparator:"groupSeparator-22S1W3v8",big:"big-22S1W3v8",adaptive:"adaptive-22S1W3v8",checkableTitle:"checkableTitle-22S1W3v8"}},44766:e=>{e.exports={wrap:"wrap-3GItoI3T",icon:"icon-3GItoI3T",text:"text-3GItoI3T",disabled:"disabled-3GItoI3T"}},96976:e=>{e.exports={colorPickerWrap:"colorPickerWrap-3gSLMlhu",focused:"focused-3gSLMlhu",readonly:"readonly-3gSLMlhu",disabled:"disabled-3gSLMlhu","size-small":"size-small-3gSLMlhu","size-medium":"size-medium-3gSLMlhu","size-large":"size-large-3gSLMlhu","font-size-small":"font-size-small-3gSLMlhu","font-size-medium":"font-size-medium-3gSLMlhu","font-size-large":"font-size-large-3gSLMlhu","border-none":"border-none-3gSLMlhu",shadow:"shadow-3gSLMlhu","border-thin":"border-thin-3gSLMlhu","border-thick":"border-thick-3gSLMlhu","intent-default":"intent-default-3gSLMlhu","intent-success":"intent-success-3gSLMlhu","intent-warning":"intent-warning-3gSLMlhu","intent-danger":"intent-danger-3gSLMlhu","intent-primary":"intent-primary-3gSLMlhu","corner-top-left":"corner-top-left-3gSLMlhu","corner-top-right":"corner-top-right-3gSLMlhu","corner-bottom-right":"corner-bottom-right-3gSLMlhu","corner-bottom-left":"corner-bottom-left-3gSLMlhu",colorPicker:"colorPicker-3gSLMlhu",swatch:"swatch-3gSLMlhu",placeholderContainer:"placeholderContainer-3gSLMlhu",placeholder:"placeholder-3gSLMlhu",white:"white-3gSLMlhu",opacitySwatch:"opacitySwatch-3gSLMlhu",colorLine:"colorLine-3gSLMlhu",thicknessContainer:"thicknessContainer-3gSLMlhu",thicknessTitle:"thicknessTitle-3gSLMlhu"}},69343:e=>{e.exports={thicknessContainer:"thicknessContainer-2K1QSVfY",thicknessTitle:"thicknessTitle-2K1QSVfY"}},2626:e=>{e.exports={hasTooltip:"hasTooltip-2kfQACVg",uppercase:"uppercase-2kfQACVg"}},75671:e=>{e.exports={ +wrap:"wrap-2tojvhF7"}},38093:e=>{e.exports={checkbox:"checkbox-FNjK79Y1",title:"title-FNjK79Y1"}},22196:e=>{e.exports={titleWrap:"titleWrap-3OnZWCnE",title:"title-3OnZWCnE"}},37850:(e,t,n)=>{"use strict";n.d(t,{Checkbox:()=>c});var o=n(67294),r=n(94184),a=n(82604),s=n(53400),l=n(28209),i=n.n(l);class c extends o.PureComponent{render(){const{inputClassName:e,labelClassName:t,...n}=this.props,a=r(this.props.className,i().checkbox,{[i().reverse]:Boolean(this.props.labelPositionReverse),[i().baseline]:Boolean(this.props.labelAlignBaseline)}),l=r(i().label,t,{[i().disabled]:this.props.disabled});let c=null;return this.props.label&&(c=o.createElement("span",{className:l,title:this.props.title},this.props.label)),o.createElement("label",{className:a},o.createElement(s.CheckboxInput,{...n,className:e}),c)}}c.defaultProps={value:"on"};(0,a.makeSwitchGroupItem)(c)},40803:(e,t,n)=>{"use strict";n.d(t,{Textarea:()=>v});var o,r=n(67294),a=n(94184),s=n(66364),l=n(15965),i=n(65686),c=n(53563),u=n(66213),d=n(1130),p=n(11888),h=n(92136),m=n(38817),g=n.n(m);!function(e){e.None="none",e.Vertical="vertical",e.Horizontal="horizontal",e.Both="both"}(o||(o={}));const b=r.forwardRef((e,t)=>{const{id:n,title:o,tabIndex:s,containerTabIndex:l,role:i,inputClassName:c,autoComplete:u,autoFocus:d,cols:m,disabled:b,isFocused:f,form:C,maxLength:v,minLength:y,name:S,placeholder:E,readonly:N,required:k,rows:w,value:x,defaultValue:M,wrap:I,containerReference:T,onChange:L,onSelect:P,onFocus:V,onContainerFocus:_,onBlur:F,...z}=e,B={id:n,title:o,tabIndex:s,role:i,autoComplete:u,autoFocus:d,cols:m,disabled:b,form:C,maxLength:v,minLength:y,name:S,placeholder:E,readOnly:N,required:k,rows:w,value:x,defaultValue:M,wrap:I,onChange:L,onSelect:P,onFocus:V,onBlur:F};return r.createElement(p.ControlSkeleton,{...z,tabIndex:l,disabled:b,readonly:N,isFocused:f,ref:T,onFocus:_,middleSlot:r.createElement(h.MiddleSlot,null,r.createElement("textarea",{...B,className:a(g().textarea,c),ref:t}))})});b.displayName="TextareaView";const f=(e,t,n)=>t?void 0:e?-1:n,C=(e,t,n)=>t?void 0:e?n:-1,v=r.forwardRef((e,t)=>{e=(0,i.useControl)(e);const{className:n,disabled:p,autoSelectOnFocus:h,tabIndex:m=0,borderStyle:v,highlight:y,resize:S,containerReference:E=null,onFocus:N,onBlur:k,...w}=e,x=(0,r.useRef)(null),M=(0,r.useRef)(null),{isMouseDown:I,handleMouseDown:T,handleMouseUp:L}=(0,c.useIsMouseDown)(),[P,V]=(0,l.useFocus)(),_=(0,u.createSafeMulticastEventHandler)(V.onFocus,(function(e){h&&!I.current&&(0,d.selectAllContent)(e.currentTarget)}),N),F=(0,u.createSafeMulticastEventHandler)(V.onBlur,k),z=void 0!==S&&S!==o.None,B=null!=v?v:z?y?"thick":"thin":void 0,D=null!=y?y:!z&&void 0;return r.createElement(b,{...w,className:a(g()["textarea-container"],z&&g()["change-highlight"],S&&S!==o.None&&g()["resize-"+S],P&&g().focused,n),disabled:p,isFocused:P,containerTabIndex:f(P,p,m),tabIndex:C(P,p,m),borderStyle:B,highlight:D,onContainerFocus:function(e){M.current===e.target&&null!==x.current&&x.current.focus()},onFocus:_,onBlur:F,onMouseDown:T,onMouseUp:L,ref:function(e){x.current=e, +"function"==typeof t?t(e):t&&(t.current=e)},containerReference:(0,s.useMergedRefs)([E,M])})});v.displayName="Textarea"},82604:(e,t,n)=>{"use strict";n.d(t,{SwitchGroup:()=>a,makeSwitchGroupItem:()=>s});var o=n(67294),r=n(45697);class a extends o.PureComponent{constructor(){super(...arguments),this._subscriptions=new Set,this._getName=()=>this.props.name,this._getValues=()=>this.props.values,this._getOnChange=()=>this.props.onChange,this._subscribe=e=>{this._subscriptions.add(e)},this._unsubscribe=e=>{this._subscriptions.delete(e)}}getChildContext(){return{switchGroupContext:{getName:this._getName,getValues:this._getValues,getOnChange:this._getOnChange,subscribe:this._subscribe,unsubscribe:this._unsubscribe}}}render(){return this.props.children}componentDidUpdate(e){this._notify(this._getUpdates(this.props.values,e.values))}_notify(e){this._subscriptions.forEach(t=>t(e))}_getUpdates(e,t){return[...t,...e].filter(n=>t.includes(n)?!e.includes(n):e.includes(n))}}function s(e){var t;return(t=class extends o.PureComponent{constructor(){super(...arguments),this._onChange=e=>{this.context.switchGroupContext.getOnChange()(e)},this._onUpdate=e=>{e.includes(this.props.value)&&this.forceUpdate()}}componentDidMount(){this.context.switchGroupContext.subscribe(this._onUpdate)}render(){return o.createElement(e,{...this.props,name:this._getName(),onChange:this._onChange,checked:this._isChecked()})}componentWillUnmount(){this.context.switchGroupContext.unsubscribe(this._onUpdate)}_getName(){return this.context.switchGroupContext.getName()}_isChecked(){return this.context.switchGroupContext.getValues().includes(this.props.value)}}).contextTypes={switchGroupContext:r.any.isRequired},t}a.childContextTypes={switchGroupContext:r.any.isRequired}},66094:(e,t,n)=>{"use strict";n.d(t,{NumberInputView:()=>x});var o=n(67294),r=n(96404),a=n(94184),s=n(11888),l=n(92136),i=n(91943),c=n(16305),u=n(35347),d=n(50105);const p={large:s.InputClasses.FontSizeLarge,medium:s.InputClasses.FontSizeMedium},h={attachment:u.anchors.top.attachment,targetAttachment:u.anchors.top.targetAttachment,attachmentOffsetY:-4};function m(e){const{className:t,inputClassName:n,stretch:r=!0,errorMessage:s,fontSizeStyle:u="large",endSlot:m,button:g,error:b,warning:f,innerLabel:C,inputReference:v,children:y,...S}=e,E=b&&void 0!==s?[s]:void 0,N=f&&void 0!==s?[s]:void 0,k=a(d.inputContainer,p[u],t),w=C?o.createElement(l.StartSlot,{className:d.innerLabel,interactive:!1},C):void 0,x=m||g||y?o.createElement(l.EndSlot,null,m,g,y):void 0;return o.createElement(i.FormInput,{...S,className:k,inputClassName:n,errors:E,warnings:N,hasErrors:b,hasWarnings:f,messagesPosition:c.MessagesPosition.Attached,customErrorsAttachment:h,messagesRoot:"document",inheritMessagesWidthFromTarget:!0,disableMessagesRtlStyles:!0,iconHidden:!0,stretch:r,reference:v,startSlot:w,endSlot:x})}var g=n(79881),b=n(49775),f=n(85533),C=n(76535);function v(e){const t=a(C.control,C.controlIncrease),n=a(C.control,C.controlDecrease);return o.createElement(o.Fragment,null,void 0!==e.title&&o.createElement("div",{ +className:C.title},e.title),o.createElement("div",{className:C.controlWrapper},(e.defaultButtonsVisible||e.title)&&o.createElement(o.Fragment,null,o.createElement("button",{type:"button",tabIndex:-1,"aria-label":(0,g.t)("Increase"),className:t,onClick:e.increaseValue},o.createElement(b.Icon,{icon:f,className:C.controlIcon})),o.createElement("button",{type:"button",tabIndex:-1,"aria-label":(0,g.t)("Decrease"),className:n,onClick:e.decreaseValue},o.createElement(b.Icon,{icon:f,className:C.controlIcon})))))}var y=n(11086),S=n(15965),E=n(66213),N=n(42998);const k=[38],w=[40];function x(e){const[t,n]=(0,y.useHover)(),[a,s]=(0,S.useFocus)(),l=(0,E.createSafeMulticastEventHandler)(s.onFocus,e.onFocus),i=(0,E.createSafeMulticastEventHandler)(s.onBlur,e.onBlur),c=(0,o.useCallback)(t=>{!e.disabled&&a&&(t.preventDefault(),t.deltaY<0?e.onValueByStepChange(1):e.onValueByStepChange(-1))},[a,e.disabled,e.onValueByStepChange]);return o.createElement(m,{...n,id:e.id,name:e.name,pattern:e.pattern,borderStyle:e.borderStyle,fontSizeStyle:e.fontSizeStyle,value:e.value,className:e.className,inputClassName:e.inputClassName,button:function(){const{button:n,forceShowControls:s,disabled:l,title:i}=e,c=!l&&!r.mobiletouch&&(s||a||t);return l?void 0:o.createElement(o.Fragment,null,null!=n?n:o.createElement(v,{increaseValue:u,decreaseValue:d,defaultButtonsVisible:c,title:i}))}(),disabled:e.disabled,placeholder:e.placeholder,innerLabel:e.innerLabel,endSlot:e.endSlot,containerReference:e.containerReference,inputReference:e.inputReference,inputMode:e.inputMode,type:e.type,error:e.error,errorMessage:e.errorMessage,onClick:e.onClick,onFocus:l,onBlur:i,onChange:e.onValueChange,onKeyDown:function(t){if(e.disabled||0!==(0,N.modifiersFromEvent)(t.nativeEvent))return;let n=k,o=w;e.controlDecKeyCodes&&(o=o.concat(e.controlDecKeyCodes));e.controlIncKeyCodes&&(n=n.concat(e.controlIncKeyCodes));(o.includes(t.keyCode)||n.includes(t.keyCode))&&(t.preventDefault(),e.onValueByStepChange(o.includes(t.keyCode)?-1:1));e.onKeyDown&&e.onKeyDown(t)},onWheelNoPassive:c,stretch:e.stretch,intent:e.intent,highlight:e.highlight,highlightRemoveRoundBorder:e.highlightRemoveRoundBorder,autoSelectOnFocus:e.autoSelectOnFocus,"data-property-id":e["data-name"]});function u(){e.disabled||e.onValueByStepChange(1)}function d(){e.disabled||e.onValueByStepChange(-1)}}},84254:(e,t,n)=>{"use strict";n.d(t,{bind:()=>s,setter:()=>l});var o=n(67294),r=n(41497),a=n(18820);function s(e){var t;return(t=class extends o.PureComponent{constructor(){super(...arguments),this._onChange=(e,t,n)=>{const{setValue:o}=this.context,{onChange:r}=this.props;l(o,r)(e,t,n)}}render(){const{input:t}=this.props,{values:n,model:r}=this.context;return o.createElement(e,{...this.props,value:n[t.id],tzName:(0,a.getTimezoneName)(r),onChange:this._onChange})}}).contextType=r.PropertyContext,t}function l(e,t){return(n,o,r)=>{e(o,n,r),t&&t(n,o,r)}}},41497:(e,t,n)=>{"use strict";n.d(t,{PropertyContext:()=>c,PropertyContainer:()=>u});var o=n(67294),r=n(16282),a=n(79881),s=n(90963);const l=(0, +n(65447).getLogger)("Platform.GUI.StudyInputPropertyContainer"),i=new s.TranslatedString("change {propertyName} property",(0,a.t)("change {propertyName} property")),c=o.createContext(null);class u extends o.PureComponent{constructor(e){super(e),this._setValue=(e,t,n)=>{const{property:o,model:c}=this.props,u=(0,r.ensureDefined)(o.child(e));l.logNormal(`Changing property "${e}" value from "${o.value()}" to "${t}"`);const d=new s.TranslatedString(n,function(e){return(0,a.t)(e,{context:"input"})}(n));c.setProperty(u,t,i.format({propertyName:d}))};const{property:t}=e,n={};t.childNames().forEach(e=>{const o=(0,r.ensureDefined)(t.child(e));n.hasOwnProperty(e)||(n[e]=o.value())}),this.state=n}componentDidMount(){const{property:e,onStudyInputChange:t}=this.props;e.childNames().forEach(n=>{(0,r.ensureDefined)(e.child(n)).subscribe(this,e=>{const o=e.value();l.logNormal(`Property "${n}" updated to value "${o}"`),this.setState({[n]:o}),null==t||t(o,n)})})}componentWillUnmount(){const{property:e}=this.props;e.childNames().forEach(t=>{(0,r.ensureDefined)(e.child(t)).unsubscribeAll(this)})}render(){const{study:e,model:t,children:n}=this.props,r={study:e,model:t,values:this.state,setValue:this._setValue};return o.createElement(c.Provider,{value:r},n)}}},49923:(e,t,n)=>{"use strict";n.d(t,{getSymbolName:()=>c,SymbolInput:()=>u});var o=n(67294),r=n(16282),a=n(41497),s=n(84254),l=n(48854),i=n(8786);function c(e,t){const n=(0,l.createAdapter)(t).resolvedSymbolInfoBySymbol(e);return n&&(n.ticker||n.full_name)?n.ticker||n.full_name:e}const u=(0,s.bind)((function(e){const t=(0,o.useContext)(a.PropertyContext),{study:n}=(0,r.ensureNotNull)(t),{input:{defval:s},value:l}=e;return o.createElement(i.SymbolInputsButton,{...e,value:c(l||s||"",n),study:n})}))},35665:(e,t,n)=>{"use strict";n.d(t,{PropertyTable:()=>i});var o=n(67294),r=n(94184),a=n(74818),s=n(44718);const l=o.createContext(!1);class i extends o.PureComponent{render(){return o.createElement("div",{ref:this.props.reference,className:s.content},this.props.children)}}i.InlineRowContext=l,i.Row=function(e){const{children:t}=e;return(0,o.useContext)(l)?o.createElement("span",{className:s.inlineRow},t):o.createElement(o.Fragment,null,t)},i.Cell=function(e){const t=(0,o.useContext)(l),n=r(s.cell,e.offset&&s.offset,e.grouped&&s.grouped,t&&s.inlineCell,"top"===e.verticalAlign&&s.top,"topCenter"===e.verticalAlign&&s.topCenter,"adaptive"===e.verticalAlign&&s.adaptive,e.checkableTitle&&s.checkableTitle,2===e.colSpan&&s.fill,"first"===e.placement&&2!==e.colSpan&&s.first,"last"===e.placement&&2!==e.colSpan&&s.last),i=(0,a.filterDataProps)(e);return o.createElement("div",{...i,className:n},o.createElement("div",{className:r(s.inner,e.className)},e.children))},i.Separator=function(e){return o.createElement(i.Row,null,o.createElement("div",{className:r(s.cell,s.separator,s.fill)}))},i.GroupSeparator=function(e){const t=e.size||0;return o.createElement(i.Row,null,o.createElement("div",{className:r(s.cell,s.groupSeparator,s.fill,1===t&&s.big)}))}},32895:(e,t,n)=>{"use strict";n.d(t,{ColorSelect:()=>w}) +;var o=n(67294),r=n(94184),a=n.n(r),s=n(16282),l=n(42998),i=n(76420),c=n(15965),u=n(43001),d=n(97873);function p(e){const{button:t,children:n,className:r,onPopupClose:a,...p}=e,[h,m]=(0,o.useState)(!1),[g,b]=(0,o.useState)(!1),[f,C]=(0,c.useFocus)(),v=(0,o.useRef)(null);return o.createElement("div",{className:r},o.createElement("div",{tabIndex:e.disabled?void 0:-1,ref:v,onClick:y,onFocus:C.onFocus,onBlur:C.onBlur,onKeyDown:S},"function"==typeof t?t(g,f):t),o.createElement(i.PopupMenu,{isOpened:g,onClose:E,position:function(){const e=(0,s.ensureNotNull)(v.current).getBoundingClientRect();return{x:e.left,y:e.top+e.height}},doNotCloseOn:v.current,onKeyDown:S},o.createElement(d.MenuContext.Consumer,null,e=>o.createElement(u.ColorPicker,{...p,onToggleCustom:m,menu:e})),!h&&n));function y(){e.disabled||(b(e=>!e),m(!1))}function S(e){switch((0,l.hashFromEvent)(e)){case 27:g&&(e.preventDefault(),E())}}function E(){y(),(0,s.ensureNotNull)(v.current).focus(),a&&a()}}var h=n(6347),m=n(50968),g=n(35671),b=n(79881),f=n(82604),C=n(81880);const v=(0,f.makeSwitchGroupItem)(class extends o.PureComponent{constructor(){super(...arguments),this._onChange=()=>{this.props.onChange&&this.props.onChange(this.props.value)}}render(){const{name:e,checked:t,value:n}=this.props,a=r(C.thicknessItem,{[C.checked]:t}),s=r(C.bar,{[C.checked]:t}),l={borderTopWidth:parseInt(n)};return o.createElement("div",{className:a},o.createElement("input",{type:"radio",className:C.radio,name:e,value:n,onChange:this._onChange,checked:t}),o.createElement("div",{className:s,style:l}," "))}});function y(e){const{name:t,values:n,selectedValues:r,onChange:a}=e,s=n.map((e,t)=>o.createElement(v,{key:t,value:e.toString()})),l=r.map(e=>e.toString());return o.createElement("div",{className:C.wrap},o.createElement(f.SwitchGroup,{name:t,onChange:e=>{a(parseInt(e))},values:l},s))}var S=n(69343);const E=(0,b.t)("Thickness");function N(e){return o.createElement("div",{className:S.thicknessContainer},o.createElement("div",{className:S.thicknessTitle},E),o.createElement(y,{name:"color_picker_thickness_select",onChange:e.onChange,values:e.items,selectedValues:[e.value]}))}var k=n(96976);function w(e){const{className:t,selectOpacity:n=void 0!==e.opacity,thickness:r,color:s,disabled:l,opacity:i=1,onColorChange:c,onOpacityChange:u,onThicknessChange:d,thicknessItems:m,onPopupClose:g}=e,[b,f,C]=(0,h.useCustomColors)();return o.createElement(p,{className:t,disabled:l,color:s,selectOpacity:n,opacity:i,selectCustom:!0,customColors:b,onColorChange:c,onOpacityChange:s?u:void 0,onAddColor:f,onRemoveCustomColor:C,button:function(e,t){const n=e||t,c=n?"primary":"default";return o.createElement("div",{className:a()(k.colorPickerWrap,k["intent-"+c],k["border-thin"],k["size-medium"],n&&k.highlight,n&&k.focused,l&&k.disabled),"data-role":"button","data-name":r?"color-with-thickness-select":"color-select"},o.createElement("div",{className:a()(k.colorPicker,l&&k.disabled)},s?function(){const e=x(s,i),t=i>=.95&&M(s);return o.createElement("div",{className:k.opacitySwatch},o.createElement("div",{style:{ +backgroundColor:e},className:a()(k.swatch,t&&k.white)}))}():o.createElement("div",{className:k.placeholderContainer},o.createElement("div",{className:k.placeholder})),r&&o.createElement("span",{className:a()(k.colorLine,M(s)&&k.white),style:{height:r,backgroundColor:x(s,i)}})),n&&o.createElement("span",{className:k.shadow}))},onPopupClose:g},r&&m&&o.createElement(N,{value:r,items:m,onChange:function(e){d&&d(e)}}))}function x(e,t){return e?(0,m.generateColor)(e,(0,m.alphaToTransparency)(t)):"#000000"}function M(e){return!!e&&e.toLowerCase()===g.white}},8786:(e,t,n)=>{"use strict";n.d(t,{SymbolInputsButton:()=>w});var o=n(67294),r=n(94184),a=n.n(r),s=n(79881),l=n(16282),i=n(78106),c=n(90714),u=n(27490),d=n(49923),p=n(20480),h=n(9772),m=n(49775),g=n(86284),b=n(44766);function f(e){const{value:t,onClick:n,className:a,startSlot:s,disabled:l=!1}=e;return o.createElement("div",{className:r(b.wrap,l&&b.disabled,a),onClick:n,"data-name":"edit-button"},o.createElement("div",{className:r(b.text,"apply-overflow-tooltip")},void 0!==s&&s,o.createElement("span",null,t)),o.createElement(m.Icon,{icon:g,className:b.icon}))}var C=n(15973),v=n(65244),y=n(65955),S=n(38208),E=n(61125);var N=n(2626);function k(e){const{symbol:t,onSymbolChanged:n,disabled:r,className:l}=e,[d,m]=(0,o.useState)(t),g=(0,o.useContext)(i.SlotContext),b=(0,o.useContext)(c.PopupContext);return o.createElement(f,{value:d,onClick:function(){const e=function(e){const t=(0,y.tokenize)(e);return(0,S.isSpread)(t)}(d)?d:function(e){try{return(0,E.shortName)(e)}catch(t){return e}}(d),t=(0,p.getSymbolSearchCompleteOverrideFunction)();(0,h.showSymbolSearchItemsDialog)({onSearchComplete:e=>{t(e[0].symbol).then(e=>{n(e),m(e)})},dialogTitle:(0,s.t)("Change symbol"),defaultValue:e,manager:g,onClose:()=>{b&&b.focus()},showSpreadActions:u.enabled("show_spread_operators")&&u.enabled("studies_symbol_search_spread_operators")})},disabled:r,className:a()(l,u.enabled("uppercase_instrument_names")&&N.uppercase)})}function w(e){if("definition"in e){const{propType:t,properties:n,id:r,title:a=""}=e.definition,s=n[t],i=s.value()||"",c=e=>{s.setValue(e)};return o.createElement(C.CommonSection,{id:r,title:a},o.createElement(v.CellWrap,null,o.createElement(k,{symbol:(0,l.ensureDefined)(i),onSymbolChanged:c})))}{const{study:t,value:n,input:{id:r,name:s},onChange:i,disabled:c,hasTooltip:u}=e,p=e=>{const n=(0,d.getSymbolName)(e,t);i(n,r,s)};return o.createElement(k,{symbol:(0,l.ensureDefined)(n),onSymbolChanged:p,disabled:c,className:a()(u&&N.hasTooltip)})}}},48854:(e,t,n)=>{"use strict";n.d(t,{createAdapter:()=>a});var o=n(67945),r=n(17e3);function a(e){if((0,o.isLineTool)(e))return{isPine:()=>!1,isStandardPine:()=>!1,canOverrideMinTick:()=>!1,resolvedSymbolInfoBySymbol:()=>{throw new TypeError("Only study is supported.")},symbolsResolved:()=>{throw new TypeError("Only study is supported.")},parentSource:()=>{throw new TypeError("Only study is supported.")},getAllChildren:()=>[],sourceId:()=>{throw new TypeError("Only study is supported.")}};if((0,r.isStudy)(e))return e +;if("isInputsStudy"in e)return e;throw new TypeError("Unsupported source type.")}},82653:(e,t,n)=>{"use strict";n.d(t,{useDefinitionProperty:()=>a});var o=n(67294),r=n(87131);const a=e=>{const t="property"in e?e.property:void 0,n="defaultValue"in e?e.defaultValue:e.property.value(),[a,s]=(0,o.useState)(t?t.value():n);(0,o.useEffect)(()=>{if(t){const n={};return s(t.value()),t.subscribe(n,t=>{const n=t.value();e.handler&&e.handler(n),s(n)}),()=>t.unsubscribeAll(n)}return()=>{}},[t]);return[a,e=>{if(void 0!==t){const n=t.value();r.logger.logNormal(`Changing property value from "${n}" to "${e}"`),t.setValue(e)}}]}},65244:(e,t,n)=>{"use strict";n.d(t,{CellWrap:()=>l});var o=n(67294),r=n(94184),a=n.n(r),s=n(75671);function l(e){return o.createElement("div",{className:a()(s.wrap,e.className)},e.children)}},96021:(e,t,n)=>{"use strict";n.d(t,{CheckableTitle:()=>c});var o=n(67294),r=n(37850),a=n(82653);function s(e){const{property:t,...n}=e,[s,l]=(0,a.useDefinitionProperty)({property:t}),i="mixed"===s;return o.createElement(r.Checkbox,{...n,name:"toggle-enabled",checked:i||s,indeterminate:i,onChange:function(){l("mixed"===s||!s)}})}var l=n(65244),i=n(38093);function c(e){const{property:t,disabled:n,title:r,className:a,name:c}=e,u=o.createElement("span",{className:i.title},r);return o.createElement(l.CellWrap,{className:a},t?o.createElement(s,{name:c,className:i.checkbox,property:t,disabled:n,label:u,labelAlignBaseline:!0}):u)}},15973:(e,t,n)=>{"use strict";n.d(t,{CommonSection:()=>s});var o=n(67294),r=n(35665),a=n(96021);function s(e){const{id:t,offset:n,disabled:s,checked:l,title:i,children:c}=e;return o.createElement(r.PropertyTable.Row,null,o.createElement(r.PropertyTable.Cell,{placement:"first",verticalAlign:"adaptive",offset:n,"data-section-name":t,colSpan:Boolean(c)?void 0:2,checkableTitle:!0},o.createElement(a.CheckableTitle,{name:"is-enabled-"+t,title:i,disabled:s,property:l})),Boolean(c)&&o.createElement(r.PropertyTable.Cell,{placement:"last","data-section-name":t},c))}},46358:(e,t,n)=>{"use strict";n.d(t,{GroupTitleSection:()=>l});var o=n(67294),r=n(35665),a=n(96021),s=n(22196);function l(e){return o.createElement(r.PropertyTable.Row,null,o.createElement(r.PropertyTable.Cell,{className:s.titleWrap,placement:"first",verticalAlign:"adaptive",colSpan:2,"data-section-name":e.name,checkableTitle:!0},o.createElement(a.CheckableTitle,{title:e.title,name:"is-enabled-"+e.name,className:s.title})))}},87131:(e,t,n)=>{"use strict";n.d(t,{logger:()=>o});const o=(0,n(65447).getLogger)("Platform.GUI.PropertyDefinitionTrace")},86284:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.css b/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.css new file mode 100644 index 0000000..7b9e1bf --- /dev/null +++ b/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.css @@ -0,0 +1 @@ +.button-3B9fDLtm{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.button-3B9fDLtm:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .button-3B9fDLtm:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .button-3B9fDLtm:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm:hover{color:#b2b5be}}.button-3B9fDLtm.disabled-3B9fDLtm,.button-3B9fDLtm.disabled-3B9fDLtm:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm.disabled-3B9fDLtm:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm,html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.button-3B9fDLtm.active-3B9fDLtm,html.theme-dark .button-3B9fDLtm.active-3B9fDLtm{color:#90bff9}.button-3B9fDLtm.active-3B9fDLtm:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm.active-3B9fDLtm:hover{background-color:#1848cc}}html.theme-dark .button-3B9fDLtm.active-3B9fDLtm:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm.active-3B9fDLtm:hover{background-color:#1848cc}}.hidden-3B9fDLtm{visibility:hidden} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.rtl.css b/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.rtl.css new file mode 100644 index 0000000..7b9e1bf --- /dev/null +++ b/public/static/charting_library/bundles/8604.9200d240b82687bc2a27.rtl.css @@ -0,0 +1 @@ +.button-3B9fDLtm{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.button-3B9fDLtm:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .button-3B9fDLtm:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .button-3B9fDLtm:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm:hover{color:#b2b5be}}.button-3B9fDLtm.disabled-3B9fDLtm,.button-3B9fDLtm.disabled-3B9fDLtm:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm.disabled-3B9fDLtm:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm,html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.button-3B9fDLtm.active-3B9fDLtm,html.theme-dark .button-3B9fDLtm.active-3B9fDLtm{color:#90bff9}.button-3B9fDLtm.active-3B9fDLtm:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm.active-3B9fDLtm:hover{background-color:#1848cc}}html.theme-dark .button-3B9fDLtm.active-3B9fDLtm:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm.active-3B9fDLtm:hover{background-color:#1848cc}}.hidden-3B9fDLtm{visibility:hidden} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8625.2718a9cf5d44ca766c9d.js b/public/static/charting_library/bundles/8625.2718a9cf5d44ca766c9d.js new file mode 100644 index 0000000..43d1552 --- /dev/null +++ b/public/static/charting_library/bundles/8625.2718a9cf5d44ca766c9d.js @@ -0,0 +1,25 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[8625],{21078:e=>{e.exports={wrapper:"wrapper-1MlnSDA4",focused:"focused-1MlnSDA4",readonly:"readonly-1MlnSDA4",disabled:"disabled-1MlnSDA4","size-small":"size-small-1MlnSDA4","size-medium":"size-medium-1MlnSDA4","size-large":"size-large-1MlnSDA4","font-size-small":"font-size-small-1MlnSDA4","font-size-medium":"font-size-medium-1MlnSDA4","font-size-large":"font-size-large-1MlnSDA4","border-none":"border-none-1MlnSDA4",shadow:"shadow-1MlnSDA4","border-thin":"border-thin-1MlnSDA4","border-thick":"border-thick-1MlnSDA4","intent-default":"intent-default-1MlnSDA4","intent-success":"intent-success-1MlnSDA4","intent-warning":"intent-warning-1MlnSDA4","intent-danger":"intent-danger-1MlnSDA4","intent-primary":"intent-primary-1MlnSDA4","corner-top-left":"corner-top-left-1MlnSDA4","corner-top-right":"corner-top-right-1MlnSDA4","corner-bottom-right":"corner-bottom-right-1MlnSDA4","corner-bottom-left":"corner-bottom-left-1MlnSDA4",childrenContainer:"childrenContainer-1MlnSDA4"}},31929:e=>{e.exports={defaultSelect:"defaultSelect-rvczD149"}},81309:e=>{e.exports={itemWrap:"itemWrap-3FEBD9eP",item:"item-3FEBD9eP",icon:"icon-3FEBD9eP",selected:"selected-3FEBD9eP",label:"label-3FEBD9eP"}},8859:e=>{e.exports={lineEndSelect:"lineEndSelect-1x0HNmOc",right:"right-1x0HNmOc"}},66508:e=>{e.exports={lineStyleSelect:"lineStyleSelect-3KjU7hI0"}},12606:e=>{e.exports={lineWidthSelect:"lineWidthSelect-3VlOWnM8",bar:"bar-3VlOWnM8",isActive:"isActive-3VlOWnM8",item:"item-3VlOWnM8"}},71450:e=>{e.exports={container:"container-1zlYw2UK",active:"active-1zlYw2UK",disabled:"disabled-1zlYw2UK",icon:"icon-1zlYw2UK"}},58268:e=>{e.exports={wrap:"wrap-3yqu-5zT",disabled:"disabled-3yqu-5zT"}},78613:e=>{e.exports={dropdown:"dropdown-Y-VtYUMO",dropdownMenu:"dropdownMenu-Y-VtYUMO",firstColorPicker:"firstColorPicker-Y-VtYUMO"}},74843:e=>{e.exports={row:"row-NcPpqR9x",wrap:"wrap-NcPpqR9x",breakpointNormal:"breakpointNormal-NcPpqR9x",breakpointMedium:"breakpointMedium-NcPpqR9x",breakpointSmall:"breakpointSmall-NcPpqR9x"}},81623:e=>{e.exports={coordinates:"coordinates-28UK1YDt",input:"input-28UK1YDt"}},29174:e=>{e.exports={wrapper:"wrapper-2F4fv0AC",checkbox:"checkbox-2F4fv0AC",colorSelect:"colorSelect-2F4fv0AC"}},25169:e=>{e.exports={input:"input-1y54fm74",control:"control-1y54fm74",item:"item-1y54fm74",cell:"cell-1y54fm74",fragmentCell:"fragmentCell-1y54fm74",withTitle:"withTitle-1y54fm74",title:"title-1y54fm74"}},75975:e=>{e.exports={line:"line-2EFUN2WR",control:"control-2EFUN2WR",valueInput:"valueInput-2EFUN2WR",valueUnit:"valueUnit-2EFUN2WR",input:"input-2EFUN2WR"}},58041:e=>{e.exports={unit:"unit-3YVf8t1O",input:"input-3YVf8t1O",normal:"normal-3YVf8t1O",big:"big-3YVf8t1O",dropdown:"dropdown-3YVf8t1O",dropdownMenu:"dropdownMenu-3YVf8t1O"}},28364:e=>{e.exports={dropdown:"dropdown-3Z3YBwWw",normal:"normal-3Z3YBwWw",big:"big-3Z3YBwWw",dropdownMenu:"dropdownMenu-3Z3YBwWw"}},54394:e=>{e.exports={range:"range-2PdPYA_J",valueInput:"valueInput-2PdPYA_J",rangeSlider:"rangeSlider-2PdPYA_J", +rangeSlider_mixed:"rangeSlider_mixed-2PdPYA_J",input:"input-2PdPYA_J"}},75443:e=>{e.exports={colorPicker:"colorPicker-zLgQJ6Yh",fontStyleButton:"fontStyleButton-zLgQJ6Yh",dropdown:"dropdown-zLgQJ6Yh",dropdownMenu:"dropdownMenu-zLgQJ6Yh"}},87390:e=>{e.exports={twoColors:"twoColors-1b_W-OHw",colorPicker:"colorPicker-1b_W-OHw"}},33739:e=>{e.exports={dropdown:"dropdown-T1V4i3sE",menu:"menu-T1V4i3sE"}},64526:e=>{e.exports={wrap:"wrap-164vy-kj",positionBottom:"positionBottom-164vy-kj",backdrop:"backdrop-164vy-kj",drawer:"drawer-164vy-kj",positionLeft:"positionLeft-164vy-kj"}},80528:e=>{e.exports={wrapper:"wrapper-1-S6uQxU",emoji:"emoji-1-S6uQxU"}},36843:e=>{e.exports={list:"list-tOao0Vo7"}},80663:e=>{e.exports={wrapper:"wrapper-3G6q-JGM"}},22669:e=>{e.exports={wrapper:"wrapper-2uFJv5Fz",emojiItem:"emojiItem-2uFJv5Fz"}},7621:e=>{e.exports={wrapper:"wrapper-2ESZuAbX",isActive:"isActive-2ESZuAbX"}},45730:e=>{e.exports={wrapper:"wrapper-30HPnwk9"}},23087:e=>{e.exports={wrapper:"wrapper-1ecGiBuB"}},10125:e=>{e.exports={desktopSize:"desktopSize--UxMOnMB",drawer:"drawer--UxMOnMB",menuBox:"menuBox--UxMOnMB"}},18872:e=>{e.exports={range:"range-31GwrUpb",disabled:"disabled-31GwrUpb",rangeSlider:"rangeSlider-31GwrUpb",rangeSliderMiddleWrap:"rangeSliderMiddleWrap-31GwrUpb",rangeSliderMiddle:"rangeSliderMiddle-31GwrUpb",dragged:"dragged-31GwrUpb",pointer:"pointer-31GwrUpb",rangePointerWrap:"rangePointerWrap-31GwrUpb"}},15169:e=>{e.exports={button:"button-3B9fDLtm",disabled:"disabled-3B9fDLtm",active:"active-3B9fDLtm",hidden:"hidden-3B9fDLtm"}},19330:(e,t,n)=>{"use strict";n.d(t,{VerticalAttachEdge:()=>o,HorizontalAttachEdge:()=>r,VerticalDropDirection:()=>i,HorizontalDropDirection:()=>a,getPopupPositioner:()=>c});var o,r,i,a,l=n(16282);!function(e){e[e.Top=0]="Top",e[e.Bottom=1]="Bottom"}(o||(o={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(r||(r={})),function(e){e[e.FromTopToBottom=0]="FromTopToBottom",e[e.FromBottomToTop=1]="FromBottomToTop"}(i||(i={})),function(e){e[e.FromLeftToRight=0]="FromLeftToRight",e[e.FromRightToLeft=1]="FromRightToLeft"}(a||(a={}));const s={verticalAttachEdge:o.Bottom,horizontalAttachEdge:r.Left,verticalDropDirection:i.FromTopToBottom,horizontalDropDirection:a.FromLeftToRight,verticalMargin:0,horizontalMargin:0,matchButtonAndListboxWidths:!1};function c(e,t){return(n,c)=>{const d=(0,l.ensureNotNull)(e).getBoundingClientRect(),{verticalAttachEdge:u=s.verticalAttachEdge,verticalDropDirection:p=s.verticalDropDirection,horizontalAttachEdge:m=s.horizontalAttachEdge,horizontalDropDirection:h=s.horizontalDropDirection,horizontalMargin:f=s.horizontalMargin,verticalMargin:v=s.verticalMargin,matchButtonAndListboxWidths:g=s.matchButtonAndListboxWidths}=t,b=u===o.Top?-1*v:v,w=m===r.Right?d.right:d.left,y=u===o.Top?d.top:d.bottom,E={x:w-(h===a.FromRightToLeft?n:0)+f,y:y-(p===i.FromBottomToTop?c:0)+b};return g&&(E.overrideWidth=d.width),E}}},3220:(e,t,n)=>{"use strict";n.d(t,{FontSizeSelect:()=>c});var o=n(67294),r=n(94184),i=n.n(r),a=n(45221),l=n(74818),s=n(31929);function c(e){ +const{id:t,fontSize:n,fontSizes:r=[],className:c,disabled:d,fontSizeChange:u}=e;return o.createElement(a.Select,{id:t,disabled:d,className:i()(c,s.defaultSelect),menuClassName:s.defaultSelect,items:(p=r,p.map(e=>({value:e.value,content:e.title}))),value:n,onChange:u,...(0,l.filterDataProps)(e)});var p}},93265:(e,t,n)=>{"use strict";n.d(t,{IconDropdown:()=>c,DisplayItem:()=>d,DropItem:()=>u});var o=n(67294),r=n(94184),i=n.n(r),a=n(45221),l=n(49775),s=n(81309);function c(e){const{menuItemClassName:t,...n}=e;return o.createElement(a.Select,{...n,menuItemClassName:i()(t,s.itemWrap)})}function d(e){return o.createElement("div",{className:i()(s.item,s.selected)},o.createElement(l.Icon,{className:s.icon,icon:e.icon}))}function u(e){return o.createElement("div",{className:s.item},o.createElement(l.Icon,{className:i()(s.icon,e.iconClassName),icon:e.icon}),o.createElement("div",{className:s.label},e.label))}},13278:(e,t,n)=>{"use strict";n.d(t,{LineStyleSelect:()=>h});var o=n(79881),r=n(67294),i=n(94184),a=n.n(i),l=n(33420),s=n(93265),c=n(4034),d=n(88816),u=n(74295),p=n(66508);const m=[{type:l.LINESTYLE_SOLID,icon:c,label:(0,o.t)("Line")},{type:l.LINESTYLE_DASHED,icon:d,label:(0,o.t)("Dashed line")},{type:l.LINESTYLE_DOTTED,icon:u,label:(0,o.t)("Dotted line")}];class h extends r.PureComponent{render(){const{id:e,lineStyle:t,className:n,lineStyleChange:o,disabled:i,additionalItems:l,allowedLineStyles:c}=this.props;let d=function(e){let t=[...m];return void 0!==e&&(t=t.filter(t=>e.includes(t.type))),t.map(e=>({value:e.type,selectedContent:r.createElement(s.DisplayItem,{icon:e.icon}),content:r.createElement(s.DropItem,{icon:e.icon,label:e.label})}))}(c);return l&&(d=[{readonly:!0,content:l},...d]),r.createElement(s.IconDropdown,{id:e,disabled:i,className:a()(p.lineStyleSelect,n),hideArrowButton:!0,items:d,value:t,onChange:o,"data-name":"line-style-select"})}}},98687:(e,t,n)=>{"use strict";n.d(t,{LineWidthSelect:()=>d});var o=n(67294),r=n(94184),i=n(45221),a=n(12606);const l=[1,2,3,4];function s(e){const{id:t,value:n,items:s=l,disabled:c,onChange:d}=e;return o.createElement(i.Select,{id:t,disabled:c,hideArrowButton:!0,className:a.lineWidthSelect,items:(u=s,u.map(e=>({value:e,selectedContent:p(e,!0),content:p(e)}))),value:n,onChange:d,"data-name":"line-width-select"});var u;function p(e,t){const i={borderTopWidth:e};return o.createElement("div",{className:a.item},o.createElement("div",{className:r(a.bar,{[a.isActive]:e===n&&!t}),style:i}," "))}}var c=n(82653);function d(e){const{property:t}=e,[n,r]=(0,c.useDefinitionProperty)({property:t});return o.createElement(s,{...e,value:n,onChange:r})}},63544:(e,t,n)=>{"use strict";n.d(t,{ControlCustomWidthContext:()=>r,ControlCustomHeightContext:()=>i});var o=n(67294);const r=o.createContext({}),i=o.createContext({})},9102:(e,t,n)=>{"use strict";n.d(t,{Section:()=>Qt});var o=n(67294),r=n(68680),i=n(8786),a=n(82653),l=n(15973);function s(e){const{definition:{id:t,properties:{checked:n,disabled:r},title:i},offset:s}=e,[c]=(0,a.useDefinitionProperty)({property:r,defaultValue:!1}) +;return o.createElement(l.CommonSection,{id:t,offset:s,checked:n,title:i,disabled:e.disabled||c})}var c=n(94184),d=n.n(c),u=n(41615),p=n(13278);function m(e){const{property:t}=e,[n,r]=(0,a.useDefinitionProperty)({property:t});return o.createElement(p.LineStyleSelect,{...e,lineStyle:n,lineStyleChange:r})}var h=n(98687),f=n(93302),v=n(16282);function g(e){return"mixed"===e}function b(e,t,n){const[r,i]=(0,o.useState)(e),a=(0,o.useRef)(r);return(0,o.useEffect)(()=>{i(e)},[e,n]),[r,function(e){a.current=e,i(e)},function(){t(a.current)},function(){a.current=e,i(e)}]}var w=n(42998),y=n(66094),E=n(57968),C=n(57649),S=n(43367);function x(e){const{property:t,...n}=e,[r,i]=(0,o.useState)(performance.now()),[l,s]=(0,a.useDefinitionProperty)({property:t,handler:()=>i(performance.now())}),c=b(l,s,r);return o.createElement(D,{...n,valueHash:r,sharedBuffer:c})}function D(e){const{sharedBuffer:t,min:n,max:r,step:i,...a}=e,[l,s,c,d]=t,u=(0,o.useRef)(null),p=(0,o.useRef)(null),m={flushed:!1};return o.createElement(M,{...a,ref:p,onValueChange:function(e,t){s(e),"step"!==t||m.flushed||(c(),m.flushed=!0)},onKeyDown:function(e){if(e.defaultPrevented||m.flushed)return;switch((0,w.hashFromEvent)(e.nativeEvent)){case 27:d(),m.flushed=!0;break;case 13:e.preventDefault();const t=(0,v.ensureNotNull)(p.current).getClampedValue();null!==t&&(s(t),c(),m.flushed=!0)}},onBlur:function(e){const t=(0,v.ensureNotNull)(u.current);if(!t.contains(document.activeElement)&&!t.contains(e.relatedTarget)){const e=(0,v.ensureNotNull)(p.current).getClampedValue();null===e||m.flushed||(s(e),c(),m.flushed=!0)}},value:l,roundByStep:!1,containerReference:function(e){u.current=e},inputMode:S.CheckMobile.iOS()?void 0:"numeric",min:n,max:r,step:i,stretch:!1})}const N={mode:"float",min:-Number.MAX_VALUE,max:Number.MAX_VALUE,step:1,precision:0,inheritPrecisionFromStep:!0};class M extends o.PureComponent{constructor(e){super(e),this._selection=null,this._restoreSelection=!1,this._input=null,this._handleSelectionChange=()=>{this._restoreSelection||document.activeElement!==(0,v.ensureNotNull)(this._input)||this._saveSelection((0,v.ensureNotNull)(this._input))},this._handleInputReference=e=>{this._input=e,this.props.inputReference&&this.props.inputReference(e)},this._onFocus=e=>{this._saveSelection((0,v.ensureNotNull)(this._input)),this.setState({focused:!0}),this.props.onFocus&&this.props.onFocus(e)},this._onBlur=e=>{this._selection=null,this.setState({displayValue:P(this.props,this.props.value,V(this.props)),focused:!1}),this.props.onBlur&&this.props.onBlur(e)},this._onValueChange=e=>{const t=e.currentTarget,n=t.value,o=function(e,t,n){switch(n){case"integer":return z.test(t)?t:e;case"float":return t=t.replace(/,/g,"."),k.test(t)?t:e}}(this.state.displayValue,n,this.props.mode),r=A(o),i=this._checkValueBoundaries(r);var a,l;this.setState({displayValue:o}),o!==n&&(a=this.state.displayValue,l=(l=o).replace(/,/g,"."),(a=a.replace(/,/g,".")).includes(".")||!l.includes("."))?(this._restoreSelection=!0,this.forceUpdate()):this._saveSelection(t), +i.value&&P(this.props,r)===o&&this.props.onValueChange(r,"input")},this._onValueByStepChange=e=>{const{roundByStep:t=!0,step:n=1}=this.props,o=A(this.state.displayValue);let r;if(isNaN(o)){const{defaultValue:e}=this.props;if(void 0===e)return;r=e}else{const i=new f.Big(o),a=new f.Big(n),l=i.mod(a);let s=i.plus(e*n);!l.eq(0)&&t&&(s=s.plus((e>0?0:1)*n).minus(l)),r=s.toNumber()}this._checkValueBoundaries(r).value&&(this.setState({displayValue:P(this.props,r,V(this.props))}),this.props.onValueChange(r,"step"))},this.state={value:T(this.props.value),displayValue:P(this.props,this.props.value,V(this.props)),focused:!1,valueHash:this.props.valueHash}}componentDidMount(){document.addEventListener("selectionchange",this._handleSelectionChange)}componentWillUnmount(){document.removeEventListener("selectionchange",this._handleSelectionChange)}componentDidUpdate(){const e=(0,v.ensureNotNull)(this._input),t=this._selection;if(null!==t&&this._restoreSelection&&document.activeElement===e){const{start:n,end:o,direction:r}=t;e.setSelectionRange(n,o,r)}this._restoreSelection=!1}render(){return o.createElement(y.NumberInputView,{type:"text",inputMode:this.props.inputMode,name:this.props.name,fontSizeStyle:"medium",value:this.state.displayValue,className:this.props.className,placeholder:this.props.placeholder,disabled:this.props.disabled,stretch:this.props.stretch,onValueChange:this._onValueChange,onValueByStepChange:this._onValueByStepChange,containerReference:this.props.containerReference,inputReference:this._handleInputReference,onClick:this.props.onClick,onFocus:this._onFocus,onBlur:this._onBlur,onKeyDown:this.props.onKeyDown,autoSelectOnFocus:!0,"data-name":this.props["data-name"]})}getClampedValue(){const{min:e,max:t}=this.props,n=A(this.state.displayValue);return isNaN(n)?null:(0,E.clamp)(n,e,t)}static getDerivedStateFromProps(e,t){const{valueHash:n}=e,o=T(e.value);if(t.value!==o||t.valueHash!==n){return{value:o,valueHash:n,displayValue:P(e,o,t.focused&&t.valueHash===n?void 0:V(e))}}return null}_saveSelection(e){const{selectionStart:t,selectionEnd:n,selectionDirection:o}=e;null!==t&&null!==n&&null!==o&&(this._selection={start:t,end:n,direction:o})}_checkValueBoundaries(e){const{min:t,max:n}=this.props;return{value:function(e,t,n){const o=e>=t,r=e<=n;return{passMin:o,passMax:r,pass:o&&r,clamped:(0,E.clamp)(e,t,n)}}(e,t,n).pass}}}M.defaultProps=N;const z=/^-?[0-9]*$/,k=/^(-?([0-9]+\.?[0-9]*)|(-?[0-9]*))$/;function P(e,t,n){return g(t=T(t))?"—":(null!==t&&void 0!==n&&(n=Math.max(_(t),n)),function(e,t){if(null===e)return"";return new C.NumericFormatter(t).format(e)}(t,n))}function V(e){let t=0;return e.inheritPrecisionFromStep&&e.step<=1&&(t=_(e.step)),Math.max(e.precision,t)||void 0}function _(e){const t=Math.trunc(e).toString();return(0,E.clamp)(C.NumericFormatter.formatNoE(e).length-t.length-1,0,15)}function A(e,t){return new C.NumericFormatter(t).parse(e)}function T(e){return"number"==typeof e&&Number.isFinite(e)||g(e)?e:null}var R=n(14563),B=n(32895),F=n(50968);function I(e){ +const{color:t,thickness:n,thicknessItems:r,noAlpha:i}=e,[l,s]=(0,a.useDefinitionProperty)({property:t}),[c,d]=(0,a.useDefinitionProperty)(n?{property:n}:{defaultValue:void 0});return o.createElement(B.ColorSelect,{...e,color:function(){if(!l)return null;return(0,R.rgbToHexString)((0,R.parseRgb)(l))}(),onColorChange:function(e){const t=l?(0,F.alphaToTransparency)((0,R.parseRgba)(l)[3]):0;s((0,F.generateColor)(String(e),t,!0))},thickness:c,thicknessItems:r,onThicknessChange:d,opacity:i?void 0:l?(0,R.parseRgba)(l)[3]:void 0,onOpacityChange:i?void 0:function(e){s((0,F.generateColor)(l,(0,F.alphaToTransparency)(e),!0))}})}var L=n(79881),W=n(71172),j=n(93265),U=n(74818),O=n(6777),H=n(47567),Y=n(8859);const G=[{type:W.LineEnd.Normal,icon:O,label:(0,L.t)("Normal")},{type:W.LineEnd.Arrow,icon:H,label:(0,L.t)("Arrow")}];class J extends o.PureComponent{constructor(e){super(e),this._items=[],this._items=G.map(t=>({value:t.type,selectedContent:o.createElement(j.DisplayItem,{icon:t.icon}),content:o.createElement(j.DropItem,{icon:t.icon,iconClassName:d()(e.isRight&&Y.right),label:t.label})}))}render(){const{id:e,lineEnd:t,className:n,lineEndChange:r,isRight:i,disabled:a}=this.props;return o.createElement(j.IconDropdown,{id:e,disabled:a,className:d()(Y.lineEndSelect,i&&Y.right,n),items:this._items,value:t,onChange:r,hideArrowButton:!0,...(0,U.filterDataProps)(this.props)})}}function K(e){const{property:t}=e,[n,r]=(0,a.useDefinitionProperty)({property:t});return o.createElement(J,{...e,lineEnd:n,lineEndChange:r})}var q=n(65244),X=n(74843);function Q(e){const{children:t,className:n,breakPoint:r="Normal"}=e;return o.createElement(q.CellWrap,{className:c(X.wrap,n,X["breakpoint"+r])},o.Children.map(t,e=>o.isValidElement(e)?o.createElement("span",{key:null===e.key?void 0:e.key,className:X.row},e):e))}const Z={1:"float",0:"integer"};var $=n(27278),ee=n(75975);function te(e){const{definition:{id:t,properties:{checked:n,disabled:r,leftEnd:i,rightEnd:s,value:d,extendLeft:p,extendRight:f},title:v,valueMin:g,valueMax:b,valueStep:w,valueUnit:y,extendLeftTitle:E,extendRightTitle:C},offset:S}=e,[D]=(0,a.useDefinitionProperty)({property:n,defaultValue:!0}),[N]=(0,a.useDefinitionProperty)({property:r,defaultValue:!1}),M=(0,$.useWatchedValueReadonly)({watchedValue:g,defaultValue:void 0}),z=(0,$.useWatchedValueReadonly)({watchedValue:b,defaultValue:void 0}),k=(0,$.useWatchedValueReadonly)({watchedValue:w,defaultValue:void 0}),P=(0,$.useWatchedValueReadonly)({watchedValue:y,defaultValue:void 0}),V=e.disabled||!D;return o.createElement(o.Fragment,null,o.createElement(l.CommonSection,{id:t,offset:S,checked:n,title:v,disabled:e.disabled||N},o.createElement(Q,{className:ee.line,breakPoint:"Small"},o.createElement(o.Fragment,null,function(){const{definition:{properties:{color:n,width:r},widthValues:i}}=e;if(n)return o.createElement("span",{className:ee.control},o.createElement(I,{color:n,thickness:r,disabled:V,thicknessItems:i}));return r&&o.createElement("span",{className:ee.control},o.createElement(h.LineWidthSelect,{id:(0, +u.createDomId)(t,"line-width-select"),items:i,property:r,disabled:V}))}(),function(){const{definition:{properties:{style:n}}}=e;return n&&o.createElement("span",{className:ee.control},o.createElement(m,{id:(0,u.createDomId)(t,"line-style-select"),property:n,disabled:V}))}()),(i||s||d)&&o.createElement(o.Fragment,null,o.createElement(o.Fragment,null,i&&o.createElement(K,{id:(0,u.createDomId)(t,"left-end-select"),"data-name":"left-end-select",className:ee.control,property:i,disabled:V}),s&&o.createElement(K,{id:(0,u.createDomId)(t,"right-end-select"),"data-name":"right-end-select",className:ee.control,property:s,disabled:V,isRight:!0})),function(){const{definition:{valueType:t}}=e;return d&&o.createElement("span",{className:c(ee.valueInput,ee.control)},o.createElement(x,{className:ee.input,property:d,min:M,max:z,step:k,disabled:V,mode:void 0!==t?Z[t]:void 0,name:"line-value-input"}),o.createElement("span",{className:ee.valueUnit},P))}()))),p&&o.createElement(l.CommonSection,{id:t+"ExtendLeft",offset:S,checked:p,title:E,disabled:e.disabled||N}),f&&o.createElement(l.CommonSection,{id:t+"ExtendRight",offset:S,checked:f,title:C,disabled:e.disabled||N}))}var ne=n(26254),oe=n(45221),re=n(77727);function ie(e){const{property:t,options:n,...r}=e,[i,l]=(0,a.useDefinitionProperty)({property:t}),s=(0,re.useForceUpdate)();return(0,o.useEffect)(()=>{const e=()=>s();return Array.isArray(n)||n.subscribe(e),()=>{Array.isArray(n)||n.unsubscribe(e)}},[]),o.createElement(oe.Select,{...r,onChange:l,value:i,items:(Array.isArray(n)?n:n.value()).map(e=>e.readonly?{content:e.title,readonly:e.readonly}:{content:e.title,value:e.value,disabled:e.disabled,id:e.id})})}var ae=n(78613);const le=[{title:(0,L.t)("Solid"),value:ne.ColorType.Solid},{title:(0,L.t)("Gradient"),value:ne.ColorType.Gradient}];function se(e){const{id:t,disabled:n,noAlpha:r,properties:i}=e,{color:l,gradientColor1:s,gradientColor2:c,type:d}=i,[p]=(0,a.useDefinitionProperty)({property:d,defaultValue:ne.ColorType.Solid});return o.createElement(Q,null,o.createElement(ie,{id:(0,u.createDomId)(t,"background-type-options-dropdown"),"data-name":"background-type-options-dropdown",className:ae.dropdown,menuClassName:ae.dropdownMenu,disabled:n,property:d,options:le}),p===ne.ColorType.Solid?o.createElement(I,{color:l,disabled:n,noAlpha:r}):o.createElement(o.Fragment,null,o.createElement(I,{className:ae.firstColorPicker,color:s,disabled:n,noAlpha:r}),o.createElement(I,{color:c,disabled:n,noAlpha:r})))}function ce(e){const{definition:{id:t,properties:n,title:r,noAlpha:i},offset:s}=e,{color:c,checked:d,disabled:u}=n,[p]=(0,a.useDefinitionProperty)({property:d,defaultValue:!0}),[m]=(0,a.useDefinitionProperty)({property:u,defaultValue:!1}),h=e.disabled||!p;return o.createElement(l.CommonSection,{id:t,offset:s,checked:d,title:r,disabled:e.disabled||m},o.createElement(q.CellWrap,null,n.hasOwnProperty("type")?o.createElement(se,{id:t,properties:n,disabled:h,noAlpha:i}):o.createElement(I,{color:c,disabled:h,noAlpha:i})))}var de=n(97852),ue=n(53312),pe=n(58268);function me(e){ +const{value:t,disabled:n,onChange:r}=e;return o.createElement("div",{className:c(pe.wrap,{[pe.disabled]:n})},o.createElement(de.Opacity,{hideInput:!0,color:ue.colorsPalette["color-tv-blue-500"],opacity:1-t/100,onChange:function(e){n||r(100-100*e)}}))}function he(e){const{property:t,...n}=e,[r,i]=(0,a.useDefinitionProperty)({property:t});return o.createElement(me,{...n,value:r,onChange:i})}function fe(e){const{definition:{id:t,properties:{transparency:n,checked:r,disabled:i},title:s},offset:c}=e,[d]=(0,a.useDefinitionProperty)({property:r,defaultValue:!0}),[u]=(0,a.useDefinitionProperty)({property:i,defaultValue:!1}),p=e.disabled||!d;return o.createElement(l.CommonSection,{id:t,offset:c,checked:r,title:s,disabled:e.disabled||u},o.createElement(q.CellWrap,null,o.createElement(he,{property:n,disabled:p})))}var ve=n(87390);function ge(e){const{definition:{id:t,properties:{color1:n,color2:r,checked:i,disabled:s},title:c,noAlpha1:d,noAlpha2:u},offset:p}=e,[m]=(0,a.useDefinitionProperty)({property:i,defaultValue:!0}),[h]=(0,a.useDefinitionProperty)({property:s,defaultValue:!1}),f=e.disabled||!m||h;return o.createElement(l.CommonSection,{id:t,offset:p,checked:i,title:c,disabled:e.disabled||h},o.createElement(q.CellWrap,{className:ve.twoColors},v(n,d),v(r,u)));function v(e,t){return o.createElement("span",{className:ve.colorPicker},o.createElement(I,{color:e,disabled:f,noAlpha:t}))}}var be=n(63544),we=n(58041);function ye(e){const{definition:{id:t,properties:{checked:n,value:r,unitOptionsValue:i,disabled:s},min:d,max:p,step:m,title:h,unit:f,unitOptions:g,type:b},offset:w}=e,[y]=(0,a.useDefinitionProperty)({property:n,defaultValue:!0}),[E]=(0,a.useDefinitionProperty)({property:s,defaultValue:!1}),C=(0,$.useWatchedValueReadonly)({watchedValue:d,defaultValue:void 0}),S=(0,$.useWatchedValueReadonly)({watchedValue:p,defaultValue:void 0}),D=(0,$.useWatchedValueReadonly)({watchedValue:m,defaultValue:void 0}),N=(0,$.useWatchedValueReadonly)({watchedValue:f,defaultValue:void 0}),M=(0,o.useContext)(be.ControlCustomWidthContext),z=e.disabled||!y;return o.createElement(l.CommonSection,{id:t,offset:w,checked:n,title:h,disabled:e.disabled||E},o.createElement(q.CellWrap,null,o.createElement(Q,null,o.createElement(x,{className:c(we.input,M[t]&&we[M[t]]),property:r,min:C,max:S,step:D,disabled:z,mode:Z[b],name:"number-input","data-name":t}),i&&o.createElement(ie,{id:(0,u.createDomId)(t,"unit-options-dropdown"),"data-name":"unit-options-dropdown",className:we.dropdown,menuClassName:we.dropdownMenu,disabled:z,property:i,options:(0,v.ensureDefined)(g)})),o.createElement("span",{className:we.unit},N)))}function Ee(e){const{definition:{id:t,properties:{checked:n,disabled:r},childrenDefinitions:i,title:s},offset:c}=e,[d]=(0,a.useDefinitionProperty)({property:n,defaultValue:!0}),[u]=(0,a.useDefinitionProperty)({property:r,defaultValue:!1}),p=e.disabled||!d;return o.createElement(o.Fragment,null,o.createElement(l.CommonSection,{id:t,offset:c,checked:n,title:s,disabled:e.disabled||u}),i.map(e=>o.createElement(Qt,{key:e.id,disabled:p,definition:e, +offset:!0})))}var Ce=n(3220);function Se(e){const{property:t}=e,[n,r]=(0,a.useDefinitionProperty)({property:t});return o.createElement(Ce.FontSizeSelect,{...e,fontSize:n,fontSizeChange:r,"data-name":"font-size-select"})}var xe=n(49775),De=n(71450);function Ne(e){const{className:t,checked:n,icon:r,disabled:i,onClick:a}=e;return o.createElement("div",{className:d()(t,De.container,n&&!i&&De.active,i&&De.disabled),onClick:i?void 0:a,"data-role":"button",...(0,U.filterDataProps)(e)},o.createElement(xe.Icon,{className:De.icon,icon:r}))}function Me(e){const{icon:t,className:n,property:r,disabled:i}=e,[l,s]=(0,a.useDefinitionProperty)({property:r});return o.createElement(Ne,{className:n,icon:t,checked:l,onClick:function(){s(!l)},disabled:i,...(0,U.filterDataProps)(e)})}var ze=n(11888),ke=n(35665),Pe=n(40803);function Ve(e){const{property:t,...n}=e,[r,i]=(0,a.useDefinitionProperty)({property:t}),l=(0,o.useCallback)(e=>i(e.target.value),[i]);return o.createElement(Pe.Textarea,{...n,value:r,onChange:l})}var _e=n(86204),Ae=n(2644),Te=n(75443);const Re=e=>({content:e.title,title:e.title,value:e.value,id:e.id}),Be=e=>({content:e.title,title:e.title,value:e.value,id:e.id});function Fe(e){const{definition:{id:t,properties:{color:n,size:r,checked:i,disabled:s,bold:c,italic:d,text:p,alignmentHorizontal:m,alignmentVertical:h,orientation:f,backgroundVisible:v,backgroundColor:g,borderVisible:b,borderColor:w,borderWidth:y,wrap:E},title:C,sizeItems:S,alignmentTitle:x,alignmentHorizontalItems:D,alignmentVerticalItems:N,orientationTitle:M,orientationItems:z,backgroundTitle:k,borderTitle:P,borderWidthItems:V,wrapTitle:_},offset:A}=e,T=(0,o.useContext)(be.ControlCustomHeightContext),[R]=(0,a.useDefinitionProperty)({property:i,defaultValue:!0}),[B]=(0,a.useDefinitionProperty)({property:s,defaultValue:!1}),[F,L]=(0,a.useDefinitionProperty)({property:h,defaultValue:void 0}),[W,j]=(0,a.useDefinitionProperty)({property:f,defaultValue:"horizontal"}),[U,O]=(0,a.useDefinitionProperty)({property:m,defaultValue:void 0}),[H]=(0,a.useDefinitionProperty)({property:v,defaultValue:!1}),[Y]=(0,a.useDefinitionProperty)({property:b,defaultValue:!1}),G=e.disabled||!R;return o.createElement(o.Fragment,null,function(){if(C)return o.createElement(l.CommonSection,{id:t,offset:A,checked:i,title:C,disabled:e.disabled||B},o.createElement(Q,{breakPoint:"Small"},X(),Z()));return o.createElement(ke.PropertyTable.Row,null,o.createElement(ke.PropertyTable.Cell,{placement:"first",colSpan:2,offset:A,"data-section-name":t},X(),Z()))}(),p&&o.createElement(ke.PropertyTable.Row,null,o.createElement(ke.PropertyTable.Cell,{placement:"first",colSpan:2,offset:A,"data-section-name":t},o.createElement(Ve,{className:ze.InputClasses.FontSizeMedium,rows:(J=T[t],"big"===J?9:5),stretch:!0,property:p,disabled:G,onFocus:function(e){e.target.select()},name:"text-input"}))),(m||h)&&o.createElement(ke.PropertyTable.Row,null,o.createElement(ke.PropertyTable.Cell,{placement:"first",verticalAlign:"adaptive",offset:A,"data-section-name":t +},o.createElement(q.CellWrap,null,x)),o.createElement(ke.PropertyTable.Cell,{placement:"last",verticalAlign:"adaptive","data-section-name":t},o.createElement(Q,{breakPoint:"Small"},void 0!==F&&void 0!==N&&o.createElement(oe.Select,{id:(0,u.createDomId)(t,"alignment-vertical-select"),"data-name":"alignment-vertical-select",className:Te.dropdown,menuClassName:Te.dropdownMenu,disabled:G,value:F,items:N.map(Re),onChange:L}),void 0!==U&&void 0!==D&&o.createElement(oe.Select,{id:(0,u.createDomId)(t,"alignment-horizontal-select"),"data-name":"alignment-horizontal-select",className:Te.dropdown,menuClassName:Te.dropdownMenu,disabled:G,value:U,items:D.map(Re),onChange:O})))),void 0!==f&&void 0!==z&&o.createElement(ke.PropertyTable.Row,null,o.createElement(ke.PropertyTable.Cell,{placement:"first",verticalAlign:"adaptive",offset:A,"data-section-name":t},o.createElement(q.CellWrap,null,M)),o.createElement(ke.PropertyTable.Cell,{placement:"last",verticalAlign:"adaptive","data-section-name":t},o.createElement(Q,{breakPoint:"Small"},o.createElement(oe.Select,{id:(0,u.createDomId)(t,"orientation-select"),"data-name":"orientation-select",className:Te.dropdown,menuClassName:Te.dropdownMenu,disabled:G,value:W,items:z.map(Be),onChange:j})))),$(k,v,g,!!v&&!H),$(P,b,w,!!b&&!Y,y,V),E&&o.createElement(l.CommonSection,{id:t+"Wrap",offset:A,checked:E,title:_,disabled:e.disabled||B}));var J;function K(e,t,n){return e?o.createElement(Me,{className:Te.fontStyleButton,icon:t,property:e,disabled:G,"data-name":n}):null}function X(){return o.createElement(o.Fragment,null,n&&o.createElement("div",{className:Te.colorPicker},o.createElement(I,{color:n,disabled:G})),r&&S&&o.createElement(Se,{id:(0,u.createDomId)(t,"font-size-select"),property:r,fontSizes:S,disabled:G}))}function Z(){return o.createElement(o.Fragment,null,K(c,_e,"toggle-bold"),K(d,Ae,"toggle-italic"))}function $(e,n,r,i,a,s){return r||n?o.createElement(l.CommonSection,{id:t+"ColorSelect",offset:A,checked:n,title:e,disabled:G},r&&o.createElement(I,{color:r,thickness:a,thicknessItems:s,disabled:G||i})):null}}var Ie=n(81623);function Le(e){const{definition:{properties:{x:t,y:n,disabled:r},id:i,minX:a,maxX:l,stepX:s,minY:c,maxY:d,stepY:u,title:p,typeX:m,typeY:h},offset:f}=e,v=r&&r.value()||e.disabled,g=(0,$.useWatchedValueReadonly)({watchedValue:a,defaultValue:void 0}),b=(0,$.useWatchedValueReadonly)({watchedValue:l,defaultValue:void 0}),w=(0,$.useWatchedValueReadonly)({watchedValue:s,defaultValue:void 0}),y=(0,$.useWatchedValueReadonly)({watchedValue:c,defaultValue:void 0}),E=(0,$.useWatchedValueReadonly)({watchedValue:d,defaultValue:void 0}),C=(0,$.useWatchedValueReadonly)({watchedValue:u,defaultValue:void 0});return o.createElement(ke.PropertyTable.Row,null,o.createElement(ke.PropertyTable.Cell,{verticalAlign:"adaptive",placement:"first",offset:f,"data-section-name":i},o.createElement("span",{className:Ie.coordinates},p)),(t||n)&&o.createElement(ke.PropertyTable.Cell,{placement:"last",offset:f,"data-section-name":i},o.createElement(Q,{breakPoint:"Medium"},n&&o.createElement(x,{ +className:Ie.input,property:n,min:y,max:E,step:C,disabled:v,name:"y-input",mode:void 0!==h?Z[h]:"integer"}),t&&o.createElement(x,{className:Ie.input,property:t,min:g,max:b,step:w,disabled:v,name:"x-input",mode:void 0!==m?Z[m]:"integer"}))))}var We=n(28364);function je(e){const{definition:{id:t,properties:{checked:n,option:r,disabled:i},title:s,options:c},offset:p}=e,[m]=(0,a.useDefinitionProperty)({property:n,defaultValue:!0}),[h]=(0,a.useDefinitionProperty)({property:i,defaultValue:!1}),f=(0,o.useContext)(be.ControlCustomWidthContext),v=e.disabled||!m;return o.createElement(l.CommonSection,{id:t,offset:p,checked:n,title:s,disabled:e.disabled||h},o.createElement(q.CellWrap,null,o.createElement(ie,{id:(0,u.createDomId)(t,"options-dropdown"),"data-name":"options-dropdown",className:d()(We.dropdown,f[t]&&We[f[t]]),menuClassName:d()(We.dropdownMenu,f[t]&&We[f[t]]),disabled:v||h,property:r,options:c})))}var Ue=n(87131);var Oe=n(76553),He=n(18872);class Ye extends o.PureComponent{constructor(e){super(e),this._container=null,this._pointer=null,this._rafPosition=null,this._rafDragStop=null,this._refContainer=e=>{this._container=e},this._refPointer=e=>{this._pointer=e},this._handlePosition=e=>{null!==this._rafPosition||this.props.disabled||(this._rafPosition=requestAnimationFrame(()=>{const{from:t,to:n,min:o,max:r}=this.props,i=this._getNewPosition(e),a=1===this._detectPointerMode(e),l=a?(0,E.clamp)(i,o,n):t,s=a?n:(0,E.clamp)(i,t,r);l<=s&&this._handleChange(l,s),this._rafPosition=null}))},this._handleDragStop=()=>{null!==this._rafDragStop||this.props.disabled||(this._rafDragStop=requestAnimationFrame(()=>{this.setState({pointerDragMode:0}),this._rafDragStop=null,this.props.onCommit()}))},this._onSliderClick=e=>{S.CheckMobile.any()||(this._handlePosition(e.nativeEvent),this._dragSubscribe())},this._mouseUp=e=>{this._dragUnsubscribe(),this._handlePosition(e),this._handleDragStop()},this._mouseMove=e=>{this._handlePosition(e)},this._onTouchStart=e=>{this._handlePosition(e.nativeEvent.touches[0])},this._handleTouch=e=>{this._handlePosition(e.nativeEvent.touches[0])},this._handleTouchEnd=()=>{this._handleDragStop()},this.state={pointerDragMode:0}}componentWillUnmount(){null!==this._rafPosition&&(cancelAnimationFrame(this._rafPosition),this._rafPosition=null),null!==this._rafDragStop&&(cancelAnimationFrame(this._rafDragStop),this._rafDragStop=null),this._dragUnsubscribe()}render(){const{className:e,disabled:t,from:n,to:r,min:i,max:a}=this.props,{pointerDragMode:l}=this.state,s=0!==l,d=a-i,u=0===d?i:(n-i)/d,p=0===d?a:(r-i)/d,m=(0,Oe.isRtl)()?"right":"left";return o.createElement("div",{className:c(e,He.range,t&&He.disabled)},o.createElement("div",{className:He.rangeSlider,ref:this._refContainer,onMouseDown:this._onSliderClick,onTouchStart:this._onTouchStart,onTouchMove:this._handleTouch,onTouchEnd:this._handleTouchEnd},o.createElement("div",{className:He.rangeSliderMiddleWrap},o.createElement("div",{className:c(He.rangeSliderMiddle,s&&He.dragged),style:{[m]:100*u+"%",width:100*(p-u)+"%"}})),o.createElement("div",{ +className:He.rangePointerWrap},o.createElement("div",{className:c(He.pointer,s&&He.dragged),style:{[m]:100*u+"%"},ref:this._refPointer})),o.createElement("div",{className:He.rangePointerWrap},o.createElement("div",{className:c(He.pointer,s&&He.dragged),style:{[m]:100*p+"%"}}))))}_dragSubscribe(){const e=(0,v.ensureNotNull)(this._container).ownerDocument;e&&(e.addEventListener("mouseup",this._mouseUp),e.addEventListener("mousemove",this._mouseMove))}_dragUnsubscribe(){const e=(0,v.ensureNotNull)(this._container).ownerDocument;e&&(e.removeEventListener("mousemove",this._mouseMove),e.removeEventListener("mouseup",this._mouseUp))}_getNewPosition(e){const{min:t,max:n}=this.props,o=n-t,r=(0,v.ensureNotNull)(this._container),i=(0,v.ensureNotNull)(this._pointer),a=r.getBoundingClientRect(),l=i.offsetWidth;let s=e.clientX-l/2-a.left;return(0,Oe.isRtl)()&&(s=a.width-s-l),(0,E.clamp)(s/(a.width-l),0,1)*o+t}_detectPointerMode(e){const{from:t,to:n}=this.props,{pointerDragMode:o}=this.state;if(0!==o)return o;const r=this._getNewPosition(e),i=Math.abs(t-r),a=Math.abs(n-r),l=i===a?ro.createElement(Q,{breakPoint:"Medium"},o.createElement(o.Fragment,null,o.createElement("span",{className:Je.valueInput},o.createElement(D,{className:Je.input,sharedBuffer:M,min:w,max:g(_)?y:_,step:1,disabled:B,name:"from-input",mode:"integer",defaultValue:w}),e?o.createElement("span",{className:Je.rangeSlider},"—"):o.createElement(Ye,{className:d()(Je.rangeSlider,R&&Je.rangeSlider_mixed),from:R?w:z,to:R?y:_,min:w,max:y,onChange:I,onCommit:L,disabled:B}))),o.createElement(o.Fragment,null,o.createElement("span",{className:Je.valueInput},o.createElement(D,{className:Je.input,sharedBuffer:V,min:g(z)?w:z,max:y,step:1,disabled:B,name:"to-input",mode:"integer",defaultValue:y})))))}()));function I(e,t){k(Math.round(e)),A(Math.round(t))}function L(){F.flushed||(P(),T(),F.flushed=!0)}}var qe=n(46358),Xe=n(96021),Qe=n(25169);function Ze(e){ +const{definitions:t,name:n,offset:r}=e;return o.createElement(ke.PropertyTable.Row,null,o.createElement(ke.PropertyTable.Cell,{className:d()(Qe.cell,Qe.fragmentCell),offset:r,placement:"first",verticalAlign:"adaptive",colSpan:2,"data-section-name":n,checkableTitle:!0},t.map(e=>o.createElement("div",{className:Qe.item,key:e.id,"data-section-name":e.id},o.createElement(et,{definition:e})))))}function $e(e){const{definition:t,offset:n}=e;return o.createElement(ke.PropertyTable.Row,null,o.createElement(ke.PropertyTable.Cell,{className:Qe.cell,offset:n,placement:"first",verticalAlign:"adaptive",colSpan:2,checkableTitle:!0},o.createElement(et,{definition:t})))}function et(e){const{definition:{id:t,properties:{disabled:n,checked:r,color:i,level:l,width:s,style:c},title:p,widthValues:h,styleValues:f}}=e,[v]=(0,a.useDefinitionProperty)({property:r,defaultValue:!0}),[g]=(0,a.useDefinitionProperty)({property:n,defaultValue:!1}),b=g||!v;return o.createElement(o.Fragment,null,o.createElement(Xe.CheckableTitle,{name:"is-enabled-"+t,className:d()(p&&Qe.withTitle),title:p&&o.createElement("span",{className:Qe.title},p),property:r,disabled:g}),l&&o.createElement(x,{className:d()(Qe.input,Qe.control),property:l,disabled:b}),i&&o.createElement(I,{className:Qe.control,disabled:b,color:i,thickness:s,thicknessItems:h}),c&&o.createElement(m,{id:(0,u.createDomId)(t,"leveled-line-style-select"),className:Qe.control,property:c,disabled:b,allowedLineStyles:f}))}var tt=n(33739);function nt(e){const{definition:{id:t,properties:{option1:n,option2:r,checked:i,disabled:s},title:c,optionsItems1:d,optionsItems2:p},offset:m}=e,[h]=(0,a.useDefinitionProperty)({property:i,defaultValue:!0}),[f]=(0,a.useDefinitionProperty)({property:s,defaultValue:!1}),v=e.disabled||!h;return o.createElement(l.CommonSection,{id:t,offset:m,checked:i,title:c,disabled:e.disabled||f},o.createElement(Q,{className:tt.twoOptions},o.createElement(ie,{id:(0,u.createDomId)(t,"two-options-dropdown-1"),"data-name":"two-options-dropdown-1",className:tt.dropdown,menuClassName:tt.menu,property:n,disabled:v,options:d}),o.createElement(ie,{id:(0,u.createDomId)(t,"two-options-dropdown-2"),"data-name":"two-options-dropdown-2",className:tt.dropdown,menuClassName:tt.menu,property:r,disabled:v,options:p})))}var ot=n(37850),rt=n(64222),it=n(1529);var at=n(7621);function lt(e){const{tab:t,icon:n,isActive:r,onTabClick:i}=e;return o.createElement("div",{className:d()(at.wrapper,r&&at.isActive),onClick:function(){i(t)}},o.createElement(xe.Icon,{icon:n}))}var st=n(45730);function ct(e){const{activeTab:t,emojis:n,onTabClick:r}=e;return o.createElement("div",{className:st.wrapper},n.map(({title:e,icon:n})=>o.createElement(lt,{key:e,tab:e,icon:n,isActive:t===e,onTabClick:r})))}var dt=n(33093),ut=n(23087);function pt(e){const{title:t}=e;return o.createElement("div",{className:ut.wrapper},t)}var mt=n(28994),ht=n(80528);const ft=34;function vt(e){const{className:t,emoji:n,size:r=ft,onClick:i}=e,a=(0,mt.getTwemojiUrl)(n,"png");return o.createElement("div",{className:d()(ht.wrapper,t),style:{width:r, +height:r},onClick:function(){i(n)}},o.createElement("img",{className:ht.emoji,src:a,decoding:"async",width:"24",height:"24",alt:"",draggable:!1,onContextMenu:function(e){e.preventDefault()}}))}var gt=n(22669);const bt=o.memo(e=>{const{emojis:t,itemSize:n,onEmojiClick:r}=e;return o.createElement("div",{className:gt.wrapper},t.map(e=>o.createElement(vt,{key:e,className:gt.emojiItem,emoji:e,size:n,onClick:r})))});var wt=n(86615),yt=n(36843);const Et=o.createContext(null);function Ct(e){const{listRef:t,emojiGroups:n,emojiSize:r,onSelect:i,onContentRendered:a}=e;(0,o.useEffect)(()=>{var e;return null===(e=t.current)||void 0===e?void 0:e.resetAfterIndex(0,!0)},[n]);const l=(0,o.useCallback)(e=>"title"===n[e].type?30:38,[n]),s=(0,o.useCallback)(({visibleStartIndex:e})=>{const{relatedTitle:t}=n[e];a(t)},[n,a]);return o.createElement(Et.Provider,{value:(0,o.useMemo)(()=>({size:r,onSelect:i}),[r,i])},o.createElement(dt.VariableSizeList,{className:yt.list,ref:t,width:"100%",height:Math.min(330,window.innerHeight-60),itemData:n,itemCount:n.length,children:St,onItemsRendered:s,itemSize:l}))}const St=o.memo(e=>{const{style:t,index:n,data:r}=e,i=r[n],{size:a,onSelect:l}=(0,wt.useEnsuredContext)(Et);return"title"===i.type?o.createElement("div",{style:t},o.createElement(pt,{title:i.relatedTitle})):o.createElement("div",{style:t},o.createElement(bt,{emojis:i.content,itemSize:a,onEmojiClick:l}))});var xt=n(80663);function Dt(e){var t;const{className:n,emojis:r,onSelect:i}=e,a=(0,o.useRef)(null),[l,s]=(0,o.useState)(0),c=(0,o.useMemo)(()=>function(e,t){if(0===t)return[];const n=[];return e.forEach(({title:e,emojis:o})=>{n.push({type:"title",relatedTitle:e,content:[e]});let r=[];for(const i of o)r.length{n.current=e,null!==r.current&&(r.current.disconnect(),null!==e&&r.current.observe(e))},[n,r]);return(0,o.useEffect)(()=>(r.current=new it.default((e,t)=>i.current(e,t)),n.current&&a(n.current),()=>{var e;null===(e=r.current)||void 0===e||e.disconnect()}),[n,...t]),a}((function(e){const[t]=e,{width:n}=t.contentRect,o=Math.floor((n-12)/38);s(o)})),[p,m]=(0,o.useState)((null===(t=c[0])||void 0===t?void 0:t.relatedTitle)||"");return o.createElement("div",{className:d()(xt.wrapper,n)},o.createElement(ct,{emojis:r,activeTab:p,onTabClick:function(e){!function(e){var t;null===(t=a.current)||void 0===t||t.scrollToItem(e,"start"),requestAnimationFrame(()=>{var t;return null===(t=a.current)||void 0===t?void 0:t.scrollToItem(e,"start")})}(function(e){return c.findIndex(({relatedTitle:t,type:n})=>"title"===n&&t===e)}(e))}}),o.createElement("div",{ref:u},o.createElement(Ct,{listRef:a,emojiGroups:c,emojiSize:38,onSelect:i,onContentRendered:m})))}var Nt=n(15530),Mt=n(33040),zt=n(86106),kt=n(34742),Pt=n(28185),Vt=n(34804),_t=n(36650),At=n(35950),Tt=n(71770);const Rt=[{title:(0, +L.t)("recently used",{context:"emoji_group"}),emojis:[],icon:Nt},{title:(0,L.t)("smiles & people",{context:"emoji_group"}),emojis:["😀","😃","😄","😁","😆","😅","😂","🤣","☺️","😊","😇","🙂","🙃","😉","😌","😍","🥰","😘","😗","😙","😚","😋","😛","😝","😜","🤪","🤨","🧐","🤓","😎","🤩","🥳","😏","😒","😞","😔","😟","😕","🙁","☹️","😣","😖","😫","😩","🥺","😢","😭","😤","😠","😡","🤬","🤯","😳","🥵","🥶","😱","😨","😰","😥","😓","🤗","🤔","🤭","🤫","🤥","😶","😐","😑","😬","🙄","😯","😦","😧","😮","😲","🥱","😴","🤤","😪","😵","🤐","🥴","🤢","🤮","🤧","😷","🤒","🤕","🤑","🤠","😈","👿","👹","👺","🤡","💩","👻","💀","☠️","👽","👾","🤖","🎃","😺","😸","😹","😻","😼","😽","🙀","😿","😾","👋","🤚","🖐","✋","🖖","👌","🤏","✌️","🤞","🤟","🤘","🤙","👈","👉","👆","🖕","👇","☝️","👍","👎","✊","👊","🤛","🤜","👏","🙌","👐","🤲","🤝","🙏","✍️","💅","🤳","💪","🦾","🦵","🦿","🦶","👂","🦻","👃","🧠","🦷","🦴","👀","👁","👅","👄","💋","🩸","👶","🧒","👦","👧","🧑","👱","👨","🧔","👨‍🦰","👨‍🦱","👨‍🦳","👨‍🦲","👩","👩‍🦰","🧑‍🦰","👩‍🦱","🧑‍🦱","👩‍🦳","🧑‍🦳","👩‍🦲","🧑‍🦲","👱‍♀️","👱‍♂️","🧓","👴","👵","🙍","🙍‍♂️","🙍‍♀️","🙎","🙎‍♂️","🙎‍♀️","🙅","🙅‍♂️","🙅‍♀️","🙆","🙆‍♂️","🙆‍♀️","💁","💁‍♂️","💁‍♀️","🙋","🙋‍♂️","🙋‍♀️","🧏","🧏‍♂️","🧏‍♀️","🙇","🙇‍♂️","🙇‍♀️","🤦","🤦‍♂️","🤦‍♀️","🤷","🤷‍♂️","🤷‍♀️","🧑‍⚕️","👨‍⚕️","👩‍⚕️","🧑‍🎓","👨‍🎓","👩‍🎓","🧑‍🏫","👨‍🏫","👩‍🏫","🧑‍⚖️","👨‍⚖️","👩‍⚖️","🧑‍🌾","👨‍🌾","👩‍🌾","🧑‍🍳","👨‍🍳","👩‍🍳","🧑‍🔧","👨‍🔧","👩‍🔧","🧑‍🏭","👨‍🏭","👩‍🏭","🧑‍💼","👨‍💼","👩‍💼","🧑‍🔬","👨‍🔬","👩‍🔬","🧑‍💻","👨‍💻","👩‍💻","🧑‍🎤","👨‍🎤","👩‍🎤","🧑‍🎨","👨‍🎨","👩‍🎨","🧑‍✈️","👨‍✈️","👩‍✈️","🧑‍🚀","👨‍🚀","👩‍🚀","🧑‍🚒","👨‍🚒","👩‍🚒","👮","👮‍♂️","👮‍♀️","🕵","🕵️‍♂️","🕵️‍♀️","💂","💂‍♂️","💂‍♀️","👷","👷‍♂️","👷‍♀️","🤴","👸","👳","👳‍♂️","👳‍♀️","👲","🧕","🤵","👰","🤰","🤱","👼","🎅","🤶","🦸","🦸‍♂️","🦸‍♀️","🦹","🦹‍♂️","🦹‍♀️","🧙","🧙‍♂️","🧙‍♀️","🧚","🧚‍♂️","🧚‍♀️","🧛","🧛‍♂️","🧛‍♀️","🧜","🧜‍♂️","🧜‍♀️","🧝","🧝‍♂️","🧝‍♀️","🧞","🧞‍♂️","🧞‍♀️","🧟","🧟‍♂️","🧟‍♀️","💆","💆‍♂️","💆‍♀️","💇","💇‍♂️","💇‍♀️","🚶","🚶‍♂️","🚶‍♀️","🧍","🧍‍♂️","🧍‍♀️","🧎","🧎‍♂️","🧎‍♀️","🧑‍🦯","👨‍🦯","👩‍🦯","🧑‍🦼","👨‍🦼","👩‍🦼","🧑‍🦽","👨‍🦽","👩‍🦽","🏃","🏃‍♂️","🏃‍♀️","💃","🕺","🕴","👯","👯‍♂️","👯‍♀️","🧖","🧖‍♂️","🧖‍♀️","🧑‍🤝‍🧑","👭","👫","👬","💏","👨‍❤️‍💋‍👨","👩‍❤️‍💋‍👩","💑","👨‍❤️‍👨","👩‍❤️‍👩","👪","👨‍👩‍👦","👨‍👩‍👧","👨‍👩‍👧‍👦","👨‍👩‍👦‍👦","👨‍👩‍👧‍👧","👨‍👨‍👦","👨‍👨‍👧","👨‍👨‍👧‍👦","👨‍👨‍👦‍👦","👨‍👨‍👧‍👧","👩‍👩‍👦","👩‍👩‍👧","👩‍👩‍👧‍👦","👩‍👩‍👦‍👦","👩‍👩‍👧‍👧","👨‍👦","👨‍👦‍👦","👨‍👧","👨‍👧‍👦","👨‍👧‍👧","👩‍👦","👩‍👦‍👦","👩‍👧","👩‍👧‍👦","👩‍👧‍👧","🗣","👤","👥","👣"],icon:Mt},{title:(0,L.t)("animals & nature",{context:"emoji_group"}), +emojis:["🐶","🐱","🐭","🐹","🐰","🦊","🐻","🐼","🐨","🐯","🦁","🐮","🐷","🐽","🐸","🐵","🙈","🙉","🙊","🐒","🐔","🐧","🐦","🐤","🐣","🐥","🦆","🦅","🦉","🦇","🐺","🐗","🐴","🦄","🐝","🐛","🦋","🐌","🐞","🐜","🦟","🦗","🕷","🕸","🦂","🐢","🐍","🦎","🦖","🦕","🐙","🦑","🦐","🦞","🦀","🐡","🐠","🐟","🐬","🐳","🐋","🦈","🐊","🐅","🐆","🦓","🦍","🦧","🐘","🦛","🦏","🐪","🐫","🦒","🦘","🐃","🐂","🐄","🐎","🐖","🐏","🐑","🦙","🐐","🦌","🐕","🐩","🦮","🐕‍🦺","🐈","🐓","🦃","🦚","🦜","🦢","🦩","🕊","🐇","🦝","🦨","🦡","🦦","🦥","🐁","🐀","🐿","🦔","🐾","🐉","🐲","🌵","🎄","🌲","🌳","🌴","🌱","🌿","☘️","🍀","🎍","🎋","🍃","🍂","🍁","🍄","🐚","🌾","💐","🌷","🌹","🥀","🌺","🌸","🌼","🌻","🌞","🌝","🌛","🌜","🌚","🌕","🌖","🌗","🌘","🌑","🌒","🌓","🌔","🌙","🌎","🌍","🌏","🪐","💫","⭐️","🌟","✨","⚡️","☄️","💥","🔥","🌪","🌈","☀️","🌤","⛅️","🌥","☁️","🌦","🌧","⛈","🌩","🌨","❄️","☃️","⛄️","🌬","💨","💧","💦","☔️","🌊","🌫"],icon:zt},{title:(0,L.t)("food & drink",{context:"emoji_group"}),emojis:["🍏","🍎","🍐","🍊","🍋","🍌","🍉","🍇","🍓","🍈","🍒","🍑","🥭","🍍","🥥","🥝","🍅","🍆","🥑","🥦","🥬","🥒","🌶","🌽","🥕","🧄","🧅","🥔","🍠","🥐","🥯","🍞","🥖","🥨","🧀","🥚","🍳","🧈","🥞","🧇","🥓","🥩","🍗","🍖","🌭","🍔","🍟","🍕","🥪","🥙","🧆","🌮","🌯","🥗","🥘","🥫","🍝","🍜","🍲","🍛","🍣","🍱","🥟","🦪","🍤","🍙","🍚","🍘","🍥","🥠","🥮","🍢","🍡","🍧","🍨","🍦","🥧","🧁","🍰","🎂","🍮","🍭","🍬","🍫","🍿","🍩","🍪","🌰","🥜","🍯","🥛","🍼","☕️","🍵","🧃","🥤","🍶","🍺","🍻","🥂","🍷","🥃","🍸","🍹","🧉","🍾","🧊","🥄","🍴","🍽","🥣","🥡","🥢","🧂"],icon:kt},{title:(0,L.t)("activity",{context:"emoji_group"}),emojis:["⚽️","🏀","🏈","⚾️","🥎","🎾","🏐","🏉","🥏","🎱","🪀","🏓","🏸","🏒","🏑","🥍","🏏","🥅","⛳️","🪁","🏹","🎣","🤿","🥊","🥋","🎽","🛹","🛷","⛸","🥌","🎿","⛷","🏂","🪂","🏋️","🏋️‍♂️","🏋️‍♀️","🤼","🤼‍♂️","🤼‍♀️","🤸‍♀️","🤸","🤸‍♂️","⛹️","⛹️‍♂️","⛹️‍♀️","🤺","🤾","🤾‍♂️","🤾‍♀️","🏌️","🏌️‍♂️","🏌️‍♀️","🏇","🧘","🧘‍♂️","🧘‍♀️","🏄","🏄‍♂️","🏄‍♀️","🏊","🏊‍♂️","🏊‍♀️","🤽","🤽‍♂️","🤽‍♀️","🚣","🚣‍♂️","🚣‍♀️","🧗","🧗‍♂️","🧗‍♀️","🚵","🚵‍♂️","🚵‍♀️","🚴","🚴‍♂️","🚴‍♀️","🏆","🥇","🥈","🥉","🏅","🎖","🏵","🎗","🎫","🎟","🎪","🤹","🤹‍♂️","🤹‍♀️","🎭","🎨","🎬","🎤","🎧","🎼","🎹","🥁","🎷","🎺","🎸","🪕","🎻","🎲","🎯","🎳","🎮","🎰","🧩"],icon:Pt},{title:(0,L.t)("travel & places",{context:"emoji_group"}),emojis:["🚗","🚕","🚙","🚌","🚎","🏎","🚓","🚑","🚒","🚐","🚚","🚛","🚜","🦯","🦽","🦼","🛴","🚲","🛵","🏍","🛺","🚨","🚔","🚍","🚘","🚖","🚡","🚠","🚟","🚃","🚋","🚞","🚝","🚄","🚅","🚈","🚂","🚆","🚇","🚊","🚉","✈️","🛫","🛬","🛩","💺","🛰","🚀","🛸","🚁","🛶","⛵️","🚤","🛥","🛳","⛴","🚢","⚓️","⛽️","🚧","🚦","🚥","🚏","🗺","🗿","🗽","🗼","🏰","🏯","🏟","🎡","🎢","🎠","⛲️","⛱","🏖","🏝","🏜","🌋","⛰","🏔","🗻","🏕","⛺️","🏠","🏡","🏘","🏚","🏗","🏭","🏢","🏬","🏣","🏤","🏥","🏦","🏨","🏪","🏫","🏩","💒","🏛","⛪️","🕌","🕍","🛕","🕋","⛩","🛤","🛣","🗾","🎑","🏞","🌅","🌄","🌠","🎇","🎆","🌇","🌆","🏙","🌃","🌌","🌉","🌁"],icon:Vt},{title:(0,L.t)("objects",{context:"emoji_group"}), +emojis:["⌚️","📱","📲","💻","⌨️","🖥","🖨","🖱","🖲","🕹","🗜","💽","💾","💿","📀","📼","📷","📸","📹","🎥","📽","🎞","📞","☎️","📟","📠","📺","📻","🎙","🎚","🎛","🧭","⏱","⏲","⏰","🕰","⌛️","⏳","📡","🔋","🔌","💡","🔦","🕯","🪔","🧯","🛢","💸","💵","💴","💶","💷","💰","💳","💎","⚖️","🧰","🔧","🔨","⚒","🛠","⛏","🔩","⚙️","🧱","⛓","🧲","🔫","💣","🧨","🪓","🔪","🗡","⚔️","🛡","🚬","⚰️","⚱️","🏺","🔮","📿","🧿","💈","⚗️","🔭","🔬","🕳","🩹","🩺","💊","💉","🧬","🦠","🧫","🧪","🌡","🧹","🧺","🧻","🚽","🚰","🚿","🛁","🛀","🧼","🪒","🧽","🧴","🛎","🔑","🗝","🚪","🪑","🛋","🛏","🛌","🧸","🖼","🛍","🛒","🎁","🎈","🎏","🎀","🎊","🎉","🎎","🏮","🎐","🧧","✉️","📩","📨","📧","💌","📥","📤","📦","🏷","📪","📫","📬","📭","📮","📯","📜","📃","📄","📑","🧾","📊","📈","📉","🗒","🗓","📆","📅","🗑","📇","🗃","🗳","🗄","📋","📁","📂","🗂","🗞","📰","📓","📔","📒","📕","📗","📘","📙","📚","📖","🔖","🧷","🔗","📎","🖇","📐","📏","🧮","📌","📍","✂️","🖊","🖋","✒️","🖌","🖍","📝","✏️","🔍","🔎","🔏","🔐","🔒","🔓","🧳","🌂","☂️","🧵","🧶","👓","🕶","🥽","🥼","🦺","👔","👕","👖","🧣","🧤","🧥","🧦","👗","👘","🥻","🩱","🩲","🩳","👙","👚","👛","👜","👝","🎒","👞","👟","🥾","🥿","👠","👡","🩰","👢","👑","👒","🎩","🎓","🧢","⛑","💄","💍","💼"],icon:_t},{title:(0,L.t)("symbols",{context:"emoji_group"}),emojis:["❤️","🧡","💛","💚","💙","💜","🖤","🤍","🤎","💔","❣️","💕","💞","💓","💗","💖","💘","💝","💟","☮️","✝️","☪️","🕉","☸️","✡️","🔯","🕎","☯️","☦️","🛐","⛎","♈️","♉️","♊️","♋️","♌️","♍️","♎️","♏️","♐️","♑️","♒️","♓️","🆔","⚛️","🉑","☢️","☣️","📴","📳","🈶","🈚️","🈸","🈺","🈷️","✴️","🆚","💮","🉐","㊙️","㊗️","🈴","🈵","🈹","🈲","🅰️","🅱️","🆎","🆑","🅾️","🆘","❌","⭕️","🛑","⛔️","📛","🚫","💯","💢","♨️","🚷","🚯","🚳","🚱","🔞","📵","🚭","❗️","❕","❓","❔","‼️","⁉️","🔅","🔆","〽️","⚠️","🚸","🔱","⚜️","🔰","♻️","✅","🈯️","💹","❇️","✳️","❎","🌐","💠","Ⓜ️","🌀","💤","🏧","🚾","♿️","🅿️","🈳","🈂️","🛂","🛃","🛄","🛅","🚹","🚺","🚼","🚻","🚮","🎦","📶","🈁","🔣","ℹ️","🔤","🔡","🔠","🆖","🆗","🆙","🆒","🆕","🆓","0️⃣","1️⃣","2️⃣","3️⃣","4️⃣","5️⃣","6️⃣","7️⃣","8️⃣","9️⃣","🔟","🔢","#️⃣","*️⃣","⏏️","▶️","⏸","⏯","⏹","⏺","⏭","⏮","⏩","⏪","⏫","⏬","◀️","🔼","🔽","➡️","⬅️","⬆️","⬇️","↗️","↘️","↙️","↖️","↕️","↔️","↪️","↩️","⤴️","⤵️","🔀","🔁","🔂","🔄","🔃","🎵","🎶","➕","➖","➗","✖️","♾","💲","💱","™️","©️","®️","〰️","➰","➿","🔚","🔙","🔛","🔝","🔜","✔️","☑️","🔘","🔴","🟠","🟡","🟢","🔵","🟣","⚫️","⚪️","🟤","🔺","🔻","🔸","🔹","🔶","🔷","🔳","🔲","▪️","▫️","◾️","◽️","◼️","◻️","🟥","🟧","🟨","🟩","🟦","🟪","⬛️","⬜️","🟫","🔈","🔇","🔉","🔊","🔔","🔕","📣","📢","👁‍🗨","💬","💭","🗯","♠️","♣️","♥️","♦️","🃏","🎴","🀄️","🕐","🕑","🕒","🕓","🕔","🕕","🕖","🕗","🕘","🕙","🕚","🕛","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧"],icon:At},{title:(0,L.t)("flags",{context:"emoji_group"}), +emojis:["🏳️","🏴","🏁","🚩","🏳️‍🌈","🏴‍☠️","🇦🇫","🇦🇽","🇦🇱","🇩🇿","🇦🇸","🇦🇩","🇦🇴","🇦🇮","🇦🇶","🇦🇬","🇦🇷","🇦🇲","🇦🇼","🇦🇺","🇦🇹","🇦🇿","🇧🇸","🇧🇭","🇧🇩","🇧🇧","🇧🇾","🇧🇪","🇧🇿","🇧🇯","🇧🇲","🇧🇹","🇧🇴","🇧🇦","🇧🇼","🇧🇷","🇮🇴","🇻🇬","🇧🇳","🇧🇬","🇧🇫","🇧🇮","🇰🇭","🇨🇲","🇨🇦","🇮🇨","🇨🇻","🇧🇶","🇰🇾","🇨🇫","🇹🇩","🇨🇱","🇨🇳","🇨🇽","🇨🇨","🇨🇴","🇰🇲","🇨🇬","🇨🇩","🇨🇰","🇨🇷","🇨🇮","🇭🇷","🇨🇺","🇨🇼","🇨🇾","🇨🇿","🇩🇰","🇩🇯","🇩🇲","🇩🇴","🇪🇨","🇪🇬","🇸🇻","🇬🇶","🇪🇷","🇪🇪","🇪🇹","🇪🇺","🇫🇰","🇫🇴","🇫🇯","🇫🇮","🇫🇷","🇬🇫","🇵🇫","🇹🇫","🇬🇦","🇬🇲","🇬🇪","🇩🇪","🇬🇭","🇬🇮","🇬🇷","🇬🇱","🇬🇩","🇬🇵","🇬🇺","🇬🇹","🇬🇬","🇬🇳","🇬🇼","🇬🇾","🇭🇹","🇭🇳","🇭🇰","🇭🇺","🇮🇸","🇮🇳","🇮🇩","🇮🇷","🇮🇶","🇮🇪","🇮🇲","🇮🇱","🇮🇹","🇯🇲","🇯🇵","🎌","🇯🇪","🇯🇴","🇰🇿","🇰🇪","🇰🇮","🇽🇰","🇰🇼","🇰🇬","🇱🇦","🇱🇻","🇱🇧","🇱🇸","🇱🇷","🇱🇾","🇱🇮","🇱🇹","🇱🇺","🇲🇴","🇲🇰","🇲🇬","🇲🇼","🇲🇾","🇲🇻","🇲🇱","🇲🇹","🇲🇭","🇲🇶","🇲🇷","🇲🇺","🇾🇹","🇲🇽","🇫🇲","🇲🇩","🇲🇨","🇲🇳","🇲🇪","🇲🇸","🇲🇦","🇲🇿","🇲🇲","🇳🇦","🇳🇷","🇳🇵","🇳🇱","🇳🇨","🇳🇿","🇳🇮","🇳🇪","🇳🇬","🇳🇺","🇳🇫","🇰🇵","🇲🇵","🇳🇴","🇴🇲","🇵🇰","🇵🇼","🇵🇸","🇵🇦","🇵🇬","🇵🇾","🇵🇪","🇵🇭","🇵🇳","🇵🇱","🇵🇹","🇵🇷","🇶🇦","🇷🇪","🇷🇴","🇷🇺","🇷🇼","🇼🇸","🇸🇲","🇸🇦","🇸🇳","🇷🇸","🇸🇨","🇸🇱","🇸🇬","🇸🇽","🇸🇰","🇸🇮","🇬🇸","🇸🇧","🇸🇴","🇿🇦","🇰🇷","🇸🇸","🇪🇸","🇱🇰","🇧🇱","🇸🇭","🇰🇳","🇱🇨","🇵🇲","🇻🇨","🇸🇩","🇸🇷","🇸🇿","🇸🇪","🇨🇭","🇸🇾","🇹🇼","🇹🇯","🇹🇿","🇹🇭","🇹🇱","🇹🇬","🇹🇰","🇹🇴","🇹🇹","🇹🇳","🇹🇷","🇹🇲","🇹🇨","🇹🇻","🇻🇮","🇺🇬","🇺🇦","🇦🇪","🇬🇧","🏴󠁧󠁢󠁥󠁮󠁧󠁿","🏴󠁧󠁢󠁳󠁣󠁴󠁿","🏴󠁧󠁢󠁷󠁬󠁳󠁿","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇻🇺","🇻🇦","🇻🇪","🇻🇳","🇼🇫","🇪🇭","🇾🇪","🇿🇲","🇿🇼"],icon:Tt}];var Bt=n(76420),Ft=n(94004),It=n(57374),Lt=n(90901),Wt=n(4598);var jt=n(19330),Ut=n(72923),Ot=n(21078);function Ht(e){const{children:t,highlight:n,disabled:r,reference:i}=e,a=n?"primary":"default";return o.createElement("div",{ref:i,className:d()(Ot.wrapper,Ot["intent-"+a],Ot["border-thin"],Ot["size-medium"],n&&Ot.highlight,n&&Ot.focused,r&&Ot.disabled),"data-role":"button"},o.createElement("div",{className:d()(Ot.childrenContainer,r&&Ot.disabled)},t),n&&o.createElement("span",{className:Ot.shadow}))}var Yt=n(10125);const Gt=()=>null,Jt=(0,Wt.mergeThemes)(Lt.DEFAULT_MENU_THEME,{menuBox:Yt.menuBox});function Kt(e){const{value:t,disabled:n,onSelect:r}=e,i=(0,o.useRef)(null),{current:a}=(0,o.useRef)(rt.getJSON("RecentlyUsedEmojis",[t])),[l,s]=(0,o.useState)(a),[c,d]=(0,o.useState)(!1),u=(0,o.useCallback)(()=>d(!1),[]);var p;p=u,(0,o.useEffect)(()=>(document.addEventListener("scroll",p),()=>{document.removeEventListener("scroll",p)}),[p]);const m=(0,o.useCallback)(e=>{const t=Array.from(new Set([e,...l])).slice(0,18);rt.setJSON("RecentlyUsedEmojis",t),s(t),r(e),u()},[l,r]),h=(f=l,(0,o.useMemo)(()=>(Rt[0].emojis=f,[...Rt]),[f]));var f;return o.createElement(o.Fragment,null,o.createElement(Ht,{reference:i, +highlight:c,disabled:n},o.createElement(vt,{emoji:t,onClick:function(){n||d(!0)}})),o.createElement(Ge.MatchMedia,{rule:Ut.DialogBreakpoints.TabletSmall},e=>c&&o.createElement(Ft.DrawerManager,null,e?o.createElement(It.Drawer,{className:Yt.drawer,position:"Bottom",onClose:u},o.createElement(Dt,{emojis:h,onSelect:m})):o.createElement(Bt.PopupMenu,{theme:Jt,isOpened:!0,position:(0,jt.getPopupPositioner)(i.current,{horizontalDropDirection:jt.HorizontalDropDirection.FromLeftToRight,horizontalAttachEdge:jt.HorizontalAttachEdge.Left}),onClickOutside:u,onClose:Gt},o.createElement(Dt,{className:Yt.desktopSize,emojis:h,onSelect:m})))))}var qt=n(29174);function Xt(e){const{definition:{title:t,properties:n}}=e,{checked:r,emoji:i,backgroundColor:l}=n,[s,c]=(0,a.useDefinitionProperty)({property:r,defaultValue:!1}),[d,u]=(0,a.useDefinitionProperty)({property:i,defaultValue:"🙂"}),[p,m]=(0,a.useDefinitionProperty)({property:l,defaultValue:ue.colorsPalette["color-tv-blue-a600"]});return o.createElement("div",{className:qt.wrapper},o.createElement(ot.Checkbox,{className:qt.checkbox,label:t,checked:s,onChange:function(){c(!s)}}),o.createElement(Kt,{value:d,disabled:!s,onSelect:u}),o.createElement(B.ColorSelect,{className:qt.colorSelect,disabled:!s,color:p,onColorChange:m}))}function Qt(e){const{definition:t}=e;if(function(e){(0,o.useEffect)(()=>{if(void 0===e)return;const t={...e.properties};return Object.entries(t).forEach(([n,o])=>{void 0!==o&&o.subscribe(t,()=>Ue.logger.logNormal(`Property "${n}" in definition "${e.id}" was updated to value "${o.value()}"`))}),()=>{Object.entries(t).forEach(([,e])=>{void 0!==e&&e.unsubscribeAll(t)})}},[e])}((0,r.isPropertyDefinitionsGroup)(t)?void 0:t),(0,r.isPropertyDefinitionsGroup)(t)){const i=t.definitions;return o.createElement(o.Fragment,null,t.title&&o.createElement(qe.GroupTitleSection,{title:t.title,name:t.id}),i&&(n=i.value(),n.reduce((e,t)=>{if((0,r.isPropertyDefinitionsGroup)(t)||"leveledLine"!==t.propType)e.push(t);else{const n=e[e.length-1];Array.isArray(n)?n.push(t):e.push([t])}return e},[])).map(n=>Array.isArray(n)?o.createElement(Ze,{key:n[0].id,name:t.id,definitions:n}):o.createElement(Qt,{key:n.id,...e,definition:n})),"general"===t.groupType&&o.createElement(ke.PropertyTable.GroupSeparator,{size:1}))}switch(t.propType){case"line":return o.createElement(te,{...e,definition:t});case"checkable":return o.createElement(s,{...e,definition:t});case"color":return o.createElement(ce,{...e,definition:t});case"transparency":return o.createElement(fe,{...e,definition:t});case"twoColors":return o.createElement(ge,{...e,definition:t});case"number":return o.createElement(ye,{...e,definition:t});case"symbol":return o.createElement(i.SymbolInputsButton,{...e,definition:t});case"text":return o.createElement(Fe,{...e,definition:t});case"checkableSet":return o.createElement(Ee,{...e,definition:t});case"options":return o.createElement(je,{...e,definition:t});case"range":return o.createElement(Ke,{...e,definition:t});case"coordinates":return o.createElement(Le,{...e,definition:t});case"twoOptions": +return o.createElement(nt,{...e,definition:t});case"leveledLine":return o.createElement($e,{...e,definition:t});case"emoji":return o.createElement(Xt,{...e,definition:t});case"image":default:return null}var n}},94004:(e,t,n)=>{"use strict";n.d(t,{DrawerManager:()=>r,DrawerContext:()=>i});var o=n(67294);class r extends o.PureComponent{constructor(e){super(e),this._addDrawer=()=>{const e=this.state.currentDrawer+1;return this.setState({currentDrawer:e}),e},this._removeDrawer=()=>{const e=this.state.currentDrawer-1;return this.setState({currentDrawer:e}),e},this.state={currentDrawer:0}}render(){return o.createElement(i.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.currentDrawer}},this.props.children)}}const i=o.createContext(null)},57374:(e,t,n)=>{"use strict";n.d(t,{Drawer:()=>m});var o=n(67294),r=n(16282),i=n(94184),a=n(67891),l=n(75761),s=n(4735),c=n(94004),d=n(43367),u=n(94884),p=n(64526);function m(e){const{position:t="Bottom",onClose:n,children:m,className:h,theme:f=p}=e,v=(0,r.ensureNotNull)((0,o.useContext)(c.DrawerContext)),[g,b]=(0,o.useState)(0),w=(0,o.useRef)(null),y=(0,o.useContext)(u.CloseDelegateContext);return(0,o.useEffect)(()=>{const e=(0,r.ensureNotNull)(w.current);return e.focus({preventScroll:!0}),y.subscribe(v,n),(0,l.setFixedBodyState)(!0),d.CheckMobile.iOS()&&(0,a.disableBodyScroll)(e),b(v.addDrawer()),()=>{y.unsubscribe(v,n);const t=v.removeDrawer();d.CheckMobile.iOS()&&(0,a.enableBodyScroll)(e),0===t&&(0,l.setFixedBodyState)(!1)}},[]),o.createElement(s.Portal,null,o.createElement("div",{className:i(p.wrap,p["position"+t])},g===v.currentDrawer&&o.createElement("div",{className:p.backdrop,onClick:n}),o.createElement("div",{className:i(p.drawer,f.drawer,p["position"+t],h),ref:w,tabIndex:-1,"data-name":e["data-name"]},m)))}},19522:(e,t,n)=>{"use strict";n.d(t,{DisclosureMenu:()=>p});var o=n(67294),r=n(66364),i=n(41615),a=n(42998),l=n(98981),s=n(5862),c=n(22904),d=n(31722);const u={role:"listbox"},p=o.forwardRef((e,t)=>{const{id:n,tabIndex:p=0,listboxTabIndex:m=-1,disabled:h,highlight:f,intent:v,children:g,onClick:b,onFocus:w,onBlur:y,listboxAria:E=u,...C}=e,{isOpened:S,isFocused:x,highlight:D,intent:N,onOpen:M,close:z,toggle:k,buttonFocusBindings:P,onButtonClick:V,buttonRef:_,listboxRef:A}=(0,c.useDisclosureMenuControl)({disabled:h,intent:v,highlight:f,onFocus:w,onBlur:y,onClick:b}),T=void 0!==n?(0,i.createDomId)(n,"listbox"):void 0,R=(0,s.useKeyboardToggle)(k),B=(0,s.useKeyboardClose)(S,z);return o.createElement(l.DisclosureMenuView,{...C,...P,id:n,role:"button",tabIndex:h?-1:p,disabled:h,isOpened:S,isFocused:x,ref:(0,r.useMergedRefs)([_,t]),highlight:D,intent:N,onClose:z,onOpen:M,onClick:V,onKeyDown:function(e){const t=(0,a.hashFromEvent)(e);if(R(t)||B(t))return void e.preventDefault()},listboxAria:E,listboxId:T,listboxTabIndex:S?0:m,listboxReference:A,onListboxKeyDown:function(e){S&&27===(0,a.hashFromEvent)(e)&&(e.stopPropagation(),z())}},g,o.createElement("span",{className:d.invisibleFocusHandler,tabIndex:0,"aria-hidden":!0,onFocus:z}))}) +;p.displayName="DisclosureMenu"},14303:(e,t,n)=>{"use strict";n.d(t,{RemoveButton:()=>d});var o=n(79881),r=n(67294),i=n(94184),a=n(49775),l=n(36535),s=n(15169);const c={remove:(0,o.t)("Remove")};function d(e){const{className:t,isActive:n,onClick:o,title:d,hidden:u,"data-name":p="remove-button",...m}=e;return r.createElement(a.Icon,{...m,"data-name":p,className:i(s.button,"apply-common-tooltip",n&&s.active,u&&s.hidden,t),icon:l,onClick:o,title:d||c.remove})}},4598:(e,t,n)=>{"use strict";function o(e,t,n={}){const o=Object.assign({},t);for(const r of Object.keys(t)){const i=n[r]||r;i in e&&(o[r]=[e[i],t[r]].join(" "))}return o}function r(e,t,n={}){return Object.assign({},e,o(e,t,n))}n.d(t,{weakComposeClasses:()=>o,mergeThemes:()=>r})},22775:e=>{e.exports=''},36535:e=>{e.exports=''},88816:e=>{e.exports=''},74295:e=>{e.exports=''},4034:e=>{e.exports=''},47567:e=>{e.exports=''},6777:e=>{e.exports=''},86204:e=>{e.exports=''},2644:e=>{e.exports=''},28185:e=>{ +e.exports=''},86106:e=>{ +e.exports=''},71770:e=>{e.exports=''},34742:e=>{ +e.exports=''},36650:e=>{e.exports=''},15530:e=>{e.exports=''},33040:e=>{ +e.exports=''},35950:e=>{e.exports=''},34804:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/8680.a98f949c3d71bf32d2c7.js b/public/static/charting_library/bundles/8680.a98f949c3d71bf32d2c7.js new file mode 100644 index 0000000..958bf35 --- /dev/null +++ b/public/static/charting_library/bundles/8680.a98f949c3d71bf32d2c7.js @@ -0,0 +1,3 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[8680],{68680:(e,t,r)=>{function i(e,t){return{propType:"checkable",properties:e,...t}}function o(e,t,r){return{propType:"checkableSet",properties:e,childrenDefinitions:r,...t}}function n(e,t){return{propType:"color",properties:e,noAlpha:!1,...t}}r.d(t,{convertFromWVToDefinitionProperty:()=>W,convertToDefinitionProperty:()=>x,createCheckablePropertyDefinition:()=>i,createCheckableSetPropertyDefinition:()=>o,createColorPropertyDefinition:()=>n,createCoordinatesPropertyDefinition:()=>I,createEmojiPropertyDefinition:()=>O,createLeveledLinePropertyDefinition:()=>y,createLinePropertyDefinition:()=>u,createNumberPropertyDefinition:()=>v,createOptionsPropertyDefinition:()=>b,createPropertyDefinitionsGeneralGroup:()=>N,createPropertyDefinitionsLeveledLinesGroup:()=>_,createRangePropertyDefinition:()=>k,createSessionPropertyDefinition:()=>A,createSymbolPropertyDefinition:()=>z,createTextPropertyDefinition:()=>V,createTransparencyPropertyDefinition:()=>C,createTwoColorsPropertyDefinition:()=>w,createTwoOptionsPropertyDefinition:()=>T,destroyDefinitions:()=>Z,getColorDefinitionProperty:()=>K,getLockPriceScaleDefinitionProperty:()=>j,getPriceScaleSelectionStrategyDefinitionProperty:()=>G,getScaleRatioDefinitionProperty:()=>U,getSymbolDefinitionProperty:()=>Q,isPropertyDefinitionsGroup:()=>X});var s=r(71172),p=r(33420);const l=[p.LINESTYLE_SOLID,p.LINESTYLE_DOTTED,p.LINESTYLE_DASHED],c=[1,2,3,4],a=[s.LineEnd.Normal,s.LineEnd.Arrow];function u(e,t){const r={propType:"line",properties:e,...t};return void 0!==r.properties.style&&(r.styleValues=l),void 0!==r.properties.width&&(r.widthValues=c),void 0===r.properties.leftEnd&&void 0===r.properties.rightEnd||void 0!==r.endsValues||(r.endsValues=a),void 0!==r.properties.value&&void 0===r.valueType&&(r.valueType=1),r}const d=[p.LINESTYLE_SOLID,p.LINESTYLE_DOTTED,p.LINESTYLE_DASHED],f=[1,2,3,4];function y(e,t){const r={propType:"leveledLine",properties:e,...t};return void 0!==r.properties.style&&(r.styleValues=d),void 0!==r.properties.width&&(r.widthValues=f),r}function v(e,t){return{propType:"number",properties:e,type:1,...t}}function b(e,t){return{propType:"options",properties:e,...t}}function T(e,t){return{propType:"twoOptions",properties:e,...t}}var g=r(79881);const m=[{id:"bottom",value:"bottom",title:(0,g.t)("Top")},{id:"middle",value:"middle",title:(0,g.t)("Middle")},{id:"top",value:"top",title:(0,g.t)("Bottom")}],D=[{id:"left",value:"left",title:(0,g.t)("Left")},{id:"center",value:"center",title:(0,g.t)("Center")},{id:"right",value:"right",title:(0,g.t)("Right")}],P=[{id:"horizontal",value:"horizontal",title:(0,g.t)("Horizontal")},{id:"vertical",value:"vertical",title:(0,g.t)("Vertical")}],h=[10,11,12,14,16,20,24,28,32,40].map(e=>({title:String(e),value:e})),S=[1,2,3,4],E=(0,g.t)("Text alignment"),L=(0,g.t)("Text orientation");function V(e,t){const r={propType:"text",properties:e,...t,isEditable:t.isEditable||!1};return void 0!==r.properties.size&&void 0===r.sizeItems&&(r.sizeItems=h), +void 0!==r.properties.alignmentVertical&&void 0===r.alignmentVerticalItems&&(r.alignmentVerticalItems=m),void 0!==r.properties.alignmentHorizontal&&void 0===r.alignmentHorizontalItems&&(r.alignmentHorizontalItems=D),(r.alignmentVerticalItems||r.alignmentHorizontalItems)&&void 0===r.alignmentTitle&&(r.alignmentTitle=E),void 0!==r.properties.orientation&&(void 0===r.orientationItems&&(r.orientationItems=P),void 0===r.orientationTitle&&(r.orientationTitle=L)),void 0!==r.properties.borderWidth&&void 0===r.borderWidthItems&&(r.borderWidthItems=S),r}function w(e,t){return{propType:"twoColors",properties:e,noAlpha1:!1,noAlpha2:!1,...t}}function I(e,t){return{propType:"coordinates",properties:e,...t}}function k(e,t){return{propType:"range",properties:e,...t}}function C(e,t){return{propType:"transparency",properties:e,...t}}function z(e,t){return{propType:"symbol",properties:e,...t}}function A(e,t){return{propType:"session",properties:e,...t}}function O(e,t){return{propType:"emoji",properties:e,...t}}var H=r(32856),M=r.n(H);function N(e,t,r){return{id:t,title:r,groupType:"general",definitions:new(M())(e)}}function _(e,t,r){return{id:t,title:r,groupType:"leveledLines",definitions:new(M())(e)}}function Y(e,t,r){const i=new Map,o=void 0!==t?t[0]:e=>e,n=void 0!==t?void 0!==t[1]?t[1]:t[0]:e=>e,s={value:()=>o(e.value()),setValue:t=>{e.setValue(n(t))},subscribe:(t,r)=>{const o=e=>{r(s)};i.set(r,o),e.subscribe(t,o)},unsubscribe:(t,r)=>{const o=i.get(r);o&&(e.unsubscribe(t,o),i.delete(r))},unsubscribeAll:t=>{e.unsubscribeAll(t),i.clear()},destroy:()=>{null==r||r()}};return s}function x(e,t,r,i,o,n){const s=Y(t,i,n),p=void 0!==i?void 0!==i[1]?i[1]:i[0]:e=>e;return s.setValue=null!=o?o:i=>e.setProperty(t,p(i),r),s}function R(e,t){const r=new Map,i=void 0!==t?t[0]:e=>e,o=void 0!==t?void 0!==t[1]?t[1]:t[0]:e=>e,n={value:()=>i(e.value()),setValue:t=>{e.setValue(o(t))},subscribe:(t,i)=>{const o=()=>{i(n)};let s=r.get(t);void 0===s?(s=new Map,s.set(i,o),r.set(t,s)):s.set(i,o),e.subscribe(o)},unsubscribe:(t,i)=>{const o=r.get(t);if(void 0!==o){const t=o.get(i);void 0!==t&&(e.unsubscribe(t),o.delete(i))}},unsubscribeAll:t=>{const i=r.get(t);void 0!==i&&(i.forEach((t,r)=>{e.unsubscribe(t)}),i.clear())}};return n}function W(e,t,r,i){const o=R(t,i),n=void 0!==i?void 0!==i[1]?i[1]:i[0]:e=>e;return o.setValue=i=>e.setWatchedValue(t,n(i),r),o}function G(e,t){const r=Y(t);return r.setValue=t=>e.setPriceScaleSelectionStrategy(t),r}function j(e,t,r,i){const o=Y(t);return o.setValue=t=>{const o={lockScale:t};e.setPriceScaleMode(o,r,i)},o}function U(e,t,r,i){const o=Y(t,i);return o.setValue=i=>{e.setScaleRatioProperty(t,i,r)},o}var B=r(14563),F=r(50968),q=r(69881);function J(e,t){if((0,F.isHexColor)(e)){const r=(0,B.parseRgb)(e);return(0,B.rgbaToString)((0,B.rgba)(r,(100-t)/100))}return e}function K(e,t,r,i,o){let n;if(null!==r){n=function(e){const t=Y(e);return t.destroy=()=>{e.destroy()},t}((0,q.combineProperty)(J,t,r))}else n=Y(t,[()=>J(t.value(),0),e=>e]);return n.setValue=r=>{o&&e.beginUndoMacro(i),e.setProperty(t,r,i),o&&e.endUndoMacro()},n} +function Q(e,t,r,i,o,n){const s=[(p=r,l=t,e=>{const t=p(l);if(e===l.value()&&null!==t){const e=t.ticker||t.full_name;if(e)return e}return e}),e=>e];var p,l;const c=x(e,t,o,s);n&&(c.setValue=n);const a=new Map;c.subscribe=(e,r)=>{const i=e=>{r(c)};a.set(r,i),t.subscribe(e,i)},c.unsubscribe=(e,r)=>{const i=a.get(r);i&&(t.unsubscribe(e,i),a.delete(r))};const u={};return i.subscribe(u,()=>{a.forEach((e,t)=>{t(c)})}),c.destroy=()=>{i.unsubscribeAll(u),a.clear()},c}function X(e){return e.hasOwnProperty("groupType")}function Z(e){e.forEach(e=>{if(e.hasOwnProperty("propType")){Object.keys(e.properties).forEach(t=>{const r=e.properties[t];void 0!==r&&void 0!==r.destroy&&r.destroy()})}else Z(e.definitions.value())})}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.css b/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.css new file mode 100644 index 0000000..9e3ffed --- /dev/null +++ b/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.css @@ -0,0 +1 @@ +.scrollable-FNPZI_Xo{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-FNPZI_Xo{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-FNPZI_Xo{min-height:auto}}.scrollable-FNPZI_Xo::-webkit-scrollbar{height:5px;width:5px}.scrollable-FNPZI_Xo::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-FNPZI_Xo::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-FNPZI_Xo::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-FNPZI_Xo::-webkit-scrollbar-corner{display:none}.content-FNPZI_Xo{border-color:currentcolor #e0e3eb #e0e3eb;border-top:1px solid #e0e3eb;box-sizing:border-box;flex:1 1 auto;padding:24px 20px}html.theme-dark .content-FNPZI_Xo{border-color:#434651}.content-FNPZI_Xo .row-FNPZI_Xo{align-items:center;color:#131722;display:flex;margin-top:16px}html.theme-dark .content-FNPZI_Xo .row-FNPZI_Xo{color:#b2b5be}.content-FNPZI_Xo .row-FNPZI_Xo:first-child{margin-top:0}.content-FNPZI_Xo .row-FNPZI_Xo .title-FNPZI_Xo{display:flex;flex:none;line-height:21px;margin-right:20px;width:80px;word-break:break-word}.content-FNPZI_Xo .row-FNPZI_Xo .control-FNPZI_Xo{line-height:21px;width:100px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.rtl.css b/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.rtl.css new file mode 100644 index 0000000..1629fec --- /dev/null +++ b/public/static/charting_library/bundles/8856.15adfc3af04a9cdeadc5.rtl.css @@ -0,0 +1 @@ +.scrollable-FNPZI_Xo{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollable-FNPZI_Xo{scrollbar-color:#363a45 #0000}@media screen and (max-height:290px){.scrollable-FNPZI_Xo{min-height:auto}}.scrollable-FNPZI_Xo::-webkit-scrollbar{height:5px;width:5px}.scrollable-FNPZI_Xo::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollable-FNPZI_Xo::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollable-FNPZI_Xo::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-FNPZI_Xo::-webkit-scrollbar-corner{display:none}.content-FNPZI_Xo{border-color:currentcolor #e0e3eb #e0e3eb;border-top:1px solid #e0e3eb;box-sizing:border-box;flex:1 1 auto;padding:24px 20px}html.theme-dark .content-FNPZI_Xo{border-color:#434651}.content-FNPZI_Xo .row-FNPZI_Xo{align-items:center;color:#131722;display:flex;margin-top:16px}html.theme-dark .content-FNPZI_Xo .row-FNPZI_Xo{color:#b2b5be}.content-FNPZI_Xo .row-FNPZI_Xo:first-child{margin-top:0}.content-FNPZI_Xo .row-FNPZI_Xo .title-FNPZI_Xo{display:flex;flex:none;line-height:21px;margin-left:20px;width:80px;word-break:break-word}.content-FNPZI_Xo .row-FNPZI_Xo .control-FNPZI_Xo{line-height:21px;width:100px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.css b/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.css new file mode 100644 index 0000000..7b70f74 --- /dev/null +++ b/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.css @@ -0,0 +1 @@ +.childrenWrapper-th__KurO{align-items:center;cursor:default;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.container-th__KurO{display:flex;flex-direction:column;padding-top:8px}.wrap-2TpXRNRX{-webkit-backface-visibility:hidden;backface-visibility:hidden;break-inside:avoid;cursor:default;overflow:hidden}.wrap-2TpXRNRX.libAllExchange-2TpXRNRX{column-span:all}.container-2TpXRNRX{align-items:center;background-color:#fff;box-sizing:border-box;display:flex}html.theme-dark .container-2TpXRNRX{background-color:#1e222d}.container-2TpXRNRX .icon-2TpXRNRX,.container-2TpXRNRX .iconWrap-2TpXRNRX{align-items:center;display:flex;justify-content:center}.container-2TpXRNRX .title-2TpXRNRX{color:#131722;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .container-2TpXRNRX .title-2TpXRNRX{color:#b2b5be}.container-2TpXRNRX .title-2TpXRNRX .highlighted-2TpXRNRX,html.theme-dark .container-2TpXRNRX .title-2TpXRNRX .highlighted-2TpXRNRX{color:#90bff9}.container-2TpXRNRX .description-2TpXRNRX{color:#787b86;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container-2TpXRNRX.libAllExchange-2TpXRNRX{width:calc(50% - 2px)}@media screen and (max-width:479px){.container-2TpXRNRX.libAllExchange-2TpXRNRX{width:auto}}.container-2TpXRNRX.mobile-2TpXRNRX{height:52px}.container-2TpXRNRX.mobile-2TpXRNRX.allExchange-2TpXRNRX{height:40px}.container-2TpXRNRX.mobile-2TpXRNRX .iconWrap-2TpXRNRX{margin-left:2px;width:40px}.container-2TpXRNRX.mobile-2TpXRNRX .icon-2TpXRNRX{height:20px;width:20px}.container-2TpXRNRX.mobile-2TpXRNRX .title-2TpXRNRX{font-size:16px;line-height:24px}.container-2TpXRNRX.mobile-2TpXRNRX .description-2TpXRNRX{font-size:12px}.container-2TpXRNRX.desktop-2TpXRNRX{border-bottom:none;border-radius:4px;height:46px;padding-left:8px}.container-2TpXRNRX.desktop-2TpXRNRX.allExchange-2TpXRNRX{height:38px}.container-2TpXRNRX.desktop-2TpXRNRX .iconWrap-2TpXRNRX{margin-right:8px}.container-2TpXRNRX.desktop-2TpXRNRX .icon-2TpXRNRX{height:24px;width:24px}.container-2TpXRNRX.desktop-2TpXRNRX .allExchangesIcon-2TpXRNRX svg{height:20px;width:20px}.container-2TpXRNRX.desktop-2TpXRNRX .title-2TpXRNRX{font-size:14px;line-height:22px}.container-2TpXRNRX.desktop-2TpXRNRX .description-2TpXRNRX{font-size:12px;line-height:16px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-2TpXRNRX.desktop-2TpXRNRX:hover:not(.selected-2TpXRNRX){background-color:#f0f3fa}html.theme-dark .container-2TpXRNRX.desktop-2TpXRNRX:hover:not(.selected-2TpXRNRX){background-color:#2a2e39}}.container-2TpXRNRX.selected-2TpXRNRX,html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX{background-color:#2962ff}.container-2TpXRNRX.selected-2TpXRNRX .icon-2TpXRNRX{color:#fff}html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX .icon-2TpXRNRX{color:#d1d4dc}.container-2TpXRNRX.selected-2TpXRNRX .description-2TpXRNRX,.container-2TpXRNRX.selected-2TpXRNRX .title-2TpXRNRX{color:#fff}html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX .description-2TpXRNRX,html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX .title-2TpXRNRX{color:#d1d4dc}.container-2TpXRNRX.selected-2TpXRNRX .description-2TpXRNRX .highlighted-2TpXRNRX,html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX .description-2TpXRNRX .highlighted-2TpXRNRX{color:#90bff9}.titleWithoutDesc-2TpXRNRX{padding-bottom:8px;padding-top:8px}.textBlock-2TpXRNRX{display:flex;flex:0 1 auto;flex-direction:column;min-width:0}.bordered-2TpXRNRX{border-bottom:1px solid #f0f3fa}html.theme-dark .bordered-2TpXRNRX{border-bottom:1px solid #2a2e39}.container-oVVv2l_M{height:100%;overflow:hidden}.contentList-oVVv2l_M{overflow-y:auto;padding:6px 0}@media (pointer:fine){.contentList-oVVv2l_M{scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .contentList-oVVv2l_M{scrollbar-color:#363a45 #0000}.contentList-oVVv2l_M::-webkit-scrollbar{height:5px;width:5px}.contentList-oVVv2l_M::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .contentList-oVVv2l_M::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.contentList-oVVv2l_M::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.contentList-oVVv2l_M::-webkit-scrollbar-corner{display:none}}.contentListDesktop-oVVv2l_M{padding:16px 0}.exchangeItemsContainer-oVVv2l_M{margin-bottom:16px}.exchangeItemsContainer-oVVv2l_M:last-child{margin-bottom:0}.exchangeItemsContainerDesktop-oVVv2l_M{column-count:2;column-gap:4px;margin-bottom:24px;padding:0 12px}.exchangeItemsContainerDesktop-oVVv2l_M:last-child{margin-bottom:0}@media (max-width:479px){.exchangeItemsContainerDesktop-oVVv2l_M{column-count:1}}.groupTitleDesktop-oVVv2l_M{padding-left:20px}.emptyText-oVVv2l_M{color:#131722;font-size:16px;line-height:24px;margin:12px 20px;text-align:center}html.theme-dark .emptyText-oVVv2l_M{color:#b2b5be}.noResultsDesktop-oVVv2l_M{flex:1 0;overflow:auto;padding-bottom:54px;padding-top:24px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .noResultsDesktop-oVVv2l_M{scrollbar-color:#363a45 #0000}.noResultsDesktop-oVVv2l_M::-webkit-scrollbar{height:5px;width:5px}.noResultsDesktop-oVVv2l_M::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .noResultsDesktop-oVVv2l_M::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.noResultsDesktop-oVVv2l_M::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.noResultsDesktop-oVVv2l_M::-webkit-scrollbar-corner{display:none}.actions-3cho5KDh{align-items:center;display:flex;margin-right:9px;padding:0 5px;position:relative}.actions-3cho5KDh:before{background-color:var(--tv-color-platform-background,#e0e3eb);content:"";display:block;height:18px;left:0;position:absolute;width:1px}html.theme-dark .actions-3cho5KDh:before{background-color:var(--tv-color-platform-background,#2a2e39)}.actionButton-3cho5KDh{--tv-toolbar-explicit-hover-border-radius:4px;align-items:center;display:flex;height:26px;justify-content:center;width:26px}.bubble-3MTPKAgt{align-items:center;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-flex;flex:none;max-width:100%;outline:none;overflow:visible;position:relative}.bubble-3MTPKAgt:focus{outline:none}.bubble-3MTPKAgt:focus-visible{outline:none}.bubble-3MTPKAgt:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 10px);left:-5px;pointer-events:none;position:absolute;top:-5px;width:calc(100% + 10px);z-index:1}.bubble-3MTPKAgt:focus:after{display:block}.bubble-3MTPKAgt:focus-visible:after{display:block}.bubble-3MTPKAgt:focus:not(:focus-visible):after{display:none}.bubble-3MTPKAgt:after{border-color:#2962ffcc}.bubble-3MTPKAgt.animated-3MTPKAgt:after{display:block;opacity:0;transition:opacity .2s ease-in-out,visibility 0s ease-in-out .2s;visibility:hidden}.bubble-3MTPKAgt.animated-3MTPKAgt:focus:after{opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.bubble-3MTPKAgt.animated-3MTPKAgt:focus-visible:after{opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.bubble-3MTPKAgt.animated-3MTPKAgt:focus:not(:focus-visible):after{opacity:0;transition:opacity .2s ease-in-out,visibility 0s ease-in-out .2s;visibility:hidden}.bubble-3MTPKAgt .content-3MTPKAgt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble-3MTPKAgt.appearance-default-3MTPKAgt{background-color:#f0f3fa;border-color:#f0f3fa;color:#131722}html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt{background-color:#2a2e39;border-color:#2a2e39;color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt:hover{background-color:#e0e3eb;border-color:#e0e3eb}html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt:hover{background-color:#363a45;border-color:#363a45}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt{background-color:#2962ff;border-color:#2962ff;color:#fff}html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt{background-color:#2962ff;border-color:#2962ff;color:#fff}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt{background-color:#ff5252}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:hover{background-color:#f23645}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt{background-color:#2979ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:hover{background-color:#0c3299}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt{background-color:#4caf50}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:hover{background-color:#388e3c}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt{background-color:#ff9100}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:hover{background-color:#ef6c00}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt{background-color:#ab47bc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:hover{background-color:#7b1fa2}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt{background-color:#00e5ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:hover{background-color:#00b8d4}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt{background-color:#ff80ab}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:hover{background-color:#ec407a}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt{border-color:#ff5252}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:hover{border-color:#f23645}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt{border-color:#2979ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:hover{border-color:#0c3299}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt{border-color:#4caf50}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:hover{border-color:#388e3c}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt{border-color:#ff9100}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:hover{border-color:#ef6c00}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt{border-color:#ab47bc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:hover{border-color:#7b1fa2}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt{border-color:#00e5ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:hover{border-color:#00b8d4}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt{border-color:#ff80ab}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:hover{border-color:#ec407a}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:after{border-color:#ff5252cc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:after{border-color:#2979ffcc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:after{border-color:#4caf50cc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:after{border-color:#ff9100cc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:after{border-color:#ab47bccc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:after{border-color:#00e5ffcc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:after{border-color:#ff80abcc}.bubble-3MTPKAgt.appearance-text-3MTPKAgt{background-color:initial;border-color:#0000;color:#787b86}html.theme-dark .bubble-3MTPKAgt.appearance-text-3MTPKAgt{color:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-text-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-text-3MTPKAgt:hover{border-color:#787b86}}.bubble-3MTPKAgt.appearance-text-3MTPKAgt.active-3MTPKAgt{border-color:#2962ff;color:#2962ff}html.theme-dark .bubble-3MTPKAgt.appearance-text-3MTPKAgt.active-3MTPKAgt{border-color:#2962ff;color:#2962ff}.bubble-3MTPKAgt.fontSize-s-3MTPKAgt{font-size:14px;font-style:normal;font-weight:400;line-height:21px}.bubble-3MTPKAgt.fontSize-m-3MTPKAgt{font-size:16px;font-style:normal;font-weight:400;line-height:24px}.bubble-3MTPKAgt.size-m-3MTPKAgt{border-radius:14px;height:28px;padding:0 11px}.bubble-3MTPKAgt.size-m-3MTPKAgt:after{border-radius:18px}.bubble-3MTPKAgt.size-l-3MTPKAgt{border-radius:24px;height:48px;padding:0 23px}.bubble-3MTPKAgt.size-l-3MTPKAgt:after{border-radius:28px}.bubbles-by4sobff{-webkit-overflow-scrolling:touch;display:flex;flex:0 0 auto;overflow-x:auto;overflow-y:hidden;padding:4px 20px 12px;scrollbar-width:none}.bubbles-by4sobff.sb-scrollbar-wrap{display:none}.bubbles-by4sobff::-webkit-scrollbar{display:none;height:0;width:0}.bubbles-by4sobff::-webkit-scrollbar-thumb,.bubbles-by4sobff::-webkit-scrollbar-track{display:none}.bubbles-by4sobff::-webkit-scrollbar-corner{display:none}.bubbles-by4sobff.multiLine-by4sobff{flex-flow:wrap}.bubbles-by4sobff .bubble-by4sobff{cursor:default;margin:8px 8px 0 0}.bubbles-by4sobff .bubble-by4sobff:last-child{margin-right:0}.bubbles-by4sobff:after{content:"";display:flex;flex:0 0 auto;width:20px}.flagWrap-1Xy6iEIs{align-items:center;border-radius:4px;color:#2962ff;display:flex;justify-content:center;padding:3px}html.theme-dark .flagWrap-1Xy6iEIs{color:#2962ff}.flagWrap-1Xy6iEIs .icon-1Xy6iEIs{display:flex;height:20px;margin-right:4px;padding:4px;width:20px}.flagWrap-1Xy6iEIs .icon-1Xy6iEIs svg{height:20px;width:20px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.flagWrap-1Xy6iEIs:hover{background-color:#f0f3fa;color:#1e53e5}html.theme-dark .flagWrap-1Xy6iEIs:hover{background-color:#2a2e39;color:#1e53e5}.flagWrap-1Xy6iEIs:hover .caret-1Xy6iEIs{transform:translateY(2px)}}.title-1Xy6iEIs{white-space:nowrap}.caret-1Xy6iEIs{display:flex;height:18px;justify-content:center;width:18px}.wrap-1LtT-c03{display:contents}.item-1LtT-c03{height:40px;padding-right:24px}.item-1LtT-c03:first-child{min-width:0;padding-left:20px}.item-1LtT-c03:last-child{grid-column-start:span 3;padding-right:17px}.item-1LtT-c03,.wrap-1LtT-c03.small-1LtT-c03{align-items:center;background-color:#fff;display:flex;justify-content:space-between;position:sticky;top:-1px;z-index:1}html.theme-dark .item-1LtT-c03,html.theme-dark .wrap-1LtT-c03.small-1LtT-c03{background-color:#1e222d}.text-1LtT-c03{color:#787b86;font-size:11px;font-style:normal;font-weight:400;letter-spacing:.4px;line-height:16px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}html.theme-dark .text-1LtT-c03{color:#787b86}.exchange-1LtT-c03{font-size:14px;font-style:normal;font-weight:400;line-height:21px}.wrap-2WiKHt6t{contain:strict;cursor:default;height:100%;overflow:hidden;position:relative;z-index:0}.wrap-2WiKHt6t.watchlist-2WiKHt6t{padding-top:0}.wrap-2WiKHt6t.noFeed-2WiKHt6t{max-height:40px}.scrollContainer-2WiKHt6t{height:100%;margin-top:1px;overflow:auto;scroll-padding-top:40px}@media (pointer:fine){.scrollContainer-2WiKHt6t{scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollContainer-2WiKHt6t{scrollbar-color:#363a45 #0000}.scrollContainer-2WiKHt6t::-webkit-scrollbar{height:5px;width:5px}.scrollContainer-2WiKHt6t::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollContainer-2WiKHt6t::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollContainer-2WiKHt6t::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollContainer-2WiKHt6t::-webkit-scrollbar-corner{display:none}}.scrollContainer-2WiKHt6t.noFeed-2WiKHt6t{overflow:hidden}.listContainer-2WiKHt6t{align-items:center;box-sizing:border-box;display:grid;grid-template-columns:min-content 1fr min-content min-content;margin-top:-1px;max-width:100%;padding-bottom:6px}.listContainer-2WiKHt6t.multiLineItemsContainer-2WiKHt6t{display:block}@keyframes highlight-animation-theme-light-ZzQNZGNo{50%{background-color:#e3effd}}@keyframes highlight-animation-theme-dark-ZzQNZGNo{50%{background-color:#132042}}.itemRow-ZzQNZGNo{display:contents}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo{align-items:center;display:flex}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .cell-ZzQNZGNo{height:51px}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .itemInfoCell-ZzQNZGNo{flex:1 1 auto;padding-right:16px}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .description-ZzQNZGNo{justify-content:flex-start}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .symbolDescription-ZzQNZGNo{color:#787b86;font-size:12px;height:17px;line-height:17px;padding-right:0}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .flag-ZzQNZGNo{margin-left:8px}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .exchangeDescription-ZzQNZGNo{flex-direction:column-reverse}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .exchangeName-ZzQNZGNo,.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .marketType-ZzQNZGNo{text-align:right}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .exchangeName-ZzQNZGNo{margin:4px 0 0}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .marketType-ZzQNZGNo{line-height:17px}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .actionHandleWrap-ZzQNZGNo{align-items:flex-start}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .expandHandle-ZzQNZGNo{margin-top:8px}.itemRow-ZzQNZGNo.hover-ZzQNZGNo .cell-ZzQNZGNo{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.itemRow-ZzQNZGNo:hover .cell-ZzQNZGNo{background-color:#f0f3fa}}html.theme-dark .itemRow-ZzQNZGNo.hover-ZzQNZGNo .cell-ZzQNZGNo{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .itemRow-ZzQNZGNo:hover .cell-ZzQNZGNo{background-color:#2a2e39}}.itemRow-ZzQNZGNo.selected-ZzQNZGNo .cell-ZzQNZGNo{background-color:#bbd9fb}html.theme-dark .itemRow-ZzQNZGNo.selected-ZzQNZGNo .cell-ZzQNZGNo{background-color:#142e61}.itemRow-ZzQNZGNo.active-ZzQNZGNo .cell-ZzQNZGNo,html.theme-dark .itemRow-ZzQNZGNo.active-ZzQNZGNo .cell-ZzQNZGNo{background-color:#2962ff}.itemRow-ZzQNZGNo.highlighted-ZzQNZGNo .cell-ZzQNZGNo{animation-duration:1s;animation-iteration-count:1;animation-timing-function:ease}.itemRow-ZzQNZGNo.highlighted-ZzQNZGNo.light-ZzQNZGNo .cell-ZzQNZGNo{animation-name:highlight-animation-theme-light-ZzQNZGNo}.itemRow-ZzQNZGNo.highlighted-ZzQNZGNo.dark-ZzQNZGNo .cell-ZzQNZGNo{animation-name:highlight-animation-theme-dark-ZzQNZGNo}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.itemRow-ZzQNZGNo:hover .markedFlag-ZzQNZGNo{display:flex}}.itemRow-ZzQNZGNo .itemInfoCell-ZzQNZGNo{display:flex;overflow:hidden;padding-right:24px}.itemRow-ZzQNZGNo .itemInfoCell-ZzQNZGNo.offset-ZzQNZGNo{padding-left:8px}.itemRow-ZzQNZGNo .itemInfoCell-ZzQNZGNo .description-ZzQNZGNo{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.itemRow-ZzQNZGNo .descriptionCell-ZzQNZGNo{display:flex;min-width:0}.itemRow-ZzQNZGNo .descriptionCell-ZzQNZGNo.addition-ZzQNZGNo{grid-column:2/4}.itemRow-ZzQNZGNo .descriptionCell-ZzQNZGNo.addition-ZzQNZGNo+.exchangeCell-ZzQNZGNo{display:none}.itemRow-ZzQNZGNo .exchangeCell-ZzQNZGNo{align-items:center;display:flex;flex-shrink:0;justify-content:flex-end;overflow:hidden;padding-right:20px}@media screen and (max-width:428px){.itemRow-ZzQNZGNo .exchangeCell-ZzQNZGNo{max-width:104px}}.actionHandleWrap-ZzQNZGNo{align-items:center;display:flex;flex-shrink:0;width:20px}.actionHandleWrap-ZzQNZGNo .expandHandle-ZzQNZGNo{display:flex;height:18px;margin-left:2px;width:18px}.actionHandleWrap-ZzQNZGNo .expandHandle-ZzQNZGNo.expanded-ZzQNZGNo{transform:rotate(90deg)}.symbolDescription-ZzQNZGNo,.symbolTitle-ZzQNZGNo{color:#131722;text-transform:uppercase}html.theme-dark .symbolDescription-ZzQNZGNo,html.theme-dark .symbolTitle-ZzQNZGNo{color:#b2b5be}.symbolDescription-ZzQNZGNo.invalid-ZzQNZGNo,.symbolTitle-ZzQNZGNo.invalid-ZzQNZGNo,html.theme-dark .symbolDescription-ZzQNZGNo.invalid-ZzQNZGNo,html.theme-dark .symbolTitle-ZzQNZGNo.invalid-ZzQNZGNo{color:#f7525f}.symbolDescription-ZzQNZGNo em,.symbolTitle-ZzQNZGNo em{color:#2962ff;font-style:normal;font-weight:700}.symbolDescription-ZzQNZGNo.noDescription-ZzQNZGNo,.symbolTitle-ZzQNZGNo.noDescription-ZzQNZGNo{padding-top:1px}.highlightedText-ZzQNZGNo{font-weight:700}.symbolTitle-ZzQNZGNo{font-size:16px;line-height:24px}.symbolDescription-ZzQNZGNo{font-size:14px;line-height:39px;margin-right:auto;padding-right:24px}.exchangeDescription-ZzQNZGNo{display:flex;overflow:hidden}.flag-ZzQNZGNo{align-items:center;display:flex;flex-shrink:0}.flag-ZzQNZGNo .icon-ZzQNZGNo{display:flex;height:18px;width:18px}.exchangeName-ZzQNZGNo{color:#131722;font-size:14px;line-height:21px;margin:0 8px}html.theme-dark .exchangeName-ZzQNZGNo{color:#b2b5be}.marketType-ZzQNZGNo{color:#787b86;font-size:12px;line-height:21px}.exchangeName-ZzQNZGNo,.marketType-ZzQNZGNo{text-align:left}.exchangeName-ZzQNZGNo,.marketType-ZzQNZGNo,.symbolDescription-ZzQNZGNo,.symbolTitle-ZzQNZGNo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exchangeName-ZzQNZGNo.active-ZzQNZGNo,.marketType-ZzQNZGNo.active-ZzQNZGNo,.symbolDescription-ZzQNZGNo.active-ZzQNZGNo,.symbolTitle-ZzQNZGNo.active-ZzQNZGNo{color:#fff}html.theme-dark .exchangeName-ZzQNZGNo.active-ZzQNZGNo,html.theme-dark .marketType-ZzQNZGNo.active-ZzQNZGNo,html.theme-dark .symbolDescription-ZzQNZGNo.active-ZzQNZGNo,html.theme-dark .symbolTitle-ZzQNZGNo.active-ZzQNZGNo{color:#d1d4dc}.dataMode-ZzQNZGNo{color:#ab47bc;font-size:10px;font-weight:700;line-height:12px;margin-left:2px;text-transform:uppercase;vertical-align:top}.cell-ZzQNZGNo{border-bottom:1px solid #f0f3fa;cursor:default;height:39px}html.theme-dark .cell-ZzQNZGNo{border-bottom-color:#2a2e39}.cell-ZzQNZGNo.selected-ZzQNZGNo{background-color:#bbd9fb}html.theme-dark .cell-ZzQNZGNo.selected-ZzQNZGNo{background-color:#142e61}.cell-ZzQNZGNo.active-ZzQNZGNo,html.theme-dark .cell-ZzQNZGNo.active-ZzQNZGNo{background-color:#2962ff}.actionsCell-ZzQNZGNo{align-items:center;display:flex;padding-right:12px}.actionsCell-ZzQNZGNo .action-ZzQNZGNo{--tv-list-item-button-background-color:#fff;height:28px;margin-right:8px;width:28px}html.theme-dark .actionsCell-ZzQNZGNo .action-ZzQNZGNo{--tv-list-item-button-background-color:#1e222d}.actionsCell-ZzQNZGNo .action-ZzQNZGNo.selected-ZzQNZGNo{background-color:#90bff9}html.theme-dark .actionsCell-ZzQNZGNo .action-ZzQNZGNo.selected-ZzQNZGNo{background-color:#143a87}.actionsCell-ZzQNZGNo .targetAction-ZzQNZGNo.selected-ZzQNZGNo{color:#131722}html.theme-dark .actionsCell-ZzQNZGNo .targetAction-ZzQNZGNo.selected-ZzQNZGNo{color:#b2b5be}.actionsCell-ZzQNZGNo .removeAction-ZzQNZGNo.selected-ZzQNZGNo{color:#cc2f3c}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.actionsCell-ZzQNZGNo .removeAction-ZzQNZGNo:hover{color:#cc2f3c}}html.theme-dark .actionsCell-ZzQNZGNo .removeAction-ZzQNZGNo.selected-ZzQNZGNo{color:#f23645}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .actionsCell-ZzQNZGNo .removeAction-ZzQNZGNo:hover{color:#f23645}}.actionsCell-ZzQNZGNo .addAction-ZzQNZGNo{color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.actionsCell-ZzQNZGNo .addAction-ZzQNZGNo:hover{color:#2962ff}}html.theme-dark .actionsCell-ZzQNZGNo .addAction-ZzQNZGNo{color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .actionsCell-ZzQNZGNo .addAction-ZzQNZGNo:hover{color:#2962ff}}.markedFlagWrap-ZzQNZGNo{align-items:center;display:flex;height:100%;position:relative}.markedFlagWrap-ZzQNZGNo.offset-ZzQNZGNo{margin-left:-8px}.markedFlag-ZzQNZGNo{display:none}.markedFlagMobile-ZzQNZGNo{display:flex}.search-Hsmn_0WX::placeholder{text-transform:none}.search-Hsmn_0WX.upperCase-Hsmn_0WX{text-transform:uppercase}.symbolType-Hsmn_0WX{max-width:180px}.spinnerWrap-Hsmn_0WX{height:100%;position:relative;width:100%}.emptyText-Hsmn_0WX{color:#131722;font-size:16px;line-height:24px;margin:0 20px;text-align:center}html.theme-dark .emptyText-Hsmn_0WX{color:#b2b5be}.noResultsDesktop-Hsmn_0WX{flex:1 0;overflow:auto;padding-bottom:54px;padding-top:24px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .noResultsDesktop-Hsmn_0WX{scrollbar-color:#363a45 #0000}.noResultsDesktop-Hsmn_0WX::-webkit-scrollbar{height:5px;width:5px}.noResultsDesktop-Hsmn_0WX::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .noResultsDesktop-Hsmn_0WX::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.noResultsDesktop-Hsmn_0WX::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.noResultsDesktop-Hsmn_0WX::-webkit-scrollbar-corner{display:none}.brokerCheckboxWrap-Hsmn_0WX{box-sizing:border-box;margin-right:auto;max-width:100%;padding:0 20px 8px}.button-P2GOgq9R{align-items:center;color:#131722;display:flex;flex:none;justify-content:center;margin-right:20px}html.theme-dark .button-P2GOgq9R{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-P2GOgq9R:hover{background-color:#f0f3fa}html.theme-dark .button-P2GOgq9R:hover{background-color:#2a2e39}}.button-P2GOgq9R.desktop-P2GOgq9R{border-radius:2px;height:34px;margin-left:-3px;margin-right:17px;width:34px}.dialog-1LLxyYSM{overflow:hidden;width:100%}.tabletDialog-1LLxyYSM{height:562px;max-width:560px}.desktopDialog-1LLxyYSM{height:680px;max-width:840px;min-width:719px;width:100%}@media (max-width:768px){.desktopDialog-1LLxyYSM{max-width:640px;min-width:480px}}@media (max-width:519px){.desktopDialog-1LLxyYSM{max-width:479px;min-width:380px}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.rtl.css b/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.rtl.css new file mode 100644 index 0000000..f14167d --- /dev/null +++ b/public/static/charting_library/bundles/8858.535457f61e1b51d9add2.rtl.css @@ -0,0 +1 @@ +.childrenWrapper-th__KurO{align-items:center;cursor:default;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.container-th__KurO{display:flex;flex-direction:column;padding-top:8px}.wrap-2TpXRNRX{-webkit-backface-visibility:hidden;backface-visibility:hidden;break-inside:avoid;cursor:default;overflow:hidden}.wrap-2TpXRNRX.libAllExchange-2TpXRNRX{column-span:all}.container-2TpXRNRX{align-items:center;background-color:#fff;box-sizing:border-box;display:flex}html.theme-dark .container-2TpXRNRX{background-color:#1e222d}.container-2TpXRNRX .icon-2TpXRNRX,.container-2TpXRNRX .iconWrap-2TpXRNRX{align-items:center;display:flex;justify-content:center}.container-2TpXRNRX .title-2TpXRNRX{color:#131722;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .container-2TpXRNRX .title-2TpXRNRX{color:#b2b5be}.container-2TpXRNRX .title-2TpXRNRX .highlighted-2TpXRNRX,html.theme-dark .container-2TpXRNRX .title-2TpXRNRX .highlighted-2TpXRNRX{color:#90bff9}.container-2TpXRNRX .description-2TpXRNRX{color:#787b86;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container-2TpXRNRX.libAllExchange-2TpXRNRX{width:calc(50% - 2px)}@media screen and (max-width:479px){.container-2TpXRNRX.libAllExchange-2TpXRNRX{width:auto}}.container-2TpXRNRX.mobile-2TpXRNRX{height:52px}.container-2TpXRNRX.mobile-2TpXRNRX.allExchange-2TpXRNRX{height:40px}.container-2TpXRNRX.mobile-2TpXRNRX .iconWrap-2TpXRNRX{margin-right:2px;width:40px}.container-2TpXRNRX.mobile-2TpXRNRX .icon-2TpXRNRX{height:20px;width:20px}.container-2TpXRNRX.mobile-2TpXRNRX .title-2TpXRNRX{font-size:16px;line-height:24px}.container-2TpXRNRX.mobile-2TpXRNRX .description-2TpXRNRX{font-size:12px}.container-2TpXRNRX.desktop-2TpXRNRX{border-bottom:none;border-radius:4px;height:46px;padding-right:8px}.container-2TpXRNRX.desktop-2TpXRNRX.allExchange-2TpXRNRX{height:38px}.container-2TpXRNRX.desktop-2TpXRNRX .iconWrap-2TpXRNRX{margin-left:8px}.container-2TpXRNRX.desktop-2TpXRNRX .icon-2TpXRNRX{height:24px;width:24px}.container-2TpXRNRX.desktop-2TpXRNRX .allExchangesIcon-2TpXRNRX svg{height:20px;width:20px}.container-2TpXRNRX.desktop-2TpXRNRX .title-2TpXRNRX{font-size:14px;line-height:22px}.container-2TpXRNRX.desktop-2TpXRNRX .description-2TpXRNRX{font-size:12px;line-height:16px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-2TpXRNRX.desktop-2TpXRNRX:hover:not(.selected-2TpXRNRX){background-color:#f0f3fa}html.theme-dark .container-2TpXRNRX.desktop-2TpXRNRX:hover:not(.selected-2TpXRNRX){background-color:#2a2e39}}.container-2TpXRNRX.selected-2TpXRNRX,html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX{background-color:#2962ff}.container-2TpXRNRX.selected-2TpXRNRX .icon-2TpXRNRX{color:#fff}html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX .icon-2TpXRNRX{color:#d1d4dc}.container-2TpXRNRX.selected-2TpXRNRX .description-2TpXRNRX,.container-2TpXRNRX.selected-2TpXRNRX .title-2TpXRNRX{color:#fff}html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX .description-2TpXRNRX,html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX .title-2TpXRNRX{color:#d1d4dc}.container-2TpXRNRX.selected-2TpXRNRX .description-2TpXRNRX .highlighted-2TpXRNRX,html.theme-dark .container-2TpXRNRX.selected-2TpXRNRX .description-2TpXRNRX .highlighted-2TpXRNRX{color:#90bff9}.titleWithoutDesc-2TpXRNRX{padding-bottom:8px;padding-top:8px}.textBlock-2TpXRNRX{display:flex;flex:0 1 auto;flex-direction:column;min-width:0}.bordered-2TpXRNRX{border-bottom:1px solid #f0f3fa}html.theme-dark .bordered-2TpXRNRX{border-bottom:1px solid #2a2e39}.container-oVVv2l_M{height:100%;overflow:hidden}.contentList-oVVv2l_M{overflow-y:auto;padding:6px 0}@media (pointer:fine){.contentList-oVVv2l_M{scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .contentList-oVVv2l_M{scrollbar-color:#363a45 #0000}.contentList-oVVv2l_M::-webkit-scrollbar{height:5px;width:5px}.contentList-oVVv2l_M::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .contentList-oVVv2l_M::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.contentList-oVVv2l_M::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.contentList-oVVv2l_M::-webkit-scrollbar-corner{display:none}}.contentListDesktop-oVVv2l_M{padding:16px 0}.exchangeItemsContainer-oVVv2l_M{margin-bottom:16px}.exchangeItemsContainer-oVVv2l_M:last-child{margin-bottom:0}.exchangeItemsContainerDesktop-oVVv2l_M{column-count:2;column-gap:4px;margin-bottom:24px;padding:0 12px}.exchangeItemsContainerDesktop-oVVv2l_M:last-child{margin-bottom:0}@media (max-width:479px){.exchangeItemsContainerDesktop-oVVv2l_M{column-count:1}}.groupTitleDesktop-oVVv2l_M{padding-right:20px}.emptyText-oVVv2l_M{color:#131722;font-size:16px;line-height:24px;margin:12px 20px;text-align:center}html.theme-dark .emptyText-oVVv2l_M{color:#b2b5be}.noResultsDesktop-oVVv2l_M{flex:1 0;overflow:auto;padding-bottom:54px;padding-top:24px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .noResultsDesktop-oVVv2l_M{scrollbar-color:#363a45 #0000}.noResultsDesktop-oVVv2l_M::-webkit-scrollbar{height:5px;width:5px}.noResultsDesktop-oVVv2l_M::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .noResultsDesktop-oVVv2l_M::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.noResultsDesktop-oVVv2l_M::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.noResultsDesktop-oVVv2l_M::-webkit-scrollbar-corner{display:none}.actions-3cho5KDh{align-items:center;display:flex;margin-left:9px;padding:0 5px;position:relative}.actions-3cho5KDh:before{background-color:var(--tv-color-platform-background,#e0e3eb);content:"";display:block;height:18px;position:absolute;right:0;width:1px}html.theme-dark .actions-3cho5KDh:before{background-color:var(--tv-color-platform-background,#2a2e39)}.actionButton-3cho5KDh{--tv-toolbar-explicit-hover-border-radius:4px;align-items:center;display:flex;height:26px;justify-content:center;width:26px}.bubble-3MTPKAgt{align-items:center;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-flex;flex:none;max-width:100%;outline:none;overflow:visible;position:relative}.bubble-3MTPKAgt:focus{outline:none}.bubble-3MTPKAgt:focus-visible{outline:none}.bubble-3MTPKAgt:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 10px);pointer-events:none;position:absolute;right:-5px;top:-5px;width:calc(100% + 10px);z-index:1}.bubble-3MTPKAgt:focus:after{display:block}.bubble-3MTPKAgt:focus-visible:after{display:block}.bubble-3MTPKAgt:focus:not(:focus-visible):after{display:none}.bubble-3MTPKAgt:after{border-color:#2962ffcc}.bubble-3MTPKAgt.animated-3MTPKAgt:after{display:block;opacity:0;transition:opacity .2s ease-in-out,visibility 0s ease-in-out .2s;visibility:hidden}.bubble-3MTPKAgt.animated-3MTPKAgt:focus:after{opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.bubble-3MTPKAgt.animated-3MTPKAgt:focus-visible:after{opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.bubble-3MTPKAgt.animated-3MTPKAgt:focus:not(:focus-visible):after{opacity:0;transition:opacity .2s ease-in-out,visibility 0s ease-in-out .2s;visibility:hidden}.bubble-3MTPKAgt .content-3MTPKAgt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble-3MTPKAgt.appearance-default-3MTPKAgt{background-color:#f0f3fa;border-color:#f0f3fa;color:#131722}html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt{background-color:#2a2e39;border-color:#2a2e39;color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt:hover{background-color:#e0e3eb;border-color:#e0e3eb}html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt:hover{background-color:#363a45;border-color:#363a45}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt{background-color:#2962ff;border-color:#2962ff;color:#fff}html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt{background-color:#2962ff;border-color:#2962ff;color:#fff}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt{background-color:#ff5252}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:hover{background-color:#f23645}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt{background-color:#2979ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:hover{background-color:#0c3299}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt{background-color:#4caf50}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:hover{background-color:#388e3c}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt{background-color:#ff9100}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:hover{background-color:#ef6c00}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt{background-color:#ab47bc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:hover{background-color:#7b1fa2}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt{background-color:#00e5ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:hover{background-color:#00b8d4}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt{background-color:#ff80ab}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:hover{background-color:#ec407a}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt{border-color:#ff5252}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:hover{border-color:#f23645}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt{border-color:#2979ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:hover{border-color:#0c3299}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt{border-color:#4caf50}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:hover{border-color:#388e3c}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt{border-color:#ff9100}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:hover{border-color:#ef6c00}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt{border-color:#ab47bc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:hover{border-color:#7b1fa2}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt{border-color:#00e5ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:hover{border-color:#00b8d4}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt{border-color:#ff80ab}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:hover{border-color:#ec407a}}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.red-3MTPKAgt:after{border-color:#ff5252cc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.blue-3MTPKAgt:after{border-color:#2979ffcc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.green-3MTPKAgt:after{border-color:#4caf50cc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.orange-3MTPKAgt:after{border-color:#ff9100cc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.purple-3MTPKAgt:after{border-color:#ab47bccc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.cyan-3MTPKAgt:after{border-color:#00e5ffcc}.bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:after,html.theme-dark .bubble-3MTPKAgt.appearance-default-3MTPKAgt.active-3MTPKAgt.pink-3MTPKAgt:after{border-color:#ff80abcc}.bubble-3MTPKAgt.appearance-text-3MTPKAgt{background-color:initial;border-color:#0000;color:#787b86}html.theme-dark .bubble-3MTPKAgt.appearance-text-3MTPKAgt{color:#787b86}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.bubble-3MTPKAgt.appearance-text-3MTPKAgt:hover,html.theme-dark .bubble-3MTPKAgt.appearance-text-3MTPKAgt:hover{border-color:#787b86}}.bubble-3MTPKAgt.appearance-text-3MTPKAgt.active-3MTPKAgt{border-color:#2962ff;color:#2962ff}html.theme-dark .bubble-3MTPKAgt.appearance-text-3MTPKAgt.active-3MTPKAgt{border-color:#2962ff;color:#2962ff}.bubble-3MTPKAgt.fontSize-s-3MTPKAgt{font-size:14px;font-style:normal;font-weight:400;line-height:21px}.bubble-3MTPKAgt.fontSize-m-3MTPKAgt{font-size:16px;font-style:normal;font-weight:400;line-height:24px}.bubble-3MTPKAgt.size-m-3MTPKAgt{border-radius:14px;height:28px;padding:0 11px}.bubble-3MTPKAgt.size-m-3MTPKAgt:after{border-radius:18px}.bubble-3MTPKAgt.size-l-3MTPKAgt{border-radius:24px;height:48px;padding:0 23px}.bubble-3MTPKAgt.size-l-3MTPKAgt:after{border-radius:28px}.bubbles-by4sobff{-webkit-overflow-scrolling:touch;display:flex;flex:0 0 auto;overflow-x:auto;overflow-y:hidden;padding:4px 20px 12px;scrollbar-width:none}.bubbles-by4sobff.sb-scrollbar-wrap{display:none}.bubbles-by4sobff::-webkit-scrollbar{display:none;height:0;width:0}.bubbles-by4sobff::-webkit-scrollbar-thumb,.bubbles-by4sobff::-webkit-scrollbar-track{display:none}.bubbles-by4sobff::-webkit-scrollbar-corner{display:none}.bubbles-by4sobff.multiLine-by4sobff{flex-flow:wrap}.bubbles-by4sobff .bubble-by4sobff{cursor:default;margin:8px 0 0 8px}.bubbles-by4sobff .bubble-by4sobff:last-child{margin-left:0}.bubbles-by4sobff:after{content:"";display:flex;flex:0 0 auto;width:20px}.flagWrap-1Xy6iEIs{align-items:center;border-radius:4px;color:#2962ff;display:flex;justify-content:center;padding:3px}html.theme-dark .flagWrap-1Xy6iEIs{color:#2962ff}.flagWrap-1Xy6iEIs .icon-1Xy6iEIs{display:flex;height:20px;margin-left:4px;padding:4px;width:20px}.flagWrap-1Xy6iEIs .icon-1Xy6iEIs svg{height:20px;width:20px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.flagWrap-1Xy6iEIs:hover{background-color:#f0f3fa;color:#1e53e5}html.theme-dark .flagWrap-1Xy6iEIs:hover{background-color:#2a2e39;color:#1e53e5}.flagWrap-1Xy6iEIs:hover .caret-1Xy6iEIs{transform:translateY(2px)}}.title-1Xy6iEIs{white-space:nowrap}.caret-1Xy6iEIs{display:flex;height:18px;justify-content:center;width:18px}.wrap-1LtT-c03{display:contents}.item-1LtT-c03{height:40px;padding-left:24px}.item-1LtT-c03:first-child{min-width:0;padding-right:20px}.item-1LtT-c03:last-child{grid-column-start:span 3;padding-left:17px}.item-1LtT-c03,.wrap-1LtT-c03.small-1LtT-c03{align-items:center;background-color:#fff;display:flex;justify-content:space-between;position:sticky;top:-1px;z-index:1}html.theme-dark .item-1LtT-c03,html.theme-dark .wrap-1LtT-c03.small-1LtT-c03{background-color:#1e222d}.text-1LtT-c03{color:#787b86;font-size:11px;font-style:normal;font-weight:400;letter-spacing:.4px;line-height:16px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}html.theme-dark .text-1LtT-c03{color:#787b86}.exchange-1LtT-c03{font-size:14px;font-style:normal;font-weight:400;line-height:21px}.wrap-2WiKHt6t{contain:strict;cursor:default;height:100%;overflow:hidden;position:relative;z-index:0}.wrap-2WiKHt6t.watchlist-2WiKHt6t{padding-top:0}.wrap-2WiKHt6t.noFeed-2WiKHt6t{max-height:40px}.scrollContainer-2WiKHt6t{height:100%;margin-top:1px;overflow:auto;scroll-padding-top:40px}@media (pointer:fine){.scrollContainer-2WiKHt6t{scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .scrollContainer-2WiKHt6t{scrollbar-color:#363a45 #0000}.scrollContainer-2WiKHt6t::-webkit-scrollbar{height:5px;width:5px}.scrollContainer-2WiKHt6t::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scrollContainer-2WiKHt6t::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scrollContainer-2WiKHt6t::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollContainer-2WiKHt6t::-webkit-scrollbar-corner{display:none}}.scrollContainer-2WiKHt6t.noFeed-2WiKHt6t{overflow:hidden}.listContainer-2WiKHt6t{align-items:center;box-sizing:border-box;display:grid;grid-template-columns:min-content 1fr min-content min-content;margin-top:-1px;max-width:100%;padding-bottom:6px}.listContainer-2WiKHt6t.multiLineItemsContainer-2WiKHt6t{display:block}@keyframes highlight-animation-theme-light-ZzQNZGNo{50%{background-color:#e3effd}}@keyframes highlight-animation-theme-dark-ZzQNZGNo{50%{background-color:#132042}}.itemRow-ZzQNZGNo{display:contents}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo{align-items:center;display:flex}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .cell-ZzQNZGNo{height:51px}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .itemInfoCell-ZzQNZGNo{flex:1 1 auto;padding-left:16px}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .description-ZzQNZGNo{justify-content:flex-start}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .symbolDescription-ZzQNZGNo{color:#787b86;font-size:12px;height:17px;line-height:17px;padding-left:0}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .flag-ZzQNZGNo{margin-right:8px}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .exchangeDescription-ZzQNZGNo{flex-direction:column-reverse}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .exchangeName-ZzQNZGNo,.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .marketType-ZzQNZGNo{text-align:left}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .exchangeName-ZzQNZGNo{margin:4px 0 0}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .marketType-ZzQNZGNo{line-height:17px}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .actionHandleWrap-ZzQNZGNo{align-items:flex-start}.itemRow-ZzQNZGNo.multiLine-ZzQNZGNo .expandHandle-ZzQNZGNo{margin-top:8px}.itemRow-ZzQNZGNo.hover-ZzQNZGNo .cell-ZzQNZGNo{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.itemRow-ZzQNZGNo:hover .cell-ZzQNZGNo{background-color:#f0f3fa}}html.theme-dark .itemRow-ZzQNZGNo.hover-ZzQNZGNo .cell-ZzQNZGNo{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .itemRow-ZzQNZGNo:hover .cell-ZzQNZGNo{background-color:#2a2e39}}.itemRow-ZzQNZGNo.selected-ZzQNZGNo .cell-ZzQNZGNo{background-color:#bbd9fb}html.theme-dark .itemRow-ZzQNZGNo.selected-ZzQNZGNo .cell-ZzQNZGNo{background-color:#142e61}.itemRow-ZzQNZGNo.active-ZzQNZGNo .cell-ZzQNZGNo,html.theme-dark .itemRow-ZzQNZGNo.active-ZzQNZGNo .cell-ZzQNZGNo{background-color:#2962ff}.itemRow-ZzQNZGNo.highlighted-ZzQNZGNo .cell-ZzQNZGNo{animation-duration:1s;animation-iteration-count:1;animation-timing-function:ease}.itemRow-ZzQNZGNo.highlighted-ZzQNZGNo.light-ZzQNZGNo .cell-ZzQNZGNo{animation-name:highlight-animation-theme-light-ZzQNZGNo}.itemRow-ZzQNZGNo.highlighted-ZzQNZGNo.dark-ZzQNZGNo .cell-ZzQNZGNo{animation-name:highlight-animation-theme-dark-ZzQNZGNo}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.itemRow-ZzQNZGNo:hover .markedFlag-ZzQNZGNo{display:flex}}.itemRow-ZzQNZGNo .itemInfoCell-ZzQNZGNo{display:flex;overflow:hidden;padding-left:24px}.itemRow-ZzQNZGNo .itemInfoCell-ZzQNZGNo.offset-ZzQNZGNo{padding-right:8px}.itemRow-ZzQNZGNo .itemInfoCell-ZzQNZGNo .description-ZzQNZGNo{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.itemRow-ZzQNZGNo .descriptionCell-ZzQNZGNo{display:flex;min-width:0}.itemRow-ZzQNZGNo .descriptionCell-ZzQNZGNo.addition-ZzQNZGNo{grid-column:2/4}.itemRow-ZzQNZGNo .descriptionCell-ZzQNZGNo.addition-ZzQNZGNo+.exchangeCell-ZzQNZGNo{display:none}.itemRow-ZzQNZGNo .exchangeCell-ZzQNZGNo{align-items:center;display:flex;flex-shrink:0;justify-content:flex-end;overflow:hidden;padding-left:20px}@media screen and (max-width:428px){.itemRow-ZzQNZGNo .exchangeCell-ZzQNZGNo{max-width:104px}}.actionHandleWrap-ZzQNZGNo{align-items:center;display:flex;flex-shrink:0;width:20px}.actionHandleWrap-ZzQNZGNo .expandHandle-ZzQNZGNo{display:flex;height:18px;margin-right:2px;width:18px}.actionHandleWrap-ZzQNZGNo .expandHandle-ZzQNZGNo.expanded-ZzQNZGNo{transform:rotate(-90deg)}.symbolDescription-ZzQNZGNo,.symbolTitle-ZzQNZGNo{color:#131722;text-transform:uppercase}html.theme-dark .symbolDescription-ZzQNZGNo,html.theme-dark .symbolTitle-ZzQNZGNo{color:#b2b5be}.symbolDescription-ZzQNZGNo.invalid-ZzQNZGNo,.symbolTitle-ZzQNZGNo.invalid-ZzQNZGNo,html.theme-dark .symbolDescription-ZzQNZGNo.invalid-ZzQNZGNo,html.theme-dark .symbolTitle-ZzQNZGNo.invalid-ZzQNZGNo{color:#f7525f}.symbolDescription-ZzQNZGNo em,.symbolTitle-ZzQNZGNo em{color:#2962ff;font-style:normal;font-weight:700}.symbolDescription-ZzQNZGNo.noDescription-ZzQNZGNo,.symbolTitle-ZzQNZGNo.noDescription-ZzQNZGNo{padding-top:1px}.highlightedText-ZzQNZGNo{font-weight:700}.symbolTitle-ZzQNZGNo{font-size:16px;line-height:24px}.symbolDescription-ZzQNZGNo{font-size:14px;line-height:39px;margin-left:auto;padding-left:24px}.exchangeDescription-ZzQNZGNo{display:flex;overflow:hidden}.flag-ZzQNZGNo{align-items:center;display:flex;flex-shrink:0}.flag-ZzQNZGNo .icon-ZzQNZGNo{display:flex;height:18px;width:18px}.exchangeName-ZzQNZGNo{color:#131722;font-size:14px;line-height:21px;margin:0 8px}html.theme-dark .exchangeName-ZzQNZGNo{color:#b2b5be}.marketType-ZzQNZGNo{color:#787b86;font-size:12px;line-height:21px}.exchangeName-ZzQNZGNo,.marketType-ZzQNZGNo{text-align:right}.exchangeName-ZzQNZGNo,.marketType-ZzQNZGNo,.symbolDescription-ZzQNZGNo,.symbolTitle-ZzQNZGNo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exchangeName-ZzQNZGNo.active-ZzQNZGNo,.marketType-ZzQNZGNo.active-ZzQNZGNo,.symbolDescription-ZzQNZGNo.active-ZzQNZGNo,.symbolTitle-ZzQNZGNo.active-ZzQNZGNo{color:#fff}html.theme-dark .exchangeName-ZzQNZGNo.active-ZzQNZGNo,html.theme-dark .marketType-ZzQNZGNo.active-ZzQNZGNo,html.theme-dark .symbolDescription-ZzQNZGNo.active-ZzQNZGNo,html.theme-dark .symbolTitle-ZzQNZGNo.active-ZzQNZGNo{color:#d1d4dc}.dataMode-ZzQNZGNo{color:#ab47bc;font-size:10px;font-weight:700;line-height:12px;margin-right:2px;text-transform:uppercase;vertical-align:top}.cell-ZzQNZGNo{border-bottom:1px solid #f0f3fa;cursor:default;height:39px}html.theme-dark .cell-ZzQNZGNo{border-bottom-color:#2a2e39}.cell-ZzQNZGNo.selected-ZzQNZGNo{background-color:#bbd9fb}html.theme-dark .cell-ZzQNZGNo.selected-ZzQNZGNo{background-color:#142e61}.cell-ZzQNZGNo.active-ZzQNZGNo,html.theme-dark .cell-ZzQNZGNo.active-ZzQNZGNo{background-color:#2962ff}.actionsCell-ZzQNZGNo{align-items:center;display:flex;padding-left:12px}.actionsCell-ZzQNZGNo .action-ZzQNZGNo{--tv-list-item-button-background-color:#fff;height:28px;margin-left:8px;width:28px}html.theme-dark .actionsCell-ZzQNZGNo .action-ZzQNZGNo{--tv-list-item-button-background-color:#1e222d}.actionsCell-ZzQNZGNo .action-ZzQNZGNo.selected-ZzQNZGNo{background-color:#90bff9}html.theme-dark .actionsCell-ZzQNZGNo .action-ZzQNZGNo.selected-ZzQNZGNo{background-color:#143a87}.actionsCell-ZzQNZGNo .targetAction-ZzQNZGNo.selected-ZzQNZGNo{color:#131722}html.theme-dark .actionsCell-ZzQNZGNo .targetAction-ZzQNZGNo.selected-ZzQNZGNo{color:#b2b5be}.actionsCell-ZzQNZGNo .removeAction-ZzQNZGNo.selected-ZzQNZGNo{color:#cc2f3c}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.actionsCell-ZzQNZGNo .removeAction-ZzQNZGNo:hover{color:#cc2f3c}}html.theme-dark .actionsCell-ZzQNZGNo .removeAction-ZzQNZGNo.selected-ZzQNZGNo{color:#f23645}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .actionsCell-ZzQNZGNo .removeAction-ZzQNZGNo:hover{color:#f23645}}.actionsCell-ZzQNZGNo .addAction-ZzQNZGNo{color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.actionsCell-ZzQNZGNo .addAction-ZzQNZGNo:hover{color:#2962ff}}html.theme-dark .actionsCell-ZzQNZGNo .addAction-ZzQNZGNo{color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .actionsCell-ZzQNZGNo .addAction-ZzQNZGNo:hover{color:#2962ff}}.markedFlagWrap-ZzQNZGNo{align-items:center;display:flex;height:100%;position:relative}.markedFlagWrap-ZzQNZGNo.offset-ZzQNZGNo{margin-right:-8px}.markedFlag-ZzQNZGNo{display:none}.markedFlagMobile-ZzQNZGNo{display:flex}.search-Hsmn_0WX::placeholder{text-transform:none}.search-Hsmn_0WX.upperCase-Hsmn_0WX{text-transform:uppercase}.symbolType-Hsmn_0WX{max-width:180px}.spinnerWrap-Hsmn_0WX{height:100%;position:relative;width:100%}.emptyText-Hsmn_0WX{color:#131722;font-size:16px;line-height:24px;margin:0 20px;text-align:center}html.theme-dark .emptyText-Hsmn_0WX{color:#b2b5be}.noResultsDesktop-Hsmn_0WX{flex:1 0;overflow:auto;padding-bottom:54px;padding-top:24px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .noResultsDesktop-Hsmn_0WX{scrollbar-color:#363a45 #0000}.noResultsDesktop-Hsmn_0WX::-webkit-scrollbar{height:5px;width:5px}.noResultsDesktop-Hsmn_0WX::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .noResultsDesktop-Hsmn_0WX::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.noResultsDesktop-Hsmn_0WX::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.noResultsDesktop-Hsmn_0WX::-webkit-scrollbar-corner{display:none}.brokerCheckboxWrap-Hsmn_0WX{box-sizing:border-box;margin-left:auto;max-width:100%;padding:0 20px 8px}.button-P2GOgq9R{align-items:center;color:#131722;display:flex;flex:none;justify-content:center;margin-left:20px;transform:scaleX(-1)}html.theme-dark .button-P2GOgq9R{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-P2GOgq9R:hover{background-color:#f0f3fa}html.theme-dark .button-P2GOgq9R:hover{background-color:#2a2e39}}.button-P2GOgq9R.desktop-P2GOgq9R{border-radius:2px;height:34px;margin-left:17px;margin-right:-3px;width:34px}.dialog-1LLxyYSM{overflow:hidden;width:100%}.tabletDialog-1LLxyYSM{height:562px;max-width:560px}.desktopDialog-1LLxyYSM{height:680px;max-width:840px;min-width:719px;width:100%}@media (max-width:768px){.desktopDialog-1LLxyYSM{max-width:640px;min-width:480px}}@media (max-width:519px){.desktopDialog-1LLxyYSM{max-width:479px;min-width:380px}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8933.9d36818107c1f276f948.css b/public/static/charting_library/bundles/8933.9d36818107c1f276f948.css new file mode 100644 index 0000000..b9a3698 --- /dev/null +++ b/public/static/charting_library/bundles/8933.9d36818107c1f276f948.css @@ -0,0 +1 @@ +.content-22S1W3v8{box-sizing:border-box;color:#131722;display:inline-grid;grid-template-columns:auto 1fr;max-width:550px;padding:16px 20px;width:100%}html.theme-dark .content-22S1W3v8{color:#b2b5be}.cell-22S1W3v8 .inner-22S1W3v8{align-items:center;display:flex;padding:8px 0}.cell-22S1W3v8.first-22S1W3v8{align-items:center;display:flex;min-width:0}.cell-22S1W3v8.first-22S1W3v8 .inner-22S1W3v8{word-wrap:break-word;cursor:default;display:block;min-width:0;padding-right:20px}.cell-22S1W3v8.first-22S1W3v8 .inner-22S1W3v8:first-letter{text-transform:capitalize}.cell-22S1W3v8.first-22S1W3v8.inlineCell-22S1W3v8 .inner-22S1W3v8{padding-right:0}.cell-22S1W3v8.fill-22S1W3v8{grid-column:1/3}.cell-22S1W3v8.top-22S1W3v8{align-items:flex-start}.cell-22S1W3v8.topCenter-22S1W3v8{align-items:flex-start;padding-top:8px}.cell-22S1W3v8:only-child{max-width:340px}.cell-22S1W3v8.offset-22S1W3v8{padding-left:26px}.inlineRow-22S1W3v8{display:flex}.inlineCell-22S1W3v8{margin-right:8px}.grouped-22S1W3v8 .inner-22S1W3v8,.inlineCell-22S1W3v8 .inner-22S1W3v8{padding:4px 0}.separator-22S1W3v8{background-color:#e0e3eb;height:1px;margin:8px -20px}html.theme-dark .separator-22S1W3v8{background-color:#434651}.groupSeparator-22S1W3v8{height:8px}.groupSeparator-22S1W3v8.big-22S1W3v8{height:14px}@media screen and (max-width:379px){.content-22S1W3v8{grid-template-columns:1fr min-content}.cell-22S1W3v8.first-22S1W3v8 .inner-22S1W3v8{padding:8px 20px 8px 0}.cell-22S1W3v8.adaptive-22S1W3v8{align-items:flex-start}.cell-22S1W3v8.adaptive-22S1W3v8:not(.checkableTitle-22S1W3v8):not(.inlineCell-22S1W3v8){padding-top:8px}}.wrap-3GItoI3T{align-items:center;background-color:#f0f3fa;border-radius:4px;box-sizing:border-box;display:flex;height:34px;justify-content:space-between;max-width:180px;min-width:100px;padding:7px 8px 6px}html.theme-dark .wrap-3GItoI3T{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-3GItoI3T:hover{background-color:#e0e3eb}html.theme-dark .wrap-3GItoI3T:hover{background-color:#434651}.wrap-3GItoI3T:hover .icon-3GItoI3T{color:#131722}html.theme-dark .wrap-3GItoI3T:hover .icon-3GItoI3T{color:#b2b5be}}.text-3GItoI3T{color:#131722;cursor:default;line-height:21px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .text-3GItoI3T{color:#b2b5be}.icon-3GItoI3T{align-self:flex-start;color:#787b86;height:18px;margin-left:8px}.disabled-3GItoI3T{pointer-events:none}.disabled-3GItoI3T .icon-3GItoI3T,.disabled-3GItoI3T .text-3GItoI3T{color:#b2b5be}html.theme-dark .disabled-3GItoI3T .icon-3GItoI3T,html.theme-dark .disabled-3GItoI3T .text-3GItoI3T{color:#50535e}.wrap-2tojvhF7{align-items:center;display:flex;max-width:100%;overflow-wrap:break-word}.wrap-2tojvhF7:before{content:"";flex:none;height:34px;width:0}.checkbox-FNjK79Y1{min-width:0}.title-FNjK79Y1{cursor:default;min-width:0}.hasTooltip-2kfQACVg{margin-right:9px}.uppercase-2kfQACVg{text-transform:uppercase}.innerLabel-21h1g6jU{color:#d1d4dc;display:flex;flex:0 0 auto;font-size:16px;padding-left:5px}html.theme-dark .innerLabel-21h1g6jU{color:#50535e}.controlWrapper-7ApHzdB4{box-sizing:border-box;height:100%;overflow:hidden;width:22px}.controlWrapper-7ApHzdB4.hidden-7ApHzdB4{opacity:0}.control-7ApHzdB4{align-items:center;background-color:initial;border:none;border-radius:2px;box-sizing:border-box;color:#787b86;cursor:default;display:flex;flex:0 0 auto;height:50%;padding:0 6px;transition:color .35s ease,background-color .35s ease}.control-7ApHzdB4 svg{fill:currentColor}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-7ApHzdB4:hover{background-color:#f0f3fa;color:#131722}html.theme-dark .control-7ApHzdB4:hover{background-color:#363a45;color:#b2b5be}}.controlIncrease-7ApHzdB4{transform:rotate(180deg)}.controlIcon-7ApHzdB4{display:flex;flex:0 0 auto;justify-content:center;width:10px}.controlIcon-7ApHzdB4 svg{width:100%}.title-7ApHzdB4{color:#b2b5be;display:flex;flex-direction:column;font-size:12px;justify-content:center;margin-right:9px}html.theme-dark .title-7ApHzdB4{color:#50535e}.wrap-kAIcH6Vi{display:flex}.thicknessItem-kAIcH6Vi{align-items:center;background-color:initial;border:1px solid #d1d4dc;box-sizing:border-box;display:inline-flex;flex:1;height:32px;justify-content:center;padding:0 12px;position:relative}html.theme-dark .thicknessItem-kAIcH6Vi{background-color:initial;border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.thicknessItem-kAIcH6Vi:hover{background-color:#f0f3fa}html.theme-dark .thicknessItem-kAIcH6Vi:hover{background-color:#2a2e39}}.thicknessItem-kAIcH6Vi.checked-kAIcH6Vi{background-color:#2962ff;border-color:#2962ff;z-index:1}html.theme-dark .thicknessItem-kAIcH6Vi.checked-kAIcH6Vi{background-color:#2962ff;border-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.thicknessItem-kAIcH6Vi.checked-kAIcH6Vi:hover{background-color:#2962ff;border-color:#2962ff}html.theme-dark .thicknessItem-kAIcH6Vi.checked-kAIcH6Vi:hover{background-color:#2962ff;border-color:#2962ff}}.thicknessItem-kAIcH6Vi+.thicknessItem-kAIcH6Vi{margin-left:-1px}.thicknessItem-kAIcH6Vi:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px;margin-left:0}.thicknessItem-kAIcH6Vi:last-child{border-bottom-right-radius:3px;border-top-right-radius:3px}.radio-kAIcH6Vi{height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%}.bar-kAIcH6Vi{border:0 solid #131722;height:0;width:100%}html.theme-dark .bar-kAIcH6Vi{border:0 solid #b2b5be}.bar-kAIcH6Vi.checked-kAIcH6Vi,html.theme-dark .bar-kAIcH6Vi.checked-kAIcH6Vi{border-top-color:#fff}.thicknessContainer-2K1QSVfY{padding:0 12px}.thicknessTitle-2K1QSVfY{color:#787b86;font-size:12px;line-height:14px;margin:6px 0 4px}html.theme-dark .thicknessTitle-2K1QSVfY{color:#787b86}.colorPickerWrap-3gSLMlhu{align-items:center;border-color:#d1d4dc;border-radius:4px;border-style:solid;box-sizing:border-box;display:inline-flex;margin:0;position:relative}html.theme-dark .colorPickerWrap-3gSLMlhu{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.colorPickerWrap-3gSLMlhu:hover{border-color:#a3a6af}html.theme-dark .colorPickerWrap-3gSLMlhu:hover{border-color:#6a6d78}}.colorPickerWrap-3gSLMlhu.focused-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.focused-3gSLMlhu{border-color:#2962ff}.colorPickerWrap-3gSLMlhu.readonly-3gSLMlhu{background-color:#f0f3fa;border-color:#d1d4dc}html.theme-dark .colorPickerWrap-3gSLMlhu.readonly-3gSLMlhu{background-color:#2a2e39;border-color:#50535e}.colorPickerWrap-3gSLMlhu.disabled-3gSLMlhu{background-color:#f0f3fa;border-color:#d1d4dc;color:#b2b5be}html.theme-dark .colorPickerWrap-3gSLMlhu.disabled-3gSLMlhu{background-color:#2a2e39;border-color:#50535e;color:#50535e}.colorPickerWrap-3gSLMlhu.size-small-3gSLMlhu{height:24px}.colorPickerWrap-3gSLMlhu.size-medium-3gSLMlhu{height:34px}.colorPickerWrap-3gSLMlhu.size-large-3gSLMlhu{height:48px}.colorPickerWrap-3gSLMlhu.font-size-medium-3gSLMlhu,.colorPickerWrap-3gSLMlhu.font-size-small-3gSLMlhu{font-size:14px;line-height:20px}.colorPickerWrap-3gSLMlhu.font-size-large-3gSLMlhu{font-size:16px;line-height:24px}.colorPickerWrap-3gSLMlhu.border-none-3gSLMlhu{border-width:0}.colorPickerWrap-3gSLMlhu.border-none-3gSLMlhu .shadow-3gSLMlhu{margin:0}.colorPickerWrap-3gSLMlhu.border-thin-3gSLMlhu{border-width:1px}.colorPickerWrap-3gSLMlhu.border-thin-3gSLMlhu .shadow-3gSLMlhu{margin:-1px}.colorPickerWrap-3gSLMlhu.border-thick-3gSLMlhu{border-width:2px}.colorPickerWrap-3gSLMlhu.border-thick-3gSLMlhu .shadow-3gSLMlhu{margin:-2px}.colorPickerWrap-3gSLMlhu.intent-default-3gSLMlhu .shadow-3gSLMlhu{border-color:#d1d4dc}html.theme-dark .colorPickerWrap-3gSLMlhu.intent-default-3gSLMlhu .shadow-3gSLMlhu{border-color:#50535e}.colorPickerWrap-3gSLMlhu.intent-success-3gSLMlhu,.colorPickerWrap-3gSLMlhu.intent-success-3gSLMlhu .shadow-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-success-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-success-3gSLMlhu .shadow-3gSLMlhu{border-color:#06806b}.colorPickerWrap-3gSLMlhu.intent-warning-3gSLMlhu,.colorPickerWrap-3gSLMlhu.intent-warning-3gSLMlhu .shadow-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-warning-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-warning-3gSLMlhu .shadow-3gSLMlhu{border-color:#ff9800}.colorPickerWrap-3gSLMlhu.intent-danger-3gSLMlhu{border-color:#f23645}html.theme-dark .colorPickerWrap-3gSLMlhu.intent-danger-3gSLMlhu{border-color:#b22833}.colorPickerWrap-3gSLMlhu.intent-danger-3gSLMlhu .shadow-3gSLMlhu{border-color:#f23645}html.theme-dark .colorPickerWrap-3gSLMlhu.intent-danger-3gSLMlhu .shadow-3gSLMlhu{border-color:#b22833}.colorPickerWrap-3gSLMlhu.intent-primary-3gSLMlhu,.colorPickerWrap-3gSLMlhu.intent-primary-3gSLMlhu .shadow-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-primary-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-primary-3gSLMlhu .shadow-3gSLMlhu{border-color:#2962ff}.colorPickerWrap-3gSLMlhu.corner-top-left-3gSLMlhu{border-top-left-radius:0}.colorPickerWrap-3gSLMlhu.corner-top-right-3gSLMlhu{border-top-right-radius:0}.colorPickerWrap-3gSLMlhu.corner-bottom-right-3gSLMlhu{border-bottom-right-radius:0}.colorPickerWrap-3gSLMlhu.corner-bottom-left-3gSLMlhu{border-bottom-left-radius:0}.shadow-3gSLMlhu{border:2px solid;border-radius:4px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.shadow-3gSLMlhu.corner-top-left-3gSLMlhu{border-top-left-radius:0}.shadow-3gSLMlhu.corner-top-right-3gSLMlhu{border-top-right-radius:0}.shadow-3gSLMlhu.corner-bottom-right-3gSLMlhu{border-bottom-right-radius:0}.shadow-3gSLMlhu.corner-bottom-left-3gSLMlhu{border-bottom-left-radius:0}.colorPicker-3gSLMlhu{align-items:center;display:flex;justify-content:center;padding:4px}.colorPicker-3gSLMlhu.disabled-3gSLMlhu{opacity:.5}.swatch-3gSLMlhu{border-radius:3px;box-sizing:border-box;display:block;height:100%;width:100%}.placeholderContainer-3gSLMlhu{border-radius:3px;height:24px;overflow:hidden;position:relative;width:24px}.placeholderContainer-3gSLMlhu .placeholder-3gSLMlhu{background-color:#f7525f;height:24px;width:24px}html.theme-dark .placeholderContainer-3gSLMlhu .placeholder-3gSLMlhu{background-color:#f7525f}.placeholderContainer-3gSLMlhu .placeholder-3gSLMlhu:after{border-left:24px solid #0000;border-top:24px solid #22ab94;content:" ";position:absolute;width:0}html.theme-dark .placeholderContainer-3gSLMlhu .placeholder-3gSLMlhu:after{border-top:24px solid #22ab94}.white-3gSLMlhu{border:1px solid #d1d4dc}html.theme-dark .white-3gSLMlhu{border:1px solid #0000}.opacitySwatch-3gSLMlhu{background-color:#fff;background-image:url(a6506134daec7169f68f563f084a9d41.svg);background-size:50%;border-radius:3px;flex:0 0 24px;height:24px;position:relative;width:24px}html.theme-dark .opacitySwatch-3gSLMlhu{background-color:#000}.colorLine-3gSLMlhu{border-radius:1px;margin-left:8px;margin-right:4px;width:30px}.colorLine-3gSLMlhu.white-3gSLMlhu{margin-left:7px;margin-right:3px}.thicknessContainer-3gSLMlhu{padding:0 12px}.thicknessTitle-3gSLMlhu{color:#787b86;font-size:12px;line-height:14px;margin:6px 0 4px}html.theme-dark .thicknessTitle-3gSLMlhu{color:#787b86}.textarea-container-1F0MhDpb{font-size:16px;font-style:normal;font-weight:400;line-height:24px;resize:none}.textarea-container-1F0MhDpb.change-highlight-1F0MhDpb.focused-1F0MhDpb{border-color:var(--ui-lib-intent-color,#d1d4dc)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.textarea-container-1F0MhDpb.change-highlight-1F0MhDpb.focused-1F0MhDpb:hover{border-color:var(--ui-lib-intent-color,#d1d4dc)}}html.theme-dark .textarea-container-1F0MhDpb.change-highlight-1F0MhDpb.focused-1F0MhDpb{border-color:var(--ui-lib-intent-color,#50535e)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .textarea-container-1F0MhDpb.change-highlight-1F0MhDpb.focused-1F0MhDpb:hover{border-color:var(--ui-lib-intent-color,#50535e)}}.textarea-container-1F0MhDpb.resize-vertical-1F0MhDpb{overflow:hidden;resize:vertical}.textarea-container-1F0MhDpb.resize-horizontal-1F0MhDpb{overflow:hidden;resize:horizontal}.textarea-container-1F0MhDpb.resize-both-1F0MhDpb{overflow:hidden;resize:both}.textarea-1F0MhDpb{-webkit-text-fill-color:var(--ui-lib-control-text-fill-color,currentColor);-webkit-appearance:auto;appearance:textfield;background-color:initial;border:0;box-sizing:border-box;display:block;font-family:inherit;font-size:inherit;height:100%;line-height:inherit;margin:0;min-width:0;order:0;outline:0;padding:2px 5px;resize:none;width:100%}.textarea-1F0MhDpb::placeholder{-webkit-text-fill-color:currentColor;color:#a3a6af;opacity:1}html.theme-dark .textarea-1F0MhDpb::placeholder{color:#434651}.textarea-1F0MhDpb::-webkit-calendar-picker-indicator,.textarea-1F0MhDpb::-webkit-clear-button,.textarea-1F0MhDpb::-webkit-inner-spin-button,.textarea-1F0MhDpb::-webkit-outer-spin-button,.textarea-1F0MhDpb::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.textarea-1F0MhDpb:-webkit-autofill,.textarea-1F0MhDpb:-webkit-autofill:active,.textarea-1F0MhDpb:-webkit-autofill:focus{border-radius:3px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.textarea-1F0MhDpb:-webkit-autofill:hover{border-radius:3px}}html.theme-dark .textarea-1F0MhDpb::-webkit-calendar-picker-indicator{filter:invert(1)}.titleWrap-3OnZWCnE{color:#787b86;height:16px;text-transform:uppercase}.title-3OnZWCnE{font-size:11px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8933.9d36818107c1f276f948.rtl.css b/public/static/charting_library/bundles/8933.9d36818107c1f276f948.rtl.css new file mode 100644 index 0000000..fbcd97c --- /dev/null +++ b/public/static/charting_library/bundles/8933.9d36818107c1f276f948.rtl.css @@ -0,0 +1 @@ +.content-22S1W3v8{box-sizing:border-box;color:#131722;display:inline-grid;grid-template-columns:auto 1fr;max-width:550px;padding:16px 20px;width:100%}html.theme-dark .content-22S1W3v8{color:#b2b5be}.cell-22S1W3v8 .inner-22S1W3v8{align-items:center;display:flex;padding:8px 0}.cell-22S1W3v8.first-22S1W3v8{align-items:center;display:flex;min-width:0}.cell-22S1W3v8.first-22S1W3v8 .inner-22S1W3v8{word-wrap:break-word;cursor:default;display:block;min-width:0;padding-left:20px}.cell-22S1W3v8.first-22S1W3v8 .inner-22S1W3v8:first-letter{text-transform:capitalize}.cell-22S1W3v8.first-22S1W3v8.inlineCell-22S1W3v8 .inner-22S1W3v8{padding-left:0}.cell-22S1W3v8.fill-22S1W3v8{grid-column:1/3}.cell-22S1W3v8.top-22S1W3v8{align-items:flex-start}.cell-22S1W3v8.topCenter-22S1W3v8{align-items:flex-start;padding-top:8px}.cell-22S1W3v8:only-child{max-width:340px}.cell-22S1W3v8.offset-22S1W3v8{padding-right:26px}.inlineRow-22S1W3v8{display:flex}.inlineCell-22S1W3v8{margin-left:8px}.grouped-22S1W3v8 .inner-22S1W3v8,.inlineCell-22S1W3v8 .inner-22S1W3v8{padding:4px 0}.separator-22S1W3v8{background-color:#e0e3eb;height:1px;margin:8px -20px}html.theme-dark .separator-22S1W3v8{background-color:#434651}.groupSeparator-22S1W3v8{height:8px}.groupSeparator-22S1W3v8.big-22S1W3v8{height:14px}@media screen and (max-width:379px){.content-22S1W3v8{grid-template-columns:1fr min-content}.cell-22S1W3v8.first-22S1W3v8 .inner-22S1W3v8{padding:8px 0 8px 20px}.cell-22S1W3v8.adaptive-22S1W3v8{align-items:flex-start}.cell-22S1W3v8.adaptive-22S1W3v8:not(.checkableTitle-22S1W3v8):not(.inlineCell-22S1W3v8){padding-top:8px}}.wrap-3GItoI3T{align-items:center;background-color:#f0f3fa;border-radius:4px;box-sizing:border-box;display:flex;height:34px;justify-content:space-between;max-width:180px;min-width:100px;padding:7px 8px 6px}html.theme-dark .wrap-3GItoI3T{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrap-3GItoI3T:hover{background-color:#e0e3eb}html.theme-dark .wrap-3GItoI3T:hover{background-color:#434651}.wrap-3GItoI3T:hover .icon-3GItoI3T{color:#131722}html.theme-dark .wrap-3GItoI3T:hover .icon-3GItoI3T{color:#b2b5be}}.text-3GItoI3T{color:#131722;cursor:default;line-height:21px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .text-3GItoI3T{color:#b2b5be}.icon-3GItoI3T{align-self:flex-start;color:#787b86;height:18px;margin-right:8px}.disabled-3GItoI3T{pointer-events:none}.disabled-3GItoI3T .icon-3GItoI3T,.disabled-3GItoI3T .text-3GItoI3T{color:#b2b5be}html.theme-dark .disabled-3GItoI3T .icon-3GItoI3T,html.theme-dark .disabled-3GItoI3T .text-3GItoI3T{color:#50535e}.wrap-2tojvhF7{align-items:center;display:flex;max-width:100%;overflow-wrap:break-word}.wrap-2tojvhF7:before{content:"";flex:none;height:34px;width:0}.checkbox-FNjK79Y1{min-width:0}.title-FNjK79Y1{cursor:default;min-width:0}.hasTooltip-2kfQACVg{margin-left:9px}.uppercase-2kfQACVg{text-transform:uppercase}.innerLabel-21h1g6jU{color:#d1d4dc;display:flex;flex:0 0 auto;font-size:16px;padding-right:5px}html.theme-dark .innerLabel-21h1g6jU{color:#50535e}.controlWrapper-7ApHzdB4{box-sizing:border-box;height:100%;overflow:hidden;width:22px}margin-left:2px;margin-right:0;.controlWrapper-7ApHzdB4.hidden-7ApHzdB4{opacity:0}.control-7ApHzdB4{align-items:center;background-color:initial;border:none;border-radius:2px;box-sizing:border-box;color:#787b86;cursor:default;display:flex;flex:0 0 auto;height:50%;padding:0 6px;transition:color .35s ease,background-color .35s ease}.control-7ApHzdB4 svg{fill:currentColor}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.control-7ApHzdB4:hover{background-color:#f0f3fa;color:#131722}html.theme-dark .control-7ApHzdB4:hover{background-color:#363a45;color:#b2b5be}}.controlIncrease-7ApHzdB4{transform:rotate(-180deg)}.controlIcon-7ApHzdB4{display:flex;flex:0 0 auto;justify-content:center;width:10px}.controlIcon-7ApHzdB4 svg{width:100%}.title-7ApHzdB4{color:#b2b5be;display:flex;flex-direction:column;font-size:12px;justify-content:center;margin-left:9px}html.theme-dark .title-7ApHzdB4{color:#50535e}.wrap-kAIcH6Vi{display:flex}.thicknessItem-kAIcH6Vi{align-items:center;background-color:initial;border:1px solid #d1d4dc;box-sizing:border-box;display:inline-flex;flex:1;height:32px;justify-content:center;padding:0 12px;position:relative}html.theme-dark .thicknessItem-kAIcH6Vi{background-color:initial;border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.thicknessItem-kAIcH6Vi:hover{background-color:#f0f3fa}html.theme-dark .thicknessItem-kAIcH6Vi:hover{background-color:#2a2e39}}.thicknessItem-kAIcH6Vi.checked-kAIcH6Vi{background-color:#2962ff;border-color:#2962ff;z-index:1}html.theme-dark .thicknessItem-kAIcH6Vi.checked-kAIcH6Vi{background-color:#2962ff;border-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.thicknessItem-kAIcH6Vi.checked-kAIcH6Vi:hover{background-color:#2962ff;border-color:#2962ff}html.theme-dark .thicknessItem-kAIcH6Vi.checked-kAIcH6Vi:hover{background-color:#2962ff;border-color:#2962ff}}.thicknessItem-kAIcH6Vi+.thicknessItem-kAIcH6Vi{margin-right:-1px}.thicknessItem-kAIcH6Vi:first-child{border-bottom-right-radius:3px;border-top-right-radius:3px;margin-right:0}.thicknessItem-kAIcH6Vi:last-child{border-bottom-left-radius:3px;border-top-left-radius:3px}.radio-kAIcH6Vi{height:100%;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0;width:100%}.bar-kAIcH6Vi{border:0 solid #131722;height:0;width:100%}html.theme-dark .bar-kAIcH6Vi{border:0 solid #b2b5be}.bar-kAIcH6Vi.checked-kAIcH6Vi,html.theme-dark .bar-kAIcH6Vi.checked-kAIcH6Vi{border-top-color:#fff}.thicknessContainer-2K1QSVfY{padding:0 12px}.thicknessTitle-2K1QSVfY{color:#787b86;font-size:12px;line-height:14px;margin:6px 0 4px}html.theme-dark .thicknessTitle-2K1QSVfY{color:#787b86}.colorPickerWrap-3gSLMlhu{align-items:center;border-color:#d1d4dc;border-radius:4px;border-style:solid;box-sizing:border-box;display:inline-flex;margin:0;position:relative}html.theme-dark .colorPickerWrap-3gSLMlhu{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.colorPickerWrap-3gSLMlhu:hover{border-color:#a3a6af}html.theme-dark .colorPickerWrap-3gSLMlhu:hover{border-color:#6a6d78}}.colorPickerWrap-3gSLMlhu.focused-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.focused-3gSLMlhu{border-color:#2962ff}.colorPickerWrap-3gSLMlhu.readonly-3gSLMlhu{background-color:#f0f3fa;border-color:#d1d4dc}html.theme-dark .colorPickerWrap-3gSLMlhu.readonly-3gSLMlhu{background-color:#2a2e39;border-color:#50535e}.colorPickerWrap-3gSLMlhu.disabled-3gSLMlhu{background-color:#f0f3fa;border-color:#d1d4dc;color:#b2b5be}html.theme-dark .colorPickerWrap-3gSLMlhu.disabled-3gSLMlhu{background-color:#2a2e39;border-color:#50535e;color:#50535e}.colorPickerWrap-3gSLMlhu.size-small-3gSLMlhu{height:24px}.colorPickerWrap-3gSLMlhu.size-medium-3gSLMlhu{height:34px}.colorPickerWrap-3gSLMlhu.size-large-3gSLMlhu{height:48px}.colorPickerWrap-3gSLMlhu.font-size-medium-3gSLMlhu,.colorPickerWrap-3gSLMlhu.font-size-small-3gSLMlhu{font-size:14px;line-height:20px}.colorPickerWrap-3gSLMlhu.font-size-large-3gSLMlhu{font-size:16px;line-height:24px}.colorPickerWrap-3gSLMlhu.border-none-3gSLMlhu{border-width:0}.colorPickerWrap-3gSLMlhu.border-none-3gSLMlhu .shadow-3gSLMlhu{margin:0}.colorPickerWrap-3gSLMlhu.border-thin-3gSLMlhu{border-width:1px}.colorPickerWrap-3gSLMlhu.border-thin-3gSLMlhu .shadow-3gSLMlhu{margin:-1px}.colorPickerWrap-3gSLMlhu.border-thick-3gSLMlhu{border-width:2px}.colorPickerWrap-3gSLMlhu.border-thick-3gSLMlhu .shadow-3gSLMlhu{margin:-2px}.colorPickerWrap-3gSLMlhu.intent-default-3gSLMlhu .shadow-3gSLMlhu{border-color:#d1d4dc}html.theme-dark .colorPickerWrap-3gSLMlhu.intent-default-3gSLMlhu .shadow-3gSLMlhu{border-color:#50535e}.colorPickerWrap-3gSLMlhu.intent-success-3gSLMlhu,.colorPickerWrap-3gSLMlhu.intent-success-3gSLMlhu .shadow-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-success-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-success-3gSLMlhu .shadow-3gSLMlhu{border-color:#06806b}.colorPickerWrap-3gSLMlhu.intent-warning-3gSLMlhu,.colorPickerWrap-3gSLMlhu.intent-warning-3gSLMlhu .shadow-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-warning-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-warning-3gSLMlhu .shadow-3gSLMlhu{border-color:#ff9800}.colorPickerWrap-3gSLMlhu.intent-danger-3gSLMlhu{border-color:#f23645}html.theme-dark .colorPickerWrap-3gSLMlhu.intent-danger-3gSLMlhu{border-color:#b22833}.colorPickerWrap-3gSLMlhu.intent-danger-3gSLMlhu .shadow-3gSLMlhu{border-color:#f23645}html.theme-dark .colorPickerWrap-3gSLMlhu.intent-danger-3gSLMlhu .shadow-3gSLMlhu{border-color:#b22833}.colorPickerWrap-3gSLMlhu.intent-primary-3gSLMlhu,.colorPickerWrap-3gSLMlhu.intent-primary-3gSLMlhu .shadow-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-primary-3gSLMlhu,html.theme-dark .colorPickerWrap-3gSLMlhu.intent-primary-3gSLMlhu .shadow-3gSLMlhu{border-color:#2962ff}.colorPickerWrap-3gSLMlhu.corner-top-left-3gSLMlhu{border-top-right-radius:0}.colorPickerWrap-3gSLMlhu.corner-top-right-3gSLMlhu{border-top-left-radius:0}.colorPickerWrap-3gSLMlhu.corner-bottom-right-3gSLMlhu{border-bottom-left-radius:0}.colorPickerWrap-3gSLMlhu.corner-bottom-left-3gSLMlhu{border-bottom-right-radius:0}.shadow-3gSLMlhu{border:2px solid;border-radius:4px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.shadow-3gSLMlhu.corner-top-left-3gSLMlhu{border-top-right-radius:0}.shadow-3gSLMlhu.corner-top-right-3gSLMlhu{border-top-left-radius:0}.shadow-3gSLMlhu.corner-bottom-right-3gSLMlhu{border-bottom-left-radius:0}.shadow-3gSLMlhu.corner-bottom-left-3gSLMlhu{border-bottom-right-radius:0}.colorPicker-3gSLMlhu{align-items:center;display:flex;justify-content:center;padding:4px}.colorPicker-3gSLMlhu.disabled-3gSLMlhu{opacity:.5}.swatch-3gSLMlhu{border-radius:3px;box-sizing:border-box;display:block;height:100%;width:100%}.placeholderContainer-3gSLMlhu{border-radius:3px;height:24px;overflow:hidden;position:relative;width:24px}.placeholderContainer-3gSLMlhu .placeholder-3gSLMlhu{background-color:#f7525f;height:24px;width:24px}html.theme-dark .placeholderContainer-3gSLMlhu .placeholder-3gSLMlhu{background-color:#f7525f}.placeholderContainer-3gSLMlhu .placeholder-3gSLMlhu:after{border-right:24px solid #0000;border-top:24px solid #22ab94;content:" ";position:absolute;width:0}html.theme-dark .placeholderContainer-3gSLMlhu .placeholder-3gSLMlhu:after{border-top:24px solid #22ab94}.white-3gSLMlhu{border:1px solid #d1d4dc}html.theme-dark .white-3gSLMlhu{border:1px solid #0000}.opacitySwatch-3gSLMlhu{background-color:#fff;background-image:url(a6506134daec7169f68f563f084a9d41.svg);background-size:50%;border-radius:3px;flex:0 0 24px;height:24px;position:relative;width:24px}html.theme-dark .opacitySwatch-3gSLMlhu{background-color:#000}.colorLine-3gSLMlhu{border-radius:1px;margin-left:4px;margin-right:8px;width:30px}.colorLine-3gSLMlhu.white-3gSLMlhu{margin-left:3px;margin-right:7px}.thicknessContainer-3gSLMlhu{padding:0 12px}.thicknessTitle-3gSLMlhu{color:#787b86;font-size:12px;line-height:14px;margin:6px 0 4px}html.theme-dark .thicknessTitle-3gSLMlhu{color:#787b86}.textarea-container-1F0MhDpb{font-size:16px;font-style:normal;font-weight:400;line-height:24px;resize:none}.textarea-container-1F0MhDpb.change-highlight-1F0MhDpb.focused-1F0MhDpb{border-color:var(--ui-lib-intent-color,#d1d4dc)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.textarea-container-1F0MhDpb.change-highlight-1F0MhDpb.focused-1F0MhDpb:hover{border-color:var(--ui-lib-intent-color,#d1d4dc)}}html.theme-dark .textarea-container-1F0MhDpb.change-highlight-1F0MhDpb.focused-1F0MhDpb{border-color:var(--ui-lib-intent-color,#50535e)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .textarea-container-1F0MhDpb.change-highlight-1F0MhDpb.focused-1F0MhDpb:hover{border-color:var(--ui-lib-intent-color,#50535e)}}.textarea-container-1F0MhDpb.resize-vertical-1F0MhDpb{overflow:hidden;resize:vertical}.textarea-container-1F0MhDpb.resize-horizontal-1F0MhDpb{overflow:hidden;resize:horizontal}.textarea-container-1F0MhDpb.resize-both-1F0MhDpb{overflow:hidden;resize:both}.textarea-1F0MhDpb{-webkit-text-fill-color:var(--ui-lib-control-text-fill-color,currentColor);-webkit-appearance:auto;appearance:textfield;background-color:initial;border:0;box-sizing:border-box;display:block;font-family:inherit;font-size:inherit;height:100%;line-height:inherit;margin:0;min-width:0;order:0;outline:0;padding:2px 5px;resize:none;width:100%}.textarea-1F0MhDpb::placeholder{-webkit-text-fill-color:currentColor;color:#a3a6af;opacity:1}html.theme-dark .textarea-1F0MhDpb::placeholder{color:#434651}.textarea-1F0MhDpb::-webkit-calendar-picker-indicator,.textarea-1F0MhDpb::-webkit-clear-button,.textarea-1F0MhDpb::-webkit-inner-spin-button,.textarea-1F0MhDpb::-webkit-outer-spin-button,.textarea-1F0MhDpb::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.textarea-1F0MhDpb:-webkit-autofill,.textarea-1F0MhDpb:-webkit-autofill:active,.textarea-1F0MhDpb:-webkit-autofill:focus{border-radius:3px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.textarea-1F0MhDpb:-webkit-autofill:hover{border-radius:3px}}html.theme-dark .textarea-1F0MhDpb::-webkit-calendar-picker-indicator{filter:invert(1)}.titleWrap-3OnZWCnE{color:#787b86;height:16px;text-transform:uppercase}.title-3OnZWCnE{font-size:11px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.css b/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.css new file mode 100644 index 0000000..d45f165 --- /dev/null +++ b/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.css @@ -0,0 +1 @@ +.itemWrap-3FEBD9eP{padding-left:0}.icon-3FEBD9eP,.item-3FEBD9eP{align-items:center;display:flex;justify-content:center}.icon-3FEBD9eP{height:28px;width:28px}.selected-3FEBD9eP{margin:0 -6px}.label-3FEBD9eP{padding-left:6px}.lineStyleSelect-3KjU7hI0{width:34px}.lineWidthSelect-3VlOWnM8{width:76px}.bar-3VlOWnM8{border:0 solid #131722;height:0;width:50px}html.theme-dark .bar-3VlOWnM8{border:0 solid #b2b5be}.bar-3VlOWnM8.isActive-3VlOWnM8,html.theme-dark .bar-3VlOWnM8.isActive-3VlOWnM8{border-top-color:#fff}.item-3VlOWnM8{align-items:center;display:flex;justify-content:center}.lineEndSelect-1x0HNmOc{width:34px}.right-1x0HNmOc{transform:scaleX(-1)}.row-NcPpqR9x{display:flex;margin-left:8px}.row-NcPpqR9x:first-child{margin-left:0}@media screen and (max-width:379px){.wrap-NcPpqR9x.breakpointNormal-NcPpqR9x{flex-flow:wrap}.wrap-NcPpqR9x.breakpointNormal-NcPpqR9x .row-NcPpqR9x{margin-left:0;margin-top:8px;width:100%}.wrap-NcPpqR9x.breakpointNormal-NcPpqR9x .row-NcPpqR9x:first-child{margin-top:0}}@media screen and (max-width:369px){.wrap-NcPpqR9x.breakpointMedium-NcPpqR9x{flex-flow:wrap}.wrap-NcPpqR9x.breakpointMedium-NcPpqR9x .row-NcPpqR9x{margin-left:0;margin-top:8px;width:100%}.wrap-NcPpqR9x.breakpointMedium-NcPpqR9x .row-NcPpqR9x:first-child{margin-top:0}}@media screen and (max-width:359px){.wrap-NcPpqR9x.breakpointSmall-NcPpqR9x{flex-flow:wrap}.wrap-NcPpqR9x.breakpointSmall-NcPpqR9x .row-NcPpqR9x{margin-left:0;margin-top:8px;width:100%}.wrap-NcPpqR9x.breakpointSmall-NcPpqR9x .row-NcPpqR9x:first-child{margin-top:0}}.line-2EFUN2WR .control-2EFUN2WR{margin-right:8px}.line-2EFUN2WR .control-2EFUN2WR:last-child{margin-right:0}.line-2EFUN2WR .valueInput-2EFUN2WR{align-items:center;display:flex;flex-direction:row;max-width:100px}.line-2EFUN2WR .valueInput-2EFUN2WR .valueUnit-2EFUN2WR{cursor:default;margin-left:9px}.line-2EFUN2WR .valueInput-2EFUN2WR .input-2EFUN2WR{flex:none;width:100px}.dropdown-Y-VtYUMO{width:150px}.dropdownMenu-Y-VtYUMO{min-width:150px}.firstColorPicker-Y-VtYUMO{margin-right:8px}.wrap-3yqu-5zT{width:148px}.wrap-3yqu-5zT.disabled-3yqu-5zT{opacity:.5}.twoColors-1b_W-OHw .colorPicker-1b_W-OHw{margin-right:8px}.unit-3YVf8t1O{cursor:default;margin-left:9px}.input-3YVf8t1O{width:100px}.input-3YVf8t1O.normal-3YVf8t1O{width:150px}.input-3YVf8t1O.big-3YVf8t1O{width:180px}@media screen and (max-width:$bigWidthBreakpoint){.input-3YVf8t1O.big-3YVf8t1O{width:150px}}.dropdown-3YVf8t1O{width:100px}.dropdownMenu-3YVf8t1O{min-width:100px}.defaultSelect-rvczD149{cursor:default;width:100px}.container-1zlYw2UK{align-items:center;border:1px solid #d1d4dc;border-radius:4px;box-sizing:border-box;color:#131722;display:flex;height:34px;justify-content:center;width:34px}html.theme-dark .container-1zlYw2UK{border:1px solid #50535e;color:#b2b5be}.container-1zlYw2UK.active-1zlYw2UK{background-color:#9598a1;border-color:#9598a1;color:#fff}html.theme-dark .container-1zlYw2UK.active-1zlYw2UK{background-color:#787b86;border-color:#787b86;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-1zlYw2UK.active-1zlYw2UK:hover{background-color:#787b86;border-color:#787b86;color:#fff}html.theme-dark .container-1zlYw2UK.active-1zlYw2UK:hover{background-color:#9598a1;border-color:#9598a1;color:#fff}}.container-1zlYw2UK.disabled-1zlYw2UK{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-1zlYw2UK.disabled-1zlYw2UK:hover{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be}}html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK{color:#5d606b}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK:hover{color:#5d606b}}html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK:hover{border-color:#363a45}}html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK{background-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK:hover{background-color:#363a45}.container-1zlYw2UK:hover{border-color:#787b86;color:#131722}html.theme-dark .container-1zlYw2UK:hover{border-color:#787b86;color:#b2b5be}}.icon-1zlYw2UK{display:flex}.colorPicker-zLgQJ6Yh{margin-right:8px}.fontStyleButton-zLgQJ6Yh{margin-left:8px}.fontStyleButton-zLgQJ6Yh:first-child{margin-left:0}.dropdown-zLgQJ6Yh{width:100px}.dropdownMenu-zLgQJ6Yh{min-width:100px}.coordinates-28UK1YDt{align-items:center;display:flex;flex-direction:row}.input-28UK1YDt{margin-right:8px;width:100px}.input-28UK1YDt:last-child{margin-right:0}.dropdown-3Z3YBwWw{width:100px}.dropdown-3Z3YBwWw.normal-3Z3YBwWw{width:150px}.dropdown-3Z3YBwWw.big-3Z3YBwWw{width:180px}@media screen and (max-width:428px){.dropdown-3Z3YBwWw.big-3Z3YBwWw{width:150px}}.dropdownMenu-3Z3YBwWw{min-width:100px}.dropdownMenu-3Z3YBwWw.normal-3Z3YBwWw{min-width:150px}.dropdownMenu-3Z3YBwWw.big-3Z3YBwWw{min-width:180px}@media screen and (max-width:428px){.dropdownMenu-3Z3YBwWw.big-3Z3YBwWw{min-width:150px}}.range-31GwrUpb{align-items:center;display:flex;min-width:100px}.range-31GwrUpb.disabled-31GwrUpb{opacity:.5}.rangeSlider-31GwrUpb{background-color:#e0e3eb;border-radius:5px;flex:1 0 auto;height:10px;position:relative}html.theme-dark .rangeSlider-31GwrUpb{background-color:#434651}.rangeSliderMiddleWrap-31GwrUpb{height:100%;padding:0 6px}.rangeSliderMiddle-31GwrUpb{box-sizing:border-box;display:block;height:100%;position:relative;transition:left .1s,width .1s}.rangeSliderMiddle-31GwrUpb,html.theme-dark .rangeSliderMiddle-31GwrUpb{background-color:var(--range-slider-middle-bg,#2962ff)}.rangeSliderMiddle-31GwrUpb.dragged-31GwrUpb{transition:left 0s,width 0s}.pointer-31GwrUpb{background-color:initial;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px #00000080;box-sizing:border-box;height:12px;margin:-1px 0 0;position:absolute;transition:left .1s,top .1s;width:12px}.pointer-31GwrUpb,html.theme-dark .pointer-31GwrUpb{background-color:#fff}html.theme-dark .pointer-31GwrUpb{border:2px solid #fff}.pointer-31GwrUpb.dragged-31GwrUpb{transition:left 0s}.rangePointerWrap-31GwrUpb{left:0;position:absolute;top:0;width:calc(100% - 12px)}.range-2PdPYA_J .valueInput-2PdPYA_J{align-items:center;display:flex;flex-direction:row}.range-2PdPYA_J .valueInput-2PdPYA_J .rangeSlider-2PdPYA_J{padding-left:9px}.range-2PdPYA_J .valueInput-2PdPYA_J .rangeSlider_mixed-2PdPYA_J{--range-slider-middle-bg:#e0e3eb}html.theme-dark .range-2PdPYA_J .valueInput-2PdPYA_J .rangeSlider_mixed-2PdPYA_J{--range-slider-middle-bg:#434651}.range-2PdPYA_J .valueInput-2PdPYA_J .input-2PdPYA_J{flex:none;width:100px}.input-1y54fm74{width:100px}.control-1y54fm74{margin-right:8px}.control-1y54fm74:last-child{margin-right:0}.item-1y54fm74{display:flex;flex:none;margin-bottom:8px;margin-right:48px}.cell-1y54fm74{margin-right:-48px;max-width:460px}.fragmentCell-1y54fm74{flex-wrap:wrap;margin-bottom:-8px}.withTitle-1y54fm74{margin-right:25px}.title-1y54fm74{display:inline-block;width:35px}.dropdown-T1V4i3sE{width:100px}.menu-T1V4i3sE{min-width:100px}.wrapper-2ESZuAbX{align-items:center;border-radius:4px;color:#131722;display:flex;height:38px;justify-content:center;position:relative;width:38px}html.theme-dark .wrapper-2ESZuAbX{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-2ESZuAbX:hover{background-color:#f0f3fa}html.theme-dark .wrapper-2ESZuAbX:hover{background-color:#2a2e39}}.isActive-2ESZuAbX,html.theme-dark .isActive-2ESZuAbX{color:#2962ff}.isActive-2ESZuAbX:after{background-color:currentColor;content:"";height:4px;left:0;position:absolute;right:0;top:100%}.wrapper-30HPnwk9{border-bottom:1px solid #e0e3eb;display:flex;padding:6px 6px 4px}html.theme-dark .wrapper-30HPnwk9{border-bottom:1px solid #434651}.wrapper-1ecGiBuB{align-items:center;box-sizing:border-box;color:#787b86;display:flex;font-size:11px;height:100%;padding:6px 6px 0 16px;text-transform:uppercase}.wrapper-1-S6uQxU{align-items:center;border-radius:4px;display:flex;flex-shrink:0;justify-content:center}.emoji-1-S6uQxU{-webkit-touch-callout:none;display:block}.wrapper-2uFJv5Fz{align-items:center;display:flex;height:100%;overflow:hidden;padding:0 6px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.emojiItem-2uFJv5Fz:hover{background-color:#f0f3fa}html.theme-dark .emojiItem-2uFJv5Fz:hover{background-color:#2a2e39}}.list-tOao0Vo7{content-visibility:auto;overscroll-behavior:none;will-change:contents}@media (pointer:fine){.list-tOao0Vo7{scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .list-tOao0Vo7{scrollbar-color:#363a45 #0000}.list-tOao0Vo7::-webkit-scrollbar{height:5px;width:5px}.list-tOao0Vo7::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .list-tOao0Vo7::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.list-tOao0Vo7::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.list-tOao0Vo7::-webkit-scrollbar-corner{display:none}}.wrapper-3G6q-JGM{background-color:#fff;border-radius:6px}html.theme-dark .wrapper-3G6q-JGM{background-color:#1e222d}.wrapper-1MlnSDA4{align-items:center;border-color:#d1d4dc;border-radius:4px;border-style:solid;box-sizing:border-box;display:inline-flex;margin:0;position:relative}html.theme-dark .wrapper-1MlnSDA4{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-1MlnSDA4:hover{border-color:#a3a6af}html.theme-dark .wrapper-1MlnSDA4:hover{border-color:#6a6d78}}.wrapper-1MlnSDA4.focused-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.focused-1MlnSDA4{border-color:#2962ff}.wrapper-1MlnSDA4.readonly-1MlnSDA4{background-color:#f0f3fa;border-color:#d1d4dc}html.theme-dark .wrapper-1MlnSDA4.readonly-1MlnSDA4{background-color:#2a2e39;border-color:#50535e}.wrapper-1MlnSDA4.disabled-1MlnSDA4{background-color:#f0f3fa;border-color:#d1d4dc;color:#b2b5be}html.theme-dark .wrapper-1MlnSDA4.disabled-1MlnSDA4{background-color:#2a2e39;border-color:#50535e;color:#50535e}.wrapper-1MlnSDA4.size-small-1MlnSDA4{height:24px}.wrapper-1MlnSDA4.size-medium-1MlnSDA4{height:34px}.wrapper-1MlnSDA4.size-large-1MlnSDA4{height:48px}.wrapper-1MlnSDA4.font-size-medium-1MlnSDA4,.wrapper-1MlnSDA4.font-size-small-1MlnSDA4{font-size:14px;line-height:20px}.wrapper-1MlnSDA4.font-size-large-1MlnSDA4{font-size:16px;line-height:24px}.wrapper-1MlnSDA4.border-none-1MlnSDA4{border-width:0}.wrapper-1MlnSDA4.border-none-1MlnSDA4 .shadow-1MlnSDA4{margin:0}.wrapper-1MlnSDA4.border-thin-1MlnSDA4{border-width:1px}.wrapper-1MlnSDA4.border-thin-1MlnSDA4 .shadow-1MlnSDA4{margin:-1px}.wrapper-1MlnSDA4.border-thick-1MlnSDA4{border-width:2px}.wrapper-1MlnSDA4.border-thick-1MlnSDA4 .shadow-1MlnSDA4{margin:-2px}.wrapper-1MlnSDA4.intent-default-1MlnSDA4 .shadow-1MlnSDA4{border-color:#d1d4dc}html.theme-dark .wrapper-1MlnSDA4.intent-default-1MlnSDA4 .shadow-1MlnSDA4{border-color:#50535e}.wrapper-1MlnSDA4.intent-success-1MlnSDA4,.wrapper-1MlnSDA4.intent-success-1MlnSDA4 .shadow-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-success-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-success-1MlnSDA4 .shadow-1MlnSDA4{border-color:#06806b}.wrapper-1MlnSDA4.intent-warning-1MlnSDA4,.wrapper-1MlnSDA4.intent-warning-1MlnSDA4 .shadow-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-warning-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-warning-1MlnSDA4 .shadow-1MlnSDA4{border-color:#ff9800}.wrapper-1MlnSDA4.intent-danger-1MlnSDA4{border-color:#f23645}html.theme-dark .wrapper-1MlnSDA4.intent-danger-1MlnSDA4{border-color:#b22833}.wrapper-1MlnSDA4.intent-danger-1MlnSDA4 .shadow-1MlnSDA4{border-color:#f23645}html.theme-dark .wrapper-1MlnSDA4.intent-danger-1MlnSDA4 .shadow-1MlnSDA4{border-color:#b22833}.wrapper-1MlnSDA4.intent-primary-1MlnSDA4,.wrapper-1MlnSDA4.intent-primary-1MlnSDA4 .shadow-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-primary-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-primary-1MlnSDA4 .shadow-1MlnSDA4{border-color:#2962ff}.wrapper-1MlnSDA4.corner-top-left-1MlnSDA4{border-top-left-radius:0}.wrapper-1MlnSDA4.corner-top-right-1MlnSDA4{border-top-right-radius:0}.wrapper-1MlnSDA4.corner-bottom-right-1MlnSDA4{border-bottom-right-radius:0}.wrapper-1MlnSDA4.corner-bottom-left-1MlnSDA4{border-bottom-left-radius:0}.shadow-1MlnSDA4{border:2px solid;border-radius:4px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.shadow-1MlnSDA4.corner-top-left-1MlnSDA4{border-top-left-radius:0}.shadow-1MlnSDA4.corner-top-right-1MlnSDA4{border-top-right-radius:0}.shadow-1MlnSDA4.corner-bottom-right-1MlnSDA4{border-bottom-right-radius:0}.shadow-1MlnSDA4.corner-bottom-left-1MlnSDA4{border-bottom-left-radius:0}.childrenContainer-1MlnSDA4.disabled-1MlnSDA4{opacity:.5}.desktopSize--UxMOnMB{width:355px}.drawer--UxMOnMB,.menuBox--UxMOnMB{padding:0}.wrapper-2F4fv0AC{align-items:center;display:flex}.checkbox-2F4fv0AC{margin-right:20px}.colorSelect-2F4fv0AC{margin-left:8px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.rtl.css b/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.rtl.css new file mode 100644 index 0000000..2d328b2 --- /dev/null +++ b/public/static/charting_library/bundles/8969.d72c3357aff6000fd03e.rtl.css @@ -0,0 +1 @@ +.itemWrap-3FEBD9eP{padding-right:0}.icon-3FEBD9eP,.item-3FEBD9eP{align-items:center;display:flex;justify-content:center}.icon-3FEBD9eP{height:28px;width:28px}.selected-3FEBD9eP{margin:0 -6px}.label-3FEBD9eP{padding-right:6px}.lineStyleSelect-3KjU7hI0{width:34px}.lineWidthSelect-3VlOWnM8{width:76px}.bar-3VlOWnM8{border:0 solid #131722;height:0;width:50px}html.theme-dark .bar-3VlOWnM8{border:0 solid #b2b5be}.bar-3VlOWnM8.isActive-3VlOWnM8,html.theme-dark .bar-3VlOWnM8.isActive-3VlOWnM8{border-top-color:#fff}.item-3VlOWnM8{align-items:center;display:flex;justify-content:center}.lineEndSelect-1x0HNmOc{width:34px}.right-1x0HNmOc{transform:scaleX(-1)}.row-NcPpqR9x{display:flex;margin-right:8px}.row-NcPpqR9x:first-child{margin-right:0}@media screen and (max-width:379px){.wrap-NcPpqR9x.breakpointNormal-NcPpqR9x{flex-flow:wrap}.wrap-NcPpqR9x.breakpointNormal-NcPpqR9x .row-NcPpqR9x{margin-right:0;margin-top:8px;width:100%}.wrap-NcPpqR9x.breakpointNormal-NcPpqR9x .row-NcPpqR9x:first-child{margin-top:0}}@media screen and (max-width:369px){.wrap-NcPpqR9x.breakpointMedium-NcPpqR9x{flex-flow:wrap}.wrap-NcPpqR9x.breakpointMedium-NcPpqR9x .row-NcPpqR9x{margin-right:0;margin-top:8px;width:100%}.wrap-NcPpqR9x.breakpointMedium-NcPpqR9x .row-NcPpqR9x:first-child{margin-top:0}}@media screen and (max-width:359px){.wrap-NcPpqR9x.breakpointSmall-NcPpqR9x{flex-flow:wrap}.wrap-NcPpqR9x.breakpointSmall-NcPpqR9x .row-NcPpqR9x{margin-right:0;margin-top:8px;width:100%}.wrap-NcPpqR9x.breakpointSmall-NcPpqR9x .row-NcPpqR9x:first-child{margin-top:0}}.line-2EFUN2WR .control-2EFUN2WR{margin-left:8px}.line-2EFUN2WR .control-2EFUN2WR:last-child{margin-left:0}.line-2EFUN2WR .valueInput-2EFUN2WR{align-items:center;display:flex;flex-direction:row;max-width:100px}.line-2EFUN2WR .valueInput-2EFUN2WR .valueUnit-2EFUN2WR{cursor:default;margin-right:9px}.line-2EFUN2WR .valueInput-2EFUN2WR .input-2EFUN2WR{flex:none;width:100px}.dropdown-Y-VtYUMO{width:150px}.dropdownMenu-Y-VtYUMO{min-width:150px}.firstColorPicker-Y-VtYUMO{margin-left:8px}.wrap-3yqu-5zT{width:148px}.wrap-3yqu-5zT.disabled-3yqu-5zT{opacity:.5}.twoColors-1b_W-OHw .colorPicker-1b_W-OHw{margin-left:8px}.unit-3YVf8t1O{cursor:default;margin-right:9px}.input-3YVf8t1O{width:100px}.input-3YVf8t1O.normal-3YVf8t1O{width:150px}.input-3YVf8t1O.big-3YVf8t1O{width:180px}@media screen and (max-width:$bigWidthBreakpoint){.input-3YVf8t1O.big-3YVf8t1O{width:150px}}.dropdown-3YVf8t1O{width:100px}.dropdownMenu-3YVf8t1O{min-width:100px}.defaultSelect-rvczD149{cursor:default;width:100px}.container-1zlYw2UK{align-items:center;border:1px solid #d1d4dc;border-radius:4px;box-sizing:border-box;color:#131722;display:flex;height:34px;justify-content:center;width:34px}html.theme-dark .container-1zlYw2UK{border:1px solid #50535e;color:#b2b5be}.container-1zlYw2UK.active-1zlYw2UK{background-color:#9598a1;border-color:#9598a1;color:#fff}html.theme-dark .container-1zlYw2UK.active-1zlYw2UK{background-color:#787b86;border-color:#787b86;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-1zlYw2UK.active-1zlYw2UK:hover{background-color:#787b86;border-color:#787b86;color:#fff}html.theme-dark .container-1zlYw2UK.active-1zlYw2UK:hover{background-color:#9598a1;border-color:#9598a1;color:#fff}}.container-1zlYw2UK.disabled-1zlYw2UK{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-1zlYw2UK.disabled-1zlYw2UK:hover{background-color:#e0e3eb;border-color:#e0e3eb;color:#b2b5be}}html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK{color:#5d606b}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK:hover{color:#5d606b}}html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK{border-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK:hover{border-color:#363a45}}html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK{background-color:#363a45}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .container-1zlYw2UK.disabled-1zlYw2UK:hover{background-color:#363a45}.container-1zlYw2UK:hover{border-color:#787b86;color:#131722}html.theme-dark .container-1zlYw2UK:hover{border-color:#787b86;color:#b2b5be}}.icon-1zlYw2UK{display:flex}.colorPicker-zLgQJ6Yh{margin-left:8px}.fontStyleButton-zLgQJ6Yh{margin-right:8px}.fontStyleButton-zLgQJ6Yh:first-child{margin-right:0}.dropdown-zLgQJ6Yh{width:100px}.dropdownMenu-zLgQJ6Yh{min-width:100px}.coordinates-28UK1YDt{align-items:center;display:flex;flex-direction:row}.input-28UK1YDt{margin-left:8px;width:100px}.input-28UK1YDt:last-child{margin-left:0}.dropdown-3Z3YBwWw{width:100px}.dropdown-3Z3YBwWw.normal-3Z3YBwWw{width:150px}.dropdown-3Z3YBwWw.big-3Z3YBwWw{width:180px}@media screen and (max-width:428px){.dropdown-3Z3YBwWw.big-3Z3YBwWw{width:150px}}.dropdownMenu-3Z3YBwWw{min-width:100px}.dropdownMenu-3Z3YBwWw.normal-3Z3YBwWw{min-width:150px}.dropdownMenu-3Z3YBwWw.big-3Z3YBwWw{min-width:180px}@media screen and (max-width:428px){.dropdownMenu-3Z3YBwWw.big-3Z3YBwWw{min-width:150px}}.range-31GwrUpb{align-items:center;display:flex;min-width:100px}.range-31GwrUpb.disabled-31GwrUpb{opacity:.5}.rangeSlider-31GwrUpb{background-color:#e0e3eb;border-radius:5px;flex:1 0 auto;height:10px;position:relative}html.theme-dark .rangeSlider-31GwrUpb{background-color:#434651}.rangeSliderMiddleWrap-31GwrUpb{height:100%;padding:0 6px}.rangeSliderMiddle-31GwrUpb{box-sizing:border-box;display:block;height:100%;position:relative;transition:right .1s,width .1s}.rangeSliderMiddle-31GwrUpb,html.theme-dark .rangeSliderMiddle-31GwrUpb{background-color:var(--range-slider-middle-bg,#2962ff)}.rangeSliderMiddle-31GwrUpb.dragged-31GwrUpb{transition:right 0s,width 0s}.pointer-31GwrUpb{background-color:initial;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px #00000080;box-sizing:border-box;height:12px;margin:-1px 0 0;position:absolute;transition:right .1s,top .1s;width:12px}.pointer-31GwrUpb,html.theme-dark .pointer-31GwrUpb{background-color:#fff}html.theme-dark .pointer-31GwrUpb{border:2px solid #fff}.pointer-31GwrUpb.dragged-31GwrUpb{transition:right 0s}.rangePointerWrap-31GwrUpb{position:absolute;right:0;top:0;width:calc(100% - 12px)}.range-2PdPYA_J .valueInput-2PdPYA_J{align-items:center;display:flex;flex-direction:row}.range-2PdPYA_J .valueInput-2PdPYA_J .rangeSlider-2PdPYA_J{padding-right:9px}.range-2PdPYA_J .valueInput-2PdPYA_J .rangeSlider_mixed-2PdPYA_J{--range-slider-middle-bg:#e0e3eb}html.theme-dark .range-2PdPYA_J .valueInput-2PdPYA_J .rangeSlider_mixed-2PdPYA_J{--range-slider-middle-bg:#434651}.range-2PdPYA_J .valueInput-2PdPYA_J .input-2PdPYA_J{flex:none;width:100px}.input-1y54fm74{width:100px}.control-1y54fm74{margin-left:8px}.control-1y54fm74:last-child{margin-left:0}.item-1y54fm74{display:flex;flex:none;margin-bottom:8px;margin-left:48px}.cell-1y54fm74{margin-left:-48px;max-width:460px}.fragmentCell-1y54fm74{flex-wrap:wrap;margin-bottom:-8px}.withTitle-1y54fm74{margin-left:25px}.title-1y54fm74{display:inline-block;width:35px}.dropdown-T1V4i3sE{width:100px}.menu-T1V4i3sE{min-width:100px}.wrapper-2ESZuAbX{align-items:center;border-radius:4px;color:#131722;display:flex;height:38px;justify-content:center;position:relative;width:38px}html.theme-dark .wrapper-2ESZuAbX{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-2ESZuAbX:hover{background-color:#f0f3fa}html.theme-dark .wrapper-2ESZuAbX:hover{background-color:#2a2e39}}.isActive-2ESZuAbX,html.theme-dark .isActive-2ESZuAbX{color:#2962ff}.isActive-2ESZuAbX:after{background-color:currentColor;content:"";height:4px;left:0;position:absolute;right:0;top:100%}.wrapper-30HPnwk9{border-bottom:1px solid #e0e3eb;display:flex;padding:6px 6px 4px}html.theme-dark .wrapper-30HPnwk9{border-bottom:1px solid #434651}.wrapper-1ecGiBuB{align-items:center;box-sizing:border-box;color:#787b86;display:flex;font-size:11px;height:100%;padding:6px 16px 0 6px;text-transform:uppercase}.wrapper-1-S6uQxU{align-items:center;border-radius:4px;display:flex;flex-shrink:0;justify-content:center}.emoji-1-S6uQxU{-webkit-touch-callout:none;display:block}.wrapper-2uFJv5Fz{align-items:center;display:flex;height:100%;overflow:hidden;padding:0 6px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.emojiItem-2uFJv5Fz:hover{background-color:#f0f3fa}html.theme-dark .emojiItem-2uFJv5Fz:hover{background-color:#2a2e39}}.list-tOao0Vo7{content-visibility:auto;overscroll-behavior:none;will-change:contents}@media (pointer:fine){.list-tOao0Vo7{scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .list-tOao0Vo7{scrollbar-color:#363a45 #0000}.list-tOao0Vo7::-webkit-scrollbar{height:5px;width:5px}.list-tOao0Vo7::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .list-tOao0Vo7::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.list-tOao0Vo7::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.list-tOao0Vo7::-webkit-scrollbar-corner{display:none}}.wrapper-3G6q-JGM{background-color:#fff;border-radius:6px}html.theme-dark .wrapper-3G6q-JGM{background-color:#1e222d}.wrapper-1MlnSDA4{align-items:center;border-color:#d1d4dc;border-radius:4px;border-style:solid;box-sizing:border-box;display:inline-flex;margin:0;position:relative}html.theme-dark .wrapper-1MlnSDA4{border-color:#50535e}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-1MlnSDA4:hover{border-color:#a3a6af}html.theme-dark .wrapper-1MlnSDA4:hover{border-color:#6a6d78}}.wrapper-1MlnSDA4.focused-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.focused-1MlnSDA4{border-color:#2962ff}.wrapper-1MlnSDA4.readonly-1MlnSDA4{background-color:#f0f3fa;border-color:#d1d4dc}html.theme-dark .wrapper-1MlnSDA4.readonly-1MlnSDA4{background-color:#2a2e39;border-color:#50535e}.wrapper-1MlnSDA4.disabled-1MlnSDA4{background-color:#f0f3fa;border-color:#d1d4dc;color:#b2b5be}html.theme-dark .wrapper-1MlnSDA4.disabled-1MlnSDA4{background-color:#2a2e39;border-color:#50535e;color:#50535e}.wrapper-1MlnSDA4.size-small-1MlnSDA4{height:24px}.wrapper-1MlnSDA4.size-medium-1MlnSDA4{height:34px}.wrapper-1MlnSDA4.size-large-1MlnSDA4{height:48px}.wrapper-1MlnSDA4.font-size-medium-1MlnSDA4,.wrapper-1MlnSDA4.font-size-small-1MlnSDA4{font-size:14px;line-height:20px}.wrapper-1MlnSDA4.font-size-large-1MlnSDA4{font-size:16px;line-height:24px}.wrapper-1MlnSDA4.border-none-1MlnSDA4{border-width:0}.wrapper-1MlnSDA4.border-none-1MlnSDA4 .shadow-1MlnSDA4{margin:0}.wrapper-1MlnSDA4.border-thin-1MlnSDA4{border-width:1px}.wrapper-1MlnSDA4.border-thin-1MlnSDA4 .shadow-1MlnSDA4{margin:-1px}.wrapper-1MlnSDA4.border-thick-1MlnSDA4{border-width:2px}.wrapper-1MlnSDA4.border-thick-1MlnSDA4 .shadow-1MlnSDA4{margin:-2px}.wrapper-1MlnSDA4.intent-default-1MlnSDA4 .shadow-1MlnSDA4{border-color:#d1d4dc}html.theme-dark .wrapper-1MlnSDA4.intent-default-1MlnSDA4 .shadow-1MlnSDA4{border-color:#50535e}.wrapper-1MlnSDA4.intent-success-1MlnSDA4,.wrapper-1MlnSDA4.intent-success-1MlnSDA4 .shadow-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-success-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-success-1MlnSDA4 .shadow-1MlnSDA4{border-color:#06806b}.wrapper-1MlnSDA4.intent-warning-1MlnSDA4,.wrapper-1MlnSDA4.intent-warning-1MlnSDA4 .shadow-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-warning-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-warning-1MlnSDA4 .shadow-1MlnSDA4{border-color:#ff9800}.wrapper-1MlnSDA4.intent-danger-1MlnSDA4{border-color:#f23645}html.theme-dark .wrapper-1MlnSDA4.intent-danger-1MlnSDA4{border-color:#b22833}.wrapper-1MlnSDA4.intent-danger-1MlnSDA4 .shadow-1MlnSDA4{border-color:#f23645}html.theme-dark .wrapper-1MlnSDA4.intent-danger-1MlnSDA4 .shadow-1MlnSDA4{border-color:#b22833}.wrapper-1MlnSDA4.intent-primary-1MlnSDA4,.wrapper-1MlnSDA4.intent-primary-1MlnSDA4 .shadow-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-primary-1MlnSDA4,html.theme-dark .wrapper-1MlnSDA4.intent-primary-1MlnSDA4 .shadow-1MlnSDA4{border-color:#2962ff}.wrapper-1MlnSDA4.corner-top-left-1MlnSDA4{border-top-right-radius:0}.wrapper-1MlnSDA4.corner-top-right-1MlnSDA4{border-top-left-radius:0}.wrapper-1MlnSDA4.corner-bottom-right-1MlnSDA4{border-bottom-left-radius:0}.wrapper-1MlnSDA4.corner-bottom-left-1MlnSDA4{border-bottom-right-radius:0}.shadow-1MlnSDA4{border:2px solid;border-radius:4px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.shadow-1MlnSDA4.corner-top-left-1MlnSDA4{border-top-right-radius:0}.shadow-1MlnSDA4.corner-top-right-1MlnSDA4{border-top-left-radius:0}.shadow-1MlnSDA4.corner-bottom-right-1MlnSDA4{border-bottom-left-radius:0}.shadow-1MlnSDA4.corner-bottom-left-1MlnSDA4{border-bottom-right-radius:0}.childrenContainer-1MlnSDA4.disabled-1MlnSDA4{opacity:.5}.desktopSize--UxMOnMB{width:355px}.drawer--UxMOnMB,.menuBox--UxMOnMB{padding:0}.wrapper-2F4fv0AC{align-items:center;display:flex}.checkbox-2F4fv0AC{margin-left:20px}.colorSelect-2F4fv0AC{margin-right:8px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png b/public/static/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png new file mode 100644 index 0000000..f12b96f Binary files /dev/null and b/public/static/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png differ diff --git a/public/static/charting_library/bundles/9256.c6fbca120598828685f3.css b/public/static/charting_library/bundles/9256.c6fbca120598828685f3.css new file mode 100644 index 0000000..a606aad --- /dev/null +++ b/public/static/charting_library/bundles/9256.c6fbca120598828685f3.css @@ -0,0 +1 @@ +.container-12vIMEmh{height:100%;min-width:0;overflow-x:hidden;position:relative;width:100%}.title-1gYObTuJ{color:#131722;font-size:14px;margin-left:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-1gYObTuJ.disabled-1gYObTuJ,html.theme-dark .title-1gYObTuJ{color:#b2b5be}html.theme-dark .title-1gYObTuJ.disabled-1gYObTuJ{color:#50535e}.icon-1gYObTuJ{font-size:0;margin-left:4px}.icon-1gYObTuJ.locked-1gYObTuJ{color:#f7525f}.icon-1gYObTuJ.open-1gYObTuJ{color:#22ab94}.actionIcon-1gYObTuJ+.actionIcon-1gYObTuJ{margin-left:4px}.actionIcon-1gYObTuJ.selected-1gYObTuJ{--tv-list-item-button-background-hover-color:#90bff9}html.theme-dark .actionIcon-1gYObTuJ.selected-1gYObTuJ{--tv-list-item-button-background-hover-color:#143a87}@media screen and (max-height:445px),screen and (max-width:567px){.codeIcon-1gYObTuJ{display:none}}@keyframes highlight-animation-theme-light-3Ywm3-oo{0%{background-color:initial}30%{background-color:#e3effd}60%{background-color:initial}to{background-color:#bbd9fb}}@keyframes highlight-animation-theme-dark-3Ywm3-oo{0%{background-color:initial}30%{background-color:#132042}60%{background-color:initial}to{background-color:#142e61}}.container-3Ywm3-oo{align-items:center;box-sizing:border-box;cursor:default;display:flex;height:32px;padding-left:6px;padding-right:16px}.container-3Ywm3-oo.selected-3Ywm3-oo{background-color:#bbd9fb}html.theme-dark .container-3Ywm3-oo.selected-3Ywm3-oo{background-color:#142e61}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover{background-color:#f0f3fa}html.theme-dark .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover{background-color:#2a2e39}.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover .favorite-3Ywm3-oo{visibility:visible}.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo{background-color:#bbd9fb}html.theme-dark .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo{background-color:#142e61}.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo .favorite-3Ywm3-oo:hover{background-color:#90bff9}html.theme-dark .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo .favorite-3Ywm3-oo:hover{background-color:#143a87}.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover .actions-3Ywm3-oo{visibility:visible}}.container-3Ywm3-oo.highlighted-3Ywm3-oo{animation-duration:.8s;animation-fill-mode:forwards;animation-iteration-count:1}.container-3Ywm3-oo.highlighted-3Ywm3-oo.light-3Ywm3-oo{animation-name:highlight-animation-theme-light-3Ywm3-oo}.container-3Ywm3-oo.highlighted-3Ywm3-oo.dark-3Ywm3-oo{animation-name:highlight-animation-theme-dark-3Ywm3-oo}@media screen and (max-width:428px){.container-3Ywm3-oo{height:40px}}.badge-3Ywm3-oo{margin-left:4px}.main-3Ywm3-oo{align-items:center;display:flex;flex:1 1 auto;margin-right:auto;min-width:0}.main-3Ywm3-oo.paddingLeft-3Ywm3-oo{padding-left:22px}.favorite-3Ywm3-oo{visibility:hidden}@media (pointer:coarse){.favorite-3Ywm3-oo{visibility:visible}}.favorite-3Ywm3-oo.isActive-3Ywm3-oo{visibility:visible}.author-3Ywm3-oo{color:#2962ff;cursor:default;flex-basis:100px;margin-left:24px;min-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .author-3Ywm3-oo{color:#2962ff}.likes-3Ywm3-oo{color:#131722;flex-basis:50px;margin-left:24px;min-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .likes-3Ywm3-oo{color:#b2b5be}.actions-3Ywm3-oo{display:flex;flex-basis:44px;justify-content:flex-end;margin-left:24px;min-width:44px;visibility:hidden}@media (pointer:coarse){.actions-3Ywm3-oo{visibility:visible}}.title-hq9up-8e{color:#787b86;font-size:11px;font-weight:400;letter-spacing:.4px;line-height:16px;margin:0;text-transform:uppercase;white-space:nowrap}html.theme-dark .title-hq9up-8e{color:#787b86}.title-hq9up-8e:first-child{margin-right:auto}.title-hq9up-8e+.title-hq9up-8e{margin-left:24px}.title-hq9up-8e.small-hq9up-8e{width:50px}.title-hq9up-8e.normal-hq9up-8e{width:100px}.title-hq9up-8e.large-hq9up-8e{width:150px}.container-gb0TB1FN{box-sizing:border-box;cursor:default;display:flex;padding:16px 84px 8px 32px}.container-39xfFXyr{align-items:center;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center}.image-39xfFXyr{margin-bottom:8px}.title-39xfFXyr{color:#000;font-size:20px;font-weight:700;margin:0 0 16px}html.theme-dark .title-39xfFXyr{color:#b2b5be}.description-39xfFXyr{color:#000;font-size:16px;line-height:24px;margin:0}html.theme-dark .description-39xfFXyr{color:#b2b5be}.button-39xfFXyr{cursor:default;margin-top:24px}.dialog-3kc5LZDR{height:600px;max-width:840px;width:calc(100% - 20px)}.dialogLibrary-3kc5LZDR{height:600px}.contentContainer-3kc5LZDR{display:flex;flex-flow:column;height:100%;overflow:auto;width:100%}.listContainer-3kc5LZDR::-webkit-scrollbar{height:5px;width:5px}.listContainer-3kc5LZDR::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .listContainer-3kc5LZDR::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.listContainer-3kc5LZDR::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.listContainer-3kc5LZDR::-webkit-scrollbar-corner{display:none}.scroll-3kc5LZDR::-webkit-scrollbar{height:5px;width:5px}.scroll-3kc5LZDR::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scroll-3kc5LZDR::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scroll-3kc5LZDR::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scroll-3kc5LZDR::-webkit-scrollbar-corner{display:none}@media screen and (max-width:428px){.scroll-3kc5LZDR{box-sizing:border-box;padding-bottom:6px;padding-top:6px}}.sidebarContainer-3kc5LZDR{padding-bottom:6px;padding-top:6px}.noContentBlock-3kc5LZDR{box-sizing:border-box;min-height:100%;padding:24px 40px 60px}.tabWithHint-3kc5LZDR{height:0;position:relative;top:20px}@media screen and (max-width:428px){.tabWithHint-3kc5LZDR{top:56px}}.solution-3kc5LZDR{margin-left:5px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9256.c6fbca120598828685f3.rtl.css b/public/static/charting_library/bundles/9256.c6fbca120598828685f3.rtl.css new file mode 100644 index 0000000..ab7b7f7 --- /dev/null +++ b/public/static/charting_library/bundles/9256.c6fbca120598828685f3.rtl.css @@ -0,0 +1 @@ +.container-12vIMEmh{height:100%;min-width:0;overflow-x:hidden;position:relative;width:100%}.title-1gYObTuJ{color:#131722;font-size:14px;margin-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-1gYObTuJ.disabled-1gYObTuJ,html.theme-dark .title-1gYObTuJ{color:#b2b5be}html.theme-dark .title-1gYObTuJ.disabled-1gYObTuJ{color:#50535e}.icon-1gYObTuJ{font-size:0;margin-right:4px}.icon-1gYObTuJ.locked-1gYObTuJ{color:#f7525f}.icon-1gYObTuJ.open-1gYObTuJ{color:#22ab94}.actionIcon-1gYObTuJ+.actionIcon-1gYObTuJ{margin-right:4px}.actionIcon-1gYObTuJ.selected-1gYObTuJ{--tv-list-item-button-background-hover-color:#90bff9}html.theme-dark .actionIcon-1gYObTuJ.selected-1gYObTuJ{--tv-list-item-button-background-hover-color:#143a87}@media screen and (max-height:445px),screen and (max-width:567px){.codeIcon-1gYObTuJ{display:none}}@keyframes highlight-animation-theme-light-3Ywm3-oo{0%{background-color:initial}30%{background-color:#e3effd}60%{background-color:initial}to{background-color:#bbd9fb}}@keyframes highlight-animation-theme-dark-3Ywm3-oo{0%{background-color:initial}30%{background-color:#132042}60%{background-color:initial}to{background-color:#142e61}}.container-3Ywm3-oo{align-items:center;box-sizing:border-box;cursor:default;display:flex;height:32px;padding-left:16px;padding-right:6px}.container-3Ywm3-oo.selected-3Ywm3-oo{background-color:#bbd9fb}html.theme-dark .container-3Ywm3-oo.selected-3Ywm3-oo{background-color:#142e61}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover{background-color:#f0f3fa}html.theme-dark .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover{background-color:#2a2e39}.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover .favorite-3Ywm3-oo{visibility:visible}.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo{background-color:#bbd9fb}html.theme-dark .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo{background-color:#142e61}.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo .favorite-3Ywm3-oo:hover{background-color:#90bff9}html.theme-dark .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo .favorite-3Ywm3-oo:hover{background-color:#143a87}.container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover .actions-3Ywm3-oo{visibility:visible}}.container-3Ywm3-oo.highlighted-3Ywm3-oo{animation-duration:.8s;animation-fill-mode:forwards;animation-iteration-count:1}.container-3Ywm3-oo.highlighted-3Ywm3-oo.light-3Ywm3-oo{animation-name:highlight-animation-theme-light-3Ywm3-oo}.container-3Ywm3-oo.highlighted-3Ywm3-oo.dark-3Ywm3-oo{animation-name:highlight-animation-theme-dark-3Ywm3-oo}@media screen and (max-width:428px){.container-3Ywm3-oo{height:40px}}.badge-3Ywm3-oo{margin-right:4px}.main-3Ywm3-oo{align-items:center;display:flex;flex:1 1 auto;margin-left:auto;min-width:0}.main-3Ywm3-oo.paddingLeft-3Ywm3-oo{padding-right:22px}.favorite-3Ywm3-oo{visibility:hidden}@media (pointer:coarse){.favorite-3Ywm3-oo{visibility:visible}}.favorite-3Ywm3-oo.isActive-3Ywm3-oo{visibility:visible}.author-3Ywm3-oo{color:#2962ff;cursor:default;flex-basis:100px;margin-right:24px;min-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .author-3Ywm3-oo{color:#2962ff}.likes-3Ywm3-oo{color:#131722;flex-basis:50px;margin-right:24px;min-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.theme-dark .likes-3Ywm3-oo{color:#b2b5be}.actions-3Ywm3-oo{display:flex;flex-basis:44px;justify-content:flex-end;margin-right:24px;min-width:44px;visibility:hidden}@media (pointer:coarse){.actions-3Ywm3-oo{visibility:visible}}.title-hq9up-8e{color:#787b86;font-size:11px;font-weight:400;letter-spacing:.4px;line-height:16px;margin:0;text-transform:uppercase;white-space:nowrap}html.theme-dark .title-hq9up-8e{color:#787b86}.title-hq9up-8e:first-child{margin-left:auto}.title-hq9up-8e+.title-hq9up-8e{margin-right:24px}.title-hq9up-8e.small-hq9up-8e{width:50px}.title-hq9up-8e.normal-hq9up-8e{width:100px}.title-hq9up-8e.large-hq9up-8e{width:150px}.container-gb0TB1FN{box-sizing:border-box;cursor:default;display:flex;padding:16px 32px 8px 84px}.container-39xfFXyr{align-items:center;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center}.image-39xfFXyr{margin-bottom:8px}.title-39xfFXyr{color:#000;font-size:20px;font-weight:700;margin:0 0 16px}html.theme-dark .title-39xfFXyr{color:#b2b5be}.description-39xfFXyr{color:#000;font-size:16px;line-height:24px;margin:0}html.theme-dark .description-39xfFXyr{color:#b2b5be}.button-39xfFXyr{cursor:default;margin-top:24px}.dialog-3kc5LZDR{height:600px;max-width:840px;width:calc(100% - 20px)}.dialogLibrary-3kc5LZDR{height:600px}.contentContainer-3kc5LZDR{display:flex;flex-flow:column;height:100%;overflow:auto;width:100%}.listContainer-3kc5LZDR::-webkit-scrollbar{height:5px;width:5px}.listContainer-3kc5LZDR::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .listContainer-3kc5LZDR::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.listContainer-3kc5LZDR::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.listContainer-3kc5LZDR::-webkit-scrollbar-corner{display:none}.scroll-3kc5LZDR::-webkit-scrollbar{height:5px;width:5px}.scroll-3kc5LZDR::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .scroll-3kc5LZDR::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.scroll-3kc5LZDR::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scroll-3kc5LZDR::-webkit-scrollbar-corner{display:none}@media screen and (max-width:428px){.scroll-3kc5LZDR{box-sizing:border-box;padding-bottom:6px;padding-top:6px}}.sidebarContainer-3kc5LZDR{padding-bottom:6px;padding-top:6px}.noContentBlock-3kc5LZDR{box-sizing:border-box;min-height:100%;padding:24px 40px 60px}.tabWithHint-3kc5LZDR{height:0;position:relative;top:20px}@media screen and (max-width:428px){.tabWithHint-3kc5LZDR{top:56px}}.solution-3kc5LZDR{margin-right:5px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.css b/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.css new file mode 100644 index 0000000..1231108 --- /dev/null +++ b/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.css @@ -0,0 +1 @@ +.errors-3rBjZvef{background-color:#2a2e39;border-radius:3px;box-sizing:border-box;color:#fff;opacity:0;padding:10px 15px;pointer-events:none;position:absolute;text-align:center;z-index:2}html.theme-dark .errors-3rBjZvef{background-color:#363c4e}.errors-3rBjZvef:empty{display:none}.errors-3rBjZvef.show-3rBjZvef{opacity:1}.errors-3rBjZvef .error-3rBjZvef{font-size:12px;line-height:1.4;margin-top:10px;text-transform:none;word-break:break-word}.errors-3rBjZvef .error-3rBjZvef:first-child{margin-top:0}.error-icon-3x-w99oG{display:inline-flex}.error-icon-3x-w99oG.intent-danger-3x-w99oG{color:#f23645}html.theme-dark .error-icon-3x-w99oG.intent-danger-3x-w99oG{color:#b22833}.error-icon-3x-w99oG.intent-warning-3x-w99oG,html.theme-dark .error-icon-3x-w99oG.intent-warning-3x-w99oG{color:#ff9800}.error-icon-3x-w99oG svg{height:16px;width:16px}.static-messages-1hgcN2c2{flex-flow:column nowrap;font-size:12px;font-style:normal;font-weight:400;line-height:17px}.static-messages-1hgcN2c2.errors-1hgcN2c2{color:#f23645}html.theme-dark .static-messages-1hgcN2c2.errors-1hgcN2c2{color:#b22833}.static-messages-1hgcN2c2.warnings-1hgcN2c2,html.theme-dark .static-messages-1hgcN2c2.warnings-1hgcN2c2{color:#ff9800}.static-messages-1hgcN2c2 .message-1hgcN2c2{margin:0} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.rtl.css b/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.rtl.css new file mode 100644 index 0000000..1231108 --- /dev/null +++ b/public/static/charting_library/bundles/9305.009b7d4c21c45de9ca48.rtl.css @@ -0,0 +1 @@ +.errors-3rBjZvef{background-color:#2a2e39;border-radius:3px;box-sizing:border-box;color:#fff;opacity:0;padding:10px 15px;pointer-events:none;position:absolute;text-align:center;z-index:2}html.theme-dark .errors-3rBjZvef{background-color:#363c4e}.errors-3rBjZvef:empty{display:none}.errors-3rBjZvef.show-3rBjZvef{opacity:1}.errors-3rBjZvef .error-3rBjZvef{font-size:12px;line-height:1.4;margin-top:10px;text-transform:none;word-break:break-word}.errors-3rBjZvef .error-3rBjZvef:first-child{margin-top:0}.error-icon-3x-w99oG{display:inline-flex}.error-icon-3x-w99oG.intent-danger-3x-w99oG{color:#f23645}html.theme-dark .error-icon-3x-w99oG.intent-danger-3x-w99oG{color:#b22833}.error-icon-3x-w99oG.intent-warning-3x-w99oG,html.theme-dark .error-icon-3x-w99oG.intent-warning-3x-w99oG{color:#ff9800}.error-icon-3x-w99oG svg{height:16px;width:16px}.static-messages-1hgcN2c2{flex-flow:column nowrap;font-size:12px;font-style:normal;font-weight:400;line-height:17px}.static-messages-1hgcN2c2.errors-1hgcN2c2{color:#f23645}html.theme-dark .static-messages-1hgcN2c2.errors-1hgcN2c2{color:#b22833}.static-messages-1hgcN2c2.warnings-1hgcN2c2,html.theme-dark .static-messages-1hgcN2c2.warnings-1hgcN2c2{color:#ff9800}.static-messages-1hgcN2c2 .message-1hgcN2c2{margin:0} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.css b/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.css new file mode 100644 index 0000000..665496e --- /dev/null +++ b/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.css @@ -0,0 +1 @@ +.group-3uonVBsm{align-items:center;background-color:var(--tv-color-pane-background,#fff);border-radius:0;cursor:default;display:flex;flex:0 0 auto;height:100%;justify-content:center;margin-left:1px;min-width:37px;overflow:hidden}html.theme-dark .group-3uonVBsm{background-color:var(--tv-color-pane-background,#131722)}.group-3uonVBsm:first-child{border-bottom-left-radius:0;margin-left:0}.group-3uonVBsm:last-child{border-bottom-right-radius:0;margin-right:0}.group-3uonVBsm.noLeftDecoration-3uonVBsm{border-bottom-left-radius:0;margin-left:0}.group-3uonVBsm.noRightDecoration-3uonVBsm{border-bottom-right-radius:0;margin-right:0}.group-3uonVBsm.noMinimalWidth-3uonVBsm{min-width:0}.group-3uonVBsm.newStyles-3uonVBsm{margin-left:0}.group-3uonVBsm.newStyles-3uonVBsm:first-child .separator-3uonVBsm{display:none}.separatorWrap-3uonVBsm{align-items:center;background-color:var(--tv-color-pane-background,#fff);display:flex}html.theme-dark .separatorWrap-3uonVBsm{background-color:var(--tv-color-pane-background,#131722)}.separatorWrap-3uonVBsm:first-child{display:none}.separator-3uonVBsm{background-color:#e0e3eb;height:22px;margin:auto 4px;width:1px}html.theme-dark .separator-3uonVBsm{background-color:#434651}.wrap-1ETeWwz2{display:flex;flex:1 1 auto;height:38px;min-width:0}.wrap-35jKyg6w{align-items:center;color:#8797a5;cursor:default;display:flex}html.theme-dark .wrap-35jKyg6w{color:#8797a5}.wrap-35jKyg6w .icon-35jKyg6w{margin:0 1px 0 8px}.wrap-35jKyg6w svg{fill:currentColor}.inner-i5o9yNmy{display:flex;height:100%}.fake-i5o9yNmy{height:38px;left:0;position:fixed;top:0;visibility:hidden}.fill-i5o9yNmy{flex:1 1 100%;min-width:0}.fill-i5o9yNmy.collapse-i5o9yNmy{flex:0 0 0%}.button-i5o9yNmy{padding:0 10px 0 5px}.iconButton-i5o9yNmy{padding:0 5px}.hidden-i5o9yNmy{display:none}.content-i5o9yNmy{display:table;height:100%;position:relative;white-space:nowrap;width:100%}.desktopPublish-i5o9yNmy{display:flex}@media screen and (max-width:1019px){.desktopPublish-i5o9yNmy{display:none}}.mobilePublish-i5o9yNmy{display:none}@media screen and (max-width:1019px){.mobilePublish-i5o9yNmy{display:flex}}.toolbar-LZaMRgb9{font-size:14px;height:100%;padding:0;position:relative}.toolbar-LZaMRgb9.isHidden-LZaMRgb9,html.theme-dark .toolbar-LZaMRgb9.isHidden-LZaMRgb9{background-color:initial}.toolbar-LZaMRgb9.isHidden-LZaMRgb9 .overflowWrap-LZaMRgb9{display:none}.overflowWrap-LZaMRgb9{height:38px;overflow:hidden}.customButton-LZaMRgb9{color:#131722;padding:0 10px}html.theme-dark .customButton-LZaMRgb9{color:#b2b5be}.customButton-LZaMRgb9.hovered-LZaMRgb9,.customButton-LZaMRgb9:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.customButton-LZaMRgb9:hover{color:#131722}}html.theme-dark .customButton-LZaMRgb9.hovered-LZaMRgb9,html.theme-dark .customButton-LZaMRgb9:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .customButton-LZaMRgb9:hover{color:#c1c4cd}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.rtl.css b/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.rtl.css new file mode 100644 index 0000000..9cd6628 --- /dev/null +++ b/public/static/charting_library/bundles/9354.a21ae4055d6f7729f892.rtl.css @@ -0,0 +1 @@ +.group-3uonVBsm{align-items:center;background-color:var(--tv-color-pane-background,#fff);border-radius:0;cursor:default;display:flex;flex:0 0 auto;height:100%;justify-content:center;margin-right:1px;min-width:37px;overflow:hidden}html.theme-dark .group-3uonVBsm{background-color:var(--tv-color-pane-background,#131722)}.group-3uonVBsm:first-child{border-bottom-right-radius:0;margin-right:0}.group-3uonVBsm:last-child{border-bottom-left-radius:0;margin-left:0}.group-3uonVBsm.noLeftDecoration-3uonVBsm{border-bottom-right-radius:0;margin-right:0}.group-3uonVBsm.noRightDecoration-3uonVBsm{border-bottom-left-radius:0;margin-left:0}.group-3uonVBsm.noMinimalWidth-3uonVBsm{min-width:0}.group-3uonVBsm.newStyles-3uonVBsm{margin-right:0}.group-3uonVBsm.newStyles-3uonVBsm:first-child .separator-3uonVBsm{display:none}.separatorWrap-3uonVBsm{align-items:center;background-color:var(--tv-color-pane-background,#fff);display:flex}html.theme-dark .separatorWrap-3uonVBsm{background-color:var(--tv-color-pane-background,#131722)}.separatorWrap-3uonVBsm:first-child{display:none}.separator-3uonVBsm{background-color:#e0e3eb;height:22px;margin:auto 4px;width:1px}html.theme-dark .separator-3uonVBsm{background-color:#434651}.wrap-1ETeWwz2{display:flex;flex:1 1 auto;height:38px;min-width:0}.wrap-35jKyg6w{align-items:center;color:#8797a5;cursor:default;display:flex}html.theme-dark .wrap-35jKyg6w{color:#8797a5}.wrap-35jKyg6w .icon-35jKyg6w{margin:0 8px 0 1px}.wrap-35jKyg6w svg{fill:currentColor}.inner-i5o9yNmy{display:flex;height:100%}.fake-i5o9yNmy{height:38px;position:fixed;right:0;top:0;visibility:hidden}.fill-i5o9yNmy{flex:1 1 100%;min-width:0}.fill-i5o9yNmy.collapse-i5o9yNmy{flex:0 0 0%}.button-i5o9yNmy{padding:0 5px 0 10px}.iconButton-i5o9yNmy{padding:0 5px}.hidden-i5o9yNmy{display:none}.content-i5o9yNmy{display:table;height:100%;position:relative;white-space:nowrap;width:100%}.desktopPublish-i5o9yNmy{display:flex}@media screen and (max-width:1019px){.desktopPublish-i5o9yNmy{display:none}}.mobilePublish-i5o9yNmy{display:none}@media screen and (max-width:1019px){.mobilePublish-i5o9yNmy{display:flex}}.toolbar-LZaMRgb9{font-size:14px;height:100%;padding:0;position:relative}.toolbar-LZaMRgb9.isHidden-LZaMRgb9,html.theme-dark .toolbar-LZaMRgb9.isHidden-LZaMRgb9{background-color:initial}.toolbar-LZaMRgb9.isHidden-LZaMRgb9 .overflowWrap-LZaMRgb9{display:none}.overflowWrap-LZaMRgb9{height:38px;overflow:hidden}.customButton-LZaMRgb9{color:#131722;padding:0 10px}html.theme-dark .customButton-LZaMRgb9{color:#b2b5be}.customButton-LZaMRgb9.hovered-LZaMRgb9,.customButton-LZaMRgb9:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.customButton-LZaMRgb9:hover{color:#131722}}html.theme-dark .customButton-LZaMRgb9.hovered-LZaMRgb9,html.theme-dark .customButton-LZaMRgb9:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .customButton-LZaMRgb9:hover{color:#c1c4cd}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.css b/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.css new file mode 100644 index 0000000..97358c1 --- /dev/null +++ b/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.css @@ -0,0 +1 @@ +.row-PABCY1cG{grid-gap:12px;display:grid;grid-template-columns:150px 100px;margin-bottom:16px;padding-left:20px;padding-right:20px}.mobileRow-PABCY1cG{justify-content:flex-start;padding-left:20px}.calendar-3r0qUNSu{background-color:#fff;box-sizing:border-box;color:#131722;cursor:default;direction:ltr;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;height:100%;padding:12px;-webkit-user-select:none;user-select:none;width:286px}html.theme-dark .calendar-3r0qUNSu{background-color:#1e222d;color:#b2b5be}.popupStyle-3r0qUNSu{background-color:#fff;border-radius:3px;box-shadow:0 2px 4px #0003}html.theme-dark .popupStyle-3r0qUNSu{background-color:#1e222d;box-shadow:0 2px 4px #0006}.header-3r0qUNSu{align-items:center;display:flex;justify-content:space-between;padding-left:3px;padding-right:3px}.header-3r0qUNSu .title-3r0qUNSu{font-size:16px;line-height:24px;max-width:160px}.header-3r0qUNSu .switchBtn-3r0qUNSu{border-radius:4px;cursor:pointer;font-size:0;margin:-3px;padding:3px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.header-3r0qUNSu .switchBtn-3r0qUNSu:hover{background-color:#f0f3fa}html.theme-dark .header-3r0qUNSu .switchBtn-3r0qUNSu:hover{background-color:#2a2e39}}.header-3r0qUNSu .switchBtn-3r0qUNSu.prev-3r0qUNSu{transform:scale(-1)}.month-3r0qUNSu{display:flex;flex-direction:column}.month-3r0qUNSu .weekdays-3r0qUNSu{align-items:center;background-color:#f8f9fd;border-radius:4px;display:flex;justify-content:space-between;margin-top:12px;padding-bottom:2px;padding-top:2px}html.theme-dark .month-3r0qUNSu .weekdays-3r0qUNSu{background-color:#2a2e39}.month-3r0qUNSu .weekdays-3r0qUNSu>span{color:#787b86;font-size:13px;line-height:20px;text-align:center;width:34px}.month-3r0qUNSu .weeks-3r0qUNSu{display:flex;flex-direction:column;margin-top:12px}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu{display:flex;justify-content:space-between}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu:first-child .day-3r0qUNSu+.day-3r0qUNSu,.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu:last-child .day-3r0qUNSu+.day-3r0qUNSu{margin-left:4px}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu:first-child{justify-content:flex-end}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu:last-child{justify-content:flex-start}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu+.week-3r0qUNSu{margin-top:4px}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;font-size:14px;height:34px;justify-content:center;width:34px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu:hover:not(.disabled-3r0qUNSu):not(.selected-3r0qUNSu){background-color:#f0f3fa}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu:hover:not(.disabled-3r0qUNSu):not(.selected-3r0qUNSu){background-color:#2a2e39}}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.disabled-3r0qUNSu{color:#b2b5be;cursor:not-allowed}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.disabled-3r0qUNSu{color:#50535e}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.currentDay-3r0qUNSu{color:#2962ff;position:relative}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.currentDay-3r0qUNSu:after{background-color:#2962ff;border-radius:1px;bottom:5px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:20px}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.currentDay-3r0qUNSu:after{background-color:#2962ff}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.isOnHighlightedEdge-3r0qUNSu:not(.selected-3r0qUNSu){background-color:#e3effd;border:2px solid #2962ff}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.isOnHighlightedEdge-3r0qUNSu:not(.selected-3r0qUNSu){background-color:#132042;border:2px solid #2962ff}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.selected-3r0qUNSu{background-color:#2962ff;color:#fff}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.selected-3r0qUNSu{background-color:#2962ff;color:#f0f3fa}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.selected-3r0qUNSu.currentDay-3r0qUNSu:after{background-color:#fff}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.selected-3r0qUNSu.currentDay-3r0qUNSu:after{background-color:#f0f3fa}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.withinSelectedRange-3r0qUNSu{background-color:#e3effd}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.withinSelectedRange-3r0qUNSu{background-color:#132042}.pickerInput-2oRut0q-{position:relative}.pickerInput-2oRut0q- .icon-2oRut0q-{align-items:center;cursor:pointer;display:inline-flex;opacity:.5;padding:0 6px}.pickerInput-2oRut0q- .icon-2oRut0q- svg{fill:#787b86;height:16px;width:16px}html.theme-dark .pickerInput-2oRut0q- .icon-2oRut0q- svg{fill:#787b86}.pickerInput-2oRut0q- .icon-2oRut0q-.disabled-2oRut0q-{opacity:.1}.picker-2oRut0q-{transition:opacity .2625s ease;z-index:99}.fixed-2oRut0q-{position:fixed}.absolute-2oRut0q-{position:absolute}.nativePicker-2oRut0q-{bottom:0;left:0;margin:0;max-width:100%;min-width:100%;opacity:0;position:absolute;top:0}.tooltip-3y8LFwiB{background-color:#2a2e39;border-radius:2px;color:#f0f3fa;padding:4px 8px;white-space:nowrap}html.theme-dark .tooltip-3y8LFwiB{background-color:#434651}.container-3tk-77P6{display:inline-block;position:relative}.icon-3tk-77P6{color:var(--ui-lib-control-default-slot-color,currentColor);font-size:0}.tooltip-3tk-77P6{bottom:calc(100% + 4px);left:50%;pointer-events:none;position:absolute;transform:translateX(-50%)}.date-3tk-77P6{max-width:150px}.time-3tk-77P6{max-width:100px}.calendar-1NjzAl_S{margin-left:8px;margin-right:8px;padding-bottom:15px;padding-top:1px}.dialogWrapper-C-Wab_3K{min-width:302px}.dialogWrapperSmall-C-Wab_3K{max-width:419px;width:100%}.tabs-C-Wab_3K{padding-top:1px}.content-C-Wab_3K{overflow:auto;padding-top:17px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .content-C-Wab_3K{scrollbar-color:#363a45 #0000}.content-C-Wab_3K::-webkit-scrollbar{height:5px;width:5px}.content-C-Wab_3K::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .content-C-Wab_3K::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.content-C-Wab_3K::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.content-C-Wab_3K::-webkit-scrollbar-corner{display:none}.contentMobile-C-Wab_3K{display:flex;flex-direction:column;flex-grow:1}.bodyWrapper-C-Wab_3K{flex:0 1 201px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.rtl.css b/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.rtl.css new file mode 100644 index 0000000..003e149 --- /dev/null +++ b/public/static/charting_library/bundles/9423.0ad3a6d06b6bac488bb0.rtl.css @@ -0,0 +1 @@ +.row-PABCY1cG{grid-gap:12px;display:grid;grid-template-columns:150px 100px;margin-bottom:16px;padding-left:20px;padding-right:20px}.mobileRow-PABCY1cG{justify-content:flex-start;padding-right:20px}.calendar-3r0qUNSu{background-color:#fff;box-sizing:border-box;color:#131722;cursor:default;direction:ltr;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;height:100%;padding:12px;-webkit-user-select:none;user-select:none;width:286px}html.theme-dark .calendar-3r0qUNSu{background-color:#1e222d;color:#b2b5be}.popupStyle-3r0qUNSu{background-color:#fff;border-radius:3px;box-shadow:0 2px 4px #0003}html.theme-dark .popupStyle-3r0qUNSu{background-color:#1e222d;box-shadow:0 2px 4px #0006}.header-3r0qUNSu{align-items:center;display:flex;justify-content:space-between;padding-left:3px;padding-right:3px}.header-3r0qUNSu .title-3r0qUNSu{font-size:16px;line-height:24px;max-width:160px}.header-3r0qUNSu .switchBtn-3r0qUNSu{border-radius:4px;cursor:pointer;font-size:0;margin:-3px;padding:3px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.header-3r0qUNSu .switchBtn-3r0qUNSu:hover{background-color:#f0f3fa}html.theme-dark .header-3r0qUNSu .switchBtn-3r0qUNSu:hover{background-color:#2a2e39}}.header-3r0qUNSu .switchBtn-3r0qUNSu.prev-3r0qUNSu{transform:scale(-1)}.month-3r0qUNSu{display:flex;flex-direction:column}.month-3r0qUNSu .weekdays-3r0qUNSu{align-items:center;background-color:#f8f9fd;border-radius:4px;display:flex;justify-content:space-between;margin-top:12px;padding-bottom:2px;padding-top:2px}html.theme-dark .month-3r0qUNSu .weekdays-3r0qUNSu{background-color:#2a2e39}.month-3r0qUNSu .weekdays-3r0qUNSu>span{color:#787b86;font-size:13px;line-height:20px;text-align:center;width:34px}.month-3r0qUNSu .weeks-3r0qUNSu{display:flex;flex-direction:column;margin-top:12px}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu{display:flex;justify-content:space-between}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu:first-child .day-3r0qUNSu+.day-3r0qUNSu,.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu:last-child .day-3r0qUNSu+.day-3r0qUNSu{margin-right:4px}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu:first-child{justify-content:flex-end}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu:last-child{justify-content:flex-start}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu+.week-3r0qUNSu{margin-top:4px}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;font-size:14px;height:34px;justify-content:center;width:34px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu:hover:not(.disabled-3r0qUNSu):not(.selected-3r0qUNSu){background-color:#f0f3fa}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu:hover:not(.disabled-3r0qUNSu):not(.selected-3r0qUNSu){background-color:#2a2e39}}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.disabled-3r0qUNSu{color:#b2b5be;cursor:not-allowed}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.disabled-3r0qUNSu{color:#50535e}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.currentDay-3r0qUNSu{color:#2962ff;position:relative}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.currentDay-3r0qUNSu:after{background-color:#2962ff;border-radius:1px;bottom:5px;content:"";height:2px;position:absolute;right:50%;transform:translateX(50%);width:20px}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.currentDay-3r0qUNSu:after{background-color:#2962ff}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.isOnHighlightedEdge-3r0qUNSu:not(.selected-3r0qUNSu){background-color:#e3effd;border:2px solid #2962ff}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.isOnHighlightedEdge-3r0qUNSu:not(.selected-3r0qUNSu){background-color:#132042;border:2px solid #2962ff}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.selected-3r0qUNSu{background-color:#2962ff;color:#fff}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.selected-3r0qUNSu{background-color:#2962ff;color:#f0f3fa}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.selected-3r0qUNSu.currentDay-3r0qUNSu:after{background-color:#fff}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.selected-3r0qUNSu.currentDay-3r0qUNSu:after{background-color:#f0f3fa}.month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.withinSelectedRange-3r0qUNSu{background-color:#e3effd}html.theme-dark .month-3r0qUNSu .weeks-3r0qUNSu .week-3r0qUNSu .day-3r0qUNSu.withinSelectedRange-3r0qUNSu{background-color:#132042}.pickerInput-2oRut0q-{position:relative}.pickerInput-2oRut0q- .icon-2oRut0q-{align-items:center;cursor:pointer;display:inline-flex;opacity:.5;padding:0 6px}.pickerInput-2oRut0q- .icon-2oRut0q- svg{fill:#787b86;height:16px;width:16px}html.theme-dark .pickerInput-2oRut0q- .icon-2oRut0q- svg{fill:#787b86}.pickerInput-2oRut0q- .icon-2oRut0q-.disabled-2oRut0q-{opacity:.1}.picker-2oRut0q-{transition:opacity .2625s ease;z-index:99}.fixed-2oRut0q-{position:fixed}.absolute-2oRut0q-{position:absolute}.nativePicker-2oRut0q-{bottom:0;margin:0;max-width:100%;min-width:100%;opacity:0;position:absolute;right:0;top:0}.tooltip-3y8LFwiB{background-color:#2a2e39;border-radius:2px;color:#f0f3fa;padding:4px 8px;white-space:nowrap}html.theme-dark .tooltip-3y8LFwiB{background-color:#434651}.container-3tk-77P6{display:inline-block;position:relative}.icon-3tk-77P6{color:var(--ui-lib-control-default-slot-color,currentColor);font-size:0}.tooltip-3tk-77P6{bottom:calc(100% + 4px);pointer-events:none;position:absolute;right:50%;transform:translateX(50%)}.date-3tk-77P6{max-width:150px}.time-3tk-77P6{max-width:100px}.calendar-1NjzAl_S{margin-left:8px;margin-right:8px;padding-bottom:15px;padding-top:1px}.dialogWrapper-C-Wab_3K{min-width:302px}.dialogWrapperSmall-C-Wab_3K{max-width:419px;width:100%}.tabs-C-Wab_3K{padding-top:1px}.content-C-Wab_3K{overflow:auto;padding-top:17px;scrollbar-color:#9598a1 #0000;scrollbar-width:thin}html.theme-dark .content-C-Wab_3K{scrollbar-color:#363a45 #0000}.content-C-Wab_3K::-webkit-scrollbar{height:5px;width:5px}.content-C-Wab_3K::-webkit-scrollbar-thumb{background-color:#9598a1;border:1px solid #f0f3fa;border-radius:3px}html.theme-dark .content-C-Wab_3K::-webkit-scrollbar-thumb{background-color:#363a45;border-color:#1e222d}.content-C-Wab_3K::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.content-C-Wab_3K::-webkit-scrollbar-corner{display:none}.contentMobile-C-Wab_3K{display:flex;flex-direction:column;flex-grow:1}.bodyWrapper-C-Wab_3K{flex:0 1 201px} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.css b/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.css new file mode 100644 index 0000000..2b3f39b --- /dev/null +++ b/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.css @@ -0,0 +1 @@ +.item-2IihgTnv{align-items:center;background-color:#fff;color:#131722;cursor:default;display:flex;flex-flow:row nowrap;font-size:14px;padding:2px 10px 2px 8px;transition-property:none;white-space:nowrap}html.theme-dark .item-2IihgTnv{background-color:#1e222d;color:#b2b5be}.item-2IihgTnv.hovered-2IihgTnv,.item-2IihgTnv:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv:hover{color:#131722}}html.theme-dark .item-2IihgTnv.hovered-2IihgTnv,html.theme-dark .item-2IihgTnv:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv:hover{color:#c1c4cd}}.item-2IihgTnv.hovered-2IihgTnv,.item-2IihgTnv:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv:hover{background-color:#f0f3fa}}html.theme-dark .item-2IihgTnv.hovered-2IihgTnv,html.theme-dark .item-2IihgTnv:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv:hover{background-color:#2a2e39}}.item-2IihgTnv.isDisabled-2IihgTnv{cursor:default;opacity:.3}.item-2IihgTnv.isDisabled-2IihgTnv,.item-2IihgTnv.isDisabled-2IihgTnv:active{background-color:#fff;color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isDisabled-2IihgTnv:hover{background-color:#fff;color:#131722}}html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv,html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:active{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:hover{background-color:#1e222d}}html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv,html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:hover{color:#b2b5be}}.item-2IihgTnv.isActive-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active{background-color:#2962ff;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover{background-color:#2962ff;color:#fff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active{background-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover{background-color:#2962ff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active{color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover{color:#d1d4dc}}.item-2IihgTnv.isActive-2IihgTnv .shortcut-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active .shortcut-2IihgTnv{color:#ffffffb3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover .shortcut-2IihgTnv{color:#ffffffb3}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv .shortcut-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active .shortcut-2IihgTnv{color:#131722b3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover .shortcut-2IihgTnv{color:#131722b3}}.item-2IihgTnv.isActive-2IihgTnv .toolbox-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active .toolbox-2IihgTnv{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover .toolbox-2IihgTnv{color:#fff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv .toolbox-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active .toolbox-2IihgTnv{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover .toolbox-2IihgTnv{color:#fff}}.item-2IihgTnv.withIcon-2IihgTnv{padding-bottom:6px;padding-top:6px}.item-2IihgTnv:before{content:" ";display:block;height:28px}.icon-2IihgTnv{align-items:center;display:flex;height:28px;justify-content:center;margin-right:6px;width:28px}.icon-2IihgTnv svg{display:block}.labelRow-2IihgTnv{align-items:baseline;box-sizing:border-box;display:flex;flex:0 1 100%;flex-direction:row;justify-content:space-between;max-width:100%;min-width:0;padding-right:12px}.labelRow-2IihgTnv:first-child{padding-left:4px}.labelRow-2IihgTnv:last-child{padding-right:4px}.label-2IihgTnv{display:flex;flex:0 0 auto;max-width:100%;overflow:hidden}.shortcut-2IihgTnv{color:#9598a1;font-size:12px;margin-right:14px;min-width:27px}html.theme-dark .shortcut-2IihgTnv{color:#5d606b}.toolbox-2IihgTnv{align-items:center;color:#787b86;display:flex;position:relative}html.theme-dark .toolbox-2IihgTnv{color:#787b86}.feature-no-touch .toolbox-2IihgTnv.showOnHover-2IihgTnv{opacity:0}.toolbox-2IihgTnv>:not(:last-child){margin-right:4px}@media screen and (max-width:428px){.toolbox-2IihgTnv>:not(:last-child){margin-right:8px}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.feature-no-touch .item-2IihgTnv:hover .toolbox-2IihgTnv.showOnHover-2IihgTnv{opacity:1}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.rtl.css b/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.rtl.css new file mode 100644 index 0000000..02828a9 --- /dev/null +++ b/public/static/charting_library/bundles/9448.cd38beceb14c87b723f6.rtl.css @@ -0,0 +1 @@ +.item-2IihgTnv{align-items:center;background-color:#fff;color:#131722;cursor:default;display:flex;flex-flow:row nowrap;font-size:14px;padding:2px 8px 2px 10px;transition-property:none;white-space:nowrap}html.theme-dark .item-2IihgTnv{background-color:#1e222d;color:#b2b5be}.item-2IihgTnv.hovered-2IihgTnv,.item-2IihgTnv:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv:hover{color:#131722}}html.theme-dark .item-2IihgTnv.hovered-2IihgTnv,html.theme-dark .item-2IihgTnv:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv:hover{color:#c1c4cd}}.item-2IihgTnv.hovered-2IihgTnv,.item-2IihgTnv:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv:hover{background-color:#f0f3fa}}html.theme-dark .item-2IihgTnv.hovered-2IihgTnv,html.theme-dark .item-2IihgTnv:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv:hover{background-color:#2a2e39}}.item-2IihgTnv.isDisabled-2IihgTnv{cursor:default;opacity:.3}.item-2IihgTnv.isDisabled-2IihgTnv,.item-2IihgTnv.isDisabled-2IihgTnv:active{background-color:#fff;color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isDisabled-2IihgTnv:hover{background-color:#fff;color:#131722}}html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv,html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:active{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:hover{background-color:#1e222d}}html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv,html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:hover{color:#b2b5be}}.item-2IihgTnv.isActive-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active{background-color:#2962ff;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover{background-color:#2962ff;color:#fff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active{background-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover{background-color:#2962ff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active{color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover{color:#d1d4dc}}.item-2IihgTnv.isActive-2IihgTnv .shortcut-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active .shortcut-2IihgTnv{color:#ffffffb3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover .shortcut-2IihgTnv{color:#ffffffb3}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv .shortcut-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active .shortcut-2IihgTnv{color:#131722b3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover .shortcut-2IihgTnv{color:#131722b3}}.item-2IihgTnv.isActive-2IihgTnv .toolbox-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active .toolbox-2IihgTnv{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover .toolbox-2IihgTnv{color:#fff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv .toolbox-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active .toolbox-2IihgTnv{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover .toolbox-2IihgTnv{color:#fff}}.item-2IihgTnv.withIcon-2IihgTnv{padding-bottom:6px;padding-top:6px}.item-2IihgTnv:before{content:" ";display:block;height:28px}.icon-2IihgTnv{align-items:center;display:flex;height:28px;justify-content:center;margin-left:6px;width:28px}.icon-2IihgTnv svg{display:block}.labelRow-2IihgTnv{align-items:baseline;box-sizing:border-box;display:flex;flex:0 1 100%;flex-direction:row;justify-content:space-between;max-width:100%;min-width:0;padding-left:12px}.labelRow-2IihgTnv:first-child{padding-right:4px}.labelRow-2IihgTnv:last-child{padding-left:4px}.label-2IihgTnv{display:flex;flex:0 0 auto;max-width:100%;overflow:hidden}.shortcut-2IihgTnv{color:#9598a1;font-size:12px;margin-left:14px;min-width:27px}html.theme-dark .shortcut-2IihgTnv{color:#5d606b}.toolbox-2IihgTnv{align-items:center;color:#787b86;display:flex;position:relative}html.theme-dark .toolbox-2IihgTnv{color:#787b86}.feature-no-touch .toolbox-2IihgTnv.showOnHover-2IihgTnv{opacity:0}.toolbox-2IihgTnv>:not(:last-child){margin-left:4px}@media screen and (max-width:428px){.toolbox-2IihgTnv>:not(:last-child){margin-left:8px}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.feature-no-touch .item-2IihgTnv:hover .toolbox-2IihgTnv.showOnHover-2IihgTnv{opacity:1}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.css b/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.css new file mode 100644 index 0000000..c56e2f6 --- /dev/null +++ b/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.css @@ -0,0 +1 @@ +.footer-KW8170fm{border-top:1px solid #e0e3eb;display:flex;flex:0 0 auto;padding:16px 20px}html.theme-dark .footer-KW8170fm{border-top:1px solid #434651}@media screen and (max-height:360px){.footer-KW8170fm{padding:10px 20px}}.footer-KW8170fm .submitButton-KW8170fm{padding-left:12px}.footer-KW8170fm .buttons-KW8170fm{margin-left:auto} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.rtl.css b/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.rtl.css new file mode 100644 index 0000000..e22adb1 --- /dev/null +++ b/public/static/charting_library/bundles/9602.a0fc3bf3e40760a87f74.rtl.css @@ -0,0 +1 @@ +.footer-KW8170fm{border-top:1px solid #e0e3eb;display:flex;flex:0 0 auto;padding:16px 20px}html.theme-dark .footer-KW8170fm{border-top:1px solid #434651}@media screen and (max-height:360px){.footer-KW8170fm{padding:10px 20px}}.footer-KW8170fm .submitButton-KW8170fm{padding-right:12px}.footer-KW8170fm .buttons-KW8170fm{margin-right:auto} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9628.8f8514eafeb1da3bbdee.js b/public/static/charting_library/bundles/9628.8f8514eafeb1da3bbdee.js new file mode 100644 index 0000000..86324ad --- /dev/null +++ b/public/static/charting_library/bundles/9628.8f8514eafeb1da3bbdee.js @@ -0,0 +1,3 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[9628],{66246:e=>{e.exports={wrap:"wrap-3JkbcgoB",input:"input-3JkbcgoB"}},44035:e=>{e.exports={icon:"icon-26rGYU-z"}},39628:(e,n,t)=>{"use strict";t.d(n,{TimeInput:()=>O});var u=t(43367),r=t(67294),o=t(94184),c=t.n(o),l=t(16282),a=t(66213),s=t(92136),i=t(81829),f=t(49775),p=t(44035),h=t(10130);function d(e){return r.createElement(f.Icon,{className:p.icon,icon:h})}var v=t(15965),g=t(66246);var m=t(47165),E=t(57968);const N={0:{pattern:/\d/},9:{pattern:/\d/,optional:!0},"#":{pattern:/\d/,recursive:!0},A:{pattern:/[a-zA-Z0-9]/},S:{pattern:/[a-zA-Z]/}};function b(e,n,t){const u=[],r=t;let o=0,c=0;const l=e.length,a=r.length;let s=-1,i=0;const f=[],p=l-1,h=[];let d;for(;o{const[t,u]=b(e,!1,n);s(t),g(u)},[n,e]),(0,r.useLayoutEffect)(()=>{const e=(0,l.ensureNotNull)(t.current);p&&(e.setSelectionRange(i,i),h(!1)),f(S(e))},[p]),[n,v,{onChange:function(){const n=(0,l.ensureNotNull)(t.current),u=n.value,[r,o]=b(e,!1,u);s(r),v.current=r;const c=g(o),p=function(e,n,t,u,r,o){if(e!==n){const c=n.length,l=e.length;let a=0,s=0,i=0,f=0,p=0;for(p=u;p=0&&r[p];p--)a++;for(p=u-1;p>=0;p--)r[p]&&i++;for(p=t-1;p>=0;p--)o[p]&&f++;if(u>l)u=10*c;else if(t>=u&&t!==l){if(o[u]){const e=u;u-=f-i,r[u-=a]&&(u=e)}}else u>t&&(u+=i-f,u+=s)}return u}(a,r,i,S(n),o,c);f(p),h(!0)},onSelect:function(){const e=(0,l.ensureNotNull)(t.current);f(S(e))},maxLength:u}];function g(e){const n=d.current;return d.current=e,n}}function S(e){return e.selectionStart||0}function w(e){const{value:n,mask:t,onChange:u,...o}=e,c=(0,r.useRef)(null),[l,a,s]=C(t,n,c);return(0,r.useLayoutEffect)(()=>{void 0!==e.reference&&(e.reference.current=c.current)},[e.reference]),r.createElement(i.InputControl,{...o,maxLength:s.maxLength,value:l,autoComplete:"off",reference:function(e){c.current=e},onChange:function(){s.onChange(),u(a.current)},onSelect:s.onSelect})}var k=t(42998),x=t(76420),y=t(95860),R=t(49382);const B=(()=>{const e=[];for(let n=0;n<24;++n)for(let t=0;t<60;t+=15){const[u,r]=[D(n.toString()),D(t.toString())],o=`${u}:${r}`,c=F(o)?o:L(o);e.push(c)}return e})();function I(e){let n=!1;const t=(0,r.useRef)(null),u=(0,r.useRef)(null),o=(0,r.useRef)(null),a=(0,r.useRef)(null),[i,f]=(0, +v.useFocus)(),[p,h]=(0,r.useState)(e.value),g=A(p),N=F(g)?g:L(g),[b,C]=(0,r.useState)(N),S=i||T().some(e=>null!==e&&e.contains(document.activeElement));(0,r.useLayoutEffect)(()=>h(e.value),[e.value]),(0,r.useLayoutEffect)(()=>C(N),[p,S]),(0,r.useEffect)(()=>V(b===N?"auto":"smooth"),[b]);const I=(0,R.lowerbound)(B,N,(e,n)=>eu&&r>n){const t=(0,E.clamp)(r,0,u),c=(0,E.clamp)(r,0,n);r=Math.max(t,c),o=t>c?e.top-t:e.bottom}else r>n&&(o=e.top-r);return{x:e.left,y:o,overrideWidth:e.width,overrideHeight:r}},closeOnClickOutside:!1,isOpened:S,tabIndex:-1,reference:o},D.map(e=>r.createElement(y.PopupMenuItem,{key:e,label:e,isActive:e===N,isHovered:e===b,reference:e===b?$:void 0,onClick:z,onClickArg:e}))));function O(t){const u=A(t),r=F(u)?u:L(u);h(r),n||(n=!0,e.onChange(r))}function $(e){a.current=e}function z(e){O((0,l.ensureDefined)(e)),(0,l.ensureNotNull)(o.current).blur()}function H(e){return i&&(null!==P(document.activeElement)||null!==P(e.relatedTarget))}function P(e){return e instanceof Node&&T().find(n=>null!==n&&n.contains(e))||null}function T(){return[o.current,u.current]}function V(e="auto"){if(null!==a.current){const n=(0,l.ensureNotNull)(o.current).getBoundingClientRect(),t=a.current.getBoundingClientRect();(n.top>t.top||n.bottom{p.current&&u&&(p.current.defaultValue=u)},[]),(0,r.useLayoutEffect)(()=>{p.current&&u&&(p.current.value=u)},[u]),r.createElement("div",{className:c()(g.wrap,o)},r.createElement(i.InputControl,{...f,type:"text",endSlot:r.createElement(s.EndSlot,{icon:!0},r.createElement(d,null)),value:u,highlight:h,intent:h?"primary":void 0,onFocus:function(e){(0,l.ensureNotNull)(p.current).focus(),t&&t(e)},onChange:function(){}}),r.createElement("input",{...m,disabled:e.disabled,className:g.input,type:"time",onBlur:E,onChange:function(e){const{value:t}=e.currentTarget;n&&t&&n(t)},ref:p}))}:I},10130:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/9772.0967c8fb7beae0056cf7.js b/public/static/charting_library/bundles/9772.0967c8fb7beae0056cf7.js new file mode 100644 index 0000000..545a08a --- /dev/null +++ b/public/static/charting_library/bundles/9772.0967c8fb7beae0056cf7.js @@ -0,0 +1,20 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[9772],{19303:e=>{"use strict";var t=Object.prototype.hasOwnProperty;function n(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}e.exports=function(e,r){if(n(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;var o=Object.keys(e),a=Object.keys(r);if(o.length!==a.length)return!1;for(var l=0;l{e.exports={button:"button-2Vpz_LXc",hover:"hover-2Vpz_LXc",isInteractive:"isInteractive-2Vpz_LXc",isGrouped:"isGrouped-2Vpz_LXc",newStyles:"newStyles-2Vpz_LXc",isActive:"isActive-2Vpz_LXc",isOpened:"isOpened-2Vpz_LXc",isDisabled:"isDisabled-2Vpz_LXc",text:"text-2Vpz_LXc",icon:"icon-2Vpz_LXc"}},6960:e=>{e.exports={container:"container-3n5_2-hI",inputContainer:"inputContainer-3n5_2-hI",withCancel:"withCancel-3n5_2-hI",input:"input-3n5_2-hI",icon:"icon-3n5_2-hI",cancel:"cancel-3n5_2-hI"}},87049:e=>{e.exports={actions:"actions-3cho5KDh",actionButton:"actionButton-3cho5KDh"}},46146:e=>{e.exports={"tablet-small-breakpoint":"screen and (max-width: 428px)",itemRow:"itemRow-ZzQNZGNo",multiLine:"multiLine-ZzQNZGNo",cell:"cell-ZzQNZGNo",itemInfoCell:"itemInfoCell-ZzQNZGNo",description:"description-ZzQNZGNo",symbolDescription:"symbolDescription-ZzQNZGNo",flag:"flag-ZzQNZGNo",exchangeDescription:"exchangeDescription-ZzQNZGNo",marketType:"marketType-ZzQNZGNo",exchangeName:"exchangeName-ZzQNZGNo",actionHandleWrap:"actionHandleWrap-ZzQNZGNo",expandHandle:"expandHandle-ZzQNZGNo",hover:"hover-ZzQNZGNo",selected:"selected-ZzQNZGNo",active:"active-ZzQNZGNo",highlighted:"highlighted-ZzQNZGNo",light:"light-ZzQNZGNo","highlight-animation-theme-light":"highlight-animation-theme-light-ZzQNZGNo",dark:"dark-ZzQNZGNo","highlight-animation-theme-dark":"highlight-animation-theme-dark-ZzQNZGNo",markedFlag:"markedFlag-ZzQNZGNo",offset:"offset-ZzQNZGNo",descriptionCell:"descriptionCell-ZzQNZGNo",addition:"addition-ZzQNZGNo",exchangeCell:"exchangeCell-ZzQNZGNo",expanded:"expanded-ZzQNZGNo",symbolTitle:"symbolTitle-ZzQNZGNo",invalid:"invalid-ZzQNZGNo",noDescription:"noDescription-ZzQNZGNo",highlightedText:"highlightedText-ZzQNZGNo",icon:"icon-ZzQNZGNo",dataMode:"dataMode-ZzQNZGNo",actionsCell:"actionsCell-ZzQNZGNo",action:"action-ZzQNZGNo",targetAction:"targetAction-ZzQNZGNo",removeAction:"removeAction-ZzQNZGNo",addAction:"addAction-ZzQNZGNo",markedFlagWrap:"markedFlagWrap-ZzQNZGNo",markedFlagMobile:"markedFlagMobile-ZzQNZGNo"}},39916:e=>{e.exports={container:"container-oVVv2l_M",contentList:"contentList-oVVv2l_M",contentListDesktop:"contentListDesktop-oVVv2l_M",exchangeItemsContainer:"exchangeItemsContainer-oVVv2l_M",exchangeItemsContainerDesktop:"exchangeItemsContainerDesktop-oVVv2l_M",groupTitleDesktop:"groupTitleDesktop-oVVv2l_M",emptyText:"emptyText-oVVv2l_M",noResultsDesktop:"noResultsDesktop-oVVv2l_M"}},51233:e=>{e.exports={wrap:"wrap-2TpXRNRX",libAllExchange:"libAllExchange-2TpXRNRX",container:"container-2TpXRNRX",iconWrap:"iconWrap-2TpXRNRX",icon:"icon-2TpXRNRX", +title:"title-2TpXRNRX",highlighted:"highlighted-2TpXRNRX",description:"description-2TpXRNRX",mobile:"mobile-2TpXRNRX",allExchange:"allExchange-2TpXRNRX",desktop:"desktop-2TpXRNRX",allExchangesIcon:"allExchangesIcon-2TpXRNRX",selected:"selected-2TpXRNRX",titleWithoutDesc:"titleWithoutDesc-2TpXRNRX",textBlock:"textBlock-2TpXRNRX",bordered:"bordered-2TpXRNRX"}},90734:e=>{e.exports={wrap:"wrap-1LtT-c03",item:"item-1LtT-c03",small:"small-1LtT-c03",text:"text-1LtT-c03",exchange:"exchange-1LtT-c03"}},36093:e=>{e.exports={wrap:"wrap-2WiKHt6t",watchlist:"watchlist-2WiKHt6t",noFeed:"noFeed-2WiKHt6t",scrollContainer:"scrollContainer-2WiKHt6t",listContainer:"listContainer-2WiKHt6t",multiLineItemsContainer:"multiLineItemsContainer-2WiKHt6t"}},22582:e=>{e.exports={button:"button-P2GOgq9R",desktop:"desktop-P2GOgq9R"}},8183:e=>{e.exports={search:"search-Hsmn_0WX",upperCase:"upperCase-Hsmn_0WX",symbolType:"symbolType-Hsmn_0WX",spinnerWrap:"spinnerWrap-Hsmn_0WX",emptyText:"emptyText-Hsmn_0WX",noResultsDesktop:"noResultsDesktop-Hsmn_0WX",brokerCheckboxWrap:"brokerCheckboxWrap-Hsmn_0WX"}},26060:e=>{e.exports={flagWrap:"flagWrap-1Xy6iEIs",icon:"icon-1Xy6iEIs",caret:"caret-1Xy6iEIs",title:"title-1Xy6iEIs"}},17923:e=>{e.exports={dialog:"dialog-1LLxyYSM",tabletDialog:"tabletDialog-1LLxyYSM",desktopDialog:"desktopDialog-1LLxyYSM"}},68038:e=>{e.exports={childrenWrapper:"childrenWrapper-th__KurO",container:"container-th__KurO"}},68865:e=>{e.exports={bubbles:"bubbles-by4sobff",multiLine:"multiLine-by4sobff",bubble:"bubble-by4sobff"}},8182:e=>{e.exports={bubble:"bubble-3MTPKAgt",animated:"animated-3MTPKAgt",content:"content-3MTPKAgt","appearance-default":"appearance-default-3MTPKAgt",active:"active-3MTPKAgt",red:"red-3MTPKAgt",blue:"blue-3MTPKAgt",green:"green-3MTPKAgt",orange:"orange-3MTPKAgt",purple:"purple-3MTPKAgt",cyan:"cyan-3MTPKAgt",pink:"pink-3MTPKAgt","appearance-text":"appearance-text-3MTPKAgt","fontSize-s":"fontSize-s-3MTPKAgt","fontSize-m":"fontSize-m-3MTPKAgt","size-m":"size-m-3MTPKAgt","size-l":"size-l-3MTPKAgt"}},75695:e=>{e.exports={highlighted:"highlighted-1Qud56dI"}},2632:e=>{e.exports={icon:"icon-19OjtB6A",dropped:"dropped-19OjtB6A"}},47218:(e,t,n)=>{"use strict";n.d(t,{DEFAULT_TOOL_WIDGET_BUTTON_THEME:()=>i,ToolWidgetButton:()=>c});var r=n(67294),o=n(94184),a=n(49775),l=n(19470),s=n(31877);const i=s,c=r.forwardRef((e,t)=>{const{icon:n,isActive:i,isOpened:c,isDisabled:u,isGrouped:d,isHovered:p,onClick:m,text:h,textBeforeIcon:f,title:g,theme:v=s,className:y,forceInteractive:b,"data-name":x,...S}=e,k=o(y,v.button,g&&"apply-common-tooltip",{[v.isActive]:i,[v.isOpened]:c,[v.isInteractive]:(b||Boolean(m))&&!u,[v.isDisabled]:u,[v.isGrouped]:d,[v.hover]:p,[v.newStyles]:l.hasNewHeaderToolbarStyles}),E=n&&("string"==typeof n?r.createElement(a.Icon,{className:v.icon,icon:n}):r.cloneElement(n,{className:o(v.icon,n.props.className)}));return r.createElement("div",{...S,ref:t,"data-role":"button",className:k,onClick:u?void 0:m,title:g,"data-name":x},f&&h&&r.createElement("div",{className:o("js-button-text",v.text) +},h),E,!f&&h&&r.createElement("div",{className:o("js-button-text",v.text)},h))})},19470:(e,t,n)=>{"use strict";n.d(t,{hasNewHeaderToolbarStyles:()=>r});n(27490);const r=!1},2710:(e,t,n)=>{"use strict";n.d(t,{marketType:()=>i});var r=n(79881);n(95068);const o=new Map,a={context:"market_type"},l={cfd:(0,r.t)("cfd",a),bitcoin:(0,r.t)("crypto",a),crypto:(0,r.t)("crypto",a),dr:(0,r.t)("dr",a),forex:(0,r.t)("forex",a),futures:(0,r.t)("futures",a),index:(0,r.t)("index",a),stock:(0,r.t)("stock",a),economic:(0,r.t)("economy",a)},s=new Set(["cfd","spreadbet","defi"]);function i(e,t=[]){const n=t.filter(e=>s.has(e)),i=`${e}_${n.sort().join("_")}`,c=o.get(i);if(void 0!==c)return c;const u=Boolean(t.length)?(0,r.t)(e,a)+" "+n.join(" "):l[e]||e;return o.set(i,u),u}},40834:(e,t,n)=>{"use strict";n.d(t,{DialogSearch:()=>u});var r=n(67294),o=n(94184),a=n.n(o),l=n(79881),s=n(49775),i=n(2796),c=n(6960);function u(e){const{children:t,renderInput:n,onCancel:o,...u}=e;return r.createElement("div",{className:c.container},r.createElement("div",{className:a()(c.inputContainer,o&&c.withCancel)},n||r.createElement(d,{...u})),t,r.createElement(s.Icon,{className:c.icon,icon:i}),o&&r.createElement("div",{className:c.cancel,onClick:o},(0,l.t)("Cancel")))}function d(e){const{className:t,reference:n,value:o,onChange:l,onFocus:s,onBlur:i,onKeyDown:u,onSelect:d,placeholder:p,...m}=e;return r.createElement("input",{...m,ref:n,type:"text",className:a()(t,c.input),autoComplete:"off","data-role":"search",placeholder:p,value:o,onChange:l,onFocus:s,onBlur:i,onSelect:d,onKeyDown:u})}},311:(e,t,n)=>{"use strict";n.d(t,{SymbolSearchDialogContentItem:()=>v});var r=n(67294),o=n(94184),a=n.n(o),l=n(16282),s=n(49775),i=(n(27490),n(11945)),c=n(65802),u=n(54324),d=n(87822),p=n(27278),m=n(14829),h=n(96404),f=n(60096),g=n(46146);function v(e){const{dangerousTitleHTML:t,title:n,dangerousDescriptionHTML:o,description:v,searchToken:y,exchangeName:b,marketType:x,onClick:S,isSelected:k,isEod:E=!1,isActive:N=!1,isOffset:w=!1,invalid:C=!1,isHighlighted:T=!1,hideExchange:M=!1,hideMarkedListFlag:I=!1,onExpandClick:_,isExpanded:R,hoverComponent:D,country:z,providerId:L,type:A,flag:F,itemRef:Z,onMouseOut:B,onMouseOver:P,className:V,actions:O,reference:W,fullSymbolName:G}=e,{isSmallWidth:X,isMobile:Q}=(0,l.ensureNotNull)((0,r.useContext)(u.SymbolSearchItemsDialogContext)),H=Boolean(D),K=!C&&!M&&(Q||!H),q=(0,p.useWatchedValueReadonly)({watchedValue:m.watchedTheme})===d.StdTheme.Dark?g.dark:g.light,U=D;return r.createElement("div",{className:a()(g.itemRow,X&&g.multiLine,T&&g.highlighted,T&&q,k&&g.selected,N&&g.active,C&&g.invalid,!Q&&h.mobiletouch&&H&&g.hover,V),onClick:function(e,t){if(!e||t.defaultPrevented)return;t.preventDefault(),e(t)}.bind(null,S),"data-role":e["data-role"]||"list-item","data-active":N,"data-name":"symbol-search-dialog-content-item",onMouseOut:B,onMouseOver:P,ref:W},r.createElement("div",{ref:Z,className:a()(g.itemInfoCell,g.cell,w&&g.offset)},r.createElement("div",{className:g.actionHandleWrap},r.createElement(r.Fragment,null,!1,_&&r.createElement("div",{ +onClick:function(e){if(!_||e.defaultPrevented)return;e.preventDefault(),_(e)}},r.createElement(s.Icon,{className:a()(g.expandHandle,R&&g.expanded),icon:f})))),r.createElement("div",{className:g.description},n&&r.createElement("div",{className:a()(g.symbolTitle,N&&g.active,C&&g.invalid,!Boolean(o)&&g.noDescription),"data-name":"list-item-title"},"string"==typeof n&&y?r.createElement(i.HighlightedText,{className:g.highlightedText,text:n,queryString:y,rules:(0,c.createRegExpList)(y)}):n,E&&r.createElement("span",{className:g.dataMode},"E")),!n&&t&&r.createElement("div",{className:a()(g.symbolTitle,N&&g.active,C&&g.invalid),"data-name":"list-item-title"},r.createElement("span",{dangerouslySetInnerHTML:{__html:t}}),E&&r.createElement("span",{className:g.dataMode},"E")),X&&j())),!X&&r.createElement("div",{className:a()(g.cell,g.descriptionCell,Boolean(U)&&g.addition)},j(),U?r.createElement(U,{...e,className:g.actions,onMouseOver:void 0,onMouseOut:void 0}):null),X&&U?r.createElement(U,{...e,className:g.cell,onMouseOver:void 0,onMouseOut:void 0}):null,K&&r.createElement("div",{className:a()(g.exchangeCell,g.cell)},r.createElement("div",{className:a()(g.exchangeDescription)},r.createElement("div",{className:a()(g.marketType,N&&g.active)},x),r.createElement("div",{className:a()(g.exchangeName,N&&g.active)},b)),!1),r.createElement("div",{className:a()(g.cell,Boolean(O)&&g.actionsCell)},O));function j(){if(C)return null;const e=a()(g.symbolDescription,N&&g.active,!h.mobiletouch&&"apply-overflow-tooltip apply-overflow-tooltip--allow-text");return v?r.createElement("div",{className:e},y?r.createElement(i.HighlightedText,{className:g.highlightedText,text:v,queryString:y,rules:(0,c.createRegExpList)(y)}):v):o?r.createElement("div",{className:e,dangerouslySetInnerHTML:{__html:o}}):null}}},38972:(e,t,n)=>{"use strict";n.d(t,{qualifyProName:()=>l,QualifiedSources:()=>r});var r,o=n(16282),a=n(27490);function l(e){return e}!function(e){function t(e){return e.pro_name}function n(e){{const t=a.enabled("pay_attention_to_ticker_not_symbol")?e.ticker:e.full_name;return(0,o.ensureDefined)(t)}}e.fromQuotesResponse=function(e){const{values:n,symbolname:r,status:o}=e;return"error"===o&&r?r:t(n)},e.fromQuotes=t,e.fromSymbolSearchResult=function(e,t){{const{ticker:n,full_name:r}=null!=t?t:e;return a.enabled("pay_attention_to_ticker_not_symbol")?(0,o.ensureDefined)(null!=n?n:r):(0,o.ensureDefined)(r)}},e.fromSymbolInfo=n,e.fromSymbolMessage=function(e,t){return"symbol_resolved"===t.method?n(t.params[1]):e}}(r||(r={}))},89085:(e,t,n)=>{"use strict";n.d(t,{QuoteSessionContext:()=>r});const r=n(67294).createContext(null)},9772:(e,t,n)=>{"use strict";n.d(t,{showSymbolSearchItemsDialog:()=>c});var r=n(67294),o=n(73935),a=n(78106),l=n(89085),s=n(39518),i=n(56161);function c(e){ +const{initialMode:t="symbolSearch",autofocus:n=!0,defaultValue:c,showSpreadActions:u,selectSearchOnInit:d,onSearchComplete:p,onSearchFeedReady:m,dialogTitle:h,placeholder:f,fullscreen:g,initialScreen:v,wrapper:y,dialog:b,contentItem:x,onClose:S,footer:k,symbolTypes:E,searchInput:N,emptyState:w,hideMarkedListFlag:C,dialogWidth:T="auto",manager:M}=e;if(s.dialogsOpenerManager.isOpened("SymbolSearch")||s.dialogsOpenerManager.isOpened("ChangeIntervalDialog"))return;const I=document.createElement("div"),_=r.createElement(a.SlotContext.Provider,{value:null!=M?M:null},r.createElement(l.QuoteSessionContext.Provider,{value:null},r.createElement(i.SymbolSearchItemsDialog,{onClose:R,initialMode:t,defaultValue:c,showSpreadActions:u,hideMarkedListFlag:C,onSearchFeedReady:m,selectSearchOnInit:d,onSearchComplete:p,dialogTitle:h,placeholder:f,fullscreen:g,initialScreen:v,wrapper:y,dialog:b,contentItem:x,footer:k,symbolTypes:E,searchInput:N,emptyState:w,autofocus:n,dialogWidth:T})));function R(){o.unmountComponentAtNode(I),s.dialogsOpenerManager.setAsClosed("SymbolSearch"),S&&S()}return o.render(_,I),s.dialogsOpenerManager.setAsOpened("SymbolSearch"),{close:R}}},94905:(e,t,n)=>{"use strict";n.d(t,{SymbolSearchDialogBodyContext:()=>r});const r=n(67294).createContext(null)},54324:(e,t,n)=>{"use strict";n.d(t,{SymbolSearchItemsDialogContext:()=>r});const r=n(67294).createContext(null)},56161:(e,t,n)=>{"use strict";n.d(t,{SymbolSearchItemsDialog:()=>Ve});var r=n(67294),o=n(94184),a=n.n(o),l=n(79881),s=(n(67869),n(65955)),i=n(38208),c=n(14236),u=n(27490),d=n(72923),p=n(93590),m=n(16282),h=n(49775),f=n(54324),g=n(40834),v=n(3627),y=n(68038);function b(e){const{children:t,className:n}=e;return r.createElement("div",{className:a()(y.container,n)},r.createElement("div",{className:y.childrenWrapper},t))}var x=n(11945),S=n(65802),k=n(18861),E=n(51233);function N(e){const{country:t,providerId:n,title:o,description:l,isActive:s,isAllExchanges:i,isMobile:c,onClick:u,queryString:d}=e,p=(0,r.useMemo)(()=>(0,S.createRegExpList)(d),[d]),m=l&&!i,f=a()(E.container,c?E.mobile:E.desktop,s&&E.selected,i&&E.allExchange,i&&E.libAllExchange,!i&&c&&E.bordered);return r.createElement("div",{className:a()(!c&&E.wrap,i&&E.libAllExchange),onClick:u},r.createElement("div",{className:f},r.createElement("div",{className:E.iconWrap},!!i&&r.createElement(h.Icon,{className:a()(E.icon,E.allExchangesIcon),icon:k})),r.createElement("div",{className:E.textBlock},r.createElement("div",{className:a()(E.title,!m&&!c&&E.titleWithoutDesc)},r.createElement(x.HighlightedText,{className:a()(s&&E.highlighted),queryString:d,text:o,rules:p})),m&&r.createElement("div",{className:E.description},r.createElement(x.HighlightedText,{className:E.highlighted,queryString:d,rules:p,text:l})))))}var w=n(27278),C=n(86615),T=n(14829),M=n(71577),I=n(94905),_=n(72421),R=n(67192),D=n(39916);const z={emptyTextClassName:D.emptyText};function L(e){const{exchanges:t}=e,{selectedExchange:n,setSelectedExchange:o,setMode:s,isMobile:i,emptyState:c,autofocus:u}=(0, +C.useEnsuredContext)(f.SymbolSearchItemsDialogContext),d=(0,w.useWatchedValueReadonly)({watchedValue:T.watchedTheme})===M.StdTheme.Dark?_:R,[p,y]=(0,r.useState)(""),x=(0,r.useCallback)(e=>{const{name:t,desc:n,searchTerms:r}=e,o=p.toLowerCase();return t.toLowerCase().includes(o)||n.toLowerCase().includes(o)||void 0!==r&&r.some(e=>e.toLowerCase().includes(o))},[p]),S=(0,r.useMemo)(()=>[[...t]],[t]),k=(0,r.useMemo)(()=>{const e=S.filter(e=>e.some(x));return e},[S,x]),E=(0,m.ensureNotNull)(n).value,L=(0,r.useRef)(null),A=(0,r.useRef)(null);(0,r.useLayoutEffect)(()=>{var e;u&&(null===(e=null==L?void 0:L.current)||void 0===e||e.focus())},[]);const F=c?r.createElement(c,null):r.createElement(b,{className:D.noResultsDesktop},r.createElement(h.Icon,{icon:d}),r.createElement("div",{className:D.emptyText},(0,l.t)("No exchanges match your criteria")));return r.createElement(I.SymbolSearchDialogBodyContext.Provider,{value:z},r.createElement(g.DialogSearch,{placeholder:(0,l.t)("Search"),onChange:function(e){y(e.target.value),A&&A.current&&(A.current.scrollTop=0)},reference:L}),k.length?r.createElement("div",{ref:A,className:a()(D.contentList,!i&&D.contentListDesktop),onTouchStart:function(){var e;null===(e=L.current)||void 0===e||e.blur()}},k.map(e=>{const{name:t,group:n}=e[0];return r.createElement(r.Fragment,{key:t},!1,r.createElement("div",{className:a()(D.exchangeItemsContainer,!i&&D.exchangeItemsContainerDesktop)},e.filter(x).map(e=>{const t=(0,v.isAllExchanges)(e);return r.createElement(N,{key:e.desc,country:e.country,providerId:e.providerId,title:t?(0,l.t)("All sources"):e.name,description:e.desc,isActive:e.value===E,isAllExchanges:t,isMobile:i,queryString:p,onClick:Z.bind(null,e)})})))})):F);function Z(e){o(e),s("symbolSearch")}}var A=n(73935);function F(e){return(null==e?void 0:e.aborted)?Promise.reject(Z()):new Promise((t,n)=>{null==e||e.addEventListener("abort",()=>n(Z()),{once:!0})})}function Z(){return new DOMException("Aborted","AbortError")}function B(e){return e instanceof Error&&"AbortError"===e.name}function P(e,t){return Promise.race([F(e),t])}n(42971),n(95152);function V(e){return e.hasOwnProperty("exchange")}async function O(e){return new Promise(t=>{window.ChartApiInstance.searchSymbols(e.text||"",e.exchange||"",e.type||"","",!1,!0,"",!0,"",e=>{t(e)})})}var W=n(67985),G=n(87438),X=n(42998),Q=n(47218),H=n(70879),K=n(7686),q=n(87868),U=n(82067),j=n(27328),$=n(47293),Y=n(87049);function J(e){var t;const{state:n,update:o}=e,{searchRef:a,forceUpdate:l,upperCaseEnabled:c}=(0,m.ensureNotNull)((0,r.useContext)(f.SymbolSearchItemsDialogContext)),d=(0,s.tokenize)(null===(t=a.current)||void 0===t?void 0:t.value),p=(0,i.validate)(d);let h=[{icon:H,insert:"/",type:"binaryOp",name:"division"},{icon:K,insert:"-",type:"binaryOp",name:"subtraction"},{icon:q,insert:"+",type:"binaryOp",name:"addition"},{icon:U,insert:"*",type:"binaryOp",name:"multiplication"}];return u.enabled("hide_exponentiation_spread_operator")||(h=h.concat([{icon:j,insert:"^",type:"binaryOp",name:"exponentiation"}])), +u.enabled("hide_reciprocal_spread_operator")||(h=h.concat([{icon:$,type:"complete",name:"1/x",callback:()=>{!a.current||p.errors.length||p.warnings.length||(a.current.value=(0,i.stringifyTokens)((0,i.flip)(d)),l())}}])),r.createElement("div",{className:Y.actions},h.map(e=>r.createElement(Q.ToolWidgetButton,{className:Y.actionButton,icon:e.icon,key:e.name,isDisabled:ee(e,p),onClick:()=>function(e){var t;if(!ee(e,p)){if(e.insert&&a.current){const t=a.current.value+e.insert;a.current.value=t,a.current.setSelectionRange(t.length,t.length);const[r,,s]=(0,i.getCurrentTokenParamsFromInput)(a.current,c);n.current&&(n.current.selectedIndexValue=-1,n.current.searchSpreadsValue=(0,i.isSpread)(s),n.current.searchTokenValue=r),l(),o()}e.callback&&e.callback(),null===(t=a.current)||void 0===t||t.focus(),(0,G.trackEvent)("GUI","SS",e.name)}}(e)})))}function ee(e,t){let n=!1;if(!t.errors.length)switch(e.type){case"binaryOp":n="var"===t.currentState;break;case"openBrace":n="var"!==t.currentState;break;case"closeBrace":n="var"===t.currentState&&t.braceBalance>0;break;case"complete":n=!t.errors.length&&!t.warnings.length}return!n}var te=n(74818),ne=n(8182);function re(e){const{isActive:t,isAnimated:n,activeColor:r,size:o="m",appearance:l="default",fontSize:s="m",className:i}=e;return a()(ne.bubble,t&&ne.active,r&&ne[r],o&&ne["size-"+o],s&&ne["fontSize-"+s],l&&ne["appearance-"+l],n&&ne.animated,i)}function oe(e){const{id:t,title:n,tabIndex:o,role:l,contentClassName:s,children:i,onClick:c,onMouseDown:u,reference:d,...p}=e;return r.createElement("span",{...(0,te.filterAriaProps)(p),...(0,te.filterDataProps)(p),id:t,title:n,tabIndex:o,role:l,className:re(e),onClick:c,onMouseDown:u,ref:d},r.createElement("span",{className:a()(ne.content,s)},i))}var ae=n(68865);function le(e){const{className:t,itemClassName:n,itemContentClassName:a,items:l,getItemTitle:s,getItemTooltip:i,getItemKey:c,checkItemIsActive:u,getItemColor:d,onBubbleClick:p,multiline:m,children:h,BubbleComponent:f=oe,reference:g,fontSize:v}=e;return r.createElement("div",{className:o(t,ae.bubbles,m&&ae.multiLine),ref:g},l.map((e,t)=>r.createElement(f,{key:c?c(e):t,id:c?c(e):t.toString(),className:o(ae.bubble,n),contentClassName:a,onClick:function(){p(e)},onMouseDown:function(e){e.preventDefault()},isActive:!!u&&u(e),activeColor:d?d(e):void 0,fontSize:v,title:i?i(e):void 0},s(e))),h)}var se=n(25659),ie=n(33093),ce=n(5383),ue=n.n(ce),de=n(88262),pe=n(26060);function me(e){const{mode:t,setMode:n,searchRef:o,cachedInputValue:s,selectedExchange:i,upperCaseEnabled:c}=(0,m.ensureNotNull)((0,r.useContext)(f.SymbolSearchItemsDialogContext)),u=(0,m.ensureNotNull)(i),d="symbolSearch"===t,p=(0,v.isAllExchanges)(u),{country:g,providerId:y}=u;return d?r.createElement("div",{className:a()(pe.flagWrap,"apply-common-tooltip"),title:(0,l.t)("Select source"),onClick:function(){o.current&&(s.current=c?o.current.value.toUpperCase():o.current.value);n("exchange")}},!!p&&r.createElement(h.Icon,{className:pe.icon,icon:k}),r.createElement("div",{className:pe.title},p?(0, +l.t)("All sources"):u.name),r.createElement(de.ToolWidgetCaret,{className:pe.caret,dropped:!1})):null}var he=n(90734);const fe=(0,v.getAvailableExchanges)();function ge(e){const{isSmallWidth:t,selectedExchange:n}=(0,m.ensureNotNull)((0,r.useContext)(f.SymbolSearchItemsDialogContext)),o=n&&fe.length>1&&!(0,v.exchangeSelectDisabled)();return r.createElement("div",{className:a()(he.wrap,t&&he.small)},r.createElement("div",{className:he.item},r.createElement("div",{className:he.text},t?(0,l.t)("Symbol & description"):(0,l.t)("Symbol"))),r.createElement("div",{className:he.item},!t&&r.createElement("div",{className:he.text},(0,l.t)("Description")),o&&r.createElement("div",{className:he.exchange},r.createElement(me,null))))}var ve=n(76553),ye=n(36093);function be(e){const{onTouchMove:t,listRef:n,className:o,listWrapRef:l,virtualListKey:s,items:i,getItemSize:c,hideFeed:u}=e,{mode:d,isSmallWidth:p,handleListWidth:h}=(0,C.useEnsuredContext)(f.SymbolSearchItemsDialogContext),[g,v]=(0,r.useState)(null),y=(0,r.useCallback)(e=>{const{index:t,style:n}=e;return r.createElement("div",{style:n},i[t])},[i]),b=(0,r.useCallback)(e=>(0,m.ensure)(i[e].key),[i]),x="watchlist"===d&&null!==g;return r.createElement(ue(),{onMeasure:function(e){v(e.height),h(e.width)}},r.createElement("div",{ref:l,className:a()(ye.wrap,x&&ye.watchlist,u&&ye.noFeed,o),onTouchMove:t},r.createElement("div",{className:a()(ye.scrollContainer,u&&ye.noFeed)},x?r.createElement(ie.VariableSizeList,{key:s,ref:n,className:ye.listContainer,width:"100%",height:(0,m.ensureNotNull)(g),itemCount:i.length,itemSize:c,children:y,itemKey:b,overscanCount:20,direction:(0,ve.isRtl)()?"rtl":"ltr"}):r.createElement("div",{className:a()(ye.listContainer,p&&ye.multiLineItemsContainer)},r.createElement(ge,null),...i))))}var xe=n(311),Se=n(8183);function ke(e){const{token:t,state:n,otherSymbolsCount:o,onChangeSymbolTypeFilter:a,onResetFilters:l,onListTouchMove:s,brokerTitle:i,isBrokerChecked:c,onBrokerCheckboxChange:u,listRef:d,listWrapRef:p}=e,{mode:m,isMobile:h,selectedExchange:g,selectedSymbolType:v,symbolTypes:y,feedItems:b,contentItem:x,emptyState:S=Ee}=(0,C.useEnsuredContext)(f.SymbolSearchItemsDialogContext),k=i&&r.createElement(BrokerCheckbox,{brokerTitle:i,checked:c,onCheckboxChange:u}),E="symbolSearch"===m&&"good"===n,N=null!=x?x:xe.SymbolSearchDialogContentItem,w=(0,r.useMemo)(()=>b.map(e=>r.createElement(N,{...e,searchToken:t})),[b]);return r.createElement(r.Fragment,null,"symbolSearch"===m&&r.createElement(r.Fragment,null,y.length>0&&r.createElement(le,{itemClassName:Se.symbolType,items:y,getItemTitle:e=>e.name,getItemKey:e=>e.value,checkItemIsActive:e=>e.value===v,onBubbleClick:a,multiline:!h},!h&&k),h&&y.length>0&&i&&r.createElement("div",{className:Se.brokerCheckboxWrap},k)),r.createElement(be,{listRef:d,listWrapRef:p,onTouchMove:s,items:w,getItemSize:()=>we,hideFeed:!E}),"loading"===n&&r.createElement("div",{className:Se.spinnerWrap},r.createElement(se.Spinner,null)),"symbolSearch"===m&&r.createElement(r.Fragment,null,!1,"empty"===n&&r.createElement(S,null)))} +function Ee(e){const t=(0,w.useWatchedValueReadonly)({watchedValue:T.watchedTheme})===M.StdTheme.Dark?_:R;return r.createElement(b,{className:Se.noResultsDesktop},r.createElement(h.Icon,{icon:t}),r.createElement("div",{className:Se.emptyText},(0,l.t)("No symbols match your criteria")))}const Ne=(0,v.getDefaultExchange)(),we=52;function Ce(e){const{mode:t,setMode:n,setSelectedIndex:o,isMobile:s,selectedExchange:c,setSelectedExchange:d,selectedSymbolType:p,setSelectedSymbolType:m,setRenderSymbolSearchList:h,searchRef:y,cachedInputValue:b,setSearchSpreads:x,showSpreadActions:S,selectedItem:k,onSearchFeedReady:E,forceUpdate:N,placeholder:w,initialScreen:T,footer:M,searchInput:_,upperCaseEnabled:R,externalInput:D,handleKeyDown:z}=(0,C.useEnsuredContext)(f.SymbolSearchItemsDialogContext),L=(0,r.useRef)(t);L.current=t;const F=(0,r.useRef)(new AbortController),[Z,Q]=(0,r.useState)(0),[H,K]=(0,r.useState)("noop"),q=(0,r.useRef)(0),[U,j]=(0,r.useState)(b.current),$=(0,r.useRef)(null),Y=(0,r.useRef)(null),ee=(0,r.useRef)({selectedIndexValue:-1,searchTokenValue:"",searchSpreadsValue:!0}),te=(0,r.useRef)(null),ne=(0,r.useRef)(null),{broker:re=null,brokerId:oe,brokerTitle:ae,isBrokerChecked:le=!1,setIsBrokerChecked:se=(()=>{}),unhideSymbolSearchGroups:ie=""}={brokerId:void 0,brokerTitle:void 0};(0,r.useEffect)(()=>()=>{F.current.abort(),we()},[]),(0,r.useEffect)(()=>{(null==y?void 0:y.current)&&j(y.current.value)},[]),(0,r.useEffect)(()=>{const e=y.current;if(e)return e.addEventListener("input",ge),e.addEventListener("focus",xe),e.addEventListener("select",fe),e.addEventListener("click",fe),e.addEventListener("keyup",Ee),D&&z&&e.addEventListener("keydown",z),()=>{e&&(e.removeEventListener("input",ge),e.removeEventListener("focus",xe),e.removeEventListener("select",fe),e.removeEventListener("click",fe),e.removeEventListener("keyup",Ee),D&&z&&e.removeEventListener("keydown",z))}},[z]),(0,r.useEffect)(()=>{Boolean(T)&&""===U.trim()||(ye(U,p,null==c?void 0:c.value),$.current&&($.current.scrollTop=0))},[U,p,c,le,T]),(0,r.useEffect)(()=>{if(!k||!y.current)return;if(!u.enabled("show_spread_operators"))return y.current.value=k.symbol,void N();const e=V(k)?k.exchange:k.parent.exchange,t={name:k.symbol,exchange:e,prefix:k.prefix,fullName:k.full_name},[n,r]=(0,i.getNextSymbolInputValueAndPosition)(y.current,t,R);y.current.value=n,y.current.setSelectionRange(r,r),N()},[k]);const ce=(0,r.useCallback)(e=>E?E(e):e,[E]),ue=null!=T?T:"div",de=Boolean(T)&&"symbolSearch"!==t,pe=null!=_?_:g.DialogSearch,me=(0,r.useMemo)(()=>({listRef:Y,resetRecommends:be,updateRecommends:ye,searchToken:U,emptyTextClassName:Se.emptyText,isBrokerChecked:le,symbolSearchState:H,currentMode:L}),[Y,U,le,H,L]);return r.createElement(I.SymbolSearchDialogBodyContext.Provider,{value:me},!(D&&"symbolSearch"===t)&&r.createElement(pe,{reference:y,className:a()(Se.search,R&&Se.upperCase),placeholder:w||(0,l.t)("Search")},S&&r.createElement(J,{state:ee,update:ve})),de?r.createElement(ue,null):r.createElement(ke,{token:U,state:H,otherSymbolsCount:Z,onListTouchMove:function(){var e +;null===(e=y.current)||void 0===e||e.blur()},onChangeSymbolTypeFilter:function(e){const{value:t}=e;m(t),o(-1)},onResetFilters:function(){var e;m((0,v.getAllSymbolTypesValue)()),Ne&&d(Ne);se(!1),s||null===(e=y.current)||void 0===e||e.focus()},brokerTitle:ae,isBrokerChecked:le,onBrokerCheckboxChange:function(e){se("on"!==e)},listRef:Y,listWrapRef:$}),M);function he(){if(!y.current)return;const[e,t,n]=(0,i.getCurrentTokenParamsFromInput)(y.current,R);q.current=t,ee.current={selectedIndexValue:-1,searchSpreadsValue:(0,i.isSpread)(n),searchTokenValue:e},te.current||(te.current=setTimeout(ve,0))}function fe(){if(!y.current)return;const[,e]=(0,i.getCurrentTokenParamsFromInput)(y.current,R);e!==q.current&&he()}function ge(){u.enabled("show_spread_operators")?he():y.current&&(ee.current={selectedIndexValue:-1,searchSpreadsValue:!1,searchTokenValue:y.current.value},te.current||(te.current=setTimeout(ve,0)))}function ve(){const{selectedIndexValue:e,searchTokenValue:t,searchSpreadsValue:n}=ee.current;te.current=null,(0,A.unstable_batchedUpdates)(()=>{x(n),o(e),j(R?t.toUpperCase():t)})}async function ye(e,t,n){try{"noop"===H?K("loading"):(we(),ne.current=setTimeout(()=>{K("loading")},500)),Ce();const r=await async function(e,t,n,r){var o,a,l;const s=u.enabled("show_spread_operators")?(0,i.shortName)(t):null===(o=y.current)||void 0===o?void 0:o.value;let d;if(le&&re){const t=await P(e,re.accountMetainfo());d=t.prefix}const p=u.enabled("show_spread_operators")?null!==(l=null!==(a=(0,i.getExchange)(t))&&void 0!==a?a:d)&&void 0!==l?l:r:null==c?void 0:c.value,m={serverHighlight:!1,text:s,exchange:p,type:n,lang:window.language||"",brokerId:oe,onlyTradable:Boolean(oe)&&le,unhideSymbolSearchGroups:ie,signal:e},h=(0,W.getSearchRequestDelay)();void 0!==h&&await async function(e,t){let n;try{await P(e,new Promise(e=>{n=setTimeout(e,t)}))}finally{clearTimeout(n)}}(e,h);return O(m)}(F.current.signal,e,t,n),o=ce(function(e,t=window.ChartApiInstance.symbolsGrouping()){var n;const r={},o=[];for(let a=0;a{const t=De.getValue("symboledit.exchangefilter","");return e.exchanges.find(e=>e.value===t)||e.defaultExchange});return[t,(0,r.useCallback)(e=>{var t;n(e),t=e,De.setValue("symboledit.exchangefilter",t.value)},[])]}function Le(e){const[t,n]=(0,r.useState)(()=>{if(1===e.types.length)return e.types[0].value;const t=De.getValue("symboledit.filter",(0,v.getAllSymbolTypesValue)());return e.types.find(e=>e.value===t)?t:(0,v.getAllSymbolTypesValue)()});return[t,(0,r.useCallback)(e=>{var t;n(e),t=e,De.setValue("symboledit.filter",t)},[])]}var Ae=n(77727),Fe=n(17923);const Ze=(0,v.getAvailableExchanges)(),Be=(0,v.getDefaultExchange)(),Pe=u.enabled("uppercase_instrument_names");function Ve(e){var t;const{onClose:n,initialMode:o,defaultValue:a="",showSpreadActions:p,hideMarkedListFlag:m,selectSearchOnInit:h=!0,onSearchComplete:g,onSearchFeedReady:y,dialogTitle:b=(0,l.t)("Symbol Search"),placeholder:x,fullscreen:S,initialScreen:k,wrapper:E,dialog:N,contentItem:w,footer:C,searchInput:T,emptyState:M,autofocus:I,dialogWidth:_,onKeyDown:R,exchangeScreen:D}=e,z=(0,r.useMemo)(()=>e.symbolTypes?e.symbolTypes:(0,v.getAvailableSymbolTypes)(),[]),A=void 0!==e.input,[F,Z]=(0,r.useState)(o),B=(0,r.useRef)(a),[P,W]=ze({exchanges:Ze,defaultExchange:Be}),[G,Q]=Le({types:z}),[H,K]=(0,r.useState)([]),[q,U]=(0,r.useState)(!1),[j,$]=(0,r.useState)(-1),Y=(0,r.useRef)(null!==(t=e.input)&&void 0!==t?t:null),[J,ee]=(0,r.useState)(!1),te=(0,Ae.useForceUpdate)(),[ne,re]=(0,r.useState)(new Set),{broker:oe=null,brokerId:ae,unhideSymbolSearchGroups:le="",displayBrokerSymbol:se=!1}={brokerId:void 0};(0,r.useLayoutEffect)(()=>{var e;!(null==Y?void 0:Y.current)||!A&&Boolean(null===(e=Y.current)||void 0===e?void 0:e.value)||(A||"compare"===F||(Y.current.value=B.current),!I||A&&"symbolSearch"!==F||Y.current.focus())},[F]),(0,r.useEffect)(()=>{(null==Y?void 0:Y.current)&&h&&I&&Y.current.select()},[]);const ie=(0,r.useMemo)(()=>H.reduce((e,t)=>{const n=Ge(t),r=ne.has(n);return e.push(t),r&&t.contracts&&e.push(...t.contracts.map(e=>({...e,parent:t}))),e},[]),[H,ne]),ce=(0,r.useRef)(null);(0,r.useEffect)(()=>{var e;-1!==j&&(null===(e=ce.current)||void 0===e||e.scrollIntoView({block:"nearest"}))},[j,ce]);const ue=(0,r.useMemo)(()=>ie.map((e,t)=>{var n,r,o,a;if(V(e)){const o=Ge(e),a=e.contracts?ne.has(o):void 0,l=t===j;return{key:t,id:o,title:We(e,se),description:e.description,isOffset:!1,onClick:ve.bind(null,e),providerId:e.provider_id,country:null===(n=e.country)||void 0===n?void 0:n.toLocaleLowerCase(),type:e.type,exchangeName:e.exchange,marketType:(0,_e.marketType)(e.type,e.typespecs),isEod:null===(r=e.params)||void 0===r?void 0:r.includes("eod"),isExpanded:a,onExpandClick:e.contracts?ye.bind(null,o):void 0,fullSymbolName:Re.QualifiedSources.fromSymbolSearchResult(e),itemRef:l?ce:void 0,isSelected:t===j,hideMarkedListFlag:m,item:e}}{const{parent:n}=e,r=Ge(n),l=t===j;return{key:t, +id:r+e.symbol,dangerousTitleHTML:We(e,se),dangerousDescriptionHTML:`${n.description} (${e.description})`,isOffset:!0,isEod:null===(o=e.params)||void 0===o?void 0:o.includes("eod"),onClick:be.bind(null,e.parent,e),providerId:n.provider_id,country:null===(a=n.country)||void 0===a?void 0:a.toLowerCase(),type:n.type,exchangeName:n.exchange,marketType:(0,_e.marketType)(n.type,e.typespecs),fullSymbolName:Re.QualifiedSources.fromSymbolSearchResult(e.parent,e),itemRef:l?ce:void 0,isSelected:l,hideMarkedListFlag:m,item:e}}}),[H,ne,F,j,R]),de=null!=N?N:Qe,pe=de!==Qe&&!A,me=(e,t)=>({mode:F,setMode:Z,selectedExchange:P,setSelectedExchange:W,selectedSymbolType:G,setSelectedSymbolType:Q,selectedIndex:j,setSelectedIndex:$,onClose:n,setRenderSymbolSearchList:K,searchRef:Y,cachedInputValue:B,searchSpreads:q,setSearchSpreads:U,handleListWidth:xe,isSmallWidth:J,feedItems:ue,isMobile:e,showSpreadActions:p,selectSearchOnInit:h,isTablet:t,selectedItem:ie[j],onSearchFeedReady:y,forceUpdate:te,placeholder:x,initialScreen:k,toggleExpand:ye,openedItems:ne,onSubmit:Ee,onSearchComplete:g,footer:C,symbolTypes:z,contentItem:w,searchInput:T,emptyState:M,autofocus:I,upperCaseEnabled:Pe,externalInput:A,handleKeyDown:pe?void 0:ke}),he=null!=D?D:L,fe="exchange"===F?{title:(0,l.t)("Sources"),dataName:"exchanges-search",render:()=>r.createElement(he,{exchanges:Ze}),additionalHeaderElement:r.createElement(Ie,null),additionalElementPos:"before"}:{title:b,dataName:"symbol-search-items-dialog",render:()=>r.createElement(Ce,null),additionalElementPos:"after"},ge=null!=E?E:"div";return r.createElement(ge,null,r.createElement(c.MatchMediaMap,{rules:d.DialogBreakpoints},({TabletSmall:e,TabletNormal:t})=>r.createElement(f.SymbolSearchItemsDialogContext.Provider,{value:me(e,t)},r.createElement(de,{...fe,fullScreen:S,onClose:n,onClickOutside:n,onKeyDown:pe?void 0:ke,isOpened:!0}))));function ve(e){e.contracts?ye(Ge(e)):be(e)}function ye(e){const t=new Set(ne);t.has(e)?t.delete(e):t.add(e),re(t)}function be(e,t){const r=t||e,{exchange:o}=e;if(u.enabled("show_spread_operators")){const e={name:r.symbol,exchange:o,prefix:r.prefix,fullName:r.full_name};if(q)return Se(e),void te();if(Y.current&&Y.current.value.includes(","))return void Se(e)}const a=[{resolved:!0,symbol:Re.QualifiedSources.fromSymbolSearchResult(e,t),result:r}];g(a),n()}function xe(e){ee("fixed"===_||e<=640)}function Se(e){if(!Y.current)return;const[t,n]=(0,i.getNextSymbolInputValueAndPosition)(Y.current,e,Pe);Y.current.value=t,Y.current.setSelectionRange(n,n),Y.current.focus()}function ke(e){switch((0,X.hashFromEvent)(e)){case 38:if(e.preventDefault(),0===j)return;if(-1===j)return void $(0);$(j-1);break;case 40:if(e.preventDefault(),j===ue.length-1)return;$(j+1);break;case 37:{if(-1===j)return;const t=ue[j],{id:n,isOffset:r,onExpandClick:o}=t;if(!r&&n&&ne.has(n)&&Boolean(o)&&(e.preventDefault(),ye(n)),o)return void(null==R||R(e,!0));break}case 39:{if(-1===j)return;const t=ue[j],{id:n,isOffset:r,onExpandClick:o}=t;if(!r&&n&&!ne.has(n)&&Boolean(o)&&(e.preventDefault(),ye(n)), +o)return void(null==R||R(e,!0));break}case 13:e.preventDefault(),Ee(!0);break;case 27:e.preventDefault(),n()}null==R||R(e)}function Ee(e){if(!Y.current)return;const t=Y.current.value;if(u.enabled("show_spread_operators")&&q&&t){if(t.includes(",")){const r=Xe(t);if(r.some(e=>!Ne(e)))return;return g(r.map(Oe)),void(e&&n())}if(!Ne(t))return;return g([{symbol:Pe?t.toUpperCase():t,resolved:!1}]),void(e&&n())}if(t.includes(","))return g(Xe(t).map(Oe)),void(e&&n());if(-1!==j){ue[j].onClick()}else{const r=Pe?t.toUpperCase():t;if(r&&""!==r.trim()){const e=Xe(r);if(void 0!==ae&&-1===r.indexOf(":"))(function(e){let t=!1;return Promise.all(e.map(e=>-1!==e.indexOf(":")||t?Promise.resolve({symbol:e,resolved:!1}):(t=!0,async function(e){var t;null===(t=await(null==oe?void 0:oe.accountMetainfo()))||void 0===t||t.prefix;const n=await O({strictMatch:!0,serverHighlight:!1,text:e,lang:window.language||"",brokerId:ae,onlyTradable:!0,unhideSymbolSearchGroups:le,exchange:void 0});if(0!==n.length){const e=n[0],{contracts:t}=e,r=t&&t.length>0?t[0]:void 0,o=e.prefix||e.exchange,a=r?r.symbol:e.symbol;if(o&&a)return{symbol:Re.QualifiedSources.fromSymbolSearchResult(e,r),resolved:!0,result:e}}return{symbol:e,resolved:!1}}(e))))})(e).then(e=>g(e));else{const t=e.map(Oe);g(t)}}e&&n()}}function Ne(e){const t=(0,s.tokenize)(e),n=(0,i.validate)(t);if(n.errors.length||n.warnings.length)return!1;const r=ue[j];return!r||void 0===r.isExpanded||(r.onClick(),!1)}}function Oe(e){return{symbol:Pe?e.toUpperCase():e,resolved:!1}}function We(e,t){const{broker_symbol:n,symbol:r}=e;return`${r}${t&&n?` (${n})`:""}`}function Ge(e){return e.symbol+e.exchange+e.description}function Xe(e){return e.split(",").map(e=>e.trim()).filter(e=>""!==e)}function Qe(e){const{isMobile:t,isTablet:n}=(0,C.useEnsuredContext)(f.SymbolSearchItemsDialogContext);return r.createElement(p.AdaptivePopupDialog,{...e,className:a()(Fe.dialog,!t&&(n?Fe.tabletDialog:Fe.desktopDialog)),backdrop:!0,draggable:!1})}},38208:(e,t,n)=>{"use strict";n.d(t,{validate:()=>l,flip:()=>s,stringifyTokens:()=>i,isSpread:()=>u,shortName:()=>p,getExchange:()=>m,getNextSymbolInputValueAndPosition:()=>f,getCurrentTokenParamsFromInput:()=>g});var r=n(27490),o=n(65955),a=n(3627);function l(e){const t={braceBalance:0,currentState:"var",warnings:[],errors:[]};if(r.enabled("charting_library_base")&&!r.enabled("show_spread_operators"))return t;let n="init";const o=[];for(let r=0;r"symbol"===t.type&&o.symbolTokenEscapeRe.test(t.value)?e+`'${t.value}'`:e+t.value,"")}function c(e){return"plus"===e||"minus"===e||"multiply"===e||"divide"===e||"power"===e}function u(e){return e.length>1&&e.some(e=>c(e.type))}function d(e){e=function(e){const t=[];for(const n of e)"whitespace"!==n.type&&t.push(n);return t}(e);const t=[],n=[];let r;for(let o=0;oa.precedence&&(n[n.length-1].minPrecedence=a.precedence);break;case"openBrace":r={minPrecedence:1/0,openBraceIndex:o},n.push(r);break;case"closeBrace":{if(r=n.pop(),!r)break;const a=e[r.openBraceIndex-1],l=e[o+1],s=a&&("plus"===a.type||"multiply"===a.type);(!c(null==l?void 0:l.type)||(null==l?void 0:l.precedence)<=r.minPrecedence)&&(!c(null==a?void 0:a.type)||(null==a?void 0:a.precedence)<(null==r?void 0:r.minPrecedence)||(null==a?void 0:a.precedence)===(null==r?void 0:r.minPrecedence)&&s)&&(t.unshift(r.openBraceIndex),t.push(o),n.length&&n[n.length-1].minPrecedence>r.minPrecedence&&(n[n.length-1].minPrecedence=r.minPrecedence))}}}for(let n=t.length;n--;)e.splice(t[n],1);return e}function p(e){return d((0,o.tokenize)(e)).reduce((e,t)=>{if("symbol"!==t.type)return e+t.value;const[,n]=h(t);return n?e+n:e},"")}function m(e){const t=function(e){const t=(0,o.tokenize)(e),n=[];return t.forEach(e=>{if("symbol"!==e.type)return;const[t]=h(e);t&&n.push(t)}),n}(e);if(1===t.length)return t[0]}function h(e){const t=/^'?(?:([A-Z0-9_]+):)?(.*?)'?$/i.exec(e.value);return null===t?[void 0,void 0]:[t[1],t[2]]}function f(e,t,n){const r=e.value,[l,s]=g(e,n),i=(0,a.getSymbolFullName)(t),c=o.symbolTokenEscapeRe.test(i)?`'${i}'`:i;return[r.substring(0,s)+c+r.substring(s+l.length),s+c.length]}function g(e,t){const{value:n,selectionStart:r}=e,a=(0, +o.tokenize)(t?n.toUpperCase():n),l=function(e,t){for(let n=0;n{"use strict";function r(e){if(e.fullName)return e.fullName;let t;return t=e.prefix||e.exchange?(e.prefix||e.exchange)+":"+e.name:e.name,t.replace(/<\/?[^>]+(>|$)/g,"")}function o(e){return""===e.value}function a(){const e=s();return e.find(o)||e[0]||null}function l(){return s()}function s(){return window.ChartApiInstance.supportedExchangesList().map(e=>({...e,country:"",providerId:"",flag:""}))}function i(){return window.ChartApiInstance.supportedSymbolsTypes()}function c(){return""}function u(){return!1}n.d(t,{getSymbolFullName:()=>r,isAllExchanges:()=>o,getDefaultExchange:()=>a,getAvailableExchanges:()=>l,getAvailableSymbolTypes:()=>i,getAllSymbolTypesValue:()=>c,exchangeSelectDisabled:()=>u})},39518:(e,t,n)=>{"use strict";n.d(t,{DialogsOpenerManager:()=>r,dialogsOpenerManager:()=>o});class r{constructor(){this._storage=new Map}setAsOpened(e,t){this._storage.set(e,t)}setAsClosed(e){this._storage.delete(e)}isOpened(e){return this._storage.has(e)}getDialogPayload(e){return this._storage.get(e)}}const o=new r},65955:(e,t,n)=>{"use strict";n.d(t,{symbolTokenEscapeRe:()=>a,tokenize:()=>i});var r=n(27490);const o=r.enabled("charting_library_base")?/(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF^])(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!:.&])*|'.+?'/:/(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF])(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!|:.&])*|'.+?'/,a=/[+\-/*]/,l={number:/\d+(?:\.\d*|(?![a-zA-Z0-9_!:.&]))|\.\d+/,incompleteNumber:/\./,symbol:o,incompleteSymbol:/'[^']*/,separatorPrefix:"###",openBrace:"(",closeBrace:")",plus:"+",minus:"-",multiply:"*",divide:"/",power:"^",whitespace:/[\0-\x20\s]+/,unparsed:null},s=new RegExp(Object.values(l).map(e=>{return null===e?"":`(${"string"==typeof e?(t=e,t.replace(/[\^$()[\]{}*+?|\\]/g,"\\$&")):e.source})`;var t}).filter(e=>""!==e).concat(".").join("|"),"g");function i(e){if(!e)return[];const t=[],n=Object.keys(l);let r;for(;r=s.exec(e);){let e=!1;for(let o=n.length;o--;)if(r[o+1]){n[o]&&t.push({value:r[o+1],type:n[o],precedence:0,offset:r.index}),e=!0;break}e||t.push({value:r[0],type:"unparsed",precedence:0,offset:r.index})}return t}},65802:(e,t,n)=>{"use strict";n.d(t,{rankedSearch:()=>o,createRegExpList:()=>a,getHighlightedChars:()=>l});var r=n(47903);function o(e){const{data:t,rules:n,queryString:o,isPreventedFromFiltering:a,primaryKey:l,secondaryKey:s=l,optionalPrimaryKey:i}=e;return t.map(e=>{const t=i&&e[i]?e[i]:e[l],a=e[s];let c,u=0;return n.forEach(e=>{var n,l,s,i;const{re:d,fullMatch:p}=e;return d.lastIndex=0,t&&t.toLowerCase()===o.toLowerCase()?(u=3,void(c=null===(n=t.match(p))||void 0===n?void 0:n.index)):(0,r.isString)(t)&&p.test(t)?(u=2,void(c=null===(l=t.match(p))||void 0===l?void 0:l.index)):(0, +r.isString)(a)&&p.test(a)?(u=1,void(c=null===(s=a.match(p))||void 0===s?void 0:s.index)):void((0,r.isString)(a)&&d.test(a)&&(u=1,c=null===(i=a.match(d))||void 0===i?void 0:i.index))}),{matchPriority:u,matchIndex:c,item:e}}).filter(e=>a||e.matchPriority).sort((e,t)=>{if(e.matchPriorityt.matchPriority)return-1;if(e.matchPriority===t.matchPriority){if(void 0===e.matchIndex||void 0===t.matchIndex)return 0;if(e.matchIndex>t.matchIndex)return 1;if(e.matchIndexe)}function a(e,t){const n=[],r=e.toLowerCase(),o=e.split("").map((e,t)=>`(${0!==t?"[/\\s-]"+s(e):s(e)})`).join("(.*?)")+"(.*)";return n.push({fullMatch:new RegExp(`(${s(e)})`,"i"),re:new RegExp("^"+o,"i"),reserveRe:new RegExp(o,"i"),fuzzyHighlight:!0}),t&&t.hasOwnProperty(r)&&n.push({fullMatch:t[r],re:t[r],fuzzyHighlight:!1}),n}function l(e,t,n){const r=[];return e&&n?(n.forEach(e=>{const{fullMatch:n,re:o,reserveRe:a}=e;n.lastIndex=0,o.lastIndex=0;const l=n.exec(t),s=l||o.exec(t)||a&&a.exec(t);if(e.fuzzyHighlight=!l,s)if(e.fuzzyHighlight){let e=s.index;for(let t=1;t{"use strict";n.d(t,{HighlightedText:()=>s});var r=n(67294),o=n(94184),a=n(65802),l=n(75695);function s(e){const{queryString:t,rules:n,text:s,className:i}=e,c=(0,r.useMemo)(()=>(0,a.getHighlightedChars)(t,s,n),[t,n,s]);return r.createElement(r.Fragment,null,c.length?s.split("").map((e,t)=>r.createElement(r.Fragment,{key:t},c[t]?r.createElement("span",{className:o(l.highlighted,i)},e):r.createElement("span",null,e))):s)}},86615:(e,t,n)=>{"use strict";n.d(t,{useEnsuredContext:()=>a});var r=n(67294),o=n(16282);function a(e){return(0,o.ensureNotNull)((0,r.useContext)(e))}},77727:(e,t,n)=>{"use strict";n.d(t,{useForceUpdate:()=>o});var r=n(67294);const o=()=>{const[,e]=(0,r.useReducer)((e,t)=>e+1,0);return e}},27278:(e,t,n)=>{"use strict";n.d(t,{useWatchedValueReadonly:()=>o});var r=n(67294);const o=(e,t=!1)=>{const n="watchedValue"in e?e.watchedValue:void 0,o="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[a,l]=(0,r.useState)(n?n.value():o);return(t?r.useLayoutEffect:r.useEffect)(()=>{if(n){l(n.value());const e=e=>l(e);return n.subscribe(e),()=>n.unsubscribe(e)}return()=>{}},[n]),a}},14236:(e,t,n)=>{"use strict";n.d(t,{MatchMediaMap:()=>l});var r=n(67294),o=n(19303),a=n.n(o);class l extends r.Component{constructor(e){super(e),this._handleMediaChange=()=>{const e=i(this.state.queries,(e,t)=>t.matches);let t=!1;for(const n in e)if(e.hasOwnProperty(n)&&this.state.matches[n]!==e[n]){t=!0;break}t&&this.setState({matches:e})};const{rules:t}=this.props;this.state=s(t)}shouldComponentUpdate(e,t){return!a()(e,this.props)||(!a()(t.rules,this.state.rules)||!a()(t.matches,this.state.matches))}componentDidMount(){this._migrate(null,this.state.queries)} +componentDidUpdate(e,t){a()(e.rules,this.props.rules)||this._migrate(t.queries,this.state.queries)}componentWillUnmount(){this._migrate(this.state.queries,null)}render(){return this.props.children(this.state.matches)}static getDerivedStateFromProps(e,t){if(a()(e.rules,t.rules))return null;const{rules:n}=e;return s(n)}_migrate(e,t){null!==e&&i(e,(e,t)=>{t.removeListener(this._handleMediaChange)}),null!==t&&i(t,(e,t)=>{t.addListener(this._handleMediaChange)})}}function s(e){const t=i(e,(e,t)=>window.matchMedia(t));return{queries:t,matches:i(t,(e,t)=>t.matches),rules:{...e}}}function i(e,t){const n={};for(const r in e)e.hasOwnProperty(r)&&(n[r]=t(r,e[r]));return n}},25659:(e,t,n)=>{"use strict";n.d(t,{Spinner:()=>l});var r=n(67294),o=n(94184),a=n(98852);n(11739);function l(e){const t=o(e.className,"tv-spinner","tv-spinner--shown","tv-spinner--size_"+a.spinnerSizeMap[e.size||a.DEFAULT_SIZE]);return r.createElement("div",{className:t,style:e.style,role:"progressbar"},r.createElement("div",{className:"tv-spinner__spinner-layer"},r.createElement("div",{className:"tv-spinner__background tv-spinner__width_element"}),r.createElement("div",{className:"tv-spinner__circle-clipper tv-spinner__width_element tv-spinner__circle-clipper--left"}),r.createElement("div",{className:"tv-spinner__circle-clipper tv-spinner__width_element tv-spinner__circle-clipper--right"})))}},88262:(e,t,n)=>{"use strict";n.d(t,{ToolWidgetCaret:()=>i});var r=n(67294),o=n(94184),a=n(49775),l=n(2632),s=n(85533);function i(e){const{dropped:t,className:n}=e;return r.createElement(a.Icon,{className:o(n,l.icon,{[l.dropped]:t}),icon:s})}},85533:e=>{e.exports=''},38002:e=>{e.exports=''},18861:e=>{e.exports=''},72421:e=>{ +e.exports=''},67192:e=>{ +e.exports=''},2796:e=>{e.exports=''},60096:e=>{e.exports=''},70879:e=>{e.exports=''},47293:e=>{e.exports=''},7686:e=>{ +e.exports=''},82067:e=>{e.exports=''},87868:e=>{e.exports=''},27328:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.css b/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.css new file mode 100644 index 0000000..0c6058e --- /dev/null +++ b/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.css @@ -0,0 +1 @@ +.button-1SoiPS-f{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);cursor:default;display:flex;flex:1 0 auto;height:100%;position:relative;transition:background-color .35s ease,color 60ms ease;z-index:0}html.theme-dark .button-1SoiPS-f{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-1SoiPS-f.hover-1SoiPS-f,.button-1SoiPS-f:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1SoiPS-f:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-1SoiPS-f.hover-1SoiPS-f,html.theme-dark .button-1SoiPS-f:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-1SoiPS-f:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-1SoiPS-f.hover-1SoiPS-f:before,.button-1SoiPS-f:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1SoiPS-f:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-1SoiPS-f.hover-1SoiPS-f:before,html.theme-dark .button-1SoiPS-f:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-1SoiPS-f:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-1SoiPS-f svg{display:block}.button-1SoiPS-f .arrow-1SoiPS-f{align-items:center;contain:content;display:flex;height:100%}.button-1SoiPS-f .arrowWrap-1SoiPS-f{margin:0 6px;transition:transform .35s ease}.button-1SoiPS-f.newStyles-1SoiPS-f{--tv-toolbar-explicit-hover-border-radius:4px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1SoiPS-f:hover .arrowWrap-1SoiPS-f{transform:translateY(2px)}}.button-1SoiPS-f.isOpened-1SoiPS-f.hover-1SoiPS-f:before,.button-1SoiPS-f.isOpened-1SoiPS-f:active:before,.button-1SoiPS-f.isOpened-1SoiPS-f:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-left,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-right,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1SoiPS-f.isOpened-1SoiPS-f:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-left,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-right,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}}html.theme-dark .button-1SoiPS-f.isOpened-1SoiPS-f.hover-1SoiPS-f:before,html.theme-dark .button-1SoiPS-f.isOpened-1SoiPS-f:active:before,html.theme-dark .button-1SoiPS-f.isOpened-1SoiPS-f:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-1SoiPS-f.isOpened-1SoiPS-f:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}.button-1SoiPS-f.isOpened-1SoiPS-f:hover .arrowWrap-1SoiPS-f{transform:none}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.rtl.css b/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.rtl.css new file mode 100644 index 0000000..1a9f0c7 --- /dev/null +++ b/public/static/charting_library/bundles/9843.9822f0a3a15262042b3e.rtl.css @@ -0,0 +1 @@ +.button-1SoiPS-f{align-items:center;color:var(--tv-color-toolbar-button-text,#131722);cursor:default;display:flex;flex:1 0 auto;height:100%;position:relative;transition:background-color .35s ease,color 60ms ease;z-index:0}html.theme-dark .button-1SoiPS-f{color:var(--tv-color-toolbar-button-text,#b2b5be)}.button-1SoiPS-f.hover-1SoiPS-f,.button-1SoiPS-f:active{color:var(--tv-color-toolbar-button-text-hover,#131722)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1SoiPS-f:hover{color:var(--tv-color-toolbar-button-text-hover,#131722)}}html.theme-dark .button-1SoiPS-f.hover-1SoiPS-f,html.theme-dark .button-1SoiPS-f:active{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-1SoiPS-f:hover{color:var(--tv-color-toolbar-button-text-hover,#b2b5be)}}.button-1SoiPS-f.hover-1SoiPS-f:before,.button-1SoiPS-f:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1SoiPS-f:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#f0f3fa);border-radius:var(--tv-toolbar-explicit-hover-border-radius,2px);bottom:var(--tv-toolbar-explicit-hover-margin,2px);content:"";display:block;left:var(--tv-toolbar-explicit-hover-margin,2px);position:absolute;right:var(--tv-toolbar-explicit-hover-margin,2px);top:var(--tv-toolbar-explicit-hover-margin,2px);z-index:-1}}html.theme-dark .button-1SoiPS-f.hover-1SoiPS-f:before,html.theme-dark .button-1SoiPS-f:active:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-1SoiPS-f:hover:before{background-color:var(--tv-color-toolbar-button-background-hover,#2a2e39)}}.button-1SoiPS-f svg{display:block}.button-1SoiPS-f .arrow-1SoiPS-f{align-items:center;contain:content;display:flex;height:100%}.button-1SoiPS-f .arrowWrap-1SoiPS-f{margin:0 6px;transition:transform .35s ease}.button-1SoiPS-f.newStyles-1SoiPS-f{--tv-toolbar-explicit-hover-border-radius:4px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1SoiPS-f:hover .arrowWrap-1SoiPS-f{transform:translateY(2px)}}.button-1SoiPS-f.isOpened-1SoiPS-f.hover-1SoiPS-f:before,.button-1SoiPS-f.isOpened-1SoiPS-f:active:before,.button-1SoiPS-f.isOpened-1SoiPS-f:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-right,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-left,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-1SoiPS-f.isOpened-1SoiPS-f:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#f0f3fa);border-radius:var(--tv-toolbar-opened-element-hover-border-radius,0);bottom:var(--tv-toolbar-opened-element-hover-margin-bottom,0);content:"";display:block;left:var(--tv-toolbar-opened-element-hover-margin-right,0);position:absolute;right:var(--tv-toolbar-opened-element-hover-margin-left,0);top:var(--tv-toolbar-opened-element-hover-margin-top,0);z-index:-1}}html.theme-dark .button-1SoiPS-f.isOpened-1SoiPS-f.hover-1SoiPS-f:before,html.theme-dark .button-1SoiPS-f.isOpened-1SoiPS-f:active:before,html.theme-dark .button-1SoiPS-f.isOpened-1SoiPS-f:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-1SoiPS-f.isOpened-1SoiPS-f:hover:before{background-color:var(--tv-color-toolbar-button-background-expanded,#2a2e39)}.button-1SoiPS-f.isOpened-1SoiPS-f:hover .arrowWrap-1SoiPS-f{transform:none}} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.css b/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.css new file mode 100644 index 0000000..5f9d462 --- /dev/null +++ b/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.css @@ -0,0 +1 @@ +.popupWidget-1LnizAbt{box-sizing:border-box;display:flex;padding:12px 14px}@media only screen and (min-width:428px){.popupWidget-1LnizAbt{max-width:342px}}.popupWidget-1LnizAbt:not(:last-child){border-bottom:1px solid #f0f3fa}html.theme-dark .popupWidget-1LnizAbt:not(:last-child){border-bottom:1px solid #2a2e39}.popupWidget-1LnizAbt .desc-1LnizAbt{display:flex;flex:1 1 auto;flex-direction:column}.popupWidget-1LnizAbt .icon-1LnizAbt{flex:0 0 auto;margin:2px 6px 2px 0;overflow:hidden}.popupWidget-1LnizAbt .icon-1LnizAbt.small-1LnizAbt{border-radius:9px;height:18px;width:18px}.popupWidget-1LnizAbt .icon-1LnizAbt.large-1LnizAbt{border-radius:11px;height:22px;width:22px}.popupWidget-1LnizAbt .title-1LnizAbt{font-weight:700}.popupWidget-1LnizAbt .title-1LnizAbt.small-1LnizAbt{font-size:16px;line-height:22px;margin-bottom:4px}.popupWidget-1LnizAbt .title-1LnizAbt.large-1LnizAbt{font-size:18px;line-height:26px;margin-bottom:2px}.popupWidget-1LnizAbt .text-1LnizAbt:first-letter{text-transform:capitalize}.popupWidget-1LnizAbt .text-1LnizAbt.small-1LnizAbt{font-size:14px;line-height:21px}.popupWidget-1LnizAbt .text-1LnizAbt.large-1LnizAbt{font-size:16px;line-height:25px}.popupWidget-1LnizAbt .text-1LnizAbt .item-1LnizAbt:after{content:" "}.popupWidget-1LnizAbt .text-1LnizAbt .boldItem-1LnizAbt{font-weight:700}.popupWidget-1LnizAbt .action-1LnizAbt{color:#2962ff;cursor:pointer;margin-top:8px}.popupWidget-1LnizAbt .action-1LnizAbt.small-1LnizAbt{font-size:14px;line-height:21px}.popupWidget-1LnizAbt .action-1LnizAbt.large-1LnizAbt{font-size:16px;line-height:25px}.additionalWidget-1LnizAbt{margin-bottom:12px;margin-top:12px}.additionalWidget-1LnizAbt:last-child{margin-bottom:0} \ No newline at end of file diff --git a/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.rtl.css b/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.rtl.css new file mode 100644 index 0000000..bfd53a9 --- /dev/null +++ b/public/static/charting_library/bundles/9917.f67e7443dbbc7357fda3.rtl.css @@ -0,0 +1 @@ +.popupWidget-1LnizAbt{box-sizing:border-box;display:flex;padding:12px 14px}@media only screen and (min-width:428px){.popupWidget-1LnizAbt{max-width:342px}}.popupWidget-1LnizAbt:not(:last-child){border-bottom:1px solid #f0f3fa}html.theme-dark .popupWidget-1LnizAbt:not(:last-child){border-bottom:1px solid #2a2e39}.popupWidget-1LnizAbt .desc-1LnizAbt{display:flex;flex:1 1 auto;flex-direction:column}.popupWidget-1LnizAbt .icon-1LnizAbt{flex:0 0 auto;margin:2px 0 2px 6px;overflow:hidden}.popupWidget-1LnizAbt .icon-1LnizAbt.small-1LnizAbt{border-radius:9px;height:18px;width:18px}.popupWidget-1LnizAbt .icon-1LnizAbt.large-1LnizAbt{border-radius:11px;height:22px;width:22px}.popupWidget-1LnizAbt .title-1LnizAbt{font-weight:700}.popupWidget-1LnizAbt .title-1LnizAbt.small-1LnizAbt{font-size:16px;line-height:22px;margin-bottom:4px}.popupWidget-1LnizAbt .title-1LnizAbt.large-1LnizAbt{font-size:18px;line-height:26px;margin-bottom:2px}.popupWidget-1LnizAbt .text-1LnizAbt:first-letter{text-transform:capitalize}.popupWidget-1LnizAbt .text-1LnizAbt.small-1LnizAbt{font-size:14px;line-height:21px}.popupWidget-1LnizAbt .text-1LnizAbt.large-1LnizAbt{font-size:16px;line-height:25px}.popupWidget-1LnizAbt .text-1LnizAbt .item-1LnizAbt:after{content:" "}.popupWidget-1LnizAbt .text-1LnizAbt .boldItem-1LnizAbt{font-weight:700}.popupWidget-1LnizAbt .action-1LnizAbt{color:#2962ff;cursor:pointer;margin-top:8px}.popupWidget-1LnizAbt .action-1LnizAbt.small-1LnizAbt{font-size:14px;line-height:21px}.popupWidget-1LnizAbt .action-1LnizAbt.large-1LnizAbt{font-size:16px;line-height:25px}.additionalWidget-1LnizAbt{margin-bottom:12px;margin-top:12px}.additionalWidget-1LnizAbt:last-child{margin-bottom:0} \ No newline at end of file diff --git a/public/static/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg b/public/static/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg new file mode 100644 index 0000000..8c4fa80 --- /dev/null +++ b/public/static/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/static/charting_library/bundles/add-compare-dialog.0e0f4b81cf8178378c14.js b/public/static/charting_library/bundles/add-compare-dialog.0e0f4b81cf8178378c14.js new file mode 100644 index 0000000..f52850e --- /dev/null +++ b/public/static/charting_library/bundles/add-compare-dialog.0e0f4b81cf8178378c14.js @@ -0,0 +1,10 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[731],{67891:function(e,t){var n,o,r;o=[t],void 0===(r="function"==typeof(n=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t{e.exports={wrapper:"wrapper-2eXD4rIf",input:"input-2eXD4rIf",box:"box-2eXD4rIf",icon:"icon-2eXD4rIf",noOutline:"noOutline-2eXD4rIf","intent-danger":"intent-danger-2eXD4rIf",check:"check-2eXD4rIf", +dot:"dot-2eXD4rIf"}},14073:e=>{e.exports={button:"button-3vkvsUbb",bordersVisible:"bordersVisible-3vkvsUbb",selected:"selected-3vkvsUbb"}},84856:e=>{e.exports={footer:"footer-3r-9t_XG"}},86598:e=>{e.exports={wrap:"wrap-38TyPnxL",header:"header-38TyPnxL",item:"item-38TyPnxL"}},97617:e=>{e.exports={label:"label-AT0tDw0n"}},32526:e=>{e.exports={scrollable:"scrollable-1zurvWNw",spinnerWrap:"spinnerWrap-1zurvWNw",item:"item-1zurvWNw",heading:"heading-1zurvWNw",checkboxWrap:"checkboxWrap-1zurvWNw",checkbox:"checkbox-1zurvWNw",emptyState:"emptyState-1zurvWNw",image:"image-1zurvWNw",text:"text-1zurvWNw"}},32087:e=>{e.exports={dialog:"dialog-1o8lbzhQ",tablet:"tablet-1o8lbzhQ"}},64526:e=>{e.exports={wrap:"wrap-164vy-kj",positionBottom:"positionBottom-164vy-kj",backdrop:"backdrop-164vy-kj",drawer:"drawer-164vy-kj",positionLeft:"positionLeft-164vy-kj"}},66549:e=>{e.exports={"tablet-small-breakpoint":"screen and (max-width: 428px)",item:"item-2IihgTnv",hovered:"hovered-2IihgTnv",isDisabled:"isDisabled-2IihgTnv",isActive:"isActive-2IihgTnv",shortcut:"shortcut-2IihgTnv",toolbox:"toolbox-2IihgTnv",withIcon:"withIcon-2IihgTnv",icon:"icon-2IihgTnv",labelRow:"labelRow-2IihgTnv",label:"label-2IihgTnv",showOnHover:"showOnHover-2IihgTnv"}},53400:(e,t,n)=>{"use strict";n.d(t,{CheckboxInput:()=>s});var o=n(67294),r=n(94184),a=n(49775),l=n(44805),i=n(58644),c=n.n(i);function s(e){const t=r(c().box,c()["intent-"+e.intent],{[c().check]:!Boolean(e.indeterminate),[c().dot]:Boolean(e.indeterminate),[c().noOutline]:-1===e.tabIndex}),n=r(c().wrapper,e.className);return o.createElement("span",{className:n,title:e.title},o.createElement("input",{id:e.id,tabIndex:e.tabIndex,className:c().input,type:"checkbox",name:e.name,checked:e.checked,disabled:e.disabled,value:e.value,autoFocus:e.autoFocus,role:e.role,onChange:function(){e.onChange&&e.onChange(e.value)},ref:e.reference}),o.createElement("span",{className:t},o.createElement(a.Icon,{icon:l,className:c().icon})))}},79653:(e,t,n)=>{"use strict";n.d(t,{SymbolSearchDialogFooter:()=>i});var o=n(67294),r=n(94184),a=n.n(r),l=n(84856);function i(e){const{className:t,children:n}=e;return o.createElement("div",{className:a()(l.footer,t)},n)}},42857:(e,t,n)=>{"use strict";n.r(t),n.d(t,{getCompareDialogRenderer:()=>ce});var o=n(67294),r=n(79881),a=n(96404),l=n(27490),i=n(20480),c=n(94184),s=n.n(c),d=n(5383),u=n.n(d),m=n(16282),h=n(49775),p=n(73991),v=n(27278),f=n(25659),b=n(71577),g=n(14829),w=n(54324),S=n(311);const C=o.createContext(null);var x=n(11086),y=n(86615);const E=o.createContext(null);var I=n(95860),k=n(57374),D=n(94004),M=n(14073);function N(e){const{theme:t=M,children:n,onClick:r,isSelected:a,areBordersVisible:l,isItemSelected:i,className:c,value:d,name:u}=e;return o.createElement("button",{type:"button",className:s()(c,t.button,a&&t.selected,l&&!a&&!i&&t.bordersVisible),name:u,value:d,onClick:r},n)}function T(e){const{value:t,onClick:n,...r}=e,a=(0,o.useCallback)(e=>n(t,e),[t,n]);return o.createElement(N,{...r,value:String(t),onClick:a})}var _=n(40488),O=n(86598);const P={sameScale:(0, +r.t)("Same % scale"),newPriceScale:(0,r.t)("New price scale"),newPane:(0,r.t)("New pane")};function z(e){const{fullSymbolName:t,isSelected:n,className:a}=e,{isMobile:l,searchRef:c,setMode:d}=(0,y.useEnsuredContext)(w.SymbolSearchItemsDialogContext),{compareModel:u,selectedCompareOption:m,setHoveredItemId:h,clearInput:p,allowExtendTimeScale:v}=(0,y.useEnsuredContext)(C),{callback:f}=(0,y.useEnsuredContext)(E);return l?o.createElement(D.DrawerManager,null,o.createElement(k.Drawer,{position:"Bottom",onClose:b.bind(null,!1)},o.createElement("div",{className:O.header},(0,r.t)("Add to")),o.createElement(I.PopupMenuItem,{className:O.item,onClick:g,onClickArg:_.CompareOption.SameScale,label:P.sameScale}),o.createElement(I.PopupMenuItem,{className:O.item,onClick:g,onClickArg:_.CompareOption.NewPriceScale,label:P.newPriceScale}),o.createElement(I.PopupMenuItem,{className:O.item,onClick:g,onClickArg:_.CompareOption.NewPane,label:P.newPane}))):o.createElement("div",{className:s()(O.wrap,a),"data-name":"compare-buttons-group"},o.createElement(T,{onClick:g,value:_.CompareOption.SameScale,isItemSelected:Boolean(n),isSelected:n&&m===_.CompareOption.SameScale},P.sameScale),o.createElement(T,{onClick:g,value:_.CompareOption.NewPriceScale,isItemSelected:Boolean(n),isSelected:n&&m===_.CompareOption.NewPriceScale},P.newPriceScale),o.createElement(T,{onClick:g,value:_.CompareOption.NewPane,isItemSelected:Boolean(n),isSelected:n&&m===_.CompareOption.NewPane},P.newPane));function b(e){l&&f&&f(),p&&e&&p(c,d)}function g(e,n){if(n.preventDefault(),u&&t&&void 0!==e){(0,i.getSymbolSearchCompleteOverrideFunction)()(t).then(t=>{u.applyStudy(t,e,v),h(""),b(!0)})}}}function A(e){const{isSelected:t,fullSymbolName:n,onExpandClick:r,actions:l,id:c,isOffset:s}=e,{isMobile:d,toggleExpand:u,searchSpreads:m,searchRef:h,setMode:p,mode:v}=(0,y.useEnsuredContext)(w.SymbolSearchItemsDialogContext),{compareModel:f,hoveredItemId:b,setHoveredItemId:g,clearInput:I,allowExtendTimeScale:k}=(0,y.useEnsuredContext)(C),[D,M]=(0,o.useState)(!1),N=(0,o.useRef)(null),T=(0,x.useAccurateHover)(N),O=(0,o.useMemo)(()=>({callback:B}),[B]),P=!Boolean(r)&&!Boolean(l),A=c===b;return o.createElement(E.Provider,{value:O},o.createElement(S.SymbolSearchDialogContentItem,{hideMarkedListFlag:"compare"===v,...e,reference:N,onClick:function(t){if(Boolean(r)&&c&&!s)return t.preventDefault(),void u(c);if(!D&&d)return void M(!0);if(m&&e.onClick)return void e.onClick(t);if((a.mobiletouch?A:!D)&&n){(0,i.getSymbolSearchCompleteOverrideFunction)()(n).then(e=>{f.applyStudy(e,_.CompareOption.SameScale,k)}),g(""),I&&I(h,p)}a.mobiletouch&&!d&&!A&&c&&g(c)},hoverComponent:function(){if(!P)return!1;if(d)return D;if(a.mobiletouch)return A;return Boolean(T||t)}()?z:void 0}));function B(){M(!1)}}var B=n(58726),R=n(51170),L=n(12343),W=n(32526);function H(e){const{handleListWidth:t}=(0,m.ensureNotNull)((0,o.useContext)(w.SymbolSearchItemsDialogContext)),{compareModel:n,selectedCompareIndex:a,selectedItemRef:l}=(0,m.ensureNotNull)((0,o.useContext)(C)),i=(0,v.useWatchedValueReadonly)({ +watchedValue:n.isDataReady()}),c=(0,v.useWatchedValueReadonly)({watchedValue:n.studies()}),d=(0,v.useWatchedValueReadonly)({watchedValue:n.highlightedSymbol()}),x=(0,o.useMemo)(()=>c.filter(e=>e.checked),[c]),y=(0,o.useMemo)(()=>c.filter(e=>!e.checked),[c]);return(0,o.useEffect)(()=>(n.chartModel().dataSourceCollectionChanged().subscribe(n,n.handleSourcesChange),()=>n.chartModel().dataSourceCollectionChanged().unsubscribe(n,n.handleSourcesChange)),[n]),o.createElement(u(),{onMeasure:function(e){t(e.width)}},o.createElement(p.TouchScrollContainer,{className:W.scrollable},function(){if(!i)return o.createElement("div",{className:W.spinnerWrap},o.createElement(f.Spinner,null));if(!Boolean(x.length)&&!Boolean(y.length)){const e=g.watchedTheme.value()===b.StdTheme.Dark?R:B;return o.createElement("div",{className:W.emptyState},o.createElement(h.Icon,{className:W.image,icon:e}),o.createElement("div",{className:W.text},(0,r.t)("No symbols here yet — why not add some?")))}return o.createElement(o.Fragment,null,Boolean(x.length)&&o.createElement(o.Fragment,null,o.createElement("div",{className:W.heading},(0,r.t)("Added symbols")),x.map((e,t)=>o.createElement(S.SymbolSearchDialogContentItem,{"data-role":"added-symbol-item",className:W.item,key:e.id,id:e.id,title:e.title,dangerousDescriptionHTML:e.description,exchangeName:e.exchangeName,marketType:e.marketType,country:e.country,providerId:e.providerId,onClick:E.bind(null,e),isHighlighted:e.id===d,isSelected:I(e),itemRef:I(e)?l:void 0,actions:o.createElement("div",{className:W.checkboxWrap},o.createElement(N,{className:W.checkbox,onClick:E.bind(null,e),isSelected:I(e)},o.createElement(h.Icon,{icon:L})))}))),Boolean(y.length)&&o.createElement(o.Fragment,null,o.createElement("div",{className:W.heading},(0,r.t)("Recent symbols")),y.map(e=>o.createElement(A,{"data-role":"recent-symbol-item",className:s()(W.item,e.id===d&&W.highlighted),key:e.id,id:e.id,title:e.title,dangerousDescriptionHTML:e.description,exchangeName:e.exchangeName,marketType:e.marketType,country:e.country,providerId:e.providerId,fullSymbolName:e.symbol,isSelected:I(e),itemRef:I(e)?l:void 0}))))}()));function E(e,t){t.preventDefault(),n.removeStudy(e)}function I(e){return c.indexOf(e)===a}}var F=n(64222);class V extends o.PureComponent{constructor(e){super(e),this._selectedItemRef=o.createRef(),this._getContextValue=()=>{const{compareModel:e}=this.props,{selectedCompareOption:t,selectedCompareIndex:n,hoveredItemId:o,allowExtendTimeScale:r}=this.state;return{compareModel:e,selectedCompareOption:t,setSelectedCompareOption:this._setSelectedCompareOption,hoveredItemId:o,setHoveredItemId:this._setHoveredItemId,selectedCompareIndex:n,setSelectedCompareIndex:this._setSelectedCompareIndex,selectedItemRef:this._selectedItemRef,clearInput:this._clearInput,allowExtendTimeScale:r,toggleAllowExtendTimeScale:this._toggleAllowExtendTimeScale}},this._clearInput=(e,t)=>{e&&e.current&&(e.current.value="",t("compare"))},this._setSelectedCompareOption=e=>{this.setState({selectedCompareOption:e})},this._setHoveredItemId=e=>{ +this.setState({hoveredItemId:e})},this._setSelectedCompareIndex=(e,t)=>{this.setState({selectedCompareIndex:e},t)},this._toggleAllowExtendTimeScale=()=>{const e=!this.state.allowExtendTimeScale;F.setValue("showAddSymbolDialog.extendCheckboxState",e),this.setState({allowExtendTimeScale:e})},this.state={selectedCompareOption:0,selectedCompareIndex:-1,hoveredItemId:void 0,allowExtendTimeScale:Boolean(F.getBool("showAddSymbolDialog.extendCheckboxState"))}}render(){const{children:e}=this.props;return o.createElement(C.Provider,{value:this._getContextValue()},e)}}var j=n(42998),U=n(93590),q=n(32087);const X=Object.keys(_.CompareOption).length/2;function Q(e){const{openedItems:t,searchRef:n,feedItems:r,selectedIndex:a,toggleExpand:l,onSearchComplete:i,mode:s,setMode:d,setSelectedIndex:u,isMobile:m,isTablet:h,onClose:p,upperCaseEnabled:f}=(0,y.useEnsuredContext)(w.SymbolSearchItemsDialogContext),{compareModel:b,hoveredItemId:g,setHoveredItemId:S,selectedCompareOption:x,setSelectedCompareOption:E,selectedCompareIndex:I,setSelectedCompareIndex:k,selectedItemRef:D,clearInput:M,allowExtendTimeScale:N}=(0,y.useEnsuredContext)(C),T=(0,v.useWatchedValueReadonly)({watchedValue:b.studies()}),_=r[a],O="compare"===s;return(0,o.useEffect)(()=>{g&&S(""),I&&k(-1)},[s]),o.createElement(U.AdaptivePopupDialog,{...e,className:c(q.dialog,!m&&h&&q.tablet),onKeyDown:function(e){var o;const c=(0,j.hashFromEvent)(e),s=O?I:a,u=O?T:r;switch(c){case 38:if(e.preventDefault(),0===s)return;if(-1===s)return void P(0);P(s-1);break;case 40:if(e.preventDefault(),s===u.length-1)return;P(s+1);break;case 37:{const n=A();if(n&&t.has(n))return e.preventDefault(),void l(n);if(!x||n)return;e.preventDefault(),E(x-1);break}case 39:{const n=A();if(n&&!t.has(n))return e.preventDefault(),void l(n);if(x===X-1||n)return;e.preventDefault(),E(x+1);break}case 13:{if(O)return void function(){if(-1===I)return;const e=T[I];e.checked?b.removeStudy(e):b.applyStudy(e.symbol,x,N);k(-1)}();const t=A();if(t)return e.preventDefault(),void l(t);e.preventDefault();const r=null===(o=null==n?void 0:n.current)||void 0===o?void 0:o.value.trim();r&&M&&(i([{symbol:f?r.toUpperCase():r,resolved:!1,compareOption:x,allowExtendTimeScale:N}]),M(n,d));break}case 27:e.preventDefault(),p()}},dataName:"compare-dialog",draggable:!0});function P(e){O?k(e,z):u(e)}function z(){var e;null===(e=D.current)||void 0===e||e.scrollIntoView({block:"nearest"})}function A(){if(!_)return;const{id:e,isOffset:t,onExpandClick:n}=_;return!t&&Boolean(n)&&e?e:void 0}}var G=n(73935),Y=n(89085),K=n(56161),J=(n(9772),n(58738));class Z extends J.DialogRenderer{constructor(e){super(),this._props=e}show(){if(this.visible().value())return;const e=o.createElement(Y.QuoteSessionContext.Provider,{value:null},o.createElement(K.SymbolSearchItemsDialog,{...this._props,initialMode:this._props.initialMode||"symbolSearch",onClose:()=>this.hide()}));G.render(e,this._container),this._setVisibility(!0)}hide(){var e,t;G.unmountComponentAtNode(this._container),this._visibility.setValue(!1), +null===(t=(e=this._props).onClose)||void 0===t||t.call(e)}}var $=n(3627),ee=n(40834),te=n(94905);function ne(e){const{searchRef:t,setMode:n}=(0,y.useEnsuredContext)(w.SymbolSearchItemsDialogContext),{currentMode:r}=(0,y.useEnsuredContext)(te.SymbolSearchDialogBodyContext);return(0,o.useEffect)(()=>{const e=t.current;if(e)return e.addEventListener("input",a),()=>{e&&e.removeEventListener("input",a)}},[]),o.createElement(ee.DialogSearch,{...e});function a(){var e,o,a,l;t.current&&r&&("compare"!==r.current||""===(null===(o=null===(e=null==t?void 0:t.current)||void 0===e?void 0:e.value)||void 0===o?void 0:o.trim())?"symbolSearch"===r.current&&""===(null===(l=null===(a=null==t?void 0:t.current)||void 0===a?void 0:a.value)||void 0===l?void 0:l.trim())&&n("compare"):n("symbolSearch"))}}var oe=n(53400),re=n(79653),ae=n(97617);function le(e){const{allowExtendTimeScale:t,toggleAllowExtendTimeScale:n}=(0,m.ensureNotNull)((0,o.useContext)(C));return o.createElement(re.SymbolSearchDialogFooter,null,o.createElement("label",null,o.createElement(oe.CheckboxInput,{checked:t,value:t?"on":"off",onChange:n}),o.createElement("span",{className:ae.label},(0,r.t)("Allow extend time scale"))))}const ie=l.enabled("secondary_series_extend_time_scale");function ce(e){return new Z({wrapper:(t=e,e=>o.createElement(V,{...e,compareModel:t})),dialog:Q,contentItem:A,initialScreen:H,searchInput:ne,footer:ie?o.createElement(le):void 0,initialMode:"compare",dialogTitle:(0,r.t)("Compare symbol"),autofocus:!a.mobiletouch,dialogWidth:"fixed",onSearchComplete:t=>{const{compareOption:n,allowExtendTimeScale:o}=t[0];if(void 0!==n){(0,i.getSymbolSearchCompleteOverrideFunction)()(t[0].symbol).then(t=>{e.applyStudy(t,n,o)})}},symbolTypes:(0,$.getAvailableSymbolTypes)(),showSpreadActions:l.enabled("show_spread_operators")&&l.enabled("compare_symbol_search_spread_operators")});var t}},40488:(e,t,n)=>{"use strict";var o;n.d(t,{CompareOption:()=>o}),function(e){e[e.SameScale=0]="SameScale",e[e.NewPriceScale=1]="NewPriceScale",e[e.NewPane=2]="NewPane"}(o||(o={}))},94004:(e,t,n)=>{"use strict";n.d(t,{DrawerManager:()=>r,DrawerContext:()=>a});var o=n(67294);class r extends o.PureComponent{constructor(e){super(e),this._addDrawer=()=>{const e=this.state.currentDrawer+1;return this.setState({currentDrawer:e}),e},this._removeDrawer=()=>{const e=this.state.currentDrawer-1;return this.setState({currentDrawer:e}),e},this.state={currentDrawer:0}}render(){return o.createElement(a.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.currentDrawer}},this.props.children)}}const a=o.createContext(null)},57374:(e,t,n)=>{"use strict";n.d(t,{Drawer:()=>h});var o=n(67294),r=n(16282),a=n(94184),l=n(67891),i=n(75761),c=n(4735),s=n(94004),d=n(43367),u=n(94884),m=n(64526);function h(e){const{position:t="Bottom",onClose:n,children:h,className:p,theme:v=m}=e,f=(0,r.ensureNotNull)((0,o.useContext)(s.DrawerContext)),[b,g]=(0,o.useState)(0),w=(0,o.useRef)(null),S=(0,o.useContext)(u.CloseDelegateContext);return(0,o.useEffect)(()=>{const e=(0, +r.ensureNotNull)(w.current);return e.focus({preventScroll:!0}),S.subscribe(f,n),(0,i.setFixedBodyState)(!0),d.CheckMobile.iOS()&&(0,l.disableBodyScroll)(e),g(f.addDrawer()),()=>{S.unsubscribe(f,n);const t=f.removeDrawer();d.CheckMobile.iOS()&&(0,l.enableBodyScroll)(e),0===t&&(0,i.setFixedBodyState)(!1)}},[]),o.createElement(c.Portal,null,o.createElement("div",{className:a(m.wrap,m["position"+t])},b===f.currentDrawer&&o.createElement("div",{className:m.backdrop,onClick:n}),o.createElement("div",{className:a(m.drawer,v.drawer,m["position"+t],p),ref:w,tabIndex:-1,"data-name":e["data-name"]},h)))}},11086:(e,t,n)=>{"use strict";n.d(t,{hoverMouseEventFilter:()=>a,useAccurateHover:()=>l,useHover:()=>r});var o=n(67294);function r(){const[e,t]=(0,o.useState)(!1);return[e,{onMouseOver:function(e){a(e)&&t(!0)},onMouseOut:function(e){a(e)&&t(!1)}}]}function a(e){return!e.currentTarget.contains(e.relatedTarget)}function l(e){const[t,n]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{const t=t=>{if(null===e.current)return;const o=e.current.contains(t.target);n(o)};return document.addEventListener("mouseover",t),()=>document.removeEventListener("mouseover",t)},[]),t}},68521:(e,t,n)=>{"use strict";n.d(t,{MatchMedia:()=>r});var o=n(67294);class r extends o.PureComponent{constructor(e){super(e),this._handleChange=()=>{this.forceUpdate()},this.state={query:window.matchMedia(this.props.rule)}}componentDidMount(){this._subscribe(this.state.query)}componentDidUpdate(e,t){this.state.query!==t.query&&(this._unsubscribe(t.query),this._subscribe(this.state.query))}componentWillUnmount(){this._unsubscribe(this.state.query)}render(){return this.props.children(this.state.query.matches)}static getDerivedStateFromProps(e,t){return e.rule!==t.query.media?{query:window.matchMedia(e.rule)}:null}_subscribe(e){e.addListener(this._handleChange)}_unsubscribe(e){e.removeListener(this._handleChange)}}},95860:(e,t,n)=>{"use strict";n.d(t,{DEFAULT_POPUP_MENU_ITEM_THEME:()=>s,PopupMenuItem:()=>m});var o=n(67294),r=n(94184),a=n(79424),l=n(87438),i=n(74818),c=n(66549);const s=c;function d(e){const{reference:t,...n}=e,r={...n,ref:t};return o.createElement(e.href?"a":"div",r)}function u(e){e.stopPropagation()}function m(e){const{id:t,role:n,"aria-selected":s,className:m,title:h,labelRowClassName:p,labelClassName:v,shortcut:f,forceShowShortcuts:b,icon:g,isActive:w,isDisabled:S,isHovered:C,appearAsDisabled:x,label:y,link:E,showToolboxOnHover:I,target:k,rel:D,toolbox:M,reference:N,onMouseOut:T,onMouseOver:_,suppressToolboxClick:O=!0,theme:P=c}=e,z=(0,i.filterDataProps)(e),A=(0,o.useRef)(null);return o.createElement(d,{...z,id:t,role:n,"aria-selected":s,className:r(m,P.item,g&&P.withIcon,{[P.isActive]:w,[P.isDisabled]:S||x,[P.hovered]:C}),title:h,href:E,target:k,rel:D,reference:function(e){A.current=e,"function"==typeof N&&N(e);"object"==typeof N&&(N.current=e)},onClick:function(t){const{dontClosePopup:n,onClick:o,onClickArg:r,trackEventObject:i}=e;if(S)return;i&&(0,l.trackEvent)(i.category,i.event,i.label);o&&o(r,t);n||(0,a.globalCloseMenu)()}, +onContextMenu:function(t){const{trackEventObject:n,trackRightClick:o}=e;n&&o&&(0,l.trackEvent)(n.category,n.event,n.label+"_rightClick")},onMouseUp:function(t){const{trackEventObject:n,trackMouseWheelClick:o}=e;if(1===t.button&&E&&n){let e=n.label;o&&(e+="_mouseWheelClick"),(0,l.trackEvent)(n.category,n.event,e)}},onMouseOver:_,onMouseOut:T},void 0!==g&&o.createElement("div",{className:P.icon,dangerouslySetInnerHTML:{__html:g}}),o.createElement("div",{className:r(P.labelRow,p)},o.createElement("div",{className:r(P.label,v)},y)),(void 0!==f||b)&&o.createElement("div",{className:P.shortcut},(B=f)&&B.split("+").join(" + ")),void 0!==M&&o.createElement("div",{onClick:O?u:void 0,className:r(P.toolbox,{[P.showOnHover]:I})},M));var B}},94884:(e,t,n)=>{"use strict";n.d(t,{CloseDelegateContext:()=>a});var o=n(67294),r=n(79424);const a=o.createContext(r.globalCloseDelegate)},73991:(e,t,n)=>{"use strict";n.d(t,{TouchScrollContainer:()=>i});var o=n(67294),r=n(67891),a=n(16282),l=n(43367);function i(e){const{reference:t,children:n,...a}=e,i=(0,o.useRef)(null),s=(0,o.useCallback)(e=>{t&&(t.current=e),l.CheckMobile.iOS()&&(null!==i.current&&(0,r.enableBodyScroll)(i.current),i.current=e,null!==i.current&&(0,r.disableBodyScroll)(i.current,{allowTouchMove:c(i)}))},[t]);return o.createElement("div",{ref:s,...a},n)}function c(e){return t=>{const n=(0,a.ensureNotNull)(e.current),o=document.activeElement;return!n.contains(t)||null!==o&&n.contains(o)&&o.contains(t)}}},44805:e=>{e.exports=''},12343:e=>{e.exports=''},51170:e=>{ +e.exports=''},58726:e=>{ +e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 b/public/static/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 new file mode 100644 index 0000000..c0acdbe Binary files /dev/null and b/public/static/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 differ diff --git a/public/static/charting_library/bundles/change-interval-dialog.15fea722d205fbdde7d1.js b/public/static/charting_library/bundles/change-interval-dialog.15fea722d205fbdde7d1.js new file mode 100644 index 0000000..216c6cb --- /dev/null +++ b/public/static/charting_library/bundles/change-interval-dialog.15fea722d205fbdde7d1.js @@ -0,0 +1,2 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2077],{48450:e=>{e.exports={dialog:"dialog-23lGwisF",dialogInner:"dialogInner-23lGwisF",titleWrapper:"titleWrapper-23lGwisF",title:"title-23lGwisF",infoHint:"infoHint-23lGwisF",form:"form-23lGwisF",inputWrapper:"inputWrapper-23lGwisF",input:"input-23lGwisF",hint:"hint-23lGwisF",error:"error-23lGwisF"}},74818:(e,t,n)=>{"use strict";function r(e){return a(e,o)}function i(e){return a(e,s)}function a(e,t){const n=Object.entries(e).filter(t),r={};for(const[e,t]of n)r[e]=t;return r}function o(e){const[t,n]=e;return 0===t.indexOf("data-")&&"string"==typeof n}function s(e){return 0===e[0].indexOf("aria-")}n.d(t,{filterDataProps:()=>r,filterAriaProps:()=>i,filterProps:()=>a,isDataAttribute:()=>o,isAriaAttribute:()=>s})},12028:(e,t,n)=>{"use strict";n.r(t),n.d(t,{showChangeIntervalDialog:()=>M});var r=n(67294),i=n(73935),a=n(94184),o=n.n(a),s=n(79881),l=n(81829),u=n(11888),c=n(24287),d=n(32402),p=n(49775),g=n(33237);const m=(0,s.t)("Type the interval number for minute charts (i.e. 5 if it is going to be a five minute chart). Or number plus letter for H (Hourly), D (Daily), W (Weekly), M (Monthly) intervals (i.e. D or 2H)"),f=(0,s.t)("Type the interval number for minute charts (i.e. 5 if it's going to be a five minute chart). Or number plus letter for other intervals: S for 1 second chart (15S for 15 second chart, etc.), H (Hourly), D (Daily), W (Weekly), M (Monthly) intervals (i.e. D or 2H)");function v(e){const{className:t,isSecondsEnabled:n}=e;return r.createElement(p.Icon,{icon:g,className:o()("apply-common-tooltip",t),title:n?f:m})}var h=n(72454),w=n(1467);var E=n(35001),y=n(48450);function C(e){const{initVal:t,selectOnInit:n,onClose:i}=e,a=(0,r.useRef)(null),[p,g]=(0,r.useState)(t.toUpperCase()),m=(0,r.useMemo)(()=>(0,h.parseIntervalValue)(p),[p]),f=function(e,t){return(0,r.useMemo)(()=>{let n=!t.error&&(0,h.intervalIsSupported)(e);if(!n)return!1;const r=t.unit;if("R"===r&&t.qty>(0,w.getMaxResolutionValue)("R"))n=!1;else if(null===r||"H"===r){t.qty*("H"===r?60:1)>(0,w.getMaxResolutionValue)("1")&&(n=!1)}else"S"===r?t.qty>(0,w.getMaxResolutionValue)("S")&&(n=!1):"T"===r&&1!==t.qty&&(n=!1);return n},[e,t])}(p,m),C=(0,r.useMemo)(()=>{if(!f)return null;const e=m.qty+(m.unit||"");return(0,w.getTranslatedResolutionModel)(e).hint},[f,m]);return(0,r.useLayoutEffect)(()=>{var e,t;n?null===(e=a.current)||void 0===e||e.select():null===(t=a.current)||void 0===t||t.focus()},[n]),r.createElement(d.PopupDialog,{className:y.dialog,"data-dialog-name":"change-interval-dialog",isOpened:!0,onClickOutside:i,onFocus:function(){var e;null===(e=a.current)||void 0===e||e.focus()},onKeyDown:function(e){27===e.keyCode&&(null==i||i())}},r.createElement("div",{className:y.dialogInner},r.createElement("div",{className:y.titleWrapper},r.createElement("div",{className:y.title},(0,s.t)("Change interval")),r.createElement(v,{className:y.infoHint,isSecondsEnabled:(0,w.isSecondsEnabled)()})),r.createElement("form",{className:y.form,onSubmit:function(e){e.preventDefault() +;const t=c.linking.interval.value(),n=E.Interval.normalize(p);n&&t!==n&&f&&(r=n,(0,w.setLastUsedResolution)(r),c.linking.interval.setValue(r));var r;null==i||i()}},r.createElement(l.InputControl,{className:o()(y.inputWrapper,u.InputClasses.FontSizeLarge),inputClassName:y.input,type:"text",size:"large",reference:a,value:p,maxLength:8,intent:f?void 0:"danger",onChange:function(e){const{value:t}=e.target;g(t.toUpperCase())}})),f?r.createElement("div",{className:y.hint},C):r.createElement("div",{className:o()(y.hint,y.error)},(0,s.t)("Not applicable"))))}var O=n(39518);function M(e){if(O.dialogsOpenerManager.isOpened("ChangeIntervalDialog")||O.dialogsOpenerManager.isOpened("SymbolSearch"))return;const t=document.createElement("div"),{initVal:n,selectOnInit:a,onClose:o}=e,s=r.createElement(C,{initVal:n,selectOnInit:a,onClose:function(){i.unmountComponentAtNode(t),O.dialogsOpenerManager.setAsClosed("ChangeIntervalDialog"),null==o||o()}});i.render(s,t),O.dialogsOpenerManager.setAsOpened("ChangeIntervalDialog")}},59726:(e,t,n)=>{"use strict";function r(e,t,n,r,i){function a(i){if(e>i.timeStamp)return;const a=i.target;void 0!==n&&null!==t&&null!==a&&a.ownerDocument===r&&(t.contains(a)||n(i))}return i.click&&r.addEventListener("click",a,!1),i.mouseDown&&r.addEventListener("mousedown",a,!1),i.touchEnd&&r.addEventListener("touchend",a,!1),i.touchStart&&r.addEventListener("touchstart",a,!1),()=>{r.removeEventListener("click",a,!1),r.removeEventListener("mousedown",a,!1),r.removeEventListener("touchend",a,!1),r.removeEventListener("touchstart",a,!1)}}n.d(t,{addOutsideEventListener:()=>r})},39518:(e,t,n)=>{"use strict";n.d(t,{DialogsOpenerManager:()=>r,dialogsOpenerManager:()=>i});class r{constructor(){this._storage=new Map}setAsOpened(e,t){this._storage.set(e,t)}setAsClosed(e){this._storage.delete(e)}isOpened(e){return this._storage.has(e)}getDialogPayload(e){return this._storage.get(e)}}const i=new r},33237:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/chart-bottom-toolbar.05a57b6389d7ddc2a351.js b/public/static/charting_library/bundles/chart-bottom-toolbar.05a57b6389d7ddc2a351.js new file mode 100644 index 0000000..cdc50e4 --- /dev/null +++ b/public/static/charting_library/bundles/chart-bottom-toolbar.05a57b6389d7ddc2a351.js @@ -0,0 +1,16 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7260],{67891:function(e,t){var n,i,s;i=[t],void 0===(s="function"==typeof(n=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t{e.exports={loader:"loader-38qh0l_K",static:"static-38qh0l_K",item:"item-38qh0l_K","tv-button-loader":"tv-button-loader-38qh0l_K",black:"black-38qh0l_K",white:"white-38qh0l_K",gray:"gray-38qh0l_K", +primary:"primary-38qh0l_K","loader-initial":"loader-initial-38qh0l_K","loader-appear":"loader-appear-38qh0l_K"}},90324:e=>{e.exports={button:"button-2pZNJ24z",hover:"hover-2pZNJ24z",inner:"inner-2pZNJ24z"}},80088:e=>{e.exports={toolbar:"toolbar-2yU8ifXU",dateRangeWrapper:"dateRangeWrapper-2yU8ifXU",seriesControlWrapper:"seriesControlWrapper-2yU8ifXU",dateRangeExpanded:"dateRangeExpanded-2yU8ifXU",dateRangeCollapsed:"dateRangeCollapsed-2yU8ifXU",item:"item-2yU8ifXU",first:"first-2yU8ifXU",last:"last-2yU8ifXU",inline:"inline-2yU8ifXU",timezone:"timezone-2yU8ifXU",session:"session-2yU8ifXU",icon:"icon-2yU8ifXU",hidden:"hidden-2yU8ifXU",collapsed:"collapsed-2yU8ifXU"}},39123:e=>{e.exports={button:"button-15caiVtH",separator:"separator-15caiVtH"}},81882:e=>{e.exports={button:"button-yLOygoSG",hover:"hover-yLOygoSG",icon:"icon-yLOygoSG"}},49876:e=>{e.exports={separator:"separator-13-1nlsQ"}},46305:e=>{e.exports={button:"button-2-onvH7F"}},18411:e=>{e.exports={item:"item-3SbREAgE",hover:"hover-3SbREAgE",isActive:"isActive-3SbREAgE",isFirst:"isFirst-3SbREAgE",isLast:"isLast-3SbREAgE"}},66766:e=>{e.exports={slider:"slider-3GYrNsPp",inner:"inner-3GYrNsPp"}},63187:e=>{e.exports={sliderRow:"sliderRow-1emAA4_D"}},30160:e=>{e.exports={item:"item-f5BaKrKq",interactive:"interactive-f5BaKrKq",hovered:"hovered-f5BaKrKq",disabled:"disabled-f5BaKrKq",active:"active-f5BaKrKq",shortcut:"shortcut-f5BaKrKq",normal:"normal-f5BaKrKq",big:"big-f5BaKrKq",iconCell:"iconCell-f5BaKrKq",icon:"icon-f5BaKrKq",checkmark:"checkmark-f5BaKrKq",content:"content-f5BaKrKq",label:"label-f5BaKrKq",checked:"checked-f5BaKrKq",toolbox:"toolbox-f5BaKrKq",showToolboxOnHover:"showToolboxOnHover-f5BaKrKq",arrowIcon:"arrowIcon-f5BaKrKq",subMenu:"subMenu-f5BaKrKq",invisibleHotkey:"invisibleHotkey-f5BaKrKq"}},85848:e=>{e.exports={item:"item-1-SF84yU",emptyIcons:"emptyIcons-1-SF84yU",loading:"loading-1-SF84yU",disabled:"disabled-1-SF84yU",interactive:"interactive-1-SF84yU",hovered:"hovered-1-SF84yU",normal:"normal-1-SF84yU",big:"big-1-SF84yU",icon:"icon-1-SF84yU",label:"label-1-SF84yU",title:"title-1-SF84yU",nested:"nested-1-SF84yU",shortcut:"shortcut-1-SF84yU",remove:"remove-1-SF84yU"}},68552:e=>{e.exports={separator:"separator-3No0pWrk"}},66549:e=>{e.exports={"tablet-small-breakpoint":"screen and (max-width: 428px)",item:"item-2IihgTnv",hovered:"hovered-2IihgTnv",isDisabled:"isDisabled-2IihgTnv",isActive:"isActive-2IihgTnv",shortcut:"shortcut-2IihgTnv",toolbox:"toolbox-2IihgTnv",withIcon:"withIcon-2IihgTnv",icon:"icon-2IihgTnv",labelRow:"labelRow-2IihgTnv",label:"label-2IihgTnv",showOnHover:"showOnHover-2IihgTnv"}},78706:e=>{e.exports={separator:"separator-eqcGT_ow",small:"small-eqcGT_ow",normal:"normal-eqcGT_ow",large:"large-eqcGT_ow"}},16929:e=>{e.exports={tabs:"tabs-3I2ohC86",tab:"tab-3I2ohC86",noBorder:"noBorder-3I2ohC86",disabled:"disabled-3I2ohC86",active:"active-3I2ohC86",defaultCursor:"defaultCursor-3I2ohC86",slider:"slider-3I2ohC86",content:"content-3I2ohC86"}},73226:(e,t,n)=>{"use strict";n.d(t,{Loader:()=>c}) +;var i,s=n(67294),a=n(94184),o=n(8596),r=n(33214),l=n.n(r);!function(e){e[e.Initial=0]="Initial",e[e.Appear=1]="Appear",e[e.Active=2]="Active"}(i||(i={}));class c extends s.PureComponent{constructor(e){super(e),this._stateChangeTimeout=null,this.state={state:i.Initial}}render(){const{className:e,color:t="black",staticPosition:n}=this.props,i=a(l().item,{[l()[t]]:Boolean(t)});return s.createElement("span",{className:a(l().loader,n&&l().static,e,this._getStateClass())},s.createElement("span",{className:i}),s.createElement("span",{className:i}),s.createElement("span",{className:i}))}componentDidMount(){this.setState({state:i.Appear}),this._stateChangeTimeout=setTimeout(()=>{this.setState({state:i.Active})},2*o.dur)}componentWillUnmount(){this._stateChangeTimeout&&(clearTimeout(this._stateChangeTimeout),this._stateChangeTimeout=null)}_getStateClass(){switch(this.state.state){case i.Initial:return l()["loader-initial"];case i.Appear:return l()["loader-appear"];default:return""}}}},74818:(e,t,n)=>{"use strict";function i(e){return a(e,o)}function s(e){return a(e,r)}function a(e,t){const n=Object.entries(e).filter(t),i={};for(const[e,t]of n)i[e]=t;return i}function o(e){const[t,n]=e;return 0===t.indexOf("data-")&&"string"==typeof n}function r(e){return 0===e[0].indexOf("aria-")}n.d(t,{filterDataProps:()=>i,filterAriaProps:()=>s,filterProps:()=>a,isDataAttribute:()=>o,isAriaAttribute:()=>r})},99740:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BottomToolbarRenderer:()=>Ye});var i=n(67294),s=n(73935),a=n(79881),o=n(45697),r=n(94184),l=n(5383),c=n(27490),h=n(67842),d=n(19330),u=n(79424),m=n(68521),g=n(95860),p=n(10869),v=n(16282),b=n(87438),_=n(53178),f=n(5729),C=n.n(f),y=n(74645);class E{constructor(e){this._state={ranges:[]},this._change=new(C()),this._rangeChangedListenerBound=this._onRangeChanged.bind(this);const{chartWidget:t}=this._context=e;t.withModel(null,()=>{const e=t.model(),n=e.mainSeries();n.onStatusChanged().subscribe(this,this._updateAvailableRanges),c.enabled("update_timeframes_set_on_symbol_resolve")&&n.dataEvents().symbolResolved().subscribe(this,this._updateAvailableRanges),n.priceScale().properties().childs().lockScale.subscribe(this,this._updateAvailableRanges);const i=e.model().appliedTimeFrame();i.subscribe(this._rangeChangedListenerBound),this._rangeChangedListenerBound(i.value()),this._updateAvailableRanges()})}state(){return this._state}onChange(){return this._change}selectRange(e){this._setState({activeRange:e.value.value});const{chartWidgetCollection:t}=this._context,n={val:e.value,res:e.targetResolution};t.setTimeFrame(n)}destroy(){const{chartWidget:e}=this._context;e.withModel(null,()=>{const t=e.model(),n=t.mainSeries();n.onStatusChanged().unsubscribe(this,this._updateAvailableRanges),c.enabled("update_timeframes_set_on_symbol_resolve")&&n.dataEvents().symbolResolved().unsubscribe(this,this._updateAvailableRanges),n.priceScale().properties().childs().lockScale.unsubscribe(this,this._updateAvailableRanges),t.model().appliedTimeFrame().unsubscribe(this._rangeChangedListenerBound)}),this._change.destroy()} +_setState(e){this._state=Object.assign({},this._state,e),this._change.fire(this._state)}_onRangeChanged(e){let t;null!==e&&"period-back"===e.val.type&&(t=e.val.value),this._setState({activeRange:t})}_updateAvailableRanges(){const{availableTimeFrames:e,chartWidget:t}=this._context;if(!t.hasModel())return;const n=t.model().mainSeries(),i=n.status();if(i===y.STATUS_LOADING||i===y.STATUS_RESOLVING)return;const s=e(n.symbolInfo(),n.status());0!==s.length&&this._setState({ranges:s})}}const S=(0,_.registryContextType)();function x(e){var t;return(t=class extends i.PureComponent{constructor(e,t){super(e,t),this._handleUpdate=e=>{this.setState(e)},this._handleSelectRange=e=>{var t,n;(0,b.trackEvent)("GUI","Chart Bottom Toolbar","range "+e.value),null===(n=(t=this.props).onSelectRange)||void 0===n||n.call(t,e),this._binding.selectRange(e)},(0,_.validateRegistry)(t,{availableTimeFrames:o.any.isRequired,chartWidgetCollection:o.any.isRequired,chartWidget:o.any.isRequired}),M.has(t.chartWidget)||M.set(t.chartWidget,new E(t));const n=this._binding=(0,v.ensureDefined)(M.get(t.chartWidget));this.state=n.state()}componentDidMount(){this._binding.onChange().subscribe(this,this._handleUpdate)}componentWillUnmount(){this._binding.onChange().unsubscribe(this,this._handleUpdate)}render(){return i.createElement(e,{goToDateButton:this.props.goToDateButton,className:this.props.className,ranges:this.state.ranges,activeRange:this.state.activeRange,onSelectRange:this._handleSelectRange})}}).contextType=S,t}const M=new WeakMap;var w=n(98737),k=n(90590),R=n(10284),T=n(22675),A=n(14561),N=n(39123);function B(e){const{ranges:t,activeRange:n,onSelectRange:s}=e;return i.createElement(i.Fragment,null,t.map(e=>i.createElement(k.ContextMenuItem,{key:e.value.value,label:e.description||e.text,active:n===e.value.value,checked:n===e.value.value,checkable:!0,disabled:!1,onClick:a.bind(null,e),doNotCloseOnClick:!1,subItems:[]})));function a(e){e&&s&&s(e),(0,u.globalCloseMenu)()}}function W(e){const{onGoToDateClick:t}=e;return i.createElement(i.Fragment,null,i.createElement(R.Separator,{className:N.separator}),i.createElement(k.ContextMenuItem,{icon:A,label:(0,T.appendEllipsis)((0,a.t)("Go to")),onClick:t,active:!1,checked:!1,checkable:!1,disabled:!1,doNotCloseOnClick:!1,subItems:[]}))}const L={title:(0,a.t)("Date Range"),goToDate:(0,T.appendEllipsis)((0,a.t)("Go to"))},D=(0,_.registryContextType)();class I extends i.PureComponent{constructor(e,t){super(e,t),this._handleGoToDateClick=()=>{const{chartWidget:e}=this.context;(0,w.showGoToDateDialog)(e),(0,u.globalCloseMenu)()},this._handleRangeSelect=e=>{e&&this.props.onSelectRange&&this.props.onSelectRange(e),(0,u.globalCloseMenu)()},this._renderChildren=e=>{const{ranges:t,activeRange:n,goToDateButton:s}=this.props;return e?i.createElement(i.Fragment,null,i.createElement(B,{ranges:t,activeRange:n,onSelectRange:this._handleRangeSelect}),s&&i.createElement(W,{onGoToDateClick:this._handleGoToDateClick})):i.createElement(i.Fragment,null,t.map(e=>i.createElement(g.PopupMenuItem,{key:e.value.value, +label:e.description||e.text,isActive:n===e.value.value,onClick:this._handleRangeSelect,onClickArg:e})),s&&i.createElement(p.PopupMenuSeparator,null),s&&i.createElement(g.PopupMenuItem,{label:L.goToDate,onClick:this._handleGoToDateClick}))},(0,_.validateRegistry)(t,{chartWidget:o.any.isRequired})}render(){return i.createElement(m.MatchMedia,{rule:"screen and (max-width: 428px)"},e=>i.createElement(h.ToolWidgetMenu,{className:N.button,content:L.title,arrow:!0,verticalAttachEdge:d.VerticalAttachEdge.Top,verticalDropDirection:d.VerticalDropDirection.FromBottomToTop,horizontalMargin:4,"data-name":"date-ranges-menu",isDrawer:e,onClick:this._trackClick},this._renderChildren(e)))}_trackClick(){0}}I.contextType=D;const z=x(I);var P=n(41445),F=n(18411);function U(e){const t=r(e.className,F.item,{[F.isActive]:e.isActive,[F.isFirst]:e.isFirst,[F.isLast]:e.isLast});return i.createElement("div",{className:t,onClick:e.onClick,ref:e.reference},e.children)}var H=n(4598),O=n(66766);const q=(0,H.mergeThemes)(P.DEFAULT_SLIDER_THEME,O);var K=n(63187);const j=(0,P.factory)((function(e){return i.createElement("div",{className:r(e.className,q.slider),ref:e.reference},i.createElement("div",{className:q.inner}))}));const G=x((function(e){const{className:t,ranges:n,activeRange:s,onSelectRange:a}=e;return i.createElement(j,{className:r(K.sliderRow,t),"data-name":"date-ranges-tabs"},n.map((e,t)=>i.createElement(U,{key:e.value.value,value:e.value.value,isFirst:0===t,isLast:t===n.length-1,isActive:s===e.value.value,onClick:a&&a.bind(null,e)},i.createElement("div",{title:e.description||e.text,className:"apply-common-tooltip"},e.text))))}));var V=n(49775),X=n(19598),Z=n(42998),Y=n(51496),J=n(81882);const $=(0,X.hotKeySerialize)({keys:[(0,Z.humanReadableModifiers)(Z.Modifiers.Alt,!1),"G"],text:"{0} + {1}"}),Q=(0,_.registryContextType)();class ee extends i.PureComponent{constructor(e,t){super(e,t),this._handleClick=()=>{const{chartWidget:e}=this.context;(0,b.trackEvent)("GUI","Chart Bottom Toolbar","go to"),(0,w.showGoToDateDialog)(e)},(0,_.validateRegistry)(t,{chartWidget:o.any.isRequired})}render(){const{className:e,ranges:t}=this.props;return t.length>0&&i.createElement("div",{className:r("apply-common-tooltip",J.button,e),"data-name":"go-to-date","data-tooltip-hotkey":$,onClick:this._handleClick,title:(0,a.t)("Go to")},i.createElement(V.Icon,{className:J.icon,icon:Y}))}}ee.contextType=Q;const te=x(ee);var ne=n(90324);function ie(e){const{reference:t,className:n,children:s,...a}=e;return i.createElement("button",{...a,className:r(n,ne.button),ref:t},i.createElement("span",{className:ne.inner},s))}var se=n(48729),ae=n(18675),oe=n(46374),re=n(6799);class le extends i.PureComponent{constructor(e){super(e),this._element=null,this._menuShown=!1,this._preventShowingMenu=!1,this._handleRef=e=>{this._element=e},this._onMouseDown=()=>{this._preventShowingMenu=this._menuShown},this._showMenu=()=>{if(this._preventShowingMenu)return void re.ContextMenuManager.hideAll();const{getActions:e}=this.props,t=(0,v.ensureNotNull)(this._element),n=e() +;if(0===n.length)return;const i=t.getBoundingClientRect();re.ContextMenuManager.showMenu(n,{clientX:i.left,clientY:i.top,attachToYBy:"bottom"},void 0,{menuName:"TimezoneMenuContextMenu"},()=>{this._menuShown=!1}).then(()=>{this._menuShown=!0})}}render(){const{children:e}=this.props;return i.createElement("span",{onClick:this._showMenu,onMouseDown:this._onMouseDown,ref:this._handleRef},e)}}var ce=n(84540),he=n(46305);const de={hint:(0,a.t)("Timezone")};const ue=(0,_.registryContextType)();class me extends i.PureComponent{constructor(e,t){super(e,t),this._timeFormatter=new ae.TimeFormatter,this._tickInterval=void 0,this._tickClock=()=>{const{chartApiInstance:e}=this.context;if(void 0!==this._timezone){const t=(0,ce.utc_to_cal)(this._timezone,e.serverTime());this.setState({time:this._timeFormatter.format(t)})}},this._getActions=()=>{if(!this.props.withMenu)return[];const{chartWidget:e}=this.context;return function(e){e.updateActions();const t=e.actions();return t&&t.applyTimeZone instanceof oe.Action?t.applyTimeZone.getSubItems():[]}(e)},(0,_.validateRegistry)(t,{chartWidget:o.any.isRequired,chartApiInstance:o.any.isRequired}),this.state={time:""}}componentDidMount(){const{chartWidget:e}=this.context;this._tickInterval=setInterval(this._tickClock,1e3),e.withModel(null,()=>{const t=e.model();t.model().mainSeries().dataEvents().symbolResolved().subscribe(this,this.updateTimezonesButton),t.model().properties().childs().timezone.subscribe(this,this.updateTimezonesButton)})}componentWillUnmount(){const{chartWidget:e}=this.context;clearInterval(this._tickInterval),e.withModel(null,()=>{const t=e.model();t.model().mainSeries().dataEvents().symbolResolved().unsubscribe(this,this.updateTimezonesButton),t.model().properties().childs().timezone.unsubscribe(this,this.updateTimezonesButton)})}render(){const{className:e,withMenu:t}=this.props,{time:n}=this.state,s=void 0!==this._timezone?(0,se.parseTzOffset)(this._timezone.name()).string:null;return i.createElement(le,{getActions:this._getActions},i.createElement(ie,{className:r(e,he.button,"apply-common-tooltip"),title:t?de.hint:void 0,disabled:!t,"data-name":"time-zone-menu"},n&&s&&`${n} (${s})`))}updateTimezonesButton(){const{chartWidget:e}=this.context;if(!e.hasModel())return;if(null===e.model().mainSeries().symbolInfo())return;let t=e.model().model().timezone();if("exchange"===t){const n=(0,v.ensureNotNull)(e.model().mainSeries().symbolInfo()).timezone;n&&(t=n)}this._timezone=(0,ce.get_timezone)(t),this._tickClock()}}me.contextType=ue;var ge=n(49876);function pe(e){return i.createElement("span",{className:r(ge.separator,e.className)})}var ve=n(47218),be=n(90963),_e=n(43367);class fe{constructor(e,t,n){this._highlighted=!1,this._chartWidget=e,this._priceScaleGetter=t,this._owner=n,this._setHighlight=this._setHighlight.bind(this),this._removeHighlight=this._removeHighlight.bind(this)}destroy(){this._highlighted&&this._removeHighlight()}handlers(){const e=_e.CheckMobile.any();return{onMouseEnter:e?void 0:this._setHighlight,onMouseLeave:e?void 0:this._removeHighlight}} +_setHighlight(){const e=this._chartWidget.model().model(),t=e.paneForSource(e.mainSeries()),n=this._priceScaleGetter();if(null===t||null===n)return;const i=this._chartWidget.paneByState(t);if(null!==i){const t=i.rightPriceAxisesContainer().findAxisWidgetForScale(n);let s=null;null!==t&&(s=t.axisInfo());const a=i.leftPriceAxisesContainer().findAxisWidgetForScale(n);null!==a&&(s=a.axisInfo());const o=i.highlightedPriceAxis();null!==s&&o.value().axis!==s&&(o.setValue({owner:this._owner,axis:s}),e.lightUpdate(),this._highlighted=!0)}}_removeHighlight(){const e=this._chartWidget.model().model(),t=e.paneForSource(e.mainSeries());if(null===t)return;const n=this._chartWidget.paneByState(t);if(null!==n){const t=n.highlightedPriceAxis(),i=t.value();null!==i.axis&&i.owner===this._owner&&(t.setValue({owner:this._owner,axis:null}),e.lightUpdate(),this._highlighted=!1)}}}const Ce=(0,_.registryContextType)(),ye=new be.TranslatedString("toggle log scale",(0,a.t)("toggle log scale"));const Ee=(0,_.registryContextType)(),Se=new be.TranslatedString("toggle auto scale",(0,a.t)("toggle auto scale"));const xe=(0,_.registryContextType)(),Me=new be.TranslatedString("toggle percentage scale",(0,a.t)("toggle percentage scale"));const we=(0,_.registryContextType)();var ke=n(87230),Re=n(39197),Te=n(93410),Ae=n(17806),Ne=n(80088);const Be={extLabel:(0,a.t)("ext"),extHint:(0,a.t)("Extended Hours is available only for intraday charts"),percentageHint:(0,a.t)("Toggle Percentage"),logLabel:(0,a.t)("log",{context:"scale"}),logHint:(0,a.t)("Toggle Log Scale"),autoLabel:(0,a.t)("auto",{context:"scale"}),autoHint:(0,a.t)("Toggle Auto Scale"),fullscreenHint:(0,a.t)("Toggle Maximize Chart"),adjLabel:(0,a.t)("adj",{context:"adjustments"}),adjHint:(0,a.t)("Adjust data for dividends"),adjForDividendsOnlyHint:(0,a.t)("Main symbol data is adjusted for dividends only"),adjForSplitsOnlyHint:(0,a.t)("Main symbol data is adjusted for splits only"),backAdjustLabel:(0,a.t)("b-adj",{context:"adjustments"}),backAdjustHint:(0,a.t)("Adjust for contract changes"),settlementAsCloseLabel:(0,a.t)("set",{context:"adjustments"}),settlementAsCloseHint:(0,a.t)("Use settlement as close on daily interval")},We=(Le=e=>i.createElement(ve.ToolWidgetButton,{text:Be.logLabel,title:Be.logHint,className:e.className,isActive:e.isLogarithm,isGrouped:!0,onClick:Ke(e.onClick,"log",e.isLogarithm),onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,"data-name":"logarithm"}),(De=class extends i.PureComponent{constructor(e,t){super(e,t),this._priceScale=null,this._handleSelect=()=>{const e=this.context.chartWidget.model(),t=(0,v.ensureNotNull)(this.state.series),n=t.priceScale(),i=n.mode();t.priceScale().isLockScale()||e.setPriceScaleMode({log:!i.log},n,ye)},(0,_.validateRegistry)(t,{chartWidget:o.any.isRequired}),this.state={isActive:!1,series:null},this._priceAxisHighlighter=new fe(this.context.chartWidget,()=>this._priceScale,"logarithm")}componentDidMount(){const e=this.context.chartWidget;e.withModel(null,()=>{const t=e.model().mainSeries(),n=t.priceScale() +;this._handleMainSeriesPriceScaleChanged(n),t.priceScaleChanged().subscribe(this,this._handleMainSeriesPriceScaleChanged),this._handleModeChanged({},n.mode()),this.setState({isActive:t.priceScale().isLog(),series:t})})}componentWillUnmount(){const e=this.context.chartWidget;e.withModel(null,()=>{e.model().mainSeries().priceScaleChanged().unsubscribe(this,this._handleMainSeriesPriceScaleChanged)}),null!==this._priceScale&&(this._priceScale.modeChanged().unsubscribeAll(this),this._priceScale=null),this._priceAxisHighlighter.destroy()}render(){const{className:e}=this.props,{isActive:t,series:n}=this.state;return i.createElement(Le,{...this._priceAxisHighlighter.handlers(),className:e,isLogarithm:t,isDisabled:null===n,onClick:this._handleSelect})}_handleMainSeriesPriceScaleChanged(e){null!==this._priceScale&&this._priceScale.modeChanged().unsubscribe(this,this._handleModeChanged),this._priceScale=e,this._priceScale.modeChanged().subscribe(this,this._handleModeChanged),this._handleModeChanged({},e.mode())}_handleModeChanged(e,t){Boolean(t.log)!==this.state.isActive&&this.setState({isActive:Boolean(t.log)})}}).contextType=Ce,De);var Le,De;const Ie=function(e){var t;return(t=class extends i.PureComponent{constructor(e,t){super(e,t),this._priceScale=null,this._handleSelect=()=>{const e=this.context.chartWidget.model(),t=(0,v.ensureNotNull)(this.state.series).priceScale(),n=t.mode();e.setPriceScaleMode({autoScale:!n.autoScale},t,Se)},(0,_.validateRegistry)(t,{chartWidget:o.any.isRequired}),this.state={isActive:!1,series:null},this._priceAxisHighlighter=new fe(this.context.chartWidget,()=>this._priceScale,"auto")}componentDidMount(){const e=this.context.chartWidget;e.withModel(null,()=>{const t=e.model().mainSeries(),n=t.priceScale();this._handleMainSeriesPriceScaleChanged(n),t.priceScaleChanged().subscribe(this,this._handleMainSeriesPriceScaleChanged),this._handleModeChanged({},n.mode()),this.setState({isActive:t.priceScale().isAutoScale(),series:t})})}componentWillUnmount(){const e=this.context.chartWidget;e.withModel(null,()=>{e.model().mainSeries().priceScaleChanged().unsubscribe(this,this._handleMainSeriesPriceScaleChanged)}),null!==this._priceScale&&(this._priceScale.modeChanged().unsubscribeAll(this),this._priceScale=null),this._priceAxisHighlighter.destroy()}render(){const{className:t}=this.props,{isActive:n,series:s}=this.state;return i.createElement(e,{...this._priceAxisHighlighter.handlers(),className:t,isAuto:n,isDisabled:null===s,onClick:this._handleSelect})}_handleMainSeriesPriceScaleChanged(e){null!==this._priceScale&&this._priceScale.modeChanged().unsubscribe(this,this._handleModeChanged),this._priceScale=e,this._priceScale.modeChanged().subscribe(this,this._handleModeChanged),this._handleModeChanged({},e.mode())}_handleModeChanged(e,t){Boolean(t.autoScale)!==this.state.isActive&&this.setState({isActive:Boolean(t.autoScale)})}}).contextType=Ee,t}(e=>i.createElement(ve.ToolWidgetButton,{text:Be.autoLabel,title:Be.autoHint,className:e.className,isActive:e.isAuto,isGrouped:!0,onClick:Ke(e.onClick,"auto",e.isAuto), +onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,"data-name":"auto"})),ze=function(e){var t;return(t=class extends i.PureComponent{constructor(e,t){super(e,t),this._priceScale=null,this._handleSelect=()=>{const e=this.context.chartWidget.model(),t=(0,v.ensureNotNull)(this.state.series),n=t.priceScale(),i=n.mode();t.priceScale().isLockScale()||e.setPriceScaleMode({percentage:!i.percentage},n,Me)},(0,_.validateRegistry)(t,{chartWidget:o.any.isRequired}),this.state={isActive:!1,series:null},this._priceAxisHighlighter=new fe(this.context.chartWidget,()=>this._priceScale,"percentage")}componentDidMount(){const e=this.context.chartWidget;e.withModel(null,()=>{const t=e.model().mainSeries(),n=t.priceScale();this._handleMainSeriesPriceScaleChanged(n),t.priceScaleChanged().subscribe(this,this._handleMainSeriesPriceScaleChanged),this._handleScaleChange({},n.mode()),this.setState({isActive:t.priceScale().isPercentage(),series:t})})}componentWillUnmount(){const e=this.context.chartWidget;e.withModel(null,()=>{e.model().mainSeries().priceScaleChanged().unsubscribe(this,this._handleMainSeriesPriceScaleChanged)}),null!==this._priceScale&&(this._priceScale.modeChanged().unsubscribeAll(this),this._priceScale=null),this._priceAxisHighlighter.destroy()}render(){const{className:t}=this.props,{isActive:n,series:s}=this.state;return i.createElement(e,{...this._priceAxisHighlighter.handlers(),className:t,isPercentage:n,isDisabled:null===s,onClick:this._handleSelect})}_handleMainSeriesPriceScaleChanged(e){null!==this._priceScale&&this._priceScale.modeChanged().unsubscribe(this,this._handleScaleChange),this._priceScale=e,this._priceScale.modeChanged().subscribe(this,this._handleScaleChange),this._handleScaleChange({},e.mode())}_handleScaleChange(e,t){Boolean(t.percentage)!==this.state.isActive&&this.setState({isActive:Boolean(t.percentage)})}}).contextType=xe,t}(e=>i.createElement(ve.ToolWidgetButton,{icon:Te,title:Be.percentageHint,className:e.className,isActive:e.isPercentage,isDisabled:e.isDisabled,isGrouped:!0,onClick:Ke(e.onClick,"percent",e.isPercentage),onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,"data-name":"percentage"}));const Pe=(0,X.hotKeySerialize)({keys:[(0,Z.humanReadableModifiers)(Z.Modifiers.Alt,!1),"Enter"],text:"{0} + {1}"}),Fe=function(e){var t;return(t=class extends i.PureComponent{constructor(e,t){super(e,t),this._handleClick=e=>{const{resizerDetacher:t,chartWidgetCollection:n}=this.context;e.shiftKey&&t.detachable.value()?t.detach():this.state.isFullscreen?t.exitFullscreen():t.requestFullscreen()},this._handleLayoutChange=e=>{this.setState({isFullscreen:e})},this._handlePhoneSize=()=>{0},(0,_.validateRegistry)(t,{chartWidgetCollection:o.any.isRequired,resizerDetacher:o.any.isRequired});const{resizerDetacher:n}=t;this.state={isFullscreen:n.fullscreen.value(),isChangeLayoutButton:this._isChangeLayoutButton()}}componentDidMount(){const{resizerDetacher:e,chartWidgetCollection:t}=this.context,{mobileChangeLayoutEnabled:n}=this.props;e.fullscreen.subscribe(this._handleLayoutChange)}componentWillUnmount(){ +const{resizerDetacher:e,chartWidgetCollection:t}=this.context,{mobileChangeLayoutEnabled:n}=this.props;e.fullscreen.unsubscribe(this._handleLayoutChange)}render(){const{className:t}=this.props,{isFullscreen:n,isChangeLayoutButton:s}=this.state;return i.createElement(e,{className:t,isFullscreen:n,onClick:this._handleClick})}_isChangeLayoutButton(){return!1}}).contextType=we,t}(e=>i.createElement(ve.ToolWidgetButton,{icon:Ae,title:Be.fullscreenHint,className:e.className,isActive:e.isFullscreen,onClick:Ke(e.onClick,"maximize chart",e.isFullscreen),"data-tooltip-hotkey":Pe,"data-name":"fullscreen"})),Ue={properties:!0,fullscreen:!0,preventPhoneLayout:!0},He={fullscreen:Number.MIN_SAFE_INTEGER,preventPhoneLayout:Number.MIN_SAFE_INTEGER,properties:Number.MIN_SAFE_INTEGER,separator:-2,timeZones:-1,auto:0,logarithm:1,percentage:2,session:3,adj:4,backAdj:5,settlementAsClose:6},Oe=(()=>{const e=new Map;return e.set(We,"logarithm"),e.set(ze,"percentage"),e.set(Ie,"auto"),e.set(Fe,"fullscreen"),e})();function qe(e){0}function Ke(e,t,n){return t=>{e(t)}}const je={dateRangeMode:"hidden",separator:!0,timeZones:!0,fullscreen:!0,preventPhoneLayout:!0,properties:!0,auto:!0,logarithm:!0,percentage:!0,session:!0,adj:!0,backAdj:!0,settlementAsClose:!0},Ge=(0,_.registryContextType)();class Ve extends i.PureComponent{constructor(e,t){var n,a;super(e,t),this._timezoneButtonRef=null,this._layout=Object.assign({},je),this._raf=null,this._toolbar=null,this._rangeExpanded=null,this._rangeCollapsed=null,this._seriesComponents={},this._injector=(n=()=>this._layout,a=(e,t)=>this._seriesComponents[t]=e,(e,t,s)=>{if(i.isValidElement(e)&&"string"!=typeof e.type){const{props:o}=e;if("string"==typeof o.className){const l={className:r(o.className,0===t&&Ne.first,t===s.length-1&&Ne.last)},c=n(),h=(0,v.ensureDefined)(Oe.get(e.type));return i.createElement("div",{key:null===e.key?void 0:e.key,className:r(Ne.inline,c[h]&&Ne.collapsed),ref:e=>a(e,h),onClick:()=>qe()},i.cloneElement(e,l))}}return e}),this._updateButtonsVisibility=()=>{0},this._handleResize=()=>{null===this._raf&&(this._raf=requestAnimationFrame(()=>{const e=this._layout,t=(0,v.ensureNotNull)(this._toolbar),n=(0,v.ensureNotNull)(this._rangeExpanded),i=(a=function(e){const t={};return Object.keys(e).forEach(n=>{const i=e[n];if(null!==i){const e=s.findDOMNode(i);null!==e&&(t[n]=e)}}),t}(this._seriesComponents),Object.keys(a).map(e=>({name:e,width:a[e].offsetWidth})).sort((e,t)=>He[e.name]-He[t.name]));var a;const o=t.offsetWidth,r=i.reduce((e,t)=>e+t.width,0),l=n.offsetWidth,c=!Boolean(n.textContent)||o-r-l<=0?"collapsed":"expanded";if(Object.assign(e,{dateRangeMode:c}),"expanded"!==c){const t=o-(0,v.ensureNotNull)(this._rangeCollapsed).offsetWidth-0;let n=0,s=0;for(const a of i)n+=a.width,a.name in Ue?(s+=a.width,Object.assign(e,{[a.name]:!1})):Object.assign(e,{[a.name]:t<=n});t<=s&&Object.assign(e,{dateRangeMode:"hidden"})}else Object.assign(e,{separator:!1,timeZones:!1,fullscreen:!1,preventPhoneLayout:!1,properties:!1,auto:!1,logarithm:!1,percentage:!1,session:!1,adj:!1,settlementAsClose:!1, +backAdj:!1});this._applyResizing(),this._raf=null}))},this._handleTimezoneButtonRef=e=>{this._timezoneButtonRef=e},this._handleMeasure=()=>{null!==this._toolbar&&this.resizeUI()},this._handleFullscreenableChange=e=>{this._setStateWithResize({isFullscreenable:e})},this._handlePreventPhoneLayoutButtonVisibility=()=>{0},this._handleToolbarRef=e=>this._toolbar=e,this._handleRangeCollapsedRef=e=>this._rangeCollapsed=e,this._handleRangeExpandedRef=e=>this._rangeExpanded=e,this._handleTimeZonesRef=e=>{this._seriesComponents.timeZones=e},this._handleSessionsRef=e=>{this._seriesComponents.session=e},this._handleSeparatorRef=e=>{this._seriesComponents.separator=e},(0,_.validateRegistry)(t,{onContentBoxChanged:o.any.isRequired,chartApiInstance:o.any.isRequired,chartWidget:o.any.isRequired,chartWidgetCollection:o.any.isRequired,resizerDetacher:o.any.isRequired});const{resizerDetacher:l}=this.context;this.state={isFullscreenable:l.fullscreenable.value(),isPreventPhoneLayoutButton:this._isPreventPhoneLayoutButton()}}componentDidMount(){const{onContentBoxChanged:e,resizerDetacher:t,chartWidgetCollection:n,chartWidget:i}=this.context;e.subscribe(this,this._handleResize),t.fullscreenable.subscribe(this._handleFullscreenableChange),this.updateTimezonesButton(),this.resizeUI()}componentWillUnmount(){const{onContentBoxChanged:e,resizerDetacher:t,chartWidgetCollection:n,chartWidget:i}=this.context;e.unsubscribe(this,this._handleResize),t.fullscreenable.unsubscribe(this._handleFullscreenableChange),null!==this._raf&&(cancelAnimationFrame(this._raf),this._raf=null)}render(){const e=this._layout,{timeFramesWidgetEnabled:t,timeWidgetEnabled:n,percentageScaleButtonEnabled:s,logScaleButtonEnabled:a,autoScaleButtonEnabled:o,fullscreenButtonEnabled:h}=this.props;return i.createElement("div",{className:Ne.toolbar,ref:this._handleToolbarRef,onContextMenu:Re.preventDefault},t&&i.createElement(ke.FragmentMap,null,i.createElement("div",{className:r(Ne.dateRangeWrapper,"collapsed"!==e.dateRangeMode&&Ne.collapsed),ref:this._handleRangeCollapsedRef},i.createElement("div",{className:r(Ne.dateRangeCollapsed)},i.createElement(z,{goToDateButton:this.props.goToDateEnabled}))),i.createElement(l,{onMeasure:this._handleMeasure},i.createElement("div",{className:r(Ne.dateRangeWrapper,"expanded"!==e.dateRangeMode&&Ne.collapsed),ref:this._handleRangeExpandedRef},i.createElement("div",{className:r(Ne.dateRangeExpanded)},i.createElement(G,{onSelectRange:this._trackRangeButtonClick}),this.props.goToDateEnabled&&i.createElement(pe,null),this.props.goToDateEnabled&&i.createElement(te,null))))),i.createElement("div",{className:Ne.seriesControlWrapper},n&&i.createElement(l,{onMeasure:this._handleMeasure},i.createElement("div",{className:r(Ne.inline,e.timeZones&&Ne.collapsed),ref:this._handleTimeZonesRef},i.createElement("div",{className:Ne.inline,onClick:this._trackTimezonesButtonClick},i.createElement(me,{className:Ne.timezone,withMenu:this.props.timezoneMenuEnabled,ref:this._handleTimezoneButtonRef})))),!1,i.createElement("div",{ref:this._handleSeparatorRef, +className:r(Ne.inline,e.separator&&Ne.collapsed)},i.createElement(pe,null)),i.createElement(ke.FragmentMap,{map:this._injector},!1,!1,!1,s&&!c.enabled("fundamental_widget")&&i.createElement(ze,{className:Ne.icon}),a&&i.createElement(We,{className:Ne.item}),o&&i.createElement(Ie,{className:Ne.item}),h&&this.state.isFullscreenable&&i.createElement(Fe,{className:Ne.icon,mobileChangeLayoutEnabled:this.props.mobileChangeLayoutEnabled}),!1)))}updateTimezonesButton(){null!==this._timezoneButtonRef&&this._timezoneButtonRef.updateTimezonesButton()}resizeUI(){this._handleResize()}_trackRangeButtonClick(e){0}_trackTimezonesButtonClick(){qe()}_setStateWithResize(e){Object.assign(this._layout,je),this._applyResizing(),this.setState(e,()=>this._handleResize())}_applyResizing(){const{dateRangeMode:e,...t}=this._layout;this._rangeExpanded&&this._rangeExpanded.classList.toggle(Ne.collapsed,"expanded"!==e),this._rangeCollapsed&&this._rangeCollapsed.classList.toggle(Ne.collapsed,"collapsed"!==e),Object.keys(t).forEach(e=>{const n=e,i=this._seriesComponents[n];i&&i.classList.toggle(Ne.collapsed,t[n])})}_isPreventPhoneLayoutButton(){return!1}}Ve.contextType=Ge;const Xe={onContentBoxChanged:o.any,computeContentBox:o.any,chartWidget:o.any,chartApiInstance:o.any,chartWidgetCollection:o.any,resizerDetacher:o.any,availableTimeFrames:o.any};class Ze extends i.PureComponent{constructor(e){super(e),this._setActiveChart=e=>{this._defineRegistry(e),this.setState({chartWidget:e})};const t=this.props.chartWidgetCollection.activeChartWidget.value();this.state={chartWidget:t},this._defineRegistry(t)}componentDidMount(){this.props.chartWidgetCollection.activeChartWidget.subscribe(this._setActiveChart)}componentWillUnmount(){this.props.chartWidgetCollection.activeChartWidget.unsubscribe(this._setActiveChart)}render(){const{chartWidget:e}=this.state;if(!e)return null;const{options:t}=this.props,n={timeFramesWidgetEnabled:t.timeFramesWidgetEnabled,goToDateEnabled:t.timeFramesWidget.goToDateEnabled,timeWidgetEnabled:t.timeWidgetEnabled,timezoneMenuEnabled:t.timeWidget&&t.timeWidget.timezoneMenuEnabled,sessionIdButtonEnabled:t.sessionIdButtonEnabled,backAdjustmentButtonEnabled:t.backAdjustmentButtonEnabled,settlementAsCloseButtonEnabled:t.settlementAsCloseButtonEnabled,adjustForDividendsButtonEnabled:t.adjustForDividendsButtonEnabled,logScaleButtonEnabled:t.logScaleButtonEnabled,percentageScaleButtonEnabled:t.percentageScaleButtonEnabled,autoScaleButtonEnabled:t.autoScaleButtonEnabled,fullscreenButtonEnabled:t.fullscreenButtonEnabled,mobileChangeLayoutEnabled:t.mobileChangeLayoutEnabled};return i.createElement(_.RegistryProvider,{validation:Xe,value:this._registry},i.createElement(Ve,{key:e.id(),...n}))}_defineRegistry(e){const{onContentBoxChanged:t,computeContentBox:n,chartApiInstance:i,chartWidgetCollection:s,options:{timeFramesWidgetEnabled:a,timeFramesWidget:o}}=this.props,r=a?o.availableTimeFrames:void 0;this._registry={onContentBoxChanged:t,computeContentBox:n,chartWidget:e,availableTimeFrames:r,chartApiInstance:i,chartWidgetCollection:s, +resizerDetacher:e.getResizerDetacher()}}}class Ye{constructor(e,t,n,a,o,r,l){this._container=e;const c=i.createElement(Ze,{onContentBoxChanged:t,computeContentBox:n,chartWidgetCollection:a,chartApiInstance:o,chartWidgetOptions:r,options:l});s.render(c,e),e.setAttribute("data-initialized","true")}destroy(){s.unmountComponentAtNode(this._container),this._container.removeAttribute("data-initialized")}}},53178:(e,t,n)=>{"use strict";n.d(t,{validateRegistry:()=>r,RegistryProvider:()=>l,registryContextType:()=>c});var i=n(67294),s=n(45697),a=n.n(s);const o=i.createContext({});function r(e,t){a().checkPropTypes(t,e,"context","RegistryContext")}function l(e){const{validation:t,value:n}=e;return r(n,t),i.createElement(o.Provider,{value:n},e.children)}function c(){return o}},59726:(e,t,n)=>{"use strict";function i(e,t,n,i,s){function a(s){if(e>s.timeStamp)return;const a=s.target;void 0!==n&&null!==t&&null!==a&&a.ownerDocument===i&&(t.contains(a)||n(s))}return s.click&&i.addEventListener("click",a,!1),s.mouseDown&&i.addEventListener("mousedown",a,!1),s.touchEnd&&i.addEventListener("touchend",a,!1),s.touchStart&&i.addEventListener("touchstart",a,!1),()=>{i.removeEventListener("click",a,!1),i.removeEventListener("mousedown",a,!1),i.removeEventListener("touchend",a,!1),i.removeEventListener("touchstart",a,!1)}}n.d(t,{addOutsideEventListener:()=>i})},87230:(e,t,n)=>{"use strict";n.d(t,{FragmentMap:()=>s});var i=n(67294);function s(e){if(e.map){return i.Children.toArray(e.children).map(e.map)}return e.children}},57330:(e,t,n)=>{"use strict";n.d(t,{Hint:()=>r});var i=n(67294),s=n(94184),a=n.n(s),o=n(30160);function r(e){const{text:t="",className:n}=e;return i.createElement("span",{className:a()(o.shortcut,n)},t)}},90590:(e,t,n)=>{"use strict";n.d(t,{ContextMenuItem:()=>g});var i=n(67294),s=n(94184),a=n.n(s),o=n(49775),r=n(73226),l=n(23060),c=n(57330),h=n(12343),d=n(655),u=n(37978),m=n(85848);function g(e){const{isTitle:t,isLoading:n,isHovered:s,active:g,checkable:p,disabled:v,checked:b,icon:_,iconChecked:f,hint:C,subItems:y,label:E,onClick:S,children:x,toolbox:M,jsxLabel:w,size:k="normal"}=e,R=(0,i.useContext)(l.EmptyIconsContext),T=!!y.length;return n?i.createElement("li",{className:a()(m.item,m.loading,m[k])},i.createElement(r.Loader,null)):i.createElement("li",{className:a()(m.item,m.interactive,t&&m.title,v&&m.disabled,s&&m.hovered,g&&m.active,R&&m.emptyIcons,m[k]),onClick:S},i.createElement(o.Icon,{className:a()(m.icon),icon:function(){if(p&&b)return f||_||h;return _}()}),i.createElement("span",{className:a()(m.label)},null!=w?w:E),!!M&&i.createElement(o.Icon,{onClick:function(){M&&M.action()},className:m.remove,icon:u}),!T&&C&&i.createElement(c.Hint,{className:m.shortcut,text:C}),T&&i.createElement(o.Icon,{className:m.nested,icon:d}),x)}},23060:(e,t,n)=>{"use strict";n.d(t,{EmptyIconsContext:()=>i});const i=n(67294).createContext(!1)},10284:(e,t,n)=>{"use strict";n.d(t,{Separator:()=>o});var i=n(67294),s=n(94184),a=n(68552);function o(e){return i.createElement("div",{className:s(a.separator,e.className)})}},95860:(e,t,n)=>{ +"use strict";n.d(t,{DEFAULT_POPUP_MENU_ITEM_THEME:()=>c,PopupMenuItem:()=>u});var i=n(67294),s=n(94184),a=n(79424),o=n(87438),r=n(74818),l=n(66549);const c=l;function h(e){const{reference:t,...n}=e,s={...n,ref:t};return i.createElement(e.href?"a":"div",s)}function d(e){e.stopPropagation()}function u(e){const{id:t,role:n,"aria-selected":c,className:u,title:m,labelRowClassName:g,labelClassName:p,shortcut:v,forceShowShortcuts:b,icon:_,isActive:f,isDisabled:C,isHovered:y,appearAsDisabled:E,label:S,link:x,showToolboxOnHover:M,target:w,rel:k,toolbox:R,reference:T,onMouseOut:A,onMouseOver:N,suppressToolboxClick:B=!0,theme:W=l}=e,L=(0,r.filterDataProps)(e),D=(0,i.useRef)(null);return i.createElement(h,{...L,id:t,role:n,"aria-selected":c,className:s(u,W.item,_&&W.withIcon,{[W.isActive]:f,[W.isDisabled]:C||E,[W.hovered]:y}),title:m,href:x,target:w,rel:k,reference:function(e){D.current=e,"function"==typeof T&&T(e);"object"==typeof T&&(T.current=e)},onClick:function(t){const{dontClosePopup:n,onClick:i,onClickArg:s,trackEventObject:r}=e;if(C)return;r&&(0,o.trackEvent)(r.category,r.event,r.label);i&&i(s,t);n||(0,a.globalCloseMenu)()},onContextMenu:function(t){const{trackEventObject:n,trackRightClick:i}=e;n&&i&&(0,o.trackEvent)(n.category,n.event,n.label+"_rightClick")},onMouseUp:function(t){const{trackEventObject:n,trackMouseWheelClick:i}=e;if(1===t.button&&x&&n){let e=n.label;i&&(e+="_mouseWheelClick"),(0,o.trackEvent)(n.category,n.event,e)}},onMouseOver:N,onMouseOut:A},void 0!==_&&i.createElement("div",{className:W.icon,dangerouslySetInnerHTML:{__html:_}}),i.createElement("div",{className:s(W.labelRow,g)},i.createElement("div",{className:s(W.label,p)},S)),(void 0!==v||b)&&i.createElement("div",{className:W.shortcut},(I=v)&&I.split("+").join(" + ")),void 0!==R&&i.createElement("div",{onClick:B?d:void 0,className:s(W.toolbox,{[W.showOnHover]:M})},R));var I}},10869:(e,t,n)=>{"use strict";n.d(t,{PopupMenuSeparator:()=>r});var i=n(67294),s=n(94184),a=n.n(s),o=n(78706);function r(e){const{size:t="normal",className:n}=e;return i.createElement("div",{className:a()(o.separator,"small"===t&&o.small,"normal"===t&&o.normal,"large"===t&&o.large,n)})}},76420:(e,t,n)=>{"use strict";n.d(t,{PopupMenu:()=>c});var i=n(67294),s=n(73935),a=n(4735),o=n(90901),r=n(94884),l=n(47165);function c(e){const{controller:t,children:n,isOpened:c,closeOnClickOutside:h=!0,doNotCloseOn:d,onClickOutside:u,onClose:m,...g}=e,p=(0,i.useContext)(r.CloseDelegateContext),v=(0,l.useOutsideEvent)({handler:function(e){u&&u(e);if(!h)return;if(d&&e.target instanceof Node){const t=s.findDOMNode(d);if(t instanceof Node&&t.contains(e.target))return}m()},mouseDown:!0,touchStart:!0});return c?i.createElement(a.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},i.createElement("span",{ref:v,style:{pointerEvents:"auto"}},i.createElement(o.Menu,{...g,onClose:m,onScroll:function(t){const{onScroll:n}=e;n&&n(t)},customCloseDelegate:p,ref:t},n))):null}},41445:(e,t,n)=>{"use strict";n.d(t,{DEFAULT_SLIDER_THEME:()=>r,SliderItem:()=>l,factory:()=>c}) +;var i=n(67294),s=n(94184),a=n(16282),o=n(16929);const r=o;function l(e){const t=s(e.className,o.tab,{[o.active]:e.isActive,[o.disabled]:e.isDisabled,[o.defaultCursor]:!!e.shouldUseDefaultCursor,[o.noBorder]:!!e.noBorder});return i.createElement("div",{className:t,onClick:e.onClick,ref:e.reference,"data-type":"tab-item","data-value":e.value,"data-name":"tab-item-"+e.value.toString().toLowerCase()},e.children)}function c(e){return class extends i.PureComponent{constructor(){super(...arguments),this.activeTab={current:null}}componentDidUpdate(){(0,a.ensureNotNull)(this._slider).style.transition="transform 350ms",this._componentDidUpdate()}componentDidMount(){this._componentDidUpdate()}render(){const{className:t}=this.props,n=this._generateTabs();return i.createElement("div",{className:s(t,o.tabs),"data-name":this.props["data-name"]},n,i.createElement(e,{reference:e=>{this._slider=e}}))}_generateTabs(){return this.activeTab.current=null,i.Children.map(this.props.children,e=>{const t=e,n=Boolean(t.props.isActive),s={reference:e=>{n&&(this.activeTab.current=e),t.props.reference&&t.props.reference(e)}};return i.cloneElement(t,s)})}_componentDidUpdate(){const e=(0,a.ensureNotNull)(this._slider).style;if(this.activeTab.current){const t=this.activeTab.current.offsetWidth,n=this.activeTab.current.offsetLeft;e.transform=`translateX(${n}px)`,e.width=t+"px",e.opacity="1"}else e.opacity="0"}}}c((function(e){return i.createElement("div",{className:o.slider,ref:e.reference})}))},4598:(e,t,n)=>{"use strict";function i(e,t,n={}){const i=Object.assign({},t);for(const s of Object.keys(t)){const a=n[s]||s;a in e&&(i[s]=[e[a],t[s]].join(" "))}return i}function s(e,t,n={}){return Object.assign({},e,i(e,t,n))}n.d(t,{weakComposeClasses:()=>i,mergeThemes:()=>s})},655:e=>{e.exports=''},17806:e=>{e.exports=''},93410:e=>{e.exports=''},12343:e=>{e.exports=''},37978:e=>{e.exports=''},14561:e=>{ +e.exports=''},51496:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/chart-event-hint.cb517ed06ee9725b8a76.js b/public/static/charting_library/bundles/chart-event-hint.cb517ed06ee9725b8a76.js new file mode 100644 index 0000000..2aa25df --- /dev/null +++ b/public/static/charting_library/bundles/chart-event-hint.cb517ed06ee9725b8a76.js @@ -0,0 +1,2 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[6166],{57432:e=>{e.exports={container:"container-RnpzRzG6",centerElement:"centerElement-RnpzRzG6",text:"text-RnpzRzG6"}},20348:e=>{e.exports={container:"container-113jHcZc",content:"content-113jHcZc",arrowHolder:"arrowHolder-113jHcZc","arrowHolder--below":"arrowHolder--below-113jHcZc","arrowHolder--above":"arrowHolder--above-113jHcZc","arrowHolder--before":"arrowHolder--before-113jHcZc","arrowHolder--after":"arrowHolder--after-113jHcZc","arrowHolder--above-fix":"arrowHolder--above-fix-113jHcZc","arrowHolder--before-rtl-fix":"arrowHolder--before-rtl-fix-113jHcZc","arrowHolder--after-ltr-fix":"arrowHolder--after-ltr-fix-113jHcZc",label:"label-113jHcZc",closeButton:"closeButton-113jHcZc"}},49775:(e,t,r)=>{"use strict";r.d(t,{Icon:()=>o});var n=r(67294);const o=n.forwardRef((e,t)=>{const{icon:r="",...o}=e;return n.createElement("span",{...o,ref:t,dangerouslySetInnerHTML:{__html:r}})})},25057:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ChartEventHintRenderer:()=>p});var n=r(67294),o=r(73935),s=r(94184),i=r(49775),a=(r(4735),r(36535)),c=r(20348);n.PureComponent;function l(e){const{className:t,containerClassName:r,contentClassName:o,reference:l,style:d,arrow:h=!0,arrowClassName:p,arrowReference:u,onClose:m,arrowStyle:w,children:_,...f}=e;return n.createElement("div",{...f,className:t,ref:l,style:d},h&&n.createElement("div",{className:p,ref:u,style:w}),n.createElement("div",{className:s(c.container,r)},n.createElement("div",{className:s(c.content,o)},_),m&&n.createElement(i.Icon,{className:c.closeButton,icon:a,onClick:m})))}var d=r(57432);function h(e){const{text:t,onClose:r}=e;return n.createElement("div",{className:d.container},n.createElement("div",{className:d.centerElement},n.createElement(l,{arrow:!1,onClose:r},n.createElement("div",{className:d.text},t))))}class p{constructor(e){this._wrap=document.createElement("div"),this._container=e}show(e,t){if(!this._wrap)return;this.hide(),this._container.append(this._wrap);const r={text:e,onClose:()=>{t&&t(),this.hide()}};o.render(n.createElement(h,{...r}),this._wrap)}hide(){this._wrap&&(o.unmountComponentAtNode(this._wrap),this._wrap.remove())}destroy(){this.hide(),delete this._wrap}}},90071:(e,t,r)=>{"use strict";r.d(t,{OverlapManager:()=>s,getRootOverlapManager:()=>a});var n=r(16282);class o{constructor(){this._storage=[]}add(e){this._storage.push(e)}remove(e){this._storage=this._storage.filter(t=>e!==t)}has(e){return this._storage.includes(e)}getItems(){return this._storage}}class s{constructor(e=document){this._storage=new o,this._windows=new Map,this._index=0,this._document=e,this._container=e.createDocumentFragment()}setContainer(e){const t=this._container,r=null===e?this._document.createDocumentFragment():e;!function(e,t){Array.from(e.childNodes).forEach(e=>{e.nodeType===Node.ELEMENT_NODE&&t.appendChild(e)})}(t,r),this._container=r}registerWindow(e){this._storage.has(e)||this._storage.add(e)}ensureWindow(e,t={position:"fixed",direction:"normal"}){const r=this._windows.get(e);if(void 0!==r)return r +;this.registerWindow(e);const n=this._document.createElement("div");if(n.style.position=t.position,n.style.zIndex=this._index.toString(),n.dataset.id=e,void 0!==t.index){const e=this._container.childNodes.length;if(t.index>=e)this._container.appendChild(n);else if(t.index<=0)this._container.insertBefore(n,this._container.firstChild);else{const e=this._container.childNodes[t.index];this._container.insertBefore(n,e)}}else"reverse"===t.direction?this._container.insertBefore(n,this._container.firstChild):this._container.appendChild(n);return this._windows.set(e,n),++this._index,n}unregisterWindow(e){this._storage.remove(e);const t=this._windows.get(e);void 0!==t&&(null!==t.parentElement&&t.parentElement.removeChild(t),this._windows.delete(e))}getZindex(e){const t=this.ensureWindow(e);return parseInt(t.style.zIndex||"0")}moveToTop(e){if(this.getZindex(e)!==this._index){this.ensureWindow(e).style.zIndex=(++this._index).toString()}}removeWindow(e){this.unregisterWindow(e)}}const i=new WeakMap;function a(e=document){const t=e.getElementById("overlap-manager-root");if(null!==t)return(0,n.ensureDefined)(i.get(t));{const t=new s(e),r=function(e){const t=e.createElement("div");return t.style.position="absolute",t.style.zIndex=150..toString(),t.style.top="0px",t.style.left="0px",t.id="overlap-manager-root",t}(e);return i.set(r,t),t.setContainer(r),e.body.appendChild(r),t}}},4735:(e,t,r)=>{"use strict";r.d(t,{Portal:()=>c,PortalContext:()=>l});var n=r(67294),o=r(73935),s=r(45259),i=r(90071),a=r(78106);class c extends n.PureComponent{constructor(){super(...arguments),this._uuid=(0,s.guid)()}componentWillUnmount(){this._manager().removeWindow(this._uuid)}render(){const e=this._manager().ensureWindow(this._uuid,this.props.layerOptions);return e.style.top=this.props.top||"",e.style.bottom=this.props.bottom||"",e.style.left=this.props.left||"",e.style.right=this.props.right||"",e.style.pointerEvents=this.props.pointerEvents||"",o.createPortal(n.createElement(l.Provider,{value:this},this.props.children),e)}moveToTop(){this._manager().moveToTop(this._uuid)}_manager(){return null===this.context?(0,i.getRootOverlapManager)():this.context}}c.contextType=a.SlotContext;const l=n.createContext(null)},78106:(e,t,r)=>{"use strict";r.d(t,{Slot:()=>o,SlotContext:()=>s});var n=r(67294);class o extends n.Component{shouldComponentUpdate(){return!1}render(){return n.createElement("div",{style:{position:"fixed",zIndex:150,left:0,top:0},ref:this.props.reference})}}const s=n.createContext(null)},36535:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/chart-screenshot-hint.6d0f2e7ac3cebd7b650c.js b/public/static/charting_library/bundles/chart-screenshot-hint.6d0f2e7ac3cebd7b650c.js new file mode 100644 index 0000000..5de18d1 --- /dev/null +++ b/public/static/charting_library/bundles/chart-screenshot-hint.6d0f2e7ac3cebd7b650c.js @@ -0,0 +1,2 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[92],{4270:t=>{t.exports={"close-button":"close-button-1X92xTLv","close-icon":"close-icon-1X92xTLv","button-l":"button-l-1X92xTLv","button-m":"button-m-1X92xTLv","button-s":"button-s-1X92xTLv","button-xs":"button-xs-1X92xTLv","button-xxs":"button-xxs-1X92xTLv"}},47822:t=>{t.exports={container:"container-2EQh-XLR","container-danger":"container-danger-2EQh-XLR",icon:"icon-2EQh-XLR",header:"header-2EQh-XLR","container-warning":"container-warning-2EQh-XLR","container-success":"container-success-2EQh-XLR","container-default":"container-default-2EQh-XLR","text-wrap":"text-wrap-2EQh-XLR","close-button":"close-button-2EQh-XLR"}},68174:t=>{t.exports={container:"container-2PMGBrHh",bottomPadding:"bottomPadding-2PMGBrHh",centerElement:"centerElement-2PMGBrHh",notice:"notice-2PMGBrHh","notice-showed":"notice-showed-2PMGBrHh"}},49775:(t,e,n)=>{"use strict";n.d(e,{Icon:()=>s});var o=n(67294);const s=o.forwardRef((t,e)=>{const{icon:n="",...s}=t;return o.createElement("span",{...s,ref:e,dangerouslySetInnerHTML:{__html:n}})})},38868:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ChartScreenshotHintRenderer:()=>k});var o=n(67294),s=n(73935),r=n(99479),a=n(94184),i=n(49775),c=n(65157),h=n(42314),l=n(66391),d=n(15836),w=n(66339),u=n(4270),m=n.n(u);function g(t="l"){switch(t){case"l":return c;case"m":return h;case"s":return l;case"xs":return d;case"xxs":return w;default:return h}}const v=o.forwardRef((t,e)=>{const{className:n,size:s,...r}=t,c=a(m()["close-button"],m()["button-"+s],n);return o.createElement("button",{...r,type:"button",className:c,ref:e},o.createElement(i.Icon,{icon:g(s),className:m()["close-icon"]}))});var x=n(72344),p=n(11344),b=n(61787),E=n(47822),f=n.n(E);const L={danger:x,warning:x,success:b,default:p};function _(t){const{informerIntent:e,content:n,className:s,header:r,isIconShown:c=!0,isCloseButtonShown:h,icon:l,onCloseClick:d,closeButtonLabel:w="Close"}=t;return o.createElement("div",{className:a(f().container,f()["container-"+e],s)},c&&o.createElement(i.Icon,{className:f().icon,icon:null!=l?l:L[e]}),o.createElement("div",{className:f()["text-wrap"]},o.createElement("span",{className:f().header},r)," ",n),h&&o.createElement(v,{"aria-label":w,onClick:d,className:f()["close-button"],size:"xs"}))}var C=n(68174);function M(t){const[e,n]=(0,o.useState)(!1);return(0,o.useLayoutEffect)(()=>{const t=setTimeout(()=>n(!0),50),e=setTimeout(()=>n(!1),2500);return()=>{clearTimeout(t),clearTimeout(e)}},[]),o.createElement("div",{className:a(C.container,t.bottomPadding&&C.bottomPadding)},o.createElement("div",{className:C.centerElement},o.createElement(_,{content:t.text,informerIntent:"success",className:a(C.notice,e&&C["notice-showed"])})))}class k{constructor(t,e){this._showed=!1,this._wrap=document.createElement("div"),this._container=t,this._debouncedHide=(0,r.default)(()=>this.hide(),3e3),this._bottomPadding=e.bottomPadding}show(t){this._wrap&&!this._showed&&(this._showed=!0,this._container.append(this._wrap),s.render(o.createElement(M,{text:t, +bottomPadding:this._bottomPadding}),this._wrap),this._debouncedHide())}hide(){this._wrap&&(this._showed=!1,s.unmountComponentAtNode(this._wrap),this._wrap.remove())}destroy(){this.hide(),delete this._wrap}}},61787:t=>{t.exports=''},72344:t=>{t.exports=''},11344:t=>{t.exports=''},65157:t=>{t.exports=''},42314:t=>{t.exports=''},66391:t=>{t.exports=''},15836:t=>{t.exports=''},66339:t=>{t.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/chart-widget-gui.9891573a47b469e91df5.js b/public/static/charting_library/bundles/chart-widget-gui.9891573a47b469e91df5.js new file mode 100644 index 0000000..1d2e4a9 --- /dev/null +++ b/public/static/charting_library/bundles/chart-widget-gui.9891573a47b469e91df5.js @@ -0,0 +1,55 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5093],{82725:e=>{e.exports={"animation-minimize-corner-left-top":"animation-minimize-corner-left-top-1yUqeyiZ","animation-minimize-corner-right-top":"animation-minimize-corner-right-top-1yUqeyiZ","animation-minimize-corner-right-bottom":"animation-minimize-corner-right-bottom-1yUqeyiZ","animation-minimize-corner-left-bottom":"animation-minimize-corner-left-bottom-1yUqeyiZ","animation-maximize-corner-left-top":"animation-maximize-corner-left-top-1yUqeyiZ","animation-maximize-corner-right-top":"animation-maximize-corner-right-top-1yUqeyiZ","animation-maximize-corner-right-bottom":"animation-maximize-corner-right-bottom-1yUqeyiZ","animation-maximize-corner-left-bottom":"animation-maximize-corner-left-bottom-1yUqeyiZ"}},48913:e=>{e.exports={wrapper:"wrapper-1Srpa2Xw",timezone:"timezone-1Srpa2Xw",sessionDayWrapper:"sessionDayWrapper-1Srpa2Xw",nowWrapper:"nowWrapper-1Srpa2Xw",now:"now-1Srpa2Xw",sessionDay:"sessionDay-1Srpa2Xw",weekDay:"weekDay-1Srpa2Xw",sessionDaySegments:"sessionDaySegments-1Srpa2Xw",timeMarkWrapper:"timeMarkWrapper-1Srpa2Xw",timeMarkSegment:"timeMarkSegment-1Srpa2Xw",timeMark:"timeMark-1Srpa2Xw",timeMarkSegmentAlignByEnds:"timeMarkSegmentAlignByEnds-1Srpa2Xw",segment:"segment-1Srpa2Xw",small:"small-1Srpa2Xw",start:"start-1Srpa2Xw",end:"end-1Srpa2Xw",active:"active-1Srpa2Xw",green:"green-1Srpa2Xw",orange:"orange-1Srpa2Xw",blue:"blue-1Srpa2Xw",gray:"gray-1Srpa2Xw",tooltip:"tooltip-1Srpa2Xw",time:"time-1Srpa2Xw"}},92271:e=>{e.exports={marginlegendhoriz:"4px",legend:"legend-1WIwNaDF",item:"item-1WIwNaDF",withAction:"withAction-1WIwNaDF",selected:"selected-1WIwNaDF",last:"last-1WIwNaDF",text:"text-1WIwNaDF",noWrapWrapper:"noWrapWrapper-1WIwNaDF",noWrap:"noWrap-1WIwNaDF",series:"series-1WIwNaDF",valuesAdditionalWrapper:"valuesAdditionalWrapper-1WIwNaDF",valueItem:"valueItem-1WIwNaDF",valueTitle:"valueTitle-1WIwNaDF",valueValue:"valueValue-1WIwNaDF",valuesWrapper:"valuesWrapper-1WIwNaDF",directionColumn:"directionColumn-1WIwNaDF",titleWrapper:"titleWrapper-1WIwNaDF",button:"button-1WIwNaDF",statusesWrapper:"statusesWrapper-1WIwNaDF",buttonsWrapper:"buttonsWrapper-1WIwNaDF",buttons:"buttons-1WIwNaDF",noActions:"noActions-1WIwNaDF",title:"title-1WIwNaDF",intervalTitle:"intervalTitle-1WIwNaDF",disabled:"disabled-1WIwNaDF",disabledOnInterval:"disabledOnInterval-1WIwNaDF",withCustomTextColor:"withCustomTextColor-1WIwNaDF",study:"study-1WIwNaDF",mainTitle:"mainTitle-1WIwNaDF",descTitle:"descTitle-1WIwNaDF",hideValues:"hideValues-1WIwNaDF",has5Buttons:"has5Buttons-1WIwNaDF",stayInHoveredMode:"stayInHoveredMode-1WIwNaDF",withTail:"withTail-1WIwNaDF",loading:"loading-1WIwNaDF",loader:"loader-1WIwNaDF",withDot:"withDot-1WIwNaDF",providerTitle:"providerTitle-1WIwNaDF",exchangeTitle:"exchangeTitle-1WIwNaDF",styleTitle:"styleTitle-1WIwNaDF",brandTitle:"brandTitle-1WIwNaDF",minHideIntervalTitle:"minHideIntervalTitle-1WIwNaDF",microHideIntervalTitle:"microHideIntervalTitle-1WIwNaDF",hideExchangeProviderTitles:"hideExchangeProviderTitles-1WIwNaDF", +hideBrandingTitle:"hideBrandingTitle-1WIwNaDF",flagged:"flagged-1WIwNaDF",medium:"medium-1WIwNaDF",minimized:"minimized-1WIwNaDF",micro:"micro-1WIwNaDF",onlyOneButtonCanBeStick:"onlyOneButtonCanBeStick-1WIwNaDF",touchMode:"touchMode-1WIwNaDF",buttonIcon:"buttonIcon-1WIwNaDF",flag:"flag-1WIwNaDF",invisibleHover:"invisibleHover-1WIwNaDF",eye:"eye-1WIwNaDF",eyeLoading:"eyeLoading-1WIwNaDF","eye-animation":"eye-animation-1WIwNaDF",intervalEye:"intervalEye-1WIwNaDF",markerContainer:"markerContainer-1WIwNaDF",flagWrapper:"flagWrapper-1WIwNaDF",sourcesWrapper:"sourcesWrapper-1WIwNaDF",legendMainSourceWrapper:"legendMainSourceWrapper-1WIwNaDF",sources:"sources-1WIwNaDF",toggler:"toggler-1WIwNaDF pane-button-xPfK7aM7",onlyOneSourceShown:"onlyOneSourceShown-1WIwNaDF",counter:"counter-1WIwNaDF",iconArrow:"iconArrow-1WIwNaDF",objectTree:"objectTree-1WIwNaDF",closed:"closed-1WIwNaDF",objectsTreeCanBeShown:"objectsTreeCanBeShown-1WIwNaDF"}},92176:e=>{e.exports={loader:"loader-18GTjpi-",loaderItem:"loaderItem-18GTjpi-","loader-animation":"loader-animation-18GTjpi-",touchMode:"touchMode-18GTjpi-"}},37504:e=>{e.exports={"css-value-pane-controls-padding-left":"1px","css-value-pane-controls-padding-right":"5px",paneControls:"paneControls-2RChU0rC",hasTopMargin:"hasTopMargin-2RChU0rC",hidden:"hidden-2RChU0rC",forceHidden:"forceHidden-2RChU0rC",button:"button-2RChU0rC pane-button-xPfK7aM7",buttonIcon:"buttonIcon-2RChU0rC",minimize:"minimize-2RChU0rC",newButton:"newButton-2RChU0rC",touchMode:"touchMode-2RChU0rC",maximize:"maximize-2RChU0rC","maximize-animation-up-bracket":"maximize-animation-up-bracket-2RChU0rC","maximize-animation-down-bracket":"maximize-animation-down-bracket-2RChU0rC","minimize-animation-up-bracket":"minimize-animation-up-bracket-2RChU0rC","minimize-animation-down-bracket":"minimize-animation-down-bracket-2RChU0rC",up:"up-2RChU0rC","up-animation":"up-animation-2RChU0rC",down:"down-2RChU0rC","down-animation":"down-animation-2RChU0rC",buttonsWrapper:"buttonsWrapper-2RChU0rC"}},71996:e=>{e.exports={blockHidden:"blockHidden-xPfK7aM7","pane-button":"pane-button-xPfK7aM7"}},34104:e=>{e.exports={"css-value-small-size":"18px","css-value-border-radius-small-size":"9px","css-value-large-size":"22px","css-value-border-radius-large-size":"11px",statuses:"statuses-1NfuygY0",statusItem:"statusItem-1NfuygY0",small:"small-1NfuygY0",large:"large-1NfuygY0",blinking:"blinking-1NfuygY0",oneWidgetsVisible:"oneWidgetsVisible-1NfuygY0",twoWidgetsVisible:"twoWidgetsVisible-1NfuygY0",threeWidgetsVisible:"threeWidgetsVisible-1NfuygY0","blinking-animation":"blinking-animation-1NfuygY0",marketStatusOpen:"marketStatusOpen-1NfuygY0",marketStatusClose:"marketStatusClose-1NfuygY0",marketStatusPre:"marketStatusPre-1NfuygY0",marketStatusPost:"marketStatusPost-1NfuygY0",marketStatusHoliday:"marketStatusHoliday-1NfuygY0",invalidSymbol:"invalidSymbol-1NfuygY0",replayMode:"replayMode-1NfuygY0",notAccurate:"notAccurate-1NfuygY0",delay:"delay-1NfuygY0",eod:"eod-1NfuygY0",dataProblemHigh:"dataProblemHigh-1NfuygY0",dataProblemLow:"dataProblemLow-1NfuygY0"}}, +30194:(e,t,s)=>{"use strict";s.r(t),s.d(t,{ControlBarNavigation:()=>$});var i=s(16282),l=s(79881),a=s(96404),o=s(27490),n=s(49044),r=s(76553),d=s(67235),h=s(19598),u=s(43367),c=s(42998),_=(s(87438),s(2885)),p=s(57271),m=s(56635),g=s(59437),b=s(77679),v=s(52495),w=s(60737),y=s(11005),S=s(74077),M=s(14836),f=s(55270),C=s(94964);s(82725);const E=(0,c.humanReadableModifiers)(c.Modifiers.Alt,!1),k=(0,c.humanReadableModifiers)(c.Modifiers.Shift,!1),V=(0,c.humanReadableModifiers)(c.Modifiers.Mod,!1),W=(0,h.hotKeySerialize)({keys:[E,"R"],text:"{0} + {1}"}),T=(0,h.hotKeySerialize)({keys:[E,"Click",E,"Enter"],text:"{0} + {1}, {2} + {3}"}),x=(0,h.hotKeySerialize)({keys:[w],text:"{0}"}),D=(0,h.hotKeySerialize)({keys:[y],text:"{0}"}),L=(0,h.hotKeySerialize)({keys:[V,S],text:"{0} + {1}"}),A=(0,h.hotKeySerialize)({keys:[V,M],text:"{0} + {1}"}),H=(0,h.hotKeySerialize)({keys:[E,k,y],text:"{0} + {1} + {2}"}),B=(0,l.t)("Zoom Out"),N=(0,l.t)("Zoom In"),P=(0,l.t)("Maximize chart"),I=(0,l.t)("Restore chart"),z=(0,l.t)("Scroll to the Left"),O=(0,l.t)("Scroll to the Right"),F=(0,l.t)("Reset Chart"),R=(0,l.t)("Scroll to the Most Recent Bar"),U=`
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t${p}\n\t\t\t
\n\t\t\t
\n\t\t\t\t${g}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t${f}\n\t\t\t
\n\t\t\t
\n\t\t\t\t${C}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t${_}\n\t\t\t
\n\t\t\t
\n\t\t\t\t${b}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t${m}\n\t\t\t
\n\t\t
\n\t
\n
`,j=`
\n\t${v}\n
`,Y=u.CheckMobile.any(),G={zoomInOut:!0,maximize:!0,scrollLeftRight:!0,resetScale:!0,goToRealtime:!0};class ${constructor(e,t,s){this._widget=(0,i.ensureNotNull)((0, +d.parseHtml)(U).querySelector(".control-bar-wrapper")),this._controlBar=(0,i.ensureNotNull)(this._widget.querySelector(".control-bar")),this._back=(0,i.ensureNotNull)((0,d.parseHtml)(j).querySelector(".control-bar__btn--back-present")),this._btnGroups=Array.from(this._controlBar.querySelectorAll(".js-btn-group")),this._backButtonVisible=!1,this._boundMouseHandler=null,this._chartModel=null,this._checkIntervalId=0,this._controlBarVisible=!1,this._priceAxisChanged=null,this._resetAvailabilityChanged=null,this._priceAxisName="right",this._rafId=0,this._visibilityTypeProperty=null,this._boundUpdateMaximizeButtonsVisibility=this._updateMaximizeButtonsVisibility.bind(this),this._boundToggleFullscreenButtons=this._toggleFullscreenButtons.bind(this),this._paneWidth=0,this._leftPriceScaleWidth=0,this._rightPriceScaleWidth=0,this._chart=e,this._parent=t,this._options=Object.assign({},G,s),this._visibilityPrioritizedGroups=this._initGroupDescriptions(),this._init(),this._initHandlers(),this.updatePosition()}destroy(){if(null!==this._visibilityTypeProperty&&(this._visibilityTypeProperty.unsubscribe(this,this._onVisibilityTypeChange),this._visibilityTypeProperty=null),null!==this._boundMouseHandler&&(this._parent.removeEventListener("mousemove",this._boundMouseHandler,!1),this._parent.removeEventListener("mouseleave",this._boundMouseHandler,!1),this._boundMouseHandler=null),null!==this._priceAxisChanged&&(this._priceAxisChanged.unsubscribe(this,this._updateBackBtnPosition),this._priceAxisChanged=null),clearInterval(this._checkIntervalId),null!==this._resetAvailabilityChanged){this._resetAvailabilityChanged.unsubscribe(this,this._updateResetScalesButtonVisibility);const e=this._chart.getResizerDetacher();e.fullscreenable.unsubscribe(this._boundUpdateMaximizeButtonsVisibility),e.fullscreen.unsubscribe(this._boundToggleFullscreenButtons),this._resetAvailabilityChanged=null}this._chart=null}updatePosition(){const e=this._chart.paneWidgets();if(0===e.length)return;this._paneWidth=e[0].width(),this._leftPriceScaleWidth=this._chart.getPriceAxisMaxWidthByName("left"),this._rightPriceScaleWidth=this._chart.getPriceAxisMaxWidthByName("right");const t=this._chart.timeAxisHeight()+this._bottomMargin();this._widget.style.bottom=t+"px",this._back.style.bottom=t+"px",this._updateBtnGroupVisibility()}_bottomMargin(){var e;const t=this._chart.paneWidgets();return(null!==(e=this._chart.maximizedPaneWidget())&&void 0!==e?e:t[t.length-1]).containsMainSeries()?32:5}_init(){if(u.CheckMobile.any())for(const e of this._btnGroups)e.classList.add("js-hidden");this._buttons={zoomIn:this._widget.querySelector(".control-bar__btn--zoom-in"),zoomOut:this._widget.querySelector(".control-bar__btn--zoom-out"),moveLeft:this._widget.querySelector(".control-bar__btn--move-left"),moveRight:this._widget.querySelector(".control-bar__btn--move-right"),turn:this._widget.querySelector(".control-bar__btn--turn-button"),maximize:this._widget.querySelector(".control-bar__btn--maximize"),minimize:this._widget.querySelector(".control-bar__btn--minimize")}, +this._initVisibility(),this._parent.appendChild(this._widget),this._parent.appendChild(this._back),this._backButtonVisible=!1,this._priceAxisName=(0,r.isRtl)()?"left":"right",this._chart.withModel(this,()=>{this._chartModel=this._chart.model(),this._priceAxisChanged=this._chart.getPriceAxisWidthChangedByName(this._priceAxisName),this._resetAvailabilityChanged=this._chartModel.model().isScalesResetAvailableChanged(),this._priceAxisChanged.subscribe(this,this._updateBackBtnPosition),this._resetAvailabilityChanged.subscribe(this,this._updateResetScalesButtonVisibility);const e=this._chart.getResizerDetacher();e.fullscreenable.subscribe(this._boundUpdateMaximizeButtonsVisibility),e.fullscreen.subscribe(this._boundToggleFullscreenButtons),this._updateMaximizeButtonsVisibility(),this._updateBackBtnPosition(),this._back.addEventListener("click",()=>{null!==this._chartModel&&this._chartModel.timeScale().scrollToRealtime(!0)}),this._checkIntervalId=setInterval(()=>this._check(),1e3)})}_initHandlers(){const e=a.mobiletouch?"touchstart":"mousedown",t=a.mobiletouch?["touchend"]:["mouseup","mouseout"];this._buttons.moveLeft.addEventListener(e,e=>{e.preventDefault(),this._chart.scrollHelper().moveByBar(1),this._trackEvent("Move Left")}),this._buttons.moveRight.addEventListener(e,e=>{e.preventDefault(),this._chart.scrollHelper().moveByBar(-1),this._trackEvent("Move Right")});for(const e of t)this._buttons.moveLeft.addEventListener(e,()=>this._chart.scrollHelper().stopMoveByBar()),this._buttons.moveRight.addEventListener(e,()=>this._chart.scrollHelper().stopMoveByBar());this._buttons.turn.addEventListener("click",e=>{e.preventDefault(),this._chart.GUIResetScales(),this._trackEvent("Reset to Default Settings")}),this._buttons.zoomOut.addEventListener("click",e=>{e.preventDefault(),null!==this._chartModel&&this._chartModel.zoomOut(),this._trackEvent("Zoom Out")}),this._buttons.zoomIn.addEventListener("click",e=>{e.preventDefault(),null!==this._chartModel&&this._chartModel.zoomIn(),this._trackEvent("Zoom In")}),this._buttons.maximize.addEventListener("click",e=>{e.preventDefault(),this._chart.setActive(!0),this._chart.getResizerDetacher().requestFullscreen(),this._trackEvent(" Maximize Chart")}),this._buttons.minimize.addEventListener("click",e=>{e.preventDefault(),this._chart.getResizerDetacher().exitFullscreen(),this._trackEvent(" Restore Chart")});const s=e=>e.addEventListener("contextmenu",e=>e.preventDefault());s(this._buttons.moveLeft),s(this._buttons.moveRight),s(this._buttons.turn),s(this._buttons.zoomOut),s(this._buttons.zoomIn),s(this._buttons.minimize),s(this._buttons.maximize)}_initGroupDescriptions(){return[{shouldBeHiddenOnMobile:!1,available:this._isMaximizeButtonAvailable.bind(this),className:"js-btn-group-maximize",element:this._getBtnGroup("js-btn-group-maximize"),totalWidth:50},{shouldBeHiddenOnMobile:!1,available:()=>this._options.resetScale,className:"js-btn-group-reset-scale",element:this._getBtnGroup("js-btn-group-reset-scale"),totalWidth:50},{ +shouldBeHiddenOnMobile:!o.enabled("show_zoom_and_move_buttons_on_touch"),available:()=>this._options.zoomInOut,className:"js-btn-group-zoom",element:this._getBtnGroup("js-btn-group-zoom"),totalWidth:86},{shouldBeHiddenOnMobile:!o.enabled("show_zoom_and_move_buttons_on_touch"),available:()=>this._options.scrollLeftRight,className:"js-btn-group-scroll",element:this._getBtnGroup("js-btn-group-scroll"),totalWidth:86}]}_check(){if(null===this._chartModel||!this._options.goToRealtime)return;const e=this._chartModel.timeScale().rightOffset()<0;e!==this._backButtonVisible&&(this._backButtonVisible=e,this._back.classList.toggle("control-bar__btn--btn-hidden",!this._backButtonVisible))}_initVisibility(){this._visibilityTypeProperty=(0,n.actualBehavior)(),this._visibilityTypeProperty.subscribe(this,this._onVisibilityTypeChange),this._onVisibilityTypeChange()}_onVisibilityTypeChange(){if(null===this._visibilityTypeProperty)return;const e=this._visibilityTypeProperty.value();"alwaysOn"===e||"alwaysOff"===e?(this._controlBarVisible="alwaysOn"===e,null!==this._boundMouseHandler&&(this._parent.removeEventListener("mousemove",this._boundMouseHandler,!1),this._parent.removeEventListener("mouseleave",this._boundMouseHandler,!1),this._boundMouseHandler=null)):(this._controlBarVisible=!1,this._boundMouseHandler||(this._boundMouseHandler=this._visibilityMouseHandler.bind(this),this._parent.addEventListener("mousemove",this._boundMouseHandler),this._parent.addEventListener("mouseleave",this._boundMouseHandler))),this._updateControlBarVisibility()}_visibilityMouseHandler(e){if(e.buttons)return;if(null!==this._chartModel&&this._chartModel.lineBeingCreated())return;let t="mouseleave"!==e.type;if("mousemove"===e.type){const s=this._widget.getBoundingClientRect(),i=100-this._bottomMargin();t=e.clientX>=s.left-100&&e.clientX<=s.right+100&&e.clientY>=s.top-i&&e.clientY<=s.bottom+100}this._controlBarVisible!==t&&(this._controlBarVisible=t,null===this._rafId&&(this._rafId=this._controlBar.ownerDocument.defaultView.requestAnimationFrame(this._updateControlBarVisibility.bind(this))))}_updateControlBarVisibility(){this._rafId=null,this._controlBar.classList.toggle("control-bar--hidden",!this._controlBarVisible)}_updateBackBtnPosition(){if("left"===this._priceAxisName||"right"===this._priceAxisName){const e=this._chart.getPriceAxisMaxWidthByName(this._priceAxisName)+14;e&&(this._back.style.marginRight=e+"px")}}_updateBtnGroupVisibility(){const e=this._leftPriceScaleWidth+this._paneWidth,t=(e+this._rightPriceScaleWidth)/2;let s=2*Math.min(e-t,t-this._leftPriceScaleWidth)-50-50,i=!1;for(const e of this._visibilityPrioritizedGroups){e.enoughSpaceForGroup=!1;e.available()&&(!Y||!e.shouldBeHiddenOnMobile)&&(s-=e.totalWidth,e.enoughSpaceForGroup=s>=0&&!i,i=i||!e.enoughSpaceForGroup),!e.enoughSpaceForGroup!==e.element.classList.contains("js-hidden")&&e.element.classList.toggle("js-hidden",!e.enoughSpaceForGroup)}this._updateControlBarPosition()}_getBtnGroup(e){return(0,i.ensureDefined)(this._btnGroups.find(t=>t.classList.contains(e)))} +_updateControlBarPosition(){const e=this._visibilityPrioritizedGroups.reduce((e,t)=>e+(t.enoughSpaceForGroup?t.totalWidth:0),0),t=(this._paneWidth+this._leftPriceScaleWidth+this._rightPriceScaleWidth)/2-Math.ceil(e/2);this._widget.style.left=t+"px"}_updateResetScalesButtonVisibility(){if(null===this._chartModel)return;const e=this._chartModel.model().isScalesResetAvailable();this._buttons.turn.classList.toggle("control-bar__btn--btn-hidden",!e)}_updateMaximizeButtonsVisibility(){this._updateBtnGroupVisibility()}_toggleFullscreenButtons(){const e=this._chart.getResizerDetacher().fullscreen.value();this._buttons.maximize.classList.toggle("js-hidden",e),this._buttons.minimize.classList.toggle("js-hidden",!e)}_isMaximizeButtonAvailable(){return this._options.maximize,!1}_trackEvent(e){0}}},56786:(e,t,s)=>{"use strict";s.r(t),s.d(t,{LegendWidget:()=>$i});var i=s(16282),l=s(32856),a=s.n(l),o=s(47903),n=s(16932),r=s(14563),d=s(27490),h=s(92882),u=s(1529),c=s(3330),_=s(29448),p=s(52541),m=s(71996);var g=s(92176);class b extends class{constructor(e,t={}){this._loadingEl=document.createElement("span"),this._renderLoading(t),this.toggleVisibility(!1),e.appendChild(this._loadingEl)}toggleVisibility(e){this._loadingEl.classList.toggle(m.blockHidden,!e)}_renderLoading(e){const{className:t}=e;t&&this._loadingEl.classList.add(t)}}{_renderLoading(e){super._renderLoading(e),this._loadingEl.innerHTML=`\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t`,this._loadingEl.classList.add(g.loader)}}var v=s(43367);function w(e,t){null===e.firstChild?e.textContent=t:e.firstChild.nodeValue=t}var y=s(92271);const S=v.CheckMobile.any();class M{constructor(e,t,s){this._el=null,this._firstBlockWrapper=null,this._titleParentEl=null,this._titleElements=[],this._valuesParentEl=null,this._valuesAdditionalWrapperEl=null,this._valuesElements=[],this._actionsParentEl=null,this._actionAdditionalWrapperEl=null,this._stayInHoveredMode=!1,this._mode=4,this._statusesWrapper=null,this._resizeObserver=null,this._hideInvisibleHover=null,this._hideValues=null,this._allButtonsWidth=null,this._lastStatusesWrapperWidth=null,this._lastActionsWrapperWidth=null,this._showActionsHandler=null,this._hideActionsHandler=null,this._selectedSourceHandler=null,this._mouseEventHandlers=[],this._disableTimeout=null,this._loader=null,this._updateDisabledState=(e=this._disabled.value())=>{null!==this._el&&(this._el.classList.toggle(y.disabled,e),this._updateLoadingState(),this._updateStatusWidgetVisibility(e),this._updateTitleMaxWidth())},this._updateLoadingState=(e=this._loading.value())=>{if(null!==this._el){const t=this._el.classList;t.toggle(y.eyeLoading,e&&!this._disabled.value()),t.toggle(y.loading,e)}null!==this._loader&&this._loader.toggleVisibility(e)},this._model=e,this._parentEl=t,this._disabled=this._model.disabled().spawn(),this._disabled.subscribe(this._updateDisabledState),this._disabledOnInterval=this._model.disabledOnInterval().spawn(), +this._disabledOnInterval.subscribe(this._updateDisabledOnIntervalState.bind(this)),this._selected=this._model.selected().spawn(),this._selected.subscribe(this._updateSelectedState.bind(this)),this._loading=this._model.loading().spawn(),this._loading.subscribe(function(e,t){let s=0;return i=>{clearTimeout(s),i?e():s=setTimeout(e,t)}}(this._updateLoadingState,700)),this._isTitleHidden=this._model.isTitleHidden().spawn(),this._isValuesHidden=this._model.isValuesHidden().spawn(),this._isRowHidden=this._model.isRowHidden().spawn(),this._isTitleHidden.subscribe(this._updateShowTitles.bind(this)),this._isValuesHidden.subscribe(this._updateShowValues.bind(this)),this._isRowHidden.subscribe(this._updateShowLine.bind(this)),this._createTitlesSpawns();for(let e=0;e({visible:e.visible.spawn(),title:void 0===e.title?null:e.title.spawn()}));for(let e=0;e{e.preventDefault(),e.stopPropagation()})))}destroy(){var e,t;this._disabled.destroy(),this._disabledOnInterval.destroy(), +this._selected.destroy(),this._loading.destroy(),this._isTitleHidden.destroy(),this._isValuesHidden.destroy(),this._isRowHidden.destroy(),this._customTextColor.destroy(),null!==this._disableTimeout&&clearTimeout(this._disableTimeout);for(const e of this._titlesSpawns)e.title.destroy();if(null!==this._titleParentEl){for(const e of this._mouseEventHandlers)e.destroy();this._titleElements=[],this._withActions&&null!==this._selectedSourceHandler&&null!==this._showActionsHandler&&null!==this._hideActionsHandler&&(this._titleParentEl.removeEventListener("touchend",this._selectedSourceHandler),this._titleParentEl.removeEventListener("mousedown",this._selectedSourceHandler),S||(this._titleParentEl.removeEventListener("mouseenter",this._showActionsHandler),this._titleParentEl.removeEventListener("mouseleave",this._hideActionsHandler))),this._titleParentEl=null}for(const e of this._actionsSpawnArray){e.visible.destroy();const t=e.title;null!==t&&t.destroy()}if(null!==this._actionAdditionalWrapperEl&&(this._withActions&&null!==this._showActionsHandler&&null!==this._hideActionsHandler&&!S&&(this._actionAdditionalWrapperEl.removeEventListener("mouseenter",this._showActionsHandler),this._actionAdditionalWrapperEl.removeEventListener("mouseleave",this._hideActionsHandler)),this._actionAdditionalWrapperEl=null),this._actionsParentEl=null,this._removeValuesSpawnsSubscriptions(),this._values.destroy(),null!==this._valuesParentEl&&(this._valuesElements=[],this._valuesParentEl=null),null===(e=this._hideInvisibleHover)||void 0===e||e.destroy(),null===(t=this._hideValues)||void 0===t||t.destroy(),null!==this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),null!==this._el){(0,i.ensureNotNull)(this._el.parentNode).removeChild(this._el),this._el=null}}getHeight(){return null===this._el?null:24}updateMode(e){this._mode===e&&null!==this._allButtonsWidth||(this._mode=e,this._updateAllButtonsWidth())}_render(){this._renderTitle(),this._renderActions(),this._renderValues(),this._el=document.createElement("div"),this._firstBlockWrapper=document.createElement("div"),this._firstBlockWrapper.classList.add(y.noWrapWrapper),this._firstBlockWrapper.appendChild((0,i.ensureNotNull)(this._titleParentEl)),null!==this._actionsParentEl&&this._firstBlockWrapper.appendChild(this._actionsParentEl),this._el.appendChild(this._firstBlockWrapper),this._el.appendChild((0,i.ensureNotNull)(this._valuesParentEl)),this._parentEl.append(this._el)}_renderTitle(){null===this._titleParentEl&&(this._titleParentEl=document.createElement("div"),this._titleParentEl.classList.add(y.titleWrapper));const e=this._titleParentEl;for(let t=0;t0?(l.appendChild(document.createTextNode(s)),l.classList.add(y.withDot)):l.classList.add(m.blockHidden),e.appendChild(l),this._titleElements.push(l)}}_renderActions(){ +if(!this._withActions)return;null===this._actionsParentEl&&(this._actionsParentEl=document.createElement("div"),this._actionsParentEl.classList.add(y.buttonsWrapper),this._parentEl.append(this._actionsParentEl),this._actionAdditionalWrapperEl=document.createElement("div"),this._actionAdditionalWrapperEl.classList.add(y.buttons),this._actionsParentEl.appendChild(this._actionAdditionalWrapperEl));const e=(0,i.ensureNotNull)(this._actionAdditionalWrapperEl),t=h.trackingModeIsAvailable?"large":"small";for(const s of this._model.actions()){const i=(0,c.createActionElement)(s,y.button,y.buttonIcon,m.blockHidden,t);e.appendChild(i)}}_isWidthButtonsMode(){return null!==this._el&&(this._el.classList.contains(y.withAction)||this._disabled.value()||this._selected.value()||this._stayInHoveredMode)}_updateTitlesHandler(e,t){const s=(0,i.ensureNotNull)(this._titleElements[e]),l=0===t.length;s.classList.toggle(m.blockHidden,l),s.classList.toggle(y.withDot,!l),w(s,t)}_updateStates(e){this._updateDisabledState(),this._updateDisabledOnIntervalState(),this._updateSelectedState(),this._updateLoadingState(),e&&this._clearDisableState()}_updateValuesHTMLElHandler(e,t){w((0,i.ensure)(this._valuesElements[e].value),t),this._updateShowValues()}_updateValueColorHandler(e,t=""){(0,i.ensure)(this._valuesElements[e].value).style.color=t}_updateValueVisibleHandler(e,t){const s=(0,i.ensure)(this._valuesElements[e].value).closest("."+y.valueItem);null!==s&&s.classList.toggle(m.blockHidden,!t)}_updateShowLine(){null!==this._el&&this._el.classList.toggle(m.blockHidden,this._isRowHidden.value())}_createValuesSpawns(){this._valuesSpawnArray=this._values.value().map(e=>({value:e.value.spawn(),color:e.color.spawn(),visible:e.visible.spawn()}))}_removeValuesSpawnsSubscriptions(){for(const e of this._valuesSpawnArray)e.value.destroy(),e.color.destroy(),e.visible.destroy();this._valuesSpawnArray=[]}_addValuesSpawnsSubscriptions(){for(let e=0;ee.value.value().length>0)}_addStatusesWidget(e,t,s){this._statusesWrapper=document.createElement("div"),this._statusesWrapper.classList.add(y.statusesWrapper),this._statusesWrapper.appendChild(e),(0,i.ensureNotNull)(this._firstBlockWrapper).appendChild(this._statusesWrapper),this._hideInvisibleHover=t.spawn(),this._hideInvisibleHover.subscribe(this._updateInvisibleHoverMode.bind(this),{callWithLast:!0}),this._hideValues=s.spawn(),this._hideValues.subscribe(this._updateHideValuesMode.bind(this),{callWithLast:!0}),this._updateStatusWidgetVisibility(this._disabled.value()), +this._resizeObserver=new u.default(this._handlerRestrictTitleWidth.bind(this)),null!==this._actionsParentEl&&this._resizeObserver.observe(this._actionsParentEl),this._resizeObserver.observe(this._statusesWrapper)}_updateTitleMaxWidth(){if(null===this._firstBlockWrapper)return;const e=this._allButtonsWidth||0,t=(this._lastActionsWrapperWidth||0)+(this._lastStatusesWrapperWidth||0);this._isWidthButtonsMode()?this._firstBlockWrapper.style.maxWidth=`calc(100% - ${Math.max(e,t)}px)`:this._firstBlockWrapper.style.maxWidth=t>0?`calc(100% - ${t}px)`:""}_updateAllButtonsWidth(){this._allButtonsWidth=this._getButtonsCount()*O+1,this._updateTitleMaxWidth()}_updateInvisibleHoverMode(e){null!==this._el&&this._el.classList.toggle(y.invisibleHover,!e)}_updateHideValuesMode(e){null!==this._el&&this._el.classList.toggle(y.hideValues,e)}_showActions(){if(null===this._el||!this._withActions)return;this._el.classList.add(y.withAction);const e=null!==this._valuesParentEl&&null!==this._titleParentEl&&this._valuesParentEl.offsetTop===this._titleParentEl.offsetTop;this._el.classList.toggle(y.withTail,e),this._updateTitleMaxWidth()}_hideActions(){null!==this._el&&this._withActions&&!this._stayInHoveredMode&&(this._el.classList.remove(y.withAction),null!==this._valuesParentEl&&this._valuesParentEl.classList.remove(y.withTail),this._updateTitleMaxWidth())}_handlerRestrictTitleWidth(e){if(null===this._actionsParentEl||null===this._firstBlockWrapper)return;let t=null,s=null;for(const i of e)i.target===this._statusesWrapper&&(t=i.contentRect.width),i.target===this._actionsParentEl&&(s=i.contentRect.width);t===this._lastStatusesWrapperWidth&&s===this._lastActionsWrapperWidth||(null!==t&&(this._lastStatusesWrapperWidth=t),null!==s&&(this._lastActionsWrapperWidth=s),this._updateTitleMaxWidth())}_clearDisableState(){null!==this._el&&(this._el.classList.remove(y.eyeLoading),this._el.classList.remove(y.disabled),this._updateStatusWidgetVisibility(this._disabled.value()),this._updateTitleMaxWidth())}_updateDisabledOnIntervalState(){var e;null===(e=this._el)||void 0===e||e.classList.toggle(y.disabledOnInterval,this._disabledOnInterval.value())}_updateSelectedState(){null!==this._el&&this._withActions&&this._el.classList.toggle(y.selected,this._selected.value())}_updateShowTitles(){null!==this._titleParentEl&&(this._titleParentEl.classList.toggle(m.blockHidden,this._isTitleHidden.value()),null!==this._actionsParentEl&&this._actionsParentEl.classList.toggle(m.blockHidden,this._isTitleHidden.value()))}_updateValues(){this._removeValuesSpawnsSubscriptions(),this._createValuesSpawns(),null!==this._valuesParentEl&&null!==this._valuesAdditionalWrapperEl&&(this._valuesElements=[],this._valuesAdditionalWrapperEl.innerHTML=""),this._renderValues(),this._addValuesSpawnsSubscriptions(),this._updateShowValues()}_updateActionVisibilities(e){null!==this._actionsParentEl&&this._actionsParentEl.querySelectorAll("."+y.button)[e].classList.toggle(m.blockHidden,!this._actionsSpawnArray[e].visible.value())}_updateActionTitle(e){const t=this._actionsSpawnArray[e].title +;null!==this._actionsParentEl&&null!==t&&this._actionsParentEl.querySelectorAll("."+y.button)[e].setAttribute("title",t.value())}_updateCustomTextColor(){const e=this._customTextColor.value()||"";for(const t of this._titleElements)null!==t&&(t.style.color=e);const t=(0,i.ensureNotNull)(this._valuesParentEl).querySelectorAll("."+y.valueTitle);for(let s=0;s{this._valuesSpawnArray[t].title=e.title.spawn() +})}_removeValuesSpawnsSubscriptions(){for(const e of this._valuesSpawnArray)e.title.destroy();super._removeValuesSpawnsSubscriptions()}_addValuesSpawnsSubscriptions(){super._addValuesSpawnsSubscriptions();for(let e=0;ee.value.value().length>0||(e.title.value()||"").length>0)}_updateValuesTitleHTMLElHandler(e,t=""){const s=(0,i.ensure)(this._valuesElements[e].title);w(s,t),s.classList.toggle(m.blockHidden,0===t.length),this._updateShowValues()}_isWidthButtonsMode(){return null!==this._el&&(void 0!==this._flagged&&Boolean(this._flagged.value())||super._isWidthButtonsMode())}_updateFlaggedState(){if(void 0===this._flagged)return;(0,i.ensureNotNull)(this._el).classList.toggle(y.flagged,Boolean(this._flagged.value())),this._updateTitleMaxWidth()}}const C=v.isSafari?"click":"auxclick";class E extends M{constructor(e,t,s){super(e,t,s),this._wheelClickHandler=null,this._canUpdateRowVisibility=!0,this._globalRowVisibility=this._model.globalVisibility().spawn(),this._globalRowVisibility.subscribe(this._updateShowLine.bind(this),{callWithLast:!0}),this._has5Buttons=this._model.isPineScriptDataSource().spawn(),this._has5Buttons.subscribe(this._update5ButtonsStyles.bind(this)),this._updateStates(!this._disabled.value()),s.statusWidgetEl&&this._addStatusesWidget(s.statusWidgetEl,s.hideInvisibleHover,s.hideValues),this._selected.subscribe(this._updateTitleMaxWidth.bind(this)),s.withActions&&(this._wheelClickHandler=this._onWheelClicked.bind(this),null!==this._titleParentEl&&this._titleParentEl.addEventListener(C,this._wheelClickHandler))}destroy(){super.destroy(),this._has5Buttons.destroy(),this._globalRowVisibility&&this._globalRowVisibility.destroy(),null!==this._wheelClickHandler&&null!==this._titleParentEl&&this._titleParentEl.removeEventListener(C,this._wheelClickHandler)}_updateShowLine(){if(null===this._el||!this._canUpdateRowVisibility)return;const e=!this._globalRowVisibility.value();e?this._el.classList.toggle(m.blockHidden,e):super._updateShowLine()}_getButtonsCount(){switch(this._mode){case 4:return this._has5Buttons.value()?5:4;case 3:return 3;default:return 2}}_render(){super._render();const e=(0,i.ensureNotNull)(this._el);e.classList.add(y.item,y.study),e.dataset.name="legend-source-item"}_createTitlesSpawns(){const e=this._model.titles();this._titlesSpawns=[{title:e.title.spawn(),class:y.mainTitle},{title:e.args.spawn(),class:y.descTitle}]}_renderValues(){null===this._valuesParentEl&&(this._valuesParentEl=document.createElement("div"),this._valuesParentEl.classList.add(y.valuesWrapper),this._valuesAdditionalWrapperEl=document.createElement("div"),this._valuesAdditionalWrapperEl.classList.add(y.valuesAdditionalWrapper),this._valuesParentEl.appendChild(this._valuesAdditionalWrapperEl));const e=(0,i.ensureNotNull)(this._valuesAdditionalWrapperEl),t=this._values.value();for(const s of t){const t=document.createElement("div") +;t.classList.add(y.valueItem),t.classList.toggle(m.blockHidden,!s.visible.value());const i=document.createElement("div");i.classList.add(y.valueValue),i.style.color=s.color.value()||"",i.appendChild(document.createTextNode(s.value.value())),t.appendChild(i),this._valuesElements.push({value:i}),e.appendChild(t)}}_update5ButtonsStyles(e){null!==this._el&&(this._el.classList.toggle(y.has5Buttons,e),this._updateAllButtonsWidth())}_onWheelClicked(e){1===e.button&&this._model.onRemoveSource()}}var k=s(79881),V=s(87438);function W(e){(0,V.trackEvent)("GUI","Legend action",e)}var T=s(42277),x=s(13335),D=s(93741),L=s(24335);const A=(0,k.t)("Hide Indicator Legend"),H=(0,k.t)("Show Indicator Legend"),B=(0,k.t)("Show Object Tree");class N{constructor(e,t,s){this._el=null,this._counterEl=null,this._arrowIconEL=null,this._objectTreeEl=null,this._mode=0,this._parentEl=e,this._themedColor=t.spawn(),this._themedColor.subscribe(this._updateThemedColor.bind(this)),this._sourceCount=s.visibleDataSourceCount.spawn(),this._sourceCount.subscribe(this._updateSourceCount.bind(this)),this._isStateOpen=s.isDataSourcesCollapsed.spawn(),this._isStateOpen.subscribe(this._updateState.bind(this)),this._showObjectsTree=s.showObjectsTree.spawn(),this._showObjectsTree.subscribe(this._updateObjectTreeVisibility.bind(this)),this._render(),this._updateState(),this._updateThemedColor(this._themedColor.value()),this._updateObjectTreeVisibility(this._showObjectsTree.value()),this._toggleStateHandler=(0,p.wrapHandlerWithPreventEvent)(s.onCollapseDataSources),this._showObjectTreeHandler=(0,p.wrapHandlerWithPreventEvent)(s.onShowObjectsTreeDialog),null!==this._el&&(this._el.addEventListener("touchend",this._toggleStateHandler),this._el.addEventListener("click",this._toggleStateHandler),this._el.addEventListener("contextmenu",e=>{e.preventDefault(),e.stopPropagation()})),null!==this._objectTreeEl&&(this._objectTreeEl.addEventListener("touchend",this._showObjectTreeHandler),this._objectTreeEl.addEventListener("click",this._showObjectTreeHandler))}destroy(){this._sourceCount.destroy(),this._isStateOpen.destroy(),null!==this._objectTreeEl&&(this._objectTreeEl.removeEventListener("touchend",this._showObjectTreeHandler),this._objectTreeEl.removeEventListener("click",this._showObjectTreeHandler),this._objectTreeEl=null),this._arrowIconEL=null,this._counterEl=null,null!==this._el&&(this._el.removeEventListener("touchend",this._toggleStateHandler),this._el.removeEventListener("click",this._toggleStateHandler),this._el.innerHTML="",this._el=null)}setMode(e){this._mode=e?1:0,this._updateTooltip()}_render(){this._el=document.createElement("div"),this._el.className=y.toggler+" apply-common-tooltip",this._arrowIconEL=document.createElement("div"),this._arrowIconEL.classList.add(y.iconArrow),this._arrowIconEL.innerHTML=h.trackingModeIsAvailable?x:T,this._el.appendChild(this._arrowIconEL),this._objectTreeEl=document.createElement("div"),this._objectTreeEl.classList.add(y.objectTree),this._objectTreeEl.innerHTML=h.trackingModeIsAvailable?L:D, +this._el.appendChild(this._objectTreeEl),this._counterEl=document.createElement("div"),this._counterEl.classList.add(y.counter),this._counterEl.appendChild(document.createTextNode(String(this._sourceCount.value()))),this._el.appendChild(this._counterEl),this._parentEl.appendChild(this._el)}_updateThemedColor(e){if(null!==this._el)if(e.length>0){const[t,s,i]=(0,r.parseRgb)(e);this._el.style.backgroundColor=(0,r.rgbaToString)([t,s,i,(0,r.normalizeAlphaComponent)(.8)])}else this._el.style.removeProperty("background-color")}_updateSourceCount(e){w((0,i.ensureNotNull)(this._counterEl),String(e));const t=(0,i.ensureNotNull)(this._el),s=e<1;t.classList.toggle(m.blockHidden,s);const l=1===e;t.classList.toggle(y.onlyOneSourceShown,l)}_updateState(){const e=!this._isStateOpen.value();this._parentEl.classList.toggle(y.closed,e),this._updateTooltip(),W((e?"Hide":"Show")+" not main sources")}_tooltip(){return 1===this._mode?B:this._isStateOpen.value()?A:H}_updateTooltip(){null!==this._el&&this._el.setAttribute("title",this._tooltip())}_updateObjectTreeVisibility(e){(0,i.ensureNotNull)(this._el).classList.toggle(y.objectsTreeCanBeShown,e)}}var P=s(74384),I=s(59726);function z(e,t){const s=new(a())(t(e.value()));e.subscribe(e=>{s.setValue(t(e))});return s.readonly().spawn(()=>e.unsubscribe())}const O=h.trackingModeIsAvailable?44:28,F=d.enabled("object_tree_legend_mode");class R{constructor(e,t){this._renderToggler=null,this._mainDataSourceRenderer=null,this._dataSourceRenderers=[],this._parentEl=document.createElement("div"),this._mainDataSourceEl=null,this._dataSourcesEl=null,this._dataSourcesAdditionalWrapperEl=null,this._collapsedDataSourcesWrapperEl=null,this._collapsedDataSourcesEl=null,this._outsideEventForCollapsedTooltip=null,this._options=e,this._togglerOptions=t,this._isStudiesLegendHidden=e.isStudiesLegendHidden.spawn(),this._isStudiesLegendHidden.subscribe(this._updateLegendVisibility.bind(this)),this._isAllLegendHidden=e.isAllLegendHidden.spawn(),this._isAllLegendHidden.subscribe(this._updateLegendVisibility.bind(this)),this._updateLegendVisibility(),this._themedColor=e.themedColor.spawn(),this._themedColor.subscribe(this._setCustomBg.bind(this)),this._showBackground=e.showBackground.spawn(),this._showBackground.subscribe(this._setCustomBg.bind(this)),this._backgroundTransparency=e.backgroundTransparency.spawn(),this._backgroundTransparency.subscribe(this._setCustomBg.bind(this)),this._collapsedDataSourcesCountSpawn=e.collapsedDataSourcesCount.spawn(),this._collapsedDataSourcesCountSpawn.subscribe(this._updateCollapsedSourcesCount.bind(this)),this._showCollapsedDataSourcesTooltipHandler=this._showCollapsedDataSourcesTooltip.bind(this),this._parentEl.classList.add(y.legend),this._parentEl.classList.toggle(y.noWrap,!h.trackingModeIsAvailable),this._parentEl.classList.toggle(y.noActions,!this._options.withActions),this._parentEl.classList.toggle(y.touchMode,h.trackingModeIsAvailable),this._parentEl.dataset.name="legend",this._parentEl.style.setProperty("--legend-source-item-button-width",O+"px");const s=t=>{ +t.preventDefault(),e.showLegendWidgetContextMenu(t)};this._mouseEventHandler=new _.MouseEventHandler(this._parentEl,{contextMenuEvent:s,touchContextMenuEvent:s})}destroy(){if(this._isStudiesLegendHidden.destroy(),this._isAllLegendHidden.destroy(),this._themedColor.destroy(),this._showBackground.destroy(),this._backgroundTransparency.destroy(),this._collapsedDataSourcesCountSpawn.destroy(),h.trackingModeIsAvailable&&null!==this._collapsedDataSourcesWrapperEl&&this._collapsedDataSourcesWrapperEl.removeEventListener("touchend",this._showCollapsedDataSourcesTooltipHandler),this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),null!==this._dataSourcesAdditionalWrapperEl&&(this._dataSourcesAdditionalWrapperEl.innerHTML="",this._dataSourcesAdditionalWrapperEl=null),null!==this._dataSourcesEl&&(this._dataSourcesEl.innerHTML="",this._dataSourcesEl=null),null!==this._renderToggler&&(this._renderToggler.destroy(),this._renderToggler=null),null!==this._mainDataSourceRenderer&&(this._mainDataSourceRenderer.destroy(),this._mainDataSourceRenderer=null),0!==this._dataSourceRenderers.length){for(const e of this._dataSourceRenderers)e.destroy();this._dataSourceRenderers=[]}this._mouseEventHandler.destroy(),this._parentEl.innerHTML="",delete this._parentEl}addMainDataSource(e,t){this._renderMainDataSourceEl(),this._mainDataSourceRenderer=new f(e,(0,i.ensureNotNull)(this._mainDataSourceEl),{withActions:this._options.withActions,customTextColor:this._options.customTextColor,statusWidgetEl:t.getElement(),hideInvisibleHover:z(t.visibleWidgetsCount,e=>Boolean(e)),hideValues:t.errorWidgetIsShown}),this._updateLegendVisibility(),e.onDestroy().subscribe(this,()=>{null!==this._mainDataSourceRenderer&&(this._mainDataSourceRenderer.destroy(),this._mainDataSourceRenderer=null)},!0)}addDataSources(e,t){this._renderDataSourcesEl();const s=(0,i.ensureNotNull)(this._dataSourcesAdditionalWrapperEl);for(let i=0;iBoolean(e)),hideValues:t[i].errorWidgetIsShown});this._dataSourceRenderers.push(a),this._updateLegendVisibility(),l.onDestroy().subscribe(this,()=>{const e=this._dataSourceRenderers.indexOf(a);-1!==e&&(this._dataSourceRenderers[e].destroy(),this._dataSourceRenderers.splice(e,1))},!0)}}addCustomWidget(e,t){if(0===t.block){this._renderMainDataSourceEl();const s=(0,i.ensureNotNull)(this._mainDataSourceEl);1===t.position&&e.renderTo(s,s.firstChild),0===t.position&&e.renderTo(s)}if(1===t.block){this._renderDataSourcesEl();const s=(0,i.ensureNotNull)(this._dataSourcesAdditionalWrapperEl);1===t.position&&e.renderTo(s,s.firstChild),0===t.position&&e.renderTo(s)}}firstTitle(){return this._parentEl.firstElementChild}getElement(){return this._parentEl}updateMode(e){const t=F&&e<133?1:e<205?2:e<222?3:4;null!==this._mainDataSourceRenderer&&this._mainDataSourceRenderer.updateMode(t) +;for(const e of this._dataSourceRenderers)e.updateMode(t);this._parentEl.classList.toggle(y.medium,3===t),this._parentEl.classList.toggle(y.minimized,2===t),this._parentEl.classList.toggle(y.micro,1===t),null!==this._renderToggler&&this._renderToggler.setMode(1===t);const s=h.trackingModeIsAvailable||e<542;this._parentEl.classList.toggle(y.directionColumn,s)}getMainSourceHeight(){return null===this._mainDataSourceRenderer?0:this._mainDataSourceRenderer.getHeight()}getDataSourceHeight(){return 0===this._dataSourceRenderers.length?0:this._dataSourceRenderers[0].getHeight()}_renderMainDataSourceEl(){null===this._mainDataSourceEl&&(this._mainDataSourceEl=document.createElement("div"),this._mainDataSourceEl.classList.add(y.legendMainSourceWrapper),this._parentEl.insertBefore(this._mainDataSourceEl,this._dataSourcesEl))}_renderDataSourcesEl(){null===this._dataSourcesEl&&(this._dataSourcesEl=document.createElement("div"),this._dataSourcesEl.classList.add(y.sourcesWrapper),this._renderToggle(this._dataSourcesEl),this._dataSourcesAdditionalWrapperEl=document.createElement("div"),this._dataSourcesAdditionalWrapperEl.classList.add(y.sources),this._dataSourcesEl.appendChild(this._dataSourcesAdditionalWrapperEl),this._renderCollapsedCounter(this._dataSourcesAdditionalWrapperEl),this._parentEl.appendChild(this._dataSourcesEl))}_renderToggle(e){this._options.showToggleButton&&(this._renderToggler=new N(e,this._options.themedColor,this._togglerOptions))}_renderCollapsedCounter(e){this._collapsedDataSourcesWrapperEl=document.createElement("div"),this._collapsedDataSourcesWrapperEl.className=`${y.item} ${y.last}`,this._collapsedDataSourcesEl=document.createElement("span"),this._collapsedDataSourcesEl.className=y.text+" apply-common-tooltip",this._collapsedDataSourcesWrapperEl.append(this._collapsedDataSourcesEl),e.append(this._collapsedDataSourcesWrapperEl),h.trackingModeIsAvailable&&this._collapsedDataSourcesWrapperEl.addEventListener("touchend",this._showCollapsedDataSourcesTooltipHandler),this._updateCollapsedSourcesCount(this._collapsedDataSourcesCountSpawn.value())}_showCollapsedDataSourcesTooltip(){(0,P.showOnElement)(this._collapsedDataSourcesEl,{text:this._options.collapsedDataSourcesTitle.value()}),this._addOutsideEventForHideTooltip()}_addOutsideEventForHideTooltip(){null!==this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),this._outsideEventForCollapsedTooltip=(0,I.addOutsideEventListener)(new CustomEvent("timestamp").timeStamp,this._collapsedDataSourcesWrapperEl,()=>{null!==this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),(0,P.hide)()},window.document,{touchEnd:!0})}_updateCollapsedSourcesCount(e){if(null===this._collapsedDataSourcesWrapperEl||null===this._collapsedDataSourcesEl)return;const t=0===e;this._collapsedDataSourcesWrapperEl.classList.toggle(m.blockHidden,t),t||(w(this._collapsedDataSourcesEl,"+"+e),this._collapsedDataSourcesEl.setAttribute("title",this._options.collapsedDataSourcesTitle.value()))}_updateLegendVisibility(){ +this._parentEl.classList.toggle(m.blockHidden,this._isAllLegendHidden.value()),null!==this._dataSourcesEl&&this._dataSourcesEl.classList.toggle(m.blockHidden,this._isStudiesLegendHidden.value())}_setCustomBg(){const e=this._showBackground.value(),t=this._themedColor.value(),s=this._backgroundTransparency.value();let i="";if(e){const[e,l,a]=(0,r.parseRgb)(t);i=(0,r.rgbaToString)([e,l,a,(0,r.normalizeAlphaComponent)(1-s/100)])}this._parentEl.style.color=i}}var U=s(79039),j=s(69881),Y=s(50968),G=s(90963),$=s(5729),X=s.n($),Z=s(76553),q=s(45053);function K(e){return void 0!==e?Y.resetTransparency(e):e}const J=new G.TranslatedString("show {title}",(0,k.t)("show {title}")),Q=new G.TranslatedString("hide {title}",(0,k.t)("hide {title}")),ee=(0,k.t)("Show"),te=(0,k.t)("Hide");class se{constructor(e,t,s,i,l){this._values=new(a())([]),this._actions=[],this._onDestroy=new(X()),this._loading=new(a())(!1),this._moreActionCM=null,this._updateLoadingStatus=()=>{this._loading.setValue(this._source.isLoading())},this._model=e,this._source=t,this._options=s,this._callbacks=i,this._contextMenuOptions=l,this._disabled=new(a())(this._getDisabledState()),this._disabledOnInterval=new(a())(this._getDisabledOnIntervalState()),this._selected=new(a())(!1),this._isTitleHidden=new(a())(this._getTitleHiddenValue()),this._isValuesHidden=new(a())(this._getValuesHiddenValue()),this._isRowHidden=new(a())(this._getRowHiddenValue()),(0,q.combine)(()=>({}),this._isTitleHidden,this._isValuesHidden,this._disabled).subscribe(this._updateRowVisibilities.bind(this)),this._values.subscribe(()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())})}destroy(){}onDestroy(){return this._onDestroy}titles(){return this._titles}values(){return this._values.readonly()}actions(){return this._actions}disabled(){return this._disabled.readonly()}disabledOnInterval(){return this._disabledOnInterval.readonly()}selected(){return this._selected.readonly()}loading(){return this._loading.readonly()}isTitleHidden(){return this._isTitleHidden.readonly()}isValuesHidden(){return this._isValuesHidden.readonly()}isRowHidden(){return this._isRowHidden.readonly()}update(){this._updateTitles(),this._updateValues(),this._updateStates()}updateSource(e){this._source!==e&&(this._source=e,this.update(),this._isTitleHidden.setValue(this._getTitleHiddenValue()),this._isValuesHidden.setValue(this._getValuesHiddenValue()))}onToggleDisabled(){const e=this._source.properties().childs().visible,t=!e.value();this._model.setProperty(e,t,(t?J:Q).format({title:new G.TranslatedString(this._source.name(),this._source.title())})),W((t?"Show":"Hide")+" source")}onShowSettings(e){this._source.userEditEnabled()&&(this.setSourceSelected(),this._callbacks.showChartPropertiesForSource(this._source,e),W("Settings for source"))}onShowMoreActions(e){return this._options.readOnlyMode?Promise.resolve(null):(this._callbacks.updateActions(),W("Show source context menu"),this._callbacks.showContextMenuForSources([this._source],this._calcNewPosition(e),this._contextMenuOptions))}setSourceSelected(){ +this._model.selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection(this._source)})}_moreActionHandler(e){e.preventDefault(),null!==this._moreActionCM&&this._moreActionCM.isShown()?this._moreActionCM=null:(this.setSourceSelected(),this.onShowMoreActions(e).then(e=>{this._moreActionCM=e}))}_updateStates(){this._disabled.setValue(this._getDisabledState()),this._disabledOnInterval.setValue(this._getDisabledOnIntervalState()),this._selected.setValue(this._model.selection().isSelected(this._source)),this._updateLoadingStatus()}_hasValues(){return this._values.value().length>0}_getEyeTitle(){return this._disabled.value()?ee:te}_getDisabledState(){return!this._source.properties().visible.value()}_updateRowVisibilities(){this._isRowHidden.setValue(this._getRowHiddenValue())}_getRowHiddenValue(){return this._options.readOnlyMode&&this._disabled.value()||this._isTitleHidden.value()&&(this._isValuesHidden.value()||this._disabled.value())}_calcNewPosition(e){let t={};if(e.hasOwnProperty("touches")&&e.touches.length>0)t={clientX:e.touches[0].clientX,clientY:e.touches[0].clientY};else if(null!==e.target){const s=e.target.getBoundingClientRect();t={clientX:(0,Z.isRtl)()?s.right:s.left,clientY:s.top+s.height+3}}else{const s=e;t={clientX:s.clientX,clientY:s.clientY}}return t}}var ie=s(89366),le=s(36858),ae=s(90710),oe=s(42340),ne=s(1037);const re=(0,k.t)("More"),de=(0,k.t)("Flag Symbol"),he=(0,k.t)("Unflag Symbol"),ue=d.enabled("show_hide_button_in_legend"),ce=d.enabled("hide_resolution_in_legend");class _e extends se{constructor(e,t,s,i,l){super(e,t,s,i,l),this._titles={title:new(a())(""),description:new(a())(""),interval:new(a())(""),provider:new(a())(""),exchange:new(a())(""),chartStyle:new(a())(""),branding:new(a())("")},this._symbolMarker=null,this._symbolMarkerIcon=null,this._flagged=new(a())(null),this._symbolAction=null,this._symbol=null,this._isOneButtonCanBeStick=!1,this._createActions(),this._updateSymbolMarker();const o=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs();o.showSeriesTitle.subscribe(this,()=>{this._isTitleHidden.setValue(this._getTitleHiddenValue())}),this._valuesVisibleProperty=(0,j.combineProperty)((e,t,s)=>e||t||s,o.showSeriesOHLC,o.showBarChange,o.showVolume),this._valuesVisibleProperty.subscribe(null,()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())}),this.update(),this._source.onStatusChanged().subscribe(this,this._updateLoadingStatus)}destroy(){super.destroy(),this._model.model().properties().childs().paneProperties.childs().legendProperties.childs().showSeriesTitle.unsubscribeAll(this),this._source.onStatusChanged().unsubscribeAll(this),this._valuesVisibleProperty.destroy(),this._onDestroy.fire()}flagged(){return this._flagged.readonly()}onShowSettings(){this._source.userEditEnabled()&&this._callbacks.showGeneralChartProperties(ie.TabNames.symbol)}isOneButtonCanBeStick(){return this._isOneButtonCanBeStick}_updateTitles(){var e;const t=(0,i.ensureNotNull)(this._source.statusView()).getSplitTitle();this._titles.title.setValue((0, +U.clean)(t.title,!0)),this._titles.description.setValue((0,U.clean)(t.description,!0)),ce||this._titles.interval.setValue((0,U.clean)(t.interval,!0)),this._titles.provider.setValue((0,U.clean)(t.provider,!0)),this._titles.exchange.setValue((0,U.clean)(t.exchange,!0)),this._titles.chartStyle.setValue((0,U.clean)(t.chartStyle,!0)),this._titles.branding.setValue((0,U.clean)(null!==(e=t.branding)&&void 0!==e?e:"",!0))}_updateValues(){const e=this._source.legendView(),t=this._values.value(),s=e.marketTitle(),i=e.marketTitle().length>0;if(0===t.length){const t={value:new(a())(""),color:new(a())(""),visible:new(a())(i),title:new(a())(s)},l=e.items().map(e=>({value:new(a())(e.value()),color:new(a())(K(e.color())),visible:new(a())(e.visible()),title:new(a())(e.title())}));this._values.setValue([t].concat(l))}else{t[0].title.setValue(s),t[0].visible.setValue(i);const l=e.items();for(let e=0;e{e.title.setValue(this._getEyeTitle())})}this._actions.push({iconMap:new Map([["large",ne],["small",oe]]),action:this._moreActionHandler.bind(this),visible:new(a())(!0),title:new(a())(re),dataset:{name:"legend-more-action"}})}_getMarkerTitle(){return null!==this._symbolMarker?this._symbolMarker.isMarked()?he:de:""}_symbolActionHandler(){null!==this._symbolMarker&&(this._updateSymbolMarker(),W("Change flag state"))}_updateSymbolMarker(){this._isOneButtonCanBeStick=!0}}var pe=s(17e3),me=s(87614);var ge=s(98824),be=s(65447),ve=s(76297),we=s(93655),ye=s(71902),Se=s(98957),Me=s(33508),fe=s(32643);(0,be.getLogger)("Chart.LegendWidget");const Ce=(0,k.t)("Settings"),Ee=(0,k.t)("Source code"),ke=(0,k.t)("Remove"),Ve=(0,k.t)("More"),We=((0,k.t)("Error"),(0,k.t)("Could not get Pine source code."),(0,k.t)("Show interval settings")),Te=(d.enabled("study_buttons_in_legend"),d.enabled("show_hide_button_in_legend")),xe=d.enabled("property_pages"),De=d.enabled("format_button_in_legend"),Le=d.enabled("delete_button_in_legend");class Ae extends se{constructor(e,t,s,i,l){super(e,t,s,i,l),this._titles={title:new(a())(""),args:new(a())("")},this._error=new(a())(!1),this._isPineScriptDataSource=new(a())(!1),this._pineAction=null,this._globalVisibility=new(a())(!0),this._createActions() +;const o=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs(),n=[o.showSeriesTitle,o.showStudyTitles];for(const e of n)e.subscribe(this,()=>{this._isTitleHidden.setValue(this._getTitleHiddenValue())});const r=[o.showSeriesOHLC,o.showBarChange,o.showStudyValues];for(const e of r)e.subscribe(this,()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())});this.update()}destroy(){super.destroy();const e=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs();e.showSeriesTitle.unsubscribeAll(this),e.showStudyTitles.unsubscribeAll(this),e.showSeriesOHLC.unsubscribeAll(this),e.showBarChange.unsubscribeAll(this),e.showStudyValues.unsubscribeAll(this),this._onDestroy.fire()}error(){return this._error.readonly()}isPineScriptDataSource(){return this._isPineScriptDataSource.readonly()}updateSource(e){this._source!==e&&(this._values.setValue([]),super.updateSource(e),this._updateAbleShowSourceCode())}onRemoveSource(){var e;this._source.isUserDeletable()&&(this._source.hasChildren()?(e=this._model.removeSource.bind(this._model,this._source,!1),(0,me.showConfirm)({title:(0,k.t)("Confirm Remove Study Tree"),text:(0,k.t)("Do you really want to delete study and all of it's children?"),onConfirm:({dialogClose:t})=>{e(),t()}})):this._model.removeSource(this._source,!1),W("Remove sources"))}onShowSourceCode(){0}setGlobalVisibility(e){this._globalVisibility.setValue(e)}globalVisibility(){return this._globalVisibility.readonly()}getFullTitle(){return[this._titles.title,this._titles.args].map(e=>e.value()).join(" ")}_updateTitles(){const e=(0,i.ensureNotNull)(this._source.statusView()).getSplitTitle();this._titles.title.setValue((0,U.clean)(e[0],!0));const t=Array.isArray(e[1])?e[1].join(" "):e[1]||"";this._titles.args.setValue((0,U.clean)(t,!0))}_updateValues(){const e=this._source.legendView();if(null===e)return;if(0===e.items().length)return;const t=this._values.value();if(0===t.length){const t=e.items().map(e=>({value:new(a())(e.value()),color:new(a())(K(e.color())),visible:new(a())(e.visible())}));this._values.setValue(t)}else{const s=e.items();for(let e=0;e{e.title.setValue(this._getEyeTitle())});const t={iconMap:new Map([["large",ae],["small",le]]),action:(0,p.wrapHandlerWithPreventEvent)(this.onShowSettings.bind(this,ie.TabNames.visibility)),visible:new(a())(this._getDisabledOnIntervalState()),className:y.intervalEye,title:new(a())(We),dataset:{name:"legend-interval-show-hide-action"}};this._actions.push(t),this._disabledOnInterval.subscribe(s=>{t.visible.setValue(s),e.visible.setValue(!s)})}xe&&De&&(!(0,pe.isStudy)(this._source)||new ge.MetaInfoHelper(this._source.metaInfo()).hasUserEditableOptions())&&this._actions.push({iconMap:new Map([["large",ve],["small",ve]]),action:(0,p.wrapHandlerWithPreventEvent)(this.onShowSettings.bind(this)),visible:new(a())(!0),title:new(a())(Ce),dataset:{name:"legend-settings-action"}}),Le&&this._actions.push({iconMap:new Map([["large",Se],["small",ye]]),action:(0,p.wrapHandlerWithPreventEvent)(this.onRemoveSource.bind(this)),visible:new(a())(!0),title:new(a())(ke),dataset:{name:"legend-delete-action"}}),this._actions.push({iconMap:new Map([["large",ne],["small",oe]]),action:this._moreActionHandler.bind(this),visible:new(a())(!0),title:new(a())(Ve),dataset:{name:"legend-more-action"}})}}}var He=s(46374),Be=s(6799),Ne=s(10616),Pe=s(22675),Ie=s(78544);function ze(e,t,s){e.setProperty(t,!t.value(),s)}const Oe=new G.TranslatedString("change symbol description visibility",(0,k.t)("change symbol description visibility")),Fe=new G.TranslatedString("change open market status visibility",(0,k.t)("change open market status visibility")),Re=new G.TranslatedString("change OHLC values visibility",(0,k.t)("change OHLC values visibility")),Ue=new G.TranslatedString("change bar change visibility",(0,k.t)("change bar change visibility")),je=new G.TranslatedString("change indicator titles visibility",(0,k.t)("change indicator titles visibility")),Ye=new G.TranslatedString("change indicator arguments visibility",(0,k.t)("change indicator arguments visibility")),Ge=new G.TranslatedString("change indicator values visibility",(0,k.t)("change indicator values visibility")),$e=new G.TranslatedString("change volume values visibility",(0,k.t)("change volume values visibility")),Xe=(0,k.t)("Symbol"),Ze=(0, +k.t)("Open market status"),qe=(0,k.t)("OHLC values"),Ke=(0,k.t)("Bar change values"),Je=(0,k.t)("Volume"),Qe=(0,k.t)("Indicator titles"),et=(0,k.t)("Indicator arguments"),tt=(0,k.t)("Indicator values"),st=(0,Pe.appendEllipsis)((0,k.t)("Settings"));var it=s(49382),lt=s(94975),at=s(59104),ot=s(75533),nt=s(10165),rt=s(84540),dt=s(12125);function ht(e){return e===nt.WeekDays.SUNDAY?nt.WeekDays.SATURDAY:e-1}function ut(e){return e===nt.WeekDays.SATURDAY?nt.WeekDays.SUNDAY:e+1}function ct(e,t){const s=ht(t);return 0===e[s].entries.length?ct(e,s):{dayIndex:s,entries:e[s].entries}}function _t(e,t){const s=ut(t);return 0===e[s].entries.length?_t(e,s):{dayIndex:s,entries:e[s].entries}}function pt(e){for(;e>rt.minutesPerDay;)e-=rt.minutesPerDay;const t=e%60,s=(e-t)/60;return(0,at.numberToStringWithLeadingZero)(s,2)+":"+(0,at.numberToStringWithLeadingZero)(t,2)}const mt={[nt.WeekDays.MONDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.MONDAY],isActive:!1,entries:[]},[nt.WeekDays.TUESDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.TUESDAY],isActive:!1,entries:[]},[nt.WeekDays.WEDNESDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.WEDNESDAY],isActive:!1,entries:[]},[nt.WeekDays.THURSDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.THURSDAY],isActive:!1,entries:[]},[nt.WeekDays.FRIDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.FRIDAY],isActive:!1,entries:[]},[nt.WeekDays.SATURDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.SATURDAY],isActive:!1,entries:[]},[nt.WeekDays.SUNDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.SUNDAY],isActive:!1,entries:[]}};function gt(e,t){return e.start.value===t.start.value&&e.end.value===t.end.value}function bt(e,t){return gt(e[0],t[0])}function vt(e){const t=e.start(),s=e.length(),i=e.sessionStartDayOfWeek(),l=e.sessionEndDayOfWeek(),a=pt(t),o=pt(t+s);return s>rt.minutesPerDay?`${ot.weekDaysShortNames[i]} ${a} — ${ot.weekDaysShortNames[l]} ${o}`:`${a} — ${o}`}function wt(e,t,s,i){return Math.abs(i-s)>1?`${ot.weekDaysShortNames[s]} ${e.title} — ${ot.weekDaysShortNames[i]} ${t.title}`:`${e.title} — ${t.title}`}function yt(e,t,s){for(const i of t){let t=i.sessionStartDayOfWeek();const l=i.start(),a=i.length(),o=l+a,n=[];if(o<=rt.minutesPerDay)n.push([l,o]);else{const e=Math.min(rt.minutesPerDay-l,a);n.push([l,l+e]),n.push([0,a-e])}for(let l=0;le.start.value0?n[e-1]:null,a=0===e;if(0===s.start.value||0===s.start.value&&1===s.end.value||null!==l&&s.start.value===l.end.value){m++;continue}const r=a?c.entries[c.entries.length-1]:(0,i.ensureNotNull)(l),d={start:{value:a?0:n[e-1].end.value,title:a?t:n[e-1].end.title,isFirstOrLastPoint:!(a&&h.length>0)||1===h[h.length-1].end.value},end:{value:s.start.value,title:s.start.title,isFirstOrLastPoint:!0},type:3,tooltip:wt(r.end,s.start,c.dayIndex,o),showStartForLastEntry:!1,showEndForFirstEntry:!1};n.splice(m,0,d),m=e+2}const g=n[n.length-1];1!==g.end.value&&n.push({start:{value:g.end.value,title:g.end.title,isFirstOrLastPoint:!0},end:{value:1,title:pt(rt.minutesPerDay),isFirstOrLastPoint:!(u.length>0)||0===u[0].start.value},type:3,tooltip:wt(g.end,_.entries[0].start,o,_.dayIndex),showStartForLastEntry:!1,showEndForFirstEntry:!1})}}(n),function(e){for(const i of Object.keys(e)){const l=parseInt(i),a=e[l].entries;if(1===a.length)continue;const o=ht(l),n=ut(l),r=a[0],d=a[a.length-1];r.start.isFirstOrLastPoint||(r.showStartForLastEntry=(t=a,s=e[o].entries,gt(t[t.length-1],s[s.length-1]))),d.end.isFirstOrLastPoint||(d.showEndForFirstEntry=bt(a,e[n].entries))}var t,s}(n),this.sessionsDays.setValue(n),this.todaySession.setValue(n[l])}_createSubSessionSpecs(e){if(null===e)return new Map;if(void 0===e.subsessions)return new Map([[0,new dt.SessionSpec(e.timezone,e.session,e.session_holidays,e.corrections)]]);const t=["regular","premarket","postmarket"],s=new Map;for(const i of t){let t=null;switch(i){case"regular":t=0;break;case"premarket":t=1;break;case"postmarket":t=2}if(null!==t){const l=e.subsessions.find(e=>e.id===i);void 0!==l&&s.set(t,new dt.SessionSpec(e.timezone,l["session-display"]||l.session,e.session_holidays,l["session-correction"]))}}return s}_updateTodayWithOffsets(e){if(null===e)return void(this._todayInExchangeTime=null);const t=1e3*window.ChartApiInstance.serverTimeOffset() +;this._todayInExchangeTime=rt.get_cal_from_unix_timestamp_ms(rt.get_timezone(e.timezone),Date.now()+t)}}var Mt=s(67294),ft=s(94184),Ct=s(27278),Et=s(45259),kt=s(48913);const Vt=new WeakMap;function Wt(e){return Vt.has(e)||Vt.set(e,(0,Et.randomHash)()),(0,i.ensureDefined)(Vt.get(e))}const Tt=new Map([[0,kt.green],[1,kt.orange],[2,kt.blue],[3,kt.gray]]),xt=new Map([[0,(0,k.t)("Market open")],[1,(0,k.t)("Pre-market")],[2,(0,k.t)("Post-market")],[3,(0,k.t)("Market closed")]]),Dt=(0,k.t)("Exchange timezone");function Lt(e){const{segment:t,forceStart:s,forceEnd:i}=e,l=t.end.value-t.start.value,a=l<.03,o={left:100*t.start.value+"%",width:`calc(${100*l}% + ${a?2:0}px)`},n=ft(kt.segment,Tt.get(t.type),(s||t.start.isFirstOrLastPoint)&&kt.start,(i||t.end.isFirstOrLastPoint)&&kt.end,a&&kt.small,"common-tooltip-html","apply-common-tooltip"),r=function(e,t){return`
\n\t\t${xt.get(t)}\n\t\t${e}\n\t
`}(t.tooltip,t.type);return Mt.createElement("div",{className:n,style:o,"data-tooltip":r})}function At(e){const{sessionDay:t}=e,s=t.entries.map((e,s)=>Mt.createElement(Lt,{key:Wt(e)+"Segment",segment:e,forceStart:0===s&&3===e.type,forceEnd:s===t.entries.length-1&&3===e.type})),i=ft(kt.sessionDay,t.isActive&&kt.active);return Mt.createElement("div",{className:i},Mt.createElement("div",{className:kt.weekDay},t.title),Mt.createElement("div",{className:kt.sessionDaySegments},s))}function Ht(e){const{sessionDays:t,currentTimeMark:s}=e,i=[],l=parseInt(Object.keys(t).filter(e=>t[parseInt(e)].isActive)[0]),a=t[l],o=a.entries.filter(e=>e.start.value<=s&&e.end.value>=s)[0];!o.start.isFirstOrLastPoint&&o.showStartForLastEntry?i.push(a.entries[a.entries.length-1].start):i.push(o.start);const n=!o.end.isFirstOrLastPoint&&o.showEndForFirstEntry?a.entries[0].end:o.end;if(i[0].value!==n.value&&i.push(n),0===i.length)return null;i.sort((e,t)=>e.value-t.value);const r=i.map(e=>Mt.createElement("div",{key:Wt(e),className:kt.timeMark},e.title)),d=100*(2===i.length?i[1].value-i[0].value:0),h=ft(d>12&&kt.timeMarkSegmentAlignByEnds,kt.timeMarkSegment);return Mt.createElement("div",{className:kt.sessionDay},Mt.createElement("div",{className:kt.weekDay}),Mt.createElement("div",{className:kt.timeMarkWrapper},Mt.createElement("div",{className:h,style:{left:100*i[0].value+"%",width:d+"%"}},r)))}class Bt{constructor(e){this._fullSessionScheduleViewModel=new St(e)}destroy(){this._fullSessionScheduleViewModel.destroy()}renderer(e,t){return function(e){const{key:t,className:s,now:i,timezone:l}=e,a=(0,Ct.useWatchedValueReadonly)({watchedValue:e.sessionDays}),o=Object.values(a).filter(e=>e.isActive)[0],n=ft(s,kt.wrapper);return Mt.createElement("div",{key:t,className:n},Mt.createElement("div",{className:kt.sessionDayWrapper},Mt.createElement(At,{sessionDay:o}),Mt.createElement("div",{className:kt.nowWrapper},Mt.createElement("div",{className:kt.now,style:{left:100*i+"%"}}))),Mt.createElement(Ht,{sessionDays:a,currentTimeMark:i}),Mt.createElement("div",{className:kt.timezone +},`${Dt}: ${l}`))}({key:e,className:t,sessionDays:this._fullSessionScheduleViewModel.sessionsDays,now:this._fullSessionScheduleViewModel.currentTimeValue(),timezone:this._fullSessionScheduleViewModel.timezone()})}updateSource(e){}}var Nt=s(53312),Pt=s(5225),It=s(34104);class zt{constructor(e){this.isBlinkingMode=new(a())(!1),this._status=new(a())(null),this._fullTooltip=new(a())(null),this._iconClassNames=new(a())(null),this._visible=new(a())(!1),this._tooltip=new(a())(null),this._icon=new(a())(null),this._className=new(a())(null),this._infoMaps=e,this._size=e.size||"small",this._status.subscribe(this._updateByStatus.bind(this),{callWithLast:!0}),this._className.subscribe(this._updateIconClassName.bind(this))}turnOffBlinkingMode(){}status(){return this._status}tooltip(){return this._tooltip}icon(){return this._icon}className(){return this._className}visible(){return this._visible}size(){return this._size}fullInfo(){return this._fullTooltip}_getTooltip(e){var t,s;return null!==(s=null===(t=this._infoMaps.tooltipMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}_getIcon(e){let t;const s=this._infoMaps.iconMap.get(e);return void 0!==s&&(t=s.get(this._size)),t||null}_getClassName(e){return this._infoMaps.classNameMap.get(e)||null}_getTitle(e){var t,s;return null!==(s=null===(t=this._infoMaps.titleMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}_getTitleColor(e){var t,s;return null!==(s=null===(t=this._infoMaps.titleColorMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}async _getHtml(e){var t,s,i;return null!==(i=null===(s=null===(t=this._infoMaps.htmlMap)||void 0===t?void 0:t.get(e))||void 0===s?void 0:s.map(Pt.htmlEscape))&&void 0!==i?i:null}_getAction(e){var t,s;return null!==(s=null===(t=this._infoMaps.actionMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}async _updateFullTooltipByStatus(e){const t=await this._getHtml(e);this._status.value()===e&&this._fullTooltip.setValue([{icon:this._icon.value(),iconClassName:this._iconClassNames.value(),title:this._getTitle(e),titleColor:this._getTitleColor(e),html:t,size:this._size,action:this._getAction(e)}])}_updateByStatus(e){if(null===e)return this._icon.setValue(null),this._tooltip.setValue(null),void this._visible.setValue(!1);this._icon.setValue(this._getIcon(e)),this._className.setValue(this._getClassName(e)),this._tooltip.setValue(this._getTooltip(e)),this._visible.setValue(!0),this._updateFullTooltipByStatus(e)}_updateIconClassName(e){null!==e?this._iconClassNames.setValue([It.statusItem,e]):this._iconClassNames.setValue(null)}}var Ot=s(64222);const Ft=[];function Rt(){return Ot.getJSON("tv.alreadyBlinkedStatuses",Ft)}const Ut=new(a())(Rt());function jt(e){const t=Ot.getJSON("tv.alreadyBlinkedStatuses",Ft);t.includes(e)||(t.push(e),Ot.setJSON("tv.alreadyBlinkedStatuses",t),Ut.setValue(Rt()))}Ot.onSync.subscribe(null,()=>Ut.setValue(Rt()));const Yt=Ut;var Gt=s(97849),$t=s(38531),Xt=s(11483),Zt=s(79632),qt=s(57567),Kt=s(70034),Jt=s(5749);const Qt=(0, +be.getLogger)("Chart.LegendWidget"),es=["TFEXDelayForGuest","MOEXDelayForGuest","CHIXAuDelayForGuest","LSEDelayForGuest","NGMDelayForGuest","DEForGuest","ICESGDelayForGuest"],ts=new Map([["DelayToRealtime",new Map([["small",$t],["large",Xt]])],["DelayNoRealtime",new Map([["small",$t],["large",Xt]])],["TFEXDelayForGuest",new Map([["small",$t],["large",Xt]])],["MOEXDelayForGuest",new Map([["small",$t],["large",Xt]])],["CHIXAuDelayForGuest",new Map([["small",$t],["large",Xt]])],["LSEDelayForGuest",new Map([["small",$t],["large",Xt]])],["NGMDelayForGuest",new Map([["small",$t],["large",Xt]])],["ICESGDelayForGuest",new Map([["small",$t],["large",Xt]])],["DEForGuest",new Map([["small",$t],["large",Xt]])],["EOD",new Map([["small",Zt],["large",qt]])],["TickByTick",new Map([["small",Kt],["large",Jt]])],["BATSToRealtime",new Map([["small",Kt],["large",Jt]])],["DelayWithoutMarketAgreement",new Map([["small",$t],["large",Xt]])]]),ss=new Map([["DelayToRealtime",It.delay],["DelayNoRealtime",It.delay],["TFEXDelayForGuest",It.delay],["MOEXDelayForGuest",It.delay],["CHIXAuDelayForGuest",It.delay],["LSEDelayForGuest",It.delay],["NGMDelayForGuest",It.delay],["ICESGDelayForGuest",It.delay],["DEForGuest",It.delay],["EOD",It.eod],["TickByTick",It.notAccurate],["BATSToRealtime",It.notAccurate],["DelayWithoutMarketAgreement",It.delay]]),is=new Map([["DelayToRealtime",Nt.colorsPalette["color-delay-mode"]],["DelayNoRealtime",Nt.colorsPalette["color-delay-mode"]],["TFEXDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["MOEXDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["CHIXAuDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["LSEDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["NGMDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["ICESGDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["DEForGuest",Nt.colorsPalette["color-delay-mode"]],["EOD",Nt.colorsPalette["color-eod-mode"]],["TickByTick",Nt.colorsPalette["color-notaccurate-mode"]],["BATSToRealtime",Nt.colorsPalette["color-notaccurate-mode"]],["DelayWithoutMarketAgreement",Nt.colorsPalette["color-delay-mode"]]]),ls=(0,k.t)("Data is delayed"),as=(0,k.t)("End of day data"),os=(0,k.t)("One update per second"),ns=(0,k.t)("Cboe BZX"),rs=(0,k.t)("{exchange} by {originalExchange}"),ds=(0,Pt.htmlEscape)((0,k.t)("{symbolName} data is delayed by {time} minutes.")),hs=(0,Pt.htmlEscape)((0,k.t)("{listedExchange} real-time data is available for free to registered users.")),us=(0,Pt.htmlEscape)((0,k.t)("To get real-time data for {description}, please buy the real-time data package.")),cs=(0,Pt.htmlEscape)((0,k.t)("Real-time data for {description} is not supported right now. We may support it in the future.")),_s=(0,Pt.htmlEscape)((0,k.t)("Data is updated once a day.")),ps=(0,Pt.htmlEscape)((0,k.t)("Data on our Basic plan is updated once per second, even if there are more updates on the market.")),ms=(0,Pt.htmlEscape)((0,k.t)("Data is updated once per second, even if there are more updates on the market.")),gs=(0,Pt.htmlEscape)((0, +k.t)("Paid plans feature faster data updates.")),bs=(0,Pt.htmlEscape)((0,k.t)("Real-time data for {symbolName} is provided by {exchange} exchange.")),vs=(0,Pt.htmlEscape)((0,k.t)("This data is real-time, but it’s slightly different to its official counterpart coming from primary exchanges.")),ws=(0,Pt.htmlEscape)((0,k.t)("This data is real-time, but it’s slightly different to its official counterpart coming from {exchange}.")),ys=(0,Pt.htmlEscape)((0,k.t)("If you'd like {listedExchange} real-time data you'll need to complete an Exchange Agreement. Don't worry, it only takes a few clicks"));(0,k.t)("Create a free account"),(0,k.t)("Learn more"),(0,Pt.htmlEscape)((0,k.t)("Fill out Exchange Agreements"));class Ss extends zt{constructor(e,t,s){super({iconMap:ts,classNameMap:ss,titleColorMap:is,size:t}),this._dataUpdatedMode=new(a())(null).spawn(),this._options=s,this._model=e,this._dataModeBlinkingStatuses=Yt.spawn(),this._dataModeBlinkingStatuses.subscribe(this._updateBlinkingMode.bind(this)),this.turnOffBlinkingMode=this._turnOffBlinking.bind(this),this.setModel(e)}destroy(){this._dataUpdatedMode.destroy(),this._dataModeBlinkingStatuses.destroy()}setModel(e){if(this._dataUpdatedMode.destroy(),null===e)return this._model=e,void(this._dataUpdatedMode=new(a())(null).spawn());this._dataUpdatedMode=e.status().spawn(),this._dataUpdatedMode.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_getTooltip(){const e=this._getShortTexts();return null===e?null:Object.values(e).join(" · ")}async _updateFullTooltipByStatus(){const e=this._dataUpdatedMode.value();if(null===e)return void this._fullTooltip.setValue(null);const t=this._getShortTexts(),s=await this._getHtmls(),i=await this._getActions();if(e!==this._dataUpdatedMode.value())return;const l=[];for(const a of e)l.push({icon:this._getIcon(a),iconClassName:this._iconClassNames.value(),title:t&&t[a],titleColor:this._getTitleColor(a),html:s&&s[a],size:this._size,action:i&&i[a]});this._fullTooltip.setValue(l)}_updateStatus(e){const t=null!==e?e[0]:null;super._updateByStatus(t),this._updateBlinkingMode()}async _getHtmls(){const e=this._dataUpdatedMode.value();if(null===e||null===this._model)return Promise.resolve(null);const t={},s=this._model.symbolName();let i=null,l=null;try{i=await this._model.description(),l=this._model.exchange()}catch(e){Qt.logError("Can't get exchange description, reason: "+(0,Gt.errorToString)(e))}for(const a of e)if(t[a]=[],["DelayToRealtime","DelayNoRealtime","DelayWithoutMarketAgreement",...es].includes(a)&&(t[a].push(ds.format({symbolName:s,time:this._model.time().toString()})),this._options.subscriptionFullInfo&&null!==i&&"DelayToRealtime"===a&&t[a].push(us.format({description:`${i}`})),null!==i&&"DelayNoRealtime"===a&&t[a].push(cs.format({description:`${i}`})),"DelayWithoutMarketAgreement"===a&&t[a].push(ys.format({listedExchange:this._model.listedExchange()})),this._options.subscriptionFullInfo&&es.includes(a)&&t[a].push(hs.format({listedExchange:this._model.listedExchange()}))),"EOD"===a&&(t[a]=[_s]), +"TickByTick"===a&&(t[a].push(this._options.subscriptionFullInfo?ps:ms),this._options.subscriptionFullInfo&&t[a].push(gs)),null!==l&&"BATSToRealtime"===a){let e=this._model.listedExchange();0,t[a].push(bs.format({symbolName:s,exchange:l}),""!==e?ws.format({exchange:e}):vs)}return Object.keys(t).length>0?t:null}async _getActions(){if(null===this._dataUpdatedMode.value()||null===this._model)return null;const e={};return Object.keys(e).length>0?e:null}_getShortTexts(){var e;const t=this._dataUpdatedMode.value();if(null===t||null===this._model)return null;const s={};for(const i of t)if(["DelayToRealtime","DelayNoRealtime",...es,"DelayWithoutMarketAgreement"].includes(i)&&(s[i]=ls),"EOD"===i&&(s[i]=as),"TickByTick"===i&&(s[i]=os),"BATSToRealtime"===i){let t=null!==(e=this._model.firstReplacedByBatsExchange())&&void 0!==e?e:"";0,s[i]=""!==t?rs.format({exchange:t,originalExchange:ns}):ns}return Object.keys(s).length>0?s:null}_updateBlinkingMode(){const e=this._dataUpdatedMode.value();if(null===e)return;const t=this._dataModeBlinkingStatuses.value();for(const s of e)if(!t.includes(s))return void this.isBlinkingMode.setValue(!0);this.isBlinkingMode.setValue(!1)}_turnOffBlinking(){const e=this._dataUpdatedMode.value();if(null!==e)for(const t of e)jt(t)}}var Ms=s(24453),fs=s(30336);const Cs=(0,k.t)("Study Error"),Es=new Map([[!0,new Map([["small",Ms],["large",fs]])],[!1,new Map([["small",""],["large",""]])]]),ks=new Map([[!0,It.dataProblemLow],[!1,null]]),Vs=new Map([[!0,Cs],[!1,null]]),Ws=new Map([[!0,Cs],[!1,null]]),Ts=new Map([[!0,Nt.colorsPalette["color-data-problem"]],[!1,null]]);class xs extends zt{constructor(e,t,s){super({iconMap:Es,classNameMap:ks,tooltipMap:Vs,titleMap:Ws,titleColorMap:Ts,size:t}),this._dataSourceErrorStatus=new(a())(null).spawn(),this._lastError=null,this._options=s,this.setSource(e)}destroy(){this._dataSourceErrorStatus.destroy()}setSource(e){this._dataSourceErrorStatus.destroy(),this._dataSourceErrorStatus=e.errorStatus().spawn(),this._dataSourceErrorStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_getTooltip(e){const t=this._dataSourceErrorStatus.value();if(e&&null!==t){const e=t.title;if(void 0!==e)return e}return super._getTooltip(e)}_getTitle(e){const t=this._dataSourceErrorStatus.value();if(e&&null!==t){const e=t.title;if(void 0!==e)return e}return super._getTitle(e)}async _getHtml(e){const t=this._dataSourceErrorStatus.value();return null!==t?[(0,Pt.htmlEscape)(t.error)]:null}_getAction(e){this._dataSourceErrorStatus.value();return null}_updateStatus(e){const t=this._status.value();null!==e?(this._status.setValue(!0),t&&this._lastError!==e.error&&this._updateByStatus(!0),this._lastError=e.error):(this._status.setValue(null),this._lastError=null)}}const Ds=(0, +k.t)("Data error"),Ls=new Map([["high",new Map([["small",Ms],["large",fs]])],["low",new Map([["small",Ms],["large",fs]])]]),As=new Map([["high",It.dataProblemHigh],["low",It.dataProblemLow]]),Hs=new Map([["high",Ds],["low",Ds]]),Bs=new Map([["high",Nt.colorsPalette["color-data-problem"]],["low",Nt.colorsPalette["color-data-problem"]]]);class Ns extends zt{constructor(e,t){super({tooltipMap:Hs,iconMap:Ls,classNameMap:As,titleMap:Hs,titleColorMap:Bs,size:t}),this._dataProblem=new(a())(null).spawn(),this._isDataProblemCritical=new(a())(!1),this.setModel(e)}destroy(){this._dataProblem.destroy()}isDataProblemCritical(){return this._isDataProblemCritical}setModel(e){this._dataProblem.destroy(),null!==e?(this._dataProblem=e.status().spawn(),this._dataProblem.subscribe(this._updateStatus.bind(this),{callWithLast:!0})):this._dataProblem=new(a())(null).spawn()}async _getHtml(e){const t=this._dataProblem.value();return null===t?null:[(0,Pt.htmlEscape)(t.text)]}_updateStatus(e){var t;const s=null!==(t=null==e?void 0:e.severity)&&void 0!==t?t:null;this._status.setValue(s),this._isDataProblemCritical.setValue(function(e){return"high"===e}(s))}}class Ps extends zt{constructor(e,t){super(t),this._booleanStatus=new(a())(!1).spawn(),this.updateStatus(e)}destroy(){this._booleanStatus.destroy()}updateStatus(e){this._booleanStatus.destroy(),this._booleanStatus=e.spawn(),this._booleanStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_updateStatus(e){e?this._status.setValue(!0):this._status.setValue(null)}}var Is=s(13008),zs=s(22226);const Os=(0,k.t)("Invalid Symbol"),Fs=(0,k.t)("This symbol doesn't exist, please pick another one."),Rs=new Map([[!0,new Map([["small",Is],["large",zs]])],[!1,new Map([["small",""],["large",""]])]]),Us=new Map([[!0,It.invalidSymbol],[!1,null]]),js=new Map([[!0,Os],[!1,null]]),Ys=new Map([[!0,Os],[!1,null]]),Gs=new Map([[!0,Nt.colorsPalette["color-invalid-symbol"]],[!1,null]]),$s=new Map([[!0,[Fs]],[!1,null]]),Xs=new Map([[!0,null],[!1,null]]);class Zs{constructor(e){this._el=document.createElement("div"),this._prevCustomClass=null,this._icon=e.icon.spawn(),this._icon.subscribe(this._updateIcon.bind(this),{callWithLast:!0}),this._className=e.className.spawn(),this._className.subscribe(this._updateClassName.bind(this),{callWithLast:!0}),this._visible=e.visible.spawn(),this._visible.subscribe(this._updateVisibility.bind(this),{callWithLast:!0}),this._size=e.size||"small",this._render(e.parentEl),e.isBlinking&&(this._isBlinking=e.isBlinking.spawn(),this._isBlinking.subscribe(this._updateBlinkingMode.bind(this),{callWithLast:!0}),this._turnOffBlinking=e.turnOffBlinking)}destroy(){this._visible.destroy(),this._icon.destroy(),this._isBlinking&&this._isBlinking.destroy(),this._el.remove()}onClick(){this._turnOffBlinking&&this._turnOffBlinking()}visible(){return this._visible}_render(e){this._el.classList.add(It.statusItem,It[this._size]),e.appendChild(this._el)}_updateVisibility(e){this._el.classList.toggle("js-hidden",!e)}_updateIcon(e){this._el.innerHTML=e||""}_updateClassName(e){ +this._prevCustomClass!==e&&(null!==this._prevCustomClass&&this._el.classList.remove(this._prevCustomClass),null!==e&&this._el.classList.add(e),this._prevCustomClass=e)}_updateBlinkingMode(e){this._el.classList.toggle(It.blinking,e)}}class qs{constructor(e,t,s,i){this.element=document.createElement("div"),this._blinkingSpawns=[],this._iconsRenderers=[];const l=[It.statuses,"apply-common-tooltip","common-tooltip-wide"];h.trackingModeIsAvailable&&l.push(It.touchMode),this.element.classList.add(...l,It[e]),this._visibleWidgetsCount=t.spawn(),this._visibleWidgetsCount.subscribe(this._updateSpecialClassAndTooltip.bind(this)),this._tooltips=s.spawn(),this._tooltips.subscribe(this._updateTooltip.bind(this)),this._onClickCallback=i.onClick,this._onClickHandler=this._onClick.bind(this),this.element.addEventListener("click",this._onClickHandler)}destroy(){for(const e of this._iconsRenderers)e.destroy();for(const e of this._blinkingSpawns)e.destroy();this._visibleWidgetsCount.destroy(),this._tooltips.destroy(),this.element.removeEventListener("click",this._onClickHandler),this.element.remove()}addStatusModel(e){this._iconsRenderers.push(new Zs({visible:e.visible,icon:e.model.icon(),className:e.model.className(),size:e.model.size(),parentEl:this.element,isBlinking:e.model.isBlinkingMode,turnOffBlinking:e.model.turnOffBlinkingMode}));const t=e.model.isBlinkingMode.spawn();t.subscribe(this._updateBlinkingMode.bind(this)),this._blinkingSpawns.push(t),this._updateBlinkingMode()}_onClick(e){e.preventDefault();const t=this._iconsRenderers.filter(e=>e.visible().value());for(const e of t)e.onClick();let s=14;t.length>1&&(s-=2);const i=this.element.getBoundingClientRect(),l={x:i.left-s,y:i.bottom+4};this._onClickCallback(l)}_updateTooltip(){this.element.setAttribute("title",this._tooltips.value().join(" · "))}_updateSpecialClassAndTooltip(){const e=this._visibleWidgetsCount.value();this.element.classList.toggle(It.oneWidgetsVisible,1===e),this.element.classList.toggle(It.twoWidgetsVisible,2===e),this.element.classList.toggle(It.threeWidgetsVisible,3===e),this._updateTooltip()}_updateBlinkingMode(){const e=this._blinkingSpawns.some(e=>e.value());this.element.classList.toggle(It.blinking,e)}}var Ks=s(36973),Js=s(12633),Qs=s(4346),ei=s(20296),ti=s(81669),si=s(8867),ii=s(83363),li=s(44685);const ai=(0,k.t)("Market open"),oi=(0,k.t)("Pre-market"),ni=(0,k.t)("Post-market"),ri=(0,k.t)("Market closed"),di=(0,k.t)("Holiday"),hi=(0,k.t)("All's well — Market is open."),ui=(0,k.t)("Morning. Market is open for pre-market trading."),ci=(0,k.t)("Evening. Market is open for post-market trading."),_i=(0,k.t)("Time for a walk — this market is closed."),pi=(0,k.t)("Market is currently on holiday. Lucky them."),mi=(0,k.t)("less than 1 minute"),gi=(0,k.t)("{days} and {hours}"),bi=(0,k.t)("{hours} and {minutes}"),vi=(0,k.t)("Market opens in {remainingTime}."),wi=(0,k.t)("Market closes in {remainingTime}."),yi=(0,k.t)("It'll go to post-market trading in {remainingTime}."),Si=(0, +k.t)("It'll open for pre-market trading in {remainingTime}."),Mi=new Map([["market",new Map([["small",Js],["large",Qs]])],["pre_market",new Map([["small",ii],["large",li]])],["post_market",new Map([["small",ti],["large",si]])],["out_of_session",new Map([["small",Ks],["large",Ks]])],["holiday",new Map([["small",ei],["large",ei]])]]),fi=new Map([["market",It.marketStatusOpen],["pre_market",It.marketStatusPre],["post_market",It.marketStatusPost],["out_of_session",It.marketStatusClose],["holiday",It.marketStatusHoliday]]),Ci=new Map([["market",ai],["pre_market",oi],["post_market",ni],["out_of_session",ri],["holiday",di]]),Ei=new Map([["market",ai],["pre_market",oi],["post_market",ni],["out_of_session",ri],["holiday",di]]),ki=new Map([["market",Nt.colorsPalette["color-market-open"]],["pre_market",Nt.colorsPalette["color-pre-market"]],["post_market",Nt.colorsPalette["color-post-market"]],["out_of_session",Nt.colorsPalette["color-market-closed"]],["holiday",Nt.colorsPalette["color-market-holiday"]]]),Vi={market:hi,pre_market:ui,post_market:ci,out_of_session:_i,holiday:pi};function Wi(e){return(0,k.t)("{number} minute",{plural:"{number} minutes",count:e}).format({number:e.toString()})}function Ti(e){return(0,k.t)("{number} hour",{plural:"{number} hours",count:e}).format({number:e.toString()})}function xi(e){const t=Math.floor(e/86400),s=Math.floor((e-86400*t)/3600),i=Math.floor((e-86400*t-3600*s)/60);return 0===t&&0===s&&0===i?mi:t>0?gi.format({days:(l=t,(0,k.t)("{number} day",{plural:"{number} days",count:l}).format({number:l.toString()})),hours:Ti(s)}):s>0?bi.format({hours:Ti(s),minutes:Wi(i)}):Wi(i);var l}const Di={market:e=>("post_market"===e.status?yi:wi).format({remainingTime:xi(e.remainingSeconds)}),pre_market:e=>vi.format({remainingTime:xi(e.remainingSeconds)}),post_market:e=>wi.format({remainingTime:xi(e.remainingSeconds)}),out_of_session:e=>("pre_market"===e.status?Si:vi).format({remainingTime:xi(e.remainingSeconds)}),holiday:e=>("pre_market"===e.status?Si:vi).format({remainingTime:xi(e.remainingSeconds)})},Li=new Map([["market",null],["pre_market",null],["post_market",null],["out_of_session",null],["holiday",null]]);class Ai extends zt{constructor(e,t){super({tooltipMap:Ci,iconMap:Mi,classNameMap:fi,titleMap:Ei,titleColorMap:ki,actionMap:Li,size:t}),this._model=null,this._marketStatus=new(a())(null).spawn(),this._sessionEdge=new(a())(null).spawn(),this._updateTooltip=()=>{const e=this._status.value();null!==e&&this._updateFullTooltipByStatus(e)},this.setModel(e)}destroy(){this._marketStatus.destroy(),this._sessionEdge.destroy(),this._model=null}setModel(e){if(this._marketStatus.destroy(),this._sessionEdge.destroy(),null===e)return this._marketStatus=new(a())(null).spawn(),void(this._sessionEdge=new(a())(null).spawn());this._model=e,this._marketStatus=e.status().spawn(),this._marketStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0}),this._sessionEdge=e.nextSessionEdge().spawn(),this._sessionEdge.subscribe(this._updateTooltip),this._updateTooltip()}async _getHtml(e){const t=[(0, +Pt.htmlEscape)(Vi[e])],s=this._marketStatus.value();if(null!==this._model&&null!==s){const s=this._model.nextSessionEdge().value();null!==s&&t.push({text:Di[e](s),bold:!0})}return t}_updateStatus(e){this._status.setValue(e)}}class Hi{constructor(e,t){var s,i;this.visibleWidgetsCount=new(a())(0),this.errorWidgetIsShown=new(a())(!1),this._size=h.trackingModeIsAvailable?"large":"small",this._tooltips=new(a())([]),this._visibilitySpawns=[],this._tooltipSpawns=[],this._statusWidgetInfos=[],this._renderer=new qs(this._size,this.visibleWidgetsCount,this._tooltips,{onClick:this._handleToggleDropdown.bind(this)}),this._symbolInvalidViewModel=null,this._dataSourceErrorStatusViewModel=null,this._marketStatusViewModel=null,this._dataUpdatedModeViewModel=null,this._dataProblemViewModel=null,this._sessionWidget=null,this._dataSourceHasErrorVisible=null,this._dataSourceErrorCanBeShown=new(a())(!1),this._marketStatusCanBeShown=new(a())(!1),this._dataUpdatedModeCanBeShown=new(a())(!1),this._dataProblemCanBeShown=new(a())(!1),this._isDataProblemCritical=null,this._container=document.createElement("div"),this._menuOpened=!1,this._menuPosition=null,this._handleDropdownMenuClose=()=>{var e;this._menuOpened=!1,null===(e=this._source.symbol())||void 0===e||e.unsubscribe(this._handleDropdownMenuClose),this._updateDropdownMenu()},this._source=e,this._symbol=null!==(i=null===(s=e.symbol())||void 0===s?void 0:s.spawn())&&void 0!==i?i:null,this._options=t,this._recreateWidgets(),this._addSubscriptionForSymbolInvalid(),null!==this._dataSourceHasErrorVisible&&(this._dataSourceHasErrorVisible.subscribe(this._updateStatusWidgetsVisibilities.bind(this)),this._dataSourceHasErrorVisible.subscribe(this._updateErrorWidgetIsShown.bind(this))),this._options.dataProblemEnabled&&null!==this._isDataProblemCritical&&this._isDataProblemCritical.subscribe(this._updateStatusWidgetsVisibilities.bind(this));for(const e of this._tooltipSpawns)e.subscribe(this._updateTooltips.bind(this));for(const e of this._visibilitySpawns)e.subscribe(this._updateVisibleWidgetsCount.bind(this)),e.subscribe(this._updateTooltips.bind(this));this._updateErrorWidgetIsShown(),this._updateStatusWidgetsVisibilities(),this._updateVisibleWidgetsCount(),this._updateTooltips()}destroy(){var e,t;this._source.destroy(),null===(e=this._symbol)||void 0===e||e.destroy(),null===(t=this._isDataProblemCritical)||void 0===t||t.destroy();for(const e of this._tooltipSpawns)e.destroy();for(const e of this._visibilitySpawns)e.destroy();this.visibleWidgetsCount.unsubscribe();for(const e of this._statusWidgetInfos)e.model.destroy();this._renderer.destroy()}getElement(){return this._renderer.element}updateSource(e){var t,s,i;this._source!==e&&(null===(t=this._symbol)||void 0===t||t.destroy(),this._source.destroy(),this._source=e,this._symbol=null!==(i=null===(s=e.symbol())||void 0===s?void 0:s.spawn())&&void 0!==i?i:null,this._recreateWidgets(),this._updateStatusWidgetsVisibilities(),this._updateErrorWidgetIsShown(),this._updateVisibleWidgetsCount(),this._updateTooltips())} +_updateStatusWidgetsVisibilities(){const e=this._isForceStatusActive();this._dataSourceErrorCanBeShown.setValue(!e),this._marketStatusCanBeShown.setValue(!e),this._dataUpdatedModeCanBeShown.setValue(!e),this._dataProblemCanBeShown.setValue(!this._isPrimaryWidgetShown())}_isPrimaryWidgetShown(){var e,t;return null!==(t=null===(e=this._source.isSymbolInvalid())||void 0===e?void 0:e.value())&&void 0!==t&&t}_isForceStatusActive(){var e,t;return this._isPrimaryWidgetShown()||null!==(t=null===(e=this._isDataProblemCritical)||void 0===e?void 0:e.value())&&void 0!==t&&t}_updateVisibleWidgetsCount(){const e=this._statusWidgetInfos.filter(e=>e.visible.value());this.visibleWidgetsCount.setValue(e.length)}_updateTooltips(){const e=[];for(let t=0;t0&&e.push(s)}this._tooltips.setValue(e)}_recreateWidgets(){var e;if(this._options.sourceStatusesEnabled){const e=this._source.isSymbolInvalid();if(null!==e)if(null===this._symbolInvalidViewModel){this._symbolInvalidViewModel=new Ps(e,{tooltipMap:js,iconMap:Rs,classNameMap:Us,titleMap:Ys,titleColorMap:Gs,htmlMap:$s,actionMap:Xs,size:this._size});const t=this._symbolInvalidViewModel.visible().spawn();this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._symbolInvalidViewModel.tooltip().spawn());const s={visible:t,model:this._symbolInvalidViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._symbolInvalidViewModel.updateStatus(e),this._addSubscriptionForSymbolInvalid();if(null===this._dataSourceErrorStatusViewModel){this._dataSourceErrorStatusViewModel=new xs(this._source,this._size,this._options.sourceStatuses),this._dataSourceHasErrorVisible=(0,q.combine)(()=>this._dataSourceErrorCanBeShown.value()&&(0,i.ensureNotNull)(this._dataSourceErrorStatusViewModel).visible().value(),this._dataSourceErrorCanBeShown,this._dataSourceErrorStatusViewModel.visible()),this._visibilitySpawns.push(this._dataSourceHasErrorVisible),this._tooltipSpawns.push(this._dataSourceErrorStatusViewModel.tooltip().spawn());const e={visible:this._dataSourceHasErrorVisible,model:this._dataSourceErrorStatusViewModel};this._statusWidgetInfos.push(e),this._renderer.addStatusModel(e)}else this._dataSourceErrorStatusViewModel.setSource(this._source)}if(this._options.marketStatusEnabled){const t=this._source.marketStatusModel();if(null===this._marketStatusViewModel){this._marketStatusViewModel=new Ai(t,this._size);const e=(0,q.combine)(()=>this._marketStatusCanBeShown.value()&&(0,i.ensureNotNull)(this._marketStatusViewModel).visible().value(),this._marketStatusCanBeShown,this._marketStatusViewModel.visible());this._visibilitySpawns.push(e),this._tooltipSpawns.push(this._marketStatusViewModel.tooltip().spawn());const s={visible:e,model:this._marketStatusViewModel};null!==t&&(this._sessionWidget=new Bt(this._source),s.additionalWidgets=[this._sessionWidget]),this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s) +}else this._marketStatusViewModel.setModel(t),null===(e=this._sessionWidget)||void 0===e||e.updateSource(this._source)}if(this._options.dataUpdateModeEnabled){const e=this._source.dataUpdatedModeModel();if(null===this._dataUpdatedModeViewModel){this._dataUpdatedModeViewModel=new Ss(e,this._size,this._options.dataUpdateMode);const t=(0,q.combine)(()=>this._dataUpdatedModeCanBeShown.value()&&(0,i.ensureNotNull)(this._dataUpdatedModeViewModel).visible().value(),this._dataUpdatedModeCanBeShown,this._dataUpdatedModeViewModel.visible());this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._dataUpdatedModeViewModel.tooltip().spawn());const s={visible:t,model:this._dataUpdatedModeViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._dataUpdatedModeViewModel.setModel(e)}if(this._options.dataProblemEnabled){const e=this._source.dataProblemModel();if(null===this._dataProblemViewModel){this._dataProblemViewModel=new Ns(e,this._size),this._isDataProblemCritical=this._dataProblemViewModel.isDataProblemCritical().spawn();const t=(0,q.combine)(()=>this._dataProblemCanBeShown.value()&&(0,i.ensureNotNull)(this._dataProblemViewModel).visible().value(),this._dataProblemCanBeShown,this._dataProblemViewModel.visible());this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._dataProblemViewModel.tooltip().spawn());const s={visible:t,model:this._dataProblemViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._dataProblemViewModel.setModel(e)}}_addSubscriptionForSymbolInvalid(){const e=this._source.isSymbolInvalid();this._options.sourceStatusesEnabled&&null!==e&&(e.subscribe(this._updateStatusWidgetsVisibilities.bind(this)),e.subscribe(this._updateErrorWidgetIsShown.bind(this),{callWithLast:!0}))}_updateErrorWidgetIsShown(){var e,t,s,i;const l=null!==(t=null===(e=this._source.isSymbolInvalid())||void 0===e?void 0:e.value())&&void 0!==t&&t,a=null!==(i=null===(s=this._dataSourceHasErrorVisible)||void 0===s?void 0:s.value())&&void 0!==i&&i;this.errorWidgetIsShown.setValue(l||a)}_handleToggleDropdown(e){var t,s;this._menuPosition=e,this._menuOpened=!this._menuOpened,this._menuOpened&&(null===(t=this._source.symbol())||void 0===t||t.subscribe(this._handleDropdownMenuClose),s="Open full tooltip for statuses: "+this._tooltips.value().join(", "),(0,V.trackEvent)("GUI","Statuses widget's action",s)),this._updateDropdownMenu()}_updateDropdownMenu(){Promise.all([s.e(7610),s.e(3894),s.e(9917),s.e(5514),s.e(306),s.e(4940),s.e(8643)]).then(s.bind(s,36783)).then(e=>{e.render(this._menuOpened,this._container,this._renderer.element,this._statusWidgetInfos,this._handleDropdownMenuClose,(0,i.ensureNotNull)(this._menuPosition))})}}s(51759);var Bi=s(98445);class Ni{constructor(e,t){this._symbol=null,this._symbolInfo=new(a())(null).spawn(),this._source=e,e.properties().hasChild("symbol")&&(this._symbol=(0,j.createWVFromGetterAndSubscription)(()=>e.properties().symbol.value(),e.properties().symbol.listeners()));const s=[];if((0,pe.isStudy)(e)||(0, +pe.isStudyStub)(e))this._isSymbolInvalid=(0,Bi.createWVFromGetterAndSubscriptions)(()=>e.isSymbolInvalid()&&e.isActualInterval(),s),s.push(e.onStatusChanged(),e.onIsActualIntervalChange());else{(0,i.assert)(e===t.mainSeries());const l=t.mainSeries();this._isSymbolInvalid=(0,j.createWVFromGetterAndSubscription)(()=>l.isSymbolInvalid(),l.onStatusChanged()),s.push(l.onStatusChanged()),this._symbolInfo=(0,j.createWVFromGetterAndSubscription)(l.symbolInfo.bind(l),l.dataEvents().symbolResolved())}this._dataSourceErrorStatus=(0,Bi.createWVFromGetterAndSubscriptions)(()=>this._source.statusProvider({}).errorStatus(),s)}destroy(){var e,t;null===(e=this._symbol)||void 0===e||e.destroy(),null===(t=this._isSymbolInvalid)||void 0===t||t.destroy(),this._dataSourceErrorStatus.destroy(),this._symbolInfo.destroy()}symbol(){return this._symbol}isSymbolInvalid(){return this._isSymbolInvalid}errorStatus(){return this._dataSourceErrorStatus}symbolInfo(){return this._symbolInfo}marketStatusModel(){return this._source.marketStatusModel()}dataProblemModel(){return this._source.dataProblemModel()}dataUpdatedModeModel(){return this._source.dataUpdatedModeModel()}}var Pi=s(18866);const Ii=(0,k.t)("Replay mode"),zi=(0,k.t)("You're in Replay mode. You're in Replay mode. You're in Replay mode.");new Map([[!0,new Map([["small",Pi],["large",Pi]])],[!1,new Map([["small",""],["large",""]])]]),new Map([[!0,It.replayMode],[!1,null]]),new Map([[!0,Ii],[!1,null]]),new Map([[!0,Ii],[!1,null]]),new Map([[!0,Nt.colorsPalette["color-replay-mode"]],[!1,null]]),new Map([[!0,[zi]],[!1,null]]),new Map([[!0,null],[!1,null]]);class Oi extends Hi{constructor(e,t,s){super(new Ni(e,t),s),this._isInReplay=new(a())(!1).readonly().spawn(),this._isInReplayCanBeShown=null,this._inited=!1}destroy(){super.destroy()}_updateStatusWidgetsVisibilities(){super._updateStatusWidgetsVisibilities()}_isPrimaryWidgetShown(){var e,t;return super._isPrimaryWidgetShown()||null!==(t=null===(e=this._isInReplay)||void 0===e?void 0:e.value())&&void 0!==t&&t}}var Fi=s(99182),Ri=s(58848);const Ui={readOnlyMode:!1,contextMenu:{settings:!0,mainSeries:!0,studies:!0,showOpenMarketStatus:!1},symbolMarkerEnabled:!1,showToggleButton:!0,canShowSourceCode:!1,statusesWidgets:{sourceStatusesEnabled:!1,sourceStatuses:{errorSolution:!0},marketStatusEnabled:!1,marketStatus:{preMarketSolution:!0,postMarketSolution:!0},dataUpdateModeEnabled:!1,dataUpdateMode:{subscriptionFullInfo:!0},dataProblemEnabled:!1}},ji=(d.enabled("hide_legend_by_default"),d.enabled("fundamental_widget")),Yi=d.enabled("legend_context_menu"),Gi=2*parseInt(y.marginlegendhoriz);class $i{constructor(e,t,s,i,l,n,r){this._mainSeriesViewModel=null,this._dataSourceViewModels=[],this._visibleDataSourceCount=new(a())(0),this._themedColor=new(a())(""),this._mainSeriesRowHidden=null,this._dataSourceRowsHidden=[],this._customWidgetsVisibilities=[],this._allLegendHidden=new(a())(!1),this._studiesLegendHidden=new(a())(!1),this._customWidgetsHeights=[],this._onLegendVisibilityToggled=null,this._availableHeight=0, +this._collapsedDataSourcesCount=new(a())(0),this._collapsedDataSourcesTitle=new(a())(""),this._mainSeriesStatusWidget=null,this._dataSourcesStatusesWidgets=[],this._size=null,this._customLegendWidgetsFactoriesMap=new Map,this._customLegendWidgetsMap=new Map,this._margin=0,this._model=e,this._paneWidget=t,this._options=(0,o.merge)((0,o.clone)(Ui),n),this._callbacks=r,this._mainSeriesViewModelsOptions={readOnlyMode:this._options.readOnlyMode,symbolMarkerEnabled:this._options.symbolMarkerEnabled},this._dataSourceViewModelsOptions={...this._mainSeriesViewModelsOptions,canShowSourceCode:this._options.canShowSourceCode},this._backgroundThemeName=s;const d=this._showLegendCalculatedProperty();this._isDataSourcesCollapsed=new(a())(d.value()),d.subscribe(this,()=>{this._isDataSourcesCollapsed.setValue(d.value())});const h=new(a())(this._getCustomTextColorValue()),u=this._model.model().properties().childs();u.scalesProperties.childs().textColor.subscribe(this,()=>{h.setValue(this._getCustomTextColorValue())});const c=u.paneProperties.childs().legendProperties.childs().showBackground,_=new(a())(c.value());c.subscribe(this,()=>{_.setValue(c.value())});const p=u.paneProperties.childs().legendProperties.childs().backgroundTransparency,m=new(a())(p.value());p.subscribe(this,()=>{m.setValue(p.value())}),this._hideNotMainSources=i.spawn(),this._hideNotMainSources.subscribe(this._updateLegendVisibilities.bind(this)),this._hideWholeLegend=l.spawn(),this._hideWholeLegend.subscribe(this._updateLegendVisibilities.bind(this)),this._isPaneMain=new(a())(this._getIsPaneMainValue()),this._updateCollapsedSourcesModeThrottle=(0,Ri.default)(this._updateCollapsedSourcesMode.bind(this),100),this._renderer=new R({withActions:!this._options.readOnlyMode,showToggleButton:this._options.showToggleButton,isStudiesLegendHidden:this._studiesLegendHidden.readonly(),isAllLegendHidden:this._allLegendHidden.readonly(),customTextColor:h.readonly(),themedColor:this._themedColor.readonly(),showBackground:_.readonly(),backgroundTransparency:m.readonly(),collapsedDataSourcesCount:this._collapsedDataSourcesCount.readonly(),collapsedDataSourcesTitle:this._collapsedDataSourcesTitle.readonly(),showLegendWidgetContextMenu:this.onShowLegendWidgetContextMenu.bind(this)},{visibleDataSourceCount:this._visibleDataSourceCount.readonly(),isDataSourcesCollapsed:this._isDataSourcesCollapsed.readonly(),showObjectsTree:this._isPaneMain.readonly(),onCollapseDataSources:this.onCollapseDataSources.bind(this),onShowObjectsTreeDialog:this._callbacks.showObjectsTreeDialog})}destroy(){this._hideNotMainSources.destroy(),this._hideWholeLegend.destroy(),null!==this._mainSeriesViewModel&&this._destroyMainDataSource();for(const e of this._dataSourceViewModels)e.destroy();for(const e of this._dataSourcesStatusesWidgets)e.destroy();this._clearSubscriptions();for(const e of Array.from(this._customLegendWidgetsMap.keys()))this._destroyCustomWidgetFromLayerBlock(e);this._customLegendWidgetsMap.clear(),this._renderer.destroy(),delete this._renderer, +this._showLegendCalculatedProperty().unsubscribeAll(this),this._showLegendOriginalProperty().unsubscribeAll(this);const e=this._model.model().properties().childs();e.scalesProperties.childs().textColor.unsubscribeAll(this),e.paneProperties.childs().legendProperties.childs().showBackground.unsubscribeAll(this),e.paneProperties.childs().legendProperties.childs().backgroundTransparency.unsubscribeAll(this)}addCustomWidgetToLegend(e,t){const s=this._customLegendWidgetsFactoriesMap.get(t.block)||new Map,i=s.get(t.position)||[];i.push(e),s.set(t.position,i),this._customLegendWidgetsFactoriesMap.set(t.block,s),this.updateLayout(),this._updateCustomWidgetModeBySize()}onShowLegendWidgetContextMenu(e,t){if(this._options.readOnlyMode||!Yi)return Promise.resolve();W("Show legend context menu");const s=new Map;for(const e of Array.from(this._customLegendWidgetsMap.keys())){const t=(0,i.ensureDefined)(this._customLegendWidgetsMap.get(e)),l=new Map;for(const e of Array.from(t.keys())){const s=(0,i.ensureDefined)(t.get(e)),a=l.get(e)||[];for(const e of s)a.push(...e.contextMenuActions());l.set(e,a)}s.set(e,l)}return function(e,t,s,i,l,a){const o=[],n=i.get(0);if(void 0!==n){const e=n.get(1);void 0!==e&&e.length>0&&(o.push(...e),o.push(new He.Separator))}const r=e.model().properties().childs().paneProperties.childs().legendProperties.childs();if(o.push(new He.Action({actionId:"Chart.Legend.ToggleSymbolVisibility",checkable:!0,checked:r.showSeriesTitle.value(),label:Xe,statName:"Show Symbol",onExecute:()=>ze(e,r.showSeriesTitle,Oe)})),t.showOpenMarketStatus&&o.push(new He.Action({actionId:"Chart.Legend.ToggleOpenMarketStatusVisibility",checkable:!0,checked:Ne.showMarketOpenStatusProperty.value(),label:Ze,statName:"Show Open market status",onExecute:()=>ze(e,Ne.showMarketOpenStatusProperty,Fe)})),o.push(new He.Action({actionId:"Chart.Legend.ToggleOhlcValuesVisibility",checkable:!0,checked:r.showSeriesOHLC.value(),label:qe,statName:"Show OHLC Values",onExecute:()=>ze(e,r.showSeriesOHLC,Re)})),o.push(new He.Action({actionId:"Chart.Legend.ToggleBarChangeValuesVisibility",checkable:!0,checked:r.showBarChange.value(),label:Ke,statName:"Show Bar Change Values",onExecute:()=>ze(e,r.showBarChange,Ue)})),o.push(new He.Action({actionId:"Chart.Legend.ToggleVolumeVisibility",checkable:!0,checked:r.showVolume.value(),label:Je,statName:"Show Volume",onExecute:()=>ze(e,r.showVolume,$e)})),o.push(new He.Separator),void 0!==n){const e=n.get(0);void 0!==e&&e.length>0&&(o.push(...e),o.push(new He.Separator))}const d=i.get(1);if(void 0!==d){const e=d.get(1);void 0!==e&&e.length>0&&(o.push(...e),o.push(new He.Separator))}if(o.push(new He.Action({actionId:"Chart.Legend.ToggleIndicatorTitlesVisibility",checkable:!0,checked:r.showStudyTitles.value(),label:Qe,statName:"Show Indicator Titles",onExecute:()=>ze(e,r.showStudyTitles,je)})),o.push(new He.Action({actionId:"Chart.Legend.ToggleIndicatorArgumentsVisibility",checkable:!0,checked:r.showStudyArguments.value(),label:et,statName:"Show Indicator Arguments",onExecute:()=>ze(e,r.showStudyArguments,Ye)})), +o.push(new He.Action({actionId:"Chart.Legend.ToggleIndicatorValuesVisibility",checkable:!0,checked:r.showStudyValues.value(),label:tt,statName:"Show Indicator Values",onExecute:()=>ze(e,r.showStudyValues,Ge)})),void 0!==d){const e=d.get(0);void 0!==e&&e.length>0&&(o.push(...e),o.push(new He.Separator))}return t.settings&&(o.push(new He.Separator),o.push(new He.Action({actionId:"Chart.Dialogs.ShowGeneralSettings.LegendTab",label:st,icon:Ie,statName:"Settings...",onExecute:()=>s(ie.TabNames.legend)}))),Be.ContextMenuManager.showMenu(o,l,void 0,{menuName:"LegendPropertiesContextMenu"},a)}(this._model,this._options.contextMenu,this._callbacks.showGeneralChartProperties,s,e,t)}onCollapseDataSources(){const e=this._showLegendOriginalProperty();e.setValue(!e.value())}updateLayout(){const e=this._paneWidget.state().sourcesByGroup().priceSources().filter(e=>null!==e.statusView());if(0===e.length)return;const t=this._model.mainSeries(),s=e.indexOf(t);s>-1?(e.splice(s,1),ji||null!==this._mainSeriesViewModel||(this._mainSeriesViewModel=new _e(this._model,t,this._mainSeriesViewModelsOptions,this._callbacks,this._options.contextMenu),this._mainSeriesStatusWidget=new Oi(t,this._model.model(),this._options.statusesWidgets),this._renderer.addMainDataSource(this._mainSeriesViewModel,this._mainSeriesStatusWidget)),this._addCustomWidgetForLayerBlock(0)):null!==this._mainSeriesViewModel&&(this._destroyMainDataSource(),this._destroyCustomWidgetFromLayerBlock(0));const l=[],a=[],o=this._dataSourceViewModels.length;if(0===o)for(let t=e.length-1;t>=0;t--)l.push(new Ae(this._model,e[t],this._dataSourceViewModelsOptions,this._callbacks,this._options.contextMenu)),a.push(new Hi(new Ni(e[t],this._model.model()),this._options.statusesWidgets));else{let t=0;for(let s=e.length-1;s>=0;s--)this._dataSourceViewModels[t]?(this._dataSourceViewModels[t].updateSource(e[s]),this._dataSourcesStatusesWidgets[t].updateSource(new Ni(e[s],this._model.model()))):(l.push(new Ae(this._model,e[s],this._dataSourceViewModelsOptions,this._callbacks,this._options.contextMenu)),a.push(new Hi(new Ni(e[s],this._model.model()),this._options.statusesWidgets))),t++;for(;this._dataSourceViewModels.length>t;)(0,i.ensureDefined)(this._dataSourceViewModels.pop()).destroy();for(;this._dataSourcesStatusesWidgets.length>t;)(0,i.ensureDefined)(this._dataSourcesStatusesWidgets.pop()).destroy()}0!==l.length&&(this._renderer.addDataSources(l,a),this._dataSourceViewModels.push(...l),this._dataSourcesStatusesWidgets.push(...a)),o!==this._dataSourceViewModels.length&&this._updateCollapsedSourcesMode(),this._dataSourceViewModels.length>0?this._addCustomWidgetForLayerBlock(1):this._destroyCustomWidgetFromLayerBlock(1),this._recreateSubscriptions(),this._isPaneMain.setValue(this._getIsPaneMainValue()),this.update(),this._updateWidgetModeByWidth()}update(){null!==this._mainSeriesViewModel&&this._mainSeriesViewModel.update();for(const e of this._dataSourceViewModels)e.update()}updateThemedColors(e){null===e&&(e=(0, +Fi.getStdThemedValue)("chartProperties.paneProperties.background",this._backgroundThemeName.value())),this._themedColor.setValue(e||"")}firstTitle(){return this._renderer.firstTitle()}getElement(){return this._renderer.getElement()}addMargin(e){if(this._margin===e)return;this._margin=e;this._renderer.getElement().style.maxWidth=0===this._margin?"":`calc(100% - ${this._margin+Gi}px)`,this._updateWidgetModeBySize()}updateWidgetModeBySize(e){this._size=e,this._updateWidgetModeBySize()}_updateWidgetModeBySize(){this._updateWidgetModeByWidth(),this._updateWidgetModeByHeight(),this._updateCustomWidgetModeBySize()}_updateWidgetModeByWidth(){if(null===this._size)return;const e=this._availableWidth();this._renderer.updateMode(e),this._paneWidget.hasState()&&this._paneWidget.state().containsMainSeries()&&this._model.mainSeries().setTextSourceIsAlwaysTickerRestrictionEnabled(e<=132)}_updateWidgetModeByHeight(){null!==this._size&&(this._availableHeight=.8*this._size.h,this._updateCollapsedSourcesModeThrottle())}_updateCustomWidgetModeBySize(){if(null===this._size)return;const e=new n.Size(this._availableWidth(),this._size.h);for(const t of Array.from(this._customLegendWidgetsMap.values()))for(const s of Array.from(t.values()))for(const t of s)t.updateWidgetModeBySize(e)}_destroyMainDataSource(){(0,i.ensureNotNull)(this._mainSeriesStatusWidget).destroy(),this._mainSeriesStatusWidget=null,(0,i.ensureNotNull)(this._mainSeriesViewModel).destroy(),this._mainSeriesViewModel=null}_updateCollapsedSourcesMode(){const e=this._dataSourceViewModels.length;if(this._availableHeight>0&&e>2){const t=Number(this._renderer.getMainSourceHeight()),s=this._renderer.getDataSourceHeight(),i=this._getCustomWidgetsHeight();if(null!==s){const l=Math.floor((this._availableHeight-t-i)/s),a=Math.max(l,2)-1;if(e>a+1){let t="";for(let s=0;se.value()),t=this._hideNotMainSources.value()||e;this._studiesLegendHidden.setValue(t);const s=null===this._mainSeriesRowHidden||this._mainSeriesRowHidden.value(),i=this._customWidgetsVisibilities.some(e=>e.value());this._allLegendHidden.setValue(e&&s&&!i)}_updateVisibleDataSourceCount(){const e=this._dataSourceRowsHidden.filter(e=>!e.value()).length;this._visibleDataSourceCount.setValue(e)}_setLegendVisibilityToggled(){0}_getIsPaneMainValue(){return this._paneWidget.containsMainSeries()}_showLegendCalculatedProperty(){return this._model.model().showLegend()}_showLegendOriginalProperty(){return this._model.model().properties().childs().paneProperties.childs().legendProperties.childs().showLegend}_addCustomWidgetForLayerBlock(e){const t=this._customLegendWidgetsFactoriesMap.get(e);if(void 0===t)return;const s=this._customLegendWidgetsMap.get(e)||new Map;let i=!1;for(const l of Array.from(t.keys())){const a=s.get(l)||[],o=t.get(l)||[];for(let t=a.length;t{"use strict";s.r(t),s.d(t,{PaneControlsWidget:()=>F});var i=s(96404),l=s(79881),a=s(42028),o=s(17e3),n=s(16282),r=s(14563),d=s(92882),h=s(3330),u=s(37504),c=s(71996);class _{constructor(e,t,s){this._parentEl=document.createElement("div"),this._listActionsWrapperEl=null,this._listActionsElements={},this._actionsSpawns={},this._onMouseEnterLeaveEventHandler=null,this._mouseOverWidget=!1,this._wrapEl=e, +this._onMouseEnterLeaveEventHandler=this._onMouseEnterLeaveEvent.bind(this),this._wrapEl.addEventListener("mouseenter",this._onMouseEnterLeaveEventHandler),this._wrapEl.addEventListener("mouseleave",this._onMouseEnterLeaveEventHandler),this._actions=t,this._globalVisibility=s.globalVisibility.spawn(),this._globalVisibility.subscribe(this._updatePaneControlsWidgetVisibility.bind(this)),this._visibilityType=s.visibilityType.spawn(),this._visibilityType.subscribe(this._updatePaneControlsWidgetVisibility.bind(this)),this._doNotSwitchToContextMenuMode=s.doNotSwitchToContextMenuMode,this._themedColor=s.themedColor.spawn(),this._themedColor.subscribe(this._updateThemedColor.bind(this));for(const[e,t]of Object.entries(this._actions)){const s=e;this._actionsSpawns[s]={visible:t.visible.spawn(),title:void 0===t.title?null:t.title.spawn()},this._actionsSpawns[s].visible.subscribe(this._updateActionVisibilities.bind(this,s));const i=this._actionsSpawns[s].title;null!==i&&i.subscribe(this._updateActionTitle.bind(this,s))}this._render(),this._updatePaneControlsWidgetVisibility(),this._updateThemedColor(this._themedColor.value()),this._parentEl.classList.toggle(u.touchMode,d.trackingModeIsAvailable),this._parentEl.addEventListener("contextmenu",e=>e.preventDefault())}destroy(){this._visibilityType.destroy(),this._themedColor.destroy();for(const e of Object.keys(this._actionsSpawns)){const t=e;this._actionsSpawns[t].visible.destroy();const s=this._actionsSpawns[t].title;null!==s&&s.destroy()}null!==this._onMouseEnterLeaveEventHandler&&(this._wrapEl.removeEventListener("mouseenter",this._onMouseEnterLeaveEventHandler),this._wrapEl.removeEventListener("mouseleave",this._onMouseEnterLeaveEventHandler),this._onMouseEnterLeaveEventHandler=null),this._parentEl.innerHTML="",delete this._parentEl}getElement(){return this._parentEl}updateWidgetModeByWidth(e){const t=!this._doNotSwitchToContextMenuMode.value()&&e<356,s=!this._doNotSwitchToContextMenuMode.value()&&e<666.65,i=(0,n.ensureNotNull)(this._listActionsWrapperEl),l=(0,n.ensureNotNull)(this._listActionsElements.more);i.classList.toggle(c.blockHidden,t||s),l.classList.toggle(c.blockHidden,t||!s||!this._actions.more.visible.value())}_render(){this._renderActions(),this._parentEl.classList.add(u.paneControls),this._wrapEl.append(this._parentEl)}_renderActions(){null===this._listActionsWrapperEl&&(this._listActionsWrapperEl=document.createElement("div"),this._listActionsWrapperEl.classList.add(u.buttonsWrapper),this._parentEl.append(this._listActionsWrapperEl));const e=d.trackingModeIsAvailable?"large":"small";this._listActionsElements.up=(0,h.createActionElement)(this._actions.up,u.button,u.buttonIcon,c.blockHidden,e),this._listActionsElements.down=(0,h.createActionElement)(this._actions.down,u.button,u.buttonIcon,c.blockHidden,e),this._listActionsElements.close=(0,h.createActionElement)(this._actions.close,u.button,u.buttonIcon,c.blockHidden,e),this._listActionsElements.maximize=(0,h.createActionElement)(this._actions.maximize,u.button,u.buttonIcon,c.blockHidden,e), +this._listActionsElements.minimize=(0,h.createActionElement)(this._actions.minimize,u.button,u.buttonIcon,c.blockHidden,e),this._listActionsWrapperEl.append(this._listActionsElements.up,this._listActionsElements.down,this._listActionsElements.close,this._listActionsElements.maximize,this._listActionsElements.minimize),this._listActionsElements.more=(0,h.createActionElement)(this._actions.more,u.button,u.buttonIcon,c.blockHidden,e);for(const e of Object.keys(this._listActionsElements))(0,n.ensureNotNull)(this._listActionsElements[e]).classList.add(u.newButton);this._parentEl.append(this._listActionsElements.more)}_updateActionVisibilities(e,t){(0,n.ensureNotNull)(this._listActionsElements[e]).classList.toggle(c.blockHidden,!t)}_updateActionTitle(e,t){(0,n.ensureNotNull)(this._listActionsElements[e]).setAttribute("title",t)}_onMouseEnterLeaveEvent(e){this._mouseOverWidget="mouseenter"===e.type,"visibleOnMouseOver"===this._visibilityType.value()&&this._updatePaneControlsWidgetVisibility()}_updatePaneControlsWidgetVisibility(){let e,t=!1;switch(this._visibilityType.value()){case"alwaysOff":e=!1,t=!0;break;case"alwaysOn":e=this._globalVisibility.value();break;case"visibleOnMouseOver":e=this._globalVisibility.value()&&this._mouseOverWidget}this._parentEl.classList.toggle(u.hidden,!e),this._parentEl.classList.toggle(u.forceHidden,!this._globalVisibility.value()||t)}_updateThemedColor(e){if(e.length>0){const[t,s,i]=(0,r.parseRgb)(e);this._parentEl.style.color=(0,r.rgbaToString)([t,s,i,(0,r.normalizeAlphaComponent)(.8)])}else this._parentEl.style.removeProperty("color")}}var p=s(46374),m=s(6799),g=s(38749),b=s(90708),v=s(82334),w=s(23906);const y=(0,l.t)("Double click");var S=s(32856),M=s.n(S),f=s(99182),C=s(19598),E=s(64844),k=s(72897),V=s(50379),W=s(89364),T=s(26924),x=s(63970),D=s(72110);const L=i.mobiletouch,A=(0,l.t)("Delete pane"),H=(0,l.t)("Move pane up"),B=(0,l.t)("Move pane down"),N=(0,l.t)("Maximize pane"),P=(0,l.t)("Restore pane"),I=(0,l.t)("Manage panes"),z=(0,l.t)("Double click"),O=(0,C.hotKeySerialize)({keys:[""],text:z});class F{constructor(e,t,s,i,l){this._actions={},this._moreCMShown=!1,this._themedColor=new(M())(""),this._model=e,this._paneWidget=t,this._callbacks=i,this._closeButtonVisibility=new(M())(this._getCloseButtonVisibility()),this._upButtonVisibility=new(M())(this._getUpButtonVisibility()),this._downButtonVisibility=new(M())(this._getDownButtonVisibility()),this._maximizeButtonVisibility=new(M())(this._getMaximizeButtonVisibility()),this._minimizeButtonVisibility=new(M())(this._getMinimizeButtonVisibility()),this._createActions(),this._visibilityTypeProperty=(0,a.actualBehavior)(),this._visibilityTypeProperty.subscribe(this,e=>{this._visibilityType.setValue(e.value())}),this._visibilityType=new(M())(this._visibilityTypeProperty.value()),this._isPaneMaximize=new(M())(this._getIsPaneMaximizeValue()),this._isWidgetShow=new(M())(this._getIsWidgetShow()),this._backgroundThemeName=s.backgroundThemeName,this._renderer=new _(l,this._actions,{visibilityType:this._visibilityType.readonly(), +globalVisibility:this._isWidgetShow.readonly(),doNotSwitchToContextMenuMode:this._isPaneMaximize.readonly(),themedColor:this._themedColor.readonly()})}destroy(){this._visibilityTypeProperty.unsubscribeAll(this),this._renderer.destroy()}getElement(){return this._renderer.getElement()}action(){return this._actions}update(){this._updateButtonsVisibility(),this._isPaneMaximize.setValue(this._getIsPaneMaximizeValue()),this._isWidgetShow.setValue(this._getIsWidgetShow())}updateWidgetModeByWidth(e){this._renderer.updateWidgetModeByWidth(e)}updateThemedColors(e){null===e&&(e=(0,f.getStdThemedValue)("chartProperties.paneProperties.background",this._backgroundThemeName.value())),this._themedColor.setValue(e||"")}_updateButtonsVisibility(){this._closeButtonVisibility.setValue(this._getCloseButtonVisibility()),this._upButtonVisibility.setValue(this._getUpButtonVisibility()),this._downButtonVisibility.setValue(this._getDownButtonVisibility()),this._maximizeButtonVisibility.setValue(this._getMaximizeButtonVisibility()),this._minimizeButtonVisibility.setValue(this._getMinimizeButtonVisibility())}_createActions(){this._actions.up={iconMap:new Map([["large",k],["small",k]]),action:this._onUpDownButton.bind(this,"up"),visible:this._upButtonVisibility,title:new(M())(H),className:u.up,dataset:{name:"pane-button-up"}},this._actions.down={iconMap:new Map([["large",V],["small",V]]),action:this._onUpDownButton.bind(this,"down"),visible:this._downButtonVisibility,title:new(M())(B),className:u.down,dataset:{name:"pane-button-down"}},this._actions.close={iconMap:new Map([["large",E],["small",E]]),action:this._onCloseButton.bind(this),visible:this._closeButtonVisibility,title:new(M())(A),dataset:{name:"pane-button-close"}},this._actions.maximize={iconMap:new Map([["large",x],["small",W]]),action:this._onToggleMaximizeButton.bind(this),visible:this._maximizeButtonVisibility,title:new(M())(N),hotKeyTitle:O,className:u.maximize,dataset:{name:"pane-button-maximize"}},this._actions.minimize={iconMap:new Map([["large",x],["small",W]]),action:this._onToggleMaximizeButton.bind(this),visible:this._minimizeButtonVisibility,title:new(M())(P),hotKeyTitle:O,className:u.minimize,dataset:{name:"pane-button-minimize"}},this._actions.more={iconMap:new Map([["large",D],["small",T]]),action:this._showButtonsInContextMenu.bind(this),visible:new(M())(!L),title:new(M())(I),dataset:{name:"pane-button-more"}}}_getCloseButtonVisibility(){const e=this._paneWidget.state();let t=!1;return e.containsMainSeries()||e.isMaximized()||L||(t=e.dataSources().some(e=>(0,o.isStudy)(e))),t}_onCloseButton(){const e=this._model.model().panes().indexOf(this._paneWidget.state());this._model.removePane(e)}_getUpButtonVisibility(){const e=this._paneWidget.state();return this._model.model().panes().indexOf(e)>0&&!e.isMaximized()&&!L}_getDownButtonVisibility(){const e=this._paneWidget.state(),t=this._model.model().panes();return t.indexOf(e)1&&!e.isMaximized()&&!L}_getMinimizeButtonVisibility(){const e=this._paneWidget.state();return this._model.model().panes().length>1&&e.isMaximized()}_onToggleMaximizeButton(){this._callbacks.toggleMaximizePane(this._paneWidget)}_showButtonsInContextMenu(e){e.preventDefault(),this._moreCMShown||function(e,t,s){const i=[];if(e.maximize.visible.value()){const t=(0,n.ensure)(e.maximize.title),s=(0,n.ensureNotNull)(e.maximize.action);i.push(new p.Action({actionId:"Chart.PaneControls.MaximizePane",icon:w,label:t.value(),statName:"Maximize Pane",shortcutHint:y,onExecute:()=>s()}))}else if(e.minimize.visible.value()){const t=(0,n.ensure)(e.minimize.title),s=(0,n.ensureNotNull)(e.minimize.action);i.push(new p.Action({actionId:"Chart.PaneControls.MinimizePane",icon:w,label:t.value(),statName:"Minimize Pane",shortcutHint:y,onExecute:()=>s()}))}if(e.up.visible.value()){const t=(0,n.ensure)(e.up.title),s=(0,n.ensureNotNull)(e.up.action);i.push(new p.Action({actionId:"Chart.PaneControls.MovePaneUp",icon:b,label:t.value(),statName:"Move pane up",onExecute:()=>s()}))}if(e.down.visible.value()){const t=(0,n.ensure)(e.down.title),s=(0,n.ensureNotNull)(e.down.action);i.push(new p.Action({actionId:"Chart.PaneControls.MovePaneDown",icon:v,label:t.value(),statName:"Move pane down",onExecute:()=>s()}))}if(e.close.visible.value()){const t=(0,n.ensure)(e.close.title),s=(0,n.ensureNotNull)(e.close.action);i.push(new p.Action({actionId:"Chart.PaneControls.DeletePane",icon:g,label:t.value(),statName:"Delete pane",onExecute:()=>s()}))}const l=(0,n.ensureNotNull)(t.target).getBoundingClientRect();return m.ContextMenuManager.showMenu(i,{clientX:l.right,clientY:l.top+l.height+3,attachToXBy:"right"},void 0,void 0,s)}(this._actions,e,()=>{this._moreCMShown=!1}).then(()=>{this._moreCMShown=!0})}_getIsPaneMaximizeValue(){return this._paneWidget.state().isMaximized()}_getIsWidgetShow(){return this._model.model().panes().length>1}}},3330:(e,t,s)=>{"use strict";s.d(t,{createActionElement:()=>l});var i=s(47903);function l(e,t,s,l,a){const o=document.createElement("div");o.className=t,o.classList.toggle(l,!e.visible.value()),Object.assign(o.dataset,e.dataset),void 0!==e.className&&o.classList.add(e.className),void 0!==e.title&&(o.classList.add("apply-common-tooltip"),o.setAttribute("title",e.title.value()),void 0!==e.hotKeyTitle&&(o.dataset.tooltipHotkey=e.hotKeyTitle)),o.addEventListener("touchend",e.action),o.addEventListener("mousedown",t=>{0===t.button&&e.action(t)});const n=document.createElement("div");n.classList.add(s);const r=e.iconMap.get(a)||"";return(0,i.isString)(r)?n.innerHTML=r:n.appendChild(r),o.appendChild(n),o}},92882:(e,t,s)=>{"use strict";s.d(t,{trackingModeIsAvailable:()=>i});const i=s(43367).CheckMobile.any()},59726:(e,t,s)=>{"use strict";function i(e,t,s,i,l){function a(l){if(e>l.timeStamp)return;const a=l.target;void 0!==s&&null!==t&&null!==a&&a.ownerDocument===i&&(t.contains(a)||s(l))} +return l.click&&i.addEventListener("click",a,!1),l.mouseDown&&i.addEventListener("mousedown",a,!1),l.touchEnd&&i.addEventListener("touchend",a,!1),l.touchStart&&i.addEventListener("touchstart",a,!1),()=>{i.removeEventListener("click",a,!1),i.removeEventListener("mousedown",a,!1),i.removeEventListener("touchend",a,!1),i.removeEventListener("touchstart",a,!1)}}s.d(t,{addOutsideEventListener:()=>i})},75533:(e,t,s)=>{"use strict";s.d(t,{weekDaysShortNames:()=>a,weekDaysMiniNames:()=>o});var i=s(79881),l=s(10165);l.Months.JANUARY,(0,i.t)("January"),l.Months.FEBRUARY,(0,i.t)("February"),l.Months.MARCH,(0,i.t)("March"),l.Months.APRIL,(0,i.t)("April"),l.Months.MAY,(0,i.t)("May"),l.Months.JUNE,(0,i.t)("June"),l.Months.JULY,(0,i.t)("July"),l.Months.AUGUST,(0,i.t)("August"),l.Months.SEPTEMBER,(0,i.t)("September"),l.Months.OCTOBER,(0,i.t)("October"),l.Months.NOVEMBER,(0,i.t)("November"),l.Months.DECEMBER,(0,i.t)("December"),l.Months.JANUARY,(0,i.t)("Jan"),l.Months.FEBRUARY,(0,i.t)("Feb"),l.Months.MARCH,(0,i.t)("Mar"),l.Months.APRIL,(0,i.t)("Apr"),l.Months.MAY,(0,i.t)("May",{context:"short"}),l.Months.JUNE,(0,i.t)("Jun"),l.Months.JULY,(0,i.t)("Jul"),l.Months.AUGUST,(0,i.t)("Aug"),l.Months.SEPTEMBER,(0,i.t)("Sep"),l.Months.OCTOBER,(0,i.t)("Oct"),l.Months.NOVEMBER,(0,i.t)("Nov"),l.Months.DECEMBER,(0,i.t)("Dec"),l.WeekDays.SUNDAY,(0,i.t)("Sunday"),l.WeekDays.MONDAY,(0,i.t)("Monday"),l.WeekDays.TUESDAY,(0,i.t)("Tuesday"),l.WeekDays.WEDNESDAY,(0,i.t)("Wednesday"),l.WeekDays.THURSDAY,(0,i.t)("Thursday"),l.WeekDays.FRIDAY,(0,i.t)("Friday"),l.WeekDays.SATURDAY,(0,i.t)("Saturday");const a={[l.WeekDays.SUNDAY]:(0,i.t)("Sun"),[l.WeekDays.MONDAY]:(0,i.t)("Mon"),[l.WeekDays.TUESDAY]:(0,i.t)("Tue"),[l.WeekDays.WEDNESDAY]:(0,i.t)("Wed"),[l.WeekDays.THURSDAY]:(0,i.t)("Thu"),[l.WeekDays.FRIDAY]:(0,i.t)("Fri"),[l.WeekDays.SATURDAY]:(0,i.t)("Sat")},o={[l.WeekDays.SUNDAY]:(0,i.t)("Su",{context:"day_of_week"}),[l.WeekDays.MONDAY]:(0,i.t)("Mo",{context:"day_of_week"}),[l.WeekDays.TUESDAY]:(0,i.t)("Tu",{context:"day_of_week"}),[l.WeekDays.WEDNESDAY]:(0,i.t)("We",{context:"day_of_week"}),[l.WeekDays.THURSDAY]:(0,i.t)("Th",{context:"day_of_week"}),[l.WeekDays.FRIDAY]:(0,i.t)("Fr",{context:"day_of_week"}),[l.WeekDays.SATURDAY]:(0,i.t)("Sa",{context:"day_of_week"})}},27278:(e,t,s)=>{"use strict";s.d(t,{useWatchedValueReadonly:()=>l});var i=s(67294);const l=(e,t=!1)=>{const s="watchedValue"in e?e.watchedValue:void 0,l="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[a,o]=(0,i.useState)(s?s.value():l);return(t?i.useLayoutEffect:i.useEffect)(()=>{if(s){o(s.value());const e=e=>o(e);return s.subscribe(e),()=>s.unsubscribe(e)}return()=>{}},[s]),a}},98957:e=>{e.exports=''},71902:e=>{ +e.exports=''},90710:e=>{e.exports=''},36858:e=>{ +e.exports='' +},1037:e=>{e.exports=''},42340:e=>{e.exports=''},24335:e=>{e.exports=''},93741:e=>{e.exports=''},93655:e=>{e.exports=''},76297:e=>{ +e.exports=''},64844:e=>{e.exports=''},38749:e=>{e.exports=''},82334:e=>{e.exports=''},23906:e=>{e.exports=''},90708:e=>{e.exports=''},72110:e=>{e.exports=''},26924:e=>{ +e.exports=''},50379:e=>{e.exports=''},63970:e=>{e.exports=''},89364:e=>{e.exports=''},72897:e=>{e.exports=''},30336:e=>{e.exports=''},24453:e=>{e.exports=''},22226:e=>{e.exports=''},13008:e=>{e.exports=''},11483:e=>{e.exports=''}, +38531:e=>{e.exports=''},57567:e=>{e.exports=''},79632:e=>{e.exports=''},36973:e=>{e.exports=''},4346:e=>{e.exports=''},12633:e=>{e.exports=''},20296:e=>{e.exports=''},8867:e=>{e.exports=''},81669:e=>{e.exports=''},44685:e=>{e.exports=''},83363:e=>{e.exports=''}, +5749:e=>{e.exports=''},70034:e=>{e.exports=''},18866:e=>{e.exports=''},13335:e=>{e.exports=''},42277:e=>{e.exports=''},14836:e=>{e.exports=''},60737:e=>{e.exports=''},2885:e=>{e.exports=''},55270:e=>{ +e.exports=''},94964:e=>{e.exports=''},57271:e=>{e.exports=''},59437:e=>{e.exports=''},56635:e=>{e.exports=''},11005:e=>{e.exports=''},52495:e=>{e.exports=''},77679:e=>{ +e.exports=''},74077:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/compare-model.08356f64fbfcdcdc3776.js b/public/static/charting_library/bundles/compare-model.08356f64fbfcdcdc3776.js new file mode 100644 index 0000000..9d7ea95 --- /dev/null +++ b/public/static/charting_library/bundles/compare-model.08356f64fbfcdcdc3776.js @@ -0,0 +1,5 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7271],{38972:(e,t,s)=>{s.d(t,{qualifyProName:()=>r,QualifiedSources:()=>o});var o,i=s(16282),n=s(27490);function r(e){return e}!function(e){function t(e){return e.pro_name}function s(e){{const t=n.enabled("pay_attention_to_ticker_not_symbol")?e.ticker:e.full_name;return(0,i.ensureDefined)(t)}}e.fromQuotesResponse=function(e){const{values:s,symbolname:o,status:i}=e;return"error"===i&&o?o:t(s)},e.fromQuotes=t,e.fromSymbolSearchResult=function(e,t){{const{ticker:s,full_name:o}=null!=t?t:e;return n.enabled("pay_attention_to_ticker_not_symbol")?(0,i.ensureDefined)(null!=s?s:o):(0,i.ensureDefined)(o)}},e.fromSymbolInfo=s,e.fromSymbolMessage=function(e,t){return"symbol_resolved"===t.method?s(t.params[1]):e}}(o||(o={}))},3627:(e,t,s)=>{function o(e){if(e.fullName)return e.fullName;let t;return t=e.prefix||e.exchange?(e.prefix||e.exchange)+":"+e.name:e.name,t.replace(/<\/?[^>]+(>|$)/g,"")}function i(e){return""===e.value}function n(){const e=a();return e.find(i)||e[0]||null}function r(){return a()}function a(){return window.ChartApiInstance.supportedExchangesList().map(e=>({...e,country:"",providerId:"",flag:""}))}function l(){return window.ChartApiInstance.supportedSymbolsTypes()}function c(){return""}function d(){return!1}s.d(t,{getSymbolFullName:()=>o,isAllExchanges:()=>i,getDefaultExchange:()=>n,getAvailableExchanges:()=>r,getAvailableSymbolTypes:()=>l,getAllSymbolTypesValue:()=>c,exchangeSelectDisabled:()=>d})},66664:(e,t,s)=>{s.r(t),s.d(t,{CompareModel:()=>C});var o=s(16282),i=s(27490),n=s(1049),r=s(89164),a=s(32856),l=s.n(a),c=s(40488),d=s(33508),h=s(32643),u=s(38972),m=s(3627);new Set(["short_name","description","exchange","type","country_code","provider_id"]);const S=(0,m.getAvailableExchanges)(),y={};for(const e of S)y[e.value]={country:e.country,providerId:e.providerId};function b(e){return e instanceof d.study_Overlay||e instanceof h.StudyCompare}function _(e){if(!e)return;const[t,s]=e.split(":");return s&&t&&y[t]?y[t]:void 0}function p(e,t,s){const o=u.QualifiedSources.fromSymbolInfo(e),i=_(o);return{id:(null==s?void 0:s.id())||o,symbol:o,checked:t,title:e.name,description:e.description,exchangeName:e.exchange,country:null==i?void 0:i.country,providerId:null==i?void 0:i.providerId,marketType:e.type,study:s}}function f(e,t,s,o){return{id:void 0!==s?s.id():e,symbol:e,checked:t,title:e,study:s,description:o}}var g=s(64222),v=s(17915);const I=new Map;class w{constructor(e,t,s="watchlist"){this._symbolDataHandlers=new Map,this._fastSymbols=new Set,this._subscribedSymbols=new Set,this._subscriptionSet=new Set,this._cancelSubscriptionSet=new Set,this._resolvedSymbolsSet=new Set,this._quoteSessionDataHandler=e=>{const t=(0,o.ensureDefined)(e.symbolname),{filtered:s,keepSubscription:i}=this._applyDataFilters(e);i||this._unsubscribeSymbols([t]),this._setSymbolDataCache(t,s);const n=this._symbolDataHandlers.get(t);n&&n(s)},this._clientId=e,this._quoteSession=(0,v.getQuoteSessionInstance)(s),this._lastSymbolData=t||new Map}destroy(){ +const e=Array.from(this._subscribedSymbols);this._unsubscribeSymbols(e)}addFastSymbol(e){!this._fastSymbols.has(e)&&this._subscribedSymbols.has(e)&&(this._fastSymbols.add(e),this._quoteSession.setFastSymbols(this._clientId,Array.from(this._fastSymbols)))}removeFastSymbol(e){this._fastSymbols.has(e)&&(this._fastSymbols.delete(e),this._quoteSession.setFastSymbols(this._clientId,Array.from(this._fastSymbols)))}addSymbolDataHandler(e,t){this._symbolDataHandlers.set(e,t)}removeSymbolDataHandler(e){this._symbolDataHandlers.delete(e)}addToSubscriptionSet(e){e.forEach(e=>{this._subscriptionSet.add(e)})}clearSubscriptionSet(){this._subscriptionSet.clear()}addToCancelSubscriptionSet(e){e.forEach(e=>{this._cancelSubscriptionSet.add(e)})}commitSubscriptionChanges(){Array.from(this._subscriptionSet).forEach(e=>{this._cancelSubscriptionSet.has(e)&&(this._subscriptionSet.delete(e),this._cancelSubscriptionSet.delete(e))}),this._subscribeSymbols(Array.from(this._subscriptionSet)),this._subscriptionSet.clear(),this._unsubscribeSymbols(Array.from(this._cancelSubscriptionSet)),this._cancelSubscriptionSet.clear(),this._quoteSession.setFastSymbols(this._clientId,Array.from(this._fastSymbols))}getLastSymbolData(e){return this._lastSymbolData.get(e)}getSymbolSnapshotForAll(e,t,s=guid()){const o=e.map(e=>this.getSymbolSnapshot(e,t,s));return Promise.all(o)}getSymbolSnapshot(e,t,s=guid()){const o=this._lastSymbolData.get(e);if(o&&"ok"===o.status){const s=this._resolvedSymbolsSet.has(e)&&o.complete;if(D(o,t)||s)return this._resolvedSymbolsSet.add(e),Promise.resolve(o)}return new Promise(o=>{const i=this._clientId+"_snapshot_"+s,n=s=>{const{filtered:r,keepSubscription:a}=this._applyDataFilters(s);r&&"error"!==r.status&&this._setSymbolDataCache(e,r),(!a||D(r,t)||"error"===r.status||r.complete)&&(this._quoteSession.unsubscribe(i,e,n),o(r))};this._quoteSession.subscribe(i,e,n)})}getSymbolFullName(e){if(I.has(e))return(0,o.ensureDefined)(I.get(e));const t=new Promise(t=>{const s=this._clientId+"_SymbolFullName",o=i=>{const n=i=>{this._quoteSession.unsubscribe(s,e,o),t(i)};i&&"ok"===i.status?i.values&&n(i.values.pro_name||e):n(e)};this._quoteSession.subscribe(s,e,o)});return I.set(e,t),t}getSymbolsFullNames(e){return Promise.all(e.map(e=>this.getSymbolFullName(e)))}getUniqueSymbolsFullNames(e){return this.getSymbolsFullNames(e).then(e=>Array.from(new Set(e)))}_subscribeSymbols(e){this._quoteSession.subscribe(this._clientId,e,this._quoteSessionDataHandler),e.forEach(e=>this._subscribedSymbols.add(e))}_unsubscribeSymbols(e){this._quoteSession.unsubscribe(this._clientId,e,this._quoteSessionDataHandler),e.forEach(e=>{this._subscribedSymbols.delete(e)})}_setSymbolDataCache(e,t){var s;const o=(null===(s=this._lastSymbolData.get(e))||void 0===s?void 0:s.values)||{};this._resolvedSymbolsSet.add(e),this._lastSymbolData.set(e,{...t,values:{...o,...t.values}})}_applyDataFilters(e){return{filtered:e,keepSubscription:!0}}}const k=new class{constructor(){this._adaptersMap=new Map,this._lastSymbolData=new Map}destroy(){this._adaptersMap.forEach(e=>{ +e.forEach(e=>e.destroy())}),this._lastSymbolData.clear()}get(e,t="watchlist"){let s;const o=this._adaptersMap.get(e);if(o){const i=o.get(t);i?s=i:(s=new w(e,this._lastSymbolData,t),o.set(t,s))}else{s=new w(e,this._lastSymbolData,t);const o=new Map;o.set(t,s),this._adaptersMap.set(e,o)}return s}};function D(e,t){for(const s of Array.from(t))if(!e.values.hasOwnProperty(s))return!1;return!0}class C{constructor(e){this._contentItemList=new(l())([]),this._checkedSymbols=new Map,this._recentLength=10,this._adapter=k.get("compare-dialog-adapter"),this._isDataReady=new(l())(!1),this._highlightedSymbol=new(l())(null),this._defaultSymbolsDescriptions=new Map,this._idToStudyMap=new Map,this._chartSession=null,this._recentSymbolsEnabled=i.enabled("compare_recent_symbols_enabled"),this._preventHandleSourcesChange=!0,this.removeStudy=e=>{const{symbol:t,study:s}=e;if(!s)return;this._chartWidget.model().removeSource(s,!1);const o=this._checkedSymbols.get(t);o&&o.length>1?this._removeStudyIdFromCheckedSymbols(t,s.id()):this._checkedSymbols.delete(t),this._updateContentItemList(this._contentItemList.value(),!0)},this._getResolveSymbolPromise=(e,t=(0,n.makeNextSymbolId)())=>{const s=(0,r.encodeExtendedSymbolOrGetSimpleSymbolString)({symbol:e});return new Promise(e=>{(0,o.ensureNotNull)(this._chartSession).resolveSymbol(t,s,t=>{e(t)})})},this._chartWidget=e.activeChartWidget.value(),this._chartSession=this._chartWidget.model().model().chartApi();const t=new Set(this._loadRecent().reverse()),s=new Set,a=new Set,c=this._chartWidget.model().model().dataSources().filter(b),d=c.map(e=>{const t=e.symbolInfo();if(t)return Promise.resolve(u.QualifiedSources.fromSymbolInfo(t));const s=e.symbol();return(0,u.qualifyProName)(s)});Promise.all(d).then(e=>{const o=e.map((e,t)=>void 0!==e?c[t]:void 0).filter(A);e.filter(A).forEach((e,i)=>{const n=o[i],r=n.id();this._addStudyIdToCheckedSymbols(e,r),this._idToStudyMap.set(r,n),t.has(e)?s.add(e):a.add(e)});const i=Array.from(t).filter(e=>this._checkedSymbols.has(e)).reduce((e,t)=>(s.has(t)&&e.push(t),e),[]).concat(Array.from(a)),r=Array.from(t);if(r.length{e.push((0,u.qualifyProName)(t.symbol)),this._defaultSymbolsDescriptions.set(t.symbol,t.title)});const t=[...r,...e];i.push(...t)}else i.push(...r);const l=Array.from(new Set(i));{const e=new Map,t=l.map(t=>{const s=(0,n.makeNextSymbolId)();return e.set(t,s),this._getResolveSymbolPromise(t,s)});Promise.all(t).then(t=>this._handleInitProcess(i,s=>{const o=e.get(s);return t.find(e=>e.params[0]===o)},(e,t)=>u.QualifiedSources.fromSymbolMessage(t,e),(e,t,s,o)=>"symbol_resolved"===e.method?p(e.params[1],s,o):f(t,s,o,this._getSymbolDescription(t))))}})}chartModel(){return this._chartWidget.model().model()}handleSourcesChange(){if(this._preventHandleSourcesChange)return;const e=this.chartModel().dataSources().filter(b),t=new Set(e.map(e=>e.id()));Array.from(t).forEach(e=>{if(!this._checkedStudiesIds().has(e)){ +const t=this.chartModel().dataSourceForId(e)||null;if(null!==t&&b(t)){const t=this._getContentItemByStudyId(e);if(!t)return;this._addStudyIdToCheckedSymbols(t.symbol,e),this._saveRecent(t.symbol),this._updateContentItemList(this._contentItemList.value(),!0)}}});Array.from(this._checkedStudiesIds()).forEach(e=>{if(!t.has(e)){const t=this._getContentItemByStudyId(e);if(!t)return;const s=this._checkedSymbols.get(t.symbol);s&&s.length>1?this._removeStudyIdFromCheckedSymbols(t.symbol,e):this._checkedSymbols.delete(t.symbol),this._updateContentItemList(this._contentItemList.value(),!0)}})}studies(){return this._contentItemList.readonly()}isDataReady(){return this._isDataReady.readonly()}highlightedSymbol(){return this._highlightedSymbol.readonly()}applyStudy(e,t,s){const o=this._chartWidget;if(!o)return;let i;switch(t){case c.CompareOption.SameScale:i=o.addCompareAsOverlay(e,s);break;case c.CompareOption.NewPriceScale:i=o.addOverlayStudy(e,!0,s);break;case c.CompareOption.NewPane:i=o.addOverlayStudy(e,!1,s)}Promise.all([this._getResolveSymbolPromise(e),i]).then(t=>this._handleApplyProcess(t,t=>u.QualifiedSources.fromSymbolMessage(e,t),(e,t,s)=>"symbol_resolved"===e.method?p(e.params[1],!0,s):f(t,!0,s)))}_handleApplyProcess(e,t,s){const[o,i]=e;if(!o||null===i)return;const n=i.id(),r=t(o),a=s(o,r,i);this._saveRecent(r),this._addStudyIdToCheckedSymbols(r,n),this._showNewItem(a,r,n)}_handleInitProcess(e,t,s,o){const i=[];for(const n of e){const e=t(n);if(!e)continue;const r=s(e,n),a=this._checkedSymbols.get(r),l=-1!==i.findIndex(e=>e.symbol===r);if(void 0===a||l)this._recentSymbolsEnabled&&i.push(o(e,r,!1));else for(const t of a)i.push(o(e,r,!0,this._idToStudyMap.get(t)))}this._updateContentItemList(i),this._isDataReady.setValue(!0)}_showNewItem(e,t,s){const o=this._contentItemList.value().map(this._updateChecked,this);o.unshift(e),this._recentSymbolsEnabled&&o.unshift({...e,id:t,study:void 0,checked:!1}),this._updateContentItemList(o),this._highlightedSymbol.setValue(s),setTimeout(()=>this._highlightedSymbol.setValue(null),500)}_addStudyIdToCheckedSymbols(e,t){const s=this._checkedSymbols.get(e)||[];this._checkedSymbols.set(e,[...s,t])}_removeStudyIdFromCheckedSymbols(e,t){const s=this._checkedSymbols.get(e);if(s){const o=s.indexOf(t);s.splice(o,1),this._checkedSymbols.set(e,s)}}_updateChecked(e){var t;const s=this._checkedSymbols.get(e.symbol),o=null===(t=e.study)||void 0===t?void 0:t.id();return o?{...e,checked:Boolean(s&&s.includes(o))}:e}_updateContentItemList(e,t){const s=t?e.map(this._updateChecked,this):e,o=s.filter(e=>e.checked);if(this._recentSymbolsEnabled){const e=new Set,t=s.reduce((t,s)=>(s.checked||e.has(s.symbol)||(t.push(s),e.add(s.symbol)),t),[]).slice(0,this._recentLength);this._contentItemList.setValue(o.concat(t))}else this._contentItemList.setValue(o)}_checkedStudiesIds(){const e=[].concat(...Array.from(this._checkedSymbols.values()));return new Set(e)}_getContentItemByStudyId(e){const t=this._contentItemList.value(),s=t.findIndex(t=>t.study&&t.study.id()===e);return t[s]}_loadRecent(){ +return this._recentSymbolsEnabled?g.getJSON("CompareDialog.recent",[]):[]}_saveRecent(e){if(!this._recentSymbolsEnabled)return;const t=new Set(this._loadRecent());t.has(e)&&t.delete(e),t.add(e),g.setJSON("CompareDialog.recent",Array.from(t).slice(-this._recentLength))}_getSymbolDescription(e){var t;return this._defaultSymbolsDescriptions.size&&null!==(t=this._defaultSymbolsDescriptions.get(e))&&void 0!==t?t:""}}function A(e){return void 0!==e}},40488:(e,t,s)=>{var o;s.d(t,{CompareOption:()=>o}),function(e){e[e.SameScale=0]="SameScale",e[e.NewPriceScale=1]="NewPriceScale",e[e.NewPane=2]="NewPane"}(o||(o={}))}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/context-menu-renderer.9a0385060e4241baf12d.js b/public/static/charting_library/bundles/context-menu-renderer.9a0385060e4241baf12d.js new file mode 100644 index 0000000..7c03f9e --- /dev/null +++ b/public/static/charting_library/bundles/context-menu-renderer.9a0385060e4241baf12d.js @@ -0,0 +1,4 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1584],{67891:function(e,t){var n,o,r;o=[t],void 0===(r="function"==typeof(n=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t{e.exports={wrapper:"wrapper-2eXD4rIf",input:"input-2eXD4rIf",box:"box-2eXD4rIf",icon:"icon-2eXD4rIf",noOutline:"noOutline-2eXD4rIf","intent-danger":"intent-danger-2eXD4rIf",check:"check-2eXD4rIf", +dot:"dot-2eXD4rIf"}},64526:e=>{e.exports={wrap:"wrap-164vy-kj",positionBottom:"positionBottom-164vy-kj",backdrop:"backdrop-164vy-kj",drawer:"drawer-164vy-kj",positionLeft:"positionLeft-164vy-kj"}},69560:e=>{e.exports={favorite:"favorite-I_fAY9V2",disabled:"disabled-I_fAY9V2",active:"active-I_fAY9V2",checked:"checked-I_fAY9V2"}},53400:(e,t,n)=>{"use strict";n.d(t,{CheckboxInput:()=>l});var o=n(67294),r=n(94184),i=n(49775),s=n(44805),a=n(58644),c=n.n(a);function l(e){const t=r(c().box,c()["intent-"+e.intent],{[c().check]:!Boolean(e.indeterminate),[c().dot]:Boolean(e.indeterminate),[c().noOutline]:-1===e.tabIndex}),n=r(c().wrapper,e.className);return o.createElement("span",{className:n,title:e.title},o.createElement("input",{id:e.id,tabIndex:e.tabIndex,className:c().input,type:"checkbox",name:e.name,checked:e.checked,disabled:e.disabled,value:e.value,autoFocus:e.autoFocus,role:e.role,onChange:function(){e.onChange&&e.onChange(e.value)},ref:e.reference}),o.createElement("span",{className:t},o.createElement(i.Icon,{icon:s,className:c().icon})))}},90872:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ContextMenuRenderer:()=>c});var o=n(67294),r=n(73935),i=n(56806),s=n(76553),a=n(78106);class c{constructor(e,t,n,r){this._root=document.createElement("div"),this._isShown=!1,this._manager=null,this._props={isOpened:!1,items:e,position:{x:0,y:0},menuStatName:t.statName,mode:t.mode,"data-name":t["data-name"]},this._onDestroy=n,this._onShow=r,this._activeElement=document.activeElement,this._returnFocus=t.returnFocus,this._takeFocus=t.takeFocus,this._menuElementRef=o.createRef(),this._doNotCloseOn=t.doNotCloseOn,t.manager&&(this._manager=t.manager)}show(e){this._onShow&&this._onShow(),this._isShown=!0,this._render({...this._props,position:(t,n,o)=>{var r,i,a;e.touches&&e.touches.length>0&&(e={clientX:e.touches[0].clientX,clientY:e.touches[0].clientY});let c;switch(null!==(r=e.attachToXBy)&&void 0!==r?r:(0,s.isRtl)()?"right":"left"){case"left":c=e.clientX;break;case"right":c=e.clientX-t}let l,d=null!==(i=e.attachToYBy)&&void 0!==i?i:"auto",u=e.clientY;if("auto-strict"===d){const t=u+(null!==(a=e.boxHeight)&&void 0!==a?a:0);o{this.hide(),this._unmount()},doNotCloseOn:this._doNotCloseOn,takeFocus:this._takeFocus,menuElementReference:this._menuElementRef})}hide(){this._isShown=!1,this._render({...this._props,isOpened:!1})}isShown(){return this._isShown}_unmount(){this._isShown=!1,r.unmountComponentAtNode(this._root),this._onDestroy&&this._onDestroy(),this._returnFocus&&this._activeElement instanceof HTMLElement&&this._activeElement.focus({preventScroll:!0})}_render(e){r.render(o.createElement(a.SlotContext.Provider,{value:this._manager},o.createElement(i.OverlapContextMenu,{...e})),this._root)}}},59726:(e,t,n)=>{"use strict";function o(e,t,n,o,r){function i(r){if(e>r.timeStamp)return;const i=r.target +;void 0!==n&&null!==t&&null!==i&&i.ownerDocument===o&&(t.contains(i)||n(r))}return r.click&&o.addEventListener("click",i,!1),r.mouseDown&&o.addEventListener("mousedown",i,!1),r.touchEnd&&o.addEventListener("touchend",i,!1),r.touchStart&&o.addEventListener("touchstart",i,!1),()=>{o.removeEventListener("click",i,!1),o.removeEventListener("mousedown",i,!1),o.removeEventListener("touchend",i,!1),o.removeEventListener("touchstart",i,!1)}}n.d(t,{addOutsideEventListener:()=>o})},94004:(e,t,n)=>{"use strict";n.d(t,{DrawerManager:()=>r,DrawerContext:()=>i});var o=n(67294);class r extends o.PureComponent{constructor(e){super(e),this._addDrawer=()=>{const e=this.state.currentDrawer+1;return this.setState({currentDrawer:e}),e},this._removeDrawer=()=>{const e=this.state.currentDrawer-1;return this.setState({currentDrawer:e}),e},this.state={currentDrawer:0}}render(){return o.createElement(i.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.currentDrawer}},this.props.children)}}const i=o.createContext(null)},57374:(e,t,n)=>{"use strict";n.d(t,{Drawer:()=>v});var o=n(67294),r=n(16282),i=n(94184),s=n(67891),a=n(75761),c=n(4735),l=n(94004),d=n(43367),u=n(94884),h=n(64526);function v(e){const{position:t="Bottom",onClose:n,children:v,className:m,theme:p=h}=e,w=(0,r.ensureNotNull)((0,o.useContext)(l.DrawerContext)),[f,g]=(0,o.useState)(0),E=(0,o.useRef)(null),b=(0,o.useContext)(u.CloseDelegateContext);return(0,o.useEffect)(()=>{const e=(0,r.ensureNotNull)(E.current);return e.focus({preventScroll:!0}),b.subscribe(w,n),(0,a.setFixedBodyState)(!0),d.CheckMobile.iOS()&&(0,s.disableBodyScroll)(e),g(w.addDrawer()),()=>{b.unsubscribe(w,n);const t=w.removeDrawer();d.CheckMobile.iOS()&&(0,s.enableBodyScroll)(e),0===t&&(0,a.setFixedBodyState)(!1)}},[]),o.createElement(c.Portal,null,o.createElement("div",{className:i(h.wrap,h["position"+t])},f===w.currentDrawer&&o.createElement("div",{className:h.backdrop,onClick:n}),o.createElement("div",{className:i(h.drawer,p.drawer,h["position"+t],m),ref:E,tabIndex:-1,"data-name":e["data-name"]},v)))}},65043:(e,t,n)=>{"use strict";n.d(t,{FavoriteButton:()=>u});var o=n(79881),r=n(67294),i=n(94184),s=n(49775),a=n(72579),c=n(23204),l=n(69560);const d={add:(0,o.t)("Add to favorites"),remove:(0,o.t)("Remove from favorites")};function u(e){const{className:t,isFilled:n,isActive:o,onClick:u,...h}=e;return r.createElement(s.Icon,{...h,className:i(l.favorite,"apply-common-tooltip",n&&l.checked,o&&l.active,t),icon:n?a:c,onClick:u,title:n?d.remove:d.add})}},44805:e=>{e.exports=''},47642:e=>{e.exports=''},72579:e=>{ +e.exports=''},23204:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/currency-label-menu.6dde8a17826b1fb3712c.js b/public/static/charting_library/bundles/currency-label-menu.6dde8a17826b1fb3712c.js new file mode 100644 index 0000000..af5c154 --- /dev/null +++ b/public/static/charting_library/bundles/currency-label-menu.6dde8a17826b1fb3712c.js @@ -0,0 +1,7 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2704],{72227:e=>{e.exports={summary:"summary-3UYGeClB",hovered:"hovered-3UYGeClB",caret:"caret-3UYGeClB"}},32455:e=>{e.exports={"tablet-normal-breakpoint":"screen and (max-width: 768px)","small-height-breakpoint":"screen and (max-height: 360px)","tablet-small-breakpoint":"screen and (max-width: 428px)"}},6960:e=>{e.exports={container:"container-3n5_2-hI",inputContainer:"inputContainer-3n5_2-hI",withCancel:"withCancel-3n5_2-hI",input:"input-3n5_2-hI",icon:"icon-3n5_2-hI",cancel:"cancel-3n5_2-hI"}},78714:e=>{e.exports={scrollWrap:"scrollWrap-2-It3_hB"}},60499:e=>{e.exports={container:"container-9xiUj6X_",separator:"separator-9xiUj6X_",section:"section-9xiUj6X_"}},8251:e=>{e.exports={action:"action-DhEzLCdX",hovered:"hovered-DhEzLCdX",active:"active-DhEzLCdX",label:"label-DhEzLCdX",description:"description-DhEzLCdX",selected:"selected-DhEzLCdX",small:"small-DhEzLCdX",withDescription:"withDescription-DhEzLCdX",labelAndDescription:"labelAndDescription-DhEzLCdX",icon:"icon-DhEzLCdX",fakeIcon:"fakeIcon-DhEzLCdX",highlighted:"highlighted-DhEzLCdX"}},72346:e=>{e.exports={menu:"menu-__tSsAAY",withDescriptions:"withDescriptions-__tSsAAY",header:"header-__tSsAAY",title:"title-__tSsAAY",container:"container-__tSsAAY",icon:"icon-__tSsAAY",clear:"clear-__tSsAAY",input:"input-__tSsAAY",highlighted:"highlighted-__tSsAAY",active:"active-__tSsAAY",section:"section-__tSsAAY"}},75074:()=>{},75695:e=>{e.exports={highlighted:"highlighted-1Qud56dI"}},78706:e=>{e.exports={separator:"separator-eqcGT_ow",small:"small-eqcGT_ow",normal:"normal-eqcGT_ow",large:"large-eqcGT_ow"}},2632:e=>{e.exports={icon:"icon-19OjtB6A",dropped:"dropped-19OjtB6A"}},74818:(e,t,n)=>{"use strict";function o(e){return r(e,s)}function i(e){return r(e,a)}function r(e,t){const n=Object.entries(e).filter(t),o={};for(const[e,t]of n)o[e]=t;return o}function s(e){const[t,n]=e;return 0===t.indexOf("data-")&&"string"==typeof n}function a(e){return 0===e[0].indexOf("aria-")}n.d(t,{filterDataProps:()=>o,filterAriaProps:()=>i,filterProps:()=>r,isDataAttribute:()=>s,isAriaAttribute:()=>a})},99055:(e,t,n)=>{"use strict";n.d(t,{CollapsibleSection:()=>c});var o=n(67294),i=n(94184),r=n.n(i),s=n(88262),a=n(72227);function c(e){return o.createElement(o.Fragment,null,o.createElement("div",{className:r()(e.className,a.summary),onClick:function(){e.onStateChange&&e.onStateChange(!e.open)},"data-open":e.open},e.summary,o.createElement(s.ToolWidgetCaret,{className:a.caret,dropped:Boolean(e.open)})),e.open&&e.children)}},19330:(e,t,n)=>{"use strict";n.d(t,{VerticalAttachEdge:()=>o,HorizontalAttachEdge:()=>i,VerticalDropDirection:()=>r,HorizontalDropDirection:()=>s,getPopupPositioner:()=>l});var o,i,r,s,a=n(16282);!function(e){e[e.Top=0]="Top",e[e.Bottom=1]="Bottom"}(o||(o={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(i||(i={})),function(e){e[e.FromTopToBottom=0]="FromTopToBottom",e[e.FromBottomToTop=1]="FromBottomToTop"}(r||(r={})),function(e){e[e.FromLeftToRight=0]="FromLeftToRight", +e[e.FromRightToLeft=1]="FromRightToLeft"}(s||(s={}));const c={verticalAttachEdge:o.Bottom,horizontalAttachEdge:i.Left,verticalDropDirection:r.FromTopToBottom,horizontalDropDirection:s.FromLeftToRight,verticalMargin:0,horizontalMargin:0,matchButtonAndListboxWidths:!1};function l(e,t){return(n,l)=>{const u=(0,a.ensureNotNull)(e).getBoundingClientRect(),{verticalAttachEdge:d=c.verticalAttachEdge,verticalDropDirection:h=c.verticalDropDirection,horizontalAttachEdge:m=c.horizontalAttachEdge,horizontalDropDirection:p=c.horizontalDropDirection,horizontalMargin:f=c.horizontalMargin,verticalMargin:g=c.verticalMargin,matchButtonAndListboxWidths:v=c.matchButtonAndListboxWidths}=t,E=d===o.Top?-1*g:g,C=m===i.Right?u.right:u.left,x=d===o.Top?u.top:u.bottom,D={x:C-(p===s.FromRightToLeft?n:0)+f,y:x-(h===r.FromBottomToTop?l:0)+E};return v&&(D.overrideWidth=u.width),D}}},99207:(e,t,n)=>{"use strict";n.r(t),n.d(t,{currencyActions:()=>r});var o=n(16282),i=n(79881);function r(e,t,n){if(null===t||t.readOnly)return[];const r=[],s=(e,t,n,o,i,r)=>({id:e,label:t,icon:n,description:o,isActive:i,onClick:r}),a=t=>{e.setPriceScaleCurrency(n,t)},c=t.selectedCurrency,l=t.originalCurrencies,u=t.baseCurrencies,d=t.displayedValues,h={id:"first_section",actions:[]};if(l.size>1){const e=s("Mixed",(0,i.t)("Mixed"),void 0,void 0,null===t.selectedCurrency,()=>a(null));h.actions.push(e)}const m=e.model().availableCurrencies();if(null!==c){const e=(0,o.ensureNotNull)(m.item(c)),t=s(c,(0,o.ensureDefined)(d.get(c)),e.logoUrl,e.description,!0,()=>{});h.actions.push(t)}const p=m.filterConvertible(u,e=>e!==c&&l.has(e));for(const e of p){const n=(0,o.ensureNotNull)(m.item(e.id));h.actions.push(s(e.id,e.code,n.logoUrl,n.description,t.selectedCurrency===e.id,()=>a(e.id)))}h.actions.length>0&&r.push(h);const f=m.filterConvertible(u,e=>e!==c&&!l.has(e)),g={id:"second_section",actions:[]};for(const e of f){const n=(0,o.ensureNotNull)(m.item(e.id));g.actions.push(s(e.id,e.code,n.logoUrl,n.description,t.selectedCurrency===e.id,()=>a(e.id)))}return g.actions.length>0&&r.push(g),r}},10768:(e,t,n)=>{"use strict";n.r(t),n.d(t,{unitActions:()=>r});var o=n(16282),i=n(79881);function r(e,t,n){if(null===t||0===t.availableGroups.size)return[];const r=[],s=(e,t,n,o,i)=>({id:e,label:t,isActive:o,onClick:i,description:n}),a=t=>{e.setPriceScaleUnit(n,t)},c=t.selectedUnit,l=t.originalUnits,u=t.names,d=t.descriptions,h={actions:[],id:"first_section"};if(l.size>1){const e=s("Mixed",(0,i.t)("Mixed"),void 0,null===t.selectedUnit,()=>a(null));h.actions.push(e)}const m=e.model().availableUnits();if(null!==c){const e=s(c,(0,o.ensureDefined)(u.get(c)),(0,o.ensureDefined)(d.get(c)),!0,()=>{});h.actions.push(e)}const p=m.unitsByGroups(t.availableGroups);for(const e of p)for(const t of e.units)t.id!==c&&l.has(t.id)&&h.actions.push(s(t.id,t.name,t.description,!1,()=>a(t.id)));h.actions.length>0&&r.push(h);const f=c&&m.unitGroupById(c);if(null!==f)for(const e of p){if(e.name!==f)continue;const t={id:e.name,actions:[],name:e.name} +;for(const n of e.units)n.id===c||l.has(n.id)||t.actions.push(s(n.id,n.name,n.description,!1,()=>a(n.id)));t.actions.length>0&&r.push(t)}for(const e of p){if(e.name===f)continue;const t={id:e.name,actions:[],name:e.name};for(const n of e.units)n.id===c||l.has(n.id)||t.actions.push(s(n.id,n.name,n.description,!1,()=>a(n.id)));t.actions.length>0&&r.push(t)}return r}},59726:(e,t,n)=>{"use strict";function o(e,t,n,o,i){function r(i){if(e>i.timeStamp)return;const r=i.target;void 0!==n&&null!==t&&null!==r&&r.ownerDocument===o&&(t.contains(r)||n(i))}return i.click&&o.addEventListener("click",r,!1),i.mouseDown&&o.addEventListener("mousedown",r,!1),i.touchEnd&&o.addEventListener("touchend",r,!1),i.touchStart&&o.addEventListener("touchstart",r,!1),()=>{o.removeEventListener("click",r,!1),o.removeEventListener("mousedown",r,!1),o.removeEventListener("touchend",r,!1),o.removeEventListener("touchstart",r,!1)}}n.d(t,{addOutsideEventListener:()=>o})},72923:(e,t,n)=>{"use strict";n.d(t,{DialogBreakpoints:()=>i});var o=n(32455);const i={SmallHeight:o["small-height-breakpoint"],TabletSmall:o["tablet-small-breakpoint"],TabletNormal:o["tablet-normal-breakpoint"]}},40834:(e,t,n)=>{"use strict";n.d(t,{DialogSearch:()=>u});var o=n(67294),i=n(94184),r=n.n(i),s=n(79881),a=n(49775),c=n(2796),l=n(6960);function u(e){const{children:t,renderInput:n,onCancel:i,...u}=e;return o.createElement("div",{className:l.container},o.createElement("div",{className:r()(l.inputContainer,i&&l.withCancel)},n||o.createElement(d,{...u})),t,o.createElement(a.Icon,{className:l.icon,icon:c}),i&&o.createElement("div",{className:l.cancel,onClick:i},(0,s.t)("Cancel")))}function d(e){const{className:t,reference:n,value:i,onChange:s,onFocus:a,onBlur:c,onKeyDown:u,onSelect:d,placeholder:h,...m}=e;return o.createElement("input",{...m,ref:n,type:"text",className:r()(t,l.input),autoComplete:"off","data-role":"search",placeholder:h,value:i,onChange:s,onFocus:a,onBlur:c,onSelect:d,onKeyDown:u})}},23412:(e,t,n)=>{"use strict";n.r(t),n.d(t,{showUnitConversion:()=>M});var o=n(67294),i=n(73935),r=n(68521),s=n(65802),a=n(42998);var c=n(72923),l=n(19330),u=n(94184),d=n.n(u),h=n(79881),m=n(49775),p=n(76420),f=n(90901),g=n(4598),v=n(10869),E=n(99055);n(75074);function C(e){var t,n;const i=(r=e.size,s=e.className,u("tv-circle-logo","tv-circle-logo--"+r,s));var r,s;const a=null!==(n=null!==(t=e.alt)&&void 0!==t?t:e.title)&&void 0!==n?n:"";return function(e){return"logoUrl"in e&&void 0!==e.logoUrl&&0!==e.logoUrl.length}(e)?o.createElement("img",{className:i,src:e.logoUrl,alt:a,title:e.title,loading:e.loading}):o.createElement("span",{className:i,title:e.title},e.placeholderLetter)}var x=n(11945),D=n(8251);function w(e){const{label:t,icon:n,rules:i,search:r,description:s,onClick:a,onClose:c,isActive:l,isSmallSize:u,isSelected:h,selectedRef:m,hasDescriptions:p,hasIcons:f}=e,g=(0,o.useCallback)(()=>{a(),c&&c()},[a,c]),v=u&&D.small;return o.createElement("div",{className:d()(D.action,l&&D.active,v,p&&D.withDescription,h&&D.selected),onClick:g,ref:m},f&&(void 0!==n?o.createElement(C,{ +logoUrl:n,size:p?"xsmall":"xxsmall",className:d()(D.icon,v)}):o.createElement("span",{className:d()(D.fakeIcon,v)})),o.createElement("div",{className:d()(D.labelAndDescription,v)},o.createElement("span",{className:d()(D.label,v)},E(t)),p&&o.createElement("br",null),p&&o.createElement("span",{className:d()(D.description,v)},s?E(s):"")));function E(e){return o.createElement(x.HighlightedText,{text:e,rules:i,queryString:r,className:d()(l&&D.highlighted,l&&D.active)})}}var S=n(70422),y=n(37978),A=n(72346),b=n(78714);const N=(0,g.mergeThemes)(f.DEFAULT_MENU_THEME,b);function L(e){const{title:t,sections:n,onClose:i,selectedId:r,selectedRef:s,search:a,setSearch:c,items:l,rules:u,searchRef:f,hasDescriptions:g,hasIcons:C,...x}=e,[D,b]=(0,o.useState)(()=>n.reduce((e,t,n)=>(t.name&&(e[t.id]=!0),e),{}));function L(e){const{id:t,...n}=e;return o.createElement(w,{key:t,rules:u,search:a,onClose:i,isSmallSize:!0,isSelected:t===r,selectedRef:t===r?s:void 0,hasDescriptions:g,hasIcons:C,...n})}return o.createElement(p.PopupMenu,{...x,onClose:i,className:d()(A.menu,g&&A.withDescriptions),theme:N,maxHeight:g?313:280,noMomentumBasedScroll:!0,isOpened:!0,onOpen:function(){var e;null===(e=f.current)||void 0===e||e.focus()}},o.createElement("div",{className:A.header},o.createElement("div",{className:A.title},t),o.createElement("div",{className:A.container},o.createElement(m.Icon,{icon:S,className:A.icon}),o.createElement("input",{size:1,type:"text",className:A.input,placeholder:(0,h.t)("Search"),autoComplete:"off","data-role":"search",onChange:function(e){c(e.target.value)},value:a,ref:f}),Boolean(a)&&o.createElement(m.Icon,{icon:y,className:A.clear,onClick:function(){c("")}}))),a?l.map(L):n.map((e,t)=>o.createElement(o.Fragment,{key:e.id},Boolean(t)&&o.createElement(v.PopupMenuSeparator,null),e.name?o.createElement(E.CollapsibleSection,{summary:e.name,className:A.section,open:D[e.id],onStateChange:t=>b({...D,[e.id]:t})},e.actions.map(L)):e.actions.map(L))))}var k=n(93590),z=n(40834),I=n(60499);function _(e){const{title:t,onClose:n,sections:i,selectedId:r,selectedRef:s,search:a,setSearch:c,items:l,rules:u,searchRef:d,hasIcons:m,hasDescriptions:p}=e;return o.createElement(k.AdaptivePopupDialog,{title:t,onClose:n,render:function(){return o.createElement(o.Fragment,null,o.createElement(z.DialogSearch,{placeholder:(0,h.t)("Search"),onChange:f,reference:d}),o.createElement("div",{className:I.container},a?l.map(e=>{const{id:t,isActive:i,...c}=e;return o.createElement(w,{key:t,isActive:i,onClose:n,rules:u,search:a,isSelected:t===r,selectedRef:t===r?s:void 0,hasIcons:m,hasDescriptions:p,...c})}):i.map((e,t)=>o.createElement(o.Fragment,{key:e.id},e.name&&o.createElement("div",{className:I.section},e.name),e.actions.map((c,l)=>{const{id:d,...h}=c,f=l===e.actions.length-1,g=t===i.length-1;return o.createElement(o.Fragment,{key:d},o.createElement(w,{rules:u,search:a,onClose:n,isSelected:d===r,selectedRef:d===r?s:void 0,hasIcons:m,hasDescriptions:p,...h}),!g&&f&&o.createElement("div",{className:I.separator}))})))))},dataName:"unit-conversion-dialog", +draggable:!1,fullScreen:!0,isOpened:!0});function f(e){c(e.target.value)}}const T={horizontalAttachEdge:l.HorizontalAttachEdge.Right,horizontalDropDirection:l.HorizontalDropDirection.FromRightToLeft};function B(e){const{element:t,...n}=e,[i,u]=(0,o.useState)(C()),[d,h]=(0,o.useState)(""),m=(0,o.useRef)(null),p=(0,o.useRef)(null),f=(0,o.useMemo)(()=>(0,s.createRegExpList)(d),[d]),{activeIdx:g,setActiveIdx:v}=function(e,t,n,i="keydown"){const[r,s]=(0,o.useState)(-1);return(0,o.useEffect)(()=>{if(!e)return;const n=e=>{switch((0,a.hashFromEvent)(e)){case 40:if(r===t.length-1)break;e.preventDefault(),s(r+1);break;case 38:if(r<=0)break;e.preventDefault(),s(r-1);break}};return e.addEventListener("keydown",n),()=>{e.removeEventListener("keydown",n)}},[e,r,t]),(0,o.useEffect)(()=>{if(!e||!n)return;const o=e=>{var o;e.repeat||13===(0,a.hashFromEvent)(e)&&n(null!==(o=t[r])&&void 0!==o?o:null,e)};return e.addEventListener(i,o),()=>{e.removeEventListener(i,o)}},[e,r,t,n,i]),{activeIdx:r,setActiveIdx:s}}(m.current,i,(function(e){e&&(e.onClick(),n.onClose())}));!function(e,t=[]){(0,o.useEffect)(()=>{e(-1)},[...t])}(v,[i]),function(e,t){(0,o.useEffect)(()=>{var n;t>=0&&(null===(n=e.current)||void 0===n||n.scrollIntoView({block:"nearest"}))},[t])}(p,g),(0,o.useEffect)(()=>{u(d?function(e,t,n){const o=e.reduce((e,t)=>[...e,...t.actions],[]);return(0,s.rankedSearch)({data:o,rules:n,queryString:t,primaryKey:"label",secondaryKey:"description"})}(n.sections,d,f):C())},[d,n.sections,f]);const E=(0,o.useMemo)(()=>({selectedId:Boolean(g>=0&&i[g])?i[g].id:"",selectedRef:p,search:d,setSearch:h,searchRef:m,items:i,rules:f,hasIcons:i.some(e=>void 0!==e.icon),hasDescriptions:i.some(e=>void 0!==e.description)}),[g,p,d,h,m,i,f]);return o.createElement(r.MatchMedia,{rule:c.DialogBreakpoints.TabletSmall},e=>e?o.createElement(_,{...n,...E}):o.createElement(L,{...n,...E,position:(0,l.getPopupPositioner)(t,T),doNotCloseOn:t}));function C(){return n.sections.reduce((e,t)=>(e.push(...t.actions),e),[])}}function M(e,t,n){let r=document.createElement("div");const s=()=>{null!==r&&(i.unmountComponentAtNode(r),r=null)},a={title:e,sections:n,element:t,onClose:s};return i.render(o.createElement(B,{...a}),r),{close:s,isOpened:()=>null!==r}}},65802:(e,t,n)=>{"use strict";n.d(t,{rankedSearch:()=>i,createRegExpList:()=>r,getHighlightedChars:()=>s});var o=n(47903);function i(e){const{data:t,rules:n,queryString:i,isPreventedFromFiltering:r,primaryKey:s,secondaryKey:a=s,optionalPrimaryKey:c}=e;return t.map(e=>{const t=c&&e[c]?e[c]:e[s],r=e[a];let l,u=0;return n.forEach(e=>{var n,s,a,c;const{re:d,fullMatch:h}=e;return d.lastIndex=0,t&&t.toLowerCase()===i.toLowerCase()?(u=3,void(l=null===(n=t.match(h))||void 0===n?void 0:n.index)):(0,o.isString)(t)&&h.test(t)?(u=2,void(l=null===(s=t.match(h))||void 0===s?void 0:s.index)):(0,o.isString)(r)&&h.test(r)?(u=1,void(l=null===(a=r.match(h))||void 0===a?void 0:a.index)):void((0,o.isString)(r)&&d.test(r)&&(u=1,l=null===(c=r.match(d))||void 0===c?void 0:c.index))}),{matchPriority:u,matchIndex:l,item:e} +}).filter(e=>r||e.matchPriority).sort((e,t)=>{if(e.matchPriorityt.matchPriority)return-1;if(e.matchPriority===t.matchPriority){if(void 0===e.matchIndex||void 0===t.matchIndex)return 0;if(e.matchIndex>t.matchIndex)return 1;if(e.matchIndexe)}function r(e,t){const n=[],o=e.toLowerCase(),i=e.split("").map((e,t)=>`(${0!==t?"[/\\s-]"+a(e):a(e)})`).join("(.*?)")+"(.*)";return n.push({fullMatch:new RegExp(`(${a(e)})`,"i"),re:new RegExp("^"+i,"i"),reserveRe:new RegExp(i,"i"),fuzzyHighlight:!0}),t&&t.hasOwnProperty(o)&&n.push({fullMatch:t[o],re:t[o],fuzzyHighlight:!1}),n}function s(e,t,n){const o=[];return e&&n?(n.forEach(e=>{const{fullMatch:n,re:i,reserveRe:r}=e;n.lastIndex=0,i.lastIndex=0;const s=n.exec(t),a=s||i.exec(t)||r&&r.exec(t);if(e.fuzzyHighlight=!s,a)if(e.fuzzyHighlight){let e=a.index;for(let t=1;t{"use strict";n.d(t,{HighlightedText:()=>a});var o=n(67294),i=n(94184),r=n(65802),s=n(75695);function a(e){const{queryString:t,rules:n,text:a,className:c}=e,l=(0,o.useMemo)(()=>(0,r.getHighlightedChars)(t,a,n),[t,n,a]);return o.createElement(o.Fragment,null,l.length?a.split("").map((e,t)=>o.createElement(o.Fragment,{key:t},l[t]?o.createElement("span",{className:i(s.highlighted,c)},e):o.createElement("span",null,e))):a)}},10869:(e,t,n)=>{"use strict";n.d(t,{PopupMenuSeparator:()=>a});var o=n(67294),i=n(94184),r=n.n(i),s=n(78706);function a(e){const{size:t="normal",className:n}=e;return o.createElement("div",{className:r()(s.separator,"small"===t&&s.small,"normal"===t&&s.normal,"large"===t&&s.large,n)})}},76420:(e,t,n)=>{"use strict";n.d(t,{PopupMenu:()=>l});var o=n(67294),i=n(73935),r=n(4735),s=n(90901),a=n(94884),c=n(47165);function l(e){const{controller:t,children:n,isOpened:l,closeOnClickOutside:u=!0,doNotCloseOn:d,onClickOutside:h,onClose:m,...p}=e,f=(0,o.useContext)(a.CloseDelegateContext),g=(0,c.useOutsideEvent)({handler:function(e){h&&h(e);if(!u)return;if(d&&e.target instanceof Node){const t=i.findDOMNode(d);if(t instanceof Node&&t.contains(e.target))return}m()},mouseDown:!0,touchStart:!0});return l?o.createElement(r.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},o.createElement("span",{ref:g,style:{pointerEvents:"auto"}},o.createElement(s.Menu,{...p,onClose:m,onScroll:function(t){const{onScroll:n}=e;n&&n(t)},customCloseDelegate:f,ref:t},n))):null}},88262:(e,t,n)=>{"use strict";n.d(t,{ToolWidgetCaret:()=>c});var o=n(67294),i=n(94184),r=n(49775),s=n(2632),a=n(85533);function c(e){const{dropped:t,className:n}=e;return o.createElement(r.Icon,{className:i(n,s.icon,{[s.dropped]:t}),icon:a})}},4598:(e,t,n)=>{"use strict";function o(e,t,n={}){const o=Object.assign({},t);for(const i of Object.keys(t)){const r=n[i]||i;r in e&&(o[i]=[e[r],t[i]].join(" ")) +}return o}function i(e,t,n={}){return Object.assign({},e,o(e,t,n))}n.d(t,{weakComposeClasses:()=>o,mergeThemes:()=>i})},85533:e=>{e.exports=''},37978:e=>{e.exports=''},70422:e=>{e.exports=''},2796:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/custom-intervals-add-dialog.3506afd973a0a43dc42a.js b/public/static/charting_library/bundles/custom-intervals-add-dialog.3506afd973a0a43dc42a.js new file mode 100644 index 0000000..a21678c --- /dev/null +++ b/public/static/charting_library/bundles/custom-intervals-add-dialog.3506afd973a0a43dc42a.js @@ -0,0 +1 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[4013],{8863:e=>{e.exports={scrollable:"scrollable-FNPZI_Xo",content:"content-FNPZI_Xo",row:"row-FNPZI_Xo",title:"title-FNPZI_Xo",control:"control-FNPZI_Xo"}},84954:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ToolWidgetIntervalsAddDialog:()=>v});var l=n(67294),o=n(79881),a=n(7591),c=n(45221),r=n(81829),s=n(79424),i=n(73991),m=n(24084),u=n(8863);const d=m.INTERVALS.map(e=>({value:e.name,content:e.label}));function v(e){const{onAdd:t,onClose:n,onUnmount:v}=e,[N,f]=(0,l.useState)(m.INTERVALS[0].name),[C,E]=(0,l.useState)("1");return(0,l.useEffect)(()=>()=>{v&&v()},[]),l.createElement(a.AdaptiveConfirmDialog,{dataName:"add-custom-interval-dialog",title:(0,o.t)("Add custom time interval"),isOpened:!0,onSubmit:function(){t(C,N),n()},onCancel:n,onClickOutside:n,onClose:n,render:()=>l.createElement(i.TouchScrollContainer,{className:u.scrollable,onScroll:b},l.createElement("div",{className:u.content},l.createElement("div",{className:u.row},l.createElement("div",{className:u.title},(0,o.t)("Type")),l.createElement(c.Select,{id:"metric-items",className:u.control,value:N,items:d,onChange:p})),l.createElement("div",{className:u.row},l.createElement("div",{className:u.title},(0,o.t)("Interval")),l.createElement(r.InputControl,{className:u.control,inputMode:"numeric",maxLength:6,value:C,onChange:g})))),defaultActionOnClose:"none",submitButtonText:(0,o.t)("Add"),submitOnEnterKey:!1,fullScreen:!0});function g(e){const{value:t}=e.currentTarget;/^[0-9]*$/.test(t)&&E(t)}function b(){s.globalCloseDelegate.fire()}function p(e){f(e)}}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/drawing-toolbar.8399395e7103ba30e756.js b/public/static/charting_library/bundles/drawing-toolbar.8399395e7103ba30e756.js new file mode 100644 index 0000000..fc9abdf --- /dev/null +++ b/public/static/charting_library/bundles/drawing-toolbar.8399395e7103ba30e756.js @@ -0,0 +1,13 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2878],{42406:e=>{e.exports={dropdown:"dropdown-191zO2Od",buttonWrap:"buttonWrap-191zO2Od",control:"control-191zO2Od",arrow:"arrow-191zO2Od",arrowIcon:"arrowIcon-191zO2Od",isOpened:"isOpened-191zO2Od",hover:"hover-191zO2Od",isGrayed:"isGrayed-191zO2Od"}},14750:e=>{e.exports={container:"container-3CL4Geq2",mirror:"mirror-3CL4Geq2",background:"background-3CL4Geq2",arrow:"arrow-3CL4Geq2"}},65688:e=>{e.exports={item:"item-3NgvBqLJ",label:"label-3NgvBqLJ"}},24565:e=>{e.exports={drawingToolbar:"drawingToolbar-2_so5thS",isHidden:"isHidden-2_so5thS",inner:"inner-2_so5thS",popupMenuItem:"popupMenuItem-2_so5thS",group:"group-2_so5thS",noGroupPadding:"noGroupPadding-2_so5thS",lastGroup:"lastGroup-2_so5thS",fill:"fill-2_so5thS",separator:"separator-2_so5thS"}},34482:e=>{e.exports={toggleButton:"toggleButton-3zv4iS2j",collapsed:"collapsed-3zv4iS2j",background:"background-3zv4iS2j",arrow:"arrow-3zv4iS2j"}},96982:e=>{e.exports={wrap:"wrap-2qy9YC6D",smallTablet:"smallTablet-2qy9YC6D",buttonIcon:"buttonIcon-2qy9YC6D",item:"item-2qy9YC6D",hovered:"hovered-2qy9YC6D",active:"active-2qy9YC6D",title:"title-2qy9YC6D",separator:"separator-2qy9YC6D",button:"button-2qy9YC6D"}},24816:e=>{e.exports={wrap:"wrap-379NmUSU",scrollWrap:"scrollWrap-379NmUSU",noScrollBar:"noScrollBar-379NmUSU",content:"content-379NmUSU",icon:"icon-379NmUSU",scrollBot:"scrollBot-379NmUSU",scrollTop:"scrollTop-379NmUSU",isVisible:"isVisible-379NmUSU",iconWrap:"iconWrap-379NmUSU",fadeBot:"fadeBot-379NmUSU",fadeTop:"fadeTop-379NmUSU"}},64526:e=>{e.exports={wrap:"wrap-164vy-kj",positionBottom:"positionBottom-164vy-kj",backdrop:"backdrop-164vy-kj",drawer:"drawer-164vy-kj",positionLeft:"positionLeft-164vy-kj"}},23788:(e,t,o)=>{"use strict";o.r(t),o.d(t,{DrawingToolbarRenderer:()=>et});var i=o(67294),n=o(73935),s=o(16282),a=o(79881),l=o(94184),r=o.n(l),c=o(96404),h=o(64222),d=o(27490),u=o(15521),m=o(70599),p=o(18437),g=o(5729),b=o.n(g),v=o(43367),_=(o(22900),o(21259));class T{constructor(e){this._drawingsAccess=e||{tools:[],type:"black"}}isToolEnabled(e){const t=this._findTool(e);return!(!t||!t.grayed)||("black"===this._drawingsAccess.type?!t:!!t)}isToolGrayed(e){const t=this._findTool(e);return Boolean(t&&t.grayed)}_findTool(e){return this._drawingsAccess.tools.find(t=>t.name===e)}}var C=o(67869),w=o(42998);const k=[{id:"linetool-group-cursors",title:(0,a.t)("Cursors"),items:[{name:"cursor"},{name:"dot"},{name:"arrow"},{name:"eraser"}],trackLabel:null},{id:"linetool-group-trend-line",title:(0,a.t)("Trend Line Tools"),items:[{name:"LineToolTrendLine",hotkeyHash:w.Modifiers.Alt+84},{name:"LineToolArrow"},{name:"LineToolRay"},{name:"LineToolInfoLine"},{name:"LineToolExtended"},{name:"LineToolTrendAngle"},{name:"LineToolHorzLine",hotkeyHash:w.Modifiers.Alt+72},{name:"LineToolHorzRay",hotkeyHash:w.Modifiers.Alt+74},{name:"LineToolVertLine",hotkeyHash:w.Modifiers.Alt+86},{name:"LineToolCrossLine",hotkeyHash:w.Modifiers.Alt+67},{name:"LineToolParallelChannel"},{name:"LineToolRegressionTrend"},{ +name:"LineToolFlatBottom"},{name:"LineToolDisjointAngle"},null].filter(Boolean),trackLabel:null},{id:"linetool-group-gann-and-fibonacci",title:(0,a.t)("Gann and Fibonacci Tools"),items:[{name:"LineToolFibRetracement",hotkeyHash:w.Modifiers.Alt+70},{name:"LineToolTrendBasedFibExtension"},{name:"LineToolPitchfork"},{name:"LineToolSchiffPitchfork2"},{name:"LineToolSchiffPitchfork"},{name:"LineToolInsidePitchfork"},{name:"LineToolFibChannel"},{name:"LineToolFibTimeZone"},{name:"LineToolGannSquare"},{name:"LineToolGannFixed"},{name:"LineToolGannComplex"},{name:"LineToolGannFan"},{name:"LineToolFibSpeedResistanceFan"},{name:"LineToolTrendBasedFibTime"},{name:"LineToolFibCircles"},{name:"LineToolPitchfan"},{name:"LineToolFibSpiral"},{name:"LineToolFibSpeedResistanceArcs"},{name:"LineToolFibWedge"}],trackLabel:null},{id:"linetool-group-geometric-shapes",title:(0,a.t)("Geometric Shapes"),items:[{name:"LineToolBrush"},{name:"LineToolHighlighter"},{name:"LineToolRectangle"},{name:"LineToolCircle"},{name:"LineToolEllipse"},{name:"LineToolPath"},{name:"LineToolBezierQuadro"},{name:"LineToolPolyline"},{name:"LineToolTriangle"},{name:"LineToolRotatedRectangle"},{name:"LineToolArc"},{name:"LineToolBezierCubic"}],trackLabel:null},{id:"linetool-group-annotation",title:(0,a.t)("Annotation Tools"),items:[{name:"LineToolText"},{name:"LineToolTextAbsolute"},{name:"LineToolNote"},{name:"LineToolNoteAbsolute"},{name:"LineToolSignpost"},null,null,{name:"LineToolCallout"},{name:"LineToolBalloon"},{name:"LineToolPriceLabel"},{name:"LineToolPriceNote"},{name:"LineToolArrowMarker"},{name:"LineToolArrowMarkLeft"},{name:"LineToolArrowMarkRight"},{name:"LineToolArrowMarkUp"},{name:"LineToolArrowMarkDown"},{name:"LineToolFlagMark"}].filter(Boolean),trackLabel:null},{id:"linetool-group-patterns",title:(0,a.t)("Patterns"),items:[{name:"LineTool5PointsPattern"},{name:"LineToolCypherPattern"},{name:"LineToolABCD"},{name:"LineToolTrianglePattern"},{name:"LineToolThreeDrivers"},{name:"LineToolHeadAndShoulders"},{name:"LineToolElliottImpulse"},{name:"LineToolElliottTriangle"},{name:"LineToolElliottTripleCombo"},{name:"LineToolElliottCorrection"},{name:"LineToolElliottDoubleCombo"},{name:"LineToolCircleLines"},{name:"LineToolTimeCycles"},{name:"LineToolSineLine"}],trackLabel:null},{id:"linetool-group-prediction-and-measurement",title:(0,a.t)("Prediction and Measurement Tools"),items:[{name:"LineToolRiskRewardLong"},{name:"LineToolRiskRewardShort"},{name:"LineToolPrediction"},{name:"LineToolDateRange"},{name:"LineToolPriceRange"},{name:"LineToolDateAndPriceRange"},{name:"LineToolBarsPattern"},(0,C.isFeatureEnabled)("remove-line-tool-ghost-feed")?null:{name:"LineToolGhostFeed"},{name:"LineToolProjection"},{name:"LineToolFixedRangeVolumeProfile"}].filter(Boolean),trackLabel:null}];var S=o(90096),f=o(5383),y=o(49775),L=o(99432),M=o(83939),D=o(24816),E=o(38508);class A extends i.PureComponent{constructor(e){super(e),this._scroll=null,this._handleScrollTop=()=>{this.animateTo(Math.max(0,this.currentPosition()-(this.state.heightWrap-50)))}, +this._handleScrollBot=()=>{this.animateTo(Math.min((this.state.heightContent||0)-(this.state.heightWrap||0),this.currentPosition()+(this.state.heightWrap-50)))},this._handleResizeWrap=({height:e})=>{this.setState({heightWrap:e})},this._handleResizeContent=({height:e})=>{this.setState({heightContent:e})},this._handleScroll=()=>{const{onScroll:e}=this.props;e&&e(this.currentPosition(),this.isAtTop(),this.isAtBot()),this._checkButtonsVisibility()},this._checkButtonsVisibility=()=>{const{isVisibleTopButton:e,isVisibleBotButton:t}=this.state,o=this.isAtTop(),i=this.isAtBot();o||e?o&&e&&this.setState({isVisibleTopButton:!1}):this.setState({isVisibleTopButton:!0}),i||t?i&&t&&this.setState({isVisibleBotButton:!1}):this.setState({isVisibleBotButton:!0})},this.state={heightContent:0,heightWrap:0,isVisibleBotButton:!1,isVisibleTopButton:!1}}componentDidMount(){this._checkButtonsVisibility()}componentDidUpdate(e,t){t.heightWrap===this.state.heightWrap&&t.heightContent===this.state.heightContent||this._handleScroll()}currentPosition(){return this._scroll?this._scroll.scrollTop:0}isAtTop(){return this.currentPosition()<=1}isAtBot(){return this.currentPosition()+this.state.heightWrap>=this.state.heightContent-1}animateTo(e,t=M.dur){const o=this._scroll;o&&(0,L.doAnimate)({onStep(e,t){o.scrollTop=t},from:o.scrollTop,to:Math.round(e),easing:M.easingFunc.easeInOutCubic,duration:t})}render(){const{children:e,isVisibleScrollbar:t,isVisibleFade:o,isVisibleButtons:n,onMouseOver:s,onMouseOut:a}=this.props,{heightContent:l,heightWrap:c,isVisibleBotButton:h,isVisibleTopButton:d}=this.state;return i.createElement(f,{whitelist:["height"],onMeasure:this._handleResizeWrap},i.createElement("div",{className:D.wrap,onMouseOver:s,onMouseOut:a},i.createElement("div",{className:r()(D.scrollWrap,{[D.noScrollBar]:!t}),onScroll:this._handleScroll,ref:e=>this._scroll=e},i.createElement(f,{onMeasure:this._handleResizeContent,whitelist:["height"]},i.createElement("div",{className:D.content},e))),o&&i.createElement("div",{className:r()(D.fadeTop,{[D.isVisible]:d&&l>c})}),o&&i.createElement("div",{className:r()(D.fadeBot,{[D.isVisible]:h&&l>c})}),n&&i.createElement("div",{className:r()(D.scrollTop,{[D.isVisible]:d&&l>c}),onClick:this._handleScrollTop},i.createElement("div",{className:D.iconWrap},i.createElement(y.Icon,{icon:E,className:D.icon}))),n&&i.createElement("div",{className:r()(D.scrollBot,{[D.isVisible]:h&&l>c}),onClick:this._handleScrollBot},i.createElement("div",{className:D.iconWrap},i.createElement(y.Icon,{icon:E,className:D.icon})))))}}A.defaultProps={isVisibleScrollbar:!0};var N=o(60934),B=o(79424),I=o(49585);function P(e){const{id:t,action:o,isActive:n,isHidden:s,isTransparent:a,toolName:l}=e;return i.createElement(I.ToolButton,{id:t,icon:_.lineToolsInfo[l].icon,isActive:n,isHidden:s,isTransparent:a,onClick:o,title:_.lineToolsInfo[l].localizedName,"data-name":l})}var W=o(18130) +;const F=[61536,61537,61538,61539,61725,61726,61575,61576,61796,61797,61779,61780,61781,61782,61783,61784,61785,61786,61440,61441,61442,61444,61445,61446,61447,61448,61452,61453,61454,61456,61457,61458,61459,61460,61461,61463,61464,61466,61467,61469,61470,61473,61475,61476,61488,61502,61504,61505,61507,61510,61523,61524,61525,61526,61527,61528,61529,61530,61531,61532,61533,61534,61540,61541,61542,61543,61544,61545,61546,61547,61548,61550,61552,61553,61554,61555,61557,61558,61559,61560,61565,61566,61568,61572,61574,61578,61588,61597,61601,61602,61603,61604,61605,61606,61607,61608,61609,61610,61611,61616,61617,61635,61648,61649,61654,61655,61656,61657,61658,61659,61666,61667,61669,61670,61671,61672,61673,61675,61681,61682,61683,61684,61696,61697,61698,61699,61700,61701,61702,61703,61704,61705,61706,61707,61708,61712,61713,61714,61715,61720,61721,61722,61731,61732,61736,61737,61738,61746,61747,61748,61749,61751,61752,61753,61754,61757,61758,61760,61764,61768,61769,61770,61771,61772,61773,61774,61776,61777,61778,61799,61811,61812,61813,61814,61815,61816,61817,61818,61819,61820,61821,61826,61827,61828,61829,61830,61831,61832,61836,61838,61840,61842,61845];var V=o(76420),O=o(74818),x=o(57374),U=o(47642),R=o(42406);class z extends i.PureComponent{constructor(e){super(e),this._toggleDropdown=e=>{this.setState({isOpened:void 0!==e?e:!this.state.isOpened})},this._handleClose=()=>{this._toggleDropdown(!1)},this._getDropdownPosition=()=>{if(!this._control)return{x:0,y:0};const e=this._control.getBoundingClientRect();return{x:e.left+e.width+1,y:e.top-6}},this._handleClickArrow=()=>{var e,t;null===(t=(e=this.props).onArrowClick)||void 0===t||t.call(e),this._toggleDropdown()},this._handleTouchStart=()=>{this.props.onClickButton&&this.props.onClickButton(),this._toggleDropdown()},this._handlePressStart=()=>{if(c.mobiletouch&&!this.props.checkable)!this._longPressDelay&&this.props.onClickButton&&this.props.onClickButton();else{if(this._doubleClickDelay)return clearTimeout(this._doubleClickDelay),delete this._doubleClickDelay,void this._toggleDropdown(!0);this._doubleClickDelay=setTimeout(()=>{delete this._doubleClickDelay,!this._longPressDelay&&this.props.onClickButton&&this.props.onClickButton()},175)}this._longPressDelay=setTimeout(()=>{delete this._longPressDelay,this._toggleDropdown(!0)},300)},this._cancelAllTimeouts=()=>{clearTimeout(this._longPressDelay),delete this._longPressDelay,clearTimeout(this._doubleClickDelay),delete this._doubleClickDelay},this._handleTouchPressEnd=e=>{e.cancelable&&e.preventDefault(),this._handlePressEnd()},this._handlePressEnd=()=>{this._longPressDelay&&(clearTimeout(this._longPressDelay),delete this._longPressDelay,this.state.isOpened?this._toggleDropdown(!1):this.props.checkable||this.state.isOpened||!this.props.isActive||c.mobiletouch?!this._doubleClickDelay&&this.props.onClickButton&&this.props.onClickButton():this._toggleDropdown(!0))},this.state={isOpened:!1}}render(){ +const{buttonActiveClass:e,buttonClass:t,buttonIcon:o,buttonTitle:n,buttonHotKey:s,dropdownTooltip:a,children:r,isActive:h,isGrayed:d,onClickWhenGrayed:u,checkable:m,isSmallTablet:p}=this.props,{isOpened:g}=this.state,b=(0,O.filterDataProps)(this.props);return i.createElement("div",{className:l(R.dropdown,{[R.isGrayed]:d,[R.isActive]:h,[R.isOpened]:g}),onClick:d?u:void 0},i.createElement("div",{...b,ref:e=>this._control=e,className:R.control},i.createElement("div",{...this._getButtonHandlers(),className:l(R.buttonWrap,{"apply-common-tooltip common-tooltip-vertical":Boolean(n||s)}),"data-tooltip-hotkey":s,"data-tooltip-delay":1500,"data-role":"button",title:n},i.createElement(I.ToolButton,{activeClass:e,className:t,icon:o,isActive:h,isGrayed:d,isTransparent:!m})),!d&&!c.mobiletouch&&i.createElement("div",{className:l(R.arrow,a&&"apply-common-tooltip common-tooltip-vertical"),title:a,onClick:this._handleClickArrow,"data-role":"menu-handle"},i.createElement(y.Icon,{className:R.arrowIcon,icon:U}))),!d&&(p?g&&i.createElement(x.Drawer,{onClose:this._handleClose,position:"Bottom"},r):i.createElement(V.PopupMenu,{doNotCloseOn:this,isOpened:g,onClose:this._handleClose,position:this._getDropdownPosition},r)))}_getButtonHandlers(){const{isGrayed:e,checkable:t}=this.props;return e?{}:c.mobiletouch?t?{onTouchStart:this._handlePressStart,onTouchEnd:this._handleTouchPressEnd,onTouchMove:this._cancelAllTimeouts}:{onClick:this._handleTouchStart}:{onMouseDown:this._handlePressStart,onMouseUp:this._handlePressEnd}}}var G=o(10869),H=o(96982);const j={icon:(0,a.t)("Icon"),dropdownTooltip:(0,a.t)("Icons")};class q extends i.Component{constructor(e){super(e),this._renderItem=(e,t)=>{const{isSmallTablet:o}=this.props,n=r()(H.item,o&&H.smallTablet,t&&o&&this.state.isActive&&e===this.state.current&&H.active);return i.createElement("div",{className:n,key:e,onClick:()=>{this._handleSelect(e),(0,B.globalCloseMenu)()}},String.fromCharCode(e))},this._onChangeDrawingState=()=>{this.setState({isActive:this._isActive()})},this._handleSelect=e=>{(0,W.saveDefaults)("linetoolicon",{...(0,W.defaults)("linetoolicon"),icon:e}),u.iconTool.setValue(e),u.tool.setValue("LineToolIcon");let{recents:t}=this.state;const o=t.indexOf(e);-1!==o&&t.splice(o,1),t=[e,...t.slice(0,9)],(0,h.setJSON)("linetoolicon.recenticons",t),this.setState({current:e,recents:t})},this._handleClick=()=>{const{current:e}=this.state;this._handleSelect(e||F[0]),this._trackClick()},this._handleArrowClick=()=>{this._trackClick("menu")},this.state={current:(0,W.defaults)("linetoolicon").icon,recents:(0,h.getJSON)("linetoolicon.recenticons")||[]}}componentDidMount(){u.tool.subscribe(this._onChangeDrawingState),h.onSync.subscribe(this,this._onSyncSettings)}componentWillUnmount(){u.tool.unsubscribe(this._onChangeDrawingState),h.onSync.unsubscribe(this,this._onSyncSettings)}render(){const{isGrayed:e,toolName:t,isSmallTablet:o}=this.props,{current:n,isActive:s,recents:l}=this.state,c=(0,O.filterDataProps)(this.props),h=r()(H.wrap,o&&H.smallTablet);return i.createElement(z,{buttonClass:H.button, +buttonIcon:i.createElement("div",{className:H.buttonIcon},String.fromCharCode(n||F[0])),buttonTitle:j.icon,dropdownTooltip:j.dropdownTooltip,isActive:s,isGrayed:e,isSmallTablet:o,onClickButton:this._handleClick,onClickWhenGrayed:()=>(0,p.emit)("onGrayedObjectClicked",{type:"drawing",name:_.lineToolsInfo[t].localizedName}),onArrowClick:this._handleArrowClick,...c},l&&i.createElement(i.Fragment,null,o&&i.createElement("div",{className:H.title},(0,a.t)("Recently used")),i.createElement("div",{className:h},l.map(e=>this._renderItem(e,!0))),i.createElement(G.PopupMenuSeparator,{className:r()(o&&H.separator)})),i.createElement("div",{key:"all",className:h},F.map(e=>this._renderItem(e))))}_isActive(){return u.tool.value()===this.props.toolName}_onSyncSettings(){this.setState({recents:(0,h.getJSON)("linetoolicon.recenticons")})}_trackClick(e){0}}var K=o(11092);class Y extends i.PureComponent{constructor(e){super(e),this._handleClick=()=>{this.props.saveDefaultOnChange&&(0,K.saveDefaultProperties)(!0);const e=!this.props.property.value();this.props.property.setValue(e),this.props.saveDefaultOnChange&&(0,K.saveDefaultProperties)(!1),this.props.onClick&&this.props.onClick(e)},this.state={isActive:this.props.property.value()}}componentDidMount(){this.props.property.subscribe(this,this._onChange)}componentWillUnmount(){this.props.property.unsubscribe(this,this._onChange)}render(){const{toolName:e}=this.props,{isActive:t}=this.state,o=_.lineToolsInfo[e];return i.createElement(I.ToolButton,{icon:t&&o.iconActive?o.iconActive:o.icon,isActive:t,onClick:this._handleClick,title:o.localizedName,buttonHotKey:o.hotKey,"data-name":e})}_onChange(e){this.setState({isActive:e.value()})}}class J extends i.PureComponent{constructor(e){super(e),this._handleClick=()=>{var e,t;u.tool.setValue(this.props.toolName),null===(t=(e=this.props).onClick)||void 0===t||t.call(e)},this._onChange=()=>{this.setState({isActive:u.tool.value()===this.props.toolName})},this.state={isActive:u.tool.value()===this.props.toolName}}componentDidMount(){u.tool.subscribe(this._onChange)}componentWillUnmount(){u.tool.unsubscribe(this._onChange)}render(){const{toolName:e}=this.props,{isActive:t}=this.state,o=_.lineToolsInfo[e];return i.createElement(I.ToolButton,{icon:_.lineToolsInfo[e].icon,isActive:t,isTransparent:!0,onClick:this._handleClick,title:o.localizedName,buttonHotKey:o.hotKey,"data-name":e})}}class $ extends i.PureComponent{constructor(e){super(e),this._boundUndoModel=null,this._handleClick=()=>{const e=this._activeChartWidget();e.hasModel()&&e.model().zoomFromViewport()},this._syncUnzoomButton=()=>{const e=this._activeChartWidget();let t=!1;if(e.hasModel()){const o=e.model();this._boundUndoModel!==o&&(this._boundUndoModel&&this._boundUndoModel.zoomStack().onChange().unsubscribe(null,this._syncUnzoomButton),o.zoomStack().onChange().subscribe(null,this._syncUnzoomButton),this._boundUndoModel=o),t=!o.zoomStack().isEmpty()}else e.withModel(null,this._syncUnzoomButton);this.setState({isVisible:t})},this.state={isVisible:!1}}componentDidMount(){ +this.props.chartWidgetCollection.activeChartWidget.subscribe(this._syncUnzoomButton,{callWithLast:!0})}componentWillUnmount(){this.props.chartWidgetCollection.activeChartWidget.unsubscribe(this._syncUnzoomButton)}render(){return this.state.isVisible?i.createElement(P,{action:this._handleClick,isTransparent:!0,toolName:"zoom-out"}):i.createElement("div",null)}_activeChartWidget(){return this.props.chartWidgetCollection.activeChartWidget.value()}}var Z=o(2266),Q=o(65043),X=o(95860),ee=o(82879);class te extends i.PureComponent{constructor(e){super(e),this._onChangeDrawingState=()=>{const e=this._getActiveToolIndex();this.setState({current:-1!==e?e:this.state.current,isActive:-1!==e})},this._handleClickButton=()=>{if(this._trackClick(),v.CheckMobile.any())return;const e=this._getCurrentToolName();this._selectTool(e)},this._handleClickItem=e=>{this._selectTool(e)},this._handleGrayedClick=e=>{(0,p.emit)("onGrayedObjectClicked",{type:"drawing",name:_.lineToolsInfo[e].localizedName})},this._handleClickFavorite=e=>{this.state.favState&&this.state.favState[e]?Z.LinetoolsFavoritesStore.removeFavorite(e):Z.LinetoolsFavoritesStore.addFavorite(e)},this._onAddFavorite=e=>{this.setState({favState:{...this.state.favState,[e]:!0}})},this._onRemoveFavorite=e=>{this.setState({favState:{...this.state.favState,[e]:!1}})},this._onSyncFavorites=()=>{this.setState({favState:this._composeFavState()})},this._handleArrowClick=()=>{this._trackClick("menu")},this._trackClick=e=>{const{trackLabel:t}=this.props};const t=this._getActiveToolIndex();this.state={current:-1===t?this._firstNonGrayedTool():t,favState:this._composeFavState(),isActive:-1!==t}}componentDidMount(){u.tool.subscribe(this._onChangeDrawingState),Z.LinetoolsFavoritesStore.favoriteAdded.subscribe(null,this._onAddFavorite),Z.LinetoolsFavoritesStore.favoriteRemoved.subscribe(null,this._onRemoveFavorite),Z.LinetoolsFavoritesStore.favoritesSynced.subscribe(null,this._onSyncFavorites)}componentWillUnmount(){u.tool.unsubscribe(this._onChangeDrawingState),Z.LinetoolsFavoritesStore.favoriteAdded.unsubscribe(null,this._onAddFavorite),Z.LinetoolsFavoritesStore.favoriteRemoved.unsubscribe(null,this._onRemoveFavorite),Z.LinetoolsFavoritesStore.favoritesSynced.unsubscribe(null,this._onSyncFavorites)}componentDidUpdate(e,t){e.lineTools!==this.props.lineTools&&this.setState({favState:this._composeFavState()})}render(){const{favoriting:e,grayedTools:t,lineTools:o,dropdownTooltip:n,isSmallTablet:s}=this.props,{current:a,favState:l,isActive:r}=this.state,c=this._getCurrentToolName(),h=_.lineToolsInfo[c],d=this._showShortcuts(),u=(0,O.filterDataProps)(this.props);return i.createElement("span",null,i.createElement(z,{buttonIcon:h.icon,buttonTitle:h.localizedName,buttonHotKey:h.hotKey,dropdownTooltip:n,isActive:r,onClickButton:this._handleClickButton,onArrowClick:this._handleArrowClick,isSmallTablet:s,...u},o.map((o,n)=>{const c=o.name,h=_.lineToolsInfo[c],u=t[c];return i.createElement(X.PopupMenuItem,{key:c,"data-name":o.name,theme:s?ee.multilineLabelWithIconAndToolboxTheme:void 0,dontClosePopup:u, +forceShowShortcuts:d,shortcut:!s&&o.hotkeyHash?(0,w.humanReadableHash)(o.hotkeyHash):void 0,icon:h.icon,isActive:r&&a===n,appearAsDisabled:u,label:h.localizedName,onClick:u?this._handleGrayedClick:this._handleClickItem,onClickArg:c,showToolboxOnHover:!l[c],toolbox:e&&!u?i.createElement(Q.FavoriteButton,{isActive:r&&a===n,isFilled:l[c],onClick:()=>this._handleClickFavorite(c)}):void 0})})))}_getCurrentToolName(){const{current:e}=this.state,{lineTools:t}=this.props;return t[e||0].name}_firstNonGrayedTool(){const{grayedTools:e,lineTools:t}=this.props;return t.findIndex(t=>!e[t.name])}_getActiveToolIndex(){return this.props.lineTools.findIndex(e=>e.name===u.tool.value())}_showShortcuts(){return this.props.lineTools.some(e=>"shortcut"in e)}_selectTool(e){u.tool.setValue(e)}_composeFavState(){const e={};return this.props.lineTools.forEach(t=>{e[t.name]=Z.LinetoolsFavoritesStore.isFavorite(t.name)}),e}}var oe=o(87438),ie=o(4598),ne=o(65688);const se=(0,ie.mergeThemes)(X.DEFAULT_POPUP_MENU_ITEM_THEME,ne),ae={all:(0,a.t)("Remove Drawings & Indicators"),drawings:(0,a.t)("Remove Drawings"),studies:(0,a.t)("Remove Indicators")};class le extends i.PureComponent{constructor(){super(...arguments),this._handleRemoveToolClick=()=>{c.mobiletouch||this._handleRemoveDrawings(),ce()},this._handleRemoveDrawings=()=>{re("remove drawing"),this.props.chartWidgetCollection.activeChartWidget.value().removeAllDrawingTools()},this._handleRemoveStudies=()=>{re("remove indicator"),this.props.chartWidgetCollection.activeChartWidget.value().removeAllStudies()},this._handleRemoveAll=()=>{re("remove all"),this.props.chartWidgetCollection.activeChartWidget.value().removeAllStudiesDrawingTools()}}render(){const e=this.props.isSmallTablet?se:void 0;return i.createElement(z,{buttonIcon:_.lineToolsInfo[this.props.toolName].icon,buttonTitle:ae.drawings,onClickButton:this._handleRemoveToolClick,isSmallTablet:this.props.isSmallTablet,"data-name":this.props.toolName,onArrowClick:this._handleArrowClick},i.createElement(X.PopupMenuItem,{"data-name":"remove-drawing-tools",label:ae.drawings,onClick:this._handleRemoveDrawings,theme:e}),i.createElement(X.PopupMenuItem,{"data-name":"remove-studies",label:ae.studies,onClick:this._handleRemoveStudies,theme:e}),i.createElement(X.PopupMenuItem,{"data-name":"remove-all",label:ae.all,onClick:this._handleRemoveAll,theme:e}))}_handleArrowClick(){ce("menu")}}function re(e){(0,oe.trackEvent)("GUI","Chart Left Toolbar",e)}function ce(e){0}var he=o(84021),de=o(35036),ue=o(49088);const me=i.createContext({hideMode:"drawings",isActive:!1});function pe(e){const{hideMode:t,option:{label:o,dataName:n,getBoxedValue:s},isSmallTablet:a,onClick:l}=e,{hideMode:r,isActive:c}=(0,i.useContext)(me),h=null==s?void 0:s();return"all"===t||h?i.createElement(X.PopupMenuItem,{label:o,isActive:r===t&&c,onClick:function(){l(t,(0,de.toggleHideMode)(t))},"data-name":n,theme:a?se:void 0}):i.createElement(i.Fragment,null)}const ge={drawings:{active:he.drawingToolsIcons.hideAllDrawingToolsActive,inactive:he.drawingToolsIcons.hideAllDrawingTools}, +indicators:{active:he.drawingToolsIcons.hideAllIndicatorsActive,inactive:he.drawingToolsIcons.hideAllIndicators},positions:{active:he.drawingToolsIcons.hideAllPositionsToolsActive,inactive:he.drawingToolsIcons.hideAllPositionsTools},all:{active:he.drawingToolsIcons.hideAllDrawingsActive,inactive:he.drawingToolsIcons.hideAllDrawings}};function be(e){const{isSmallTablet:t}=e,[{isActive:o,hideMode:n},a]=(0,i.useState)(()=>({isActive:!1,hideMode:(0,de.getSavedHideMode)()}));(0,i.useEffect)(()=>(ue.hideStateChange.subscribe(null,a),()=>{ue.hideStateChange.unsubscribe(null,a)}),[]);const l=_.lineToolsInfo.hideAllDrawings,{trackLabel:r,tooltip:c,dataName:h}=(0,s.ensureDefined)((0,de.getHideOptions)().get(n)),d=ge[n][o?"active":"inactive"],u=o?c.active:c.inactive;return i.createElement(z,{buttonIcon:d,buttonTitle:u,buttonHotKey:l.hotKey,onClickButton:function(){(0,de.toggleHideMode)(n),ve(r,!o),_e(o?"on":"off")},isSmallTablet:t,isActive:o,checkable:!0,"data-name":"hide-all","data-type":h,onArrowClick:function(){_e("menu")}},i.createElement(me.Provider,{value:{isActive:o,hideMode:n}},Array.from((0,de.getHideOptions)()).map(([e,o])=>i.createElement(pe,{key:e,hideMode:e,option:o,isSmallTablet:t,onClick:m}))));function m(e,t){ve((0,s.ensureDefined)((0,de.getHideOptions)().get(e)).trackLabel,t)}}function ve(e,t){(0,oe.trackEvent)("GUI","Chart Left Toolbar",`${e} ${t?"on":"off"}`)}function _e(e){0}var Te=o(65109),Ce=o(42454);const we=(0,a.t)("Show Favorite Drawing Tools Toolbar");class ke extends i.PureComponent{constructor(){super(...arguments),this._instance=null,this._promise=null,this._bindedForceUpdate=()=>this.forceUpdate(),this._handleClick=()=>{null!==this._instance&&(this._instance.isVisible()?(this._instance.hide(),this._trackClick(!1)):(this._instance.show(),this._trackClick(!0)))}}componentDidMount(){const e=this._promise=(0,s.ensureNotNull)((0,Te.getFavoriteDrawingToolbarPromise)());e.then(t=>{this._promise===e&&(this._instance=t,this._instance.canBeShown().subscribe(this._bindedForceUpdate),this._instance.visibility().subscribe(this._bindedForceUpdate),this.forceUpdate())})}componentWillUnmount(){this._promise=null,null!==this._instance&&(this._instance.canBeShown().unsubscribe(this._bindedForceUpdate),this._instance.visibility().unsubscribe(this._bindedForceUpdate),this._instance=null)}render(){return null!==this._instance&&this._instance.canBeShown().value()?i.createElement(I.ToolButton,{id:this.props.id,icon:Ce,isActive:this._instance.isVisible(),onClick:this._handleClick,title:we}):null}_trackClick(e){0}}var Se,fe=o(38536);!function(e){e.Screenshot="drawing-toolbar-screenshot",e.FavoriteDrawings="drawing-toolbar-favorite-drawings",e.ObjectTree="drawing-toolbar-object-tree"}(Se||(Se={}));var ye=o(11086),Le=o(39197),Me=o(31911),De=o(94884),Ee=o(14750);const Ae=Ee,Ne="http://www.w3.org/2000/svg";function Be(e){const{direction:t,theme:o=Ee}=e;return i.createElement("svg",{xmlns:Ne,width:"9",height:"27",viewBox:"0 0 9 27",className:l(o.container,"right"===t?o.mirror:null),onContextMenu:Le.preventDefault +},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{className:o.background,d:"M4.5.5a4 4 0 0 1 4 4v18a4 4 0 1 1-8 0v-18a4 4 0 0 1 4-4z"}),i.createElement("path",{className:o.arrow,d:"M5.5 10l-2 3.5 2 3.5"})))}var Ie=o(34482);const Pe=(0,ie.mergeThemes)(Ae,Ie),We={hide:(0,a.t)("Hide Drawings Toolbar"),show:(0,a.t)("Show Drawings Toolbar")};class Fe extends i.PureComponent{constructor(){super(...arguments),this._toggleVisibility=()=>{S.isDrawingToolbarVisible.setValue(!S.isDrawingToolbarVisible.value())}}render(){const{toolbarVisible:e,"data-name":t}=this.props;return i.createElement("div",{className:l(Pe.toggleButton,"apply-common-tooltip common-tooltip-vertical",!e&&Pe.collapsed),onClick:this._toggleVisibility,title:e?We.hide:We.show,"data-name":t,"data-value":e?"visible":"collapsed"},i.createElement(Be,{direction:e?"left":"right",theme:e?void 0:Pe}))}}var Ve=o(94004),Oe=o(72923),xe=o(68521);const Ue={chartWidgetCollection:o(45697).any.isRequired};var Re=o(53178),ze=o(24565);const Ge={weakMagnet:(0,a.t)("Weak Magnet"),strongMagnet:(0,a.t)("Strong Magnet")},He=(0,v.onWidget)(),je=new(b()),qe=oe.trackEvent.bind(null,"GUI","Chart Left Toolbar"),Ke=(e,t)=>qe(`${e} ${t?"on":"off"}`);function Ye(){const e=!u.properties().childs().magnet.value();Ke("magnet mode",e),Xe("magnet mode",e?"on":"off"),(0,m.setIsMagnetEnabled)(e)}function Je(){(0,oe.trackEvent)("GUI","Magnet mode","Weak"),(0,m.setMagnetMode)(fe.MagnetMode.WeakMagnet)}function $e(){(0,oe.trackEvent)("GUI","Magnet mode","Strong"),(0,m.setMagnetMode)(fe.MagnetMode.StrongMagnet)}function Ze(){Xe("magnet mode","menu")}class Qe extends i.PureComponent{constructor(e){var t;super(e),this._grayedTools={},this._handleMeasureClick=()=>{Xe("measure")},this._handleZoomInClick=()=>{Xe("zoom in")},this._handleDrawingClick=e=>{Ke("drawing mode",e),Xe("drawing mode",e?"on":"off")},this._handleLockClick=e=>{Ke("lock all drawing",e),Xe("lock",e?"on":"off")},this._handleSyncClick=e=>{Ke("sync",e),Xe("sync",e?"on":"off")},this._handleObjectsTreeClick=()=>{this._activeChartWidget().showObjectsTreeDialog(),Xe("object tree")},this._handleMouseOver=e=>{(0,ye.hoverMouseEventFilter)(e)&&this.setState({isHovered:!0})},this._handleMouseOut=e=>{(0,ye.hoverMouseEventFilter)(e)&&this.setState({isHovered:!1})},this._handleChangeVisibility=e=>{this.setState({isVisible:e})},this._handleEsc=()=>{u.resetToCursor(!0)},this._updateMagnetEnabled=()=>{const e={magnet:(0,m.magnetEnabled)().value()};this.setState(e)},this._updateMagnetMode=()=>{const e={magnetMode:(0,m.magnetMode)().value()};this.setState(e)},this._handleWidgetbarSettled=e=>{var t;this.setState({isWidgetbarVisible:Boolean(null===(t=window.widgetbar)||void 0===t?void 0:t.visible().value()),widgetbarSettled:e})},this._handleWidgetbarVisible=e=>{this.setState({isWidgetbarVisible:e})},u.init(),this._toolsFilter=new T(this.props.drawingsAccess),this._filteredLineTools=k.map(e=>({id:e.id,title:e.title,items:e.items.filter(e=>this._toolsFilter.isToolEnabled(_.lineToolsInfo[e.name].localizedName)),trackLabel:e.trackLabel +})).filter(e=>0!==e.items.length),this._filteredLineTools.forEach(e=>e.items.forEach(e=>{this._grayedTools[e.name]=this._toolsFilter.isToolGrayed(_.lineToolsInfo[e.name].localizedName)})),this.state={isHovered:!1,isVisible:S.isDrawingToolbarVisible.value(),isWidgetbarVisible:Boolean(null===(t=window.widgetbar)||void 0===t?void 0:t.visible().value()),widgetbarSettled:void 0!==window.widgetbar,magnet:u.properties().childs().magnet.value(),magnetMode:u.properties().childs().magnetMode.value()},this._features={favoriting:!He&&d.enabled("items_favoriting"),multicharts:d.enabled("support_multicharts"),tools:!He||d.enabled("charting_library_base")},this._registry={chartWidgetCollection:this.props.chartWidgetCollection},this._negotiateResizer()}componentDidMount(){var e;S.isDrawingToolbarVisible.subscribe(this._handleChangeVisibility),B.globalCloseDelegate.subscribe(this,this._handleGlobalClose),(0,m.magnetEnabled)().subscribe(this._updateMagnetEnabled),(0,m.magnetMode)().subscribe(this._updateMagnetMode),this._tool=u.tool.spawn(),this._tool.subscribe(this._updateHotkeys.bind(this)),this._initHotkeys(),this.props.widgetbarSettled&&(this.props.widgetbarSettled.subscribe(this,this._handleWidgetbarSettled),v.CheckMobile.any()&&(null===(e=window.widgetbar)||void 0===e||e.visible().subscribe(this._handleWidgetbarVisible)))}componentWillUnmount(){var e;null===(e=window.widgetbar)||void 0===e||e.visible().unsubscribe(this._handleWidgetbarVisible),S.isDrawingToolbarVisible.unsubscribe(this._handleChangeVisibility),B.globalCloseDelegate.unsubscribe(this,this._handleGlobalClose),(0,m.magnetEnabled)().unsubscribe(this._updateMagnetEnabled),(0,m.magnetMode)().unsubscribe(this._updateMagnetMode),this._tool.destroy(),this._hotkeys.destroy()}componentDidUpdate(e,t){var o;const{isVisible:i,widgetbarSettled:n}=this.state;i!==t.isVisible&&(p.emit("toggle_sidebar",!i),h.setValue("ChartDrawingToolbarWidget.visible",i),this._negotiateResizer()),t.widgetbarSettled!==n&&n&&v.CheckMobile.any()&&(null===(o=window.widgetbar)||void 0===o||o.visible().subscribe(this._handleWidgetbarVisible))}render(){const{bgColor:e,chartWidgetCollection:t,readOnly:o}=this.props,{isHovered:n,isVisible:s,magnet:a,magnetMode:r}=this.state,h={backgroundColor:e&&"#"+e};let m;m=i.createElement(Fe,{toolbarVisible:s,"data-name":"toolbar-drawing-toggle-button"});const p=()=>!!this._features.tools&&!!d.enabled("show_object_tree");return i.createElement(Re.RegistryProvider,{validation:Ue,value:this._registry},i.createElement(De.CloseDelegateContext.Provider,{value:je},i.createElement(Ve.DrawerManager,null,i.createElement(xe.MatchMedia,{rule:Oe.DialogBreakpoints.TabletSmall},e=>i.createElement("div",{id:"drawing-toolbar",className:l(ze.drawingToolbar,{[ze.isHidden]:!s}),style:h,onClick:this.props.onClick,onContextMenu:Le.preventDefaultForContextMenu},i.createElement(A,{onScroll:this._handleGlobalClose,isVisibleFade:c.mobiletouch,isVisibleButtons:!c.mobiletouch&&n,isVisibleScrollbar:!1,onMouseOver:this._handleMouseOver,onMouseOut:this._handleMouseOut},i.createElement("div",{ +className:ze.inner},!o&&i.createElement("div",{className:ze.group,style:h},this._filteredLineTools.map((o,n)=>i.createElement(te,{"data-name":o.id,chartWidgetCollection:t,favoriting:this._features.favoriting,grayedTools:this._grayedTools,key:n,dropdownTooltip:o.title,lineTools:o.items,isSmallTablet:e,trackLabel:o.trackLabel})),this._toolsFilter.isToolEnabled("Font Icons")&&i.createElement(q,{"data-name":"linetool-group-font-icons",isGrayed:this._grayedTools["Font Icons"],toolName:"LineToolIcon",isSmallTablet:e})),!o&&i.createElement("div",{className:ze.group,style:h},i.createElement(J,{toolName:"measure",onClick:this._handleMeasureClick}),i.createElement(J,{toolName:"zoom",onClick:this._handleZoomInClick}),i.createElement($,{chartWidgetCollection:t})),!o&&i.createElement("div",{className:ze.group,style:h},i.createElement(z,{"data-name":"magnet-button",buttonIcon:r===fe.MagnetMode.StrongMagnet?he.drawingToolsIcons.strongMagnet:he.drawingToolsIcons.magnet,buttonTitle:_.lineToolsInfo.magnet.localizedName,isActive:a,onClickButton:Ye,buttonHotKey:_.lineToolsInfo.magnet.hotKey,checkable:!0,isSmallTablet:e,onArrowClick:Ze},i.createElement(X.PopupMenuItem,{key:"weakMagnet",className:e?ze.popupMenuItem:void 0,"data-name":"weakMagnet",icon:he.drawingToolsIcons.magnet,isActive:a&&r!==fe.MagnetMode.StrongMagnet,label:Ge.weakMagnet,onClick:Je}),i.createElement(X.PopupMenuItem,{key:"strongMagnet",className:e?ze.popupMenuItem:void 0,"data-name":"strongMagnet",icon:he.drawingToolsIcons.strongMagnet,isActive:a&&r===fe.MagnetMode.StrongMagnet,label:Ge.strongMagnet,onClick:$e})),this._features.tools&&i.createElement(Y,{property:u.properties().childs().stayInDrawingMode,saveDefaultOnChange:!0,toolName:"drawginmode",onClick:this._handleDrawingClick}),this._features.tools&&i.createElement(Y,{property:u.lockDrawings(),toolName:"lockAllDrawings",onClick:this._handleLockClick}),this._features.tools&&i.createElement(be,{isSmallTablet:e}),!1),!o&&this._features.tools&&i.createElement("div",{className:ze.group,style:h},i.createElement(le,{chartWidgetCollection:t,isSmallTablet:e,toolName:"removeAllDrawingTools"})),i.createElement("div",{className:ze.fill,style:h}),!o&&(this._features.tools||!1)&&i.createElement("div",{className:l(ze.group,ze.lastGroup),style:h},!1,this._features.tools&&this._features.favoriting&&i.createElement(ke,{id:Se.FavoriteDrawings}),p()&&i.createElement(P,{id:Se.ObjectTree,action:this._handleObjectsTreeClick,toolName:"showObjectsTree"})))),m)))))}_activeChartWidget(){return this.props.chartWidgetCollection.activeChartWidget.value()}_negotiateResizer(){const e=Me.TOOLBAR_WIDTH_COLLAPSED;this.props.resizerBridge.negotiateWidth(this.state.isVisible?Me.TOOLBAR_WIDTH_EXPANDED:e)}_handleGlobalClose(){je.fire()}_updateHotkeys(){this._hotkeys.promote()}_initHotkeys(){this._hotkeys=N.createGroup({desc:"Drawing Toolbar"}),this._hotkeys.add({desc:"Reset",hotkey:27,handler:()=>this._handleEsc(),isDisabled:()=>u.toolIsCursor(u.tool.value())})}}function Xe(e,t){0}class et{constructor(e,t){this._component=null,this._handleRef=e=>{ +this._component=e},this._container=e,n.render(i.createElement(Qe,{...t,ref:this._handleRef}),this._container)}destroy(){n.unmountComponentAtNode(this._container)}getComponent(){return(0,s.ensureNotNull)(this._component)}}},94004:(e,t,o)=>{"use strict";o.d(t,{DrawerManager:()=>n,DrawerContext:()=>s});var i=o(67294);class n extends i.PureComponent{constructor(e){super(e),this._addDrawer=()=>{const e=this.state.currentDrawer+1;return this.setState({currentDrawer:e}),e},this._removeDrawer=()=>{const e=this.state.currentDrawer-1;return this.setState({currentDrawer:e}),e},this.state={currentDrawer:0}}render(){return i.createElement(s.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.currentDrawer}},this.props.children)}}const s=i.createContext(null)},57374:(e,t,o)=>{"use strict";o.d(t,{Drawer:()=>m});var i=o(67294),n=o(16282),s=o(94184),a=o(67891),l=o(75761),r=o(4735),c=o(94004),h=o(43367),d=o(94884),u=o(64526);function m(e){const{position:t="Bottom",onClose:o,children:m,className:p,theme:g=u}=e,b=(0,n.ensureNotNull)((0,i.useContext)(c.DrawerContext)),[v,_]=(0,i.useState)(0),T=(0,i.useRef)(null),C=(0,i.useContext)(d.CloseDelegateContext);return(0,i.useEffect)(()=>{const e=(0,n.ensureNotNull)(T.current);return e.focus({preventScroll:!0}),C.subscribe(b,o),(0,l.setFixedBodyState)(!0),h.CheckMobile.iOS()&&(0,a.disableBodyScroll)(e),_(b.addDrawer()),()=>{C.unsubscribe(b,o);const t=b.removeDrawer();h.CheckMobile.iOS()&&(0,a.enableBodyScroll)(e),0===t&&(0,l.setFixedBodyState)(!1)}},[]),i.createElement(r.Portal,null,i.createElement("div",{className:s(u.wrap,u["position"+t])},v===b.currentDrawer&&i.createElement("div",{className:u.backdrop,onClick:o}),i.createElement("div",{className:s(u.drawer,g.drawer,u["position"+t],p),ref:T,tabIndex:-1,"data-name":e["data-name"]},m)))}},38508:e=>{e.exports=''},42454:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur b/public/static/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur new file mode 100644 index 0000000..8b12138 Binary files /dev/null and b/public/static/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur differ diff --git a/public/static/charting_library/bundles/export-data.429732b8c4ae52bcac7d.js b/public/static/charting_library/bundles/export-data.429732b8c4ae52bcac7d.js new file mode 100644 index 0000000..6d1c282 --- /dev/null +++ b/public/static/charting_library/bundles/export-data.429732b8c4ae52bcac7d.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[9498],{70867:(e,t,s)=>{s.r(t),s.d(t,{exportData:()=>d});var l=s(79881),i=s(16282),n=s(45672),a=s(61627),o=s(77455),c=s(33508),r=s(7518);const u={includeTime:!0,includeUserTime:!1,includeSeries:!0,includeDisplayedValues:!1,includedStudies:"all"};function d(e,t={}){const s=Object.assign({},u,t),l={schema:[],data:[],displayedData:[]},o=e.timeScale().points(),d=e.mainSeries(),h=function(e,t){const s=e.allStudies().filter(e=>e.showInObjectTree());if("all"===t)return s;return s.filter(e=>t.includes(e.id()))}(e,s.includedStudies),T=h.filter(e=>e instanceof c.study_Overlay).map(e=>e.data());(s.includeSeries||0===T.length)&&T.push(d.bars());const g=function(e,t,s,l){const o=(0,i.ensureNotNull)(void 0!==s?e.indexOf(s,!0):e.firstIndex()),c=(0,i.ensureNotNull)(void 0!==l?e.indexOf(l,!0):e.lastIndex());let r=c,u=o;for(const e of t){const t=e.search(o,a.PlotRowSearchMode.NearestRight);null!==t&&t.indexu&&(u=s.index)}return(0,i.assert)(r<=u,"Range must contain at least 1 time point"),new n.BarsRange(r,u)}(o,T,s.from,s.to),y=g.firstBar(),P=g.lastBar();s.includeTime&&l.schema.push({type:"time"});const S=l.schema.length;s.includeUserTime&&l.schema.push({type:"userTime"});const w=l.schema.length;if(s.includeSeries){const e=d.statusProvider({hideResolution:!0}).getSplitTitle(),t=Object.values(e).filter(e=>""!==e).join(", ");l.schema.push(p("open",t)),l.schema.push(p("high",t)),l.schema.push(p("low",t)),l.schema.push(p("close",t))}let v=l.schema.length;const N=[];for(const e of h){const t=f(e);N.push(t),l.schema.push(...t.fields)}const x=l.schema.length;if(0===x)return l;for(let e=y;e<=P;++e){const e=new Float64Array(x);e.fill(NaN),l.data.push(e),s.includeDisplayedValues&&l.displayedData.push(new Array(x).fill(""))}if(s.includeTime||s.includeUserTime){const t=e.timeScale(),n=e.dateTimeFormatter();for(let e=y;e<=P;++e){s.includeTime&&(l.data[e-y][0]=(0,i.ensureNotNull)(o.valueAt(e)));const a=(0,i.ensureNotNull)(t.indexToUserTime(e));if(s.includeUserTime&&(l.data[e-y][S]=a.getTime()/1e3),s.includeDisplayedValues){const t=n.format(a);s.includeTime&&(l.displayedData[e-y][0]=t),s.includeUserTime&&(l.displayedData[e-y][S]=t)}}}if(s.includeSeries){const e=d.bars().range(y,P),t=(0,r.getPriceValueFormatterForSource)(d);e.each((e,i)=>{const n=l.data[e-y],a=m(i[1]),o=m(i[2]),c=m(i[3]),r=m(i[4]);if(n[w]=a,n[w+1]=o,n[w+2]=c,n[w+3]=r,s.includeDisplayedValues){const s=l.displayedData[e-y];s[w]=t(a),s[w+1]=t(o),s[w+2]=t(c),s[w+3]=t(r)}return!1})}for(let e=0;e{const i=l.data[e-c],a=m(t[o]);return i[u]=a,s.includeDisplayedValues&&(l.displayedData[e-c][u]=n(a)),!1})}v+=i.fields.length}return l}function f(e){const t=e.metaInfo(),s={fieldToPlotIndex:[],fieldPlotOffsets:[], +fields:[]},n=e.id(),a=e.title(!1,void 0,!1);for(let c=0;c{"use strict";var e=Object.prototype.hasOwnProperty;function o(t,e){return t===e?0!==t||0!==e||1/t==1/e:t!=t&&e!=e}t.exports=function(t,i){if(o(t,i))return!0;if("object"!=typeof t||null===t||"object"!=typeof i||null===i)return!1;var r=Object.keys(t),n=Object.keys(i);if(r.length!==n.length)return!1;for(var s=0;s{},30831:()=>{},43948:t=>{t.exports={button:"button-xRobF0EE",content:"content-xRobF0EE","icon-only":"icon-only-xRobF0EE","color-brand":"color-brand-xRobF0EE","variant-primary":"variant-primary-xRobF0EE","variant-secondary":"variant-secondary-xRobF0EE","color-gray":"color-gray-xRobF0EE","color-green":"color-green-xRobF0EE","color-red":"color-red-xRobF0EE","size-xsmall":"size-xsmall-xRobF0EE","size-small":"size-small-xRobF0EE","size-medium":"size-medium-xRobF0EE","size-large":"size-large-xRobF0EE","size-xlarge":"size-xlarge-xRobF0EE","with-start-icon":"with-start-icon-xRobF0EE","with-end-icon":"with-end-icon-xRobF0EE","start-icon-wrap":"start-icon-wrap-xRobF0EE","end-icon-wrap":"end-icon-wrap-xRobF0EE",animated:"animated-xRobF0EE",stretch:"stretch-xRobF0EE",grouped:"grouped-xRobF0EE","adjust-position":"adjust-position-xRobF0EE","first-row":"first-row-xRobF0EE","first-col":"first-col-xRobF0EE","no-corner-top-left":"no-corner-top-left-xRobF0EE","no-corner-top-right":"no-corner-top-right-xRobF0EE","no-corner-bottom-right":"no-corner-bottom-right-xRobF0EE","no-corner-bottom-left":"no-corner-bottom-left-xRobF0EE"}},6939:()=>{},45754:()=>{},27754:t=>{t.exports={button:"button-2YcRd2gv"}},79224:t=>{t.exports={wrap:"wrap-2EG6_6QR",icon:"icon-2EG6_6QR",colorBg:"colorBg-2EG6_6QR",color:"color-2EG6_6QR",multicolor:"multicolor-2EG6_6QR",white:"white-2EG6_6QR"}},62334:t=>{t.exports={button:"button-1gEXpG61"}},54226:t=>{t.exports={item:"item-3Te2Sp8a",withIcon:"withIcon-3Te2Sp8a",icon:"icon-3Te2Sp8a",labelRow:"labelRow-3Te2Sp8a",multiWidth:"multiWidth-3Te2Sp8a",buttonWrap:"buttonWrap-3Te2Sp8a",buttonLabel:"buttonLabel-3Te2Sp8a"}},80511:(t,e,o)=>{"use strict";o.d(e,{Button:()=>w});var i=o(67294),r=o(94184),n=o(48413),s=o(49775),a=o(43948),l=o.n(a);function d(t){const{color:e="brand",size:o="medium",variant:i="primary",stretch:s=!1,icon:a,startIcon:d,endIcon:c,iconOnly:h=!1,className:p,isGrouped:u,cellState:g,disablePositionAdjustment:_=!1}=t,m=function(t){let e="";return 0!==t&&(1&t&&(e=r(e,l()["no-corner-top-left"])),2&t&&(e=r(e,l()["no-corner-top-right"])),4&t&&(e=r(e,l()["no-corner-bottom-right"])),8&t&&(e=r(e,l()["no-corner-bottom-left"]))),e}((0,n.getGroupCellRemoveRoundBorders)(g));return r(p,l().button,l()["size-"+o],l()["color-"+e],l()["variant-"+i],s&&l().stretch,(a||d)&&l()["with-start-icon"],c&&l()["with-end-icon"],h&&l()["icon-only"],m,u&&l().grouped,u&&!_&&l()["adjust-position"],u&&g.isTop&&l()["first-row"],u&&g.isLeft&&l()["first-col"])}function c(t){const{size:e,startIcon:o,icon:r,iconOnly:n,children:a,endIcon:d}=t,c=null!=o?o:r +;return i.createElement(i.Fragment,null,c&&"xsmall"!==e&&i.createElement(s.Icon,{icon:c,className:l()["start-icon-wrap"]}),a&&i.createElement("span",{className:l().content},a),d&&!n&&"xsmall"!==e&&i.createElement(s.Icon,{icon:d,className:l()["end-icon-wrap"]}))}var h=o(94618),p=o(74818);function u(t){const{className:e,color:o,variant:i,size:r,stretch:n,animated:s,icon:a,iconOnly:l,startIcon:d,endIcon:c,...h}=t;return{...h,...(0,p.filterDataProps)(t),...(0,p.filterAriaProps)(t)}}function g(t){const{reference:e,...o}=t,{isGrouped:r,cellState:n,disablePositionAdjustment:s}=(0,i.useContext)(h.ControlGroupContext),a=d({...o,isGrouped:r,cellState:n,disablePositionAdjustment:s});return i.createElement("button",{...u(o),className:a,ref:e},i.createElement(c,{...o}))}function _(t="default"){switch(t){case"default":return"primary";case"stroke":return"secondary"}}function m(t="primary"){switch(t){case"primary":return"brand";case"success":return"green";case"default":return"gray";case"danger":return"red"}}function v(t="m"){switch(t){case"s":return"xsmall";case"m":return"small";case"l":return"large"}}function b(t){const{intent:e,size:o,appearance:i,useFullWidth:r,icon:n,...s}=t;return{...s,color:m(e),size:v(o),variant:_(i),stretch:r,startIcon:n}}function w(t){return i.createElement(g,{...b(t)})}},94618:(t,e,o)=>{"use strict";o.d(e,{ControlGroupContext:()=>i});const i=o(67294).createContext({isGrouped:!1,cellState:{isTop:!0,isRight:!0,isBottom:!0,isLeft:!0}})},48413:(t,e,o)=>{"use strict";function i(t){let e=0;return t.isTop&&t.isLeft||(e+=1),t.isTop&&t.isRight||(e+=2),t.isBottom&&t.isLeft||(e+=8),t.isBottom&&t.isRight||(e+=4),e}o.d(e,{getGroupCellRemoveRoundBorders:()=>i})},45650:(t,e,o)=>{"use strict";o.d(e,{ToolWidgetIconButton:()=>a});var i=o(67294),r=o(94184),n=o(47218),s=o(27754);const a=i.forwardRef((t,e)=>{const{className:o,id:a,...l}=t;return i.createElement(n.ToolWidgetButton,{"data-name":a,...l,ref:e,className:r(o,s.button)})})},55753:(t,e,o)=>{"use strict";o.r(e),o.d(e,{FavoriteDrawingToolbar:()=>_});var i=o(79881),r=o(77625),n=o(2266),s=o(96404),a=o(67235),l=o(46374),d=o(6799),c=o(15521),h=o(21259),p=o(64222),u=o(32856),g=o.n(u);o(6939);class _ extends r.FloatingToolbar{constructor(t){super({allowSortable:!s.mobiletouch,dragOnlyInsideToolbar:!0,defaultPosition:t,positionSettingsKey:"chart.favoriteDrawingsPosition",positionStorageType:"device"}),this._linetoolsWidgets={},this._canBeShownValue=new(g())(!1),this._attachHandlers(),this._loadVisibilityState(),this._hideAction=this._createHideToolbarAction()}show(){this._canBeShownValue.value()&&(p.setValue("ChartFavoriteDrawingToolbarWidget.visible",!0),this.isVisible()||this._renderAllLinetools(),super.show())}hide(){p.setValue("ChartFavoriteDrawingToolbarWidget.visible",!1),super.hide()}canBeShown(){return this._canBeShownValue.readonly()}_onFavoriteAdded(t){this._canBeShownValue.setValue(!0),this.addWidget(this._createLinetoolWidget(t)),this.show()}_onFavoriteRemoved(t){this.removeWidget(this._linetoolsWidgets[t]),delete this._linetoolsWidgets[t], +0===n.LinetoolsFavoritesStore.favoritesCount()&&(this._canBeShownValue.setValue(!1),this.hide())}_onFavoriteMoved(){this._renderAllLinetools()}_onSelectedLinetoolChanged(t){Object.keys(this._linetoolsWidgets).forEach(e=>{this._linetoolsWidgets[e].classList.toggle("i-active",t===e)})}_createLinetoolWidget(t){const e=`${h.lineToolsInfo[t].icon}`,o=(0,a.parseHtmlElement)(e);return o.addEventListener("click",e=>{e.preventDefault(),c.tool.value()!==t&&c.tool.setValue(t)}),this._linetoolsWidgets[t]=o,o}_renderAllLinetools(){this._linetoolsWidgets={},this.removeWidgets(),n.LinetoolsFavoritesStore.favorites().filter(t=>h.lineToolsInfo[t]).forEach(t=>{this.addWidget(this._createLinetoolWidget(t))})}_attachHandlers(){n.LinetoolsFavoritesStore.favoriteAdded.subscribe(this,this._onFavoriteAdded),n.LinetoolsFavoritesStore.favoriteRemoved.subscribe(this,this._onFavoriteRemoved),n.LinetoolsFavoritesStore.favoriteMoved.subscribe(this,this._onFavoriteMoved),n.LinetoolsFavoritesStore.favoritesSynced.subscribe(null,()=>{this._loadVisibilityState(),this._renderAllLinetools()}),this.onWidgetsReordered().subscribe(this,(t,e)=>{if(n.LinetoolsFavoritesStore.favoriteMoved.unsubscribe(this,this._onFavoriteMoved),!n.LinetoolsFavoritesStore.moveFavorite(n.LinetoolsFavoritesStore.favorite(t),e))throw new Error("Something went wrong");n.LinetoolsFavoritesStore.favoriteMoved.subscribe(this,this._onFavoriteMoved)}),this.onContextMenu(t=>{t.preventDefault(),d.ContextMenuManager.showMenu([this._hideAction],t)}),c.tool.subscribe(this._onSelectedLinetoolChanged.bind(this))}_createHideToolbarAction(){return new l.Action({actionId:"Chart.FavoriteDrawingToolsToolbar.Hide",label:(0,i.t)("Hide Favorite Drawing Tools Toolbar"),onExecute:()=>{this.hide()}})}_loadVisibilityState(){const t=n.LinetoolsFavoritesStore.favoritesCount()>0;this._canBeShownValue.setValue(t);p.getBool("ChartFavoriteDrawingToolbarWidget.visible",!0)&&t?this.show():this.hide()}}},77625:(t,e,o)=>{"use strict";o.d(e,{FLOATING_TOOLBAR_REACT_WIDGETS_CLASS:()=>x,FloatingToolbar:()=>S});var i=o(79424),r=o(96404),n=o(83939),s=o(64222),a=o(5729),l=o.n(a),d=o(32856),c=o.n(d),h=o(26134);class p extends h.ChunkLoader{_startLoading(){return o.e(2377).then(o.bind(o,8658)).then(t=>t.HammerJS)}}var u=o(68177),g=o(16282);function _(t,e=!1){const o=getComputedStyle(t),i=[o.height];return"border-box"!==o.boxSizing&&i.push(o.paddingTop,o.paddingBottom,o.borderTopWidth,o.borderBottomWidth),e&&i.push(o.marginTop,o.marginBottom),i.reduce((t,e)=>t+(parseFloat(e)||0),0)}function m(t,e=!1){const o=getComputedStyle(t),i=[o.width];return"border-box"!==o.boxSizing&&i.push(o.paddingLeft,o.paddingRight,o.borderLeftWidth,o.borderRightWidth),e&&i.push(o.marginLeft,o.marginRight),i.reduce((t,e)=>t+(parseFloat(e)||0),0)}var v=o(43367);class b{constructor(t){var e,o;this._helper=null,this._handleDragStart=t=>{var e +;if(null!==this._helper)return;const o=this._source;o.classList.add("ui-draggable-dragging");const[i,r]=[m(o),_(o)];this._helper={startTop:parseFloat(o.style.top)||0,startLeft:parseFloat(o.style.left)||0,nextTop:null,nextLeft:null,raf:null,size:[i,r],containment:this._containment instanceof HTMLElement?[parseInt(getComputedStyle(this._containment).borderLeftWidth)+parseInt(getComputedStyle(this._containment).paddingLeft),parseInt(getComputedStyle(this._containment).borderTopWidth)+parseInt(getComputedStyle(this._containment).paddingTop),this._containment.offsetWidth-parseInt(getComputedStyle(this._containment).borderRightWidth)-parseInt(getComputedStyle(this._containment).paddingRight)-parseInt(getComputedStyle(o).marginLeft)-parseInt(getComputedStyle(o).marginRight)-i,this._containment.offsetHeight-parseInt(getComputedStyle(this._containment).borderBottomWidth)-parseInt(getComputedStyle(this._containment).paddingBottom)-parseInt(getComputedStyle(o).marginTop)-parseInt(getComputedStyle(o).marginBottom)-r]:"window"===this._containment?[window.scrollX,window.scrollY,window.scrollX+document.documentElement.offsetWidth-i,window.scrollY+document.documentElement.offsetHeight-r]:null},null===(e=this._start)||void 0===e||e.call(this)},this._handleDragMove=t=>{var e;if(null===this._helper)return;const{current:o,initial:i}=t.detail,r=this._source,n=this._helper.nextTop,s=this._helper.nextLeft,a="y"===this._axis||!1===this._axis||0!==o.movementY;if(a){const t=this._helper.startTop;isFinite(t)&&(this._helper.nextTop=o.clientY-i.clientY+t)}const l="x"===this._axis||!1===this._axis||0!==o.movementY;if(l){const t=this._helper.startLeft;isFinite(t)&&(this._helper.nextLeft=o.clientX-i.clientX+t)}if(null!==this._helper.containment){const[t,e,o,i]=this._helper.containment;a&&this._helper.nextTop&&(this._helper.nextTop=Math.min(this._helper.nextTop,i),this._helper.nextTop=Math.max(this._helper.nextTop,e)),l&&this._helper.nextLeft&&(this._helper.nextLeft=Math.min(this._helper.nextLeft,o),this._helper.nextLeft=Math.max(this._helper.nextLeft,t))}null!==this._helper.raf||n===this._helper.nextTop&&s===this._helper.nextLeft||(this._helper.raf=requestAnimationFrame(()=>{null!==this._helper&&(null!==this._helper.nextTop&&(r.style.top=this._helper.nextTop+"px",this._helper.nextTop=null),null!==this._helper.nextLeft&&(r.style.left=this._helper.nextLeft+"px",this._helper.nextLeft=null),this._helper.raf=null)})),null===(e=this._drag)||void 0===e||e.call(this)},this._handleDragStop=t=>{var e;if(null===this._helper)return;this._source.classList.remove("ui-draggable-dragging"),this._helper=null,null===(e=this._stop)||void 0===e||e.call(this)};const i=this._source=t.source;i.classList.add("ui-draggable");const r=this._handle=null!==(e=t.handle?i.querySelector(t.handle):null)&&void 0!==e?e:i;r.classList.add("ui-draggable-handle"),this._start=t.start,this._stop=t.stop,this._drag=t.drag,this._backend=new w({handle:r,onDragStart:this._handleDragStart,onDragMove:this._handleDragMove,onDragStop:this._handleDragStop}), +this._axis=null!==(o=t.axis)&&void 0!==o&&o,this._containment=t.containment}destroy(){const t=this._source;t.classList.remove("ui-draggable"),t.classList.remove("ui-draggable-dragging");this._handle.classList.remove("ui-draggable-handle"),this._backend.destroy(),null!==this._helper&&(this._helper.raf&&cancelAnimationFrame(this._helper.raf),this._helper=null)}}class w{constructor(t){this._initial=null,this._handlePointerDown=t=>{if(null!==this._initial)return;if(!(t.target instanceof Element&&this._handle.contains(t.target)))return;if(this._initial=t,!this._dispatchEvent(this._createEvent("pointer-drag-start",t)))return void(this._initial=null);t.preventDefault();const e=this._getEventTarget();e.addEventListener("pointermove",this._handlePointerMove),e.addEventListener("pointerup",this._handlePointerUp),e.addEventListener("pointercancel",this._handlePointerUp),e.addEventListener("lostpointercapture",this._handlePointerUp),e.setPointerCapture(t.pointerId)},this._handlePointerMove=t=>{null!==this._initial&&this._initial.pointerId===t.pointerId&&(t.preventDefault(),this._dispatchEvent(this._createEvent("pointer-drag-move",t)))},this._handlePointerUp=t=>{if(null===this._initial||this._initial.pointerId!==t.pointerId)return;t.preventDefault();const e=this._getEventTarget();e.removeEventListener("pointermove",this._handlePointerMove),e.removeEventListener("pointerup",this._handlePointerUp),e.removeEventListener("pointercancel",this._handlePointerUp),e.removeEventListener("lostpointercapture",this._handlePointerUp),e.releasePointerCapture(this._initial.pointerId),this._dispatchEvent(this._createEvent("pointer-drag-stop",t)),this._initial=null};const e=this._handle=t.handle;this._onDragStart=t.onDragStart,this._onDragMove=t.onDragMove,this._onDragStop=t.onDragStop,e.style.touchAction="none";this._getEventTarget().addEventListener("pointerdown",this._handlePointerDown)}destroy(){this._handle.style.touchAction="";const t=this._getEventTarget();t.removeEventListener("pointerdown",this._handlePointerDown),t.removeEventListener("pointermove",this._handlePointerMove),t.removeEventListener("pointerup",this._handlePointerUp),t.removeEventListener("pointercancel",this._handlePointerUp),t.removeEventListener("lostpointercapture",this._handlePointerUp),null!==this._initial&&(t.releasePointerCapture(this._initial.pointerId),this._initial=null)}_getEventTarget(){return v.CheckMobile.iOS()||(0,v.isMac)()&&r.touch?window.document.documentElement:this._handle}_dispatchEvent(t){switch(t.type){case"pointer-drag-start":this._onDragStart(t);break;case"pointer-drag-move":this._onDragMove(t);break;case"pointer-drag-stop":this._onDragStop(t)}return!t.defaultPrevented}_createEvent(t,e){return(0,g.assert)(null!==this._initial),new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:{backend:this,initial:this._initial,current:e}})}}var y=o(67235),f=o(87438),C=o(59713);o(45754) +;const x="floating-toolbar-react-widgets",T=`
${C}
`;class S{constructor(t){this._widget=document.createElement("div"),this._isVertical=!1,this._hiddingTimeoutId=null,this._visibility=new(c())(!1),this._windowResizeListener=this._onWindowResize.bind(this),this._reorderedDelegate=new(l()),this._responsiveResizeFunction=null,this._showTimeStamp=null,this._draggable=null,this._preventClickUntilAnimation=t=>{null!==this._showTimeStamp&&performance.now()-this._showTimeStamp{this.isVisible()&&this._widget.classList.remove("i-closed")})):this._widget.classList.remove("i-closed"),this._onWindowResize())}hide(t=!1){if(!this.isVisible())return;const e=this._widget.classList.contains("i-closed");if(this._widget.classList.add("i-closed"),this._visibility.setValue(!1),t||e)this._setHiddingTimeout(null),this._widget.classList.add("i-hidden");else{const t=setTimeout(()=>{this._setHiddingTimeout(null),this._widget.classList.add("i-hidden")},this.hideDuration());this._setHiddingTimeout(t)}window.removeEventListener("resize",this._windowResizeListener)}raise(){S._toolbars.length+S._startZIndex!==this._zIndex()&&(S._toolbars.splice(S._toolbars.indexOf(this),1),S._toolbars.push(this), +S._updateAllZIndexes())}hideDuration(){return.75*n.dur}addWidget(t,e={}){const o=this.widgetsCount();if(void 0===e.index&&(e.index=o),e.index<0||e.index>o)throw new Error(`Index must be in [0, ${o}]`);const i=document.createElement("div");i.className="tv-floating-toolbar__widget js-widget",i.appendChild(t);const r=e.index===o?null:this._content.childNodes.item(e.index);this._content.insertBefore(i,r),this._onWindowResize()}getReactWidgetContainer(){return this._reactWidgetsContainer}removeWidget(t){const e=this._findWrapperForWidget(t);e&&(this._content.removeChild(e),this._onWindowResize())}widgetsCount(){return this._content.childNodes.length}showWidget(t){const e=this._findWrapperForWidget(t);e&&e.classList.remove("i-hidden")}hideWidget(t){const e=this._findWrapperForWidget(t);e&&e.classList.add("i-hidden")}removeWidgets(){for(;this._content.firstChild;)this._content.removeChild(this._content.firstChild);this._onWindowResize()}onWidgetsReordered(){return this._reorderedDelegate}onContextMenu(t){if(r.mobiletouch){(new p).load().then(e=>{const o=new e(this._widget);o.get("press").set({time:500}),o.on("press",e=>{this._preventWidgetTouchEndEvent(),t(e.srcEvent)})})}else this._widget.addEventListener("contextmenu",t)}checkPosition(){const t=this._getCorrectedWidgetRect(),e={left:t.left,top:t.top};this._correctPosition(e),t.left===e.left&&t.top===e.top||(this._widget.style.left=e.left+"px",this._widget.style.top=e.top+"px")}_determineCurrentLayoutVertical(t){const e=this._isVertical?t.height:t.width;return window.innerWidth{e.preventDefault(),this._widget.removeEventListener("touchend",t)};this._widget.addEventListener("touchend",t)}_updateLayoutType(){this._widget.classList.toggle("i-vertical",this._isVertical)}_updateAxisOption(){0}_onWindowResize(){if("auto"===(this._options.layout||"auto")){const t=this._isVertical,e=this._getCorrectedWidgetRect();this._isVertical=this._determineCurrentLayoutVertical(e),this._updateLayoutType(),t!==this._isVertical&&(this._onVerticalChanged(this._isVertical,t),this._updateAxisOption())}this.checkPosition(),this._resizeResponsive()}_resizeResponsive(){if(null===this._responsiveResizeFunction)return;let t=this._options.layout||"auto";"auto"===t&&(t=this._isVertical?"vertical":"horizontal");const e="vertical"===t?this._widget.clientHeight:this._widget.clientWidth,o=("vertical"===t?window.innerHeight:window.innerWidth)-e;this._responsiveResizeFunction(e,o,t)}_correctPosition(t){const e=this._getCorrectedWidgetRect();t.left+e.width>window.innerWidth&&(t.left=Math.max(0,window.innerWidth-e.width)), +t.top+e.height>window.innerHeight&&(t.top=Math.max(0,window.innerHeight-e.height)),t.left=Math.max(0,t.left),t.top=Math.max(0,t.top)}_setZIndex(t){this._widget.style.zIndex=String(t)}_zIndex(){return Number(this._widget.style.zIndex)}_loadPosition(){let t;if("device"===this._options.positionStorageType){const e=u.TVLocalStorage.getItem(this._options.positionSettingsKey);t=null!==e?JSON.parse(e):this._options.defaultPosition}else t=(0,s.getJSON)(this._options.positionSettingsKey,this._options.defaultPosition);this._widget.style.left=Math.round(t.left)+"px",this._widget.style.top=Math.round(t.top)+"px",this._onWindowResize()}_savePosition(){const t=this._widget.getBoundingClientRect();if("device"===this._options.positionStorageType)try{u.TVLocalStorage.setItem(this._options.positionSettingsKey,JSON.stringify({left:t.left,top:t.top}))}catch(t){}else(0,s.setJSON)(this._options.positionSettingsKey,{left:t.left,top:t.top})}_init(){this._loadPosition(),this._draggable=new b({source:this._widget,containment:"window",handle:".js-drag",start:i.globalCloseMenu,stop:this._savePosition.bind(this)}),this._widget.addEventListener("pointerdown",this.raise.bind(this))}_initSortable(){let t=-1;lazyJqueryUI(this._content).sortable({start:(e,o)=>{t=o.item.index()},stop:(e,o)=>{const i=o.item.index();t!==i&&((0,f.trackEvent)("Floating Toolbar","User Sort"),this._reorderedDelegate.fire(t,i))},tolerance:"pointer",distance:5,containment:!!this._options.dragOnlyInsideToolbar&&"parent",scroll:!1,placeholder:"sortable-placeholder",forcePlaceholderSize:!0}),this._updateAxisOption()}_getCorrectedWidgetRect(){const t=this._widget.getBoundingClientRect();if(this._widget.classList.contains("i-closed")){const e=1/.925-1,o=t.width*e,i=t.height*e;return{bottom:t.bottom+i/2,height:t.height+i,left:t.left-o/2,right:t.right+o/2,top:t.top-i/2,width:t.width+o}}return t}static _updateAllZIndexes(){S._toolbars.forEach((t,e)=>{t._setZIndex(S._startZIndex+e)})}}S._startZIndex=20,S._toolbars=[]},34708:(t,e,o)=>{"use strict";o.d(e,{LineToolPropertiesWidgetBase:()=>ft});var i=o(67294),r=o(73935),n=o(79881),s=o(90963),a=o(27490),l=o(32856),d=o.n(l),c=o(47903),h=o(67945),p=o(15521),u=o(39096),g=o(16282),_=o(674),m=o.n(_);class v extends(m()){constructor(t,e,o){super(),this._listenersMappers=[],this._isProcess=!1,this._baseProperty=t,this._propertyApplier=e,this._undoText=o}destroy(){this._baseProperty.destroy()}value(){return this._baseProperty.value()}setValue(t){this._isProcess=!0,this._baseProperty.setValue(t,void 0,{applyValue:(t,e)=>this._propertyApplier.setProperty(t,e,this._undoText)}),this._isProcess=!1,this._listenersMappers.forEach(t=>{t.method.call(t.obj,this)})}subscribe(t,e){const o=o=>{this._isProcess||e.call(t,this)},i={obj:t,method:e,callback:o};this._listenersMappers.push(i),this._baseProperty.subscribe(t,o)}unsubscribe(t,e){var o;const i=(0,g.ensureDefined)(null===(o=this._listenersMappers.find(o=>o.obj===t&&o.method===e))||void 0===o?void 0:o.callback);this._baseProperty.unsubscribe(t,i)}unsubscribeAll(t){this._baseProperty.unsubscribeAll(t)}} +var b=o(3925),w=o(14236),y=o(77625),f=o(72923);const C=y.FLOATING_TOOLBAR_REACT_WIDGETS_CLASS+"__button";function x(t){const{templateButton:e,propertyButtons:o,commonButtons:r,isDrawingFinished:n,activeChartWidget:s}=t,a=s.hasModel()&&s.model().selection().dataSources();return a&&a.length?i.createElement(w.MatchMediaMap,{rules:{isSmallWidth:f.DialogBreakpoints.TabletSmall,isSmallHeight:"screen and (max-height: 428px)"}},({isSmallWidth:t,isSmallHeight:e})=>i.createElement(i.Fragment,null,l(),n&&i.createElement(i.Fragment,null,Boolean(o.length)&&o.map((o,r)=>i.createElement(o.component,{...o.props,key:`${o.props.title}_${r}`,className:C,isSmallScreen:t||e})),Boolean(r.length)&&r.map((o,r)=>{const n=t||e;return n?o.showForSmallScreen?i.createElement(o.component,{...o.props,isSmallScreen:n,key:`${o.props.title}_${r}`,className:C}):null:i.createElement(o.component,{...o.props,key:`${o.props.title}_${r}`,className:C})})))):l();function l(){return null===e?null:i.createElement(e.component,{...e.props,isDrawingFinished:n,className:C})}}var T=o(87438),S=o(45650),P=o(84136);function W(t){const{title:e,activeChartWidget:o,className:r}=t;return i.createElement(S.ToolWidgetIconButton,{className:r,icon:P,title:e,onClick:async function(){(0,T.trackEvent)("GUI","Context action on drawings","Settings");const t=o.model().selection().lineDataSources(),e=t.length;1===e?await o.showChartPropertiesForSource(t[0],void 0,{onWidget:o.onWidget()}):e>1&&await o.showChartPropertiesForSources({sources:t})},"data-name":"settings"})}var E=o(32188),L=o(94184),B=o(49585),k=o(62334);function I(t){const{className:e,...o}=t;return i.createElement(B.ToolButton,{className:L(e,k.button),tooltipPosition:"horizontal",...o})}var F=o(96750),A=o(62618);function R(t){const{activeChartWidget:e,className:o}=t,r=e.model().selection().lineDataSources()[0].properties().frozen,s=(0,E.useProperty)(r),a=s?{title:(0,n.t)("Unlock"),icon:F}:{title:(0,n.t)("Lock"),icon:A};return i.createElement(I,{className:o,isActive:Boolean(s),onClick:function(){(0,T.trackEvent)("GUI","Context action on drawings","Lock"),e.toggleLockSelectedObject()},"data-name":Boolean(s)?"unlock":"lock",...a})}var M=o(23353);function D(t){const{title:e,activeChartWidget:o,className:r}=t;return i.createElement(S.ToolWidgetIconButton,{className:r,icon:M,title:e,"data-name":"remove",onClick:function(){(0,T.trackEvent)("GUI","Context action on drawings","Remove"),o.removeSelectedSources()}})}var N=o(49775),V=o(96404),z=o(42998),O=o(60934),H=o(67842),U=o(87361),G=o(46374),j=o(80556),$=o(6799),q=o(21209),K=o(22775),Z=o(94817),Q=o(62781);function Y(t){const{title:e,activeChartWidget:r,isSmallScreen:s,className:a}=t,l=r.model(),d=l.selection().lineDataSources(),[c,h]=(0,i.useState)([]),p=(0,i.useRef)(null),u=(0,i.useMemo)(()=>new q.ActionsProvider(r),[r]);return i.createElement(i.Fragment,null,i.createElement(j.KeyboardDocumentListener,{keyCode:27,eventType:"keyup",handler:function(){(0,g.ensureNotNull)(p.current).close()}}),i.createElement(H.ToolWidgetMenu,{className:a,ref:p,arrow:!1, +onOpen:s?void 0:function(){const t=[new G.Action({actionId:"Chart.Source.VisualOrder",label:(0,n.t)("Visual order"),icon:Z,subItems:_(),name:"visual-order"})],e=function(){const t=[],e=z.isMacKeyboard?" +":"",i=d.filter(t=>t.cloneable());i.length>0&&t.push(new G.Action({actionId:"Chart.LineTool.Clone",name:"clone",icon:o(6577),shortcutHint:z.humanReadableModifiers(O.Modifiers.Mod)+e+" Drag",label:(0,n.t)("Clone"),onExecute:()=>{l.cloneLineTools(i,!1),(0,T.trackEvent)("GUI","Context action on drawings","Clone")}}));const s=d.filter(t=>t.copiable());if(s.length>0){const o={actionId:"Chart.Clipboard.CopyLineTools",name:"copy",label:(0,n.t)("Copy"),shortcutHint:z.humanReadableModifiers(O.Modifiers.Mod)+e+" C",onExecute:()=>{r.chartWidgetCollection().clipboard.uiRequestCopy(s)}};t.push(new G.Action(o,"Copy"))}if(!function(){if(!(null==r?void 0:r.isMultipleLayout()))return!1;return d.some(t=>t.isSynchronizable())}())return t;return t.push(...(0,q.createSyncDrawingActions)(r,d)),t}();e.length&&t.push(new G.Separator,...e);t.push(new G.Separator,new G.Action({actionId:"Chart.SelectedObject.Hide",label:(0,n.t)("Hide"),icon:Q,onExecute:()=>{r.hideSelectedObject()},name:"hide"})),h(J(t))},onClick:s?function(t){u.contextMenuActionsForSources(d).then(e=>{window.matchMedia(f.DialogBreakpoints.TabletSmall).matches?$.ContextMenuManager.showMenu(J(e),t,{mode:"drawer","data-name":"more-menu"}):h(J(e))})}:void 0,title:e,content:i.createElement(N.Icon,{icon:K}),"data-name":"more",menuDataName:"more-menu"},i.createElement(U.ActionsTable,{parentIsOpened:!0,items:c})));function _(){const t=[],e=l.availableZOrderOperations(d),o=new G.Action({actionId:"Chart.Source.VisualOrder.BringToFront",name:"bring-to-front",label:(0,n.t)("Bring to Front"),onExecute:()=>{l.bringToFront(d)},disabled:1===d.length&&!e.bringToFrontEnabled}),i=new G.Action({actionId:"Chart.Source.VisualOrder.SendToBack",name:"send-to-back",label:(0,n.t)("Send to Back"),onExecute:()=>{l.sendToBack(d)},disabled:1===d.length&&!e.sendToBackEnabled}),r=new G.Action({actionId:"Chart.Source.VisualOrder.BringForward",name:"bring-forward",label:(0,n.t)("Bring Forward"),onExecute:()=>{l.bringForward(d)},disabled:1===d.length&&!e.bringForwardEnabled}),s=new G.Action({actionId:"Chart.Source.VisualOrder.SendBackward",name:"send-backward",label:(0,n.t)("Send Backward"),onExecute:()=>{l.sendBackward(d)},disabled:1===d.length&&!e.sendBackwardEnabled});return t.push(o,i,r,s),t}}function J(t){if(V.touch&&!window.matchMedia("(pointer:fine)").matches){const e=t.filter(t=>"Copy"!==t.id);if(e.length===t.length)return e;const o=[];return e.forEach(t=>{("separator"!==t.type||o.length>0&&"separator"!==o[o.length-1].type)&&o.push(t)}),o}return t}var X=o(64417),tt=o(4034),et=o(88816),ot=o(74295);function it(t){const{property:e,propertyApplier:o,title:r,undoText:s,className:a}=t,l=(0,E.useProperty)(e),d=(0,i.useMemo)(()=>[new G.Action({actionId:"Chart.LineTool.Toolbar.ChangeLineStyleToSolid",icon:tt,label:(0,n.t)("Line"),active:X.LineStyle.Solid===l,onExecute:()=>o.setProperty(e,X.LineStyle.Solid,s) +}),new G.Action({actionId:"Chart.LineTool.Toolbar.ChangeLineStyleToDashed",icon:et,label:(0,n.t)("Dashed line"),active:X.LineStyle.Dashed===l,onExecute:()=>o.setProperty(e,X.LineStyle.Dashed,s)}),new G.Action({actionId:"Chart.LineTool.Toolbar.ChangeLineStyleToDotted",icon:ot,label:(0,n.t)("Dotted line"),active:X.LineStyle.Dotted===l,onExecute:()=>o.setProperty(e,X.LineStyle.Dotted,s)})],[o,e,l]);return i.createElement(H.ToolWidgetMenu,{className:a,arrow:!1,content:i.createElement(N.Icon,{icon:rt(l)}),title:r,"data-name":t["data-name"],menuDataName:t["data-name"]+"-menu"},i.createElement(U.ActionsTable,{items:d}))}function rt(t){switch(t){case X.LineStyle.Solid:return tt;case X.LineStyle.Dashed:return et;case X.LineStyle.Dotted:return ot;default:return""}}const nt=[10,11,12,14,16,20,24,28,32,40];function st(t){const{property:e,propertyApplier:o,title:r,undoText:n,className:s}=t,a=(0,E.useProperty)(e),l=nt.map(t=>new G.Action({actionId:"Chart.LineTool.Toolbar.ChangeFontSizeProperty",label:t.toString(),onExecute:()=>o.setProperty(e,t,n),active:t===a}));return i.createElement(H.ToolWidgetMenu,{arrow:!1,content:a,className:s,title:r,"data-name":t["data-name"],menuDataName:t["data-name"]+"-menu"},i.createElement(U.ActionsTable,{items:l}))}var at=o(5729),lt=o.n(at);o(30831),o(54395);class dt extends y.FloatingToolbar{constructor(t){super(dt._prepareOptions(t)),this._onWidgetStateChangedDelegate=new(lt()),this._statedWidgets=[],this._currentPopup=null,this._onWindowClickedListener=this._onWindowClicked.bind(this)}show(){super.show(),document.addEventListener("mousedown",this._onWindowClickedListener)}hide(t){super.hide(t),document.removeEventListener("mousedown",this._onWindowClickedListener)}destroy(){this._closePopup(),super.destroy()}addGroupedWidget(t,e={}){(0,g.assert)(t.states.length>0&&-1!==dt._getStateIndexById(t,t.currentStateId),`Argument is invalid (count: ${t.states.length}, state: ${t.currentStateId})`);const o=document.createElement("div");o.className="tv-grouped-floating-toolbar__widget-wrapper apply-common-tooltip",t.widgetAddClass&&o.classList.add(t.widgetAddClass),o.setAttribute("title",t.tooltip);const i={isEnabled:!0,statedWidget:t,toolbarWidget:o},r=this._onWidgetClicked.bind(this,i);i.clickListener=r,o.addEventListener("click",r),this._updateWidgetPreview(i),this.addWidget(o,e),this._statedWidgets.push(i)}findGroupedWidget(t){const e=this._statedWidgets.length;for(let o=0;o{const n=this._createSubWidget(t,i),s=this._onSubWidgetClicked.bind(this,t,i.id);n.addEventListener("click",s),e.widgets.push({clickListener:s,stateWidget:i,widget:n}),n.classList.add("tv-grouped-floating-toolbar__sub-widget--slide-right-"+r),n.classList.add("tv-grouped-floating-toolbar__sub-widget--slide-left-"+(o-r+1)),i.readonly||e.element.appendChild(n)}),this._currentPopup=e,this._updateSubWidgetsState(t.statedWidget),t.toolbarWidget.classList.add("i-dropped"),this._getWidget().appendChild(this._currentPopup.element),Promise.resolve().then(()=>{this._currentPopup&&this._currentPopup.element.classList.add("i-opened")}),this._updatePopupPosition()}_closePopup(){if(this._statedWidgets.forEach(t=>{t.toolbarWidget.classList.remove("i-dropped")}),!this._currentPopup)return;const t=this._currentPopup.widgets,e=this._currentPopup.element;this._currentPopup=null,t.forEach(t=>{t.widget.removeEventListener("click",t.clickListener)}),e.classList.remove("i-opened"),e.addEventListener("transitionend",t=>{t.target===e&&this._getWidget().removeChild(e)})}_updateWidgetPreview(t){const e=dt._getStateIndexById(t.statedWidget,t.statedWidget.currentStateId);(0,g.assert)(-1!==e,"Unknown state id: "+t.statedWidget.currentStateId);const o=t.statedWidget.states[e].widget.cloneNode(!0);t.toolbarWidget.firstChild?t.toolbarWidget.replaceChild(o,t.toolbarWidget.firstChild):(t.toolbarWidget.appendChild(o),t.toolbarWidget.appendChild(dt._createCaret()))}_updateSubWidgetsState(t){this._currentPopup&&this._isPopupCreatedForWidget(t.id)&&this._currentPopup.widgets.forEach(e=>{e.widget.classList.toggle(dt._activeSubWidgetClass,e.stateWidget.id===t.currentStateId)})}_updatePopupPosition(){if(!this._currentPopup)return;const t=this._currentPopup.createdFor,e=this._getWidget().getBoundingClientRect(),o=this._findWrapperForWidget(t) +;if(!o||!this._currentPopup)throw new Error("Toolbar has no wrapper for preview's widget or there is no popup");const i=o.getBoundingClientRect(),r=this._currentPopup.element.getBoundingClientRect(),n=this._currentPopup.element;if(this.isVertical())n.classList.remove("tv-grouped-floating-toolbar__popup--at-top"),n.style.top=i.top-e.top+1+"px",n.style.left="",e.left>window.innerWidth-e.right?n.classList.add("tv-grouped-floating-toolbar__popup--at-left"):n.classList.remove("tv-grouped-floating-toolbar__popup--at-left");else{n.classList.remove("tv-grouped-floating-toolbar__popup--at-left");let t=0;i.left+r.width>window.innerWidth?e.left+r.width>window.innerWidth&&(t=e.width-r.width):t=i.left-e.left+1,n.style.left=t+"px",e.bottom+r.height>window.innerHeight?n.classList.add("tv-grouped-floating-toolbar__popup--at-top"):(n.classList.remove("tv-grouped-floating-toolbar__popup--at-top"),n.style.top="")}}_isPopupCreatedForWidget(t){return Boolean(this._currentPopup&&this._currentPopup.stateWidgetId===t)}_createSubWidget(t,e){const o=document.createElement("div");return o.className+="tv-grouped-floating-toolbar__sub-widget",t.statedWidget.stateWidgetAddClass&&o.classList.add(t.statedWidget.stateWidgetAddClass),o.appendChild(e.widget),o}_onSubWidgetClicked(t,e){this._closePopup(),t.statedWidget.currentStateId!==e&&(this.setGroupedWidgetState(t.statedWidget.id,e),this._onWidgetStateChangedDelegate.fire(t.statedWidget.id,e))}_onWindowClicked(t){if(this.isVisible()&&this._currentPopup&&!dt._isEventInElement(t,this._currentPopup.element)){for(let e=0;e{ +p.isDirectionalMovementActive.value()||(t?this._floatingToolbar.hide(!0):this._toolbarRendered&&this._floatingToolbar.show())},this._chartWidgetCollection=t,this._floatingToolbar=new dt({defaultPosition:{top:ct.HEADER_TOOLBAR_HEIGHT_EXPANDED+15,left:window.innerWidth/2},positionSettingsKey:"properties_toolbar.position",positionStorageType:"device",layout:"horizontal","data-name":"drawing-toolbar"}),this._container=this._floatingToolbar.getReactWidgetContainer(),p.isToolMovingNow.subscribe(this._handleSourceEdit),p.isToolEditingNow.subscribe(this._handleSourceEdit)}activeChartWidget(){return this._chartWidgetCollection.activeChartWidget.value()}selectedSources(){return this._chartWidgetCollection.selectedSources.value()}hide(){var t;this._updateVisibilityTimeout&&clearTimeout(this._updateVisibilityTimeout),this._updateVisibilityTimeout=setTimeout(()=>{(0,h.unsetNewToolProperties)(),this._floatingToolbar.hide(!0),this._isToolbarRendered()&&this._unmountToolbar(),this._clearProperties(),this._clearCommonButtons()},0),null===(t=this._lineToolsDoNotAffectChartInvalidation)||void 0===t||t.destroy(),delete this._lineToolsDoNotAffectChartInvalidation,delete this._propertyApplier}_propertyApplierImpl(){return this._propertyApplier||(this._lineToolsDoNotAffectChartInvalidation||(this._lineToolsDoNotAffectChartInvalidation=new ut.FeatureToggleWatchedValue("do_not_invalidate_chart_on_changing_line_tools",!1)),this._propertyApplier=new pt.PropertyApplierWithoutSavingChart(()=>this.activeChartWidget().model(),this._lineToolsDoNotAffectChartInvalidation)),this._propertyApplier}_clearProperties(){this._clearPropertyButtons(),this._lineWidthsProperty&&(this._lineWidthsProperty.destroy(),this._lineWidthsProperty=null),this._lineColorsProperty&&(this._lineColorsProperty.destroy(),this._lineColorsProperty=null),this._currentProperties&&(this._currentProperties=null)}_show(){this._updateVisibilityTimeout&&clearTimeout(this._updateVisibilityTimeout),this._updateVisibilityTimeout=setTimeout(()=>{this._renderToolbar(),this._floatingToolbar.show(),this._floatingToolbar.checkPosition()},0)}_addPropertyButton(t){this._propertyButtons.push(t),this._renderToolbar()}_addCommonButton(t){this._commonButtons.push(t),this._renderToolbar()}_addTemplatesButton(t){this._templatesButton=t}_renderToolbar(){null!==this._container&&this.activeChartWidget()&&this.activeChartWidget().hasModel()&&(r.render(i.createElement(x,{templateButton:this._templatesButton,propertyButtons:this._propertyButtons,commonButtons:this._commonButtons,isDrawingFinished:this._isDrawingFinished.value(),activeChartWidget:this.activeChartWidget()}),this._container),this._toolbarRendered=!0)}_unmountToolbar(){null!==this._container&&(r.unmountComponentAtNode(this._container),this._toolbarRendered=!1)}_clearTemplatesButton(){this._templatesButton=null}_clearPropertyButtons(){this._propertyButtons=[]}_clearCommonButtons(){this._commonButtons=[]}_isToolbarRendered(){return this._toolbarRendered}_createSettingsButton(){const t={component:W,props:{title:mt, +activeChartWidget:this.activeChartWidget()}};this._addCommonButton(t)}_createLockButton(){const t={component:R,props:{title:"Lock",activeChartWidget:this.activeChartWidget()}};this._addCommonButton(t)}_createRemoveButton(){const t={component:D,props:{title:vt,activeChartWidget:this.activeChartWidget()},showForSmallScreen:!0};this._addCommonButton(t)}_createDotsButton(){this._addCommonButton({component:Y,props:{title:bt,activeChartWidget:this.activeChartWidget()},showForSmallScreen:!0})}_createAlertButton(){}_createSourceActions(){this._createLockButton()}_createLineStyleButton(t){const e=this.selectedSources();if(0===e.length)return!1;const o=e[0];if(!(0,ht.isDataSource)(o))return!1;const i={component:it,props:{property:o.properties().linestyle||t,title:wt,propertyApplier:this._propertyApplierImpl(),"data-name":"style",undoText:_t}};return this._addPropertyButton(i),!0}_createFontSizeButton(t){const e=this.selectedSources();if(0===e.length)return!1;const o=e[0];if(!(0,ht.isDataSource)(o))return!1;const i={component:st,props:{property:o.properties().fontsize||t,title:yt,propertyApplier:this._propertyApplierImpl(),"data-name":"font-size",undoText:gt}};return this._addPropertyButton(i),!0}_createCommonButtons(){this._commonButtons.length&&this._clearCommonButtons(),a.enabled("property_pages")&&this._createSettingsButton(),this._createSourceActions(),this._createRemoveButton(),this._createDotsButton()}_prepareProperties(t){const e=this.selectedSources().filter(e=>(0,h.isLineTool)(e)&&e.properties()[t]);if(!(e.filter(e=>e.properties()[t].visible()).length<1))return e.map(e=>e.properties()[t]).filter(c.notNull)}_createProperty(t,e,o,i){if(e){const t=this._prepareProperties(o);if(!t)return;return this._isWidthProperty(t[0])?new v(new u.MultipleLineWidthsProperty(t),this._propertyApplierImpl(),i):new b.CollectibleColorPropertyUndoWrapper(new u.MultipleLineColorsProperty(t),this._propertyApplierImpl(),i)}if(t&&t.visible())return this._isWidthProperty(t)?new u.MultipleLineWidthsProperty([t]):new b.CollectibleColorPropertyDirectWrapper(new u.MultipleLineColorsProperty([t]))}_shouldShowBackgroundProperty(t,e){return!e||!e.fillBackground||!!e.fillBackground.value()}_isDrawingToolExcludingCustomUrlEventTool(t){return Boolean(null==t?void 0:t.toLowerCase().includes("linetool"))&&"LineToolTweet"!==t&&"LineToolIdea"!==t}_isWidthProperty(t){return t instanceof u.LineToolWidthsProperty}}},45466:(t,e,o)=>{"use strict";var i=o(79881).t,r=o(90963).TranslatedString,n=o(15521),s=o(34708).LineToolPropertiesWidgetBase,a=o(33033).isLineDrawnWithPressedButton,l=o(67945).isLineTool;const d=o(91800).ColorPickerButton,c=o(31071).LineWidthButton;o(67945).setNewToolProperties;o(27490);var h=o(37821),p=o(17159),u=o(95871),g=(new r("apply drawing template",i("apply drawing template")), +new r("change line tool(s) color",i("change line tool(s) color"))),_=new r("change line tool(s) background color",i("change line tool(s) background color")),m=new r("change line tool(s) text color",i("change line tool(s) text color")),v=new r("change line tool(s) line width",i("change line tool(s) line width")),b=i("Color"),w=i("Line tool colors"),y=i("Text color"),f=i("Line tool text colors"),C=i("Background color"),x=i("Line tool backgrounds"),T=i("Style"),S=i("Font Size"),P=i("Line tool width"),W=i("Line tool widths"),E=i("Profit background color"),L=i("Stop background color"),B=i("Marker color"),k=i("Background color 1"),I=i("Background color 2");class F extends s{constructor(t){super(t),this._hasAlertWathcedValue=null,this._templatesButton=null,this.attachHandlers()}attachHandlers(){n.tool.subscribe(this.onToolChanged.bind(this),{callWithLast:!0}),n.iconTool.subscribe(this.onIconToolChanged.bind(this)),this._chartWidgetCollection.selectedSources.subscribe(this.onSourceChanged.bind(this))}onIconToolChanged(){this.onToolChanged(n.tool.value())}onToolChanged(t,e){this._currentTool=t;const o=this.selectedSources();this._isDrawingToolExcludingCustomUrlEventTool(t)?(this._isDrawingFinished.setValue(!1),this._updateVisibility()):o&&o.length?(o.length>1&&this._isDrawingFinished.setValue(!0),this.onSourceChanged(this.selectedSources())):this.hide()}findSourceOnWidget(t){for(var e=0;e{"use strict";o.d(e,{CollectibleColorPropertyUndoWrapper:()=>a,CollectibleColorPropertyDirectWrapper:()=>l});var i=o(16282),r=o(674),n=o.n(r);class s extends(n()){constructor(t){super(),this._listenersMappers=[],this._isProcess=!1,this._baseProperty=t}destroy(){this._baseProperty.destroy()}value(){const t=this._baseProperty.value();return"mixed"===t?"":t}visible(){return this._baseProperty.visible()}setValue(t){this._isProcess=!0,this._baseProperty.setValue(""===t?"mixed":t,void 0,{applyValue:this._applyValue.bind(this)}),this._isProcess=!1,this._listenersMappers.forEach(t=>{t.method.call(t.obj,this)})}subscribe(t,e){const o=o=>{this._isProcess||e.call(t,this)},i={obj:t,method:e,callback:o};this._listenersMappers.push(i),this._baseProperty.subscribe(t,o)}unsubscribe(t,e){var o;const r=(0,i.ensureDefined)(null===(o=this._listenersMappers.find(o=>o.obj===t&&o.method===e))||void 0===o?void 0:o.callback);this._baseProperty.unsubscribe(t,r)}unsubscribeAll(t){this._baseProperty.unsubscribeAll(t)}}class a extends s{constructor(t,e,o){super(t),this._propertyApplier=e,this._undoText=o}_applyValue(t,e){this._propertyApplier.setProperty(t,e,this._undoText)}}class l extends s{_applyValue(t,e){t.setValue(e)}}},80538:(t,e,o)=>{"use strict";o.d(e,{PropertyApplierWithoutSavingChart:()=>i});class i{constructor(t,e){this._undoModelSupplier=t,this._featureToggle=e}setProperty(t,e,o){this._undoModelSupplier().setProperty(t,e,o,this._featureToggle.value())} +beginUndoMacro(t){return this._undoModelSupplier().beginUndoMacro(t,this._shouldWeKeepChartValidated())}endUndoMacro(){this._undoModelSupplier().endUndoMacro()}setWatchedValue(t,e,o){this._undoModelSupplier().undoHistory().setWatchedValue(t,e,o,!0)}_shouldWeKeepChartValidated(){const t=this._undoModelSupplier().model().isAutoSaveEnabled().value();return this._featureToggle.value()&&t}}},91800:(t,e,o)=>{"use strict";o.d(e,{ColorPickerButton:()=>m});var i=o(67294),r=o(94184),n=o.n(r),s=o(16282),a=o(49775),l=o(14563),d=o(50968),c=o(6347),h=o(43001),p=o(35671),u=o(67842),g=o(32188),_=o(79224);function m(t){const{property:e,icon:o,propertyApplier:r,title:m,undoText:v,className:b}=t,w=(0,g.useProperty)(e),y=(0,i.useRef)(null),f=w?(0,l.parseRgba)(w)[3]:void 0,C=""===w,x=String(W()).toLowerCase()===p.white,[T,S,P]=(0,c.useCustomColors)();return i.createElement(u.ToolWidgetMenu,{className:b,content:i.createElement("div",{className:_.wrap},i.createElement(a.Icon,{className:_.icon,icon:o}),i.createElement("div",{className:_.colorBg},i.createElement("div",{className:n()(_.color,C&&_.multicolor,x&&_.white),style:C?void 0:{backgroundColor:w}}))),arrow:!1,title:m,ref:y,"data-name":t["data-name"],menuDataName:t["data-name"]+"-menu"},i.createElement(h.ColorPicker,{color:W(),opacity:f,onColorChange:function(t,e){const o=w?(0,d.alphaToTransparency)((0,l.parseRgba)(w)[3]):0;E((0,d.generateColor)(String(t),o,true)),e||(0,s.ensureNotNull)(y.current).close()},onOpacityChange:function(t){E((0,d.generateColor)(w,(0,d.alphaToTransparency)(t),!0))},selectOpacity:void 0!==f,selectCustom:!0,customColors:T,onAddColor:function(t){S(t),(0,s.ensureNotNull)(y.current).close()},onRemoveCustomColor:P}));function W(){return w?(0,l.rgbToHexString)((0,l.parseRgb)(w)):null}function E(t){r.setProperty(e,t,v)}}},31071:(t,e,o)=>{"use strict";o.d(e,{LineWidthButton:()=>w});var i=o(67294),r=o(94184),n=o(16282),s=o(49775),a=o(67842),l=o(32188),d=o(95860),c=o(4598),h=o(85260),p=o(71209),u=o(22404),g=o(94458),_=o(62577),m=o(54226);const v=(0,c.mergeThemes)(d.DEFAULT_POPUP_MENU_ITEM_THEME,m),b=[{value:1,icon:h},{value:2,icon:p},{value:3,icon:u},{value:4,icon:g}];function w(t){const{multipleProperty:e,title:o,undoText:c,propertyApplier:h,className:p,isSmallScreen:u}=t,g=(0,l.useProperty)((0,n.ensureDefined)(e)),w="mixed"===g||!g,y=function(t){const e=b.find(e=>e.value===t);if(!e)return _;return e.icon}(g);return i.createElement(a.ToolWidgetMenu,{className:p,arrow:!1,title:o,"data-name":t["data-name"],menuDataName:t["data-name"]+"-menu",content:i.createElement("div",null,w?i.createElement("div",{className:m.multiWidth},i.createElement(s.Icon,{icon:_})):i.createElement("div",{className:m.buttonWrap},!u&&i.createElement(s.Icon,{icon:y}),i.createElement("div",{className:r(!u&&m.buttonLabel)},g+"px")))},b.map(({value:t,icon:e})=>i.createElement(d.PopupMenuItem,{key:t,theme:v,label:t+"px",icon:e,isActive:t===g,onClick:f,onClickArg:t})));function f(t){t&&e&&(h.beginUndoMacro(c),e.setValue(t,void 0,{applyValue:(t,e)=>{h.setProperty(t,e,c)}}),h.endUndoMacro())}}}, +32188:(t,e,o)=>{"use strict";o.d(e,{useProperty:()=>r});var i=o(67294);const r=t=>{const[e,o]=(0,i.useState)(t.value());return(0,i.useEffect)(()=>{const e=t=>{o(t.value())};e(t);const i={};return t.subscribe(i,e),()=>t.unsubscribe(i,e)},[t]),e}},14236:(t,e,o)=>{"use strict";o.d(e,{MatchMediaMap:()=>s});var i=o(67294),r=o(19303),n=o.n(r);class s extends i.Component{constructor(t){super(t),this._handleMediaChange=()=>{const t=l(this.state.queries,(t,e)=>e.matches);let e=!1;for(const o in t)if(t.hasOwnProperty(o)&&this.state.matches[o]!==t[o]){e=!0;break}e&&this.setState({matches:t})};const{rules:e}=this.props;this.state=a(e)}shouldComponentUpdate(t,e){return!n()(t,this.props)||(!n()(e.rules,this.state.rules)||!n()(e.matches,this.state.matches))}componentDidMount(){this._migrate(null,this.state.queries)}componentDidUpdate(t,e){n()(t.rules,this.props.rules)||this._migrate(e.queries,this.state.queries)}componentWillUnmount(){this._migrate(this.state.queries,null)}render(){return this.props.children(this.state.matches)}static getDerivedStateFromProps(t,e){if(n()(t.rules,e.rules))return null;const{rules:o}=t;return a(o)}_migrate(t,e){null!==t&&l(t,(t,e)=>{e.removeListener(this._handleMediaChange)}),null!==e&&l(e,(t,e)=>{e.addListener(this._handleMediaChange)})}}function a(t){const e=l(t,(t,e)=>window.matchMedia(e));return{queries:e,matches:l(e,(t,e)=>e.matches),rules:{...t}}}function l(t,e){const o={};for(const i in t)t.hasOwnProperty(i)&&(o[i]=e(i,t[i]));return o}},22775:t=>{t.exports=''},88816:t=>{t.exports=''},74295:t=>{t.exports=''},4034:t=>{t.exports=''},6577:t=>{t.exports=''},17159:t=>{ +t.exports=''},59713:t=>{t.exports=''},85260:t=>{t.exports=''},71209:t=>{t.exports=''},22404:t=>{t.exports=''},94458:t=>{t.exports=''},62577:t=>{t.exports=''},37821:t=>{t.exports=''},95871:t=>{t.exports=''},84136:t=>{ +t.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/full-tooltips-popup.c97f4f88ba2959dd66bb.js b/public/static/charting_library/bundles/full-tooltips-popup.c97f4f88ba2959dd66bb.js new file mode 100644 index 0000000..71481eb --- /dev/null +++ b/public/static/charting_library/bundles/full-tooltips-popup.c97f4f88ba2959dd66bb.js @@ -0,0 +1,3 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[8643],{67891:function(e,t){var n,o,r;o=[t],void 0===(r="function"==typeof(n=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t{e.exports={"css-value-small-size":"18px","css-value-border-radius-small-size":"9px","css-value-large-size":"22px","css-value-border-radius-large-size":"11px",popupWidget:"popupWidget-1LnizAbt", +desc:"desc-1LnizAbt",icon:"icon-1LnizAbt",small:"small-1LnizAbt",large:"large-1LnizAbt",title:"title-1LnizAbt",text:"text-1LnizAbt",item:"item-1LnizAbt",boldItem:"boldItem-1LnizAbt",action:"action-1LnizAbt",additionalWidget:"additionalWidget-1LnizAbt"}},64526:e=>{e.exports={wrap:"wrap-164vy-kj",positionBottom:"positionBottom-164vy-kj",backdrop:"backdrop-164vy-kj",drawer:"drawer-164vy-kj",positionLeft:"positionLeft-164vy-kj"}},36783:(e,t,n)=>{"use strict";n.r(t),n.d(t,{render:()=>E});var o=n(67294),r=n(73935),a=(n(79881),n(76420)),i=n(68521),l=n(57374),s=n(94004),c=n(45259),d=n(94184),u=n(16282),m=n(49775),p=n(27278),v=n(47903),f=n(81051);const h=new WeakMap,g=new WeakMap;function w(e){const t=(0,p.useWatchedValueReadonly)({watchedValue:e.info});if(null===t)return null;const n=t.map(t=>{const{title:n,titleColor:r,icon:a,iconClassName:i,html:l,action:s,size:p}=t;h.has(t)||h.set(t,(0,c.randomHash)());let w=[];return void 0!==e.additionalWidgets&&(w=e.additionalWidgets.map(e=>(g.has(e)||g.set(e,(0,c.randomHash)()),e.renderer((0,u.ensureDefined)(g.get(e)),f.additionalWidget)))),o.createElement("div",{key:h.get(t),className:f.popupWidget},o.createElement(m.Icon,{className:d(f.icon,i,f[p]),icon:a||void 0}),o.createElement("div",{className:f.desc},o.createElement("span",{style:{color:r||void 0},className:d(f.title,f[p])},n),l&&o.createElement("p",{className:d(f.text,f[p])},l.map((e,t)=>{let n,r;return(0,v.isObject)(e)?(n=e.text,r=e.bold):n=e,o.createElement("span",{key:"html_item_"+t,className:d(f.item,r&&f.boldItem),dangerouslySetInnerHTML:{__html:n}})})),s&&o.createElement("span",{className:d(s.tooltip&&"apply-common-tooltip",f.action,f[p]),onClick:()=>{e.onClose(),null==s||s.onClick()},title:s.tooltip},s.text),w))});return o.createElement(o.Fragment,null,n)}const b=new WeakMap;function y(e){const{statusWidgetInfos:t}=e,n=t.filter(e=>e.visible.value()).map(t=>(b.has(t)||b.set(t,(0,c.randomHash)()),o.createElement(w,{key:b.get(t),info:t.model.fullInfo(),onClose:e.onClose,additionalWidgets:t.additionalWidgets})));return o.createElement(s.DrawerManager,null,o.createElement(i.MatchMedia,{rule:"screen and (max-width: 428px)"},t=>t?o.createElement(l.Drawer,{onClose:e.onClose,position:"Bottom"},n):o.createElement(a.PopupMenu,{isOpened:!0,onClose:e.onClose,position:e.position,doNotCloseOn:e.rendererButton},n)))}function E(e,t,n,a,i,l){const s={rendererButton:n,position:l,statusWidgetInfos:a,onClose:i};e?r.render(o.createElement(y,{...s}),t):r.unmountComponentAtNode(t)}},94004:(e,t,n)=>{"use strict";n.d(t,{DrawerManager:()=>r,DrawerContext:()=>a});var o=n(67294);class r extends o.PureComponent{constructor(e){super(e),this._addDrawer=()=>{const e=this.state.currentDrawer+1;return this.setState({currentDrawer:e}),e},this._removeDrawer=()=>{const e=this.state.currentDrawer-1;return this.setState({currentDrawer:e}),e},this.state={currentDrawer:0}}render(){return o.createElement(a.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.currentDrawer}},this.props.children)}} +const a=o.createContext(null)},57374:(e,t,n)=>{"use strict";n.d(t,{Drawer:()=>p});var o=n(67294),r=n(16282),a=n(94184),i=n(67891),l=n(75761),s=n(4735),c=n(94004),d=n(43367),u=n(94884),m=n(64526);function p(e){const{position:t="Bottom",onClose:n,children:p,className:v,theme:f=m}=e,h=(0,r.ensureNotNull)((0,o.useContext)(c.DrawerContext)),[g,w]=(0,o.useState)(0),b=(0,o.useRef)(null),y=(0,o.useContext)(u.CloseDelegateContext);return(0,o.useEffect)(()=>{const e=(0,r.ensureNotNull)(b.current);return e.focus({preventScroll:!0}),y.subscribe(h,n),(0,l.setFixedBodyState)(!0),d.CheckMobile.iOS()&&(0,i.disableBodyScroll)(e),w(h.addDrawer()),()=>{y.unsubscribe(h,n);const t=h.removeDrawer();d.CheckMobile.iOS()&&(0,i.enableBodyScroll)(e),0===t&&(0,l.setFixedBodyState)(!1)}},[]),o.createElement(s.Portal,null,o.createElement("div",{className:a(m.wrap,m["position"+t])},g===h.currentDrawer&&o.createElement("div",{className:m.backdrop,onClick:n}),o.createElement("div",{className:a(m.drawer,f.drawer,m["position"+t],v),ref:b,tabIndex:-1,"data-name":e["data-name"]},p)))}},76420:(e,t,n)=>{"use strict";n.d(t,{PopupMenu:()=>c});var o=n(67294),r=n(73935),a=n(4735),i=n(90901),l=n(94884),s=n(47165);function c(e){const{controller:t,children:n,isOpened:c,closeOnClickOutside:d=!0,doNotCloseOn:u,onClickOutside:m,onClose:p,...v}=e,f=(0,o.useContext)(l.CloseDelegateContext),h=(0,s.useOutsideEvent)({handler:function(e){m&&m(e);if(!d)return;if(u&&e.target instanceof Node){const t=r.findDOMNode(u);if(t instanceof Node&&t.contains(e.target))return}p()},mouseDown:!0,touchStart:!0});return c?o.createElement(a.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},o.createElement("span",{ref:h,style:{pointerEvents:"auto"}},o.createElement(i.Menu,{...v,onClose:p,onScroll:function(t){const{onScroll:n}=e;n&&n(t)},customCloseDelegate:f,ref:t},n))):null}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/general-chart-properties-dialog.742b577b84c6f9fdb26f.js b/public/static/charting_library/bundles/general-chart-properties-dialog.742b577b84c6f9fdb26f.js new file mode 100644 index 0000000..042866b --- /dev/null +++ b/public/static/charting_library/bundles/general-chart-properties-dialog.742b577b84c6f9fdb26f.js @@ -0,0 +1,5 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[7078],{97326:e=>{e.exports={backButton:"backButton-ukxmTk5_"}},93484:e=>{e.exports={wrapper:"wrapper-DggvOZTm",container:"container-DggvOZTm",tab:"tab-DggvOZTm",active:"active-DggvOZTm",title:"title-DggvOZTm",icon:"icon-DggvOZTm",titleText:"titleText-DggvOZTm",nested:"nested-DggvOZTm",isTablet:"isTablet-DggvOZTm",isMobile:"isMobile-DggvOZTm"}},91263:e=>{e.exports={"tablet-normal-breakpoint":"screen and (max-width: 768px)","tablet-small-breakpoint":"screen and (max-width: 428px)",withSidebar:"withSidebar-1e-cIUlp",content:"content-1e-cIUlp",tabContent:"tabContent-1e-cIUlp",applyToAllButton:"applyToAllButton-1e-cIUlp"}},62358:e=>{e.exports={themesButtonText:"themesButtonText-3vn5WLwC",themesButtonIcon:"themesButtonIcon-3vn5WLwC",defaultsButtonText:"defaultsButtonText-3vn5WLwC",defaultsButtonItem:"defaultsButtonItem-3vn5WLwC"}},78706:e=>{e.exports={separator:"separator-eqcGT_ow",small:"small-eqcGT_ow",normal:"normal-eqcGT_ow",large:"large-eqcGT_ow"}},45745:(e,t,i)=>{"use strict";i.d(t,{DialogSidebarContainer:()=>m,DialogSidebarWrapper:()=>h,DialogSidebarItem:()=>d});var n=i(67294),l=i(94184),a=i.n(l),o=i(49775),s=i(5186),r=i(93484);function c(e){return{isMobile:"mobile"===e,isTablet:"tablet"===e}}function m(e){const{mode:t,className:i,...l}=e,{isMobile:o,isTablet:s}=c(t),m=a()(r.container,s&&r.isTablet,o&&r.isMobile,i);return n.createElement("div",{...l,className:m,"data-role":"dialog-sidebar"})}function h(e){return n.createElement("div",{className:r.wrapper,...e})}function d(e){const{mode:t,title:i,icon:l,isActive:m,onClick:h,...d}=e,{isMobile:p,isTablet:u}=c(t);return n.createElement("div",{...d,className:a()(r.tab,u&&r.isTablet,p&&r.isMobile,m&&r.active),onClick:h},n.createElement(o.Icon,{className:r.icon,icon:l}),!u&&n.createElement("span",{className:r.title},n.createElement("span",{className:r.titleText},i),p&&n.createElement(o.Icon,{className:r.nested,icon:s})))}},76270:(e,t,i)=>{"use strict";i.r(t),i.d(t,{GeneralChartPropertiesDialogRenderer:()=>J});var n=i(79881),l=i(67294),a=i(73935),o=i(80511),s=i(9102),r=i(7591),c=i(63544),m=i(35665),h=i(64222),d=i.n(h),p=i(1799),u=i(68521),b=i(49775),g=i(19522),T=i(95860),C=i(10869),_=i(99182),y=(i(95068),i(87614));const v=(0,n.t)("Do you really want to delete Color Theme '{name}' ?");var S=i(78106),k=i(22675),A=i(14303),f=i(87438),P=i(11086),w=i(96404),E=i(62358);function M(e){const{themeName:t,chartWidgetCollection:i,onRemove:n,manager:a}=e,[o,s]=(0,P.useHover)(),r=l.useCallback(()=>function(e,t,i){window.is_authenticated&&(0,y.showConfirm)({text:v.format({name:e}),onConfirm:({dialogClose:i})=>{(0,_.removeTheme)(e),t&&t(e),i()}},i)}(t,n,a),[t,n,a]),c=l.useCallback(()=>{(0,_.loadTheme)(t,!1,!1,i).then(()=>{i.readOnly()||window.saver.saveChartSilently(),(0,f.trackEvent)("GUI","Switch to custom theme")})},[t,i]);return l.createElement("div",{...s},l.createElement(T.PopupMenuItem,{className:E.defaultsButtonItem,isActive:!1,label:t,onClick:c,toolbox:l.createElement(A.RemoveButton,{hidden:!w.mobiletouch&&!o, +onClick:r})}))}var B=i(22775);const D=(0,n.t)("Template"),x=(0,n.t)("Apply defaults"),I=((0,k.appendEllipsis)((0,n.t)("Save as")),(0,n.t)("Apply to all"));class N extends l.PureComponent{constructor(e){super(e),this._manager=null,this._handleApplyDefaults=()=>{const{model:e,chartWidgetCollection:t}=this.props;e.restorePreferences();const i=(0,_.getCurrentTheme)().name;(0,_.loadTheme)(i,!0,!0,t,void 0,void 0,!0)},this._handleSaveAs=()=>{0},this._handleRemoveTheme=e=>{this.setState({themes:this.state.themes.filter(t=>t!==e)})},this._syncThemeList=()=>{0},this.state={themes:[]},this._syncThemeList()}render(){return l.createElement(S.SlotContext.Consumer,null,e=>(this._manager=e,l.createElement(u.MatchMedia,{rule:"screen and (max-width: 768px)"},e=>l.createElement(g.DisclosureMenu,{id:"series-theme-manager",className:!e&&E.themesButtonText,hideArrowButton:e,"data-name":"theme-select",buttonChildren:this._getPlaceHolderItem(e)},this._getThemeItems(e)))))}_getPlaceHolderItem(e){return e?l.createElement(b.Icon,{className:E.themesButtonIcon,icon:B}):D}_getThemeItems(e){const{isApplyToAllVisible:t,chartWidgetCollection:i,applyToAllCallback:n}=this.props,{themes:a}=this.state;return l.createElement(l.Fragment,null,e&&t&&l.createElement(T.PopupMenuItem,{className:E.defaultsButtonItem,isActive:!1,label:I,onClick:n}),l.createElement(T.PopupMenuItem,{className:E.defaultsButtonItem,isActive:!1,label:x,onClick:this._handleApplyDefaults}),!1,a.length>0&&l.createElement(l.Fragment,null,l.createElement(C.PopupMenuSeparator,{key:"separator"}),a.map(e=>l.createElement(M,{key:e,themeName:e,onRemove:this._handleRemoveTheme,chartWidgetCollection:i,manager:this._manager}))))}}var W=i(79424),z=i(87131),L=i(72923),R=i(45745),V=i(73991);const O={areaSymbolMinTick:"normal",areaSymbolTimezone:"normal",barSymbolMinTick:"normal",barSymbolTimezone:"normal",baselineSymbolMinTick:"normal",baselineSymbolTimezone:"normal",candleSymbolMinTick:"normal",candleSymbolTimezone:"normal",dateFormat:"normal",haSymbolMinTick:"normal",haSymbolTimezone:"normal",hiloSymbolMinTick:"normal",hiloSymbolTimezone:"normal",hollowCandleSymbolMinTick:"normal",hollowCandleSymbolTimezone:"normal",kagiAtrLength:"normal",kagiReversalAmount:"normal",kagiStyle:"normal",kagiSymbolMinTick:"normal",kagiSymbolTimezone:"normal",lineSymbolMinTick:"normal",lineSymbolTimezone:"normal",sessionId:"normal",lockScale:"normal",mainSeriesSymbolAreaPriceSource:"normal",mainSeriesSymbolBaseLevelPercentage:"normal",mainSeriesSymbolBaseLinePriceSource:"normal",mainSeriesSymbolLinePriceSource:"normal",mainSeriesSymbolStyleType:"normal",navButtons:"big",paneButtons:"big",pbLb:"normal",pbSymbolMinTick:"normal",pbSymbolTimezone:"normal",pnfAtrLength:"normal",pnfBoxSize:"normal",pnfReversalAmount:"normal",pnfSources:"normal",pnfStyle:"normal",pnfSymbolMinTick:"normal",pnfSymbolTimezone:"normal",rangeSymbolMinTick:"normal",rangeSymbolTimezone:"normal",renkoAtrLength:"normal",renkoBoxSize:"normal",renkoStyle:"normal",renkoSymbolMinTick:"normal",renkoSymbolTimezone:"normal",scalesPlacement:"normal", +symbolLastValueLabel:"big",symbolTextSource:"normal"};var q=i(97326),Z=i(38002);function U(e){return l.createElement(b.Icon,{className:q.backButton,icon:Z,onClick:e.onClick})}var G=i(91263);class H extends l.PureComponent{constructor(e){super(e),this._renderChildren=({requestResize:e,isSmallWidth:t})=>(this._requestResize=e,l.createElement("div",{className:G.content},this._renderTabs(t),this._renderTabContent(t))),this._renderApplyToAllButton=()=>l.createElement(u.MatchMedia,{rule:L.DialogBreakpoints.TabletNormal},e=>this._renderApplyToAll(e)),this._renderFooterLeft=()=>{const{model:e,chartWidgetCollection:t}=this.props,{isApplyToAllVisible:i}=this.state;return l.createElement(N,{model:e,isApplyToAllVisible:i,applyToAllCallback:this._handleApplyToAll,chartWidgetCollection:t})},this._createTabClickHandler=e=>()=>this._selectPage(e),this._selectPage=e=>{const{activePage:t}=this.state;e!==t&&(t&&t.definitions.unsubscribe(this._onChangeActivePageDefinitions),d().setValue("properties_dialog.last_page_id",e.id),e.definitions.subscribe(this._onChangeActivePageDefinitions),this.setState({activePage:e,tableKey:Date.now()},()=>{this._requestResize&&this._requestResize()}))},this._onChangeActivePageDefinitions=()=>{z.logger.logNormal("Definition collection was updated"),this.setState({tableKey:Date.now()},()=>{this._requestResize&&this._requestResize()})},this._handleCancel=()=>{this.props.onCancel(),this.props.onClose()},this._handleSubmit=()=>{this.props.onSubmit(),this.props.onClose()},this._handleScroll=()=>{W.globalCloseDelegate.fire()},this._handleApplyToAll=()=>{const{chartWidgetCollection:e,model:t}=this.props,{isApplyToAllVisible:i}=this.state;i&&e.applyPreferencesToAllCharts(t)},this._syncApplyToAllVisibility=()=>{const{chartWidgetCollection:e}=this.props;this.setState({isApplyToAllVisible:(0,p.isMultipleLayout)(e.layout.value())})},this._handleBackClick=()=>{const{activePage:e}=this.state;e&&e.definitions.unsubscribe(this._onChangeActivePageDefinitions),this.setState({activePage:null})};const{pages:t,activePageId:i}=e;let n=t.find(e=>e.id===i);if(!n){const e=d().getValue("properties_dialog.last_page_id"),i=t.find(t=>t.id===e);n=i||t[0]}this.state={activePage:n,isApplyToAllVisible:(0,p.isMultipleLayout)(e.chartWidgetCollection.layout.value()),tableKey:Date.now()}}componentDidMount(){const{chartWidgetCollection:e}=this.props,{activePage:t}=this.state;e.layout.subscribe(this._syncApplyToAllVisibility),t&&t.definitions.subscribe(this._onChangeActivePageDefinitions)}componentWillUnmount(){const{chartWidgetCollection:e}=this.props,{activePage:t}=this.state;t&&t.definitions.unsubscribe(this._onChangeActivePageDefinitions),e.layout.unsubscribe(this._syncApplyToAllVisibility)}render(){const{isOpened:e,onClose:t}=this.props,{activePage:i}=this.state;return l.createElement(u.MatchMedia,{rule:L.DialogBreakpoints.TabletSmall},a=>l.createElement(r.AdaptiveConfirmDialog,{className:G.withSidebar,dataName:"series-properties-dialog",onClose:t,isOpened:e,title:null!==i&&a?i.title:(0,n.t)("Chart settings"), +footerLeftRenderer:this._renderFooterLeft,additionalButtons:this._renderApplyToAllButton(),additionalHeaderElement:null!==i&&a?l.createElement(U,{onClick:this._handleBackClick}):void 0,onSubmit:this._handleSubmit,onCancel:this._handleCancel,render:this._renderChildren,submitOnEnterKey:!1}))}_renderTabContent(e){const{pages:t}=this.props,i=this._getCurrentPage(e);if(i){const e=t.find(e=>e.id===i.id),n=e?e.definitions.value():[];return l.createElement(V.TouchScrollContainer,{className:G.tabContent,onScroll:this._handleScroll},l.createElement(c.ControlCustomWidthContext.Provider,{value:O},l.createElement(m.PropertyTable,{key:this.state.tableKey},n.map(e=>l.createElement(s.Section,{key:e.id,definition:e})))))}return null}_renderTabs(e){const{pages:t}=this.props,{activePage:i}=this.state;if(i&&e)return null;const n=this._getCurrentPage(e);return l.createElement(u.MatchMedia,{rule:L.DialogBreakpoints.TabletNormal},e=>l.createElement(u.MatchMedia,{rule:L.DialogBreakpoints.TabletSmall},i=>{const a=i?"mobile":e?"tablet":void 0;return l.createElement(R.DialogSidebarContainer,{mode:a,onScroll:this._handleScroll},t.map(e=>l.createElement(R.DialogSidebarItem,{key:e.id,mode:a,"data-name":e.id,title:e.title,icon:e.icon,onClick:this._createTabClickHandler(e),isActive:n?e.id===n.id:void 0})))}))}_renderApplyToAll(e){const{isApplyToAllVisible:t}=this.state;return!e&&t&&l.createElement("span",{className:G.applyToAllButton},l.createElement(o.Button,{appearance:"stroke",onClick:this._handleApplyToAll},(0,n.t)("Apply to all")))}_getCurrentPage(e){const{pages:t}=this.props,{activePage:i}=this.state;let n=null;return i?n=i:!e&&t.length&&(n=t[0]),n}}var F=i(18437),K=i(58738);const j=(0,n.t)("Chart settings");class J extends K.DialogRenderer{constructor(e){super(),this._handleClose=()=>{a.unmountComponentAtNode(this._container),this._setVisibility(!1),this._onClose&&this._onClose()},this._handleSubmit=()=>{},this._handleCancel=()=>{this._model.undoToCheckpoint(this._checkpoint)},this._propertyPages=e.propertyPages,this._model=e.model,this._activePageId=e.activePageId,this._onClose=e.onClose,this._chartWidgetCollection=e.chartWidgetCollection,this._checkpoint=this._ensureCheckpoint(e.undoCheckPoint)}hide(e){e?this._handleCancel():this._handleSubmit(),this._handleClose()}isVisible(){return this.visible().value()}show(){a.render(l.createElement(H,{title:j,isOpened:!0,onSubmit:this._handleSubmit,onClose:this._handleClose,onCancel:this._handleCancel,pages:this._propertyPages,model:this._model,activePageId:this._activePageId,chartWidgetCollection:this._chartWidgetCollection}),this._container),this._setVisibility(!0),F.emit("edit_object_dialog",{objectType:"mainSeries",scriptTitle:this._model.mainSeries().title()})}_ensureCheckpoint(e){return void 0===e&&(e=this._model.createUndoCheckpoint()),e}}},10869:(e,t,i)=>{"use strict";i.d(t,{PopupMenuSeparator:()=>s});var n=i(67294),l=i(94184),a=i.n(l),o=i(78706);function s(e){const{size:t="normal",className:i}=e;return n.createElement("div",{ +className:a()(o.separator,"small"===t&&o.small,"normal"===t&&o.normal,"large"===t&&o.large,i)})}},5186:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/general-property-page.86f95ff011c77a44071d.js b/public/static/charting_library/bundles/general-property-page.86f95ff011c77a44071d.js new file mode 100644 index 0000000..cdefb4f --- /dev/null +++ b/public/static/charting_library/bundles/general-property-page.86f95ff011c77a44071d.js @@ -0,0 +1,9 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[3596],{24249:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ChartPropertyDefinitionsViewModel:()=>yt});var r=i(16282),n=i(79881),o=i(27490),a=(i(23221),i(80525),i(32856)),s=i.n(a),l=i(68680),c=i(97806),h=i(49044),p=i(42028),d=i(3092),g=i(25019),y=i(10616),u=i(90963);const b=new u.TranslatedString("change buy/sell buttons visibility",(0,n.t)("change buy/sell buttons visibility")),v=(0,n.t)("Buy/sell buttons");const P=new u.TranslatedString("change symbol description visibility",(0,n.t)("change symbol description visibility")),f=new u.TranslatedString("change symbol legend format",(0,n.t)("change symbol legend format")),m=new u.TranslatedString("change open market status visibility",(0,n.t)("change open market status visibility")),w=new u.TranslatedString("change OHLC values visibility",(0,n.t)("change OHLC values visibility")),S=new u.TranslatedString("change bar change visibility",(0,n.t)("change bar change visibility")),D=new u.TranslatedString("change indicator arguments visibility",(0,n.t)("change indicator arguments visibility")),T=new u.TranslatedString("change indicator titles visibility",(0,n.t)("change indicator titles visibility")),_=new u.TranslatedString("change indicator values visibility",(0,n.t)("change indicator values visibility")),k=new u.TranslatedString("change legend background visibility",(0,n.t)("change legend background visibility")),C=new u.TranslatedString("change legend background transparency",(0,n.t)("change legend background transparency")),L=new u.TranslatedString("change volume values visibility",(0,n.t)("change volume values visibility")),V=(0,n.t)("Symbol"),M=(0,n.t)("OHLC values"),x=(0,n.t)("Bar change values"),O=(0,n.t)("Volume"),z=(0,n.t)("Indicator titles"),G=(0,n.t)("Indicator arguments"),B=(0,n.t)("Indicator values"),H=(0,n.t)("Background"),A=(0,n.t)("Open market status");function N(e,t,i,r,n){const a=[],c=[],h=(0,l.createOptionsPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showSeriesTitle,P),option:(0,l.convertToDefinitionProperty)(e,i.property,f)},{id:"symbolTextSource",title:V,options:new(s())(i.values)});if(c.push(h),null!==r){const t=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,r,m)},{id:"showOpenMarketStatus",title:A});c.push(t)}const p=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showSeriesOHLC,w)},{id:"ohlcTitle",title:M});c.push(p);const d=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showBarChange,S)},{id:"barChange",title:x});c.push(d),c.push((0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showVolume,L)},{id:"barVolume",title:O})),a.push((0,l.createPropertyDefinitionsGeneralGroup)(c,"seriesLegendVisibilityGroup"));const g=function(e,t){return null!==t&&o.enabled("buy_sell_buttons")?(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertFromWVToDefinitionProperty)(e,t.showSellBuyButtons,b)},{id:"tradingSellBuyPanel",title:v +}):null}(e,n);null!==g&&a.push((0,l.createPropertyDefinitionsGeneralGroup)([g],"sellBuyButtonsLegendVisibilityGroup"));const y=[],u=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showStudyArguments,D)},{id:"studyArguments",title:G}),N=(0,l.createCheckableSetPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showStudyTitles,T)},{id:"studyTitles",title:z},[u]);y.push(N);const E=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showStudyValues,_)},{id:"studyValues",title:B});y.push(E),a.push((0,l.createPropertyDefinitionsGeneralGroup)(y,"studiesLegendVisibilityGroup"));const R=[],j=(0,l.createTransparencyPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showBackground,k),transparency:(0,l.convertToDefinitionProperty)(e,t.backgroundTransparency,C)},{id:"legendBgTransparency",title:H});return R.push(j),a.push((0,l.createPropertyDefinitionsGeneralGroup)(R,"generalLegendGroup")),a}var E=i(674),R=i.n(E),j=i(84995),W=i(78672),F=i(92932),I=i(69881);const U=new u.TranslatedString("change symbol labels visibility",(0,n.t)("change symbol labels visibility")),q=new u.TranslatedString("change symbol last value visibility",(0,n.t)("change symbol last value visibility")),J=new u.TranslatedString("change symbol last value mode",(0,n.t)("change symbol last value mode")),K=(new u.TranslatedString("change symbol previous close value visibility",(0,n.t)("change symbol previous close value visibility")),new u.TranslatedString("change disable symbol previous close value visibility",(0,n.t)("change disable symbol previous close value visibility")),new u.TranslatedString("change bid and ask labels visibility",(0,n.t)("change bid and ask labels visibility")),new u.TranslatedString("change pre/post market price label visibility",(0,n.t)("change pre/post market price label visibility")),new u.TranslatedString("change high and low price labels visibility",(0,n.t)("change high and low price labels visibility"))),Q=(new u.TranslatedString("change indicators and financials name labels visibility",(0,n.t)("change indicators and financials name labels visibility")),new u.TranslatedString("change indicators name labels visibility",(0,n.t)("change indicators name labels visibility"))),X=(new u.TranslatedString("change indicators and financials value labels visibility",(0,n.t)("change indicators and financials value labels visibility")),new u.TranslatedString("change indicators value labels visibility",(0,n.t)("change indicators value labels visibility"))),Y=new u.TranslatedString("change no overlapping labels",(0,n.t)("change no overlapping labels")),Z=new u.TranslatedString("change countdown to bar close visibility",(0,n.t)("change countdown to bar close visibility")),$=new u.TranslatedString("change currency label visibility",(0,n.t)("change currency label visibility")),ee=new u.TranslatedString("change unit label visibility",(0,n.t)("change unit label visibility")),te=new u.TranslatedString("change plus button visibility",(0, +n.t)("change plus button visibility")),ie=new u.TranslatedString("toggle lock scale",(0,n.t)("toggle lock scale")),re=new u.TranslatedString("change price to bar ratio",(0,n.t)("change price to bar ratio")),ne=new u.TranslatedString("change date format",(0,n.t)("change date format")),oe=(0,n.t)("Symbol name label"),ae=(0,n.t)("Symbol last price label"),se=((0,n.t)("Symbol previous day close price label (intraday only)"),(0,n.t)("Indicators and financials name labels"),(0,n.t)("Indicators name labels")),le=((0,n.t)("Indicators and financials value labels"),(0,n.t)("Indicators value labels")),ce=((0,n.t)("Bid and ask labels"),(0,n.t)("Pre/post market price label"),(0,n.t)("Countdown to bar close")),he=(0,n.t)("Currency"),pe=(0,n.t)("Unit"),de=(0,n.t)("Plus button"),ge=(0,n.t)("Scales placement"),ye=(0,n.t)("Date format"),ue=(0,n.t)("Lock price to bar ratio"),be=(0,n.t)("No overlapping labels"),ve=[{value:j.PriceAxisLastValueMode.LastPriceAndPercentageValue,title:(0,n.t)("Price and percentage value")},{value:j.PriceAxisLastValueMode.LastValueAccordingToScale,title:(0,n.t)("Value according to scale")}];const Pe=new u.TranslatedString("change chart background color",(0,n.t)("change chart background color")),fe=new u.TranslatedString("change chart background type",(0,n.t)("change chart background type")),me=new u.TranslatedString("change vert grid lines color",(0,n.t)("change vert grid lines color")),we=new u.TranslatedString("change vert grid lines style",(0,n.t)("change vert grid lines style")),Se=new u.TranslatedString("change horz grid lines color",(0,n.t)("change horz grid lines color")),De=new u.TranslatedString("change horz grid lines style",(0,n.t)("change horz grid lines style")),Te=new u.TranslatedString("change intraday interval property",(0,n.t)("change intraday interval property")),_e=new u.TranslatedString("change sessions breaks visibility",(0,n.t)("change sessions breaks visibility")),ke=new u.TranslatedString("change sessions breaks color",(0,n.t)("change sessions breaks color")),Ce=new u.TranslatedString("change sessions breaks width",(0,n.t)("change sessions breaks width")),Le=new u.TranslatedString("change sessions breaks style",(0,n.t)("change sessions breaks style")),Ve=new u.TranslatedString("change scales text color",(0,n.t)("change scales text color")),Me=new u.TranslatedString("change scales font size",(0,n.t)("change scales font size")),xe=new u.TranslatedString("change scales lines color",(0,n.t)("change scales lines color")),Oe=new u.TranslatedString("change crosshair color",(0,n.t)("change crosshair color")),ze=new u.TranslatedString("change crosshair width",(0,n.t)("change crosshair width")),Ge=new u.TranslatedString("change crosshair style",(0,n.t)("change crosshair style")),Be=new u.TranslatedString("change symbol watermark visibility",(0,n.t)("change symbol watermark visibility")),He=new u.TranslatedString("change symbol watermark color",(0,n.t)("change symbol watermark color")),Ae=new u.TranslatedString("change navigation buttons visibility",(0, +n.t)("change navigation buttons visibility")),Ne=new u.TranslatedString("change pane buttons visibility",(0,n.t)("change pane buttons visibility")),Ee=new u.TranslatedString("change top margin",(0,n.t)("change top margin")),Re=new u.TranslatedString("change bottom margin",(0,n.t)("change bottom margin")),je=new u.TranslatedString("change right margin",(0,n.t)("change right margin")),We=(0,n.t)("Background"),Fe=(0,n.t)("Vert grid lines"),Ie=(0,n.t)("Horz grid lines"),Ue=(0,n.t)("Session breaks"),qe=(0,n.t)("Scales text"),Je=(0,n.t)("Scales lines"),Ke=(0,n.t)("Crosshair"),Qe=(0,n.t)("Watermark"),Xe=(0,n.t)("Top margin"),Ye=(0,n.t)("Navigation buttons"),Ze=(0,n.t)("Pane buttons"),$e=(0,n.t)("Bottom margin"),et=(0,n.t)("Right margin"),tt=(0,n.t)("bars",{context:"unit"});var it=i(96284),rt=i(23930),nt=i(54041),ot=i(94975);const at={symbol:i(48271),legend:i(24252),scales:i(5069),appearance:i(73960),events:i(3257),trading:i(26029)},st=(0,n.t)("Symbol"),lt=(0,n.t)("Status line"),ct=(0,n.t)("Scales"),ht=(0,n.t)("Appearance");(0,n.t)("Events"),(0,n.t)("Trading"),(0,n.t)("money"),(0,n.t)("pips"),(0,n.t)("ticks");let pt=null;function dt(){const e=new Date(Date.UTC(1997,8,29));return it.availableDateFormats.map(t=>({value:t,title:new nt.DateFormatter(t).format(e)}))}const gt=[{id:"symbol-text-source-description",value:"description",title:(0,n.t)("Description")},{id:"symbol-text-source-ticker",value:"ticker",title:(0,n.t)("Ticker")},{id:"symbol-text-source-ticker-and-description",value:"ticker-and-description",title:(0,n.t)("Ticker and description")}];class yt{constructor(e,t,i){this._propertyPages=null,this._maxRightOffsetPropertyObject=null,this._plPositionOptions=null,this._pipValueTypeSpawn=null,this._isDestroyed=!1,this._undoModel=e,this._model=this._undoModel.model(),this._series=this._model.mainSeries(),this._chartWidgetProperties=t,this._options=i,this._seriesPropertyDefinitionViewModel=this._createSeriesViewModel(),this._legendPropertyPage=this._createLegendPropertyPage(),this._scalesPropertyPage=this._createScalesPropertyPage(),this._appearancePropertyPage=this._createAppearancePropertyPage(),this._tradingPropertyPage=this._createTradingPropertyPage(),this._eventsPropertyPage=this._createEventsPropertyPage(),this._series.onStyleChanged().subscribe(this,this._updateDefinitions),this._series.priceScaleChanged().subscribe(this,this._updateDefinitions)}destroy(){var e;null!==this._propertyPages&&this._propertyPages.filter((e,t)=>0!==t).forEach(e=>{(0,l.destroyDefinitions)(e.definitions.value())}),this._seriesPropertyDefinitionViewModel.destroy(),null===(e=this._pipValueTypeSpawn)||void 0===e||e.destroy(),this._series.onStyleChanged().unsubscribe(this,this._updateDefinitions),this._series.priceScaleChanged().unsubscribe(this,this._updateDefinitions);(0,r.ensureNotNull)(this._model.timeScale()).maxRightOffsetChanged().unsubscribeAll(this),this._isDestroyed=!0}propertyPages(){return null===this._propertyPages?this._seriesPropertyDefinitionViewModel.propertyPages().then(e=>{ +if(this._isDestroyed)throw new Error("ChartPropertyDefinitionsViewModel already destroyed");return null===this._propertyPages&&(this._propertyPages=[...e],this._propertyPages.push(this._legendPropertyPage,this._scalesPropertyPage,this._appearancePropertyPage),null!==this._tradingPropertyPage&&this._propertyPages.push(this._tradingPropertyPage),null!==this._eventsPropertyPage&&this._propertyPages.push(this._eventsPropertyPage)),this._propertyPages}):Promise.resolve(this._propertyPages)}_updatePLPositionsDisplayOptions(){(0,r.ensureNotNull)(this._pipValueTypeSpawn).value();(0,r.ensureNotNull)(this._plPositionOptions).setValue([])}_updateDefinitions(){(0,l.destroyDefinitions)(this._scalesPropertyPage.definitions.value());const e=this._createScalesDefinitions();this._scalesPropertyPage.definitions.setValue(e)}_createSeriesViewModel(){const e={property:this._model.properties().childs().timezone,values:ot.availableTimezones.map(e=>({value:e.id,title:e.title}))};return new g.SeriesPropertyDefinitionsViewModel(this._series,this._undoModel,"symbol",st,at.symbol,e)}_createLegendPropertyPage(){const e=this._chartWidgetProperties.childs().paneProperties.childs().legendProperties.childs(),t={property:this._series.properties().childs().statusViewStyle.childs().symbolTextSource,values:gt},i=N(this._undoModel,e,t,this._options.marketStatusWidgetEnabled?y.showMarketOpenStatusProperty:null,pt);return(0,c.createPropertyPage)(i,"legend",lt,at.legend)}_createScalesPropertyPage(){const e=this._createScalesDefinitions();return(0,c.createPropertyPage)(e,"scales",ct,at.scales)}_createScalesDefinitions(){const e=this._chartWidgetProperties.childs().scalesProperties.childs(),t={property:this._model.properties().childs().priceScaleSelectionStrategyName,values:(0,d.allPriceScaleSelectionStrategyInfo)().map(e=>({value:e.name,title:e.title}))},i={property:rt.dateFormatProperty,values:dt()},r=this._model.mainSeriesScaleRatioProperty();return function(e,t,i,r){const n=r.seriesPriceScale.properties().childs(),a=[],c=[];if(r.seriesHasClosePrice){const t=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.showSymbolLabels,U)},{id:"symbolNameLabel",title:oe}),r=(0,l.createOptionsPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.showSeriesLastValue,q),option:(0,l.convertToDefinitionProperty)(e,i.seriesLastValueMode,J)},{id:"symbolLastValueLabel",title:ae,options:new(s())(ve)});c.push(t,r)}const h=t.highLowAvgPrice.childs(),p=(0,I.combineProperty)((e,t)=>e||t,h.highLowPriceLabelsVisible,new(R())(!1)),d=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,p,null,void 0,t=>{e.beginUndoMacro(K),e.setProperty(h.highLowPriceLabelsVisible,t,null),e.endUndoMacro()},()=>p.destroy())},{id:"highLowAverageClosePriceLabels",title:"High and low price labels"});c.push(d);{const t=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.showStudyPlotLabels,Q)},{id:"studyNameLabel",title:se});c.push(t)}{const t=(0,l.createCheckablePropertyDefinition)({ +checked:(0,l.convertToDefinitionProperty)(e,i.showStudyLastValue,X)},{id:"studyLastValueLabel",title:le});c.push(t)}const g=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,n.alignLabels,Y)},{id:"noOverlappingLabels",title:be});if(c.push(g),r.countdownEnabled){const i=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showCountdown,Z)},{id:"countdown",title:ce});c.push(i)}if(r.currencyConversionEnabled){const t=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.showCurrency,$)},{id:"scalesCurrency",title:he});c.push(t)}if(r.unitConversionEnabled){const t=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.showUnit,ee)},{id:"scalesUnit",title:pe});c.push(t)}if(e.crossHairSource().isMenuEnabled()){const t=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,F.addPlusButtonProperty,te)},{id:"addPlusButton",title:de});c.push(t)}a.push((0,l.createPropertyDefinitionsGeneralGroup)(c,"generalScalesLabelsGroup"));const y=(0,l.createNumberPropertyDefinition)({checked:(0,l.getLockPriceScaleDefinitionProperty)(e,n.lockScale,r.seriesPriceScale,ie),value:(0,l.getScaleRatioDefinitionProperty)(e,r.mainSeriesScaleRatioProperty,re,[(0,W.limitedPrecision)(7),e=>e])},{id:"lockScale",title:ue,min:new(s())(r.mainSeriesScaleRatioProperty.getMinValue()),max:new(s())(r.mainSeriesScaleRatioProperty.getMaxValue()),step:new(s())(r.mainSeriesScaleRatioProperty.getStepChangeValue())}),u=(0,l.createOptionsPropertyDefinition)({option:(0,l.getPriceScaleSelectionStrategyDefinitionProperty)(e,r.scalesPlacementPropertyObj.property)},{id:"scalesPlacement",title:ge,options:new(s())(r.scalesPlacementPropertyObj.values)});if(a.push(y,u),o.enabled("scales_date_format")){const t=(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,r.dateFormatPropertyObj.property,ne)},{id:"dateFormat",title:ye,options:new(s())(r.dateFormatPropertyObj.values)});a.push(t)}return a}(this._undoModel,this._series.properties().childs(),e,{disableSeriesPrevCloseValueProperty:this._series.isDWMProperty(),seriesHasClosePrice:this._series.hasClosePrice(),seriesPriceScale:this._series.priceScale(),mainSeriesScaleRatioProperty:r,scalesPlacementPropertyObj:t,dateFormatPropertyObj:i,currencyConversionEnabled:this._options.currencyConversionEnabled,unitConversionEnabled:this._options.unitConversionEnabled,countdownEnabled:this._options.countdownEnabled})}_createMaxOffsetPropertyObject(){const e=(0,r.ensureNotNull)(this._model.timeScale()),t=new(s())(Math.floor(e.maxRightOffset()));e.maxRightOffsetChanged().subscribe(this,e=>{t.setValue(Math.floor(e))}),this._maxRightOffsetPropertyObject={value:e.defaultRightOffset(),min:new(s())(0),max:t}}_createAppearancePropertyPage(){const e=this._chartWidgetProperties.childs(),t=e.paneProperties.childs(),i=e.scalesProperties.childs(),n=this._model.watermarkSource();let a=null;null!==n&&(a=n.properties().childs());const d={property:h.property(), +values:h.availableValues()},g={property:p.property(),values:p.availableValues()},y=this._model.sessions().properties().childs().graphics.childs().vertlines.childs().sessBreaks.childs();null===this._maxRightOffsetPropertyObject&&this._createMaxOffsetPropertyObject();const u=(0,r.ensureNotNull)(this._maxRightOffsetPropertyObject),b=function(e,t,i,r,n,a,c,h,p){const d=[],g=(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,t.background,null,Pe),gradientColor1:(0,l.getColorDefinitionProperty)(e,t.backgroundGradientStartColor,null,Pe),gradientColor2:(0,l.getColorDefinitionProperty)(e,t.backgroundGradientEndColor,null,Pe),type:(0,l.convertToDefinitionProperty)(e,t.backgroundType,fe)},{id:"chartBackground",title:We,noAlpha:!0}),y=t.vertGridProperties.childs(),u=(0,l.createLinePropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,y.color,null,me),style:(0,l.convertToDefinitionProperty)(e,y.style,we)},{id:"vertGridLine",title:Fe}),b=t.horzGridProperties.childs(),v=(0,l.createLinePropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,b.color,null,Se),style:(0,l.convertToDefinitionProperty)(e,b.style,De)},{id:"horizGridLine",title:Ie}),P=(0,l.createLinePropertyDefinition)({disabled:(0,l.convertToDefinitionProperty)(e,a,Te),checked:(0,l.convertToDefinitionProperty)(e,n.visible,_e),color:(0,l.getColorDefinitionProperty)(e,n.color,null,ke),width:(0,l.convertToDefinitionProperty)(e,n.width,Ce),style:(0,l.convertToDefinitionProperty)(e,n.style,Le)},{id:"sessionBeaks",title:Ue}),f=(0,l.createTextPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,r.textColor,null,Ve),size:(0,l.convertToDefinitionProperty)(e,r.fontSize,Me)},{id:"scalesText",title:qe}),m=(0,l.createLinePropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,r.lineColor,null,xe)},{id:"scalesLine",title:Je}),w=t.crossHairProperties.childs(),S=(0,l.createLinePropertyDefinition)({color:(0,l.getColorDefinitionProperty)(e,w.color,w.transparency,Oe),width:(0,l.convertToDefinitionProperty)(e,w.width,ze),style:(0,l.convertToDefinitionProperty)(e,w.style,Ge)},{id:"crossHair",title:Ke});if(d.push(g,u,v,P,f,m,S),null!==i){const t=(0,l.createColorPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,i.visibility,Be),color:(0,l.getColorDefinitionProperty)(e,i.color,null,He)},{id:"watermark",title:Qe});d.push(t)}const D=(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,h.property,Ae)},{id:"navButtons",title:Ye,options:new(s())(h.values)});d.push(D);const T=(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,p.property,Ne)},{id:"paneButtons",title:Ze,options:new(s())(p.values)});d.push(T);const _=(0,l.createNumberPropertyDefinition)({value:(0,l.convertToDefinitionProperty)(e,t.topMargin,Ee,[W.floor])},{type:0,id:"paneTopMargin",title:Xe,min:new(s())(0),max:new(s())(25),step:new(s())(1),unit:new(s())("%")}),k=(0,l.createNumberPropertyDefinition)({value:(0,l.convertToDefinitionProperty)(e,t.bottomMargin,Re,[W.floor])},{type:0,id:"paneBottomMargin",title:$e, +min:new(s())(0),max:new(s())(25),step:new(s())(1),unit:new(s())("%")}),C=(0,l.createNumberPropertyDefinition)({value:(0,l.convertFromWVToDefinitionProperty)(e,c.value,je,[W.floor])},{type:0,id:"paneRightMargin",title:et,min:c.min,max:c.max,step:new(s())(1),unit:new(s())(tt)}),L=[(0,l.createPropertyDefinitionsGeneralGroup)(d,"generalAppearanceGroup"),_,k];return o.enabled("chart_property_page_right_margin_editor")&&L.push(C),L}(this._undoModel,t,a,i,y,this._series.isDWMProperty(),u,d,g);return(0,c.createPropertyPage)(b,"appearance",ht,at.appearance)}_createTradingPropertyPage(){return null}_createEventsPropertyPage(){return null}}},97806:(e,t,i)=>{"use strict";i.r(t),i.d(t,{createPropertyPage:()=>o});var r=i(32856),n=i.n(r);function o(e,t,i,r=null){const o={id:t,title:i,definitions:new(n())(e)};return null!==r&&(o.icon=r),o}},73960:e=>{e.exports=''},3257:e=>{e.exports=''},5069:e=>{e.exports=''},24252:e=>{e.exports=''},48271:e=>{e.exports=''},26029:e=>{ +e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/get-error-card.dfe1662b6e974e519b68.js b/public/static/charting_library/bundles/get-error-card.dfe1662b6e974e519b68.js new file mode 100644 index 0000000..5d5637d --- /dev/null +++ b/public/static/charting_library/bundles/get-error-card.dfe1662b6e974e519b68.js @@ -0,0 +1 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[139],{58211:e=>{e.exports={errorCard:"errorCard-1ZTLibqo",errorCard__icon:"errorCard__icon-1ZTLibqo",errorCard_size_big:"errorCard_size_big-1ZTLibqo",errorCard__message:"errorCard__message-1ZTLibqo",errorCardRendererContainer:"errorCardRendererContainer-1ZTLibqo"}},49775:(e,r,t)=>{"use strict";t.d(r,{Icon:()=>n});var o=t(67294);const n=o.forwardRef((e,r)=>{const{icon:t="",...n}=e;return o.createElement("span",{...n,ref:r,dangerouslySetInnerHTML:{__html:t}})})},39450:(e,r,t)=>{"use strict";t.r(r),t.d(r,{ErrorCard:()=>v,ResizableErrorCard:()=>C,ErrorCardRenderer:()=>g});var o=t(67294),n=t(73935),s=t(58848),a=t(94184),i=t.n(a),c=t(49775),d=(t(79881),t(58413)),l=t(44186),h=t(58211);const u={ghost:{1:d,2:l},"stop-hand":{1:void 0,2:void 0}},v=o.forwardRef((e,r)=>{const{icon:t,message:n,size:s=1}=e;return o.createElement("div",{ref:r,className:i()(h.errorCard,2===s&&h.errorCard_size_big)},o.createElement(c.Icon,{icon:t&&u[t][s],className:h.errorCard__icon}),o.createElement("div",{className:h.errorCard__message},n))});function C(e){const{icon:r,message:t}=e,n=o.useRef(null),[a,i]=o.useState(1);return o.useEffect(()=>{const e=n.current;if(e){const r=new ResizeObserver((0,s.default)(c,150));return r.observe(e),()=>r.disconnect()}},[]),o.createElement(v,{ref:n,message:t,icon:r,size:a});function c(){const e=n.current;e&&(e.clientWidth<200||e.clientHeight<200?i(1):i(2))}}class g{constructor(){this._state={message:null,icon:void 0,backgroundColor:null,textColor:null};const e=document.createElement("div");e.classList.add(h.errorCardRendererContainer),this.container=e}destroy(){n.unmountComponentAtNode(this.container)}update(e){this._state=Object.assign({},this._state,e),this._updateContainer(),this._render()}_updateContainer(){const{backgroundColor:e,textColor:r}=this._state;this.container.style.setProperty("--backgroundColor",e),this.container.style.setProperty("--textColor",r)}_render(){const{message:e,icon:r}=this._state;n.render(e?o.createElement(C,{message:e,icon:r}):o.createElement(o.Fragment,null),this.container)}}},44186:e=>{e.exports=''},58413:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/go-to-date-dialog-impl.dadfac644efdcd254d91.js b/public/static/charting_library/bundles/go-to-date-dialog-impl.dadfac644efdcd254d91.js new file mode 100644 index 0000000..78d4929 --- /dev/null +++ b/public/static/charting_library/bundles/go-to-date-dialog-impl.dadfac644efdcd254d91.js @@ -0,0 +1,11 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1859],{28490:e=>{e.exports={calendar:"calendar-1NjzAl_S"}},13612:e=>{e.exports={row:"row-PABCY1cG",mobileRow:"mobileRow-PABCY1cG"}},80353:e=>{e.exports={dialogWrapper:"dialogWrapper-C-Wab_3K",dialogWrapperSmall:"dialogWrapperSmall-C-Wab_3K",tabs:"tabs-C-Wab_3K",content:"content-C-Wab_3K",contentMobile:"contentMobile-C-Wab_3K",bodyWrapper:"bodyWrapper-C-Wab_3K"}},32455:e=>{e.exports={"tablet-normal-breakpoint":"screen and (max-width: 768px)","small-height-breakpoint":"screen and (max-height: 360px)","tablet-small-breakpoint":"screen and (max-width: 428px)"}},76999:e=>{e.exports={calendar:"calendar-3r0qUNSu",popupStyle:"popupStyle-3r0qUNSu",header:"header-3r0qUNSu",title:"title-3r0qUNSu",switchBtn:"switchBtn-3r0qUNSu",prev:"prev-3r0qUNSu",month:"month-3r0qUNSu",weekdays:"weekdays-3r0qUNSu",weeks:"weeks-3r0qUNSu",week:"week-3r0qUNSu",day:"day-3r0qUNSu",disabled:"disabled-3r0qUNSu",selected:"selected-3r0qUNSu",currentDay:"currentDay-3r0qUNSu",isOnHighlightedEdge:"isOnHighlightedEdge-3r0qUNSu",withinSelectedRange:"withinSelectedRange-3r0qUNSu"}},8125:e=>{e.exports={container:"container-3tk-77P6",icon:"icon-3tk-77P6",tooltip:"tooltip-3tk-77P6",date:"date-3tk-77P6",time:"time-3tk-77P6"}},50051:e=>{e.exports={pickerInput:"pickerInput-2oRut0q-",icon:"icon-2oRut0q-",disabled:"disabled-2oRut0q-",picker:"picker-2oRut0q-",fixed:"fixed-2oRut0q-",absolute:"absolute-2oRut0q-",nativePicker:"nativePicker-2oRut0q-"}},42934:e=>{e.exports={tooltip:"tooltip-3y8LFwiB"}},55241:e=>{e.exports={slider:"slider-3RfwXbxu",inner:"inner-3RfwXbxu"}},34344:e=>{e.exports={scrollWrap:"scrollWrap-1KEqJy8_",tabsWrap:"tabsWrap-1KEqJy8_",tabs:"tabs-1KEqJy8_",withoutBorder:"withoutBorder-1KEqJy8_",tab:"tab-1KEqJy8_",withHover:"withHover-1KEqJy8_",headerBottomSeparator:"headerBottomSeparator-1KEqJy8_",fadeWithoutSlider:"fadeWithoutSlider-1KEqJy8_",withBadge:"withBadge-1KEqJy8_"}},66549:e=>{e.exports={"tablet-small-breakpoint":"screen and (max-width: 428px)",item:"item-2IihgTnv",hovered:"hovered-2IihgTnv",isDisabled:"isDisabled-2IihgTnv",isActive:"isActive-2IihgTnv",shortcut:"shortcut-2IihgTnv",toolbox:"toolbox-2IihgTnv",withIcon:"withIcon-2IihgTnv",icon:"icon-2IihgTnv",labelRow:"labelRow-2IihgTnv",label:"label-2IihgTnv",showOnHover:"showOnHover-2IihgTnv"}},16929:e=>{e.exports={tabs:"tabs-3I2ohC86",tab:"tab-3I2ohC86",noBorder:"noBorder-3I2ohC86",disabled:"disabled-3I2ohC86",active:"active-3I2ohC86",defaultCursor:"defaultCursor-3I2ohC86",slider:"slider-3I2ohC86",content:"content-3I2ohC86"}},74818:(e,t,n)=>{"use strict";function s(e){return r(e,a)}function o(e){return r(e,i)}function r(e,t){const n=Object.entries(e).filter(t),s={};for(const[e,t]of n)s[e]=t;return s}function a(e){const[t,n]=e;return 0===t.indexOf("data-")&&"string"==typeof n}function i(e){return 0===e[0].indexOf("aria-")}n.d(t,{filterDataProps:()=>s,filterAriaProps:()=>o,filterProps:()=>r,isDataAttribute:()=>a,isAriaAttribute:()=>i})},93548:(e,t,n)=>{"use strict";n.r(t),n.d(t,{showGoToDateDialog:()=>Re}) +;var s=n(67294),o=n(73935),r=n(16282),a=n(24287);function i(e){return("0"+e).slice(-2)}function l(e){const t=new Date(e);return t.setMilliseconds(0),t.setSeconds(0),t.setMinutes(0),t.setHours(0),t}function c(e,t=!1){const n=l(e),s=t?function(e){if(e>6)throw new Error("Invalid day is provided");return 0===e?6:e-1}(n.getDay()):n.getDay();return n.setDate(n.getDate()-s),n}function u(e){const t=l(e);return t.setDate(1),t}function h(e,t){return Number(l(e))===Number(l(t))}function d(e){const t=new Date(e);return t.setDate(t.getDate()+7),t}function p(e,t,n){const s=!t||Number(l(t))-Number(l(e))<=0;return(!n||Number(l(n))-Number(l(e))>=0)&&s}function m(e){return new Date(e).getTimezoneOffset()/60}function v(e){const t=new Date(e);return t.setHours(t.getHours()+m(t)),t}function f(e){const t=new Date(e);return t.setHours(t.getHours()-m(t)),t}var g=n(39518),w=n(84540),D=n.n(w);const b=s.createContext(null);function _(e){const{initialGoToDate:t,children:n}=e,[o,r]=(0,s.useState)(t),a=o.valueOf()<=function(e){const t=new Date(e);return t.setMilliseconds(999),t.setSeconds(59),t.setMinutes(59),t.setHours(23),t}(new Date).valueOf(),i=(0,s.useMemo)(()=>({date:o,setDate:r,isValid:a}),[o,a]);return s.createElement(b.Provider,{value:i},n)}const E=s.createContext(null);function C(e){const{initialRanges:t,children:n}=e,[o,r]=(0,s.useState)(t.from),[a,i]=(0,s.useState)(t.to),l=o.valueOf()<=a.valueOf(),c=(0,s.useMemo)(()=>({dateFrom:o,dateTo:a,setDateFrom:r,setDateTo:i,isValid:l}),[o,a,l]);return s.createElement(E.Provider,{value:c},n)}var S=n(79881),y=n(94184),k=n.n(y),N=n(18437),x=n(64222),I=n.n(x),T=n(28164),M=n(72923),R=n(7591),P=n(13612);function O(e){const{children:t}=e;return s.createElement("div",{className:k()(P.row,_e&&P.mobileRow)},t)}var F=n(96404),B=n(54041),A=n(49775),H=n(76999);class W extends s.PureComponent{constructor(){super(...arguments),this._dateFormatter=new B.DateFormatter,this._onClick=()=>{this.props.onClick&&!this.props.isDisabled&&this.props.onClick(new Date(this.props.day))}}render(){const e=y(H.day,{[H.selected]:this.props.isSelected,[H.disabled]:this.props.isDisabled,[H.withinSelectedRange]:this._withinSelectedRange(),[H.isOnHighlightedEdge]:this._isOnHighlightedEdge(),[H.currentDay]:this._isCurrentDay()});return s.createElement("span",{className:e,onClick:this._onClick,"data-day":this._dateFormatter.formatLocal(this.props.day)},this.props.day.getDate())}_isOnHighlightedEdge(){const{day:e,highlightedFrom:t,highlightedTo:n}=this.props;return!(!t||!n)&&(h(e,t)||h(e,n))}_withinSelectedRange(){const{day:e,highlightedFrom:t,highlightedTo:n}=this.props;return!(!t||!n)&&this._isBetweenByDay(t,e,n)}_isCurrentDay(){return h(new Date,this.props.day)}_isBetweenByDay(e,t,n){const s=l(e),o=l(t),r=l(n);return sz.map(e=>s.createElement("span",{key:e},e))}render(){return s.createElement("div",{className:H.month},s.createElement("div",{className:H.weekdays},this._renderWeekdays()),s.createElement("div",{className:H.weeks},this._renderWeeks()))}_renderWeeks(){const e=[];let t=c(u(this.props.viewDate),!0);for(let n=0;n<6;n++)e.push(this._renderWeek(t)),t=new Date(d(t));return e}_renderWeek(e){const t=[];for(let r=0;r<7;r++){const a=new Date(e);a.setDate(a.getDate()+r),(n=a,o=this.props.viewDate,Number(u(n))===Number(u(o)))&&t.push(s.createElement(W,{key:r,day:a,isDisabled:this._isDayDisabled(a),isSelected:h(a,this.props.selectedDate),onClick:this.props.onClickDay,highlightedFrom:this.props.highlightedFrom,highlightedTo:this.props.highlightedTo}))}var n,o;if(0===t.length)return null;const r=function(e){const t=new Date(e.getFullYear(),0,1),n=(Number(e)-Number(t))/864e5;return Math.ceil((n+t.getDay()+1)/7)}(e);return s.createElement("div",{className:H.week,key:r},t)}_isDayDisabled(e){if(!p(e,this.props.minDate,this.props.maxDate))return!0;const t=[6,0].includes(e.getDay());return!!this.props.disableWeekends&&t}}var q=n(5186);const L=[(0,S.t)("January"),(0,S.t)("February"),(0,S.t)("March"),(0,S.t)("April"),(0,S.t)("May"),(0,S.t)("June"),(0,S.t)("July"),(0,S.t)("August"),(0,S.t)("September"),(0,S.t)("October"),(0,S.t)("November"),(0,S.t)("December")];class V extends s.PureComponent{constructor(e){super(e),this._prevMonth=()=>{const e=new Date(this.state.viewDate);e.setMonth(e.getMonth()-1),this.setState({viewDate:e}),this.props.onMonthSwitch&&this.props.onMonthSwitch()},this._nextMonth=()=>{const e=new Date(this.state.viewDate);e.setMonth(e.getMonth()+1),this.setState({viewDate:e}),this.props.onMonthSwitch&&this.props.onMonthSwitch()},this._onClickDay=e=>{this.setState({viewDate:new Date(e)}),this.props.onSelect&&this.props.onSelect(new Date(e))},this.state={viewDate:e.selectedDate}}render(){return s.createElement("div",{className:y(H.calendar,this.props.popupStyle&&H.popupStyle,this.props.className),tabIndex:-1},s.createElement("div",{className:H.header},s.createElement(A.Icon,{icon:q,onClick:this._prevMonth,className:y(H.switchBtn,H.prev)}),s.createElement("div",{className:H.title},`${L[this.state.viewDate.getMonth()]} ${this.state.viewDate.getFullYear()}`),s.createElement(A.Icon,{icon:q,onClick:this._nextMonth,className:y(H.switchBtn,H.next)})),s.createElement(U,{viewDate:this.state.viewDate,selectedDate:this.props.selectedDate,maxDate:this.props.maxDate,minDate:this.props.minDate,onClickDay:this._onClickDay,disableWeekends:this.props.disableWeekends,highlightedFrom:this.props.highlightedFrom,highlightedTo:this.props.highlightedTo}))}}V.defaultProps={popupStyle:!0};var K=n(91943),G=n(16305),J=n(92136),j=n(13894),$=n(4735),Y=n(50051);class X extends s.PureComponent{constructor(e){super(e),this._input=null,this._inputContainer=null,this._handleFocus=()=>{this.props.showOnFocus&&this.props.onShowPicker()},this._handleInputRef=e=>{this._input=e, +this.props.inputReference&&this.props.inputReference(this._input)},this._handleContainerRef=e=>{this._inputContainer=e},this._onShowPicker=e=>{if(e&&this._inputContainer){const t=e.getBoundingClientRect(),n=this._inputContainer.getBoundingClientRect();t.width&&t.width>window.innerWidth-n.left?(e.style.right="0",e.style.left="auto"):(e.style.right="auto",e.style.left=n.left+"px");const s=window.innerHeight-n.bottom,o=n.top;if(s>=t.height)return void(e.style.top=n.bottom+"px");e.style.top="auto",e.style.bottom=o{const e=(0,r.ensureNotNull)(this._input).value;this.setState({value:e}),this.props.onType(e)},this._onKeyDown=e=>{this.props.onHidePicker()},this._onKeyPress=e=>{if(e.charCode){const t=String.fromCharCode(e.charCode);this.props.inputRegex.test(t)||e.preventDefault()}},this._onKeyUp=e=>{if(8!==e.keyCode){const e=(0,r.ensureNotNull)(this._input).value,t=this.props.fixValue(e);t!==e&&this.setState({value:t})}},this.state={value:e.value}}UNSAFE_componentWillReceiveProps(e){e.value!==this.props.value&&this.setState({value:e.value})}render(){const{position:e="fixed",className:t,size:n,disabled:o,readonly:r,errors:a,icon:i,InputComponent:l=K.FormInput}=this.props;return s.createElement("div",{className:Y.pickerInput,ref:this._handleContainerRef},s.createElement(l,{value:this.state.value,onBlur:this.props.onBlur,onKeyDown:this._onKeyDown,onKeyPress:this._onKeyPress,onKeyUp:this._onKeyUp,onChange:this._onChange,onFocus:this._handleFocus,onClick:this.props.onShowPicker,reference:this._handleInputRef,className:t,size:n,disabled:o,errors:a,messagesPosition:G.MessagesPosition.Attached,hasErrors:this.props.showErrorMessages&&a&&a.length>0,name:this.props.name,readonly:r,endSlot:a&&a.length?void 0:s.createElement(J.EndSlot,null,s.createElement(A.Icon,{icon:i,className:y(Y.icon,o&&Y.disabled),onClick:o||r?void 0:this.props.onShowPicker})),"data-name":this.props.name}),this.props.showPicker&&!r?s.createElement($.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},s.createElement(j.OutsideEvent,{mouseDown:!0,handler:this.props.onHidePicker},t=>s.createElement("span",{ref:t,style:{pointerEvents:"auto"}},s.createElement("div",{className:y(Y.picker,Y[e]),key:"0",ref:this._onShowPicker},this.props.children)))):null)}}X.defaultProps={showOnFocus:!0};class Q extends s.PureComponent{constructor(e){super(e),this._input=null,this._nativeInputRef=s.createRef(),this._handleInputRef=e=>{this._input=e,this.props.inputReference&&this.props.inputReference(this._input)},this._onFocus=()=>{this.setState({isFocused:!0})},this._onBlur=()=>{this._nativeInputRef.current&&(this._nativeInputRef.current.defaultValue=this.state.value),this.setState({isFocused:!1})},this._onChange=e=>{const{value:t}=e.target;t&&(this.setState({value:t}),this.props.onChange(t))},this.state={value:e.value,isFocused:!1}}componentDidMount(){this._nativeInputRef.current&&(this._nativeInputRef.current.defaultValue=this.props.value)}render(){ +const{className:e,disabled:t,errors:n,InputComponent:o=K.FormInput}=this.props,r=!this.props.readonly&&!t,a=this.props.showErrorMessages&&n&&n.length>0;return s.createElement("div",{className:Y.pickerInput},s.createElement(o,{value:this.state.value,readonly:!0,noReadonlyStyles:!0,endSlot:n&&n.length?void 0:s.createElement(J.EndSlot,null,s.createElement(A.Icon,{icon:this.props.icon,className:y(Y.icon,t&&Y.disabled)})),className:e,inputClassName:Y.textInput,size:this.props.size,disabled:t,hasErrors:a,errors:n,alwaysShowAttachedErrors:!0,messagesPosition:G.MessagesPosition.Attached,name:r?void 0:this.props.name,reference:this._handleInputRef,highlight:this.state.isFocused,intent:!a&&this.state.isFocused?"primary":void 0}),r&&s.createElement("input",{ref:this._nativeInputRef,type:this.props.type,className:Y.nativePicker,onChange:this._onChange,onInput:this._onChange,min:this.props.min,max:this.props.max,name:this.props.name,onFocus:this._onFocus,onBlur:this._onBlur}))}}var Z=n(11888),ee=n(8446);class te extends s.PureComponent{constructor(e){super(e),this._pickerInputContainerRef=s.createRef(),this._dateFormatter=new B.DateFormatter,this._fixValue=e=>(e=(e=e.substring(0,10)).replace(/-+/g,"-"),(/^\d{4}$/.test(e)||/^\d{4}-\d{2}$/.test(e))&&(e+="-"),e),this._isValid=e=>{if(/^[0-9]{4}(-[0-9]{2}){2}/.test(e)){const t=new Date(e.concat("T00:00"));return!function(e){return Number.isNaN(Number(e))}(t)&&(!!this.props.noRangeValidation||p(t,this.props.minDate,this.props.maxDate))}return!1},this._onBlur=e=>{var t;if(!this.props.revertInvalidData||(null===(t=this._pickerInputContainerRef.current)||void 0===t?void 0:t.contains(e.relatedTarget)))return;const{value:n}=e.target;if(!this._isValid(n)){const t=new Date(this.state.date);this.setState({pickerInputKey:e.timeStamp,date:t,isInvalid:!1}),this.props.onPick(t)}},this._onType=e=>{const t=this._isValid(e)?new Date(e.concat("T00:00")):null;t?this.setState({date:t,isInvalid:!1}):this.setState({isInvalid:!0}),this.props.onPick(t)},this._onSelect=e=>{this.setState({date:e,showCalendar:!1,isInvalid:!1}),this.props.onPick(e)},this._showCalendar=()=>{this.setState({showCalendar:!0})},this._hideCalendar=()=>{this.setState({showCalendar:!1})},this._getErrors=()=>{const e=this.props.errors?[...this.props.errors]:[];return this.state.isInvalid&&e.push((0,S.t)("Please enter the right date format yyyy-mm-dd")),e},this.state={pickerInputKey:0,date:e.initial,showCalendar:!1,isInvalid:!this._isValid(this._dateFormatter.formatLocal(e.initial))}}render(){return F.mobiletouch?s.createElement(Q,{value:this._dateFormatter.formatLocal(this.state.date),type:"date",onChange:this._onType,icon:ee,disabled:this.props.disabled,size:this.props.size,min:this.props.minDate&&this._dateFormatter.formatLocal(this.props.minDate),max:this.props.maxDate&&this._dateFormatter.formatLocal(this.props.maxDate),errors:this._getErrors(),showErrorMessages:this.props.showErrorMessages,name:this.props.name,readonly:this.props.readonly,className:y(this._getFontSizeClassName(this.props.size),this.props.className), +inputReference:this.props.inputReference,InputComponent:this.props.InputComponent}):s.createElement("div",{ref:this._pickerInputContainerRef},s.createElement(X,{key:this.state.pickerInputKey,value:this._dateFormatter.formatLocal(this.state.date),inputRegex:/[0-9.]/,fixValue:this._fixValue,onType:this._onType,onBlur:this._onBlur,onShowPicker:this._showCalendar,onHidePicker:this._hideCalendar,showPicker:this.state.showCalendar&&this.props.withCalendar,showOnFocus:this.props.showOnFocus,icon:ee,disabled:this.props.disabled,size:this.props.size,errors:this._getErrors(),showErrorMessages:this.props.showErrorMessages,name:this.props.name,readonly:this.props.readonly,position:this.props.position,className:y(this._getFontSizeClassName(this.props.size),this.props.className),inputReference:this.props.inputReference,InputComponent:this.props.InputComponent},s.createElement(V,{selectedDate:this.state.date,maxDate:this.props.maxDate,minDate:this.props.minDate,onSelect:this._onSelect})))}UNSAFE_componentWillReceiveProps(e){this.props.initial!==e.initial&&this.setState({date:e.initial})}_getFontSizeClassName(e){return e?"large"===e?Z.InputClasses.FontSizeLarge:Z.InputClasses.FontSizeMedium:void 0}}te.defaultProps={position:"fixed",withCalendar:!0};var ne=n(42934);function se(e){const{className:t,text:n}=e;return s.createElement("span",{className:k()(ne.tooltip,t)},n)}var oe=n(81267);const re=n(8125);function ae(e){const{hasErrors:t,onClick:n,errors:o,className:r,theme:a=re,...i}=e;return s.createElement("div",{className:a.container,onClick:n},s.createElement(K.FormInput,{...i,className:a.date,hasErrors:t,errors:[],endSlot:!t&&s.createElement(J.EndSlot,{icon:!0,interactive:!1},s.createElement(A.Icon,{icon:oe,className:a.icon}))}),t&&s.createElement(se,{text:(0,S.t)("Please enter the right date"),className:a.tooltip}))}const ie=s.createContext({isActive:!1,isFocused:!1});function le(e){const{value:t,reference:n,isActive:o,onPick:r,onFocus:a}=e,[i,l]=(0,s.useState)(!1);return s.createElement(ie.Provider,{value:{isActive:o,isFocused:i}},s.createElement("div",{onFocus:function(){l(!0),a&&a()},onBlur:function(){l(!1)}},s.createElement(te,{initial:t,inputReference:n,InputComponent:ce,withCalendar:!1,onPick:function(e){if(!e)return;r(new Date(e))},revertInvalidData:!0,name:e.name})))}function ce(e){const{isActive:t,isFocused:n}=(0,s.useContext)(ie);return s.createElement(ae,{...e,highlight:t||n})}var ue=n(39628);function he(e){const{value:t,isDisabled:n,onPick:o}=e;return s.createElement(ue.TimeInput,{value:(r=t,i(r.getHours())+":"+i(r.getMinutes())),onChange:o,disabled:n});var r}var de=n(28490);function pe(e){return s.createElement(V,{...e,className:de.calendar,popupStyle:!1})}function me(e,t){const n=new Date(t);return n.setFullYear(e.getFullYear()),n.setMonth(e.getMonth()),n.setDate(e.getDate()),n}function ve(e,t){const n=new Date(t);return n.setHours(e.getHours()),n.setMinutes(e.getMinutes()),n}function fe(e){const{dateOnly:t,onCalendarMonthSwitch:n}=e,{date:o,setDate:a}=(0,r.ensureNotNull)((0,s.useContext)(b)),i=(0, +s.useRef)(null),l=(0,s.useRef)(null);return(0,s.useEffect)(()=>{_e||null===l.current||l.current.focus()},[]),s.createElement("div",{ref:i,tabIndex:-1},s.createElement(O,null,s.createElement(le,{reference:function(e){l.current=e},value:new Date(o),onPick:function(e){const t=me(e,o);a(t)},isActive:!_e}),s.createElement(he,{value:new Date(o),isDisabled:t,onPick:function(e){var t;const[n,s]=e.split(":"),r=new Date;r.setHours(Number(n)),r.setMinutes(Number(s));const l=ve(r,o);a(l),_e||null===(t=i.current)||void 0===t||t.focus({preventScroll:!0})}})),!_e&&s.createElement(pe,{key:`${o.getFullYear()}-${o.getMonth()}-${o.getDate()}`,selectedDate:new Date(o),onSelect:function(e){var t;const n=me(e,o);a(n),null===(t=i.current)||void 0===t||t.focus({preventScroll:!0})},onMonthSwitch:n,maxDate:new Date}))}function ge(e){const{dateOnly:t,onCalendarMonthSwitch:n,onDateInputFocus:o}=e,{dateFrom:a,dateTo:i,setDateFrom:l,setDateTo:c}=(0,r.ensureNotNull)((0,s.useContext)(E)),[u,h]=(0,s.useState)("from"),d=(0,s.useRef)(null),p=(0,s.useRef)(null),m=(0,s.useRef)(null),v=(0,s.useMemo)(()=>"from"===u?new Date(a):new Date(i),[u,i,a]);return(0,s.useEffect)(()=>{_e||null===p.current||p.current.focus()},[]),s.createElement("div",{ref:d,tabIndex:-1},s.createElement(O,null,s.createElement(le,{value:a,reference:function(e){p.current=e},isActive:!_e&&"from"===u,onPick:function(e){const t=me(e,a);l(t)},onFocus:function(){h("from"),o()},name:"start-date-range"}),s.createElement(he,{value:a,isDisabled:t,onPick:function(e){f(e,a,l)}})),s.createElement(O,null,s.createElement(le,{value:i,reference:function(e){m.current=e},isActive:!_e&&"to"===u,onPick:function(e){const t=me(e,i);c(t)},onFocus:function(){h("to"),o()},name:"end-date-range"}),s.createElement(he,{value:i,isDisabled:t,onPick:function(e){f(e,i,c)}})),!_e&&s.createElement(pe,{key:`${v.getFullYear()}-${v.getMonth()}-${v.getDate()}`,selectedDate:new Date(v),onSelect:function(e){const t=me(e,"from"===u?a:i);({from:()=>{var e;l(t),null===(e=m.current)||void 0===e||e.focus({preventScroll:!0})},to:()=>{var e;c(t),null===(e=d.current)||void 0===e||e.focus({preventScroll:!0})}})[u]()},onMonthSwitch:n,highlightedFrom:new Date(a),highlightedTo:new Date(i),maxDate:"from"===u?new Date(i):void 0,minDate:"to"===u?new Date(a):void 0}));function f(e,t,n){var s;const[o,r]=e.split(":"),a=new Date;a.setHours(Number(o)),a.setMinutes(Number(r));n(ve(a,t)),_e||null===(s=d.current)||void 0===s||s.focus({preventScroll:!0})}}var we=n(77658),De=n(68521),be=n(80353);const _e=F.mobiletouch,Ee=()=>!0,Ce={byId:{Date:{title:(0,S.t)("Date")},CustomRange:{title:(0,S.t)("Custom range")}},allIds:["Date","CustomRange"]};function Se(e){const{dateOnly:t,onClose:n,onGoToDate:o,onGoToRange:a}=e,i=(0,s.useRef)(null),[l,c]=(0,s.useState)(I().getValue("GoToDialog.activeTab","Date")),[u,h]=(0,s.useState)(0),{date:d,isValid:p}=(0,r.ensureNotNull)((0,s.useContext)(b)),{dateFrom:m,dateTo:v,isValid:f}=(0,r.ensureNotNull)((0,s.useContext)(E));return(0,s.useEffect)(()=>(N.subscribe(T.CLOSE_POPUPS_AND_DIALOGS_COMMAND,_,null),()=>{ +N.unsubscribe(T.CLOSE_POPUPS_AND_DIALOGS_COMMAND,_,null)}),[n]),(0,s.useEffect)(()=>{null!==i.current&&i.current()},[u,l,d,m,v]),s.createElement(De.MatchMedia,{rule:M.DialogBreakpoints.TabletSmall},e=>s.createElement(R.AdaptiveConfirmDialog,{className:k()(be.dialogWrapper,e&&be.dialogWrapperSmall),title:(0,S.t)("Go to"),dataName:"go-to-date-dialog",render:g,defaultActionOnClose:"cancel",onClose:_,onClickOutside:_,onCancel:_,onSubmit:D,submitButtonDisabled:w(),submitButtonText:(0,S.t)("Go to"),forceCloseOnEsc:Ee,shouldForceFocus:!1,fullScreen:e,isOpened:!0}));function g({requestResize:e}){return i.current=e,s.createElement(s.Fragment,null,s.createElement("div",{className:be.tabs},s.createElement(we.DialogTabs,{activeTabId:l,tabs:Ce,onSelect:C})),s.createElement("div",{className:k()(be.content,_e&&be.contentMobile)},s.createElement("div",{className:be.bodyWrapper},s.createElement(ye,{onCalendarMonthSwitch:y,onDateInputFocus:y,activeTab:l,dateOnly:t}))))}function w(){return{CustomRange:!f,Date:!p}[l]}function D(){switch(l){case"Date":o(d);break;case"CustomRange":a(m,v)}}function _(){n()}function C(e){c(e),I().setValue("GoToDialog.activeTab",e)}function y(){h(u+1)}}function ye(e){const{activeTab:t,dateOnly:n,onCalendarMonthSwitch:o,onDateInputFocus:r}=e;switch(t){case"Date":return s.createElement(fe,{dateOnly:n,onCalendarMonthSwitch:o});case"CustomRange":return s.createElement(ge,{dateOnly:n,onCalendarMonthSwitch:o,onDateInputFocus:r})}}function ke(e){const{dateOnly:t,onClose:n,onGoToDate:o,onGoToRange:r,initialGoToDate:a,initialRanges:i}=e;return s.createElement(_,{initialGoToDate:a},s.createElement(C,{initialRanges:i},s.createElement(Se,{dateOnly:t,onClose:n,onGoToDate:o,onGoToRange:r})))}var Ne=n(1467),xe=n(61627);const Ie=new class{constructor(){this._hasError=!1}getItemOrDefault(e,t){return!sessionStorage||this._hasError?t:sessionStorage.getItem(e)}setItem(e,t="true"){try{sessionStorage.setItem(e,t),this._hasError=!1}catch(e){this._hasError=!0}}};var Te=n(18820);const Me=new g.DialogsOpenerManager;function Re(e){if(Me.isOpened("goTo"))return;if(!e.hasModel())return;const t=e.model(),n=document.createElement("div"),r=s.createElement(ke,{onClose:i,dateOnly:t.model().mainSeries().isDWM(),initialGoToDate:Pe(),initialRanges:Oe(e),onGoToDate:e=>{!function(e,t){Ie.setItem("goToDateTabLastPickedDate",String(t.valueOf()));if(void 0===e.model().timeScale().tickMarks().minIndex)return;const n=f(t).valueOf();e.model().gotoTime(n).then(t=>{const n=e.model().mainSeries();void 0===t?n.clearGotoDateResult():n.setGotoDateResult(t)})}(t,e),i()},onGoToRange:(t,n)=>{!function(e,t,n){const s=(0,Te.getTimezoneName)(e.model());if(!s)return;const o=a.linking.interval.value(),r=o&&(0,Ne.normalizeIntervalString)(o),i=D().get_timezone(s),l=e=>(0,w.cal_to_utc)(i,new Date(e)),c=f(t).valueOf(),u=f(n).valueOf(),h={val:{type:"time-range",from:l(c)/1e3,to:l(u)/1e3},res:r};e.chartWidgetCollection().setTimeFrame(h)}(e,t,n),i()}});function i(){o.unmountComponentAtNode(n),Me.setAsClosed("goTo")}o.render(r,n),Me.setAsOpened("goTo")}function Pe(){ +const e=Ie.getItemOrDefault("goToDateTabLastPickedDate",null);return null===e?l(new Date):new Date(Number(e))}function Oe(e){const t=function(e){const t=e.model().timeScale(),n=t.visibleBarsStrictRange();if(null===n)return;const s=e.model().mainSeries(),o=s.nearestIndex(n.firstBar(),xe.PlotRowSearchMode.NearestRight),a=s.nearestIndex(n.lastBar(),xe.PlotRowSearchMode.NearestLeft);if(void 0===o||void 0===a)return;return{from:(0,r.ensureNotNull)(t.indexToUserTime(o)),to:(0,r.ensureNotNull)(t.indexToUserTime(a))}}(e);return t?{from:v(t.from),to:v(t.to)}:{from:v(new Date),to:v(new Date)}}},59726:(e,t,n)=>{"use strict";function s(e,t,n,s,o){function r(o){if(e>o.timeStamp)return;const r=o.target;void 0!==n&&null!==t&&null!==r&&r.ownerDocument===s&&(t.contains(r)||n(o))}return o.click&&s.addEventListener("click",r,!1),o.mouseDown&&s.addEventListener("mousedown",r,!1),o.touchEnd&&s.addEventListener("touchend",r,!1),o.touchStart&&s.addEventListener("touchstart",r,!1),()=>{s.removeEventListener("click",r,!1),s.removeEventListener("mousedown",r,!1),s.removeEventListener("touchend",r,!1),s.removeEventListener("touchstart",r,!1)}}n.d(t,{addOutsideEventListener:()=>s})},72923:(e,t,n)=>{"use strict";n.d(t,{DialogBreakpoints:()=>o});var s=n(32455);const o={SmallHeight:s["small-height-breakpoint"],TabletSmall:s["tablet-small-breakpoint"],TabletNormal:s["tablet-normal-breakpoint"]}},39518:(e,t,n)=>{"use strict";n.d(t,{DialogsOpenerManager:()=>s,dialogsOpenerManager:()=>o});class s{constructor(){this._storage=new Map}setAsOpened(e,t){this._storage.set(e,t)}setAsClosed(e){this._storage.delete(e)}isOpened(e){return this._storage.has(e)}getDialogPayload(e){return this._storage.get(e)}}const o=new s},77658:(e,t,n)=>{"use strict";n.d(t,{DialogTabs:()=>m});var s=n(67294),o=n(94184),r=n(41445),a=n(4598),i=n(55241);const l=(0,a.mergeThemes)(r.DEFAULT_SLIDER_THEME,i);var c=n(52444),u=n(96404),h=n(34344);const d=h,p=(0,r.factory)((function(e){return s.createElement("div",{className:l.slider,ref:e.reference},s.createElement("div",{className:l.inner}))}));class m extends s.PureComponent{constructor(){super(...arguments),this._createClickHandler=e=>()=>{this.props.onSelect(e)}}render(){const{theme:e=d,hiddenBottomBorders:t,fadedSlider:n=!0,ScrollComponent:r=c.HorizontalScroll}=this.props,a=this._generateDialogTabs();return s.createElement("div",{className:o(e.scrollWrap)},!t&&s.createElement("div",{className:e.headerBottomSeparator}),s.createElement(r,{isVisibleFade:u.mobiletouch,isVisibleButtons:!u.mobiletouch,isVisibleScrollbar:!1,fadeClassName:o({[e.fadeWithoutSlider]:!n})},s.createElement("div",{className:e.tabsWrap},s.createElement(p,{className:o(e.tabs,t&&e.withoutBorder)},a))))}_generateDialogTabs(){const{activeTabId:e,tabs:t,theme:n=d}=this.props;return t.allIds.map(a=>{const i=e===a,l=t.byId[a].withNotificationsBadge;return s.createElement(r.SliderItem,{key:a,value:a,className:o(n.tab,!i&&n.withHover,l&&h.withBadge),isActive:i,onClick:this._createClickHandler(a)},t.byId[a].title)})}}},95860:(e,t,n)=>{"use strict";n.d(t,{ +DEFAULT_POPUP_MENU_ITEM_THEME:()=>c,PopupMenuItem:()=>d});var s=n(67294),o=n(94184),r=n(79424),a=n(87438),i=n(74818),l=n(66549);const c=l;function u(e){const{reference:t,...n}=e,o={...n,ref:t};return s.createElement(e.href?"a":"div",o)}function h(e){e.stopPropagation()}function d(e){const{id:t,role:n,"aria-selected":c,className:d,title:p,labelRowClassName:m,labelClassName:v,shortcut:f,forceShowShortcuts:g,icon:w,isActive:D,isDisabled:b,isHovered:_,appearAsDisabled:E,label:C,link:S,showToolboxOnHover:y,target:k,rel:N,toolbox:x,reference:I,onMouseOut:T,onMouseOver:M,suppressToolboxClick:R=!0,theme:P=l}=e,O=(0,i.filterDataProps)(e),F=(0,s.useRef)(null);return s.createElement(u,{...O,id:t,role:n,"aria-selected":c,className:o(d,P.item,w&&P.withIcon,{[P.isActive]:D,[P.isDisabled]:b||E,[P.hovered]:_}),title:p,href:S,target:k,rel:N,reference:function(e){F.current=e,"function"==typeof I&&I(e);"object"==typeof I&&(I.current=e)},onClick:function(t){const{dontClosePopup:n,onClick:s,onClickArg:o,trackEventObject:i}=e;if(b)return;i&&(0,a.trackEvent)(i.category,i.event,i.label);s&&s(o,t);n||(0,r.globalCloseMenu)()},onContextMenu:function(t){const{trackEventObject:n,trackRightClick:s}=e;n&&s&&(0,a.trackEvent)(n.category,n.event,n.label+"_rightClick")},onMouseUp:function(t){const{trackEventObject:n,trackMouseWheelClick:s}=e;if(1===t.button&&S&&n){let e=n.label;s&&(e+="_mouseWheelClick"),(0,a.trackEvent)(n.category,n.event,e)}},onMouseOver:M,onMouseOut:T},void 0!==w&&s.createElement("div",{className:P.icon,dangerouslySetInnerHTML:{__html:w}}),s.createElement("div",{className:o(P.labelRow,m)},s.createElement("div",{className:o(P.label,v)},C)),(void 0!==f||g)&&s.createElement("div",{className:P.shortcut},(B=f)&&B.split("+").join(" + ")),void 0!==x&&s.createElement("div",{onClick:R?h:void 0,className:o(P.toolbox,{[P.showOnHover]:y})},x));var B}},76420:(e,t,n)=>{"use strict";n.d(t,{PopupMenu:()=>c});var s=n(67294),o=n(73935),r=n(4735),a=n(90901),i=n(94884),l=n(47165);function c(e){const{controller:t,children:n,isOpened:c,closeOnClickOutside:u=!0,doNotCloseOn:h,onClickOutside:d,onClose:p,...m}=e,v=(0,s.useContext)(i.CloseDelegateContext),f=(0,l.useOutsideEvent)({handler:function(e){d&&d(e);if(!u)return;if(h&&e.target instanceof Node){const t=o.findDOMNode(h);if(t instanceof Node&&t.contains(e.target))return}p()},mouseDown:!0,touchStart:!0});return c?s.createElement(r.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},s.createElement("span",{ref:f,style:{pointerEvents:"auto"}},s.createElement(a.Menu,{...m,onClose:p,onScroll:function(t){const{onScroll:n}=e;n&&n(t)},customCloseDelegate:v,ref:t},n))):null}},41445:(e,t,n)=>{"use strict";n.d(t,{DEFAULT_SLIDER_THEME:()=>i,SliderItem:()=>l,factory:()=>c});var s=n(67294),o=n(94184),r=n(16282),a=n(16929);const i=a;function l(e){const t=o(e.className,a.tab,{[a.active]:e.isActive,[a.disabled]:e.isDisabled,[a.defaultCursor]:!!e.shouldUseDefaultCursor,[a.noBorder]:!!e.noBorder});return s.createElement("div",{className:t,onClick:e.onClick,ref:e.reference,"data-type":"tab-item", +"data-value":e.value,"data-name":"tab-item-"+e.value.toString().toLowerCase()},e.children)}function c(e){return class extends s.PureComponent{constructor(){super(...arguments),this.activeTab={current:null}}componentDidUpdate(){(0,r.ensureNotNull)(this._slider).style.transition="transform 350ms",this._componentDidUpdate()}componentDidMount(){this._componentDidUpdate()}render(){const{className:t}=this.props,n=this._generateTabs();return s.createElement("div",{className:o(t,a.tabs),"data-name":this.props["data-name"]},n,s.createElement(e,{reference:e=>{this._slider=e}}))}_generateTabs(){return this.activeTab.current=null,s.Children.map(this.props.children,e=>{const t=e,n=Boolean(t.props.isActive),o={reference:e=>{n&&(this.activeTab.current=e),t.props.reference&&t.props.reference(e)}};return s.cloneElement(t,o)})}_componentDidUpdate(){const e=(0,r.ensureNotNull)(this._slider).style;if(this.activeTab.current){const t=this.activeTab.current.offsetWidth,n=this.activeTab.current.offsetLeft;e.transform=`translateX(${n}px)`,e.width=t+"px",e.opacity="1"}else e.opacity="0"}}}c((function(e){return s.createElement("div",{className:a.slider,ref:e.reference})}))},4598:(e,t,n)=>{"use strict";function s(e,t,n={}){const s=Object.assign({},t);for(const o of Object.keys(t)){const r=n[o]||o;r in e&&(s[o]=[e[r],t[o]].join(" "))}return s}function o(e,t,n={}){return Object.assign({},e,s(e,t,n))}n.d(t,{weakComposeClasses:()=>s,mergeThemes:()=>o})},5186:e=>{e.exports=''},81267:e=>{e.exports=''},8446:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/hammerjs.c69dac2431e462e3fc71.js b/public/static/charting_library/bundles/hammerjs.c69dac2431e462e3fc71.js new file mode 100644 index 0000000..644e874 --- /dev/null +++ b/public/static/charting_library/bundles/hammerjs.c69dac2431e462e3fc71.js @@ -0,0 +1,7 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2377],{50840:(t,e,i)=>{var n;!function(r,s,o,a){"use strict";var h,u=["","webkit","Moz","MS","ms","o"],c=s.createElement("div"),l=Math.round,p=Math.abs,f=Date.now;function v(t,e,i){return setTimeout(I(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(m(t,i[e],i),!0)}function m(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(void 0!==t.length)for(n=0;n\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,n,i),t.apply(this,arguments)}}h="function"!=typeof Object.assign?function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i-1}function x(t){return t.trim().split(/\s+/g)}function D(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;ni[e]})):n.sort()),n}function R(t,e){for(var i,n,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=H(e):1===r&&(i.firstMultiple=!1);var s=i.firstInput,o=i.firstMultiple,a=o?o.center:s.center,h=e.center=L(n);e.timeStamp=f(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=G(a,h),e.distance=j(a,h),function(t,e){var i=e.center,n=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};1!==e.eventType&&4!==s.eventType||(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y});e.deltaX=r.x+(i.x-n.x),e.deltaY=r.y+(i.y-n.y)}(i,e),e.offsetDirection=V(e.deltaX,e.deltaY);var u=U(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=p(u.x)>p(u.y)?u.x:u.y,e.scale=o?(c=o.pointers,l=n,j(l[0],l[1],k)/j(c[0],c[1],k)):1,e.rotation=o?function(t,e){return G(e[1],e[0],k)+G(t[1],t[0],k)}(o.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,r,s,o=t.lastInterval||e,a=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(a>25||void 0===o.velocity)){var h=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,c=U(a,h,u);n=c.x,r=c.y,i=p(c.x)>p(c.y)?c.x:c.y,s=V(h,u),t.lastInterval=e}else i=o.velocity,n=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=i,e.velocityX=n,e.velocityY=r,e.direction=s}(i,e);var c,l;var v=t.element;_(e.srcEvent.target,v)&&(v=e.srcEvent.target);e.target=v}(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function H(t){for(var e=[],i=0;i=p(e)?t<0?2:4:e<0?8:16}function j(t,e,i){i||(i=F);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function G(t,e,i){i||(i=F);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return 180*Math.atan2(r,n)/Math.PI}W.prototype={handler:function(){},init:function(){this.evEl&&b(this.element,this.evEl,this.domHandler),this.evTarget&&b(this.target,this.evTarget,this.domHandler),this.evWin&&b(z(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(z(this.element),this.evWin,this.domHandler)}};var Z={mousedown:1,mousemove:2,mouseup:4};function B(){this.evEl="mousedown",this.evWin="mousemove mouseup",this.pressed=!1,W.apply(this,arguments)}E(B,W,{handler:function(t){var e=Z[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var J={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},$={2:"touch",3:"pen", +4:"mouse",5:"kinect"},K="pointerdown",Q="pointermove pointerup pointercancel";function tt(){this.evEl=K,this.evWin=Q,W.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(K="MSPointerDown",Q="MSPointerMove MSPointerUp MSPointerCancel"),E(tt,W,{handler:function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace("ms",""),r=J[n],s=$[t.pointerType]||t.pointerType,o="touch"==s,a=D(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(i=!0),a<0||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var et={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function it(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,W.apply(this,arguments)}function nt(t,e){var i=w(t.touches),n=w(t.changedTouches);return 12&e&&(i=O(i.concat(n),"identifier",!0)),[i,n]}E(it,W,{handler:function(t){var e=et[t.type];if(1===e&&(this.started=!0),this.started){var i=nt.call(this,t,e);12&e&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:"touch",srcEvent:t})}}});var rt={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function st(){this.evTarget="touchstart touchmove touchend touchcancel",this.targetIds={},W.apply(this,arguments)}function ot(t,e){var i=w(t.touches),n=this.targetIds;if(3&e&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,s,o=w(t.changedTouches),a=[],h=this.target;if(s=i.filter((function(t){return _(t.target,h)})),1===e)for(r=0;r-1&&n.splice(t,1)}),2500)}}function ct(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)} +i<8&&n(e.options.event+mt(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+mt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return yt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=gt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),E(It,yt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),E(At,dt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distancee.time;if(this._input=t,!n||!i||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=v((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),E(Ct,yt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),E(bt,yt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Et.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction +;return 30&i?e=t.overallVelocity:6&i?e=t.overallVelocityX:24&i&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&p(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=gt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),E(St,dt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance{"use strict";i.r(e),i.d(e,{HammerJS:()=>r.a});var n=i(50840),r=i.n(n)}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/header-toolbar.d302e948bcd970bc1897.js b/public/static/charting_library/bundles/header-toolbar.d302e948bcd970bc1897.js new file mode 100644 index 0000000..e71b49d --- /dev/null +++ b/public/static/charting_library/bundles/header-toolbar.d302e948bcd970bc1897.js @@ -0,0 +1,9 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[3005],{86043:e=>{e.exports={group:"group-3uonVBsm",noLeftDecoration:"noLeftDecoration-3uonVBsm",noRightDecoration:"noRightDecoration-3uonVBsm",noMinimalWidth:"noMinimalWidth-3uonVBsm",newStyles:"newStyles-3uonVBsm",separator:"separator-3uonVBsm",separatorWrap:"separatorWrap-3uonVBsm"}},50652:e=>{e.exports={"css-value-header-toolbar-height":"38px",wrap:"wrap-1ETeWwz2"}},56952:e=>{e.exports={"css-value-header-toolbar-height":"38px",toolbar:"toolbar-LZaMRgb9",isHidden:"isHidden-LZaMRgb9",overflowWrap:"overflowWrap-LZaMRgb9",customButton:"customButton-LZaMRgb9",hovered:"hovered-LZaMRgb9"}},17822:e=>{e.exports={wrap:"wrap-35jKyg6w",icon:"icon-35jKyg6w"}},29295:e=>{e.exports={"css-value-header-toolbar-height":"38px",inner:"inner-i5o9yNmy",fake:"fake-i5o9yNmy",fill:"fill-i5o9yNmy",collapse:"collapse-i5o9yNmy",button:"button-i5o9yNmy",iconButton:"iconButton-i5o9yNmy",hidden:"hidden-i5o9yNmy",content:"content-i5o9yNmy",desktopPublish:"desktopPublish-i5o9yNmy",mobilePublish:"mobilePublish-i5o9yNmy"}},49775:(e,t,a)=>{"use strict";a.d(t,{Icon:()=>r});var s=a(67294);const r=s.forwardRef((e,t)=>{const{icon:a="",...r}=e;return s.createElement("span",{...r,ref:t,dangerouslySetInnerHTML:{__html:a}})})},24084:(e,t,a)=>{"use strict";a.d(t,{INTERVALS:()=>r});var s=a(79881);const r=[{name:"",label:(0,s.t)("minutes",{context:"interval"})},{name:"H",label:(0,s.t)("hours",{context:"interval"})},{name:"D",label:(0,s.t)("days",{context:"interval"})},{name:"W",label:(0,s.t)("weeks",{context:"interval"})},{name:"M",label:(0,s.t)("months",{context:"interval"})}]},48186:(e,t,a)=>{"use strict";a.r(t),a.d(t,{HeaderToolbarRenderer:()=>ge});var s=a(67294),r=a(73935),n=a(16282),i=a(94184),o=a(94795),l=a.n(o),d=a(58848),c=a(27490),h=a(18437),u=a(45697),m=a(5383),v=a(96404),p=a(87230),y=a(19470),S=a(86043);function g(e){const{children:t,className:a,noLeftDecoration:r,noRightDecoration:n,noMinimalWidth:o,onClick:l,removeSeparator:d}=e;return s.createElement(s.Fragment,null,y.hasNewHeaderToolbarStyles&&!d&&s.createElement("div",{className:S.separatorWrap},s.createElement("div",{className:S.separator})),s.createElement("div",{className:i(a,S.group,{[S.noMinimalWidth]:o,[S.noLeftDecoration]:r,[S.noRightDecoration]:n,[S.newStyles]:y.hasNewHeaderToolbarStyles}),onClick:l},t))}var f=a(50652);class b extends s.PureComponent{constructor(){super(...arguments),this._handleMeasure=({width:e})=>{this.props.onWidthChange(e)}}render(){const{children:e,shouldMeasure:t}=this.props;return s.createElement(m,{shouldMeasure:t,onMeasure:this._handleMeasure,whitelist:["width"]},s.createElement("div",{className:f.wrap},e))}}var E=a(79881),_=a(49775),C=a(17822),w=a(49017);const M={text:(0,E.t)("View Only Mode")};function I(e){return s.createElement("div",{className:C.wrap},s.createElement(_.Icon,{className:C.icon,icon:w}),M.text)}var k,R=a(52444),F=a(39197);!function(e){e.SymbolSearch="header-toolbar-symbol-search",e.Intervals="header-toolbar-intervals",e.ChartStyles="header-toolbar-chart-styles", +e.Compare="header-toolbar-compare",e.Indicators="header-toolbar-indicators",e.StudyTemplates="header-toolbar-study-templates",e.Dropdown="header-toolbar-dropdown",e.Alerts="header-toolbar-alerts",e.Layouts="header-toolbar-layouts",e.SaveLoad="header-toolbar-save-load",e.UndoRedo="header-toolbar-undo-redo",e.Properties="header-toolbar-properties",e.PublishDesktop="header-toolbar-publish-desktop",e.PublishMobile="header-toolbar-publish-mobile",e.Fullscreen="header-toolbar-fullscreen",e.Screenshot="header-toolbar-screenshot",e.Replay="header-toolbar-replay",e.Financials="header-toolbar-financials",e.StartTrial="header-toolbar-start-trial"}(k||(k={}));var T=a(11086),N=a(53178),W=a(29295);const V=(0,N.registryContextType)();class A extends s.PureComponent{constructor(e,t){super(e,t),this._handleMouseOver=e=>{(0,T.hoverMouseEventFilter)(e)&&this.setState({isHovered:!0})},this._handleMouseOut=e=>{(0,T.hoverMouseEventFilter)(e)&&this.setState({isHovered:!1})},this._handleInnerResize=e=>{const{onWidthChange:t}=this.props;t&&t(e)},this._handleMeasureAvailableSpace=({width:e})=>{const{onAvailableSpaceChange:t}=this.props;t&&t(e)},this._processCustoms=e=>{const{isFake:t,displayMode:a}=this.props,{tools:r}=this.context;return e.map(e=>s.createElement(g,{key:e.id},"Button"===e.type?s.createElement(r.Custom,{...e.params,isFake:t}):s.createElement(r.Dropdown,{displayMode:a,params:e.params})))},this._fixLastGroup=(e,t,a)=>{if(t===a.length-1&&s.isValidElement(e)&&e.type===g){const t=void 0!==this.context.tools.Publish&&!this.props.readOnly;return s.cloneElement(e,{noRightDecoration:t})}return e},(0,N.validateRegistry)(t,{tools:u.any.isRequired}),this.state={isHovered:!1,isAuthenticated:void 0}}componentDidMount(){0}componentWillUnmount(){0}render(){const{tools:e}=this.context,{features:t,displayMode:a,chartSaver:r,studyMarket:n,readOnly:o,saveLoadSyncEmitter:l,leftCustomElements:d,rightCustomElements:c,showScrollbarWhen:h,isFake:u=!1}=this.props,{isHovered:S,isAuthenticated:f}=this.state,E=this._processCustoms(d),_=this._processCustoms(c),C=h.includes(a);return s.createElement("div",{className:i(W.inner,{[W.fake]:u}),onContextMenu:F.preventDefaultForContextMenu,"data-is-fake-main-panel":u},s.createElement(m,{onMeasure:this._handleMeasureAvailableSpace,whitelist:["width"],shouldMeasure:!u},s.createElement(R.HorizontalScroll,{isVisibleFade:v.mobiletouch&&C,isVisibleButtons:!v.mobiletouch&&C&&S,isVisibleScrollbar:!1,shouldMeasure:C&&!u,onMouseOver:this._handleMouseOver,onMouseOut:this._handleMouseOut},s.createElement("div",{className:W.content},s.createElement(b,{onWidthChange:this._handleInnerResize,shouldMeasure:u},s.createElement(p.FragmentMap,{map:this._fixLastGroup},!o&&s.Children.toArray([e.SymbolSearch&&s.createElement(g,{key:"symbol"},s.createElement(e.SymbolSearch,{id:u?void 0:k.SymbolSearch,isActionsVisible:t.allowSymbolSearchSpread}),y.hasNewHeaderToolbarStyles&&e.Compare&&s.createElement(e.Compare,{id:u?void 0:k.Compare,className:W.button,displayMode:a})),e.DateRange&&s.createElement(g,{key:"range" +},s.createElement(e.DateRange,null)),e.Intervals&&s.createElement(g,{key:"intervals"},s.createElement(e.Intervals,{id:u?void 0:k.Intervals,isShownQuicks:t.allowFavoriting,isFavoritingAllowed:t.allowFavoriting,displayMode:a,isFake:u})),e.Bars&&s.createElement(g,{key:"styles"},s.createElement(e.Bars,{id:u?void 0:k.ChartStyles,isShownQuicks:t.allowFavoriting,isFavoritingAllowed:t.allowFavoriting,displayMode:a,isFake:u})),!y.hasNewHeaderToolbarStyles&&e.Compare&&s.createElement(g,{key:"compare"},s.createElement(e.Compare,{id:u?void 0:k.Compare,className:W.button,displayMode:a})),e.Indicators&&s.createElement(g,{key:"indicators"},s.createElement(e.Indicators,{id:u?void 0:k.Indicators,className:W.button,studyMarket:n,displayMode:a,isFake:u,isAuthenticated:f}),y.hasNewHeaderToolbarStyles&&e.Templates&&s.createElement(e.Templates,{id:u?void 0:k.StudyTemplates,isShownQuicks:t.allowFavoriting,isFavoritingAllowed:t.allowFavoriting,displayMode:a})),e.Financials&&s.createElement(g,{key:"financials"},s.createElement(e.Financials,{id:u?void 0:k.Financials,className:W.button,displayMode:a})),!y.hasNewHeaderToolbarStyles&&e.Templates&&s.createElement(g,{key:"templates"},s.createElement(e.Templates,{id:u?void 0:k.StudyTemplates,isShownQuicks:t.allowFavoriting,isFavoritingAllowed:t.allowFavoriting,displayMode:a})),e.Alert&&s.createElement(g,{key:"alert"},s.createElement(e.Alert,{id:u?void 0:k.Alerts,className:W.button,displayMode:a}),y.hasNewHeaderToolbarStyles&&e.Replay&&s.createElement(e.Replay,{id:u?void 0:k.Replay,className:W.button,displayMode:a})),e.AlertReferral&&s.createElement(g,{key:"alert-referral"},s.createElement(e.AlertReferral,{className:W.button,displayMode:a})),!y.hasNewHeaderToolbarStyles&&e.Replay&&s.createElement(g,{key:"replay"},s.createElement(e.Replay,{id:u?void 0:k.Replay,className:W.button,displayMode:a})),!y.hasNewHeaderToolbarStyles&&e.UndoRedo&&s.createElement(g,{key:"undo-redo"},s.createElement(e.UndoRedo,{id:u?void 0:k.UndoRedo})),e.ScalePercentage&&s.createElement(g,{key:"percentage"},s.createElement(e.ScalePercentage,null)),e.ScaleLogarithm&&s.createElement(g,{key:"logarithm"},s.createElement(e.ScaleLogarithm,null)),...E]),function(e){const t=e.findIndex(e=>s.isValidElement(e)&&!!e.key&&-1!==e.key.toString().indexOf("view-only-badge"));return[t].filter(e=>e>=0).forEach(t=>{e=s.Children.map(e,(e,a)=>{if(s.isValidElement(e)){switch([t-1,t,t+1].indexOf(a)){case 0:const t={noRightDecoration:!0};e=s.cloneElement(e,t);break;case 1:const a={noLeftDecoration:!0,noRightDecoration:!0};e=s.cloneElement(e,a);break;case 2:const r={noLeftDecoration:!0};e=s.cloneElement(e,r)}}return e})}),e}(s.Children.toArray([o&&s.createElement(g,{key:"view-only-badge",removeSeparator:y.hasNewHeaderToolbarStyles},s.createElement(I,null)),s.createElement(g,{key:"gap",className:i(W.fill,u&&W.collapse),removeSeparator:y.hasNewHeaderToolbarStyles}),y.hasNewHeaderToolbarStyles&&!o&&e.UndoRedo&&s.createElement(g,{key:"undo-redo",removeSeparator:!0},s.createElement(e.UndoRedo,{id:u?void 0:k.UndoRedo +})),(!o||y.hasNewHeaderToolbarStyles)&&e.Layout&&s.createElement(g,{key:"layout",removeSeparator:y.hasNewHeaderToolbarStyles&&o},!o&&s.createElement(e.Layout,{id:u?void 0:k.Layouts}),y.hasNewHeaderToolbarStyles&&e.SaveLoad&&s.createElement(e.SaveLoad,{id:u?void 0:k.SaveLoad,chartSaver:r,isReadOnly:o,displayMode:a,isFake:u,stateSyncEmitter:l})),!y.hasNewHeaderToolbarStyles&&e.SaveLoad&&s.createElement(g,{key:"save-load-right"},s.createElement(e.SaveLoad,{id:u?void 0:k.SaveLoad,chartSaver:r,isReadOnly:o,displayMode:a,isFake:u,stateSyncEmitter:l})),e.SaveLoadReferral&&s.createElement(g,{key:"save-load-referral"},s.createElement(e.SaveLoadReferral,{isReadOnly:o,displayMode:a})),t.showLaunchInPopupButton&&e.OpenPopup&&s.createElement(g,{key:"popup"},s.createElement(e.OpenPopup,null)),(!o||y.hasNewHeaderToolbarStyles)&&e.Properties&&s.createElement(g,{key:"properties",removeSeparator:y.hasNewHeaderToolbarStyles&&o},!o&&s.createElement(e.Properties,{id:u?void 0:k.Properties,className:W.iconButton}),y.hasNewHeaderToolbarStyles&&s.createElement(s.Fragment,null,!o&&e.Fullscreen&&s.createElement(e.Fullscreen,{id:u?void 0:k.Fullscreen}),e.Screenshot&&s.createElement(e.Screenshot,{id:u?void 0:k.Screenshot,className:W.iconButton}))),!y.hasNewHeaderToolbarStyles&&!o&&e.Fullscreen&&s.createElement(g,{key:"fullscreen",onClick:this._trackFullscreenButtonClick},s.createElement(e.Fullscreen,{id:u?void 0:k.Fullscreen})),!y.hasNewHeaderToolbarStyles&&e.Screenshot&&s.createElement(g,{key:"screenshot"},s.createElement(e.Screenshot,{id:u?void 0:k.Screenshot,className:W.iconButton})),!o&&e.Publish&&s.createElement(g,{key:"publish",className:W.mobilePublish,removeSeparator:y.hasNewHeaderToolbarStyles},s.createElement(e.Publish,{id:u?void 0:k.PublishMobile})),..._]))))))),e.Publish&&!o&&!u&&s.createElement(e.Publish,{id:k.PublishDesktop,className:W.desktopPublish}))}_onLoginStateChange(){0}_trackFullscreenButtonClick(){0}}A.contextType=V;var H=a(32856),D=a.n(H),L=a(24261);class x extends L.CommonJsonStoreService{constructor(e,t,a=[]){super(e,t,"FAVORITE_CHART_STYLES_CHANGED","StyleWidget.quicks",a)}}var P=a(1467),B=a(4334);class O extends L.AbstractJsonStoreService{constructor(e,t,a){super(e,t,"FAVORITE_INTERVALS_CHANGED","IntervalWidget.quicks",a)}_serialize(e){return(0,B.uniq)(e.map(P.normalizeIntervalString))}_deserialize(e){return(0,B.uniq)((0,P.convertResolutionsFromSettings)(e).filter(P.isResolutionMultiplierValid).map(P.normalizeIntervalString))}}var z=a(24287),U=a(5729),X=a.n(U),K=a(64222),q=a(2308);class G extends L.AbstractJsonStoreService{constructor(e,t,a=[]){super(e,t,"CUSTOM_INTERVALS_CHANGED","IntervalWidget.intervals",a)}set(e,t){e.length,this.get().length,super.set(e,t)}_serialize(e){return(0,B.uniq)(e.map(P.normalizeIntervalString))}_deserialize(e){return(0,B.uniq)((0,P.convertResolutionsFromSettings)(e).filter(P.isResolutionMultiplierValid).map(P.normalizeIntervalString))}}const J=new G(q.TVXWindowEvents,K);var j=a(24084);class Z{constructor(e){this._customIntervalsService=J,this._supportedIntervalsMayChange=new(X()), +this._fireSupportedIntervalsMayChange=()=>{this._supportedIntervalsMayChange.fire()},this._chartApiInstance=e,z.linking.supportedResolutions.subscribe(this._fireSupportedIntervalsMayChange),z.linking.range.subscribe(this._fireSupportedIntervalsMayChange),z.linking.seconds.subscribe(this._fireSupportedIntervalsMayChange),z.linking.ticks.subscribe(this._fireSupportedIntervalsMayChange),z.linking.intraday.subscribe(this._fireSupportedIntervalsMayChange)}destroy(){z.linking.supportedResolutions.unsubscribe(this._fireSupportedIntervalsMayChange),z.linking.range.unsubscribe(this._fireSupportedIntervalsMayChange),z.linking.seconds.unsubscribe(this._fireSupportedIntervalsMayChange),z.linking.ticks.unsubscribe(this._fireSupportedIntervalsMayChange),z.linking.intraday.unsubscribe(this._fireSupportedIntervalsMayChange)}getDefaultIntervals(){return null===this._chartApiInstance?[]:this._chartApiInstance.defaultResolutions().map(P.normalizeIntervalString)}getCustomIntervals(){return this._customIntervalsService.get()}add(e,t,a){if(!this.isValidInterval(e,t))return null;const s=(0,P.normalizeIntervalString)(`${e}${t}`),r=this.getCustomIntervals();return this._isIntervalDefault(s)||r.includes(s)?null:(this._customIntervalsService.set((0,P.sortResolutions)([...r,s])),s)}remove(e){this._customIntervalsService.set(this.getCustomIntervals().filter(t=>t!==e))}isValidInterval(e,t){return(0,P.isResolutionMultiplierValid)(`${e}${t}`)}isSupportedInterval(e){return(0,P.isAvailable)(e)}supportedIntervalsMayChange(){return this._supportedIntervalsMayChange}getOnChange(){return this._customIntervalsService.getOnChange()}getPossibleIntervals(){return j.INTERVALS}getResolutionUtils(){return{getMaxResolutionValue:P.getMaxResolutionValue,getTranslatedResolutionModel:P.getTranslatedResolutionModel,mergeResolutions:P.mergeResolutions,sortResolutions:P.sortResolutions}}_isIntervalDefault(e){return this.getDefaultIntervals().includes(e)}}var $=a(6535),Q=a(345),Y=a(36413);const ee={};let te=null;class ae{constructor(e=K){this._favorites=[],this._favoritesChanged=new(X()),this._settings=e,q.TVXWindowEvents.on("StudyFavoritesChanged",e=>{const t=JSON.parse(e);this._loadFromState(t.favorites||[])}),this._settings.onSync.subscribe(this,this._loadFavs),this._loadFavs()}isFav(e){const t=this.favId(e);return-1!==this._findFavIndex(t)}toggleFavorite(e){this.isFav(e)?this.removeFavorite(e):this.addFavorite(e)}addFavorite(e){const t=this.favId(e);this._favorites.push(re(t)),this._favoritesChanged.fire(),this._saveFavs()}removeFavorite(e){const t=this.favId(e),a=this._findFavIndex(t);-1!==a&&(this._favorites.splice(a,1),this._favoritesChanged.fire()),this._saveFavs()}favId(e){return(0,Y.isPineIdString)(e)?e:(0,Y.extractPineId)(e)||(0,Q.extractStudyId)(e)}favorites(){return this._favorites}favoritePineIds(){return this._favorites.filter(e=>"pine"===e.type).map(e=>e.pineId)}favoritesChanged(){return this._favoritesChanged}static getInstance(){return null===te&&(te=new ae),te}static create(e){return new ae(e)}_loadFavs(){ +const e=this._settings.getJSON("studyMarket.favorites",[]);this._loadFromState(e)}_saveFavs(){const e=this._stateToSave();this._settings.setJSON("studyMarket.favorites",e),q.TVXWindowEvents.emit("StudyFavoritesChanged",JSON.stringify({favorites:e}))}_stateToSave(){return this._favorites.map(se)}_loadFromState(e){this._favorites=e.map(e=>re(function(e){return e in ee?ee[e]:e}(e))),this._favoritesChanged.fire()}_findFavIndex(e){return this._favorites.findIndex(t=>e===se(t))}}function se(e){return"java"===e.type?e.studyId:e.pineId}function re(e){return(0,Y.isPineIdString)(e)?{type:"pine",pineId:e}:{type:"java",studyId:e}}var ne=a(35001);const ie={[ne.ResolutionKind.Ticks]:!1,[ne.ResolutionKind.Seconds]:!1,[ne.ResolutionKind.Minutes]:!1,[ne.SpecialResolutionKind.Hours]:!1,[ne.ResolutionKind.Days]:!1,[ne.ResolutionKind.Range]:!1};class oe extends L.CommonJsonStoreService{constructor(e,t,a=ie){super(e,t,"INTERVALS_MENU_VIEW_STATE_CHANGED","IntervalWidget.menu.viewState",a)}isAllowed(e){return Object.keys(ie).includes(e)}}var le=a(62685);const de={Area:3,Bars:0,Candles:1,"Heiken Ashi":8,"Hollow Candles":9,Line:2,Renko:4,Kagi:5,"Point & figure":6,"Line Break":7,Baseline:10},ce=["1","30","60"];function he(e=[]){let t=e.map(e=>de[e])||[1,4,5,6];return c.enabled("widget")&&(t=[0,1,3]),t}function ue(e=[]){return(0,P.mergeResolutions)(e,c.enabled("star_some_intervals_by_default")?ce:[])}new O(q.TVXWindowEvents,K,ue()),new x(q.TVXWindowEvents,K,he()),new le.FavoriteStudyTemplateService(q.TVXWindowEvents,K);const me={tools:u.any.isRequired,isFundamental:u.any,chartApiInstance:u.any,availableTimeFrames:u.any,chartWidgetCollection:u.any,windowMessageService:u.any,favoriteChartStylesService:u.any,favoriteIntervalsService:u.any,intervalService:u.any,favoriteStudyTemplatesService:u.any,studyTemplates:u.any,chartChangesWatcher:u.any,saveChartService:u.any,sharingChartService:u.any,loadChartService:u.any,chartWidget:u.any,favoriteScriptsModel:u.any,intervalsMenuViewStateService:u.any,templatesMenuViewStateService:u.any,financialsDialogController:u.any,snapshotUrl:u.any};var ve=a(67235),pe=a(56952);const ye=[];class Se extends s.PureComponent{constructor(e){super(e),this._saveLoadSyncEmitter=new(l()),this._handleFullWidthChange=e=>{this._fullWidth=e,this.setState({measureValid:!1})},this._handleFavoritesWidthChange=e=>{this._favoritesWidth=e,this.setState({measureValid:!1})},this._handleCollapseWidthChange=e=>{this._collapseWidth=e,this.setState({measureValid:!1})},this._handleMeasure=e=>{this.setState({availableWidth:e,measureValid:!1})};const{tools:t,windowMessageService:a,chartWidgetCollection:s,chartApiInstance:r,availableTimeFrames:i,isFundamental:o,favoriteIntervalsService:h,favoriteChartStylesService:u,favoriteStudyTemplatesService:m,studyTemplates:v,saveChartService:p,sharingChartService:y,loadChartService:S,financialsDialogController:g,snapshotUrl:f}=e;this._showScrollbarWhen=(0,n.ensureDefined)(e.allowedModes).slice(-1),this._panelWidthChangeHandlers={full:this._handleFullWidthChange,medium:this._handleFavoritesWidthChange, +small:this._handleCollapseWidthChange};const{chartChangesWatcher:b}=e;this._chartChangesWatcher=b;const E=he(this.props.defaultFavoriteStyles);this._favoriteChartStylesService=u||new x(q.TVXWindowEvents,K,E);const _=ue(this.props.defaultFavoriteIntervals);this._favoriteIntervalsService=h||new O(q.TVXWindowEvents,K,_),this._intervalsMenuViewStateService=new oe(q.TVXWindowEvents,K),this._intervalService=new Z(r),this._registry={tools:t,isFundamental:o,chartWidgetCollection:s,windowMessageService:a,chartApiInstance:r,availableTimeFrames:i,favoriteStudyTemplatesService:m,studyTemplates:v,saveChartService:p,sharingChartService:y,loadChartService:S,intervalsMenuViewStateService:this._intervalsMenuViewStateService,favoriteChartStylesService:this._favoriteChartStylesService,favoriteIntervalsService:this._favoriteIntervalsService,intervalService:this._intervalService,chartChangesWatcher:this._chartChangesWatcher,chartWidget:s.activeChartWidget.value(),favoriteScriptsModel:ae.getInstance(),templatesMenuViewStateService:this._templatesMenuVuewStateService,financialsDialogController:g,snapshotUrl:f},this.state={isVisible:!0,availableWidth:0,displayMode:"full",measureValid:!1,leftCustomElements:[],rightCustomElements:[]},this._readOnly=s.readOnly(),this._features={allowFavoriting:c.enabled("items_favoriting"),showIdeasButton:Boolean(this.props.ideas),showLaunchInPopupButton:Boolean(this.props.popupButton),allowSymbolSearchSpread:c.enabled("header_symbol_search")&&c.enabled("show_spread_operators"),allowToolbarHiding:c.enabled("collapsible_header")},this._setDisplayMode=(0,d.default)(this._setDisplayMode,100),this._negotiateResizer()}componentDidUpdate(e,t){const{isVisible:a,measureValid:s}=this.state;a!==t.isVisible&&(h.emit("toggle_header",a),this._negotiateResizer()),s||this._setDisplayMode()}render(){const{resizerBridge:e,allowedModes:t,...a}=this.props,{displayMode:r,isVisible:o,leftCustomElements:l,rightCustomElements:d}=this.state,c={features:this._features,readOnly:this._readOnly,isFake:!1,saveLoadSyncEmitter:this._saveLoadSyncEmitter,leftCustomElements:l,rightCustomElements:d,...a},h={...c,isFake:!0,showScrollbarWhen:ye},u=(0,n.ensureDefined)(t),m=this.props.tools.PublishButtonManager||s.Fragment;return s.createElement(N.RegistryProvider,{value:this._registry,validation:me},s.createElement(m,null,s.createElement("div",{className:i(pe.toolbar,{[pe.isHidden]:!o}),onClick:this.props.onClick},s.createElement("div",{className:pe.overflowWrap},s.createElement(A,{key:"live",showScrollbarWhen:this._showScrollbarWhen,displayMode:r,onAvailableSpaceChange:this._handleMeasure,...c}),u.map(e=>s.createElement(A,{key:e,displayMode:e,onWidthChange:this._panelWidthChangeHandlers[e],...h}))))))}addButton(e,t="left"){const a=new(D())(0),s=(0,ve.parseHtmlElement)(`
`),r={type:"Button",params:{key:Number(new Date),element:s,width:a},id:e},{leftCustomElements:n,rightCustomElements:i}=this.state;return"left"===t?this.setState({leftCustomElements:[...n,r]}):this.setState({ +rightCustomElements:[...i,r]}),s}addDropdown(e,t){const{leftCustomElements:a,rightCustomElements:s}=this.state,r={type:"Dropdown",id:e,params:t};"left"===t.align?this.setState({leftCustomElements:[...a,r]}):this.setState({rightCustomElements:[...s,r]})}updateDropdown(e,t){const a=t=>"Dropdown"===t.type&&t.id===e,s=this.state.leftCustomElements.find(a)||this.state.rightCustomElements.find(a);void 0!==s&&(s.params={...s.params,...t},this.setState({leftCustomElements:this.state.leftCustomElements.slice(),rightCustomElements:this.state.rightCustomElements.slice()}))}removeDropdown(e){const t=t=>"Dropdown"===t.type&&t.id!==e,a=this.state.leftCustomElements.filter(t),s=this.state.rightCustomElements.filter(t);this.setState({leftCustomElements:a,rightCustomElements:s})}_negotiateResizer(){this.props.resizerBridge.negotiateHeight(this.state.isVisible?$.HEADER_TOOLBAR_HEIGHT_EXPANDED:$.HEADER_TOOLBAR_HEIGHT_COLLAPSED)}_setDisplayMode(){const{availableWidth:e}=this.state,{allowedModes:t}=this.props,a={full:this._fullWidth,medium:this._favoritesWidth,small:this._collapseWidth},s=(0,n.ensureDefined)(t);let r=s.map(e=>a[e]).findIndex(t=>e>=t);-1===r&&(r=s.length-1);const i=s[r];this.setState({measureValid:!0,displayMode:i})}}Se.defaultProps={allowedModes:["full","medium"]};class ge{constructor(e,t){this._component=null,this._handleRef=e=>{this._component=e},this._container=e,r.render(s.createElement(Se,{...t,ref:this._handleRef}),this._container)}destroy(){r.unmountComponentAtNode(this._container)}getComponent(){return(0,n.ensureNotNull)(this._component)}}},19470:(e,t,a)=>{"use strict";a.d(t,{hasNewHeaderToolbarStyles:()=>s});a(27490);const s=!1},53178:(e,t,a)=>{"use strict";a.d(t,{validateRegistry:()=>o,RegistryProvider:()=>l,registryContextType:()=>d});var s=a(67294),r=a(45697),n=a.n(r);const i=s.createContext({});function o(e,t){n().checkPropTypes(t,e,"context","RegistryContext")}function l(e){const{validation:t,value:a}=e;return o(a,t),s.createElement(i.Provider,{value:a},e.children)}function d(){return i}},87230:(e,t,a)=>{"use strict";a.d(t,{FragmentMap:()=>r});var s=a(67294);function r(e){if(e.map){return s.Children.toArray(e.children).map(e.map)}return e.children}},11086:(e,t,a)=>{"use strict";a.d(t,{hoverMouseEventFilter:()=>n,useAccurateHover:()=>i,useHover:()=>r});var s=a(67294);function r(){const[e,t]=(0,s.useState)(!1);return[e,{onMouseOver:function(e){n(e)&&t(!0)},onMouseOut:function(e){n(e)&&t(!1)}}]}function n(e){return!e.currentTarget.contains(e.relatedTarget)}function i(e){const[t,a]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{const t=t=>{if(null===e.current)return;const s=e.current.contains(t.target);a(s)};return document.addEventListener("mouseover",t),()=>document.removeEventListener("mouseover",t)},[]),t}},49017:e=>{ +e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/library.1fbbf36d35f97ccfbd00.js b/public/static/charting_library/bundles/library.1fbbf36d35f97ccfbd00.js new file mode 100644 index 0000000..4fb6a3d --- /dev/null +++ b/public/static/charting_library/bundles/library.1fbbf36d35f97ccfbd00.js @@ -0,0 +1,770 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1297],{16282:(e,t)=>{"use strict";function i(e,t){if(void 0===e)throw new Error((null!=t?t:"Value")+" is undefined");return e}function s(e,t){if(null===e)throw new Error((null!=t?t:"Value")+" is null");return e}Object.defineProperty(t,"__esModule",{value:!0}),t.ensureNever=t.ensure=t.ensureNotNull=t.ensureDefined=t.assert=void 0,t.assert=function(e,t){if(!e)throw new Error("Assertion failed"+(t?": "+t:""))},t.ensureDefined=i,t.ensureNotNull=s,t.ensure=function(e,t){return s(i(e,t),t)},t.ensureNever=function(e){}},75496:(e,t)=>{"use strict";function i(e){return Math.round(1e10*e)/1e10}Object.defineProperty(t,"__esModule",{value:!0}),t.alignTo=t.fixComputationError=t.isNaN=t.isInteger=t.isNumber=void 0,t.isNumber=function(e){return"number"==typeof e&&isFinite(e)},t.isInteger=function(e){return"number"==typeof e&&e%1==0},t.isNaN=function(e){return!(e<=0||e>0)},t.fixComputationError=i,t.alignTo=function(e,t){var s=e/t,r=Math.floor(s),n=s-r;return n>2e-10?i(n>.5?(r+1)*t:r*t):e}},73211:(e,t)=>{"use strict";t.hasProperty=t.isObject=void 0,t.isObject=function(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)},t.hasProperty=function(e,t){return t in e}},71044:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.pointInCircle=t.pointInPolygon=t.pointInBox=t.pointInTriangle=t.pointInHalfplane=void 0;var s=i(95196);t.pointInHalfplane=function(e,t){var i=t.edge;return i.A*e.x+i.B*e.y+i.C>0===t.isPositive},t.pointInTriangle=function(e,t,i,r){var n=t.add(i).scaled(.5).add(r).scaled(.5),o=s.intersectLineSegments(t,i,n,e);return null===o&&(null===(o=s.intersectLineSegments(i,r,n,e))&&null===(o=s.intersectLineSegments(r,t,n,e)))},t.pointInBox=function(e,t){return e.x>=t.min.x&&e.x<=t.max.x&&e.y>=t.min.y&&e.y<=t.max.y},t.pointInPolygon=function(e,t){for(var i=t.length-1,s=!1,r=e.x,n=e.y,o=0;o=n||l.y=n)&&a.x+(n-a.y)/(l.y-a.y)*(l.x-a.x){"use strict";function i(e,t,i){var s=t.subtract(e),r=i.subtract(e).dotProduct(s)/s.dotProduct(s);return{coeff:r,distance:e.addScaled(s,r).subtract(i).length()}}Object.defineProperty(t,"__esModule",{value:!0}),t.distanceToSegment=t.distanceToLine=void 0,t.distanceToLine=i,t.distanceToSegment=function(e,t,s){var r=i(e,t,s);if(0<=r.coeff&&r.coeff<=1)return r;var n=e.subtract(s).length(),o=t.subtract(s).length();return n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.intersectPolygons=t.intersectPolygonAndHalfplane=t.intersectRayAndBox=t.intersectLineAndBox=t.intersectLineSegments=t.intersectLines=t.intersectLineSegmentAndBox=void 0;var s=i(16282),r=i(72927),n=i(89684),o=i(71044);function a(e,t){var i=e.A,s=t.A,n=e.B,o=t.B,a=e.C,l=t.C,c=i*o-s*n;if(Math.abs(c)<1e-6)return null;var h=(n*l-o*a)/c,d=(s*a-i*l)/c;return new r.Point(h,d)}function l(e,t,i,s){ +var r=function(e,t,i,s){var r=t.subtract(e),n=s.subtract(i),o=r.x*n.y-r.y*n.x;if(Math.abs(o)<1e-6)return null;var a=e.subtract(i);return(a.y*n.x-a.x*n.y)/o}(e,t,i,s);if(null===r)return null;var o=t.subtract(e).scaled(r).add(e),a=n.distanceToSegment(i,s,o);return Math.abs(a.distance)<1e-6?r:null}function c(e,t){for(var i=0,s=e;i0&&(r.equalPoints(e[e.length-1],t)||r.equalPoints(e[0],t)))&&(e.push(t),!0)}function d(e,t){for(var i=[],s=0;s=3?i:null}t.intersectLineSegmentAndBox=function(e,t){var i=e[0].x,s=e[0].y,n=e[1].x,o=e[1].y,a=t.min.x,l=t.min.y,c=t.max.x,h=t.max.y;function d(e,t,i,s,r,n){var o=0;return er&&(o|=2),tn&&(o|=8),o}for(var u=d(i,s,a,l,c,h),p=d(n,o,a,l,c,h),_=!1,m=0;;){if(m>1e3)throw new Error("Cohen - Sutherland algorithm: infinity loop");if(m++,!(u|p)){_=!0;break}if(u&p)break;var g=u||p,f=void 0,v=void 0;8&g?(f=i+(n-i)*(h-s)/(o-s),v=h):4&g?(f=i+(n-i)*(l-s)/(o-s),v=l):2&g?(v=s+(o-s)*(c-i)/(n-i),f=c):(v=s+(o-s)*(a-i)/(n-i),f=a),g===u?u=d(i=f,s=v,a,l,c,h):p=d(n=f,o=v,a,l,c,h)}return _?r.equalPoints(r.point(i,s),r.point(n,o))?r.point(i,s):r.lineSegment(r.point(i,s),r.point(n,o)):null},t.intersectLines=a,t.intersectLineSegments=l,t.intersectLineAndBox=function(e,t){var i=t.min.x,n=t.min.y,o=t.max.x,a=t.max.y;if(0===e.A){var l=-e.C/e.B;return n<=l&&l<=a?r.lineSegment(r.point(i,l),r.point(o,l)):null}if(0===e.B){var h=-e.C/e.A;return i<=h&&h<=o?r.lineSegment(r.point(h,n),r.point(h,a)):null}var d=[],u=function(t){var i=function(e,t){return-(e.C+e.A*t)/e.B}(e,t);n<=i&&i<=a&&c(d,new r.Point(t,i))},p=function(t){var s=function(e,t){return-(e.C+e.B*t)/e.A}(e,t);i<=s&&s<=o&&c(d,new r.Point(s,t))};switch(u(i),p(n),u(o),p(a),d.length){case 0:return null;case 1:return d[0];case 2:return r.equalPoints(d[0],d[1])?d[0]:r.lineSegment(d[0],d[1])}return s.assert(!1,"We should have at most two intersection points"),null},t.intersectRayAndBox=function(e,t,i){var s=l(e,t,i.min,new r.Point(i.max.x,i.min.y)),n=l(e,t,new r.Point(i.max.x,i.min.y),i.max),a=l(e,t,i.max,new r.Point(i.min.x,i.max.y)),c=l(e,t,new r.Point(i.min.x,i.max.y),i.min),h=[];if(null!==s&&s>=0&&h.push(s),null!==n&&n>=0&&h.push(n),null!==a&&a>=0&&h.push(a),null!==c&&c>=0&&h.push(c),0===h.length)return null;h.sort((function(e,t){return e-t}));var d=o.pointInBox(e,i)?h[0]:h[h.length-1];return e.addScaled(t.subtract(e),d)},t.intersectPolygonAndHalfplane=d,t.intersectPolygons=function(e,t){for(var i=e,s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}), +t.equalBoxes=t.box=t.halfplaneThroughPoint=t.halfplane=t.lineSegment=t.lineThroughPoints=t.line=t.equalPoints=t.point=t.Point=void 0;var i=function(){function e(e,t){this.x=e,this.y=t}return e.prototype.add=function(t){return new e(this.x+t.x,this.y+t.y)},e.prototype.addScaled=function(t,i){return new e(this.x+i*t.x,this.y+i*t.y)},e.prototype.subtract=function(t){return new e(this.x-t.x,this.y-t.y)},e.prototype.dotProduct=function(e){return this.x*e.x+this.y*e.y},e.prototype.crossProduct=function(e){return this.x*e.y-this.y*e.x},e.prototype.signedAngle=function(e){return Math.atan2(this.crossProduct(e),this.dotProduct(e))},e.prototype.angle=function(e){return Math.acos(this.dotProduct(e)/(this.length()*e.length()))},e.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},e.prototype.scaled=function(t){return new e(this.x*t,this.y*t)},e.prototype.normalized=function(){return this.scaled(1/this.length())},e.prototype.transposed=function(){return new e(-this.y,this.x)},e.prototype.clone=function(){return new e(this.x,this.y)},e}();function s(e,t){return new i(e,t)}function r(e,t){return e.x===t.x&&e.y===t.y}function n(e,t,i){if(0===e&&0===t)throw new Error("A and B can not be both equal to zero.");return{A:e,B:t,C:i}}function o(e,t){return{edge:e,isPositive:t}}t.Point=i,t.point=s,t.equalPoints=r,t.line=n,t.lineThroughPoints=function(e,t){if(r(e,t))throw new Error("Points should be distinct");return n(e.y-t.y,t.x-e.x,e.x*t.y-t.x*e.y)},t.lineSegment=function(e,t){if(r(e,t))throw new Error("Points of a segment should be distinct");return[e,t]},t.halfplane=o,t.halfplaneThroughPoint=function(e,t){return o(e,e.A*t.x+e.B*t.y+e.C>0)},t.box=function(e,t){return{min:s(Math.min(e.x,t.x),Math.min(e.y,t.y)),max:s(Math.max(e.x,t.x),Math.max(e.y,t.y))}},t.equalBoxes=function(e,t){return r(e.min,t.min)&&r(e.max,t.max)}},51102:(e,t,i)=>{"use strict";t.transformPoint=t.translationMatrix=t.scalingMatrix=t.rotationMatrix=void 0;var s=i(72927);t.rotationMatrix=function(e){var t=Math.cos(e),i=Math.sin(e);return[[t,-i,0],[i,t,0],[0,0,1]]},t.scalingMatrix=function(e,t){return[[e,0,0],[0,t,0],[0,0,1]]},t.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]},t.transformPoint=function(e,t){for(var i=[t.x,t.y,1],r=[0,0,0],n=0;n<3;n++)for(var o=0;o<3;o++)r[n]+=i[o]*e[n][o];return new s.Point(r[0],r[1])}},14563:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=i(75496);function r(e,t,i){return s.isNaN(t)||ti?i:Math.round(t)}function n(e,t,i){return s.isNaN(t)||ti?i:Math.round(1e4*t)/1e4}function o(e){return r(0,e,255)}function a(e){return r(0,e,255)}function l(e){return r(0,e,255)}function c(e){return n(0,e,1)}function h(e){return n(0,e,1)}function d(e){return n(0,e,1)}function u(e){return n(0,e,1)}function p(e){return n(0,e,1)}function _(e){return n(0,e,1)}function m(e){var t=e[0]/255,i=e[1]/255,s=e[2]/255,r=Math.min(t,i,s),n=Math.max(t,i,s),o=0,a=0,l=(r+n)/2;if(r===n)o=0,a=0;else{var c=n-r;switch(a=l>.5?c/(2-n-r):c/(n+r),n){case t:o=((i-s)/c+(i1&&(i-=1),i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}function f(e){var t,i,s,r=e[0],n=e[1],c=e[2];if(0===n)t=i=s=c;else{var h=c<.5?c*(1+n):c+n-c*n,d=2*c-h;t=g(d,h,r+1/3),i=g(d,h,r),s=g(d,h,r-1/3)}return[o(255*t),a(255*i),l(255*s)]}t.normalizeRedComponent=o,t.normalizeGreenComponent=a,t.normalizeBlueComponent=l,t.normalizeAlphaComponent=c,t.rgb=function(e,t,i){return[o(e),a(t),l(i)]},t.areEqualRgb=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},t.rgba=function(e,t,i,s){if(Array.isArray(e)){var r=e;return s=t,[r[0],r[1],r[2],c(s)]}var n=t;return i=i||0,s=s||0,[o(e),a(n),l(i),c(s)]},t.areEqualRgba=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},t.normalizeHue=h,t.normalizeHslSaturation=d,t.normalizeHsvSaturation=u,t.normalizeLightness=p,t.normalizeValue=_,t.hsl=function(e,t,i){return[h(e),d(t),p(i)]},t.areEqualHsl=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},t.hsv=function(e,t,i){return[h(e),u(t),_(i)]},t.areEqualHsv=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},t.rgbToHsl=m,t.hslToRgb=f,t.rgbToHsv=function(e){var t=e[0],i=e[1],s=e[2],r=t/255,n=i/255,o=s/255,a=Math.min(r,n,o),l=Math.max(r,n,o),c=l-a,h=0,d=0===l?0:c/l,u=l;if(l===a)h=0;else switch(l){case t:h=((n-o)/c+(n255)throw new Error("invalid threshold value, valid values are [0, 255]");return S(e)>=t?"white":"black"},t.tryParseRgb=D,t.parseRgb=function(e){var t=D(e);if(null!==t)return t;throw new Error("Passed color string does not match any of the known color representations")},t.tryParseRgba=V,t.parseRgba=B},59621:e=>{e.exports={"css-value-chart-controls-bar-height-with-border":"calc(38px + 1px)","css-value-chart-controls-bar-border":"1px"}},72111:()=>{},11739:e=>{e.exports={"tv-spinner__container-rotate":"tv-spinner__container-rotate-19aXx8o_","tv-spinner__left-spin":"tv-spinner__left-spin-19aXx8o_","tv-spinner__right-spin":"tv-spinner__right-spin-19aXx8o_"}},36563:e=>{e.exports={"tv-transition--fade-in":"tv-transition--fade-in-1zC4Mcq2","tv-transition--fade-out":"tv-transition--fade-out-1zC4Mcq2","tv-transition--slide-out":"tv-transition--slide-out-1zC4Mcq2"}},1267:e=>{e.exports={container:"container-e6Js9pSl",inner:"inner-e6Js9pSl","border-left":"border-left-e6Js9pSl","border-right":"border-right-e6Js9pSl","border-top":"border-top-e6Js9pSl","border-bottom":"border-bottom-e6Js9pSl","top-right-radius":"top-right-radius-e6Js9pSl","top-left-radius":"top-left-radius-e6Js9pSl","bottom-right-radius":"bottom-right-radius-e6Js9pSl","bottom-left-radius":"bottom-left-radius-e6Js9pSl"}},54119:()=>{},93801:()=>{},28429:e=>{e.exports={css_value_currency_label_top:"6",css_value_currency_label_radius:"4",css_value_currency_label_text_horizontal_padding:"4",css_value_border_color_light:"#D1D4DC",css_value_border_color_dark:"#363A45", +"price-axis-currency-label-wrapper":"price-axis-currency-label-wrapper-25tFaE37","price-axis-currency-label":"price-axis-currency-label-25tFaE37",readonly:"readonly-25tFaE37",multiline:"multiline-25tFaE37","price-axis-currency-label-dropdown":"price-axis-currency-label-dropdown-25tFaE37","price-axis-currency-label-text":"price-axis-currency-label-text-25tFaE37","price-axis-currency-label-arrow-down":"price-axis-currency-label-arrow-down-25tFaE37"}},92175:e=>{e.exports={labelwidth:"19px",labelheight:"19px",bordersize:"2px",bottommargin:"5px",gearheight:"15px",gearwidth:"15px","price-axis-stub":"price-axis-stub-1DJMiIgd",wrapper:"wrapper-1DJMiIgd",label:"label-1DJMiIgd",symbol:"symbol-1DJMiIgd",gear:"gear-1DJMiIgd","fixed-gear":"fixed-gear-1DJMiIgd","fixed-symbol":"fixed-symbol-1DJMiIgd"}},95411:()=>{},46596:()=>{},53805:e=>{e.exports={"css-value-header-toolbar-height":"38px"}},91498:e=>{e.exports={"css-value-pane-controls-padding-left":"1px","css-value-pane-controls-padding-right":"5px"}},8325:()=>{},78746:e=>{e.exports={"common-tooltip":"common-tooltip-36YLR71G","common-tooltip--hidden":"common-tooltip--hidden-36YLR71G","common-tooltip--horizontal":"common-tooltip--horizontal-36YLR71G","common-tooltip--farther":"common-tooltip--farther-36YLR71G","common-tooltip--vertical":"common-tooltip--vertical-36YLR71G","common-tooltip-farther":"common-tooltip-farther-36YLR71G","common-tooltip--direction_normal":"common-tooltip--direction_normal-36YLR71G","common-tooltip__body":"common-tooltip__body-36YLR71G","common-tooltip__button-container":"common-tooltip__button-container-36YLR71G","common-tooltip__body--no-buttons":"common-tooltip__body--no-buttons-36YLR71G","common-tooltip__button":"common-tooltip__button-36YLR71G","common-tooltip--direction_reversed":"common-tooltip--direction_reversed-36YLR71G","common-tooltip__ear-holder":"common-tooltip__ear-holder-36YLR71G","common-tooltip__ear-holder--below":"common-tooltip__ear-holder--below-36YLR71G","common-tooltip__ear-holder--above":"common-tooltip__ear-holder--above-36YLR71G","common-tooltip__ear-holder--before":"common-tooltip__ear-holder--before-36YLR71G","common-tooltip__ear-holder--after":"common-tooltip__ear-holder--after-36YLR71G","common-tooltip__body--with-hotkey":"common-tooltip__body--with-hotkey-36YLR71G","common-tooltip__body--width_wide":"common-tooltip__body--width_wide-36YLR71G","common-tooltip__body--width_narrow":"common-tooltip__body--width_narrow-36YLR71G","common-tooltip__body--no-padding":"common-tooltip__body--no-padding-36YLR71G","common-tooltip__hotkey-block":"common-tooltip__hotkey-block-36YLR71G","common-tooltip__hotkey-block--divider":"common-tooltip__hotkey-block--divider-36YLR71G","common-tooltip__hotkey-text":"common-tooltip__hotkey-text-36YLR71G","common-tooltip__hotkey-button":"common-tooltip__hotkey-button-36YLR71G","common-tooltip__plus-sign":"common-tooltip__plus-sign-36YLR71G"}},53312:(e,t,i)=>{"use strict";i.r(t),i.d(t,{colorsPalette:()=>h,getHexColorByName:()=>d}) +;const s=JSON.parse('{"color-white":"#ffffff","color-black":"#000000","color-cold-gray-50":"#F8F9FD","color-cold-gray-100":"#F0F3FA","color-cold-gray-150":"#E0E3EB","color-cold-gray-200":"#D1D4DC","color-cold-gray-250":"#C1C4CD","color-cold-gray-300":"#B2B5BE","color-cold-gray-350":"#A3A6AF","color-cold-gray-400":"#9598A1","color-cold-gray-450":"#868993","color-cold-gray-500":"#787B86","color-cold-gray-550":"#6A6D78","color-cold-gray-600":"#5D606B","color-cold-gray-650":"#50535E","color-cold-gray-700":"#434651","color-cold-gray-750":"#363A45","color-cold-gray-800":"#2A2E39","color-cold-gray-850":"#1E222D","color-cold-gray-900":"#131722","color-cold-gray-950":"#0C0E15","color-ripe-red-50":"#FFEBEC","color-ripe-red-100":"#FCCBCD","color-ripe-red-200":"#FAA1A4","color-ripe-red-300":"#F77C80","color-ripe-red-400":"#F7525F","color-ripe-red-500":"#F23645","color-ripe-red-600":"#CC2F3C","color-ripe-red-700":"#B22833","color-ripe-red-800":"#991F29","color-ripe-red-900":"#801922","color-ripe-red-a100":"#FF8080","color-ripe-red-a200":"#FF5252","color-ripe-red-a400":"#FF3333","color-ripe-red-a600":"#CC2929","color-ripe-red-a700":"#802028","color-ripe-red-a800":"#4D191D","color-ripe-red-a900":"#331F20","color-tan-orange-50":"#FFF3E0","color-tan-orange-100":"#FFE0B2","color-tan-orange-200":"#FFCC80","color-tan-orange-300":"#ffb74d","color-tan-orange-400":"#FFA726","color-tan-orange-500":"#FF9800","color-tan-orange-600":"#FB8C00","color-tan-orange-700":"#F57C00","color-tan-orange-800":"#EF6C00","color-tan-orange-900":"#e65100","color-tan-orange-a200":"#ffab40","color-tan-orange-a400":"#ff9100","color-tan-orange-a700":"#FF6D00","color-iguana-green-100":"#C8E6C9","color-iguana-green-200":"#A5D6A7","color-iguana-green-300":"#81c784","color-iguana-green-400":"#66BB6A","color-iguana-green-500":"#4caf50","color-iguana-green-600":"#43a047","color-iguana-green-700":"#388e3c","color-iguana-green-800":"#2E7D32","color-iguana-green-900":"#1B5E20","color-iguana-green-a700":"#00c853","color-banana-yellow-100":"#FFF9C4","color-banana-yellow-200":"#FFF59D","color-banana-yellow-300":"#FFF176","color-banana-yellow-400":"#ffee58","color-banana-yellow-500":"#ffeb3b","color-banana-yellow-600":"#fdd835","color-banana-yellow-700":"#fbc02d","color-banana-yellow-800":"#f9a825","color-banana-yellow-900":"#F57F17","color-banana-yellow-a400":"#ffea00","color-banana-yellow-a700":"#ffd600","color-tv-blue-50":"#E3EFFD","color-tv-blue-100":"#BBD9FB","color-tv-blue-200":"#90BFF9","color-tv-blue-300":"#5B9CF6","color-tv-blue-400":"#3179F5","color-tv-blue-500":"#2962FF","color-tv-blue-600":"#1E53E5","color-tv-blue-700":"#1848CC","color-tv-blue-800":"#143EB3","color-tv-blue-900":"#0C3299","color-tv-blue-a100":"#82b1ff","color-tv-blue-a200":"#448aff","color-tv-blue-a400":"#2979ff","color-tv-blue-a600":"#2962FF","color-tv-blue-a700":"#143A87","color-tv-blue-a800":"#142E61","color-tv-blue-a900":"#132042","color-deep-blue-100":"#D1C4E9","color-deep-blue-200":"#B39DDB","color-deep-blue-300":"#9575cd","color-deep-blue-400":"#7e57c2","color-deep-blue-500":"#673ab7","color-deep-blue-700":"#512da8","color-deep-blue-800":"#4527A0","color-deep-blue-900":"#311B92","color-deep-blue-a100":"#b388ff","color-deep-blue-a400":"#651FFF","color-deep-blue-a700":"#6200EA","color-minty-green-50":"#DAF2EE","color-minty-green-100":"#ACE5DC","color-minty-green-200":"#70CCBD","color-minty-green-300":"#42BDA8","color-minty-green-400":"#22AB94","color-minty-green-500":"#089981","color-minty-green-600":"#06806B","color-minty-green-700":"#056656","color-minty-green-800":"#004D40","color-minty-green-900":"#00332A","color-minty-green-a400":"#2BD9BC","color-minty-green-a700":"#24B29B","color-minty-green-a900":"#082621","color-grapes-purple-50":"#F3E5F5","color-grapes-purple-100":"#E1BEE7","color-grapes-purple-200":"#CE93D8","color-grapes-purple-300":"#ba68c8","color-grapes-purple-400":"#ab47bc","color-grapes-purple-500":"#9c27b0","color-grapes-purple-600":"#8e24aa","color-grapes-purple-700":"#7b1fa2","color-grapes-purple-800":"#6A1B9A","color-grapes-purple-900":"#4A148C","color-grapes-purple-a200":"#E040FB","color-grapes-purple-a400":"#D500F9","color-grapes-purple-a700":"#aa00ff","color-berry-pink-100":"#F8BBD0","color-berry-pink-200":"#f48fb1","color-berry-pink-300":"#f06292","color-berry-pink-400":"#ec407a","color-berry-pink-500":"#e91e63","color-berry-pink-600":"#D81B60","color-berry-pink-700":"#C2185B","color-berry-pink-800":"#AD1457","color-berry-pink-900":"#880E4F","color-berry-pink-a100":"#ff80ab","color-berry-pink-a200":"#ff4081","color-sky-blue-100":"#B2EBF2","color-sky-blue-200":"#80DEEA","color-sky-blue-300":"#4dd0e1","color-sky-blue-400":"#26c6da","color-sky-blue-500":"#00bcd4","color-sky-blue-600":"#00acc1","color-sky-blue-700":"#0097A7","color-sky-blue-800":"#00838F","color-sky-blue-900":"#006064","color-sky-blue-a400":"#00e5ff","color-sky-blue-a700":"#00B8D4","color-deep-blue-600":"#5E35B1","color-facebook":"#1877F2","color-deep-facebook":"#1564CA","color-twitter":"#1DA1F2","color-deep-twitter":"#188CD3","color-youtube":"#FF0000","color-linkedin":"#007BB5","color-aqua-spring":"#ebf9f5","color-army-green":"#3d2c12","color-army-green-2":"#31230d","color-athens-gray-1":"#f2f3f5","color-athens-gray-2":"#f7f8fa","color-athens-gray-3":"#eceff2","color-black-180":"#b4b4b4","color-blue-dianne":"#21384d","color-bluish":"#2185cc","color-bright-gray":"#363c4e","color-brownish-grey":"#8d6e63","color-carnation":"#f04561","color-catskill-white":"#e1ecf2","color-charade":"#2f3241","color-charcoal-grey":"#323337","color-curious-blue":"#299dcd","color-dark-blue-grey":"#123440","color-darkness-blue-grey":"#12213b","color-dark-grey":"#292a2d","color-dark-grey-blue":"#28415a","color-dark-sky-blue":"#37a6ef","color-deep-sea-blue":"#016087","color-ebony-clay":"#262b3e","color-foam":"#d7f0fb","color-gull-gray":"#9db2bd","color-humming-bird":"#d3eef9","color-keppel-1":"#37bc9b","color-keppel-2":"#34b293","color-lavender-blush":"#ffedf0","color-lightish-purple":"#a75ee8","color-loblolly":"#c5cbce","color-manatee":"#878ca8","color-mandy":"#eb4d5c","color-medium-blue":"#2e7bb2","color-milk-chocolate":"#6f2626","color-mirage-1":"#131722","color-mirage-2":"#171b29","color-mirage-3":"#1c2030","color-mischka":"#d6d8e0","color-morning-glory":"#9addcc","color-oslo-gray":"#8b8e95","color-pale":"#fff2cf","color-pale-grey-1":"#f9fafb","color-pale-grey-2":"#e7ebee","color-pale-sky":"#6b7988","color-picton-blue-1":"#3bb3e4","color-puerto-rico":"#3bc2a1","color-purple-brown":"#4e2934","color-purple-brown-2":"#3d2028","color-radical-red":"#ff4a68","color-regent-gray":"#8797a5","color-scooter":"#38acdb","color-silver-tree":"#53b987","color-slate-gray":"#758696","color-sundown":"#ffa4b3","color-sunglow":"#ffca3b","color-tan-hide":"#ff9850","color-trout-1":"#4c525e","color-trout-2":"#4f5966","color-violet-1":"#332738","color-violet-2":"#271d2b","color-white-ice":"#ebf7fc","color-wild-watermelon":"#ff5773","color-readonly-input":"#b4b4b4","color-brand-dark":"#2a2c39","color-seeking-alpha-brand":"#ff7200"}'),r=JSON.parse('{"color-bg-primary":"color-white","color-bg-primary-hover":"color-cold-gray-100","color-bg-secondary":"color-white","color-bg-highlight":"color-cold-gray-50","color-bg-scroll-buttons":"color-cold-gray-100","color-legacy-bg-scroll-buttons":"color-cold-gray-850","color-legacy-bg-widget":"color-white","color-text-primary":"color-cold-gray-900","color-text-secondary":"color-cold-gray-500","color-text-tertiary":"color-cold-gray-400","color-text-disabled":"color-cold-gray-300","color-accent-content":"color-cold-gray-900","color-box-shadow":"color-cold-gray-300","color-divider":"color-cold-gray-150","color-divider-hover":"color-cold-gray-100","color-divider-secondary":"color-cold-gray-100","color-active-hover-text":"color-cold-gray-900","color-alert-text":"color-cold-gray-900","color-border-table":"color-cold-gray-100","color-brand":"color-tv-blue-500","color-brand-active":"color-tv-blue-700","color-brand-hover":"color-tv-blue-600","color-chart-page-bg":"color-cold-gray-150","color-common-tooltip-bg":"color-cold-gray-800","color-danger":"color-ripe-red-400","color-danger-hover":"color-ripe-red-500","color-danger-active":"color-ripe-red-600","color-depthrenderer-stroke-style":"color-cold-gray-100","color-highlight-new":"color-tan-orange-50","color-input-bg":"color-white","color-input-publish-bg":"color-white","color-link":"color-tv-blue-500","color-link-hover":"color-tv-blue-600","color-link-active":"color-tv-blue-700","color-list-nth-child-bg":"color-cold-gray-50","color-pane-bg":"color-white","color-pane-secondary-bg":"color-cold-gray-100","color-popup-menu-item-hover-bg":"color-cold-gray-100","color-popup-menu-separator":"color-cold-gray-150","color-screener-description":"color-cold-gray-650","color-success":"color-minty-green-500","color-success-hover":"color-minty-green-600","color-success-active":"color-minty-green-700","color-toolbar-button-text":"color-cold-gray-900","color-toolbar-button-text-hover":"color-cold-gray-900","color-toolbar-button-text-active":"color-tv-blue-500","color-toolbar-button-text-active-hover":"color-tv-blue-600","color-toolbar-button-background-hover":"color-cold-gray-100","color-toolbar-button-background-secondary-hover":"color-cold-gray-150","color-toolbar-toggle-button-background-active":"color-tv-blue-500","color-toolbar-toggle-button-background-active-hover":"color-tv-blue-600","color-toolbar-interactive-element-text-normal":"color-cold-gray-900","color-toolbar-interactive-element-text-hover":"color-cold-gray-900","color-toolbar-opened-element-bg":"color-cold-gray-100","color-tooltip-bg":"color-cold-gray-800","color-tv-dialog-caption":"color-cold-gray-650","color-tv-dropdown-item-hover-bg":"color-cold-gray-100","color-underlined-text":"color-cold-gray-500","color-widget-pages-bg":"color-white","color-warning":"color-tan-orange-500","color-growing":"color-minty-green-400","color-falling":"color-ripe-red-400","color-forex-icon":"color-cold-gray-750","color-list-item-active-bg":"color-tv-blue-400","color-list-item-hover-bg":"color-tv-blue-50","color-list-item-text":"color-cold-gray-800","color-price-axis-label-back":"color-cold-gray-150","color-price-axis-label-text":"color-cold-gray-650","color-price-axis-gear":"color-cold-gray-900","color-price-axis-gear-hover":"color-black","color-price-axis-highlight":"color-cold-gray-150","color-bid":"color-tv-blue-500","color-border":"color-cold-gray-150","color-border-chat-fields":"color-cold-gray-250","color-border-hover":"color-cold-gray-250","color-button-hover-bg":"color-cold-gray-150","color-depthrenderer-fill-style":"color-cold-gray-650","color-disabled-border-and-color":"color-cold-gray-150","color-disabled-input":"color-cold-gray-150","color-empty-container-message":"color-cold-gray-500","color-icons":"color-cold-gray-500","color-input-textarea-readonly":"color-cold-gray-650","color-input-placeholder-text":"color-cold-gray-350","color-item-active-blue":"color-tv-blue-50","color-item-hover-active-bg":"color-tv-blue-100","color-item-hover-bg":"color-tv-blue-100","color-item-hover-blue":"color-tv-blue-100","color-item-selected-blue":"color-tv-blue-50","color-item-active-text":"color-white","color-item-active-bg":"color-tv-blue-500","color-list-item":"color-cold-gray-450","color-news-highlight":"color-tv-blue-100","color-placeholder":"color-cold-gray-350","color-row-hover-active-bg":"color-cold-gray-100","color-sb-scrollbar-body-bg":"color-cold-gray-200","color-section-separator-border":"color-cold-gray-300","color-separator-table-chat":"color-cold-gray-150","color-tag-active-bg":"color-cold-gray-200","color-tag-hover-bg":"color-cold-gray-150","color-text-regular":"color-cold-gray-700","color-tv-button-checked":"color-cold-gray-550","color-scroll-bg":"color-cold-gray-400","color-scroll-border":"color-cold-gray-100","color-widget-border":"color-cold-gray-100","color-scroll-buttons-arrow":"color-white","color-control-intent-default":"color-cold-gray-200","color-control-intent-success":"color-minty-green-600","color-control-intent-primary":"color-tv-blue-500","color-control-intent-warning":"color-tan-orange-500","color-control-intent-danger":"color-ripe-red-500","color-pre-market":"color-tan-orange-600","color-pre-market-bg":"color-tan-orange-400","color-post-market":"color-tv-blue-500","color-post-market-bg":"color-tv-blue-400","color-market-open":"color-minty-green-500","color-market-open-bg":"color-minty-green-400","color-market-closed":"color-cold-gray-400","color-market-holiday":"color-cold-gray-400","color-invalid-symbol":"color-ripe-red-400","color-invalid-symbol-hover":"color-ripe-red-700","color-replay-mode":"color-tv-blue-500","color-replay-mode-icon":"color-white","color-replay-mode-hover":"color-tv-blue-600","color-notaccurate-mode":"color-berry-pink-700","color-notaccurate-mode-bg":"color-berry-pink-400","color-delay-mode":"color-tan-orange-700","color-delay-mode-bg":"color-tan-orange-400","color-eod-mode":"color-grapes-purple-700","color-eod-mode-bg":"color-grapes-purple-400","color-data-problem":"color-ripe-red-600","color-data-problem-bg":"color-ripe-red-400","color-data-problem-hover":"color-ripe-red-700","color-list-item-bg-highlighted":"color-tv-blue-50","color-list-item-bg-selected":"color-tv-blue-100","color-list-item-bg-highlighted-hover":"color-tv-blue-100","color-list-item-bg-selected-hover":"color-tv-blue-200","color-screener-header-bg":"color-white","color-screener-header-bg-hover":"color-cold-gray-100","color-marker-flagged":"color-ripe-red-400","color-marker-flagged-hovered":"color-ripe-red-600","color-ask":"color-ripe-red-400","color-sell":"color-ripe-red-400","color-buy":"color-tv-blue-500","color-neutral":"color-cold-gray-500","color-pro":"color-minty-green-400","color-pro-hover":"color-minty-green-600","color-pro-plus":"color-tv-blue-500","color-pro-plus-hover":"color-tv-blue-600","color-pro-premium":"color-tan-orange-500","color-pro-premium-hover":"color-tan-orange-700","color-trial":"color-cold-gray-500","color-trial-hover":"color-cold-gray-600","color-mod":"color-ripe-red-400","color-mod-hover":"color-ripe-red-600","color-ad":"color-banana-yellow-a700","color-broker-featured":"color-minty-green-400","color-broker-featured-hover":"color-minty-green-600","color-alert-status-active":"color-minty-green-400","color-alert-status-stopped":"color-ripe-red-500","color-alert-status-triggered":"color-tan-orange-500","color-covid19-confirmed":"color-ripe-red-500","color-covid19-recovered":"color-minty-green-500","color-covid19-deaths":"color-cold-gray-450","color-overlay":"color-cold-gray-400","color-search-button-hover":"color-cold-gray-150","color-common-tooltip-text":"color-cold-gray-100","color-replay-data-mode":"color-radical-red","color-legacy-success":"color-keppel-1","color-collapse-tabs-border":"color-athens-gray-3","color-site-widget-hover":"color-athens-gray-1","color-attention":"color-sunglow","color-card-border":"color-cold-gray-150","color-card-border-hover":"color-cold-gray-300","color-background-special-primary":"color-white","color-stroke-special-primary":"color-cold-gray-150","color-selection-bg":"color-tv-blue-100"}') +;var n=i(16282);const o={...s,...r},a={},l=Object.keys(o).length,c=/^#[0-9A-F]{6}$/i;Object.keys(o).forEach(e=>{const t=function e(t,i=[]){const s=o[t];if(!s)return null;if(c.test(s))return s;const r=s;return i.push(t),-1!==i.indexOf(r)?(console.warn("Colors definitions cycled"),s):i.length>l?(console.warn("Too many variables-link in HEX-color search: "+i[0]),null):e(r,i)}(e);a[e]=(0,n.ensureNotNull)(t)});const h=a;function d(e){const t=h[e];if(!t)throw new Error("No such color "+e);return t}},8596:(e,t,i)=>{"use strict";i.d(t,{dur:()=>s,easingFunc:()=>r,CubicBezier:()=>n});const s=350,r={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e*e:(4-2*e)*e-1,easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1- --e*e*e*e,easeInOutQuart:e=>e<.5?8*e*e*e*e:1-8*--e*e*e*e,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1+--e*e*e*e*e,easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e};class n{constructor(e,t,i,s){this._mX1=e,this._mY1=t,this._mX2=i,this._mY2=s}easingFunc(e){return this._mX1===this._mY1&&this._mX2===this._mY2?e:this._calcBezier(this._getTForX(e))}_a(e,t){return 1-3*t+3*e}_b(e,t){return 3*t-6*e}_c(e){return 3*e}_calcBezier(e){return((this._a(this._mY1,this._mY2)*e+this._b(this._mY1,this._mY2))*e+this._c(this._mY1))*e}_getSlope(e){return 3*this._a(this._mX1,this._mX2)*e*e+2*this._b(this._mX1,this._mX2)*e+this._c(this._mX1)}_getTForX(e){let t=e;for(let i=0;i<4;++i){const i=this._getSlope(t);if(0===i)return t;t-=(this._calcBezier(t)-e)/i}return t}}},30618:(e,t,i)=>{"use strict";i.d(t,{setupChartEventHint:()=>d});var s=i(16282),r=i(79881),n=i(64222),o=i(15521),a=i(33033),l=i(43367),c=i(42998),h=i(27490);function d(e,t=!1){if(!h.enabled("popup_hints"))return;const d=e.getContainer();let u=null,p=null;function _(e,t){if(u)u.show(e,g.bind(null,t));else{const s=o.tool.value();Promise.all([i.e(5453),i.e(5514),i.e(6166)]).then(i.bind(i,25057)).then(i=>{u=new i.ChartEventHintRenderer(d),s===o.tool.value()&&u.show(e,g.bind(null,t))})}}function m(e){return!Boolean(n.getBool(e))}function g(e){n.setValue(e,!0,{forceFlush:!0}),(0,s.ensureNotNull)(u).destroy(),null!==p&&p(),u=null}o.tool.subscribe((function(){if(!m("hint.touchPainting"))return;const e=o.tool.value(),t=(0,a.isLineToolDrawWithoutPoints)(e),i=l.CheckMobile.any();!(0,a.isStudyLineToolName)(e)||"LineToolRegressionTrend"===e||t||i?(0,a.isLineToolName)(e)&&!(0,a.isLineDrawnWithPressedButton)(e)&&!t&&i?_((0,r.t)("Move the point to position the anchor then tap to place"),"hint.touchPainting"):u&&u.hide():_((0,r.t)("Click to set a point"),"hint.touchPainting")})),o.createdLineTool.subscribe(null,(function(){const e=o.tool.value();"LineToolPath"===e&&m("hint.finishBuildPathByDblClick")?_((0,r.t)("Double-click to finish Path"),"hint.finishBuildPathByDblClick"):"LineToolPolyline"===e&&m("hint.finishBuildPolylineByDblClick")&&_((0,r.t)("Double-click to finish Polyline"),"hint.finishBuildPolylineByDblClick")})),o.finishedLineTool.subscribe(null,(function(){if(u){ +const e=o.tool.value();"LineToolPath"===e?g("hint.finishBuildPathByDblClick"):"LineToolPolyline"===e&&g("hint.finishBuildPolylineByDblClick")}})),t||l.CheckMobile.any()||!m("hint.startFocusedZoom")||(p=function(e,t){let i=!1;const s=r=>{r?(i&&t(r),e.onZoom().unsubscribe(null,s)):i||(t(r),i=!0)};return e.onZoom().subscribe(null,s),()=>e.onZoom().unsubscribe(null,s)}(e,(function(e){if(!m("hint.startFocusedZoom"))return;if(e)u&&(p=null,g("hint.startFocusedZoom"));else{const e=c.isMacKeyboard?"⌘":"Ctrl";_((0,r.t)("Press and hold {key} while zooming to maintain the chart position").format({key:e}),"hint.startFocusedZoom")}})))}},82831:(e,t,i)=>{"use strict";i.d(t,{setupChartScreenshotHint:()=>o});var s=i(79881),r=i(18437),n=i(16282);function o(e,t){const o=(0,s.t)("Link to the chart image copied to clipboard {emoji}").format({emoji:"👍"}),a=(0,s.t)("Chart image copied to clipboard {emoji}").format({emoji:"👍"});r.on("onServerScreenshotCopiedToClipboard",()=>h(o),null),r.on("onClientScreenshotCopiedToClipboard",()=>h(a),null);let l=null;const c=e.getContainer();function h(e){l?l.show(e):Promise.all([i.e(4652),i.e(5514),i.e(92)]).then(i.bind(i,38868)).then(i=>{l||(l=new i.ChartScreenshotHintRenderer((0,n.ensureNotNull)(c),{bottomPadding:t.seriesControlBarEnabled}),l.show(e))})}}},65726:(e,t,i)=>{"use strict";i.d(t,{getTooltipData:()=>r,setTooltipData:()=>n});const s=new WeakMap;function r(e,t){const i=s.get(e);return i instanceof Function?i(t):i&&i[t]}function n(e,t,i){if(i instanceof Function)return void s.set(e,i);const r=s.get(e),n=void 0===r||r instanceof Function?{}:r;n[t]=i,s.set(e,n)}},19598:(e,t,i)=>{"use strict";i.d(t,{hotKeySerialize:()=>r,hotKeyDeserialize:()=>n});var s=i(79039);function r(e){return(0,s.clean)(JSON.stringify(e))}function n(e){return JSON.parse((0,s.clean)(e,!0))}},74384:(e,t,i)=>{"use strict";i.d(t,{hide:()=>G,show:()=>U,showOnElement:()=>z});var s=i(96404);let r=0,n=0,o=0;function a(){clearTimeout(r),clearTimeout(n),clearTimeout(o)}function l(e,t){r=setTimeout(e,t)}const c="tooltip-root-element";let h;function d(){const e=document.getElementById(c);e?h=e:(h=document.createElement("div"),h.id=c,document.body.appendChild(h))}function u(){h&&(h.innerHTML="")}"interactive"===document.readyState?d():document.addEventListener("DOMContentLoaded",d);var p=i(16282);const _={default:"",white:"theme-white","round-shadow":"theme-round-shadow"},m=Object.keys(_);var g=i(65726),f=i(19598),v=i(67235),S=i(76553),y=(i(95068),i(39197)),b=i(57968),w=i(43367),P=i(78746);function C(e){const t=function(e){const t=e.hasAttribute("data-tooltip")?e.getAttribute("data-tooltip"):e.getAttribute("title");return t&&((0,g.setTooltipData)(e,"text",t),e.removeAttribute("title")),(0,g.getTooltipData)(e,"text")||""}(e),i=e.getBoundingClientRect(),s={h:i.height,w:i.width,x:i.left,y:i.top},r=e.getAttribute("data-color-theme")||"",n=e.classList.contains("common-tooltip-html"),o=parseInt(e.getAttribute("data-tooltip-delay")||""),a=parseInt(e.getAttribute("data-tooltip-debounce")||"");let l={type:"none"};return t&&(l={ +type:n?"html":"text",data:t}),{above:e.classList.contains("common-tooltip-above"),below:e.classList.contains("common-tooltip-below"),otl:e.classList.contains("common-tooltip-otl"),otr:e.classList.contains("common-tooltip-otr"),vertical:e.classList.contains("common-tooltip-vertical"),hotkey:e.getAttribute("data-tooltip-hotkey"),narrow:e.classList.contains("common-tooltip-narrow"),wide:e.classList.contains("common-tooltip-wide"),colorTheme:r,tooltipDelay:o,tooltipDebounce:a,rect:s,content:l,target:e}}function T(e){const t=E.cloneNode(!0),i=B(t),{content:s}=e;switch(s.type){case"element":i.innerHTML="",i.appendChild(s.data);break;case"html":i.innerHTML=s.data;break;case"text":if(e.hotkey){const e=V.cloneNode(!0);e.innerText=s.data,i.appendChild(e)}else i.innerText=s.data}if(e.hotkey){const t="none"!==s.type,r=D.cloneNode(!0),n=(0,f.hotKeyDeserialize)(e.hotkey),o=n.keys.map(e=>`${e}`);r.innerHTML=function(e,t){return e.replace(/{\d}|{hotkey_\d}/gi,e=>{const i=Number(e.match(/\d/));return t[i]})}(n.text,o).replace(/\s\+\s/g,`+`),i.classList.add(P["common-tooltip__body--with-hotkey"]),t&&r.classList.add(P["common-tooltip__hotkey-block--divider"]),i.appendChild(r)}return t.addEventListener("contextmenu",y.preventDefault),t}function x(e,t){const i=t.rect;if(!i)return;!function(e,t){const i=m.includes(t)?_[t]:"";e.classList.remove(...m.map(e=>_[e]).filter(e=>!!e)),i&&!e.classList.contains(i)&&e.classList.add(i)}(e,t.colorTheme||"default"),t.addClass&&e.classList.add(t.addClass);const s=B(e),r=e.querySelector("."+P["common-tooltip__button-container"]);s.classList.toggle(P["common-tooltip__body--width_wide"],Boolean(t.wide)),s.classList.toggle(P["common-tooltip__body--no-padding"],Boolean(t.noPadding)),s.classList.toggle(P["common-tooltip__body--width_narrow"],Boolean(t.narrow)),s.classList.toggle(P["common-tooltip__body--no-buttons"],!0),s.style.left=M(0),s.style.width=M(s.clientWidth+(Boolean(t.noPadding)?0:2));const n=document.body.clientWidth,o=w.CheckMobile.iOS()||(0,w.supportTouch)()&&(0,w.isMac)()?window.innerHeight:document.body.clientHeight,a=t.vertical,l=t.extendMargin||a&&i.w<20||!a&&i.h<20;e.classList.toggle(P["common-tooltip--farther"],l),e.classList.toggle(P["common-tooltip--vertical"],a),e.classList.toggle(P["common-tooltip--horizontal"],!a);const c=function(e){return e.querySelector("."+P["common-tooltip__ear-holder"])}(e),h=e.offsetHeight;if(a){const a=10,l=o-10,d=12,u=a+d,p=l-d,_=(0,b.clamp)(i.y+i.h/2,u,p)-h/2,m=_+h;e.style.left=M(i.x+i.w),e.style.top=M(_),_l&&(s.style.top=r.style.top=M(l-m));const{right:g}=(e.querySelector(":last-child")||s).getBoundingClientRect(),f=g+10>n;e.classList.toggle(P["common-tooltip--direction_reversed"],f),e.classList.toggle(P["common-tooltip--direction_normal"],!f);let v=f?"after":"before";(0,S.isRtl)()?(v=t.otr?"after":v,v=t.otl?"before":v):(v=t.otr?"before":v,v=t.otl?"after":v), +c.classList.toggle(P["common-tooltip__ear-holder--before"],"before"===v),c.classList.toggle(P["common-tooltip__ear-holder--after"],"after"===v),"after"===v&&(e.style.left="auto",e.style.right=M(n-i.x))}else{const a=i.x-(s.offsetWidth-i.w)/2,l=n-10-e.offsetWidth,d=Math.max(10,Math.min(a,l));e.style.left=M(d);const u=l\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t
\n`,A=`\n\t
\n`,k=`\n\t
\n`,E=(0,v.parseHtmlElement)(L),D=(0,v.parseHtmlElement)(A),V=(0,v.parseHtmlElement)(k);function B(e){return e.querySelector("."+P["common-tooltip__body"])}function N(e,t){return 10+ez(t);if(i()){const e=e=>{e.target instanceof Element&&e.target.contains(t)&&s(null,!0)},s=(r,n=!1)=>{t.removeEventListener("common-tooltip-update",i),t.removeEventListener("mouseleave",s),t.removeEventListener("mousedown",s),document.removeEventListener("scroll",e,{capture:!0}),W&&(W.destroy(),W=null),G(n)};t.addEventListener("common-tooltip-update",i),t.addEventListener("mouseleave",s),t.addEventListener("mousedown",s),document.addEventListener("scroll",e,{capture:!0}),null===W&&(W=(0,R.createGroup)({desc:"Tooltip"}),W.add({desc:"Hide",hotkey:27,handler:s}));break}}}),!0);const H=new MutationObserver(()=>{if(F&&F.options.target){let e;e="isConnected"in F.options.target?F.options.target.isConnected:document.body.contains(F.options.target),e||G()}}),z=(e,t={})=>{ +const{content:i,...s}=Y(t),r=C(e),n=Object.assign(r,s);return"none"!==i.type&&(n.content=i),!("none"===n.content.type&&!n.hotkey)&&(n.target=e,U(n),!0)},U=e=>{const t=Y(e),i=T(t);var s;if(F={options:t,element:i},s=i,u(),h&&h.appendChild(s),a(),!O)return I(i),void l(()=>q(i),function(e){return"number"!=typeof e.tooltipDelay||isNaN(e.tooltipDelay)?500:e.tooltipDelay}(t));const{tooltipDebounce:r}=e;"number"!=typeof r||isNaN(r)?q(i):l(()=>q(i),r)};function j(){u(),O=!1,F=null}const G=e=>{if(a(),H.disconnect(),!F)return;if(!e&&!O)return;const{element:t,options:i}=F,s=()=>{t.removeEventListener("mouseleave",s),I(t),e?j():o=setTimeout(()=>{j()},250)};var r,l;i.tooltipHideDelay?(r=()=>{t.querySelector(":hover")?t.addEventListener("mouseleave",s):s()},l=i.tooltipHideDelay,n=setTimeout(r,l)):s()};function q(e){const{options:t}=(0,p.ensureNotNull)(F);if(x(e,t),function(e){e.classList.toggle(P["common-tooltip--hidden"],!1)}(e),H.observe(document,{childList:!0,subtree:!0}),O=!0,t.forceHideOnMove){const e=()=>{document.removeEventListener("mousemove",e),G()};document.addEventListener("mousemove",e)}}function Y(e){if(function(e){return"content"in e}(e))return e;const{inner:t,html:i,text:s,...r}=e;let n={type:"none"};return t&&(n={type:"element",data:t}),s&&(n={type:i?"html":"text",data:s}),{content:n,...r}}},41547:(e,t,i)=>{"use strict";i.d(t,{ChartPage:()=>d});var s=i(32856),r=i.n(s),n=i(30779);function o(e,t){let i=0;for(const{min:s,max:r}of t){if(e0&&t.push({min:e,max:s})}return t.sort((e,t)=>e.min-t.min||e.max-t.max),t}function l(e,t){if(e.length!==t.length)return!1;for(let i=e.length;i--;){if(e[i].min!==t[i].min)return!1;if(e[i].max!==t[i].max)return!1}return!0}var c=i(27490);const h=c.enabled("no_min_chart_width");class d{constructor(e){this._processVisibility=e=>{const t=e.container.value();return this._affectsLayout(e.name)?(t&&t.classList.toggle("js-hidden",!1),!0):(t&&t.classList.toggle("js-hidden",!0),!1)},this._setWidth=(e,t)=>{let i=t;this._fullscreenArea!==e.name&&(e.availWidth.setValue(t),e.canNegotiate.width&&(i=o(t,e.negotiations.width)));const s=e.container.value();return s&&(s.style.width=i+"px"),e.width.setValue(i),i},this._setHeight=(e,t)=>{let i=t;this._fullscreenArea!==e.name&&(e.availHeight.setValue(t),e.canNegotiate.height&&(i=o(t,e.negotiations.height)));const s=e.container.value();return s&&(s.style.height=i+"px"),e.height.setValue(i),i};const t=e.container.value();if(!t)throw new Error("bridge.container.value() must be an element");this._container=t,this._availableAreas=["left","tradingpanel","right","top","bottom","center","topleft","extratop"],this._areas={},this._bridge=e,this._width=e.width,this._height=e.height,this._width.subscribe(()=>this.recalculate()),this._height.subscribe(()=>this.recalculate()), +this._bridge.visible.subscribe(()=>this._updateVisibility()),this._bridge.fullscreen.subscribe(()=>this._onParentFullscreenChange()),this.recalculate()}allocate(e){const t=e&&e.areaName;if(-1===this._availableAreas.indexOf(t))throw new Error("unknown options.areaName");this.free(t);const i=this._createDOM(t),s={name:t,canNegotiate:{width:"left"===t||"right"===t||"tradingpanel"===t||"topleft"===t,height:"top"===t||"bottom"===t||"topleft"===t||"extratop"===t},negotiations:{width:[],height:[]},remove:()=>{for(const e in this._areas)this._areas[e]===s&&this.free(e)},negotiateWidth:e=>{if(!s.canNegotiate.width)return;const t=a(e);l(s.negotiations.width,t)||(s.negotiations.width=t,this.recalculate())},negotiateHeight:e=>{if(!s.canNegotiate.height)return;const t=a(e);l(s.negotiations.height,t)||(s.negotiations.height=t,this.recalculate())},requestFullscreen:()=>{this._fullscreenArea||("right"!==t&&"center"!==t||(this._fullscreenArea=t),"center"===t&&this._bridge.requestFullscreen(),this._updateFullscreen())},exitFullscreen:()=>{t===this._fullscreenArea&&(this._fullscreenArea=void 0,"center"===t&&this._bridge.exitFullscreen(),this._updateFullscreen())},width:new(r()),height:new(r()),availWidth:new(r()),availHeight:new(r()),alive:new(r())(!0),container:new(r())(i),visible:new(r())(!0),fullscreen:new(r())(!1),fullscreenable:new(r())("right"===t||"center"===t),rdState:new n.ResizerDetacherState};return s.rdState.pushOwner(s),this._areas[t]=s,s.rdState.owner.subscribe(e=>{const i=s.container.value();if(e!==s)i&&(i.innerHTML="",i.parentElement&&i.parentElement.removeChild(i));else{let e=null;for(let i=this._availableAreas.indexOf(t);i--;){const t=this._availableAreas[i];if(this._affectsLayout(t)){e=this._areas[t].container.value();break}}i&&(e&&i.parentElement?i.insertAdjacentElement("afterend",e):this._container.appendChild(i))}this.recalculate()},{callWithLast:!0}),s.rdState.bridge()}free(e){const t=this._areas[e];if(!t)return;this._areas[e]=void 0;const i=t.container.value();i&&i.parentElement&&i.parentElement.removeChild(i),t.alive.setValue(!1)}recalculate(){const e={};this._recalcSingleRunToken=e;const t=this._areas.topleft,i=this._areas.left,s=this._areas.tradingpanel,r=this._areas.right,n=this._areas.top,o=this._areas.bottom,a=this._areas.center,l=this._areas.extratop,c=this._width.value(),d=this._height.value();let u=0,p=0,_=0,m=0,g=0,f=0,v=0,S=0;if(e===this._recalcSingleRunToken&&l&&this._processVisibility(l)&&(S=this._setHeight(l,d),this._setWidth(l,c)),e===this._recalcSingleRunToken&&t&&this._processVisibility(t)){v=this._setHeight(t,d),f=this._setWidth(t,c),f&&(f+=4);const e=t.container.value();e&&(e.style.top=S+"px")}if(e===this._recalcSingleRunToken&&i&&this._processVisibility(i)){const e=i.container.value();e&&(e.style.top=v+S+"px"),this._setHeight(i,d-v-S),_=this._setWidth(i,c),_&&(_+=4)}if(e===this._recalcSingleRunToken&&s&&this._processVisibility(s)){this._setHeight(s,d);let e=c-_;h||(e-=300),g=this._setWidth(s,e)}if(e===this._recalcSingleRunToken&&r&&this._processVisibility(r)){this._setHeight(r,d-S) +;let e=c-_-g;h||(e-=300),m=this._setWidth(r,e);const t=r.container.value();t&&(t.style.top=S+"px")}const y=g+m,b=y?4:0;if(e===this._recalcSingleRunToken&&n&&this._processVisibility(n)){const e=Math.max(f,_),t=n.container.value();t&&(t.style.left=e+"px",t.style.top=S+"px");const i=c-e-g-m-b;this._setWidth(n,i),u=this._setHeight(n,d)}let w=0;const P=c-_-g-m-b;if(e===this._recalcSingleRunToken&&o&&this._processVisibility(o)){const e=o.container.value();e&&(e.style.left=_+"px",e.classList.toggle("no-border-top-left-radius",!_),e.classList.toggle("no-border-top-right-radius",!y)),this._setWidth(o,P);const t=d-S;w=Math.min(300,t-0),p=this._setHeight(o,t)+4}if(e===this._recalcSingleRunToken&&a&&this._processVisibility(a)){const e=a.container.value();e&&(e.style.left=_+"px",e.style.top=u+S+"px",e.classList.toggle("no-border-bottom-left-radius",!p||!_),e.classList.toggle("no-border-bottom-right-radius",!y||!p)),this._setWidth(a,P);const t=d-u-p-S;this._setHeight(a,Math.max(t,w))}if(e===this._recalcSingleRunToken&&s&&this._affectsLayout("tradingpanel")){const e=s.container.value();e&&(e.style.right=m+"px",e.style.top=S+"px")}e===this._recalcSingleRunToken&&this._updateVisibility()}_affectsLayout(e){const t=this._areas[e];if(!t)return!1;if(t.rdState.owner.value()!==t)return!1;if(this._fullscreenArea&&this._fullscreenArea!==e)return u(e);if(this._width.value()<=567||this._height.value()<=445){if(!["center","top","left","topleft","extratop"].includes(e))return!1}return!0}_updateVisibility(){const e=this._bridge.visible.value();for(let t=0;t{"use strict";i.d(t,{ResizerDetacherState:()=>o});var s=i(16282),r=i(32856),n=i.n(r);class o{constructor(e){this._alive=new(n()),this._container=new(n()),this._width=new(n()),this._height=new(n()),this._fullscreen=new(n()),this._detachable=new(n()),this._fullscreenable=new(n()),this._visible=new(n()),this._availWidth=new(n()),this._availHeight=new(n()),this._owner=new(n()),this._ownersStack=[],this.owner=this._owner.readonly(),this._bridge={ +alive:this._alive.readonly(),container:this._container.readonly(),width:this._width.readonly(),height:this._height.readonly(),fullscreen:this._fullscreen.readonly(),detachable:this._detachable.readonly(),fullscreenable:this._fullscreenable.readonly(),visible:this._visible.readonly(),availWidth:this._availWidth.readonly(),availHeight:this._availHeight.readonly(),remove:()=>{const e=this._owner.value();e&&e.remove&&e.remove()},negotiateWidth:e=>{const t=this._owner.value();t&&t.negotiateWidth&&t.negotiateWidth(e)},negotiateHeight:e=>{const t=this._owner.value();t&&t.negotiateHeight&&t.negotiateHeight(e)},requestFullscreen:()=>{const e=this._owner.value();e&&e.requestFullscreen&&e.requestFullscreen()},exitFullscreen:()=>{const e=this._owner.value();e&&e.exitFullscreen&&e.exitFullscreen()},detach:e=>{const t=this._owner.value();t&&t.detach&&t.detach(e)},attach:()=>{const e=this._owner.value();e&&e.attach&&e.attach()}},e&&this.pushOwner(e)}bridge(){return this._bridge}pushOwner(e){if(!e.alive.value())return;for(const e of this._ownersStack)this._unsubscribeOwner(e);const t={owner:e};this._ownersStack.push(t),this._subscribeOwner(t)}_subscribeOwner(e){const t=e.owner;if(e.deathWatcher||(this._alive.setValue(!0),e.deathWatcher=t.alive.spawn(),e.deathWatcher.subscribe(t=>{t||this._deadHandler(e)})),this._owner.setValue(t),!e.subscriptions){const i=e.subscriptions=[];this._visible.setValue(!1);const s=(e,t)=>{if(e){const s=e.spawn();i.push(s),s.subscribe(e=>{t.setValue(e)},{callWithLast:!0})}else t.deleteValue()};s(t.container,this._container),s(t.width,this._width),s(t.height,this._height),s(t.fullscreen,this._fullscreen),s(t.detachable,this._detachable),s(t.fullscreenable,this._fullscreenable),s(t.availWidth,this._availWidth),s(t.availHeight,this._availHeight),s(t.visible,this._visible)}}_unsubscribeOwner(e,t){if(e.subscriptions){for(const t of e.subscriptions)t.unsubscribe();e.subscriptions=null}t&&e.deathWatcher&&(e.deathWatcher.unsubscribe(),e.deathWatcher=null)}_deadHandler(e){const t=this._ownersStack.indexOf(e);(0,s.assert)(-1!==t,"sanitized owner should be in stack");for(let e=this._ownersStack.length-1;e>=t;e--)this._unsubscribeOwner(this._ownersStack[e],!0);this._ownersStack.length=t,t>0?this._subscribeOwner(this._ownersStack[t-1]):(this._alive.setValue(!1),this._owner.deleteValue())}}},89979:(e,t,i)=>{"use strict";i.d(t,{Root:()=>d});i(79881);var s=i(32856),r=i.n(s),n=i(30779);class o{constructor(e){this._document=e,this.isFullscreen=new(r());const t=()=>{const e=["fullscreenElement","webkitFullscreenElement","mozFullscreenElement","mozFullScreenElement","msFullscreenElement"];for(let t=0;t{this.isVisible.setValue(!e[r])},i(),e.addEventListener(t,i,!1);break}}this.destroy=()=>{i&&(e.removeEventListener(t,i,!1),i=null)}}}var l=i(22900),c=i(16282),h=i(43367);class d{constructor(e){this._updateDocumentHeight=e=>{"visual"===this._viewportType&&this._window.document.documentElement.style.setProperty("height",e+"px","important")},this._window=e,this._fullscreenApi=new o(e.document),this._viewportType=h.CheckMobile.iOS()&&!(0,l.isOnMobileAppPage)("any")&&this._window.visualViewport?"visual":"quirks","visual"===this._viewportType?this._viewport=(0,c.ensureDefined)(this._window.visualViewport):this._viewport=this._window;const t=this._layoutSizeSensor=this._window.document.createElement("div");t.id="layout-size-sensor",t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.right="0",t.style.bottom="0",t.style.pointerEvents="none",t.style.visibility="hidden",this._initFullscreen()}allocate(){this.free();const e=this._window.document,t=e.createElement("div");t.classList.add("js-rootresizer__contents"),t.style.position="relative",t.style.width="100%",t.style.height="100%",e.body.insertAdjacentElement("afterbegin",t),e.body.insertAdjacentElement("afterbegin",this._layoutSizeSensor),this._visibilityApi=new a(this._window.document);const i={alive:new(r())(!0),fullscreenable:new(r())(!0),container:new(r())(t),width:new(r()),height:new(r()),availWidth:new(r()),availHeight:new(r()),visible:this._visibilityApi.isVisible,fullscreen:this._fullscreenApi.isFullscreen,remove:()=>{i.alive.setValue(!1)},attach:()=>{i.alive.setValue(!1),this._window.close()},requestFullscreen:()=>{this._requestFullscreen()},exitFullscreen:()=>{this._exitFullscreen()}};return i.alive.subscribe(e=>{e||i!==this._area||this.free()}),this._area=i,this._resizeHandler=()=>{const e=this._width(i)||800,t=this._height(i)||600;i.availHeight.setValue(t),i.availWidth.setValue(e),i.height.setValue(t),i.width.setValue(e)},this._area.height.subscribe(this._updateDocumentHeight,{callWithLast:!0}),this._resizeHandler(),this._viewport.addEventListener("resize",this._resizeHandler),new n.ResizerDetacherState(i).bridge()}free(){if(this._resizeHandler&&(this._viewport.removeEventListener("resize",this._resizeHandler),this._resizeHandler=void 0),this._visibilityApi&&(this._visibilityApi.destroy(),this._visibilityApi=void 0),this._area){const e=this._area;this._area=void 0,e.height.unsubscribe(this._updateDocumentHeight),e.alive.setValue(!1);const t=e.container.value(),i=null==t?void 0:t.parentElement;i&&(i.removeChild(t),i.removeChild(this._layoutSizeSensor))}}_height(e){ +if("visual"===this._viewportType)return this._layoutSizeSensor.clientHeight;return e.container.value().clientHeight}_width(e){return e.container.value().clientWidth}_requestFullscreen(){this._fullscreenApi.enter()}_exitFullscreen(){this._fullscreenApi.exit()}_initFullscreen(){this._fullscreenApi.isFullscreen.subscribe(e=>{this._resizeHandler&&this._resizeHandler()})}}},98852:(e,t,i)=>{"use strict";i.d(t,{DEFAULT_SIZE:()=>s,spinnerSizeMap:()=>r});const s="large",r={mini:"xsmall",xsmall:"xsmall",small:"small",medium:"medium",large:"large"}},23214:(e,t,i)=>{"use strict";i.d(t,{Spinner:()=>o});i(11739);var s=i(67235),r=i(98852);const n=(0,s.parseHtmlElement)('\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\x3c!--\n\t\t\t\t--\x3e
\n\t\t\t
\n\t\t
\n\t');class o{constructor(e){this._shown=!1,this._el=n.cloneNode(!0),this.setSize(r.spinnerSizeMap[e||r.DEFAULT_SIZE])}spin(e){return this._el.classList.add("tv-spinner--shown"),void 0===this._container&&(this._container=e,void 0!==e&&e.appendChild(this._el)),this._shown=!0,this}stop(e){return e&&void 0!==this._container&&this._container.removeChild(this._el),this._el.classList.remove("tv-spinner--shown"),this._shown=!1,this}setStyle(e){return Object.keys(e).forEach(t=>{const i=e[t];void 0!==i&&this._el.style.setProperty(t,i)}),this}style(){return this._el.style}setSize(e){const t=void 0!==e?"tv-spinner--size_"+e:"";return this._el.className=`tv-spinner ${t} ${this._shown?"tv-spinner--shown":""}`,this}getEl(){return this._el}destroy(){this.stop(),delete this._el,delete this._container}}},6369:(e,t,i)=>{"use strict";i.d(t,{createStubElem:()=>r});var s=i(1267);function r(e=[],t=[]){const i=document.createElement("div"),r=document.createElement("div");return i.appendChild(r),i.classList.add(s.container),r.classList.add(s.inner),e.forEach(e=>{i.classList.add(s[e])}),t.forEach(e=>{i.classList.add(s[e])}),i}},73900:(e,t,i)=>{"use strict";i.r(t),i.d(t,{lineToolEntityInfo:()=>o,studyEntityInfo:()=>a,seriesEntityInfo:()=>l,entityForDataSource:()=>c});var s=i(17e3),r=i(85125),n=i(67945);function o(e){return{id:e.id(),name:(t=e.toolname,Object.keys(r.supportedLineTools).find(e=>r.supportedLineTools[e].name===t)||null)};var t}function a(e){return{id:e.id(),name:e.metaInfo().description}}function l(e){return{id:e.id(),name:"Main Series"}}function c(e,t){return t===e.mainSeries()?l(e.mainSeries()):(0,s.isStudy)(t)?a(t):(0,n.isLineTool)(t)?o(t):null}},24947:(e,t,i)=>{"use strict";i.r(t),i.d(t,{isLineToolRiskReward:()=>a,LineDataSourceApi:()=>c});var s=i(16282),r=i(47903);const n=new Map([["LineToolRiskRewardLong",2],["LineToolRiskRewardShort",2],["LineToolBezierQuadro",3],["LineToolBezierCubic",4]]);function o(e){const t=n.get(e.toolname) +;if(void 0!==t)return t;const i=e.pointsCount();return-1===i?e.points().length:i}function a(e){return"LineToolRiskRewardLong"===e||"LineToolRiskRewardShort"===e}const l=["alwaysShowStats","entryPrice","inputs.first bar time","inputs.last bar time","interval","linesWidths","points","snapTo45Degrees","stopPrice","symbol","symbolStateVersion","currencyId","unitId","targetPrice","zOrderVersion"];class c{constructor(e,t,i){this._source=e,this._model=t,this._pointsConverter=i}isSelectionEnabled(){return this._source.isSelectionEnabled()}setSelectionEnabled(e){this._source.setSelectionEnabled(e)}isSavingEnabled(){return this._source.isSavedInChart()}setSavingEnabled(e){this._source.setSavingInChartEnabled(e)}isShowInObjectsTreeEnabled(){return this._source.showInObjectTree()}setShowInObjectsTreeEnabled(e){this._source.setShowInObjectsTreeEnabled(e)}isUserEditEnabled(){return this._source.userEditEnabled()}setUserEditEnabled(e){this._source.setUserEditEnabled(e)}bringToFront(){this._model.bringToFront([this._source])}sendToBack(){this._model.sendToBack([this._source])}getProperties(){return this._source.properties().state(l,!0)}setProperties(e){this._setProps(this._source.properties(),e,"")}getPoints(){let e=this._source.points();const t=o(this._source);return e.length>t&&((0,s.assert)(a(this._source.toolname)),e=e.slice(0,t)),this._pointsConverter.dataSourcePointsToPriced(e)}setPoints(e){if(this._source.isFixed())return;const t=o(this._source);if(t!==e.length)throw new Error(`Wrong points count. Required: ${t}, provided: ${e.length}`);const i=this._pointsConverter.apiPointsToDataSource(e);this._model.startChangingLinetool(this._source),this._model.changeLinePoints(this._source,i),this._model.endChangingLinetool(!0),this._source.createServerPoints()}ownerSourceId(){return(0,s.ensureNotNull)(this._source.ownerSource()).id()}changePoint(e,t){if(this._source.isFixed())return;const i=this._pointsConverter.apiPointsToDataSource([e])[0];this._model.startChangingLinetool(this._source,{...i},t),this._model.changeLinePoint({...i}),this._model.endChangingLinetool(!1),this._source.createServerPoints()}isHidden(){return this._source.isSourceHidden()}getRawPoints(){return this._source.points()}setRawPoint(e,t){this._model.startChangingLinetool(this._source,{...t},e),this._model.changeLinePoint({...t}),this._model.endChangingLinetool(!1)}move(e,t){this._model.startMovingSources([this._source],{logical:e},null,new Map),this._model.moveSources({logical:t},new Map),this._model.endMovingSources(!1)}dataAndViewsReady(){return this._source.dataAndViewsReady()}zorder(){return this._source.zorder()}symbol(){return this._source.properties().symbol.value()}currency(){return this._source.properties().currencyId.value()}unit(){return this._source.properties().unitId.value()}_setProps(e,t,i){for(const s in t){if(!t.hasOwnProperty(s))continue;const n=0===i.length?s:`${i}.${s}`;if(e.hasOwnProperty(s)){const i=t[s];(0,r.isHashObject)(i)?this._setProps(e[s],i,n):e[s].setValue(i)}else console.warn(`Unknown property "${n}"`)}}}},23605:(e,t,i)=>{"use strict" +;i.d(t,{PaneApi:()=>u});var s=i(16282),r=i(95996),n=i(73900),o=i(47903),a=i(79881),l=i(90963),c=i(5980);const h=new l.TranslatedString("change pane height",(0,a.t)("change pane height"));class d extends c.UndoCommand{constructor(e,t,i){super(h),this._model=e,this._paneIndex=t,this._paneHeight=i,this._prevStretchFactors=this._model.panes().map(e=>e.stretchFactor())}redo(){this._model.changePanesHeight(this._paneIndex,this._paneHeight)}undo(){const e=this._model.panes();for(let t=0;t(0,n.entityForDataSource)(e,t)).filter(o.notNull).filter(e=>null!==e.name)}getHeight(){return this._pane.height()}setHeight(e){const t=this._chartWidget.model().model(),i=t.panes();(0,s.assert)(i.length>1,"Unable to change pane's height if there is only one pane");const r=i.indexOf(this._pane);(0,s.assert)(-1!==r,"Invalid pane index");const n=new d(t,r,e);this._chartWidget.model().undoHistory().pushUndoCommand(n)}moveTo(e){const t=this.paneIndex();t!==e&&((0,s.assert)(e>=0&&e{"use strict";i.d(t,{PriceScaleApi:()=>s});class s{constructor(e,t){this._chartUndoModel=e,this._chartModel=e.model(),this._priceScale=t}getMode(){const e=this._priceScale.properties().childs();return e.percentage.value()?2:e.indexedTo100.value()?3:e.log.value()?1:0}setMode(e){this._priceScale.setMode({percentage:2===e,log:1===e,indexedTo100:3===e})}isInverted(){return this._priceScale.isInverted()}setInverted(e){this._priceScale.properties().childs().isInverted.setValue(e)}getVisiblePriceRange(){return this._priceScale.priceRangeInPrice()}setVisiblePriceRange(e){this._priceScale.setPriceRangeInPrice(e),this._chartModel.lightUpdate()}hasMainSeries(){return this._priceScale.hasMainSeries()}getStudies(){ +return this._priceScale.getStudies().map(e=>e.id())}currency(){const e=this._priceScale.currency(this._chartModel.availableCurrencies());return null===e?null:{selectedCurrency:e.selectedCurrency,readOnly:e.readOnly}}setCurrency(e){this._chartUndoModel.setPriceScaleCurrency(this._priceScale,e)}unit(){const e=this._priceScale.unit(this._chartModel.availableUnits());return null===e?null:{selectedUnit:e.selectedUnit,readOnly:0===e.availableGroups.size,availableGroups:Array.from(e.availableGroups)}}setUnit(e){this._chartUndoModel.setPriceScaleUnit(this._priceScale,e)}}},9062:(e,t,i)=>{"use strict";function s(e,t){const i=e.dataSourceForId(t);if(null===i)throw new Error(`Chart has no study or shape with id "${t}"`);return i}i.d(t,{SelectionApi:()=>r});class r{constructor(e){this._model=e}add(e){Array.isArray(e)?this._model.selectionMacro(t=>{e.map(s.bind(null,this._model)).forEach(e=>t.addSourceToSelection(e))}):this.add([e])}canBeAddedToSelection(e){const t=s(this._model,e);return this._model.selection().canBeAddedToSelection(t)}set(e){Array.isArray(e)?this._model.selectionMacro(t=>{t.clearSelection(),e.map(s.bind(null,this._model)).forEach(e=>t.addSourceToSelection(e))}):this.set([e])}remove(e){Array.isArray(e)?this._model.selectionMacro(t=>{e.map(s.bind(null,this._model)).forEach(e=>t.removeSourceFromSelection(e))}):this.remove([e])}contains(e){const t=s(this._model,e);return this._model.selection().isSelected(t)}allSources(){return this._model.selection().dataSources().map(e=>e.id())}isEmpty(){return this._model.selection().isEmpty()}clear(){this._model.selectionMacro(e=>{e.clearSelection()})}onChanged(){return this._model.onSelectedSourceChanged()}}},90920:(e,t,i)=>{"use strict";i.d(t,{SeriesApi:()=>l});var s=i(16282),r=i(31495),n=i(3062),o=i(13863),a=i(95996);class l{constructor(e,t){this._series=e,this._undoModel=t,this._model=t.model()}isUserEditEnabled(){return this._series.userEditEnabled()}setUserEditEnabled(e){this._series.setUserEditEnabled(e)}mergeUp(){this._model.isMergeUpAvailableForSource(this._series)&&new r.MergeUpUndoCommand(this._model,this._series,null).redo()}mergeDown(){this._model.isMergeDownAvailableForSource(this._series)&&new r.MergeDownUndoCommand(this._model,this._series,null).redo()}unmergeUp(){this._model.isUnmergeAvailableForSource(this._series)&&new n.UnmergeUpUndoCommand(this._model,this._series,null).redo()}unmergeDown(){this._model.isUnmergeAvailableForSource(this._series)&&new n.UnmergeDownUndoCommand(this._model,this._series,null).redo()}detachToRight(){new o.MoveToNewPriceScaleUndoCommand(this._model,this._series,this._pane(),"right",null).redo()}detachToLeft(){new o.MoveToNewPriceScaleUndoCommand(this._model,this._series,this._pane(),"left",null).redo()}detachNoScale(){new o.MoveToNewPriceScaleUndoCommand(this._model,this._series,this._pane(),"overlay",null).redo()}changePriceScale(e){const t=(0,s.ensureNotNull)(this._model.paneForSource(this._series));switch(e){case"new-left":new o.MoveToNewPriceScaleUndoCommand(this._model,this._series,t,"left",null).redo();break;case"new-right": +new o.MoveToNewPriceScaleUndoCommand(this._model,this._series,t,"right",null).redo();break;case"no-scale":(0,s.assert)(t.actionNoScaleIsEnabled(this._series),"Unable to leave a pane without any non-overlay price scale"),new o.MoveToNewPriceScaleUndoCommand(this._model,this._series,t,"overlay",null).redo();break;default:const i=this._model.dataSourceForId(e);if(null===i)throw new Error(`There is no study with entityId='${e}'`);const r=this._model.paneForSource(i)===t;(0,s.assert)(r,"Study should be on the main pane");const n=(0,s.ensureNotNull)(i.priceScale());new o.MoveToExistingPriceScaleUndoCommand(this._model,this._series,t,n,null).redo()}}isVisible(){return this._series.properties().childs().visible.value()}setVisible(e){this._series.properties().childs().visible.setValue(e)}bringToFront(){this._model.bringToFront([this._series])}sendToBack(){this._model.sendToBack([this._series])}entityId(){return this._series.id()}chartStyleProperties(e){return this._series.properties().childs()[c(e)].state(["inputs","inputsInfo"])}setChartStyleProperties(e,t){this._series.properties().childs()[c(e)].mergeAndFire(t)}barsCount(){return this._series.bars().size()}symbolSource(){return{symbol:this._series.symbol(),currencyId:this._series.currency(),unitId:this._series.unit()}}isLoading(){return this._series.isLoading()}data(){return this._series.data()}priceScale(){return new a.PriceScaleApi(this._undoModel,this._series.priceScale())}_pane(){return(0,s.ensureNotNull)(this._model.paneForSource(this._series))}}function c(e){switch(e){case 0:return"barStyle";case 1:return"candleStyle";case 2:return"lineStyle";case 3:return"areaStyle";case 4:return"renkoStyle";case 5:return"kagiStyle";case 6:return"pnfStyle";case 7:return"pbStyle";case 8:return"haStyle";case 9:return"hollowCandleStyle";case 10:return"baselineStyle";case 11:return"rangeStyle";case 12:return"hiloStyle";default:(0,s.ensureNever)(e)}throw new Error("unsupported chart style: "+e)}},52703:(e,t,i)=>{"use strict";i.d(t,{StudyApi:()=>S});var s=i(16282),r=i(5729),n=i.n(r),o=i(47903),a=i(70635),l=i(11204),c=i(32158),h=i(3062),d=i(31495),u=i(13863),p=i(21209),_=i(42010),m=i(78333),g=i(95996),f=i(73748),v=i(25682);class S{constructor(e,t){this._onStudyCompleted=new(n()),this._onStudyError=new(n()),this._study=e,this._chartWidget=t,this._undoModel=this._chartWidget.model(),this._model=this._undoModel.model(),this._study.onAboutToBeDestroyed().subscribe(this,()=>{this._study.onStatusChanged().unsubscribeAll(this),this._study.onAboutToBeDestroyed().unsubscribeAll(this)}),this._study.onStatusChanged().subscribe(this,e=>{switch(e.type){case f.StudyStatusType.Completed:this._onStudyCompleted.fire();break;case f.StudyStatusType.Error:this._onStudyError.fire()}})}isUserEditEnabled(){return this._study.userEditEnabled()}setUserEditEnabled(e){this._study.setUserEditEnabled(e)}getInputsInfo(){return(0,v.getStudyInputsInfo)(this._study.metaInfo())}getInputValues(){const e=this._study.inputs({symbolsForChartApi:!1,asObject:!0});return Object.keys(e).map(t=>{const i=e[t];return{id:t,value:(0, +o.isObject)(i)?i.v:i}})}setInputValues(e){const t=this.getInputValues();for(const i of e){void 0!==t.find(e=>e.id===i.id)?this._study.properties().inputs[i.id].setValue(i.value):console.warn(`There is no such input: "${i.id}"`)}}mergeUp(){this._model.isMergeUpAvailableForSource(this._study)&&new d.MergeUpUndoCommand(this._model,this._study,null).redo()}mergeDown(){this._model.isMergeDownAvailableForSource(this._study)&&new d.MergeDownUndoCommand(this._model,this._study,null).redo()}unmergeUp(){this._model.isUnmergeAvailableForSource(this._study)&&new h.UnmergeUpUndoCommand(this._model,this._study,null).redo()}unmergeDown(){this._model.isUnmergeAvailableForSource(this._study)&&new h.UnmergeDownUndoCommand(this._model,this._study,null).redo()}onDataLoaded(){return this._onStudyCompleted}onStudyError(){return this._onStudyError}mergeUpWithUndo(){this._model.isMergeUpAvailableForSource(this._study)&&this._undoModel.mergeSourceUp(this._study)}mergeDownWithUndo(){this._model.isMergeDownAvailableForSource(this._study)&&this._undoModel.mergeSourceDown(this._study)}unmergeUpWithUndo(){this._model.isUnmergeAvailableForSource(this._study)&&this._undoModel.unmergeSourceUp(this._study)}unmergeDownWithUndo(){this._model.isUnmergeAvailableForSource(this._study)&&this._undoModel.unmergeSourceDown(this._study)}priceScale(){return new g.PriceScaleApi(this._undoModel,(0,s.ensureNotNull)(this._study.priceScale()))}symbolSource(){const e=(0,s.ensureNotNull)(this._study.symbolSource());return{symbol:e.symbol(),currencyId:e.currency(),unitId:e.unit()}}currency(){return this._study.currency()}changePriceScale(e){const t=(0,s.ensureNotNull)(this._model.paneForSource(this._model.mainSeries())),i=(0,s.ensureNotNull)(this._model.paneForSource(this._study));switch(e){case"no-scale":(0,s.assert)(i.actionNoScaleIsEnabled(this._study),"Unable to leave a pane without any non-overlay price scale"),new u.MoveToNewPriceScaleUndoCommand(this._model,this._study,i,"overlay",null).redo();break;case"as-series":(0,s.assert)(i===t,"Study should be on the main pane"),new u.MoveToExistingPriceScaleUndoCommand(this._model,this._study,i,this._model.mainSeries().priceScale(),null).redo();break;case"new-left":new u.MoveToNewPriceScaleUndoCommand(this._model,this._study,i,"left",null).redo();break;case"new-right":new u.MoveToNewPriceScaleUndoCommand(this._model,this._study,i,"right",null).redo();break;default:const r=this._model.dataSourceForId(e);if(null===r)throw new Error(`There is no study with entityId='${e}'`);const n=i===this._model.paneForSource(r);(0,s.assert)(n,"Both studies should be on the same pane");const o=(0,s.ensureNotNull)(r.priceScale()),a=(0,c.sourceNewCurrencyOnPinningToPriceScale)(this._study,o,this._model),h=(0,_.sourceNewUnitOnPinningToPriceScale)(this._study,o,this._model);new u.MoveToExistingPriceScaleUndoCommand(this._model,this._study,i,o,null).redo(),null!==a&&new l.SetPriceScaleCurrencyUndoCommand(o,a,this._undoModel.chartWidget(),null).redo(),null!==h&&new m.SetPriceScaleUnitUndoCommand(o,h,this._undoModel.chartWidget(),null).redo()}} +isVisible(){return this._study.properties().visible.value()}setVisible(e){this._study.properties().visible.setValue(e)}bringToFront(){this._model.bringToFront([this._study])}sendToBack(){this._model.sendToBack([this._study])}applyOverrides(e){(0,a.applyOverridesToStudy)(this._study,e)}dataLength(){return this._study.status().type!==f.StudyStatusType.Completed?0:this._study.metaInfo().plots.length>0?this._study.data().size():this._model.mainSeries().bars().size()}isLoading(){return this._study.isLoading()}properties(){return this._study.properties()}async applyToEntireLayout(){const e=new p.ActionsProvider(this._chartWidget),t=(await e.contextMenuActionsForSources([this._study])).find(e=>"applyStudyToEntireLayout"===e.id);t&&t.execute()}}},25682:(e,t,i)=>{"use strict";i.d(t,{getStudyInputsInfo:()=>r});var s=i(79881);function r(e){return void 0===e.inputs?[]:e.inputs.map(e=>({...e,id:e.id,localizedName:void 0!==e.name?(0,s.t)(e.name,{context:"input"}):""}))}},50388:(e,t,i)=>{"use strict";i.d(t,{ChartSession:()=>u});var s=i(5729),r=i.n(s),n=i(16282),o=i(32856),a=i.n(o),l=i(45259),c=i(65447);const h=(0,c.getLogger)("ChartApi.AbstractSession");var d=i(47903);(0,c.getLogger)("ChartSession");class u extends class{constructor(e,t,i){this._isConnected=new(a())(!1),this._state=0,this._isConnectForbidden=!1,this._sessionId="",this._sessionIdChanged=new(r()),this._chartApi=e,this._sessionPrefix=t,this._shouldReconnectAfterCriticalError=i}destroy(){this._logNormal("Destroying session"),this._isConnected.unsubscribe(),this.disconnect(),this._sessionIdChanged.destroy(),delete this._chartApi,this._logNormal("Session has been destroyed")}isConnected(){return this._isConnected}sessionId(){return this._sessionId}onSessionIdChanged(){return this._sessionIdChanged}connect(){0===this._state&&((0,n.assert)(!this._isConnectForbidden,"Cannot call connect because it is forbidden at this moment"),this._setSessionId(`${this._sessionPrefix}_${(0,l.randomHash)()}`),this._logNormal("Connecting session - wait until transport stay connected"),this._state=1,this._chartApi.createSession(this._sessionId,this))}disconnect(){0!==this._state&&((0,n.assert)(""!==this._sessionId,"sessionId must not be invalid"),this._logNormal("Disconnecting session..."),this._forbidConnectWhile(()=>{this._chartApi.connected()&&this._sendRemoveSession(),this._processDestroyingOnServer()}))}onMessage(e){switch(e.method){case"connected":return void this._onChartApiConnected();case"disconnected":return void this._onChartApiDisconnected();case"critical_error":const t=String(e.params[0]),i=String(e.params[1]);return void this._onCriticalError(t,i)}this._onMessage(e)}_getChartApi(){return this._chartApi}_generateLogMessage(e){return`[${this._sessionId}] ${e}`}_onCriticalError(e,t){this._logError(`Critical error. Reason=${e}, info=${t}.`),this._forbidConnectWhile(()=>{this._processDestroyingOnServer()}),this._shouldReconnectAfterCriticalError?(this._logNormal("Reconnecting after critical error..."),this.connect()):this._logNormal("Reconnecting after critical error skipped")} +_onChartApiConnected(){(0,n.assert)(1===this._state,"Session is not registered"),this._logNormal("Transport is connected. Creating session on the server"),this._sendCreateSession(),this._state=2,this._isConnected.setValue(!0)}_onChartApiDisconnected(){this._logNormal("Transport is disconnected. Reconnecting..."),this._forbidConnectWhile(()=>{this._processDestroyingOnServer()}),this.connect()}_setSessionId(e){const t=this._sessionId;this._logNormal(`Changing sessionId: old=${t}, new=${e}`),this._sessionId=e,this._sessionIdChanged.fire(e,t)}_logNormal(e){h.logNormal(this._generateLogMessage(e))}_logError(e){h.logError(this._generateLogMessage(e))}_processDestroyingOnServer(){this._state=0,this._isConnected.setValue(!1),this._chartApi.removeSession(this._sessionId),this._setSessionId("")}_forbidConnectWhile(e){this._isConnectForbidden=!0,e(),this._isConnectForbidden=!1}}{constructor(e,t=!1){super(e,"cs",!1),this._sessionDisabled=!1,this._handler=null,this._criticalError=new(r()),this._disableStatistics=t}destroy(){this._criticalError.destroy(),this._handler=null,super.destroy()}serverTimeOffset(){return this._getChartApi().serverTimeOffset()}switchTimezone(e){return this._getChartApi().switchTimezone(this.sessionId(),e)}defaultResolutions(){return this._getChartApi().defaultResolutions()}availableCurrencies(){return this._getChartApi().availableCurrencies()}availableUnits(){return this._getChartApi().availableUnits()}resolveSymbol(e,t,i){return this._getChartApi().resolveSymbol(this.sessionId(),e,t,i)}requestFirstBarTime(e,t,i){return this._getChartApi().requestFirstBarTime(this.sessionId(),e,t,i)}createSeries(e,t,i,s,r,n,o){return this._getChartApi().createSeries(this.sessionId(),e,t,i,s,r,n,o)}modifySeries(e,t,i,s,r,n){return this._getChartApi().modifySeries(this.sessionId(),e,t,i,s,r,n)}removeSeries(e){return!!this.isConnected().value()&&this._getChartApi().removeSeries(this.sessionId(),e)}requestMoreData(e,t,i){return"number"==typeof e?this._getChartApi().requestMoreData(this.sessionId(),e):this._getChartApi().requestMoreData(this.sessionId(),e,t,i)}requestMoreTickmarks(e,t,i){return(0,d.isNumber)(e)?this._getChartApi().requestMoreTickmarks(this.sessionId(),e):this._getChartApi().requestMoreTickmarks(this.sessionId(),e,t,i)}requestMetadata(e,t){(()=>{this._getChartApi().requestMetadata(this.sessionId(),e,t)})()}isCanCreateStudy(e){return this._getChartApi().isCanCreateStudy(e)}createStudy(e,t,i,s,r,n,o){return this._getChartApi().createStudy(this.sessionId(),e,t,i,s,r,n,o)}rebindStudy(e,t,i,s,r,n,o){return this._getChartApi().rebindStudy(this.sessionId(),e,t,i,s,r,n,o)}modifyStudy(e,t,i,s){return this._getChartApi().modifyStudy(this.sessionId(),e,t,i,s)}removeStudy(e,t){return this._getChartApi().removeStudy(this.sessionId(),e,t)}createPointset(e,t,i,s,r,n){return this._getChartApi().createPointset(this.sessionId(),e,t,i,s,r,n)}modifyPointset(e,t,i,s){return this._getChartApi().modifyPointset(this.sessionId(),e,t,i,s)}removePointset(e){return this._getChartApi().removePointset(this.sessionId(),e)} +setVisibleTimeRange(e,t,i,s,r,n){this._getChartApi().setVisibleTimeRange(this.sessionId(),e,t,i,s,!0,r,n)}criticalError(){return this._criticalError}connect(e=null){null!==e&&(this._handler=e),super.connect()}setHandler(e){this._handler=e}connected(){return this.isConnected().value()&&!this._sessionDisabled}disable(){this._sessionDisabled=!0}chartApi(){return this._getChartApi()}_sendCreateSession(){Object.keys(this).forEach(e=>{/^(s|st|symbol_)\d+$/.test(e)&&delete this[e]}),this._getChartApi().chartCreateSession(this.sessionId(),this._disableStatistics)}_sendRemoveSession(){this._getChartApi().chartDeleteSession(this.sessionId())}_onMessage(e){this._handler&&this._handler(e)}_onCriticalError(e,t){this._criticalError.fire(e,t),super._onCriticalError(e,t)}}},85060:(e,t,i)=>{"use strict";var s=i(47903).declareClassAsPureInterface;function r(){}TradingView.WEB_SOCKET_WAS_CONNECTED=!1,r.REBIND_STUDY_STANDALONE_TO_CHILD=1,r.REBIND_STUDY_CHILD_TO_STANDALONE=2,r.prototype.defaultWatchlistSymbols=function(){},r.prototype.defaultResolutions=function(){},r.prototype.availableCurrencies=function(){},r.prototype.availableUnits=function(){},r.prototype.supportedSymbolsTypes=function(){},r.prototype.supportedExchangesList=function(){},r.prototype.symbolsGrouping=function(){},r.prototype.quoteCreateSession=function(e){},r.prototype.quoteDeleteSession=function(e){},r.prototype.quoteSetFields=function(e,t){},r.prototype.quoteAddSymbols=function(e,t){},r.prototype.quoteRemoveSymbols=function(e,t){},r.prototype.quoteFastSymbols=function(e,t){},r.prototype.depthCreateSession=function(e,t,i){},r.prototype.depthDeleteSession=function(e){},r.prototype.depthSetSymbol=function(e,t){},r.prototype.depthClearSymbol=function(e){},r.prototype.depthSetScale=function(e,t){},r.prototype.chartCreateSession=function(e,t){},r.prototype.chartDeleteSession=function(e){},r.prototype.createSession=function(e,t){},r.prototype.removeSession=function(e){},r.prototype.connected=function(){},r.prototype.connect=function(){},r.prototype.disconnect=function(){},r.prototype.switchTimezone=function(e,t){},r.prototype.resolveSymbol=function(e,t,i,s){},r.prototype.createSeries=function(e,t,i,s,r,n,o,a){},r.prototype.removeSeries=function(e,t,i){},r.prototype.modifySeries=function(e,t,i,s,r,n,o){},r.prototype.requestMoreData=function(e,t,i,s){},r.prototype.requestMetadata=function(e,t,i){},r.prototype.isCanCreateStudy=function(e,t){},r.prototype.createStudy=function(e,t,i,s,r,n,o){},r.prototype.rebindStudy=function(e,t,i,s,r,n,o,a){},r.prototype.removeStudy=function(e,t,i){},r.prototype.modifyStudy=function(e,t,i,s,r){},r.prototype.createPointset=function(e,t,i,s,r,n,o){},r.prototype.modifyPointset=function(e,t,i,s,r){},r.prototype.removePointset=function(e,t,i){},r.prototype.requestMoreTickmarks=function(e,t,i,s){},r.prototype.requestFirstBarTime=function(e,t,i,s){},r.prototype._invokeHandler=function(e,t){},r.prototype._sendRequest=function(e,t){},r.prototype._onMessage=function(e){},r.prototype._dispatchNotification=function(e){}, +r.prototype._invokeNotificationHandler=function(e,t,i){},r.prototype._notifySessions=function(e){},r.prototype.unpack=function(e){},r.prototype.searchSymbols=function(e,t,i,s,r,n,o,a,l,c){},r.prototype.serverTimeOffset=function(){},r.prototype.getMarks=function(e,t,i,s,r){},r.prototype.getTimescaleMarks=function(e,t,i,s,r){},s(r,"ChartApiInterface"),e.exports.HandlerInfo=function(e,t){this.handler=e,this.customId=t},e.exports.ChartApiInterface=r},15755:(e,t,i)=>{"use strict";i.r(t),i.d(t,{setCustomAdapter:()=>_,initialize:()=>m,updateUser:()=>g,getChartsCount:()=>f,getCharts:()=>v,removeChart:()=>S,saveChart:()=>y,getChartContent:()=>b,loadChart:()=>w,removeStudyTemplate:()=>P,getStudyTemplateContent:()=>C,saveStudyTemplate:()=>T,getStudyTemplatesList:()=>x,invalidateStudyTemplatesList:()=>I,getStudyTemplateContentById:()=>M,getStandardStudyTemplateContentById:()=>L,removeStudyTemplateById:()=>A,renameStudyTemplate:()=>k,replaceStudyTemplate:()=>E,getDrawingTemplates:()=>D,loadDrawingTemplate:()=>V,removeDrawingTemplate:()=>B,saveDrawingTemplate:()=>N});var s=i(18437),r=i(65447),n=i(97849);const o=(0,r.getLogger)("Chart.SaveloadAdapter.Library");let a,l,c,h,d=null,u=null;function p(e){return`${c}/${encodeURIComponent(h)}/${e}?client=${encodeURIComponent(a)}&user=${encodeURIComponent(l)}`}function _(e){d=e}function m(e,t,i,s){a=e,l=t,c=i,h=s}function g(e){l=e}function f(e,t){throw new Error("Not implemented")}async function v(){const e=e=>e.map(e=>({id:e.id,name:e.name,image_url:String(e.id),modified_iso:e.timestamp,short_symbol:e.symbol,interval:e.resolution}));if(d)return d.getAllCharts().then(e);try{const t=await fetch(""+p("charts"),{credentials:"same-origin"});if(!t.ok)throw new Error(`Getting chart content response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Get chart content request failed: "+i.message);return e(i.data)}catch(e){throw o.logWarn((0,n.errorToString)(e)),e}}async function S(e){if(d)d.removeChart(e);else try{const t=await fetch(`${p("charts")}&chart=${encodeURIComponent(e)}`,{method:"DELETE",credentials:"same-origin"});if(!t.ok)throw new Error(`Remove chart response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Remove drawing template request failed: "+i.message)}catch(e){throw o.logWarn((0,n.errorToString)(e)),e}}async function y(e,t,i,s,r){const a=r.id.value(),l={name:e,content:JSON.stringify(s),symbol:t,resolution:i};if(d)return d.saveChart({...l,id:a});try{const e=new FormData;for(const t in l)e.append(t,l[t]);let t=p("charts");null!=a&&(t+="&chart="+encodeURIComponent(a));const i=await fetch(t,{credentials:"same-origin",method:"POST",body:e});if(!i.ok)throw new Error(`Saving chart content response was not OK. Status: ${i.status}.`);const s=await i.json();if("ok"!==s.status)throw new Error("Saving chart content request failed: "+s.message);return s.id.toString()}catch(e){throw o.logWarn((0,n.errorToString)(e)),e}}async function b(e){const t=t=>{const i=JSON.parse(t);return i.uid=e.id,i} +;if(d)return d.getChartContent(e.id).then(e=>t(e));try{const i=await fetch(`${p("charts")}&chart=${encodeURIComponent(e.id)}`,{credentials:"same-origin"});if(!i.ok)throw new Error(`Getting chart content response was not OK. Status: ${i.status}.`);const s=await i.json();if("ok"!==s.status)throw new Error("Get chart content request failed: "+s.message);return t(s.data.content)}catch(e){throw o.logWarn((0,n.errorToString)(e)),e}}function w(e){b(e).then(e=>{s.emit("chart_load_requested",e)},()=>{o.logWarn("Error loading chart")})}async function P(e){try{if(d)return d.removeStudyTemplate({name:e});const t=await fetch(`${p("study_templates")}&template=${encodeURIComponent(e)}`,{method:"DELETE",credentials:"same-origin"});if(!t.ok)throw new Error(`Remove study template response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Remove study template request failed: "+i.message)}catch(e){throw o.logWarn((0,n.errorToString)(e)),e}}async function C(e){try{if(d){return{content:await d.getStudyTemplateContent({name:e})}}const t=await fetch(`${p("study_templates")}&template=${encodeURIComponent(e)}`,{credentials:"same-origin"});if(!t.ok)throw new Error(`Get study template response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Get study template request failed: "+i.message);return i.data}catch(e){throw o.logWarn((0,n.errorToString)(e)),e}}async function T(e){try{if(d)return d.saveStudyTemplate(e).then(()=>({error:""})).catch(e=>({error:null!=e?(0,n.errorToString)(e):"error"}));const t=new FormData;t.append("name",e.name),t.append("content",e.content);const i=await fetch(p("study_templates"),{method:"POST",body:t,credentials:"same-origin"});if(!i.ok)throw new Error(`Save study template response was not OK. Status: ${i.status}.`);const s=await i.json();return{error:"ok"===s.status?"":s.status}}catch(e){throw o.logWarn((0,n.errorToString)(e)),e}}async function x(){try{if(u)return u;u=[];const e=e=>(u=e.map(e=>({is_default:!1,name:e.name})),u);if(d)return d.getAllStudyTemplates().then(e);const t=await fetch(p("study_templates"),{method:"GET",credentials:"same-origin"});if(!t.ok)throw new Error(`Study templates list response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Study templates list request failed: "+i.message);return e(i.data)}catch(e){throw o.logWarn((0,n.errorToString)(e)),e}}function I(){u=null}function M(e,t){throw new Error("Not implemented")}function L(e,t){throw new Error("Not implemented")}function A(e,t){throw new Error("Not implemented")}function k(e,t,i){throw new Error("Not implemented")}function E(e,t,i){throw new Error("Not implemented")}async function D(e){throw new Error("Not implemented")}async function V(e,t){throw new Error("Not implemented")}async function B(e,t){throw new Error("Not implemented")}async function N(e,t,i){throw new Error("Not implemented")}},68606:(e,t,i)=>{"use strict" +;var s=i(16282).ensureNotNull,r=i(42062),n=i(35001).Interval,o=i(20291),a=i(98779),l=i(85060),c=l.ChartApiInterface,h=l.HandlerInfo,d=i(47903).requireFullInterfaceImplementation,u=i(65447).getLogger("Chart.ChartApiLocal"),p=i(89077).TIMEFRAMETYPE,_=i(63059).createDwmAligner;TradingView.STUDY_COUNT_LIMIT=210,JSServer.ChartApi=function(e){this._notificationHandlers={},this._sessions={},this.studyCounter=0,this._connected=!1,this._enabled=!1,this._studyEngine=new o(e),this._callbacks={},this._serverTimeOffset=0;var t=this;this._studyEngine.on("configuration_received",(function(){t._fireEvent("configuration_received")})),this._studyEngine.on("realtime_tick",(function(e){var i={time:e.value[0]/1e3,open:e.value[1],high:e.value[2],low:e.value[3],close:e.value[4],volume:e.value[5]};t._fireEvent("realtime_tick",i,!0)})),this._setVisibleRangeTimeout={}},JSServer.ChartApi.prototype.destroy=function(){this._studyEngine.destroy(),this._studyEngine=null},JSServer.ChartApi.prototype.purgeCache=function(e){this._studyEngine.purgeCache(),this._studyEngine.purgeDataCache()},JSServer.ChartApi.prototype.defaultWatchlistSymbols=function(){return this._watchlistSettings.default_symbols},JSServer.ChartApi.prototype.defaultResolutions=function(){return this._studyEngine.supportedResolutions()||["1","3","5","15","30","45","60","120","180","240","1D","1W","1M"]},JSServer.ChartApi.prototype.availableCurrencies=function(){var e=this._studyEngine.supportedCurrencies().map((function(e){return"string"==typeof e?{id:e,code:e}:e}));return Promise.resolve(e)},JSServer.ChartApi.prototype.availableUnits=function(){return Promise.resolve(this._studyEngine.supportedUnits())},JSServer.ChartApi.prototype.supportedSymbolsTypes=function(){return this._studyEngine.supportedSymbolsTypes()},JSServer.ChartApi.prototype.supportedExchangesList=function(){return this._studyEngine.supportedExchangesList()},JSServer.ChartApi.prototype.symbolsGrouping=function(){return this._studyEngine.symbolsGrouping()},JSServer.ChartApi.prototype.start=function(){this._enabled=!0,this._fireEvent("start_enabled")},JSServer.ChartApi.prototype.unsubscribe=function(e,t){var i=this._callbacks[e];i&&i.splice(i.indexOf(t),1)},JSServer.ChartApi.prototype.on=function(e,t){return this._callbacks.hasOwnProperty(e)||(this._callbacks[e]=[]),this._callbacks[e].push(t),this},JSServer.ChartApi.prototype._fireEvent=function(e,t,i){if(this._callbacks.hasOwnProperty(e)){var s=this._callbacks[e].slice(0);i||(this._callbacks[e]=[]);for(var r=0;rn||(TradingView.ChartapiMessagerInstances[e].onSeriesTimeframeUpdate(t,i,_,n,a),l&&setTimeout(l,0))}}}if(this._studyEngine.isTimeScaleExtendedTo(e,1e3*r))p();else{var m=TradingView.ChartapiMessagerInstances[e].seriesCompleted,g=TradingView.ChartapiMessagerInstances[e].seriesError;void 0!==this._setVisibleRangeTimeout[e]&&clearTimeout(this._setVisibleRangeTimeout[e]),this._setVisibleRangeTimeout[e]=setTimeout(function(){delete this._setVisibleRangeTimeout[e],m.subscribe(null,f,!0),g.subscribe(null,v,!0),this._studyEngine.ensureExtendedTo(t,e,1e3*r)}.bind(this),0)}function f(e,s){e===t&&s===i&&(m.unsubscribe(null,f),g.unsubscribe(null,v),p())}function v(e,s){ +e===t&&s===i&&m.unsubscribe(null,f)}},JSServer.ChartApi.prototype._applyTimeFrame=function(e,t,i,s,o){var a,l,c={},h=!0;if(o.type===p.PeriodBack){var d=this._studyEngine.getSeriesLastBarTime(e,i);if(null===d)return;l=d/1e3;var u=n.parse(o.value),m=this._studyEngine.getSeriesSymbolInfo(e,i);a=r.alignPeriodsBackForVisibleRange(m.session,m.session_holidays,m.corrections,u.letter(),u.multiplier(),1,d)/1e3;var g=_(this._studyEngine.getSeriesInterval(e,i),m);null!==g&&(l=g.timeToExchangeTradingDay(1e3*l)/1e3,a=g.timeToExchangeTradingDay(1e3*a)/1e3),c={applyDefaultRightMargin:!0},h=!1}else a=o.from,l=o.to;this.setVisibleTimeRange(e,i,s,a,l,h,c)},JSServer.ChartApi.prototype.modifySeries=function(e,t,i,s,r,n,o){var a=this;this._notificationHandlers[e][t]=new h((function(r){"series_completed"===r.method&&null!==n&&(a._applyTimeFrame(e,s,t,i,n),n=null),o(r)}),t),this._studyEngine.modifySeries(e,t,s,r,i)},JSServer.ChartApi.prototype.requestMoreData=function(e,t){this._studyEngine.extendSeriesRange(e,t)},JSServer.ChartApi.prototype.setStudiesAccessController=function(e){this.studiesAccessController=e},JSServer.ChartApi.prototype.setWatchlistSettings=function(e){this._watchlistSettings=e},JSServer.ChartApi.prototype.allStudiesMetadata=function(){return this._studyEngine.studiesMetadata()},JSServer.ChartApi.prototype.requestMetadata=function(e,t,i){this._notificationHandlers[e][t]=new h(i,t);var s=this.studiesAccessController.getEnabledTools();TradingView.ChartapiMessagerInstances[e].onRequestMetadata(t,s)},JSServer.ChartApi.prototype.isCanCreateStudy=function(){return this.studyCounter{"use strict";var s=i(5729),r=function(e,t){this._server=e,this._session=t,this.seriesCompleted=new s,this.seriesError=new s};r.prototype.onRequestMetadata=function(e,t){this._server.receiveLocalResponse({method:"studies_metadata",params:[this._session,e,{errors:[],hash:"",metainfo:t,migrations:[]}]})},r.prototype.onSymbolResolved=function(e,t){this._server.receiveLocalResponse({method:"symbol_resolved",params:[this._session,e,t]})},r.prototype.onSymbolError=function(e,t){this._server.receiveLocalResponse({method:"symbol_error",params:[this._session,e,t]})},r.prototype.onStudyError=function(e,t,i){this._server.receiveLocalResponse({method:"study_error",params:[this._session,e,t,i]})},r.prototype.onSeriesLoading=function(e,t){this._server.receiveLocalResponse({method:"series_loading",params:[this._session,e,t]})},r.prototype.onSeriesCompleted=function(e,t,i){this._server.receiveLocalResponse({method:"series_completed",params:[this._session,e,i,t]}),this.seriesCompleted.fire(e,t)},r.prototype.onSeriesError=function(e,t,i){this._server.receiveLocalResponse({method:"series_error",params:[this._session,e,t,i]}), +this.seriesError.fire(e,t)},r.prototype.onStudyCompleted=function(e,t){this._server.receiveLocalResponse({method:"study_completed",params:[this._session,e,t]})},r.prototype.onStudyLoading=function(e,t){this._server.receiveLocalResponse({method:"study_loading",params:[this._session,e,t]})},r.prototype.onTickmarksUpdated=function(e,t){var i={method:"tickmark_update",params:[this._session,{index:e,zoffset:0,changes:[],marks:t,index_diff:[]}]};this._server.receiveLocalResponse(i)},r.prototype.onTimescaleUpdate=function(e,t){var i={method:"timescale_update",params:[this._session,this._prepareDataUpdateObjects(t),{index:e.pointsIndex,zoffset:0,changes:e.points,marks:e.marks,index_diff:e.indexChange,baseIndex:e.baseIndex}]};this._server.receiveLocalResponse(i)},r.prototype.onTimescaleCompleted=function(e){this._server.receiveLocalResponse({method:"timescale_completed",params:[this._session,e]})},r.prototype.onSeriesTimeframeUpdate=function(e,t,i,s,r){var n={method:"series_timeframe",params:[this._session,e,t,i,s,null,!0,r]};this._server.receiveLocalResponse(n)},r.prototype.onPointsetDataUpdate=function(e,t,i){this.onDataUpdate(e,t,i,null)},r.prototype._prepareDataUpdateObjects=function(e){var t={};return e.forEach((function(e){t[e.objId]={series:e.data,turnaround:e.turnaround},e.nonSeriesData&&(e.nonSeriesData.data?t[e.objId].nonseries={d:JSON.stringify(e.nonSeriesData.data),indexes:e.nonSeriesData.indexes}:t[e.objId].nonseries={d:"",indexes:[]})})),t},r.prototype.onDataUpdate=function(e,t,i,s){var r={method:"data_update",params:[this._session,this._prepareDataUpdateObjects([{objId:e,turnaround:t,data:i,nonSeriesData:s}])]};this._server.receiveLocalResponse(r)},r.prototype.onQuotesData=function(e){this._server.receiveLocalResponse({method:"quote_symbol_data",params:e})},r.prototype.onDepthData=function(e){this._server.receiveLocalResponse({method:"dd",params:e})},r.prototype.onDepthUpdate=function(e){this._server.receiveLocalResponse({method:"dpu",params:e})},r.prototype.onClearData=function(e){this._server.receiveLocalResponse({method:"clear_data",params:[this._session,e]})},TradingView.ChartapiMessagerInstances=[],e.exports=r},10706:(e,t,i)=>{"use strict";i.d(t,{DatafeedRequestsCachedProcessor:()=>_});var s=i(16282),r=i(35001),n=i(49382),o=i(77392),a=i(27490),l=i(42062),c=i(63059),h=i(12125);i(95068);function d(e,t){return e.ticker+(e.currency_code?"_#_"+e.currency_code:"")+(e.unit_id?"_#_"+e.unit_id:"")+"_#_"+t}function u(e){return new Date(e).toISOString()}class p{constructor(e,t,i,s,n,o){this._cache={bars:[]},this._nextSubscriptionId=0,this._pendingSubscribers=[],this._subscribers=[],this._requesting=!1,this._leftDate=null,this._nextTime=null,this._realtimeOn=!1,this._endOfData=!1,this._resetCacheTimeout=null,this._errorMessage=null,this._destroyed=!1,this._emptyResponsesCount=0,this._datafeed=e,this._symbolInfo=t,this._interval=r.Interval.parse(i),this._resolution=this._interval.value(),this._dwmAligner=n,this._serverTimeOffsetGetter=s,this._resetCacheTimePeriod=void 0===o?1e4:o, +this._sessionSpec=new h.SessionSpec(t.timezone,t.session,t.session_holidays,t.corrections),this._updateDatesFromExpirationDate()}destroy(){0!==this._subscribers.length&&console.warn("Destroying with not-empty state"),this._clearResetCacheTimeout(),this._unsubscribeRealtime(),this._purgeCache(),delete this._datafeed,this._destroyed=!0}addSubscription(e,t,i){const s=this._getNextSubscriptionId();this._pendingSubscribers.push({key:s,range:e,onHistoryCallback:t,onErrorCallback:i}),r.Interval.isDWM(this._resolution)&&void 0!==e.to&&null!==this._dwmAligner&&e.to%864e5&&console.warn(`Internal error: invalid date for DWM resolution ${u(e.to)}, expected time without a time part`),this._clearResetCacheTimeout();return setTimeout(()=>{this._destroyed||this._processPendingSubscribers()},0),s}removeSubscription(e){const t=this._pendingSubscribers.find(t=>t.key===e);if(t)return void this._pendingSubscribers.splice(this._pendingSubscribers.indexOf(t),1);const i=this._subscribers.find(t=>t.key===e);if(i)return this._subscribers.splice(this._subscribers.indexOf(i),1),void(this._subscribers.length||(this._resetCacheTimeout=setTimeout(()=>{this._resetCacheTimeout=null,this._purgeCache(),this._unsubscribeRealtime()},this._resetCacheTimePeriod)));console.warn("Unknown subscription symbol={0}, resolution={1}, key={2}".format(this._symbolInfo.name,this._resolution,e))}_logMessage(e,t){if(a.enabled("charting_library_debug_mode")||t){const t=this._symbolInfo.currency_code,i=this._symbolInfo.unit_id;console.log(`FEED [${this._symbolInfo.name}|${this._resolution}${t?"|"+t:""}${i?"|"+i:""}]: ${e}`)}}_clearResetCacheTimeout(){null!==this._resetCacheTimeout&&(clearTimeout(this._resetCacheTimeout),this._resetCacheTimeout=null)}_purgeCache(){this._logMessage("Reset cache"),this._cache={bars:[]},this._errorMessage=null,this._leftDate=null,this._endOfData=!1,this._updateDatesFromExpirationDate()}_updateDatesFromExpirationDate(){void 0!==this._symbolInfo.expiration_date&&(this._nextTime=1e3*this._symbolInfo.expiration_date,this._leftDate=1e3*(this._symbolInfo.expiration_date+1))}_dealignTime(e){return null===this._dwmAligner?e:this._dwmAligner.timeToExchangeTradingDay(e)}_normalizeRange(e){const t=void 0!==e.to?e.to:this._dealignTime(this._now());if(0===this._cache.bars.length||void 0!==e.to&&t<=(0,s.ensureNotNull)(this._leftDate))return{countBack:e.countBack,to:t};const i=null!==this._dwmAligner?this._dwmAligner.timeToSessionStart(t):t,r=(0,n.lowerbound)(this._cache.bars,i,(e,t)=>e.time{e.onErrorCallback(t)})}let t=this._normalizeRange(e[0].range);for(const i of e.map(e=>this._normalizeRange(e.range)))(i.tot.countBack)&&(t=i);this._logMessage(`Leftmost subscriber requires ${t.countBack} bars prior ${u(t.to)}`);!(null===this._leftDate||t.to{const t=this._moveSubscriberToRealtime(e);this._returnHistoryDataToSubscriber(e,t)}),this._subscribeRealtimeIfNeeded()):this._ensureRequestedTo(t)}_moveSubscriberToRealtime(e){const t={key:e.key,onHistoryCallback:e.onHistoryCallback,barset:null};return this._subscribers.push(t),t}_isSymbolExpired(){return this._symbolInfo.expired||void 0!==this._symbolInfo.expiration_date}_subscribeRealtimeIfNeeded(){!this._subscribers.length||this._realtimeOn||this._isSymbolExpired()||this._subscribeRealtime()}_subscribeRealtime(){if(this._symbolInfo.expired||this._realtimeOn)return;this._realtimeOn=!0,this._datafeed.subscribeBars(this._symbolInfo,this._resolution,e=>{null!==this._dwmAligner&&(e.time=this._dwmAligner.timeToSessionStart(e.time)),this._putToCacheNewBar(e),this._subscribers.forEach(t=>{const i=t.barset;if(null===i)throw new Error("subscriber.barset is null");i.add(e),t.onHistoryCallback(i)})},d(this._symbolInfo,this._resolution),()=>{this._unsubscribeRealtime();const e=this._leftDate;this._purgeCache(),null!==e&&this._ensureRequestedTo({to:e,countBack:0})}),this._logMessage("Subscribed to realtime")}_unsubscribeRealtime(){!this._isSymbolExpired()&&this._realtimeOn&&(this._datafeed.unsubscribeBars(d(this._symbolInfo,this._resolution)),this._logMessage("Unsubscribed from realtime"),this._realtimeOn=!1)}_returnHistoryDataToSubscriber(e,t){const i=this._normalizeRange(e.range),s=this._createBarsetForRange(i);s.count()>0?this._logMessage("Bars to return for request {0}: total {1} bars in [{2} ... {3}] ".format(e.key,s.count(),u(s.bars[0].time),u(s.bars[s.count()-1].time))):this._logMessage("Request {0}. Nothing to return.".format(e.key)),t.barset=s,this._endOfData&&null!==this._leftDate&&i.to<=this._leftDate&&(s.endOfData=!0),e.onHistoryCallback(s)}_createBarsetForRange(e){const t=null!==this._dwmAligner?this._dwmAligner.timeToSessionStart(e.to):e.to,i=(0,n.lowerbound)(this._cache.bars,t,(e,t)=>e.time{if(!this._destroyed)if(a)this._logMessage("getBars callback is already called before",!0);else{if(a=!0,e.length>0){const t=` [${u(e[0].time)} ... ${u(e[e.length-1].time)}]`;this._logMessage(`Receiving bars: total ${e.length} bars in ${t}, requested range: ${o}`)}else this._logMessage("Receiving bars: barset is empty, requested range: "+o);this._requesting=!1,this._processBars(e,t)}},e=>{this._destroyed||(a?this._logMessage("getBars callback is already called before",!0):(a=!0,this._requesting=!1,this._errorMessage=e||null,this._processPendingSubscribers()))})}_processBars(e,t){this._checkBars(e),this._alignBarsTime(e),e.length>0?(this._emptyResponsesCount=0,this._processFullBarset(e,t)):(this._emptyResponsesCount+=1,this._processEmptyBarset(t)),this._processPendingSubscribers()}_processEmptyBarset(e){e&&e.nextTime?(this._logMessage("Next time received: `{0}`".format(u(1e3*e.nextTime))),this._nextTime=1e3*e.nextTime):e&&e.noData?(this._logMessage("EOD received"),this._setEndOfData()):this._logMessage("nextTime or noData should present in metainfo when empty barset is returned"),50===this._emptyResponsesCount&&(this._logMessage("EOD detected due 50 empty responses in a row"),this._setEndOfData())}_setEndOfData(){this._endOfData=!0,this._cache.bars.length&&(this._leftDate=this._dealignTime(this._cache.bars[0].time))}_processFullBarset(e,t){this._putToCache(e)?null!==this._leftDate&&0!==this._cache.bars.length&&(this._interval.isTicks()?this._leftDate=this._dealignTime(this._cache.bars[0].time):this._leftDate=Math.min(this._leftDate,this._dealignTime(this._cache.bars[0].time))):this._logMessage("Incremental update failed. Starting full update. Returned data should be in the requested range.",!0), +t&&t.nextTime?console.warn("nextTime should be set when there is no data in the requested period only"):t&&t.noData&&console.warn("noData should be set when there is no data in the requested period and earlier only")}_getNextSubscriptionId(){return this._nextSubscriptionId++}_checkBars(e,t=!1){if(a.enabled("charting_library_debug_mode"))for(let i=1;i"number"!=typeof e[i][t]||!isFinite(e[i][t]))&&console.error("Wrong bars values: all OHLC values should be numbers")}}_putToCache(e){if(0===e.length)return!0;if(this._cache.bars.length===e.length&&this._cache.bars[0].time===e[0].time&&this._cache.bars[this._cache.bars.length-1].time===e[e.length-1].time)return this._logMessage("Time range of received data is the same as cached one. Skip the update."),!0;if(0!==this._cache.bars.length&&e[e.length-1].time===this._cache.bars[0].time&&this._cache.bars.splice(0,1),0!==this._cache.bars.length&&e[e.length-1].time>=this._cache.bars[0].time){const t=this._cache.bars[this._cache.bars.length-1].time===e[e.length-1].time;if(this._cache.bars=[],!t)return this._leftDate=null,!1;this._logMessage("Received history up to now instead of incremental update. Return exactly what is requested.")}return this._cache.bars=[...e,...this._cache.bars],this._checkBars(this._cache.bars,!0),!0}_putToCacheNewBar(e){const t=this._cache.bars.length,i=e.time,s=0===t?NaN:this._cache.bars[t-1].time;0===t||st.destroy()),this._threads={},delete this._datafeed}purgeCache(){this._forEachThread((e,t)=>t.destroy()),this._threads={}}subscribe(e,t,i,s,r){const n=d(e,t);this._threads[n]||(this._threads[n]=this._createThread(e,t));return n+'"'+this._threads[n].addSubscription(i,s,r)}unsubscribe(e){const t=e.split('"');if(2!==t.length)return void console.warn("Wrong guid format");const i=t[0],s=parseInt(t[1]);this._threads.hasOwnProperty(i)?this._threads[i].removeSubscription(s):console.warn("Data thread doesnt exist: "+e)}_createThread(e,t){return new p(this._datafeed,e,t,this._serverTimeOffsetGetter,(0,c.createDwmAligner)(t,e),this._resetCacheTimePeriod)}_forEachThread(e){Object.keys(this._threads).forEach(t=>e(t,this._threads[t]))}}},33287:(e,t,i)=>{ +"use strict";i.d(t,{barTimeToEndOfPeriod:()=>r,endOfPeriodToBarTime:()=>n});var s=i(78486);function r(e,t,i){if(i.isDays())return t;if(e.moveTo(1e3*t),i.isIntraday()){const i=e.indexOfBar(1e3*t);if(i<0)throw new Error(t+" is out of the instrument session ");return e.endOfBar(i)/1e3}return e.startOfBar(s.SessionStage.LASTBAR_SESSION)/1e3}function n(e,t,i){if(i.isDays())return t;const s=1e3*t-1;if(e.moveTo(s),i.isIntraday()){const i=e.indexOfBar(s);if(i<0)throw new Error(t+" is out of the instrument session ");return e.startOfBar(i)/1e3}return t=e.startOfBar(0)/1e3}},81482:(e,t,i)=>{"use strict";i.d(t,{replaceGraphicsTimesWithTimePointIndexIndex:()=>n});const s=new Map([["horizlines",e=>[e.startIndex,e.endIndex]],["hhists",e=>[e.firstBarTime,e.firstBarTime]],["vertlines",e=>[e.index]],["polygons",e=>e.points.map(e=>e.index)]]),r=new Map([["horizlines",(e,t)=>{const i=e;i.startIndex=t.get(i.startIndex),i.endIndex=t.get(i.endIndex)}],["hhists",(e,t)=>{const i=e;i.firstBarTime=t.get(i.firstBarTime),i.lastBarTime=t.get(i.lastBarTime)}],["vertlines",(e,t)=>{const i=e;i.index=t.get(i.index)}],["polygons",(e,t)=>{const i=e;for(const e of i.points)e.index=t.get(e.index)}]]);function n(e){const t=e.data&&e.data.graphicsCmds&&e.data.graphicsCmds.create;if(!t)return[];const i=new Map,n=new Set;s.forEach((e,s)=>{const r=t[s];if(r)for(const t of r)for(const s of t.data){const t=e(s);for(const e of t)i.set(e,-1),n.add(e)}});const o=Array.from(n).sort((e,t)=>e-t);return o.forEach((e,t)=>i.set(e,t)),r.forEach((e,s)=>{const r=t[s];if(r)for(const t of r)for(const s of t.data)e(s,i)}),o}},27317:(e,t,i)=>{"use strict";var s=i(27490);window.onload=function(){location.hostname.indexOf(".")>=0&&!function(){try{return/^(192|172|10)\.[0-9][0-9][0-9]\.[0-9][0-9][0-9]\.[0-9][0-9][0-9]/.test(location.hostname)||/^.*((?:\.local)|localhost)$/.test(location.hostname)}catch(e){return!1}}()&&setTimeout((function(){try{var e=function(){var e=0;return JSON.parse(urlParams.logo).image&&(e="C",s.enabled("link_to_tradingview")||(e="D")),e}();window.ga&&(0!==e&&window.ga("send","event","s",e),urlParams.utm||window.ga("send","event","l"))}catch(e){}}),3e4)}},77848:(e,t,i)=>{"use strict";var s=i(42062),r={};e.exports=function(e,t,i){var n,o,a={},l=r[i]||"out_of_session",c=!1,h=i,d=t,u=null;function p(){var e={};e.symbolname=h,e.status="ok",e.values={},e.values.current_session=l,r[h]=l,TradingView.ChartapiMessagerInstances[d].onQuotesData([d].concat([e]))}function _(){if(n)if(o)l="out_of_session";else{var e=s.isTradingNow((new Date).getTime(),n)?"market":"out_of_session";e!==l&&(l=e,p())}}return e(i,null,(function(e){c||function(e){n=new s.SessionInfo(e.timezone,e.session,e.session_holidays,e.corrections),o=e.expired,u=setInterval(_,6e4),_(),p()}(e)}),(function(){})),a.stop=function(){c=!0,u&&clearInterval(u)},a.marketStatus=function(){return l},a}},14896:(e,t,i)=>{"use strict";i.d(t,{getChartStyleStudy:()=>n});var s=i(77392);class r{main(e){ +const t=e.new_var(s.Std.open(e)),i=e.new_var(s.Std.close(e)),r=t.get(1),n=i.get(1),o=s.Std.ohlc4(e),a=s.Std.na(t.get(1))?(s.Std.open(e)+s.Std.close(e))/2:(r+n)/2;t.set(a),i.set(o);const l=s.Std.max(s.Std.high(e),s.Std.max(a,o)),c=s.Std.min(s.Std.low(e),s.Std.min(a,o)),h=s.Std.volume(e),d=e.symbol;return[d.time,a,l,c,o,h,d.updatetime,d.isBarClosed]}}function n(e){if(0===e.type.indexOf("BarSetHeikenAshi@tv-basicstudies-"))return new r;const t="unknown builder type: "+e.type;throw console.error(t),new Error(t)}},22241:(e,t,i)=>{"use strict";var s=i(35001).Interval,r=i(63059).isAlignmentEnabled,n=i(14896).getChartStyleStudy,o=i(89164).decodeExtendedSymbol,a=i(5280).findSuitableResolutionToBuildFrom,l=function(){var e=i(77392),t=e.StudyEngine,l=e.BarBuilder,c=e.BarSet;function h(e){this.host=e,this.cache={}}function d(t){console.error(t),e.Std.error(t)}h.prototype.getCache=function(e){return this.cache[e]},h.prototype.putCache=function(e,t){this.cache[e]=t},h.prototype.subscribe=function(e,t,i,s,r,n,o,a,l,c){var h=l(o),d=function(e,t,i,s,r,n,o,a){var l=r.has_empty_bars?"_":"";return n+e+s+(t||"")+(i||"")+l+"_"+o.countBack+"_"+o.to+"_"+Boolean(a)}(e,t,i,s,o,a,h,c),u=this.getCache(d);return u||(u=this.createItem(e,t,i,s,o,h,a,c),this.putCache(d,u)),u.listeners.addListener(r,n),{key:d,listener:r}},h.prototype.unsubscribe=function(e){var t=this.getCache(e.key);t&&t.listeners.removeListener(e.listener)},h.prototype.removeUnused=function(){var e=[];for(var t in this.cache){if(this.cache[t])0===this.cache[t].listeners.listenersCount()&&e.push(t)}if(0!==e.length){for(var i=0;i{"use strict";i.d(t,{findSuitableResolutionToBuildFrom:()=>o});var s=i(35001);function r(e,t){const i=t.multiplier();for(let s=e.length-1;s>=0;s--){const r=Number(e[s]);if(i%r==0)return{error:!1, +resolution:`${r}${t.letter()}`}}return{error:!0,errorMessage:n(t.value())}}function n(e){return`Misconfiguration error: it is trying to request ${e} but we cannot build it from lower resolution`}function o(e,t){const i=s.Interval.parse(e);if((i.isWeeks()||i.isMonths())&&t.has_weekly_and_monthly){let e=["1"];i.isWeeks()&&void 0!==t.weekly_multipliers&&(e=t.weekly_multipliers),i.isMonths()&&void 0!==t.monthly_multipliers&&(e=t.monthly_multipliers);const s=r(e,i);if(!s.error)return s}if(i.isDWM()&&(void 0===t.has_daily||t.has_daily))return i.isDays()&&void 0!==t.daily_multipliers?r(t.daily_multipliers,i):void 0===t.daily_multipliers||t.daily_multipliers.includes("1")?{error:!1,resolution:"1D"}:{error:!0,errorMessage:"Misconfiguration error: it is trying to request a resolution but symbol does not support it"};if(i.isDWM())return{error:!0,errorMessage:n(i.value())};if(i.isMinutes()&&!t.has_intraday)return{error:!0,errorMessage:"Misconfiguration error: it is trying to request intraday resolution but symbol does not support it"};if(i.isSeconds()&&!t.has_seconds)return{error:!0,errorMessage:"Misconfiguration error: it is trying to request seconds resolution but symbol does not support it"};if(i.isTicks())return!t.has_ticks||i.multiplier()>1?{error:!0,errorMessage:`Misconfiguration error: it is trying to request ${i.multiplier()} ticks resolution but symbol does not support it`}:{error:!1,resolution:"1T"};const o=i.isSeconds()?t.seconds_multipliers:t.intraday_multipliers;return void 0===o?{error:!1,resolution:i.value()}:r(o,i)}},77392:function(e,t,i){"use strict";var s=i(71181).StudyError,r=i(49382),n=i(47903).inherit,o=i(78486).SessionStage,a=i(35001).Interval,l=i(63059).createDwmAligner,c=i(63059).createTimeToBarTimeAligner,h=i(89164).decodeExtendedSymbol,d=i(89164).encodeExtendedSymbolOrGetSimpleSymbolString,u=function(){var e,t="undefined"!=typeof window?window:i.g,p=t.PineJsCalendar?t.PineJsCalendar:i(84540),_=i(42062),m=i(25853).extrapolateBarsFrontToTime,g={};function f(e,t,i,s,r){var n=r,o=0;if(isNaN(e.get(t-1)))return{index:NaN,value:NaN};for(var a=0;a1&&(this._currentIndex.set(n),this._currentValue.set(o),this._pivotIndex.set(a))}function S(e,t,i){this._deviation=e;var s=i.new_var(g.high(i)),r=i.new_var(g.low(i));s.get(2*t+1),r.get(2*t+1),this._pivotHigh=new v(t,t,v.HIGH,s,i),this._pivotLow=new v(t,t,v.LOW,r,i),this._lastVal=i.new_var(NaN),this._lastIndex=i.new_var(-1),this._lastType=i.new_var(),this._index=g.n(i),this._isNewBar=i.symbol.isNewBar,this._isBarClosed=i.symbol.isBarClosed;var n=this._lastIndex.get(1),o=this._lastVal.get(1),a=this._lastType.get(1);this._index>1&&this.addPivot(n,o,a), +this.processPivot(this._pivotHigh),this.processPivot(this._pivotLow)}function y(e){this.symbol=e,this.vars=[],this.vars_index=0,this.ctx=[],this.ctx_index=0,this.minimumAdditionalDepth=null}function b(e){this.mindepth=0,this.original=NaN,this.modified=!1,this.symbol=e}function w(e){b.call(this,e)}function P(e,t,i,s,r,n){var o=h(e);const l="string"==typeof o.symbol?o:o.symbol;this.ticker=l.symbol,this.currencyCode=i||l["currency-id"],this.unitId=s||l["unit-id"];var c=l["currency-id"]!==this.currencyCode||l["unit-id"]!==this.unitId;l["currency-id"]=this.currencyCode,l["unit-id"]=this.unitId,c&&(e=d(o)),this.tickerid=e;var u=a.parse(t);this.resolution=u.letter(),this.interval=u.multiplier(),this.period=u.value(),this.index=-1,this.time=NaN,this.open=NaN,this.high=NaN,this.low=NaN,this.close=NaN,this.volume=NaN,this.updatetime=NaN,this.isNewBar=!1,this.isBarClosed=!1,this.session=new _.SessionInfo("Etc/UTC","24x7"),this.script=r,this.isAdditionalDepthAllowed=void 0===o.type,n&&this.set_symbolinfo(n)}function C(e,t,i,s,r,n,o,a,l,c){this.body=n,this.symbols=[],this.runner=r,this.inputCallback=a,this.out=o,this.nonseriesOut=l,this.ctx=new y(this.add_sym(e,t,i,s,c)),this.init()}function T(e){this.symbols=[],this.barsets=[],this.subscription=[],this.host=e,this.isRecalculated=!1,this.isStarted=!1,this.start()}function x(e){this.runner=new T(e)}function I(e,t){this.info=e,this.bars=t||[],this.isBarClosed=!0,this.firstLoadedTimeMs=0!==this.bars.length?this.bars[0].time:1/0}function M(e,t){this.period=e,this.generateEmptyBars=!!t}function L(){}return g.max_series_default_size=10001,g.n=function(e){return e.symbol.index+1},g.nz=function(e,t){return t=t||0,isFinite(e)?e:t},g.na=function(e){return 0===arguments.length?NaN:isNaN(e)?1:0},g.isZero=function(e){return Math.abs(e)<=1e-10},g.toBool=function(e){return isFinite(e)&&!g.isZero(e)},g.eq=function(e,t){return g.isZero(e-t)},g.neq=function(e,t){return!g.eq(e,t)},g.ge=function(e,t){return g.isZero(e-t)||e>t},g.gt=function(e,t){return!g.isZero(e-t)&&e>t},g.lt=function(e,t){return!g.isZero(e-t)&&e(i||1e-10)},g.less=function(e,t,i){return t-e>(i||1e-10)},g.compare=function(e,t,i){return g.equal(e,t,i)?0:g.greater(e,t,i)?1:-1},g.max=Math.max,g.min=Math.min,g.pow=Math.pow,g.abs=Math.abs,g.log=Math.log,g.log10=function(e){return Math.log(e)/Math.LN10},g.sqrt=Math.sqrt,g.sign=function(e){return isNaN(e)?NaN:g.isZero(e)?0:e>0?1:-1},g.exp=Math.exp,g.sin=Math.sin,g.cos=Math.cos,g.tan=Math.tan,g.asin=Math.asin,g.acos=Math.acos,g.atan=Math.atan,g.floor=Math.floor,g.ceil=Math.ceil,g.round=Math.round, +g.avg=function(e,t,i,s,r,n){if(2===arguments.length)return(e+t)/2;for(var o=0,a=0;a=0;--n){var o=t[n];if(!(o>=i.startOfBar(0))){i.moveTo(o);var a=t[n+1];s.push(a)}}s.reverse()}return s},g.iff=function(e,t,i){return g.not(e)?i:t},g.rising=function(e,t){for(var i=1;ie.get(0))return 0;return 1},g.falling=function(e,t){for(var i=1;i=0;r--){s+=(t-r)*e.get(r)}return 2*s/(t*(t+1))},g.vwma=function(e,t,i){var s=i.new_var(g.volume(i)),r=i.new_var(e.get(0)*g.volume(i));return g.sma(r,t,i)/g.sma(s,t,i)},g.swma=function(e,t){return(e.get(0)+2*e.get(1)+2*e.get(2)+e.get(3))/6},g.supertrend=function(e,t,i){var s=u.Std.atr(t,i),r=i.new_var(s).get(1),n=u.Std.hl2(i),o=n+s*e,a=n-s*e,l=u.Std.close(i),c=i.new_var(l).get(1),h=i.new_var(),d=u.Std.nz(h.get(1)),p=i.new_var(),_=u.Std.nz(p.get(1));a=g.gt(a,d)||g.lt(c,d)?a:d,h.set(a),o=g.lt(o,_)||g.gt(c,_)?o:_,p.set(o);var m=u.Std.na(),f=i.new_var(),v=f.get(1),S=-1===(m=u.Std.na(r)?1:v===_?l>o?-1:1:l2&&(T=Math.min(T,y))):(T=Math.max(T,b),g.n(s)>2&&(T=Math.max(T,w))),p.set(T),T},g.alma=function(e,t,i,s){for(var r=Math.floor(i*(t-1)),n=t/s*(t/s),o=[],a=0,l=0;lthis._currentValue.get():ithis._areaRight},v.prototype.update=function(){if(this._isNewBar&&this.isPivotFound()&&this.reset(),this.processPoint(this._index),this.isRightSideOk(this._index)){if(-1===this._pivotIndex.get()){for(var e=!0,t=0;tthis._deviation&&this.addPivot(e,t,i);else(i===v.HIGH?t>s:t0&&i.set(e),i},y.prototype.new_unlimited_var=function(e){var t=this.vars;t.length<=this.vars_index&&t.push(new w(this.symbol));var i=t[this.vars_index++];return arguments.length>0&&i.set(e),i},y.prototype.new_ctx=function(){return this.ctx.length<=this.ctx_index&&this.ctx.push(new y(this.symbol)),this.ctx[this.ctx_index++]},y.prototype.prepare=function(e){this.ctx_index=0,this.vars_index=0;for(var t=0;te&&(e=i)}return e},y.prototype.stop=function(){this.symbol=null,this.vars=null},y.prototype.setMinimumAdditionalDepth=function(e){this.minimumAdditionalDepth=e},b.prototype.valueOf=function(){return this.get(0)},b.prototype.get=function(e){return isNaN(e)&&(e=0),e=e||0,this.hist?e>=this.hist.length?(console.error("not enough depth: "+this),NaN):this._get(e):(this.mindepth=g.max(this.mindepth,e),NaN)},b.prototype._get=function(e){var t=this.hist_pos-e;return t<0&&(t+=this.hist.length),this.hist[t]},b.prototype.set=function(e){this.hist&&(this.hist[this.hist_pos]=e, +this.modified=!0)},b.prototype.prepare=function(e){e===this.symbol&&(e.isNewBar?(this.original=this.get(0),!this.modified&&this.hist||this.add_hist()):this.set(this.original),this.modified=!1)},b.prototype.add_hist=function(){if(!this.hist){var e=g.na(this.mindepth)?g.max_series_default_size:g.max(this.mindepth+1,1);e=Math.round(e);for(var t=new Array(e),i=0;i=0&&!this.isBarClosed&&(this.isNewBar=!1,this.isBarClosed=!0,this.script.calc(this)),this.time=t,this.open=e.open,this.high=e.high,this.low=e.low,this.close=e.close,this.volume=e.volume,this.updatetime=e.updatetime,this.isNewBar=i,this.isBarClosed=e.isBarClosed,this.isLastBar=e.isLastBar,this.isNewBar&&(this.index++,this.isFirstBar=0===this.index),this.script.calc(this)}},C.prototype.calc=function(e){var t=this.ctx,i=this.body;t.prepare(e);var s=i.main(t,this.inputCallback,e);if(s&&"composite"===s.type)for(let e=0;e1&&n.enable_dwm_aligning(this.symbols[0].session,n.session),n},C.prototype.maxAdditionalDepth=function(){return this.symbols[0].isAdditionalDepthAllowed?this.ctx.maxAdditionalDepth():0},C.prototype.stop=function(){this.symbols=null,this.ctx.stop(),this.ctx=null},C.prototype.get_sym=function(e){return this.symbols[e]},T.prototype.add_sym=function(e,t,i,s,r,n){var o=new P(e,t,i,s,r,n);return this.symbols.push(o),o},T.prototype.get_sym=function(e){return this.symbols[e]},T.prototype.out=function(e,t){if(this.nonseriesUpdate){var i=Object.assign({},this.nonseriesUpdate);t.splice(0,0,e.time),i.lastBar=t,this.host.nonseriesOut(e,i)}else this.host.out(e,t)},T.prototype.start=function(){this.isStarted=!0;var e=this.host;this._script=new C(e.tickerid,e.period,e.currencyCode,e.unitId,this,e.body,this.out.bind(this),e.input,e.nonseriesOut,e.symbolInfo);var t=this,i=[],s=this.symbols,r=Object.assign({},e.dataRange,{countBack:e.dataRange.countBack+t._script.maxAdditionalDepth()}),n=s[0];function o(t,s,r){i.push(T.feed.subscribe(t.tickerid,t.currencyCode,t.unitId,t.period,r,e.onErrorCallback,e.symbolInfo,e.sessionId,s,e.forceAlignBars))}function h(i,s){"series"===(s.nonseries?"nonseries":"series")?t.update(i,s):s.lastBar?(t.nonseriesUpdate=s,s.lastBar.isLastBar=!0,t.symbols[0].lastbar(s.lastBar),t.nonseriesUpdate=null):e.nonseriesOut(p,s)}function d(){return r}o(n,d,(function(e){!e.nonseries&&Number.isFinite(e.firstLoadedTimeMs)&&function(e){function i(i,s){var r=c(i,s)(e),n=l(i,s);return null!==n&&(r=n.timeToExchangeTradingDay(r)),{to:r,countBack:t._script.maxAdditionalDepth()}}for(var r=1;r=0;i--)for(var s=e[i],r=this.barsets[i],n=r.count(),o=0;o{"use strict";const s=i(53312).getHexColorByName;var r=i(77392);i(81137);var n=i(19680).pivotPointsStandardStudyItem,o=i(62649).volumeProfileVisibleRangeStudyItem,a=i(62243).volumeProfileFixedRangeVbPStudyItem,l=i(62243).volumeProfileFixedRangeBSStudyItem,c=i(30934).spreadStudyItem,h=i(67366).ratioStudyItem,d=i(46433).regressionTrendStudyItem;const u=s("color-ripe-red-400"),p=s("color-minty-green-400");JSServer.studyLibrary=JSServer.studyLibrary.concat([{name:"Compare",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!0, +defaults:{styles:{compare:{linestyle:0,linewidth:2,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#9C27B0"}},inputs:{source:"close",symbol:""}},plots:[{id:"compare",type:"line"}],styles:{compare:{title:"Plot",histogramBase:0}},description:"Compare",shortDescription:"Compare",is_price_study:!0,inputs:[{defval:"close",id:"source",name:"Source",options:["open","high","low","close","hl2","hlc3","ohlc4"],type:"text"},{id:"symbol",name:"Symbol",type:"symbol",isHidden:!0}],id:"Compare@tv-basicstudies-1",format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._context.new_sym(t(1),r.Std.period(this._context))},this.main=function(e,t){this._context=e;var i=this._context.new_unlimited_var(this._context.symbol.time);this._context.select_sym(1);var s=this._context.new_unlimited_var(this._context.symbol.time),n=r.Std[t(0)](this._context),o=this._context.new_unlimited_var(n);return this._context.select_sym(0),[o.adopt(s,i,0)]}}},{name:"Overlay",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!0,defaults:{styles:{},inputs:{symbol:""}},plots:[{id:"open",type:"line"},{id:"high",type:"line"},{id:"low",type:"line"},{id:"close",type:"line"}],styles:{open:{title:"Open"},high:{title:"High"},low:{title:"Low"},close:{title:"Close"}},description:"Overlay",shortDescription:"Overlay",is_price_study:!1,inputs:[{id:"symbol",name:"symbol",defval:"",type:"symbol",isHidden:!0}],id:"Overlay@tv-basicstudies-1",format:{type:"price",precision:4}},constructor:function(){this.init=function(e,t){this._context=e,this._context.new_sym(t(0),r.Std.period(this._context))},this.main=function(e,t){this._context=e;var i=this._context.new_unlimited_var(this._context.symbol.time);this._context.select_sym(1);var s=this._context.new_unlimited_var(this._context.symbol.time),n=this._context.new_unlimited_var(r.Std.open(this._context)),o=this._context.new_unlimited_var(r.Std.high(this._context)),a=this._context.new_unlimited_var(r.Std.low(this._context)),l=this._context.new_unlimited_var(r.Std.close(this._context));return this._context.select_sym(0),[n.adopt(s,i,1),o.adopt(s,i,1),a.adopt(s,i,1),l.adopt(s,i,1)]}}},{name:"Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{vol:{linestyle:0,linewidth:1,plottype:5,trackPrice:!1,transparency:50,visible:!0,color:"#000080"},vol_ma:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1,color:"#2196F3"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1,color:"#2196F3"}},palettes:{volumePalette:{colors:{0:{color:u,width:1,style:0},1:{color:p,width:1,style:0}}}},inputs:{showMA:!1,length:20,col_prev_close:!1,symbol:"",smoothingLine:"SMA",smoothingLength:9}},plots:[{id:"vol",type:"line"},{id:"volumePalette",palette:"volumePalette",target:"vol",type:"colorer"},{id:"vol_ma",type:"line"},{id:"smoothedMA",type:"line"}],styles:{vol:{title:"Volume",histogramBase:0},vol_ma:{title:"Volume MA",histogramBase:0},smoothedMA:{title:"Smoothed MA", +histogramBase:0}},description:"Volume",shortDescription:"Volume",is_price_study:!1,palettes:{volumePalette:{colors:{0:{name:"Falling"},1:{name:"Growing"}}}},inputs:[{id:"symbol",name:"Other Symbol",defval:"",type:"symbol",optional:!0,isHidden:!1},{id:"showMA",name:"show MA",defval:!1,type:"bool",isHidden:!0},{id:"length",name:"MA Length",defval:20,type:"integer",min:1,max:2e3},{defval:!1,id:"col_prev_close",name:"Color based on previous close",type:"bool"},{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:9,type:"integer",min:1,max:1e4}],id:"Volume@tv-basicstudies-1",format:{type:"volume"}},constructor:function(){this.init=function(e,t){this._context=e,""!==t(0)&&this._context.new_sym(t(0),r.Std.period(this._context))},this.f_0=function(e,t){return r.Std.gt(e,t)?0:1},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.volume(this._context),s=r.Std.open(this._context),n=r.Std.close(this._context),o=this._context.new_var(this._context.symbol.time),a=this._input(4),l=this._input(5);if(this._context.setMinimumAdditionalDepth(this._input(2)+l),""!==this._input(0)){this._context.select_sym(1);var c=this._context.new_var(this._context.symbol.time),h=this._context.new_var(r.Std.volume(this._context)),d=this._context.new_var(r.Std.open(this._context)),u=this._context.new_var(r.Std.close(this._context));i=h.adopt(c,o,1),s=d.adopt(c,o,1),n=u.adopt(c,o,1),this._context.select_sym(0)}var p,_,m=this._context.new_var(i),g=r.Std.sma(m,this._input(2),this._context),f=this._context.new_var(g),v=this._context.new_var(n);return p=v.get(1)&&this._input(3)?this.f_0(v.get(1),n):this.f_0(s,n),"EMA"===a?_=r.Std.ema(f,l,this._context):"WMA"===a?_=r.Std.wma(f,l,this._context):"SMA"===a&&(_=r.Std.sma(f,l,this._context)),[i,p,g,_]}}},{name:"ZigZag",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:2,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:5,in_1:10}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",target:"plot_0",type:"dataoffset"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Zig Zag",shortDescription:"ZigZag",is_price_study:!0,classId:"ScriptWithDataOffset",inputs:[{id:"in_0",name:"deviation",defval:5,type:"float",min:.001,max:100},{id:"in_1",name:"depth",defval:10,type:"integer",min:2,max:1e3}],id:"ZigZag@tv-basicstudies-1",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=i/100,o=Math.ceil(s/2);return[r.Std.zigzag(n,o,this._context),r.Std.zigzagbars(n,o,this._context)]}}},{name:"Sessions",metainfo:{_metainfoVersion:52,defaults:{graphics:{vertlines:{sessBreaks:{color:"#4985e7",style:2,visible:!1,width:1}}},linkedToSeries:!0},description:"Sessions",graphics:{vertlines:{sessBreaks:{name:"Session Break",halign:"left"}}},id:"Sessions@tv-basicstudies-1",inputs:[],is_hidden_study:!0,is_price_study:!0, +name:"Sessions@tv-basicstudies",palettes:{},plots:[],shortDescription:"Sessions",format:{type:"inherit"}},constructor:function(){function e(e,t){return{id:e,index:e,extendBottom:!0,extendTop:!0}}this.init=function(){this._times=[]},this._getVerticalLineData=function(t){return r.Std.selectSessionBreaks(t,this._times).map(e)},this.main=function(e,t){if(r.Std.isdwm(e))return null;var i=r.Std.time(e);if(isNaN(i))return null;var s=this._times.length;if(0!==s&&this._times[s-1]===i||this._times.push(i),!e.symbol.isLastBar||!e.symbol.isNewBar)return null;var n=this._getVerticalLineData(e);return 0===n.length?null:{nonseries:!0,type:"study_graphics",data:{graphicsCmds:{create:{vertlines:[{styleId:"sessBreaks",data:n}]},erase:[{action:"all"}]}}}}}},{name:"SuperTrend",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:3,plottype:0,trackPrice:!1,transparency:35,visible:!0,color:"#000080"},plot_2:{linestyle:0,linewidth:3,plottype:"shape_arrow_up",trackPrice:!1,location:"BelowBar",transparency:35,visible:!0,color:"#00FF00"},plot_3:{linestyle:0,linewidth:3,plottype:"shape_arrow_down",trackPrice:!1,location:"AboveBar",transparency:35,visible:!0,color:"#FF0000"}},palettes:{palette_0:{colors:{0:{color:"#008000",width:3,style:0},1:{color:"#800000",width:3,style:0}}}},inputs:{in_0:10,in_1:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"},{id:"plot_2",type:"shapes"},{id:"plot_3",type:"shapes"}],styles:{plot_0:{title:"SuperTrend",histogramBase:0,joinPoints:!1,isHidden:!1},plot_2:{title:"Up Arrow",histogramBase:0,joinPoints:!1,isHidden:!1},plot_3:{title:"Down Arrow",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"SuperTrend",shortDescription:"SuperTrend",is_price_study:!0,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"}},valToIndex:{0:0,1:1}}},inputs:[{id:"in_0",name:"Length",defval:10,type:"integer",min:1,max:100},{id:"in_1",name:"Factor",defval:3,type:"float",min:1,max:100}],id:"SuperTrend@tv-basicstudies-1",scriptIdPart:"",name:"SuperTrend",isCustomIndicator:!0,format:{type:"inherit"}},constructor:function(){this.main=function(e,t){var i=t(0),s=t(1),[n,o]=r.Std.supertrend(s,i,e),a=e.new_var(o).get(1);return[n,-1===o?0:1,-1===o&&a!==o?1:NaN,1===o&&a!==o?1:NaN]}}},n,o,a,l,c,h,d])},19680:(e,t,i)=>{"use strict";i.d(t,{pivotPointsStandardStudyItem:()=>d});var s=i(77392),r=i(35001),n=i(5280);class o{constructor(){this.p=NaN,this.r1=NaN,this.s1=NaN,this.r2=NaN,this.s2=NaN,this.r3=NaN,this.s3=NaN,this.r4=NaN,this.s4=NaN,this.r5=NaN,this.s5=NaN,this.startIndex__t=NaN,this.endIndex__t=NaN}}class a{constructor(){this.pivots=[]}}function l(e,t){e.setUTCMonth(e.getUTCMonth()+t)}function c(e,t){if(s.Std.ismonthly(e)){let i=new Date(t);return i.getUTCDay()=1&&t.multiplier()<=15?"1D":"1W";case r.ResolutionKind.Seconds:case r.ResolutionKind.Ticks:return"1D"}throw new Error("Unexpected resolution type: "+e.symbol.resolution)}(e);case"Daily":return"1D";case"Weekly":return"1W";case"Monthly":return"1M";case"Yearly":return"12M";default:throw new Error("No such pivTimeFrame: "+t)}}const d={name:"Pivot Points Standard",metainfo:{_metainfoVersion:44,defaults:{inputs:{kind:"Traditional",lookBack:15,pivTimeFrame:"Auto",showHistoricalPivots:!0},precision:"4"},description:"Pivot Points Standard",id:"PivotPointsStandard@tv-basicstudies-80",inputs:[{defval:"Traditional",id:"kind",name:"Type",options:["Traditional","Fibonacci","Woodie","Classic","DeMark","Camarilla"],type:"text"},{defval:!0,id:"showHistoricalPivots",name:"Show historical pivots",type:"bool"},{defval:"Auto",id:"pivTimeFrame",name:"Pivots Timeframe",options:["Auto","Daily","Weekly","Monthly","Yearly"],type:"text"},{defval:15,id:"lookBack",max:5e3,min:1,name:"Number of Pivots Back",type:"integer"}],is_price_study:!0,linkedToSeries:!0,shortDescription:"Pivots"},constructor:class{constructor(){this._secondaryRes="1D",this._firstMainSeriesBarTime=NaN}init(e,t){const i=t(0),r=t(1),o=t(2),l=t(3);this._data=new a,this._firstMainSeriesBarTime=NaN,this._kindPP=function(e){switch(e){case"Traditional":return 0;case"Fibonacci":return 1;case"Woodie":return 2;case"Classic":return 3;case"DeMark":return 4;case"Camarilla":return 5;default:throw new Error("Unknown kind "+e)}}(i),this._showHistoricalPivots=r,this._historicalPivotsToKeep=l,this._pivTimeFrame=o,this._isValidResolution=function(e,t){return(!s.Std.isdaily(e)||"Daily"!==t)&&((!s.Std.isweekly(e)||"Daily"!==t&&"Weekly"!==t)&&(!s.Std.ismonthly(e)||"Daily"!==t&&"Weekly"!==t&&"Monthly"!==t))}(e,this._pivTimeFrame),this._isValidResolution||s.Std.error("You cannot see this pivot timeframe on this resolution"),this._isValidResolution&&(this._secondaryRes=h(e,this._pivTimeFrame),void 0!==e.symbol.info&&(0,n.findSuitableResolutionToBuildFrom)(this._secondaryRes,e.symbol.info).error&&(this._isValidResolution=!1,s.Std.error(`Resolution ${this._secondaryRes} is not supported for this symbol`))),e.new_sym(e.symbol.tickerid,this._secondaryRes)}main(e){if(!this._isValidResolution)return null;if(e.symbol.time)return isNaN(this._firstMainSeriesBarTime)&&(this._firstMainSeriesBarTime=e.symbol.time,this._removeUnusedPivots()),e.symbol.isLastBar&&e.symbol.isNewBar?this._createResponse():null;e.select_sym(1) +;const t=e.new_var(s.Std.open(e)),i=e.new_var(s.Std.high(e)),r=e.new_var(s.Std.low(e)),n=e.new_var(s.Std.close(e)),a=e.new_var(s.Std.time(e)),l=this._data,h=t.get(0),d=a.get(0),u=t.get(1),p=i.get(1),_=r.get(1),m=n.get(1),g=e.symbol.isLastBar;if(0!==l.pivots.length&&e.symbol.isNewBar){const e=l.pivots[l.pivots.length-1];e.endIndex__t!==d&&(e.endIndex__t=d)}if(0===e.symbol.index||!e.symbol.isNewBar)return e.select_sym(0),null;const f=function(e,t,i,r,n,a,l,c){const h=new o;let d=NaN;const u=i-r;switch(c){case 0:d=(i+r+n)/3,h.p=d,h.r1=2*d-r,h.s1=2*d-i,h.r2=d+(i-r),h.s2=d-(i-r),h.r3=2*d+(i-2*r),h.s3=2*d-(2*i-r),h.r4=3*d+(i-3*r),h.s4=3*d-(3*i-r),h.r5=4*d+(i-4*r),h.s5=4*d-(4*i-r);break;case 1:d=(i+r+n)/3,h.p=d,h.r1=d+.382*u,h.s1=d-.382*u,h.r2=d+.618*u,h.s2=d-.618*u,h.r3=d+u,h.s3=d-u;break;case 2:d=(i+r+2*e)/4,h.p=d,h.r1=2*d-r,h.s1=2*d-i,h.r2=d+u,h.s2=d-u,h.r3=i+2*(d-r),h.s3=r-2*(i-d),h.r4=h.r3+u,h.s4=h.s3-u;break;case 3:d=(i+r+n)/3,h.p=d,h.r1=2*d-r,h.s1=2*d-i,h.r2=d+u,h.s2=d-u,h.r3=d+2*u,h.s3=d-2*u,h.r4=d+3*u,h.s4=d-3*u;break;case 4:let o=NaN;o=s.Std.equal(t,n)?i+r+2*n:s.Std.greater(n,t)?2*i+r+n:2*r+i+n,d=o/4,h.p=d,h.r1=o/2-r,h.s1=o/2-i;break;case 5:d=(i+r+n)/3,h.p=d,h.r1=n+1.1*u/12,h.s1=n-1.1*u/12,h.r2=n+1.1*u/6,h.s2=n-1.1*u/6,h.r3=n+1.1*u/4,h.s3=n-1.1*u/4,h.r4=n+1.1*u/2,h.s4=n-1.1*u/2;break;default:throw new Error("Unknown kind")}return h.startIndex__t=a,h.endIndex__t=l,h}(h,u,p,_,m,d,c(e,d),this._kindPP);return e.select_sym(0),this._showHistoricalPivots||(l.pivots=[]),l.pivots.push(f),l.pivots.length>this._historicalPivotsToKeep&&l.pivots.shift(),g?this._createResponse():null}_createResponse(){return 0===this._data.pivots.length?null:{nonseries:!0,type:"non_series_data",data:{data:this._data}}}_removeUnusedPivots(){const e=Math.max(this._data.pivots.findIndex(e=>e.startIndex__t>this._firstMainSeriesBarTime)-1,0);e>0&&this._data.pivots.splice(0,e)}}}},67366:(e,t,i)=>{"use strict";i.d(t,{ratioStudyItem:()=>n});var s=i(37796);class r extends s.SpreadRatioBase{_doCalculation(e,t,i,s){return e*t/(i*s)}}const n={name:"Ratio",metainfo:{_metainfoVersion:15,defaults:s.spreadRatioDefaults,plots:s.spreadRatioPlots,styles:s.spreadRatioStyles,description:"Ratio",shortDescription:"Ratio",is_price_study:!1,inputs:s.spreadRatioInputs,id:"Ratio@tv-basicstudies-1"},constructor:r}},46433:(e,t,i)=>{"use strict";i.d(t,{regressionTrendStudyItem:()=>n});var s=i(77392);function r(e,t,i){const r={slope:NaN,average:NaN,intercept:NaN,stdDev:NaN,upDev:NaN,downDev:NaN,pearsons:NaN};return 0===e.length||(function(e,t){let i=0,s=0,r=0,n=0;for(let t=0;tn&&(n=u),u=d-i[s],u>o&&(o=u),u=e[s];const _=u-r.average,m=d-p;u-=d,a+=u*u,l+=_*_,c+=m*m,h+=_*m,d+=r.slope}r.stdDev=Math.sqrt(a/(0===u?1:u)), +r.pearsons=s.Std.isZero(l)||s.Std.isZero(c)?0:h/Math.sqrt(l*c),r.upDev=n,r.downDev=o}(e,t,i,r)),r}const n={name:"Regression Trend",metainfo:{_metainfoVersion:51,description:"Regression Trend",format:{type:"inherit"},id:"RegressionTrend@tv-basicstudies-144",is_hidden_study:!0,is_price_study:!0,shortDescription:"Reg Trend",defaults:{inputs:{"first bar time":0,"last bar time":0,"lower diviation":-2,source:"close","upper diviation":2,"use lower diviation":!0,"use upper diviation":!0}},inputs:[{defval:2,id:"upper diviation",max:500,min:-500,name:"Upper Deviation",type:"float"},{defval:-2,id:"lower diviation",max:500,min:-500,name:"Lower Deviation",type:"float"},{defval:!0,id:"use upper diviation",name:"Use Upper Deviation",type:"bool"},{defval:!0,id:"use lower diviation",name:"Use Lower Deviation",type:"bool"},{defval:0,id:"first bar time",isHidden:!0,max:253370764800,min:-253370764800,name:"First bar time",type:"time"},{defval:0,id:"last bar time",isHidden:!0,max:253370764800,min:-253370764800,name:"Last bar time",type:"time"},{defval:"close",id:"source",name:"Source",options:["open","high","low","close","hl2","hlc3","ohlc4"],type:"source"}],plots:[]},constructor:class{constructor(){this._resultSent=!1}init(e,t){this._resultSent=!1,this._data={baseLine:{startPrice:NaN,endPrice:NaN},upLine:{startPrice:NaN,endPrice:NaN},downLine:{startPrice:NaN,endPrice:NaN},pearsons:NaN,startIndex__t:NaN,endIndex__t:NaN}}main(e,t){const i=t(6),n=e.new_unlimited_var(s.Std.time(e)),o=e.new_unlimited_var(s.Std.high(e)),a=e.new_unlimited_var(s.Std.low(e)),l=e.new_unlimited_var(s.Std[i](e));if(!e.symbol.isLastBar)return null;if(this._resultSent)return null;const c=t(0),h=t(1),d=t(2),u=t(3),p=t(4),_=t(5),m=n.indexOf(p),g=n.indexOf(_),f=[],v=[],S=[],y=[];for(let e=m;e>=g;--e)f.push(n.get(e)),v.push(o.get(e)),S.push(a.get(e)),y.push(l.get(e));return this._updateData(f,d,c,u,h,p,_,r(y,v,S)),this._resultSent=!0,{type:"non_series_data",nonseries:!0,data:{data:this._data}}}_updateData(e,t,i,s,r,n,o,a){const l=e.length-1;this._data.baseLine.startPrice=a.intercept,this._data.baseLine.endPrice=a.intercept+a.slope*l;const c=a.intercept+(t?a.stdDev*i:a.upDev);this._data.upLine.startPrice=c,this._data.upLine.endPrice=c+a.slope*l;const h=a.intercept+(s?a.stdDev*r:-a.downDev);this._data.downLine.startPrice=h,this._data.downLine.endPrice=h+a.slope*l,this._data.pearsons=a.pearsons,this._data.startIndex__t=n,this._data.endIndex__t=o}}}},37796:(e,t,i)=>{"use strict";i.d(t,{SpreadRatioBase:()=>r,spreadRatioDefaults:()=>n,spreadRatioInputs:()=>o,spreadRatioPlots:()=>a,spreadRatioStyles:()=>l});var s=i(77392);class r{init(e,t){e.new_sym(t(1),s.Std.period(e)),this._source=t(0),this._scaleFactor1=1,this._scaleFactor2=1}main(e,t){const i=e.symbol.time,r=s.Std[this._source](e);e.select_sym(1);const n=s.Std[this._source](e),o=e.new_unlimited_var(n),a=e.new_unlimited_var(e.symbol.time);if(e.select_sym(0),isNaN(i))return null;let l=a.indexOf(i);-1!==l&&a.get(l)!==i&&(l=-1);const c=l<0?NaN:o.get(l);return[this._doCalculation(this._scaleFactor1,r,this._scaleFactor2,c)]}} +const n={styles:{plot1:{linestyle:0,linewidth:2,plottype:0,trackPrice:!1,transparency:35,visible:!0,color:"#800080"}},precision:2,inputs:{source:"close",symbol2:""}},o=[{defval:"close",id:"source",name:"Source",options:["open","high","low","close","hl2","hlc3","ohlc4"],type:"text"},{id:"symbol2",name:"Symbol",type:"symbol",confirm:!0}],a=[{id:"plot1",type:"line"}],l={plot1:{title:"Plot",histogramBase:0}}},30934:(e,t,i)=>{"use strict";i.d(t,{spreadStudyItem:()=>n});var s=i(37796);class r extends s.SpreadRatioBase{_doCalculation(e,t,i,s){return e*t-i*s}}const n={name:"Spread",metainfo:{_metainfoVersion:15,defaults:s.spreadRatioDefaults,plots:s.spreadRatioPlots,styles:s.spreadRatioStyles,description:"Spread",shortDescription:"Spread",is_price_study:!1,inputs:s.spreadRatioInputs,id:"Spread@tv-basicstudies-1"},constructor:r}},3782:(e,t,i)=>{"use strict";i.d(t,{VbPCheckHaveVolumeExpr:()=>r});var s=i(77392);class r{constructor(e){this._haveAnyVolume=!1,this._isDisabled=!1,this._seriesGetter=e}update(e,t){if(this._haveAnyVolume||this._isDisabled)return;const i=this._seriesGetter.volume().get(e);0!==i&&Number.isFinite(i)&&(this._haveAnyVolume=!0),t&&(this._haveAnyVolume||s.Std.error("The data vendor doesn't provide volume data for this symbol."),this._isDisabled=!0)}}},39107:(e,t,i)=>{"use strict";i.d(t,{VolumeByPriceExpr:()=>_});var s=i(16282),r=i(57968),n=i(35001),o=i(77392),a=i(14);class l extends a.GraphicsObj{constructor(e,t,i,r,n,o){super(e),(0,s.assert)(t({index:e.index,offset:e.offset,level:e.level}))}}}class u extends a.GraphicsObj{constructor(e,t,i,s,r=!1,n=!1){super(e),this._endIndex=this._mixinJSONObject.createTimeField(i,"endIndex"),this._extendLeft=this._mixinJSONObject.createField(r,"extendLeft"),this._extendRight=this._mixinJSONObject.createField(n,"extendRight"),this._level=this._mixinJSONObject.createDoubleField(s,"level"),this._startIndex=this._mixinJSONObject.createTimeField(t,"startIndex")}isNaN(){return super.isNaN()||Number.isNaN(this._level.get())||this._startIndex.get()<0||this._endIndex.get()<0||this._startIndex.get()===this._endIndex.get()&&!this._extendLeft.get()&&!this._extendRight.get()}jsonName(){return"horizlines"}primitiveData(){return{id:this.id(),startIndex:this._startIndex.get(),endIndex:this._endIndex.get(),extendLeft:this._extendLeft.get(),extendRight:this._extendRight.get(),level:this._level.get()}}startIndex(){return this._startIndex.get()}setStartIndex(e){this._startIndex.set(e)&&this._processObjUpdate()}endIndex(){return this._endIndex.get()}setEndIndex(e){this._endIndex.set(e)&&this._processObjUpdate()}level(){return this._level.get()}setLevel(e){this._level.set(e)&&this._processObjUpdate()}isExtendLeft(){return this._extendLeft.get()}setExtendLeft(e){this._extendLeft.set(e)&&this._processObjUpdate()}extendLeft(){return this.isExtendLeft()}isExtendRight(){return this._extendRight.get()}setExtendRight(e){this._extendRight.set(e)&&this._processObjUpdate()}extendRight(){return this.isExtendRight()}}class p{constructor(){this._map=new Map}get(e){const t=this._innerMap(e.start);return t&&t.get(e.end)}set(e,t){this._innerMap(e.start,!0).set(e.end,t)}clear(){this._map.clear()}size(){let e=0;return this._map.forEach(t=>e+=t.size),e}_innerMap(e,t){let i=this._map.get(e);return void 0===i&&t&&(i=new Map,this._map.set(e,i)),i}}class _{constructor(e,t,i,r,n,o,a,l,h,d,u,_,m,g){this._freezedBoxes=new c.GraphicsList,this._freezedHists=new c.GraphicsList,this._freezedPocs=new c.GraphicsList, +this._freezedVAHists=new c.GraphicsList,this._currentHistsGr=new c.GraphicsList,this._currentVAHistsGr=new c.GraphicsList,this._currentHists=[],this._currentHistsMap=new p,this._currentBox=null,this._currentPoc=null,this._historyBarSet=[],this._prevRtBar=null,this._minPrice=Number.POSITIVE_INFINITY,this._maxPrice=Number.NEGATIVE_INFINITY,this._leftBoxTime=null,this._rightBoxTime=null,this._needRecalc=!1,this._largestHistItem=null,this._rowsLayout=null,this._currentVAStart=0,this._currentVAEnd=0,this._previousVAStart=0,this._previousVAEnd=0,this._idsGenerator=null,(0,s.assert)(1===e||2===e),this._numOfSubHists=e,this._outHists=r,this._outBoxLines=n,this._outPocLines=o,this._extendPocLeftRight=a,this._outVAHists=l,this._vaVolumePercent=h,this._rowsLayoutSupplier=d,this._outHists.addStable(this._freezedHists),this._outVAHists.addStable(this._freezedVAHists),this._maxHHistItems=u,this._layoutIsAutoselected=g,this._leftBoxTimeMutable=_,this._rightBoxTimeMutable=m,this._ctx=t,this._seriesGetter=i}update(e){this._supplyRowsLayout(this._ctx),null===this._currentBox&&this._initCurrentBox(),null===this._currentPoc&&this._initCurrentPoc();const t=this._timeScale().get(e);this._leftBoxTime=this._leftBoxTimeMutable,this._rightBoxTime=this._rightBoxTimeMutable,this._ctx.symbol.isLastBar&&!Number.isNaN(this._rightBoxTime)&&(this._rightBoxTime=Math.min(t+n.Interval.parse(this._ctx.symbol.interval+this._ctx.symbol.resolution).inMilliseconds(t)-1,this._rightBoxTime));const i=o.Std.greaterOrEqual(this._seriesClose().get(e),this._seriesOpen().get(e)),s={high:this._seriesHigh().get(e),low:this._seriesLow().get(e),volume:this._seriesVol().get(e),isUp:i,time:t};this._updateCurrentHistogram(s),this._currentHists.length>0&&(this._largestHistItem=this._getLargestHistItem(),this._updateCurrentPoc(),this._seriesGetter.developingPoc().set(this._currentPoc.level()),this._updateValueArea(),this._vaVolumePercent>0&&(this._seriesGetter.developingVAHigh().set(this._currentHists[this._currentVAEnd].priceHigh()),this._seriesGetter.developingVALow().set(this._currentHists[this._currentVAStart].priceLow()))),this._updateCurrentBox(),this._rebuildOutData()}setIdsGeneratorProxy(e){this._idsGenerator=e}nextGraphicsObjId(){return(0,s.ensureNotNull)(this._idsGenerator).nextGraphicsObjId()}pushEraseObjCmd(e,t){(0,s.ensureNotNull)(this._idsGenerator).pushEraseObjCmd(e,t)}popEraseCmds(){return(0,s.ensureNotNull)(this._idsGenerator).popEraseCmds()}_timeScale(){return this._seriesGetter.time()}_seriesLow(){return this._seriesGetter.low()}_seriesHigh(){return this._seriesGetter.high()}_seriesVol(){return this._seriesGetter.volume()}_seriesOpen(){return this._seriesGetter.open()}_seriesClose(){return this._seriesGetter.close()}_freezeCurrentHistogramAndCleanup(){null!==this._currentBox&&this._freezedBoxes.add(this._currentBox),o.Std.greater(this._getVolume(this._currentHists),0)&&(this._freezedHists.addAll(this._currentHistsGr),this._freezedVAHists.addAll(this._currentVAHistsGr),null!==this._currentPoc&&this._freezedPocs.add(this._currentPoc)),this._currentHists=[], +this._currentHistsGr.clear(),this._currentHistsMap.clear(),this._initCurrentBox(),this._initCurrentPoc(),this._currentVAHistsGr.clear(),this._historyBarSet=[],this._minPrice=Number.POSITIVE_INFINITY,this._maxPrice=Number.NEGATIVE_INFINITY,this._prevRtBar=null,this._leftBoxTime=null,this._rightBoxTime=null}_supplyRowsLayout(e){null===this._rowsLayout&&e.symbol.isFirstBar&&e.symbol.isNewBar&&(this._rowsLayout=this._rowsLayoutSupplier())}_updateCurrentHistogram(e){if(this._needRecalc=!1,o.Std.greater(this._minPrice,e.low)&&(this._minPrice=e.low,this._needRecalc=!0),o.Std.less(this._maxPrice,e.high)&&(this._maxPrice=e.high,this._needRecalc=!0),this._ctx.symbol.isBarClosed&&this._historyBarSet.length>0){const t=this._historyBarSet[this._historyBarSet.length-1];t.time===e.time&&(this._prevRtBar=t,this._historyBarSet.pop())}this._needRecalc&&0===(0,s.ensureNotNull)(this._rowsLayout).type()?(this._recalculateCurrentResultsOnHistoryBarSet(),this._applyUpdateToCurrentResults(e,!1)):this._applyUpdateToCurrentResults(e,!0),this._ctx.symbol.isBarClosed?((0,s.assert)(null===this._prevRtBar||e.time===this._prevRtBar.time),this._historyBarSet.push(e),this._prevRtBar=null):this._prevRtBar=e}_getMidLevel(e){return(e.priceHigh()+e.priceLow())/2}_getMidLevelFromList(e){return e.length%2==0?e[e.length/2].priceLow():this._getMidLevel(e[Math.floor(e.length/2)])}_getLargestHistItem(){let e=[],t=this._currentHists[0];for(const i of this._currentHists)o.Std.greater(i.ratesSum(),t.ratesSum())?(t=i,e=[t]):o.Std.equal(i.ratesSum(),t.ratesSum())&&e.push(i);if(e.length>1){const i=this._getMidLevelFromList(this._currentHists);t=e[e.length-1];for(let s=e.length-2;s>=0;s--){const r=e[s];o.Std.lessOrEqual(Math.abs(this._getMidLevel(r)-i),Math.abs(this._getMidLevel(t)-i))&&(t=r)}}return t}_initCurrentPoc(){this._currentPoc=new u(this,0,0,0)}_updateCurrentPoc(){const e=(0,s.ensureNotNull)(this._currentPoc);e.setStartIndex((0,s.ensureNotNull)(this._leftBoxTime)),e.setEndIndex((0,s.ensureNotNull)(this._rightBoxTime)),e.setExtendLeft(this._extendPocLeftRight),e.setExtendRight(this._extendPocLeftRight);const t=this._getMidLevel((0,s.ensureNotNull)(this._largestHistItem));e.setLevel(t)}_getVolume(e){let t=0;for(const i of e)t+=i.ratesSum();return t}_getPocHistItemIndex(){for(let e=0;e=0,"ERROR - PocHistItemIndex == "+e),this._currentVAStart=e-1,this._currentVAEnd=e+1;const t=this._getVolume(this._currentHists)*this._vaVolumePercent*.01;let i=this._currentHists[e].ratesSum(),r=0,n=null;for(;o.Std.lessOrEqual(i+r,t)&&(i+=r,0===n?--this._currentVAStart:1===n&&++this._currentVAEnd,-1!==this._currentVAStart||this._currentVAEnd!==this._currentHists.length);){let t,i;if(this._currentVAStart>-1)if(t=this._currentHists[this._currentVAStart].ratesSum(),this._currentVAEndthis._getMidLevel(this._currentHists[this._currentVAStart])&&e.priceLow()0&&(e=this._currentHists[0].priceLow(),t=this._currentHists[this._currentHists.length-1].priceHigh());const i=[],r=(0,s.ensureNotNull)(this._leftBoxTime),n=(0,s.ensureNotNull)(this._rightBoxTime);i.push(new h(r,e)),i.push(new h(r,t)),i.push(new h(n,t)),i.push(new h(n,e)),(0,s.ensureNotNull)(this._currentBox).setPoints(i)}_recalculateCurrentResultsOnHistoryBarSet(){for(let e=0;e0&&(this._largestHistItem=this._getLargestHistItem(),this._updateCurrentPoc()),this._updateCurrentBox()}_applyUpdateToCurrentResults(e,t){t&&null!==this._prevRtBar&&this._addHistoryBarToHistogram(this._prevRtBar,this._historyBarSet.length-1,this._currentHists,this._currentHistsMap,-1),this._addHistoryBarToHistogram(e,this._historyBarSet.length-1,this._currentHists,this._currentHistsMap,1),this._updateLastBarTimeInHistogram(this._currentHists)}_addHistoryBarToHistogram(e,t,i,r,n){(0,s.assert)(-1===n||1===n,"Please set sign argument either +1 or -1");const a=e.low,l=e.high,c=isNaN(e.volume)?0:e.volume,h=e.isUp,d=(0,s.ensureNotNull)(this._rowsLayout);d.init(this._ctx.symbol.minTick,this._minPrice,this._maxPrice,a,l);const u=d.rowWidth();if(!o.Std.greater(u,0))return;d.calculate() +;const p=d.getIndexLowVbP(),_=d.getIndexHighVbP(),m=d.getStartPrice();if(p===_){const e=p*u+m,t=(p+1)*u+m;this._updateResult({start:e,end:t},n*c,h,i,r)}else{let e=0;for(let t=p;t<=_;t++){const s=t*u+m,o=(t+1)*u+m,d=this._rowCoeff(s,o,a,l),p=d*c;e+=d,this._updateResult({start:s,end:o},n*p,h,i,r)}(0,s.assert)(o.Std.equal(e,1,.05),"totalCoeff not equal 1! totalConf = "+e)}}_updateResult(e,t,i,r,n){const a=this._createRates(i,t);(0,s.assert)(null!==this._leftBoxTime,"leftBoxTime is not set (equals null)"),(0,s.assert)(null!==this._rightBoxTime,"rightBoxTime is not set (equals null)");const c=(0,s.ensureNotNull)(this._leftBoxTime),h=(0,s.ensureNotNull)(this._rightBoxTime);let d=n.get(e);if(void 0===d)d=new l(this,e.start,e.end,a,c,h),n.set(e,d),this._verifyHistogramSizeIsNotTooLarge(n.size()),this._currentHistsGr.add(d),_._addInOrder(d,r,0,r.length,(e,t)=>{let i=o.Std.compare(e.firstBarTime(),t.firstBarTime());return 0!==i?i:(i=o.Std.compare(e.priceLow(),t.priceLow()),0!==i?i:o.Std.compare(e.priceHigh(),t.priceHigh()))});else{const e=[];for(let t=0;td,maxHHistItems:()=>c,numOfSubHists:()=>h});var s=i(77392),r=i(35001);class n{constructor(e,t){this._minTick=NaN,this._minPrice=NaN,this._maxPrice=NaN,this._low=NaN,this._high=NaN,this._startPrice=NaN, +this._indexLowVbP=NaN,this._indexHighVbP=NaN,this._rowSize=e,this._type=t}init(e,t,i,s,r){this._minTick=e,this._minPrice=t,this._maxPrice=i,this._low=s,this._high=r}getStartPrice(){return this._startPrice}setStartPrice(e){this._startPrice=e}getIndexLowVbP(){return this._indexLowVbP}setIndexLowVbP(e){this._indexLowVbP=e}getIndexHighVbP(){return this._indexHighVbP}setIndexHighVbP(e){this._indexHighVbP=e}type(){return this._type}}class o extends n{constructor(e){super(e,0)}calculate(){this.setStartPrice(this._minPrice);const e=this.rowWidth();let t=Math.floor((this._low-this._minPrice)/e),i=Math.ceil((this._high-this._minPrice)/e)-1;t=Math.max(t,0),i=Math.max(i,0),i=Math.min(i,this._rowSize-1),t=Math.min(t,i),this.setIndexLowVbP(t),this.setIndexHighVbP(i)}rowWidth(){return Math.max((this._maxPrice-this._minPrice)/this._rowSize,this._minTick)}}class a extends n{constructor(e){super(e,1)}calculate(){this.setStartPrice(0);const e=this.rowWidth();let t=Math.floor(this._low/e);const i=Math.ceil(this._high/e)-1;t=Math.min(t,i),this.setIndexLowVbP(t),this.setIndexHighVbP(i)}rowWidth(){return this._minTick*this._rowSize}}var l=i(27490);function c(){return 6e3}function h(e){switch(e){case"Up/Down":return 2;case"Total":return 1;default:s.Std.error("Invalid study argument value: "+e)}}class d{findBasicResolutionForFromTo(e,t,i,n){const o=(0,s.getVolumeProfileResolutionForPeriod)(e.value(),t,i,n),a=r.Interval.parse(o);return l.enabled("charting_library_debug_mode")&&console.log(`Selected resolution ${a.value()} for (${e.value()}, ${t}, ${i})`),a}verifyRowSizeInput(e,t){"Number Of Rows"===t&&e>6e3&&s.Std.error('Histogram is too large, please reduce "Row Size" input.')}_getRowsLayout(e,t){return"Number Of Rows"===e?new o(t):new a(t)}}},62243:(e,t,i)=>{"use strict";i.d(t,{volumeProfileFixedRangeBSStudyItem:()=>w,volumeProfileFixedRangeVbPStudyItem:()=>b});var s=i(16282),r=i(29226),n=i(77392),o=i(77455),a=i(31505),l=i(35001),c=i(79234),h=i(86860),d=i(90957),u=i(14942),p=i(10622),_=i(3782),m=i(64417),g=i(39107);class f extends g.VolumeByPriceExpr{constructor(e,t,i,s,r,n,o,a,l,c,h,d){super(e,t,i,n,o,a,!1,l,c,()=>h,d,s,r,!1),this._firstBarTime=s,this._lastBarTime=r}update(e){this._supplyRowsLayout(this._ctx),this.timeInRequestedRange(e)&&super.update(e)}timeInRequestedRange(e){const t=this._timeScale().get(e);return this._firstBarTime<=t&&t=this._firstBarTime){const e=this._developingPocSeries.getLeftOrEqual(n),t=this._developingVAHighSeries.getLeftOrEqual(n),i=this._developingVALowSeries.getLeftOrEqual(n);r.data.push([e,t,i])}else r.data.push([NaN,NaN,NaN])}return r}time(){return this._timeSeries}open(){return this._openSeries}high(){return this._highSeries}low(){return this._lowSeries}close(){return this._closeSeries}volume(){return this._volumeSeries}developingPoc(){return this._developingPocSeries}developingVAHigh(){return this._developingVAHighSeries}developingVALow(){return this._developingVALowSeries}}function y(e){return{constructor:S,name:e.description,metainfo:{_metainfoVersion:51,shortDescription:"VPFR",format:{type:"volume"},is_price_study:!0,defaults:{graphics:{hhists:{histBars2:{colors:["#1592e6","#fbc123"],direction:a.HHistDirection.LeftToRight,percentWidth:30,showValues:!1,transparencies:[76,76],valuesColor:"#424242",visible:!0},histBarsVA:{colors:["#1592e6","#fbc123"],direction:a.HHistDirection.LeftToRight,percentWidth:30,showValues:!1,transparencies:[30,30],valuesColor:"#424242",visible:!0}},horizlines:{pocLines:{color:"#ff0000",style:m.LineStyle.Solid,visible:!0,width:2}},polygons:{histBoxBg:{color:"#37a6ef",transparency:94}}},inputs:{first_bar_time:0,last_bar_time:0,rows:24,rowsLayout:"Number Of Rows",subscribeRealtime:!0,vaVolume:70,volume:"Up/Down"},styles:{developingPoc:{color:"#ff0000",linestyle:m.LineStyle.Solid,linewidth:1,plottype:o.LineStudyPlotStyle.StepLine,trackPrice:!1,transparency:0,visible:!1},developingVAHigh:{color:"#0000ff",linestyle:m.LineStyle.Solid,linewidth:1,plottype:o.LineStudyPlotStyle.StepLine,trackPrice:!1,transparency:0,visible:!1},developingVALow:{color:"#0000ff",linestyle:m.LineStyle.Solid,linewidth:1,plottype:o.LineStudyPlotStyle.StepLine,trackPrice:!1,transparency:0,visible:!1}}},graphics:{hhists:{histBars2:{location:a.HHistLocation.Absolute,title:"Volume Profile",titles:["Up Volume","Down Volume"]},histBarsVA:{location:a.HHistLocation.Absolute,title:"Value Area",titles:["Value Area Up","Value Area Down"]}},horizlines:{pocLines:{name:"POC",showPrice:!0}},polygons:{histBoxBg:{mouseTouchable:!1,name:"Histogram Box",showBorder:!1}}},inputs:[{defval:"Number Of Rows",id:"rowsLayout",name:"Rows Layout",options:["Number Of Rows","Ticks Per Row"],type:"text"},{defval:24,id:"rows",max:1e6,min:1,name:"Row Size",type:"integer"},{defval:"Up/Down",id:"volume",name:"Volume",options:["Up/Down","Total"],type:"text"},{defval:0,id:"first_bar_time",isHidden:!0,max:253370764800,min:-253370764800,name:"First Bar Time",type:"time"},{defval:0,id:"last_bar_time",isHidden:!0,max:253370764800,min:-253370764800,name:"Last Bar Time",type:"time"},{defval:70,id:"vaVolume",max:100,min:0,name:"Value Area Volume",type:"integer"},{defval:!0,id:"subscribeRealtime",isHidden:!0,name:"SubscribeRealtime",type:"bool"}],plots:[{id:"developingPoc",type:"line"},{id:"developingVAHigh",type:"line"},{id:"developingVALow",type:"line"}],styles:{ +developingPoc:{histogramBase:0,title:"Developing Poc"},developingVAHigh:{histogramBase:0,title:"Developing VA High"},developingVALow:{histogramBase:0,title:"Developing VA Low"}},...e}}}const b=y({id:"VbPFixed@tv-volumebyprice-57",description:"Volume Profile Fixed Range"}),w=y({id:"VbPFixed@tv-basicstudies-152",description:"Fixed Range",is_hidden_study:!0})},98083:(e,t,i)=>{"use strict";i.d(t,{VolumeProfileOutputSeries:()=>n});var s=i(16282),r=i(49382);class n{constructor(){this._histPos=-1,this._hist=new Float64Array(2e3),this._times=new Float64Array(2e3)}addHist(e){if(this._histPos>=0){const t=this._times[this._histPos];(0,s.assert)(t<=e,"History order violation"),this._histPos+=t===e?0:1}else this._histPos+=1;if(this._histPos===this._hist.length){const e=new Float64Array(2*this._hist.length);e.set(this._hist),this._hist=e;const t=new Float64Array(this._hist.length);t.set(this._times),this._times=t}this._hist[this._histPos]=NaN,this._times[this._histPos]=e}removeLastIfNaN(){Number.isNaN(this.get(0))&&(this._histPos-=1)}get(e){(0,s.assert)(0===e);const t=this._histPos-e;return this._hist[t]}getLeftOrEqual(e){const t=(0,r.upperbound)(this._times,e,(e,t)=>e{"use strict";i.d(t,{volumeProfileVisibleRangeStudyItem:()=>v});var s=i(16282),r=i(29226),n=i(77392),o=i(31505),a=i(35001),l=i(79234),c=i(39107),h=i(14942);class d extends c.VolumeByPriceExpr{constructor(e,t,i,s,r,n,o,a,l,c,d){super(e,t,i,n,new h.GraphicsList,o,!0,a,l,()=>c,d,s,r,!1),this._firstBarTime=s,this._lastBarTime=r}update(e){this._supplyRowsLayout(this._ctx),this.timeInRequestedRange(e)&&super.update(e)}timeInRequestedRange(e){const t=this._timeScale().get(e);return this._firstBarTime<=t&&t=this._firstBarTime){const e=this._developingPocSeries.getLeftOrEqual(n),t=this._developingVAHighSeries.getLeftOrEqual(n),i=this._developingVALowSeries.getLeftOrEqual(n);r.data.push([e,t,i])}else r.data.push([NaN,NaN,NaN])}return r}time(){return this._timeSeries}open(){return this._openSeries}high(){return this._highSeries}low(){return this._lowSeries}close(){return this._closeSeries}volume(){return this._volumeSeries}developingPoc(){return this._developingPocSeries}developingVAHigh(){return this._developingVAHighSeries}developingVALow(){ +return this._developingVALowSeries}}const v={constructor:f,name:"Volume Profile Visible Range",metainfo:{_metainfoVersion:51,id:"VbPVisible@tv-basicstudies-49",description:"Volume Profile Visible Range",shortDescription:"VPVR",format:{type:"volume"},is_price_study:!0,linkedToSeries:!0,palettes:{},inputs:[{id:"rowsLayout",name:"Rows Layout",defval:"Number Of Rows",options:["Number Of Rows","Ticks Per Row"],type:"text"},{id:"rows",name:"Row Size",defval:24,max:1e6,min:1,type:"integer"},{id:"volume",name:"Volume",defval:"Up/Down",options:["Up/Down","Total"],type:"text"},{id:"first_visible_bar_time",name:"First Visible Bar Time",defval:0,isHidden:!0,max:253370764800,min:-253370764800,type:"time"},{id:"last_visible_bar_time",name:"Last Visible Bar Time",defval:0,isHidden:!0,max:253370764800,min:-253370764800,type:"time"},{id:"vaVolume",name:"Value Area Volume",defval:70,max:100,min:0,type:"integer"}],plots:[{id:"developingPoc",type:"line"},{id:"developingVAHigh",type:"line"},{id:"developingVALow",type:"line"}],graphics:{hhists:{histBars2:{location:o.HHistLocation.Relative,title:"Volume Profile",titles:["Up Volume","Down Volume"]},histBarsVA:{location:o.HHistLocation.Relative,title:"Value Area",titles:["Value Area Up","Value Area Down"]}},horizlines:{pocLines:{name:"POC",showPrice:!0}}},defaults:{graphics:{hhists:{histBars2:{colors:["#1592e6","#fbc123"],direction:o.HHistDirection.RightToLeft,percentWidth:30,showValues:!1,transparencies:[76,76],valuesColor:"#424242",visible:!0},histBarsVA:{colors:["#1592e6","#fbc123"],direction:o.HHistDirection.RightToLeft,percentWidth:30,showValues:!1,transparencies:[30,30],valuesColor:"#424242",visible:!0}},horizlines:{pocLines:{color:"#ff0000",style:0,visible:!0,width:2}}},inputs:{first_visible_bar_time:0,last_visible_bar_time:0,rows:24,rowsLayout:"Number Of Rows",vaVolume:70,volume:"Up/Down"},styles:{developingPoc:{color:"#ff0000",linestyle:0,linewidth:1,plottype:9,trackPrice:!1,transparency:0,visible:!1},developingVAHigh:{color:"#0000ff",linestyle:0,linewidth:1,plottype:9,trackPrice:!1,transparency:0,visible:!1},developingVALow:{color:"#0000ff",linestyle:0,linewidth:1,plottype:9,trackPrice:!1,transparency:0,visible:!1}}},styles:{developingPoc:{histogramBase:0,title:"Developing Poc"},developingVAHigh:{histogramBase:0,title:"Developing VA High"},developingVALow:{histogramBase:0,title:"Developing VA Low"}}}}},71181:(e,t,i)=>{"use strict";i.d(t,{StudyError:()=>s});class s extends Error{constructor(e){super(e),this.studyError=!0}}},90957:(e,t,i)=>{"use strict";i.d(t,{EraseObj:()=>s,EraseAll:()=>r,GraphicsCmds:()=>n});class s{constructor(e,t){this.id=e,this.type=t}primitiveData(){return{action:"one",id:this.id,type:this.type}}}class r{primitiveData(){return{action:"all"}}}class n{constructor(){this.erase=[],this.create=null,this._modified=!1}primitiveData(e){if(this.isNaN())return null;const t={},i=this.create&&this.create.primitiveData(e);return null!==i&&(t.create=i),null!==this.erase&&this.erase.length>0&&(t.erase=this.erase.map(e=>e.primitiveData())), +void 0===t.create&&void 0===t.erase?null:t}setCreate(e){this.create=e,this.create.forEachList(e=>e.setOwner(this))}isNaN(){return(null===this.erase||0===this.erase.length)&&null===this.create}isModified(){return this._modified}setModified(e){this._modified=e}dirty(){this._modified=!0}setOwner(e){throw new Error("Unsupported")}}},79234:(e,t,i)=>{"use strict";i.d(t,{GraphicsListColl:()=>s});class s{constructor(){this._stable=[],this._variable=null,this._owner=null}addStable(e){e.setOwner(this),this._stable.push(e)}setVariable(e){this._variable=e,null!==this._variable&&this._variable.setOwner(this)}primitivesData(e){const t=[];return this._forEach(i=>t.push(...i.primitivesData(e))),t}deleteErasedItems(){this._forEach(e=>e.deleteErasedItems())}markPostedItems(){this._forEach(e=>e.markPostedItems())}isNaN(){return this._all(e=>e.isNaN())}dirty(){null!==this._owner&&this._owner.dirty()}setOwner(e){this._owner=e}_forEach(e){for(const t of this._stable)e(t);null!==this._variable&&e(this._variable)}_all(e){for(const t of this._stable)if(!e(t))return!1;return null===this._variable||e(this._variable)}}},14942:(e,t,i)=>{"use strict";i.d(t,{GraphicsList:()=>n});var s=i(14),r=i(49282);class n{constructor(){this._items=[],this._owner=null}primitivesData(e){const t=[];for(const i of this._items)e.isIgnoredObj(i)||t.push(i.primitiveData());return t}get(e){return this._items[e]}set(e,t){return this.dirty(),t.setOwner(this),this._items[e]=t,t}addAtIndex(e,t){this.dirty(),t.setOwner(this),this._items[e]=t}clear(){this._unsetOwner(this._items),this._items=[],this.dirty()}addAllFromNumber(e,t){this.setOwner(t),this._items.splice(e,0,...t._items);return this._setCachedDataValid(!1),!0}addAll(e){this.setOwner(e),this._items.push(...e._items);return this._setCachedDataValid(!1),!0}remove(e){const t=this._items[e];return this._items.splice(e,1),t.unsetOwner(this),this.dirty(),t}getItems(){return this._items}size(){return this._items.length}add(e){e.setOwner(this),this._items.push(e);return this._setCachedDataValid(!1),!0}deleteErasedItems(){this._items=this._items.filter(e=>!e.isErased())}markPostedItems(){for(const e of this._items)e.markAsPosted()}isNaN(){if(0===this._items.length)return!0;for(const e of this._items){if(!(0,r.isNaNable)(e))return!1;if(!e.isNaN())return!1}return!0}setOwner(e){this._owner=e}dirty(){null!==this._owner&&this._owner.dirty()}_unsetOwner(e){for(const t of e)t instanceof s.GraphicsObj&&t.unsetOwner(this)}_setCachedDataValid(e){e||this.dirty()}}},14:(e,t,i)=>{"use strict";i.d(t,{GraphicsObj:()=>l});var s=i(77392);class r{constructor(e,t,i,s){this._value=e,this._name=t,this._owner=i,this._comparer=void 0!==s?s:(e,t)=>null==e?null!=t:e===t}getName(){return this._name}set(e){const t=this._comparer(this._value,e);return t&&this._owner.dirty(),this._value=e,t}get(){return this._value}}class n{constructor(e,t,i){this._owner=null,this._value=e,this._name=t,this._owner=i}getName(){return this._name}set(e){return this._value!==e&&(this._value=e,null!==this._owner&&this._owner.dirty(),!0)}get(){return this._value}} +class o extends r{constructor(e,t,i,s){super(e,t,i,s)}}class a{constructor(e){this._owner=e}createField(e,t){return new r(e,t,this)}createDoubleField(e,t){return new r(e,t,this,(e,t)=>!s.Std.equal(e,t))}createDoubleArrayField(e,t){return new o(e,t,this,(e,t)=>{if(e===t)return!1;const i=e.length;if(t.length!==i)return!0;for(let r=0;r{"use strict";function s(e){return Boolean(e.isNaN)}i.d(t,{isNaNable:()=>s})},10622:(e,t,i)=>{"use strict";i.d(t,{JStudyDataUpdate:()=>d});var s=i(90957);class r{constructor(){this.isUpdate=!1,this.graphicsCmds=new s.GraphicsCmds,this._offsetsChanged=!1,this._disableGraphicsAndData=!1}isNaN(){return this.graphicsCmds.isNaN()}primitiveData(e){const t={};if(!this._disableGraphicsAndData){const i=this.graphicsCmds.primitiveData(e);null!==i&&(t.graphicsCmds=i)}return this.isUpdate&&(t.isUpdate=!0),void 0===t.graphicsCmds?void 0:t}disable(){this._disableGraphicsAndData=!0}checkForChangeAndResetChangedState(e){const t=this._offsetsChanged,i=this.graphicsCmds.isModified();this.graphicsCmds.setModified(!1),this._offsetsChanged=!1;return i||t||0!==e.length}}var n=i(47903),o=i(49282);function a(e){return Boolean(e.isPosted)}class l{isIgnoredObj(e,t){return l.isIgnoredObjDefault(e,t)}static isIgnoredObjDefault(e,t){if(void 0===t)return l.isIgnoredObjNaNable(e);const i=e[t];return l.isIgnoredByGeneralRules(e,t)||l.isIgnoredObjNaNable(i)||l.isIgnoredObjListOfNaNables(i)}static isIgnoredObjNaNable(e){return(0,o.isNaNable)(e)&&e.isNaN()}static isIgnoredObjListOfNaNables(e){if(!(0,n.isArray)(e))return!1;let t=!0;for(const i of e)if(!(0,o.isNaNable)(i)||!i.isNaN()){t=!1;break}return t}static isIgnoredObjPosted(e){return a(e)&&e.isPosted()}static isIgnoredObjErased(e){return a(e)&&e.isErased()}static isIgnoredByGeneralRules(e,t){const i=e[t];return(0,n.isArray)(i)&&0===i.length}}class c{isIgnoredObj(e,t){if(void 0===t)return l.isIgnoredObjDefault(e)||l.isIgnoredObjErased(e);const i=e[t];return l.isIgnoredObjDefault(e,t)||l.isIgnoredObjErased(i)}}class h{isIgnoredObj(e,t){ +if(void 0===t)return l.isIgnoredObjDefault(e)||l.isIgnoredObjErased(e)||l.isIgnoredObjPosted(e);const i=e[t];return l.isIgnoredObjDefault(e,t)||l.isIgnoredObjErased(i)||l.isIgnoredObjPosted(i)}}class d extends class extends class{constructor(e){this._dataObj=new r,this._isDirty=!1,this._eraseCmds=[],this._enableCmdDataStudy=e}init(e){this._dataObj.graphicsCmds.setCreate(e),this.update(!0)}dataObj(){return this._dataObj}setEraseCmds(e){this._eraseCmds=e}resetDirtyState(){this._isDirty=!1}disable(){this._dataObj.disable()}}{constructor(e){super(e),this._snapshotPredicate=new c,this._dataSnapShot={}}getData(){return this._dataSnapShot}getUpdate(){return this._isDirty?this._dataSnapShot:{}}update(e){(this._dataObj.checkForChangeAndResetChangedState(this._eraseCmds)||e)&&(null!==this._dataObj.graphicsCmds.create&&(this._dataObj.graphicsCmds.create.deleteErasedObjs(),this._dataObj.graphicsCmds.erase=[new s.EraseAll]),this._makeSnapshot(),this._isDirty=!0)}_makeSnapshot(){this._json=this._dataObj.primitiveData(this._snapshotPredicate),this._dataSnapShot={json:this._json}}}{constructor(e){super(e),this._updatePredicate=new h,this._sendShapshotOnly=!0,this._isFirstNotForcedUpdate=!0}update(e){(this._dataObj.checkForChangeAndResetChangedState(this._eraseCmds)||e)&&(null!==this._dataObj.graphicsCmds.create&&(this._dataObj.graphicsCmds.erase=[new s.EraseAll]),this._dataObj.isUpdate=!0,this._makeSnapshot(),null!==this._dataObj.graphicsCmds.create&&(this._dataObj.graphicsCmds.erase=this._eraseCmds),this._dataObj.isUpdate=!0,this._jsonUpdate=this._dataObj.primitiveData(this._updatePredicate),null!==this._dataObj.graphicsCmds.create&&this._dataObj.graphicsCmds.create.deleteErasedAndMarkPostedObjs(),this._sendShapshotOnly=e||this._isFirstNotForcedUpdate,this._isFirstNotForcedUpdate=Boolean(e),this._isDirty=!0)}getUpdate(){return this._isDirty?this._enableCmdDataStudy?{json:this._sendShapshotOnly?this._json:void 0,jsonUpdate:this._sendShapshotOnly?void 0:this._jsonUpdate}:{json:this._json,jsonUpdate:this._sendShapshotOnly?void 0:this._jsonUpdate}:{}}}},86860:(e,t,i)=>{"use strict";i.d(t,{StudyGraphicsData:()=>r,Container:()=>n});var s=i(16282);class r{constructor(){this._horizlines=[],this._hhists=[],this._polygons=[],this._vertlines=[],this._containersCache=[],this._containerNamesCache=[],this._containersMapCache=new Map,this._addToCache("horizlines",this._horizlines),this._addToCache("hhists",this._hhists),this._addToCache("polygons",this._polygons),this._addToCache("vertlines",this._vertlines)}primitiveData(e){const t={};let i=!1;for(const s of this._containerNamesCache){const r=[],n=this.getObjsContainer(s);for(const t of n){if(t.isNaN())continue;const i=t.primitiveData(e);i.data.length>0&&r.push(i)}r.length>0&&(t[s]=r,i=!0)}return i?t:null}deleteErasedAndMarkPostedObjs(){this.forEachList(e=>{e.deleteErasedItems(),e.markPostedItems()})}deleteErasedObjs(){this.forEachList(e=>e.deleteErasedItems())}getObjsContainer(e){return(0,s.ensureDefined)(this._containersMapCache.get(e))}forEachList(e){ +for(const t of this._containersCache)for(const i of t)e(i.data)}_addToCache(e,t){this._containersCache.push(t),this._containerNamesCache.push(e),this._containersMapCache.set(e,t)}}class n{constructor(e,t){this.styleId=e,this.data=t}isNaN(){return this.data.isNaN()}primitiveData(e){return{styleId:this.styleId,data:this.data.primitivesData(e)}}}},81137:(e,t,i)=>{"use strict";const s=i(53312).getHexColorByName;var r=i(77392);const n=s("color-ripe-red-100"),o=s("color-ripe-red-200"),a=s("color-ripe-red-500"),l=s("color-ripe-red-900"),c=s("color-ripe-red-a200"),h=s("color-minty-green-100"),d=s("color-minty-green-400"),u=s("color-minty-green-500");JSServer.studyLibrary=[{name:"Accumulation/Distribution",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Accumulation/Distribution",shortDescription:"Accum/Dist",is_price_study:!1,inputs:[],id:"Accumulation/Distribution@tv-basicstudies-1",scriptIdPart:"",name:"Accumulation/Distribution",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i,s){return r.Std.or(r.Std.and(r.Std.eq(e,t),r.Std.eq(e,i)),r.Std.eq(t,i))?0:(2*e-i-t)/(t-i)*s},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0(r.Std.close(this._context),r.Std.high(this._context),r.Std.low(this._context),r.Std.volume(this._context));return[r.Std.cum(i,this._context)]}}},{name:"Accumulative Swing Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ASI",histogramBase:0,joinPoints:!1}},description:"Accumulative Swing Index",shortDescription:"ASI",is_price_study:!1,inputs:[{id:"in_0",name:"Limit Move Value",defval:10,type:"float",min:.1,max:1e5}],id:"Accumulative Swing Index@tv-basicstudies-1",scriptIdPart:"",name:"Accumulative Swing Index",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){var i=t.new_var(r.Std.open(t)),s=t.new_var(r.Std.high(t)),n=t.new_var(r.Std.low(t)),o=t.new_var(r.Std.close(t)),a=r.Std.abs(s-o.get(1)),l=r.Std.abs(n-o.get(1)),c=r.Std.abs(s-n),h=r.Std.abs(o.get(1)-i.get(1)),d=r.Std.max(a,l),u=r.Std.iff(a>=r.Std.max(l,c),a-.5*l+.25*h,r.Std.iff(l>=r.Std.max(a,c),l-.5*a+.25*h,c+.25*h));return r.Std.iff(0===u,0,(o-o.get(1)+.5*(o-i)+.25*(o.get(1)-i.get(1)))/u*d/e*50)},this.f_1=function(e,t){var i=this.f_0(e,t);return r.Std.cum(i,t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);return[this.f_1(i,this._context)]}}},{name:"Advance/Decline",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}}, +inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Advance/Decline",shortDescription:"AD",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:10,type:"integer",min:1,max:2e3}],id:"Advance/Decline@tv-basicstudies-1",scriptIdPart:"",name:"Advance/Decline",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return r.Std.gt(e,t)},this.f_1=function(e,t){return r.Std.lt(e,t)},this.f_2=function(e,t){return 0===t?e:e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this.f_0(r.Std.close(this._context),r.Std.open(this._context)),n=this._context.new_var(s),o=r.Std.sum(n,i,this._context),a=this.f_1(r.Std.close(this._context),r.Std.open(this._context)),l=this._context.new_var(a),c=r.Std.sum(l,i,this._context);return[this.f_2(o,c)]}}},{name:"Arnaud Legoux Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:.85,in_2:6}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Arnaud Legoux Moving Average",shortDescription:"ALMA",is_price_study:!0,inputs:[{id:"in_0",name:"Window Size",defval:9,type:"integer",min:0,max:5e3},{id:"in_1",name:"Offset",defval:.85,type:"float",min:-1e12,max:1e12},{id:"in_2",name:"Sigma",defval:6,type:"float",min:-1e12,max:1e12}],id:"Arnaud Legoux Moving Average@tv-basicstudies-1",scriptIdPart:"",name:"Arnaud Legoux Moving Average",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._input(0),n=this._input(1),o=this._input(2),a=this._context.new_var(i);return[r.Std.alma(a,s,n,o)]}}},{name:"Aroon",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FB8C00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Upper",histogramBase:0,joinPoints:!1},plot_1:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Aroon",shortDescription:"Aroon",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Aroon@tv-basicstudies-1",scriptIdPart:"",name:"Aroon",format:{precision:2,type:"percent"}},constructor:function(){this.f_0=function(e,t){return 100*(e+t)/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=r.Std.high(this._context),n=i+1,o=this._context.new_var(s),a=r.Std.highestbars(o,n,this._context),l=this.f_0(a,i),c=r.Std.low(this._context),h=this._context.new_var(c),d=r.Std.lowestbars(h,n,this._context);return[l,this.f_0(d,i)]}}},{name:"Average Price",metainfo:{_metainfoVersion:52,isTVScript:!1, +isTVScriptStub:!1,is_hidden_study:!1,id:"AveragePrice@tv-basicstudies-1",scriptIdPart:"",name:"Average Price",description:"Average Price",shortDescription:"Average Price",is_price_study:!0,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{}},styles:{plot_0:{title:"Plot"}},inputs:[],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){return this._context=e,this._input=t,[r.Std.ohlc4(this._context)]}}},{name:"Average Directional Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:c}},inputs:{in_0:14,in_1:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ADX",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Average Directional Index",shortDescription:"ADX",is_price_study:!1,inputs:[{id:"in_0",name:"ADX Smoothing",defval:14,type:"integer",min:-1e12,max:1e12},{id:"in_1",name:"DI Length",defval:14,type:"integer",min:-1e12,max:1e12}],id:"average_directional_Index@tv-basicstudies-1",scriptIdPart:"",name:"Average Directional Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){var t=this._context.new_var(r.Std.high(this._context)),i=r.Std.change(t),s=this._context.new_var(r.Std.low(this._context)),n=-r.Std.change(s),o=this._context.new_var(r.Std.tr(void 0,this._context)),a=r.Std.rma(o,e,this._context),l=this._context.new_var(r.Std.and(r.Std.gt(i,n),r.Std.gt(i,0))?i:0),c=r.Std.fixnan(100*r.Std.rma(l,e,this._context)/a,this._context),h=this._context.new_var(r.Std.and(r.Std.gt(n,i),r.Std.gt(n,0))?n:0);return[c,r.Std.fixnan(100*r.Std.rma(h,e,this._context)/a,this._context)]},this.f_1=function(e,t){var i=this.f_0(e),s=i[0],n=i[1],o=s+n,a=this._context.new_var(r.Std.abs(s-n)/(r.Std.eq(o,0)?1:o));return[100*r.Std.rma(a,t,this._context)]},this.main=function(e,t){return this._context=e,this._input=t,this._context.setMinimumAdditionalDepth(this._input(0)+this._input(1)),this.f_1(this._input(1),this._input(0))}}},{name:"Average True Range",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:l}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Average True Range",shortDescription:"ATR",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Average True Range@tv-basicstudies-1",scriptIdPart:"",name:"Average True Range",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){var i=t(0);return[r.Std.atr(i,e)]}}},{name:"Awesome Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:1,trackPrice:!1,transparency:0,visible:!0,color:"#000080"}},palettes:{ +palette_0:{colors:{0:{color:a,width:1,style:0},1:{color:u,width:1,style:0}}}},inputs:{}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Awesome Oscillator",shortDescription:"AO",is_price_study:!1,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"}}}},inputs:[],id:"Awesome Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Awesome Oscillator",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e-t},this.f_1=function(e){return r.Std.le(e,0)?0:1},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.hl2(this._context),s=this._context.new_var(i),n=r.Std.sma(s,5,this._context),o=this._context.new_var(i),a=r.Std.sma(o,34,this._context),l=this.f_0(n,a),c=l,h=this._context.new_var(l),d=r.Std.change(h);return[c,this.f_1(d)]}}},{name:"Balance of Power",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:c}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Balance of Power",shortDescription:"Balance of Power",is_price_study:!1,inputs:[],id:"Balance of Power@tv-basicstudies-1",scriptIdPart:"",name:"Balance of Power",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i,s){return(e-t)/(i-s)},this.main=function(e,t){return this._context=e,this._input=t,[this.f_0(r.Std.close(this._context),r.Std.open(this._context),r.Std.high(this._context),r.Std.low(this._context))]}}},{name:"Bollinger Bands",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Median",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands",shortDescription:"BB",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_2",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t +;var i=r.Std.close(this._context),s=this._input(0),n=this._input(1),o=this._context.new_var(i),a=r.Std.sma(o,s,this._context),l=this._context.new_var(i),c=r.Std.stdev(l,s,this._context),h=this.f_0(n,c);return[a,this.f_1(a,h),this.f_2(a,h)]}}},{name:"Bollinger Bands %B",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:d}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:1},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],filledAreasStyle:{fill_0:{color:"#26A69A",transparency:90,visible:!0}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands %B",shortDescription:"BB %B",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands %B@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands %B",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.f_3=function(e,t,i){return(e-t)/(i-t)},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._input(0),n=this._input(1),o=this._context.new_var(i),a=r.Std.sma(o,s,this._context),l=this._context.new_var(i),c=r.Std.stdev(l,s,this._context),h=this.f_0(n,c),d=this.f_1(a,h),u=this.f_2(a,h);return[this.f_3(i,u,d)]}}},{name:"Bollinger Bands Width",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands Width",shortDescription:"BBW",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands Width@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands Width",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.f_3=function(e,t,i){return(e-t)/i},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._input(0),n=this._input(1),o=this._context.new_var(i),a=r.Std.sma(o,s,this._context),l=this._context.new_var(i),c=r.Std.stdev(l,s,this._context),h=this.f_0(n,c),d=this.f_1(a,h),u=this.f_2(a,h);return[this.f_3(d,u,a)]}}},{name:"Chaikin Money Flow",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{ +styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chaikin Money Flow",shortDescription:"CMF",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Chaikin Money Flow@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Money Flow",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i,s){return r.Std.or(r.Std.and(r.Std.eq(e,t),r.Std.eq(e,i)),r.Std.eq(t,i))?0:(2*e-i-t)/(t-i)*s},this.f_1=function(e,t){return e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this.f_0(r.Std.close(this._context),r.Std.high(this._context),r.Std.low(this._context),r.Std.volume(this._context)),n=this._context.new_var(s),o=r.Std.sum(n,i,this._context),a=r.Std.volume(this._context),l=this._context.new_var(a),c=r.Std.sum(l,i,this._context);return[this.f_1(o,c)]}}},{name:"Chaikin Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#EC407A"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:3,in_1:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chaikin Oscillator",shortDescription:"Chaikin Osc",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"short",defval:3,type:"integer",min:1,max:2e3},{id:"in_1",name:"long",defval:10,type:"integer",min:1,max:2e3}],id:"Chaikin Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Oscillator",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=r.Std.accdist(this._context),o=this._context.new_var(n),a=r.Std.ema(o,i,this._context),l=this._context.new_var(n),c=r.Std.ema(l,s,this._context);return[this.f_0(a,c)]}}},{name:"Chaikin Volatility",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Chaikin Volatility@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Volatility",description:"Chaikin Volatility",shortDescription:"Chaikin Volatility",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#AB47BC"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{periods:10,rocLookback:10}},styles:{plot_0:{title:"Plot"}},bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"periods",type:"integer",name:"Periods"},{id:"rocLookback",type:"integer",name:"Rate of Change Lookback"}],format:{type:"volume"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t, +this.period=this._input(0),this.rocLookback=this._input(1)},this.main=function(e,t){this._context=e,this._input=t,this._context.setMinimumAdditionalDepth(this.period+this.rocLookback);var i=this._context.new_var(r.Std.high(this._context)-r.Std.low(this._context)),s=this._context.new_var(r.Std.ema(i,this.period,this._context));return[r.Std.roc(s,this.rocLookback)]}}},{name:"Chande Kroll Stop",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},inputs:{in_0:10,in_1:1,in_2:9}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Long",histogramBase:0,joinPoints:!1},plot_1:{title:"Short",histogramBase:0,joinPoints:!1}},description:"Chande Kroll Stop",shortDescription:"Chande Kroll Stop",is_price_study:!0,inputs:[{id:"in_0",name:"p",defval:10,type:"integer",min:1,max:4999},{id:"in_1",name:"x",defval:1,type:"integer",min:1,max:1e12},{id:"in_2",name:"q",defval:9,type:"integer",min:1,max:1e12}],id:"Chande Kroll Stop@tv-basicstudies-1",scriptIdPart:"",name:"Chande Kroll Stop",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t,i){return e-t*i},this.f_1=function(e,t,i){return e+t*i},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=this._input(2),o=r.Std.high(this._context),a=this._context.new_var(o),l=r.Std.highest(a,i,this._context),c=r.Std.atr(i,this._context),h=this.f_0(l,s,c),d=this._context.new_var(o),u=r.Std.lowest(d,i,this._context),p=this.f_1(u,s,c),_=this._context.new_var(h),m=r.Std.highest(_,n,this._context),g=this._context.new_var(p);return[r.Std.lowest(g,n,this._context),m]}}},{name:"Chande Momentum Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chande Momentum Oscillator",shortDescription:"ChandeMO",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:2e3}],id:"Chande Momentum Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Chande Momentum Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e){return r.Std.ge(e,0)?e:0},this.f_1=function(e){return r.Std.ge(e,0)?0:-e},this.f_2=function(e,t){return 100*e/t},this.f_3=function(e,t){return this.f_2(e-t,e+t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=r.Std.close(this._context),n=this._context.new_var(s),o=r.Std.change(n),a=this.f_0(o),l=this.f_1(o),c=this._context.new_var(a),h=r.Std.sum(c,i,this._context),d=this._context.new_var(l),u=r.Std.sum(d,i,this._context);return[this.f_3(h,u)]}}},{name:"Chop Zone",metainfo:{_metainfoVersion:52, +isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:5,trackPrice:!1,transparency:0,visible:!0,color:"#000080"}},palettes:{palette_0:{colors:{0:{color:"#26C6DA",width:1,style:0},1:{color:"#43A047",width:1,style:0},2:{color:"#A5D6A7",width:1,style:0},3:{color:u,width:1,style:0},4:{color:"#D50000",width:1,style:0},5:{color:"#E91E63",width:1,style:0},6:{color:"#FF6D00",width:1,style:0},7:{color:"#FFB74D",width:1,style:0},8:{color:"#FDD835",width:1,style:0}}}},inputs:{}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Chop Zone",shortDescription:"Chop Zone",is_price_study:!1,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"},2:{name:"Color 2"},3:{name:"Color 3"},4:{name:"Color 4"},5:{name:"Color 5"},6:{name:"Color 6"},7:{name:"Color 7"},8:{name:"Color 8"}},valToIndex:{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8}}},inputs:[],id:"chop_zone@tv-basicstudies-1",scriptIdPart:"",name:"Chop Zone",format:{precision:0,type:"price"}},constructor:function(){this.f_0=function(){var e=r.Std.close(this._context),t=r.Std.hlc3(this._context),i=this._context.new_var(r.Std.high(this._context)),s=r.Std.highest(i,30,this._context),n=r.Std.lowest(i,30,this._context),o=25/(s-n)*n,a=this._context.new_var(e),l=this._context.new_var(r.Std.ema(a,34,this._context)),c=(l.get(1)-l.get(0))/t*o,h=r.Std.sqrt(1+c*c),d=r.Std.round(180*r.Std.acos(1/h)/3.141592653589793),u=r.Std.iff(r.Std.gt(c,0),-d,d),p=r.Std.and(r.Std.gt(u,-2.14),r.Std.le(u,-.71))?7:8,_=r.Std.and(r.Std.gt(u,-3.57),r.Std.le(u,-2.14))?6:p,m=r.Std.and(r.Std.gt(u,-5),r.Std.le(u,-3.57))?5:_,g=r.Std.le(u,-5)?4:m,f=r.Std.and(r.Std.lt(u,2.14),r.Std.ge(u,.71))?3:g,v=r.Std.and(r.Std.lt(u,3.57),r.Std.ge(u,2.14))?2:f,S=r.Std.and(r.Std.lt(u,5),r.Std.ge(u,3.57))?1:v;return[1,r.Std.ge(u,5)?0:S]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Choppiness Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:61.8},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:38.2}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Choppiness Index",shortDescription:"CHOP",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Choppiness Index@tv-basicstudies-1",scriptIdPart:"",name:"Choppiness Index",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e,t,i,s){ +return 100*r.Std.log10(e/(t-i))/s},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=r.Std.atr(1,this._context),n=this._context.new_var(s),o=r.Std.sum(n,i,this._context),a=r.Std.high(this._context),l=this._context.new_var(a),c=r.Std.highest(l,i,this._context),h=r.Std.low(this._context),d=this._context.new_var(h),u=r.Std.lowest(d,i,this._context),p=r.Std.log10(i);return[this.f_0(o,c,u,p)]}}},{name:"Commodity Channel Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:100},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-100}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:20,smoothingLine:"SMA",smoothingLength:20}},plots:[{id:"plot_0",type:"line"},{id:"smoothedMA",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},smoothedMA:{title:"Smoothed MA",histogramBase:0,joinPoints:!1}},description:"Commodity Channel Index",shortDescription:"CCI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3},{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:20,type:"integer",min:1,max:1e4}],id:"Commodity Channel Index@tv-basicstudies-1",scriptIdPart:"",name:"Commodity Channel Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){return(e-t)/(.015*i)},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.hlc3(this._context),s=this._input(0),n=this._input(1),o=this._input(2);this._context.setMinimumAdditionalDepth(s+o);var a,l=this._context.new_var(i),c=r.Std.sma(l,s,this._context),h=this._context.new_var(i),d=r.Std.dev(h,s,this._context),u=this.f_0(i,c,d),p=this._context.new_var(u);return"EMA"===n?a=r.Std.ema(p,o,this._context):"WMA"===n?a=r.Std.wma(p,o,this._context):"SMA"===n&&(a=r.Std.sma(p,o,this._context)),[u,a]}}},{name:"Connors RSI",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:70},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:30}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:3,in_1:2,in_2:100}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"CRSI",histogramBase:0,joinPoints:!1}},description:"Connors RSI",shortDescription:"CRSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1", +name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"RSI Length",defval:3,type:"integer",min:1},{id:"in_1",name:"UpDown Length",defval:2,type:"integer",min:1},{id:"in_2",name:"ROC Length",defval:100,type:"integer",min:1}],id:"Connors RSI@tv-basicstudies-1",scriptIdPart:"",name:"Connors RSI",format:{precision:2,type:"price"}},constructor:function(){var e;this.f_1=function(e,t,i){var s=i.new_var(r.Std.max(r.Std.change(e),0));return r.Std.rma(s,t,i)},this.f_2=function(e,t,i){var s=i.new_var(-r.Std.min(r.Std.change(e),0));return r.Std.rma(s,t,i)},this.f_3=(e=0,function(t){var i=t.get(0),s=t.get(1);return e=i===s?0:i>s?r.Std.nz(e)<=0?1:r.Std.nz(e)+1:r.Std.nz(e)>=0?-1:r.Std.nz(e)-1,this._context.new_var(e)}),this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._context.new_var(i),n=this._input(0),o=this._input(1),a=this._input(2);this._context.setMinimumAdditionalDepth(a);var l=r.Std.rsi(this.f_1(s,n,this._context),this.f_2(s,n,this._context)),c=this.f_3(s),h=r.Std.rsi(this.f_1(c,o,this._context),this.f_2(c,o,this._context)),d=this._context.new_var(r.Std.roc(s,1)),u=r.Std.percentrank(d,a);return[r.Std.avg(l,h,u)]}}},{name:"Coppock Curve",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10,in_1:14,in_2:11}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Coppock Curve",shortDescription:"Coppock Curve",is_price_study:!1,inputs:[{id:"in_0",name:"WMA Length",defval:10,type:"integer",min:-1e12,max:5e3},{id:"in_1",name:"Long RoC Length",defval:14,type:"integer",min:1,max:4999},{id:"in_2",name:"Short RoC Length",defval:11,type:"integer",min:1,max:4999}],id:"Coppock Curve@tv-basicstudies-1",scriptIdPart:"",name:"Coppock Curve",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e+t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+Math.max(s,n));var o=r.Std.close(this._context),a=this._context.new_var(o),l=r.Std.roc(a,s),c=this._context.new_var(o),h=r.Std.roc(c,n),d=this.f_0(l,h),u=this._context.new_var(d);return[r.Std.wma(u,i,this._context)]}}},{name:"Correlation Coeff",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:4,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:"",in_1:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Correlation Coefficient",shortDescription:"CC",is_price_study:!1,inputs:[{id:"in_0",name:"sym",defval:"",type:"symbol"},{id:"in_1",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Correlation Coeff@tv-basicstudies-1",scriptIdPart:"", +name:"Correlation Coeff",format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this._context.new_sym(this._input(0),r.Std.period(this._context))},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_unlimited_var(this._context.symbol.time),s=(this._input(0),r.Std.period(this._context),r.Std.close(this._context)),n=this._input(1);this._context.select_sym(1);var o=this._context.new_unlimited_var(this._context.symbol.time),a=r.Std.close(this._context),l=this._context.new_unlimited_var(a);this._context.select_sym(0);var c=l.adopt(o,i,0),h=this._context.new_var(s),d=this._context.new_var(c);return[r.Std.correlation(h,d,n,this._context)]}}},{name:"Correlation - Log",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Correlation - Log@tv-basicstudies-1",scriptIdPart:"",name:"Correlation - Log",description:"Correlation - Log",shortDescription:"Correlation - Log",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{instrument:"",instrument2:"",periods:25}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"instrument",name:"Instrument 1",type:"symbol",defval:"",confirm:!0},{id:"instrument2",name:"Instrument 2",type:"symbol",defval:"",confirm:!0},{id:"periods",name:"Periods",type:"integer",defval:25}],format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this._context.new_sym(this._input(0),r.Std.period(this._context)),this._context.new_sym(this._input(1),r.Std.period(this._context)),this.period=this._input(2)},this.correlationLog=function(e,t,i,s){var n=r.Std.sma(e,i,s),o=r.Std.sma(t,i,s),a=s.new_var(e.get()*t.get());return(r.Std.sma(a,i,s)-n*o)/Math.sqrt(r.Std.variance2(e,n,i)*r.Std.variance2(t,o,i))},this.main=function(e,t){this._context=e,this._input=t,this._context.select_sym(1);var i=this._context.new_var(this._context.symbol.time);this._context.select_sym(2);var s=this._context.new_var(r.Std.close(this._context)),n=this._context.new_var(r.Std.log(s.get()/s.get(1))),o=this._context.new_var(this._context.symbol.time);this._context.select_sym(1);var a=this._context.new_var(r.Std.close(this._context)),l=this._context.new_var(r.Std.log(a.get()/a.get(1))),c=this._context.new_var(n.adopt(o,i,0)),h=this.correlationLog(l,c,this.period,this._context);return[r.Std.round(1e3*h)/1e3]}}},{name:"Detrended Price Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:21,in_1:!1}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"DPO",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Detrended Price Oscillator",shortDescription:"DPO",is_price_study:!1,is_hidden_study:!1,id:"detrended_price_oscillator@tv-basicstudies-1", +bands:[{id:"hline_0",name:"Zero",isHidden:!1}],inputs:[{id:"in_0",name:"Period",defval:21,type:"integer",min:1,max:1e12},{id:"in_1",name:"isCentered",defval:!1,type:"bool"}],scriptIdPart:"",name:"Detrended Price Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(){var e=this._input(0),t=this._input(1),i=Math.floor(e/2+1);this._context.setMinimumAdditionalDepth(e+i);var s=this._context.new_var(r.Std.close(this._context)),n=this._context.new_var(r.Std.sma(s,e,this._context)),o=this._context.new_var(r.Std.close(this._context)).get(i)-n,a=r.Std.close(this._context)-n.get(i);return[t?o:a,t?-i:0]},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0();return[{value:i[0],offset:i[1]}]}}},{name:"Directional Movement Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_3:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FFA726"},plot_4:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#ab47bc"}},inputs:{in_0:14,in_1:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"},{id:"plot_3",type:"line"},{id:"plot_4",type:"line"}],styles:{plot_0:{title:"+DI",histogramBase:0,joinPoints:!1},plot_1:{title:"-DI",histogramBase:0,joinPoints:!1},plot_2:{title:"DX",histogramBase:0,joinPoints:!1},plot_3:{title:"ADX",histogramBase:0,joinPoints:!1},plot_4:{title:"ADXR",histogramBase:0,joinPoints:!1}},description:"Directional Movement",shortDescription:"DMI",is_price_study:!1,inputs:[{id:"in_0",name:"DI Length",defval:14,type:"integer",min:1,max:2e3},{id:"in_1",name:"ADX Smoothing",defval:14,type:"integer",min:1,max:50}],id:"Directional Movement Index@tv-basicstudies-1",scriptIdPart:"",name:"Directional Movement Index",format:{precision:4,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1);return this._context.setMinimumAdditionalDepth(2*i+s),r.Std.dmi(i,s,this._context)}}},{name:"Donchian Channels",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Lower",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0, +joinPoints:!1},plot_2:{title:"Basis",histogramBase:0,joinPoints:!1}},description:"Donchian Channels",shortDescription:"DC",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_0",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Donchian Channels@tv-basicstudies-1",scriptIdPart:"",name:"Donchian Channels",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=r.Std.low(this._context),n=this._context.new_var(s),o=r.Std.lowest(n,i,this._context),a=r.Std.high(this._context),l=this._context.new_var(a),c=r.Std.highest(l,i,this._context);return[o,c,r.Std.avg(c,o)]}}},{name:"Double Exponential Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Double EMA",shortDescription:"DEMA",is_price_study:!0,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e4}],id:"Double Exponential Moving Average@tv-basicstudies-1",scriptIdPart:"",name:"Double Exponential Moving Average",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return 2*e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(2*i);var s=r.Std.close(this._context),n=this._context.new_var(s),o=r.Std.ema(n,i,this._context),a=this._context.new_var(o),l=r.Std.ema(a,i,this._context);return[this.f_0(o,l)]}}},{name:"Ease of Movement",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},inputs:{in_0:1e4,in_1:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Ease Of Movement",shortDescription:"EOM",is_price_study:!1,inputs:[{id:"in_0",name:"Divisor",defval:1e4,type:"integer",min:1,max:1e9},{id:"in_1",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Ease of Movement@tv-basicstudies-1",scriptIdPart:"",name:"Ease of Movement",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i,s,r){return e*t*(i-s)/r},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=r.Std.hl2(this._context),o=this._context.new_var(n),a=r.Std.change(o),l=this.f_0(i,a,r.Std.high(this._context),r.Std.low(this._context),r.Std.volume(this._context)),c=this._context.new_var(l);return[r.Std.sma(c,s,this._context)]}}},{name:"Elders Force Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:a}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}], +inputs:{in_0:13}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Elder's Force Index",shortDescription:"EFI",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:13,type:"integer",min:1,max:2e3}],id:"Elders Force Index@tv-basicstudies-1",scriptIdPart:"",name:"Elders Force Index",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){return e*t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=r.Std.close(this._context),n=this._context.new_var(s),o=r.Std.change(n),a=this.f_0(o,r.Std.volume(this._context)),l=this._context.new_var(a);return[r.Std.ema(l,i,this._context)]}}},{name:"EMA Cross",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"},plot_2:{linestyle:0,linewidth:4,plottype:3,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:26}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Short",histogramBase:0,joinPoints:!1},plot_1:{title:"Long",histogramBase:0,joinPoints:!1},plot_2:{title:"Crosses",histogramBase:0,joinPoints:!1}},description:"EMA Cross",shortDescription:"EMA Cross",is_price_study:!0,inputs:[{id:"in_0",name:"Short",defval:9,type:"integer",min:1,max:2e3},{id:"in_1",name:"Long",defval:26,type:"integer",min:1,max:2e3}],id:"EMA Cross@tv-basicstudies-1",scriptIdPart:"",name:"EMA Cross",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e?t:r.Std.na()},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=r.Std.close(this._context),o=this._context.new_var(n),a=r.Std.ema(o,i,this._context),l=this._context.new_var(n),c=r.Std.ema(l,s,this._context),h=a,d=c,u=r.Std.cross(a,c,this._context);return[h,d,this.f_0(u,a)]}}},{name:"Envelopes",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20,in_1:10,in_2:10,in_3:"Simple",in_4:"close"}},plots:[{id:"plot_1",type:"line"},{id:"plot_0",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Average",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Envelopes",shortDescription:"Envelopes",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_2",type:"plot_plot",title:"Plots Background"}], +inputs:[{id:"in_0",name:"Length",defval:20,type:"integer",min:1,max:2e3},{id:"in_1",name:"Upper Percentage",defval:2,type:"float",min:0},{id:"in_2",name:"Lower Percentage",defval:2,type:"float",min:0},{id:"in_3",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]},{id:"in_4",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]}],id:"Envelope@tv-basicstudies-1",scriptIdPart:"",name:"Envelopes",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e*(1+t)},this.f_1=function(e,t){return e*(1-t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(r.Std[this._input(4)](this._context)),s=r.Std.sma(i,this._input(0),this._context);return"Exponential"===this._input(3)?s=r.Std.ema(i,this._input(0),this._context):"Weighted"===this._input(3)&&(s=r.Std.wma(i,this._input(0),this._context)),[this.f_0(s,this._input(1)/100),s,this.f_1(s,this._input(2)/100)]}}},{name:"Standard Error",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Standard Error@tv-basicstudies-1",scriptIdPart:"",name:"Standard Error",description:"Standard Error",shortDescription:"Standard Error",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"}},inputs:{length:14}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"length",type:"integer",name:"Length",min:3}],format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0)},this.main=function(e,t){this._context=e,this._input=t;for(var i,s,n=this._context.new_var(r.Std.close(this._context)),o=0,a=0,l=0;l0?1:3,i=r.Std.change(this._context.new_var(e));return t-(r.Std.le(i,0)?0:1)},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std[this._input(2)](this._context),s=this._input(0),n=this._input(1),o=this._input(3);this._context.setMinimumAdditionalDepth(Math.max(s,n)+o);var a=this._context.new_var(i),l=r.Std.ema(a,s,this._context),c=this._context.new_var(i),h=r.Std.ema(c,n,this._context),d=this.f_0(l,h),u=this._context.new_var(d),p=r.Std.ema(u,o,this._context),_=this.f_0(d,p);return[_,d,p,this.f_1(_)]}}},{name:"Moving Average Exponential",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1}},inputs:{length:9, +source:"close",offset:0,smoothingLine:"SMA",smoothingLength:9}},plots:[{id:"plot_0",type:"line"},{id:"smoothedMA",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},smoothedMA:{title:"Smoothed MA",histogramBase:0,joinPoints:!1}},description:"Moving Average Exponential",shortDescription:"EMA",is_price_study:!0,inputs:[{id:"length",name:"Length",defval:9,type:"integer",min:1,max:1e4},{id:"source",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]},{id:"offset",name:"Offset",defval:0,type:"integer",min:-1e4,max:1e4},{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:9,type:"integer",min:1,max:1e4}],id:"Moving Average Exponential@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Exponential",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=r.Std[this._input(1)](this._context),s=this._input(0),n=this._input(2),o=this._input(3),a=this._input(4);this._context.setMinimumAdditionalDepth(s+a);var l,c=this._context.new_var(i),h=r.Std.ema(c,s,this._context),d=this._context.new_var(h);return"EMA"===o?l=r.Std.ema(d,a,this._context):"WMA"===o?l=r.Std.wma(d,a,this._context):"SMA"===o&&(l=r.Std.sma(d,a,this._context)),[{value:h,offset:n},{value:l,offset:n}]}}},{name:"Moving Average Weighted",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:"close",in_2:0}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Moving Average Weighted",shortDescription:"WMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:9,type:"integer",min:1,max:2e3},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]},{id:"in_2",name:"Offset",defval:0,type:"integer",min:-1e4,max:1e4}],id:"Moving Average Weighted@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Weighted",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=r.Std[this._input(1)](this._context),s=this._input(0),n=this._input(2),o=this._context.new_var(i);return[{value:r.Std.wma(o,s,this._context),offset:n}]}}},{name:"Moving Average Double",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"Moving Average Double@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Double",description:"Moving Average Double",shortDescription:"Moving Average Double",is_price_study:!0,plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"},plot_1:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{firstPeriods:14,secondPeriods:21, +method:"Simple"}},styles:{plot_0:{title:"Plot 1"},plot_1:{title:"Plot 2"}},inputs:[{id:"firstPeriods",name:"1st Period",type:"integer",defval:14,min:1,max:1e4},{id:"secondPeriods",name:"2nd Period",type:"integer",defval:21,min:1,max:1e4},{id:"method",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]}],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i,s,n=this._context.new_var(r.Std.close(this._context));return"Exponential"===this._input(2)?(i=r.Std.ema(n,this._input(0),this._context),s=r.Std.ema(n,this._input(1),this._context)):"Weighted"===this._input(2)?(i=r.Std.wma(n,this._input(0),this._context),s=r.Std.wma(n,this._input(1),this._context)):(i=r.Std.sma(n,this._input(0),this._context),s=r.Std.sma(n,this._input(1),this._context)),[i,s]}}},{name:"Moving Average Triple",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Triple@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Triple",description:"Moving Average Triple",shortDescription:"Moving Average Triple",plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#FF6D00"},plot_1:{linestyle:0,visible:!0,linewidth:1,transparency:0,plottype:0,trackPrice:!1,color:"#2196F3"},plot_2:{linestyle:0,visible:!0,linewidth:1,transparency:0,plottype:0,trackPrice:!1,color:"#26C6DA"}},inputs:{firstPeriods:14,secondPeriods:21,thirdPeriods:35,method:"Simple"}},styles:{plot_0:{title:"Plot 1"},plot_1:{title:"Plot 2"},plot_2:{title:"Plot 3"}},inputs:[{id:"firstPeriods",name:"1st Period",type:"integer",defval:14,min:1,max:1e4},{id:"secondPeriods",name:"2nd Period",type:"integer",defval:21,min:1,max:1e4},{id:"thirdPeriods",name:"3rd Period",type:"integer",defval:35,min:1,max:1e4},{id:"method",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]}],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i,s,n,o=this._context.new_var(r.Std.close(this._context));return"Exponential"===this._input(3)?(i=r.Std.ema(o,this._input(0),this._context),s=r.Std.ema(o,this._input(1),this._context),n=r.Std.ema(o,this._input(2),this._context)):"Weighted"===this._input(3)?(i=r.Std.wma(o,this._input(0),this._context),s=r.Std.wma(o,this._input(1),this._context),n=r.Std.wma(o,this._input(2),this._context)):(i=r.Std.sma(o,this._input(0),this._context),s=r.Std.sma(o,this._input(1),this._context),n=r.Std.sma(o,this._input(2),this._context)),[i,s,n]}}},{name:"Moving Average Adaptive",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Adaptive@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Adaptive",description:"Moving Average Adaptive",shortDescription:"Moving Average Adaptive",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0, +visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#AB47BC"}},inputs:{periods:10}},styles:{plot_0:{title:"Plot 1"}},inputs:[{id:"periods",name:"Period",type:"integer",defval:10,min:2,max:1e4}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.periods=this._input(0)},this.ama=function(e,t){var i=this.periods,s=this._context.new_var(),n=e.get(),o=r.Std.stdev(t,i,this._context),a=r.Std.log(n/e.get(i))/(o*Math.sqrt(i)),l=.1*Math.abs(a),c=(n-s.get(1))*l+s.get(1);return s.set(isNaN(c)?n:c),c},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(r.Std.close(this._context)),s=this._context.new_var(r.Std.log(i.get()/i.get(1)));return[this.ama(i,s)]}}},{name:"Moving Average Hamming",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Hamming@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Hamming",description:"Moving Average Hamming",shortDescription:"Moving Average Hamming",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#4CAF50"}},inputs:{periods:10}},styles:{plot_0:{title:"Plot 1"}},inputs:[{id:"periods",name:"Period",type:"integer",defval:10,min:1,max:1e4}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.periods=this._input(0);for(var i=[],s=0,r=1;r<=this.periods;++r){var n=Math.sin((1+r)/this.periods*Math.PI/2);i.unshift(n),s+=n}this.hmaFactors=i,this.hmaFactorsSum=s},this.hma=function(e){for(var t=this.periods,i=0,s=0;sthis._context.new_var(s).get(1)?1:0,[100*r.Std.sma(this._context.new_var(i),this.rollingPeriod,this._context)]}}},{name:"Net Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Net Volume", +shortDescription:"Net Volume",is_price_study:!1,inputs:[],id:"Net Volume@tv-basicstudies-1",scriptIdPart:"",name:"Net Volume",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i){return r.Std.gt(e,0)?t:r.Std.lt(i,0)?-t:0*t},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._context.new_var(i),n=r.Std.change(s);return[this.f_0(n,r.Std.volume(this._context),n)]}}},{name:"On Balance Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1}},inputs:{smoothingLine:"SMA",smoothingLength:9}},plots:[{id:"plot_0",type:"line"},{id:"smoothedMA",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},smoothedMA:{title:"Smoothed MA",histogramBase:0,joinPoints:!1}},description:"On Balance Volume",shortDescription:"OBV",is_price_study:!1,inputs:[{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:9,type:"integer",min:1,max:1e4}],id:"On Balance Volume@tv-basicstudies-1",scriptIdPart:"",name:"On Balance Volume",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i){return r.Std.gt(e,0)?t:r.Std.lt(i,0)?-t:0*t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=r.Std.close(this._context),o=this._context.new_var(n),a=r.Std.change(o),l=this.f_0(a,r.Std.volume(this._context),a),c=r.Std.cum(l,this._context);this._context.setMinimumAdditionalDepth(s);var h,d=this._context.new_var(c);return"EMA"===i?h=r.Std.ema(d,s,this._context):"WMA"===i?h=r.Std.wma(d,s,this._context):"SMA"===i&&(h=r.Std.sma(d,s,this._context)),[c,h]}}},{name:"Parabolic SAR",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:3,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:.02,in_1:.02,in_2:.2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Parabolic SAR",shortDescription:"SAR",is_price_study:!0,inputs:[{id:"in_0",name:"start",defval:.02,type:"float",min:-1e12,max:1e12},{id:"in_1",name:"increment",defval:.02,type:"float",min:-1e12,max:1e12},{id:"in_2",name:"maximum",defval:.2,type:"float",min:-1e12,max:1e12}],id:"Parabolic SAR@tv-basicstudies-1",scriptIdPart:"",name:"Parabolic SAR",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=this._input(2);return[r.Std.sar(i,s,n,this._context)]}}},{name:"Price Channel",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_1:{linestyle:0,linewidth:1, +plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:20,in_1:0}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Highprice Line",histogramBase:0,joinPoints:!1},plot_1:{title:"Lowprice Line",histogramBase:0,joinPoints:!1},plot_2:{title:"Centerprice Line",histogramBase:0,joinPoints:!1}},description:"Price Channel",shortDescription:"PC",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:20,type:"integer",min:1,max:2e3},{id:"in_1",name:"Offset Length",defval:0,type:"integer",min:1,max:2e3}],id:"Price Channel@tv-basicstudies-1",scriptIdPart:"",name:"Price Channel",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.high(this._context),s=this._context.new_var(i),n=r.Std.low(this._context),o=this._context.new_var(n),a=this._input(0),l=this._input(1),c=r.Std.highest(s,a,this._context),h=r.Std.lowest(o,a,this._context);return[{value:c,offset:l},{value:h,offset:l},{value:r.Std.avg(c,h),offset:l}]}}},{name:"Price Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:u}},inputs:{in_0:10,in_1:21}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Price Oscillator",shortDescription:"PPO",is_price_study:!1,inputs:[{id:"in_0",name:"shortlen",defval:10,type:"integer",min:1,max:2e3},{id:"in_1",name:"longlen",defval:21,type:"integer",min:1,max:2e3}],id:"Price Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Price Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e,t){return(e-t)/t*100},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._input(0),n=this._input(1),o=this._context.new_var(i),a=r.Std.sma(o,s,this._context),l=this._context.new_var(i),c=r.Std.sma(l,n,this._context);return[this.f_0(a,c)]}}},{name:"Price Volume Trend",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"PVT",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Price Volume Trend",shortDescription:"PVT",is_price_study:!1,is_hidden_study:!1,id:"price_volume_trend@tv-basicstudies-1",inputs:[],scriptIdPart:"",name:"Price Volume Trend",format:{type:"volume"}},constructor:function(){this.f_0=function(){var e=this._context.new_var(r.Std.close(this._context));return[r.Std.cum(r.Std.change(e)/e.get(1)*r.Std.volume(this._context),this._context)]},this.main=function(e,t){return this._context=e,this._input=t,[this.f_0()[0]]}}},{name:"Rate Of Change",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{ +styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ROC",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Rate Of Change",shortDescription:"ROC",is_price_study:!1,bands:[{id:"hline_0",name:"Zero Line",isHidden:!1}],inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e12}],id:"rate_of_change@tv-basicstudies-1",scriptIdPart:"",name:"Rate Of Change",format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(r.Std.close(this._context)),s=this._input(0);return[100*(i.get(0)-i.get(s))/i.get(s)]}}},{name:"Relative Strength Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:70},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:30}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{length:14,smoothingLine:"SMA",smoothingLength:14}},plots:[{id:"plot_0",type:"line"},{id:"smoothedMA",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},smoothedMA:{title:"Smoothed MA",histogramBase:0,joinPoints:!1}},description:"Relative Strength Index",shortDescription:"RSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"length",name:"Length",defval:14,type:"integer",min:1,max:2e3},{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:14,type:"integer",min:1,max:1e4}],id:"Relative Strength Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Strength Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){return r.Std.max(e,0)},this.f_1=function(e){return-r.Std.min(e,0)},this.f_2=function(e,t){return r.Std.eq(e,0)?100:r.Std.eq(t,0)?0:100-100/(1+t/e)},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._input(0),n=this._input(1),o=this._input(2);this._context.setMinimumAdditionalDepth(s+o);var a,l=this._context.new_var(i),c=r.Std.change(l),h=this.f_0(c),d=this._context.new_var(h),u=r.Std.rma(d,s,this._context),p=this.f_1(c),_=this._context.new_var(p),m=r.Std.rma(_,s,this._context),g=this.f_2(m,u),f=this._context.new_var(g);return"EMA"===n?a=r.Std.ema(f,o,this._context):"WMA"===n?a=r.Std.wma(f,o,this._context):"SMA"===n&&(a=r.Std.sma(f,o,this._context)),[{value:g},{value:a}]}}},{name:"Relative Vigor Index",metainfo:{_metainfoVersion:52,isTVScript:!1, +isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:u},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:a}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"RVGI",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1}},description:"Relative Vigor Index",shortDescription:"RVGI",is_price_study:!1,inputs:[{id:"in_0",name:"Length",defval:10,type:"integer",min:1,max:2e3}],id:"Relative Vigor Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Vigor Index",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(e,t){return e-t},this.f_1=function(e,t){return e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this.f_0(r.Std.close(this._context),r.Std.open(this._context)),n=this._context.new_var(s),o=r.Std.swma(n,this._context),a=this._context.new_var(o),l=r.Std.sum(a,i,this._context),c=this.f_0(r.Std.high(this._context),r.Std.low(this._context)),h=this._context.new_var(c),d=r.Std.swma(h,this._context),u=this._context.new_var(d),p=r.Std.sum(u,i,this._context),_=this.f_1(l,p),m=this._context.new_var(_);return[_,r.Std.swma(m,this._context)]}}},{name:"Relative Volatility Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Relative Volatility Index",shortDescription:"RVI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:10,type:"integer",min:1,max:2e3}],id:"Relative Volatility Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Volatility Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return r.Std.le(e,0)?0:t},this.f_1=function(e,t){return r.Std.gt(e,0)?0:t},this.f_2=function(e,t){return e/(e+t)*100},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(i+12);var s=r.Std.close(this._context),n=this._context.new_var(s),o=r.Std.stdev(n,i,this._context),a=this._context.new_var(s),l=r.Std.change(a),c=this.f_0(l,o),h=this._context.new_var(c),d=r.Std.ema(h,14,this._context),u=this.f_1(l,o),p=this._context.new_var(u),_=r.Std.ema(p,14,this._context);return[this.f_2(d,_)]}}},{name:"SMI Ergodic Indicator/Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{ +styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_2:{linestyle:0,linewidth:1,plottype:1,trackPrice:!1,transparency:0,visible:!0,color:c}},inputs:{in_0:5,in_1:20,in_2:5}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Indicator",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1},plot_2:{title:"Oscillator",histogramBase:0,joinPoints:!1}},description:"SMI Ergodic Indicator/Oscillator",shortDescription:"SMIIO",is_price_study:!1,inputs:[{id:"in_0",name:"shortlen",defval:5,type:"integer",min:1,max:2e3},{id:"in_1",name:"longlen",defval:20,type:"integer",min:1,max:2e3},{id:"in_2",name:"siglen",defval:5,type:"integer",min:1,max:2e3}],id:"SMI Ergodic Indicator/Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"SMI Ergodic Indicator/Oscillator",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+s+n);var o=r.Std.close(this._context),a=this._context.new_var(o),l=r.Std.tsi(a,i,s,this._context),c=this._context.new_var(l),h=r.Std.ema(c,n,this._context);return[l,h,this.f_0(l,h)]}}},{name:"Smoothed Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#673AB7"}},inputs:{in_0:7,in_1:"close"}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Smoothed Moving Average",shortDescription:"SMMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:7,type:"integer",min:1,max:1e12},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]}],id:"smoothed_moving_average@tv-basicstudies-1",scriptIdPart:"",name:"Smoothed Moving Average",format:{type:"inherit"}},constructor:function(){this.f_0=function(){var e=this._input(0),t=r.Std[this._input(1)](this._context);return[r.Std.smma(t,e,this._context)]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Standard Deviation",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"Standard Deviation@tv-basicstudies-1",scriptIdPart:"",name:"Standard Deviation",description:"Standard Deviation",shortDescription:"Standard Deviation",is_price_study:!1,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:u}},inputs:{periods:5,deviations:1}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer"},{id:"deviations",name:"Deviations",type:"float"}],format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){ +this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=this._context.new_var(r.Std.close(this._context));return[r.Std.stdev(n,i,this._context)*s]}}},{name:"Stochastic",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14,in_1:1,in_2:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"%K",histogramBase:0,joinPoints:!1},plot_1:{title:"%D",histogramBase:0,joinPoints:!1}},description:"Stochastic",shortDescription:"Stoch",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"K",defval:14,type:"integer",min:1,max:1e4},{id:"in_1",name:"D",defval:1,type:"integer",min:1,max:1e4},{id:"in_2",name:"smooth",defval:3,type:"integer",min:1,max:1e4}],id:"Stochastic@tv-basicstudies-1",scriptIdPart:"",name:"Stochastic",format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+s+n);var o=r.Std.close(this._context),a=r.Std.high(this._context),l=r.Std.low(this._context),c=this._context.new_var(o),h=this._context.new_var(a),d=this._context.new_var(l),u=r.Std.stoch(c,h,d,i,this._context),p=this._context.new_var(u),_=r.Std.sma(p,s,this._context),m=this._context.new_var(_);return[_,r.Std.sma(m,n,this._context)]}}},{name:"Stochastic RSI",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14,in_1:14,in_2:3,in_3:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"%K",histogramBase:0,joinPoints:!1},plot_1:{title:"%D",histogramBase:0,joinPoints:!1}},description:"Stochastic RSI",shortDescription:"Stoch RSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"lengthRSI",defval:14,type:"integer",min:1,max:1e4},{id:"in_1",name:"lengthStoch",defval:14,type:"integer",min:1, +max:1e4},{id:"in_2",name:"smoothK",defval:3,type:"integer",min:1,max:1e4},{id:"in_3",name:"smoothD",defval:3,type:"integer",min:1,max:1e4}],id:"Stochastic RSI@tv-basicstudies-1",scriptIdPart:"",name:"Stochastic RSI",format:{precision:2,type:"price"}},constructor:function(){this.f_1=function(e,t,i){var s=i.new_var(r.Std.max(r.Std.change(e),0));return r.Std.rma(s,t,i)},this.f_2=function(e,t,i){var s=i.new_var(-r.Std.min(r.Std.change(e),0));return r.Std.rma(s,t,i)},this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._input(0),n=this._input(1),o=this._input(2),a=this._input(3);e.setMinimumAdditionalDepth(s+n+o+a);var l=this._context.new_var(i),c=r.Std.rsi(this.f_1(l,s,this._context),this.f_2(l,s,this._context)),h=this._context.new_var(c),d=this._context.new_var(c),u=this._context.new_var(c),p=r.Std.stoch(h,d,u,n,this._context),_=this._context.new_var(p),m=r.Std.sma(_,o,this._context),g=this._context.new_var(m);return[m,r.Std.sma(g,a,this._context)]}}},{name:"TRIX",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:a}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:18}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"TRIX",histogramBase:0,joinPoints:!1}},description:"TRIX",shortDescription:"TRIX",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:18,type:"integer",min:1,max:2e3}],id:"TRIX@tv-basicstudies-1",scriptIdPart:"",name:"TRIX",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){return r.Std.log(e)},this.f_1=function(e){return 1e4*e},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);e.setMinimumAdditionalDepth(3*i);var s=this.f_0(r.Std.close(this._context)),n=this._context.new_var(s),o=r.Std.ema(n,i,this._context),a=this._context.new_var(o),l=r.Std.ema(a,i,this._context),c=this._context.new_var(l),h=r.Std.ema(c,i,this._context),d=this._context.new_var(h),u=r.Std.change(d);return[this.f_1(u)]}}},{name:"Triple EMA",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Triple EMA",shortDescription:"TEMA",is_price_study:!0,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e4}],id:"Triple EMA@tv-basicstudies-1",scriptIdPart:"",name:"Triple EMA",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t,i){return 3*(e-t)+i},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(3*i) +;var s=r.Std.close(this._context),n=this._context.new_var(s),o=r.Std.ema(n,i,this._context),a=this._context.new_var(o),l=r.Std.ema(a,i,this._context),c=this._context.new_var(l),h=r.Std.ema(c,i,this._context);return[this.f_0(o,l,h)]}}},{name:"True Strength Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:25,in_1:13,in_2:13}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"True Strength Index",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1}},description:"True Strength Index",shortDescription:"True Strength Index",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"long",defval:25,type:"integer",min:1,max:4999},{id:"in_1",name:"short",defval:13,type:"integer",min:1,max:4999},{id:"in_2",name:"siglen",defval:13,type:"integer",min:1,max:4999}],id:"True Strength Indicator@tv-basicstudies-1",scriptIdPart:"",name:"True Strength Index",format:{precision:4,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(this._input(0)+this._input(1)+this._input(2));var o=r.Std.close(this._context),a=this._context.new_var(o),l=r.Std.tsi(a,s,i,this._context),c=this._context.new_var(l);return[l,r.Std.ema(c,n,this._context)]}}},{name:"Trend Strength Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Trend Strength Index@tv-basicstudies-1",scriptIdPart:"",name:"Trend Strength Index",description:"Trend Strength Index",shortDescription:"Trend Strength Index",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:c}},inputs:{periods:14}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",type:"integer",name:"Periods"}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.invertedPeriod=1/this.period,this.sumX=(this.period-1)*this.period/2,this.sumXX=(this.period-1)*this.period*(2*this.period-1)/6,this.invertedPeriodSumXSumX=this.invertedPeriod*this.sumX*this.sumX},this.trendStrengthIndex=function(){for(var e=this._context.new_var(r.Std.close(this._context)),t=r.Std.sum(e,this.period,this._context),i=0,s=0,n=0;n0?1:-1:a/(l=Math.sqrt(l))},this.main=function(e,t){return this._context=e,this._input=t,[this.trendStrengthIndex()]}}},{name:"Typical Price",metainfo:{ +_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"TypicalPrice@tv-basicstudies-1",scriptIdPart:"",name:"Typical Price",description:"Typical Price",shortDescription:"Typical Price",is_price_study:!0,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"}},inputs:{}},styles:{plot_0:{title:"Plot"}},inputs:[],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){return this._context=e,this._input=t,[r.Std.hlc3(this._context)]}}},{name:"Ultimate Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:a}},inputs:{in_0:7,in_1:14,in_2:28}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"UO",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Ultimate Oscillator",shortDescription:"UO",is_price_study:!1,inputs:[{id:"in_0",name:"length7",defval:7,type:"integer",min:1,max:1e12},{id:"in_1",name:"length14",defval:14,type:"integer",min:1,max:1e12},{id:"in_2",name:"length28",defval:28,type:"integer",min:1,max:1e12}],id:"ultimate_oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Ultimate Oscillator",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){var s=this._context.new_var(e),n=this._context.new_var(t);return[r.Std.sum(s,i,this._context)/r.Std.sum(n,i,this._context)]},this.f_1=function(){var e=this._input(0),t=this._input(1),i=this._input(2),s=this._context.new_var(r.Std.close(this._context)),n=r.Std.max(r.Std.high(this._context),s.get(1)),o=this._context.new_var(r.Std.close(this._context)),a=r.Std.min(r.Std.low(this._context),o.get(1)),l=r.Std.close(this._context)-a,c=n-a,h=this.f_0(l,c,e),d=this.f_0(l,c,t),u=this.f_0(l,c,i);return[100*(4*h[0]+2*d[0]+u[0])/7]},this.main=function(e,t){return this._context=e,this._input=t,this.f_1()}}},{name:"Volatility Close-to-Close",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Volatility Close-to-Close@tv-basicstudies-1",scriptIdPart:"",name:"Volatility Close-to-Close",description:"Volatility Close-to-Close",shortDescription:"Volatility Close-to-Close",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{periods:10,daysPerYear:252}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer",defval:10,min:2},{id:"daysPerYear",name:"Days Per Year",type:"integer",defval:252,min:1,max:366}],format:{precision:2,type:"percent"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.daysPerYear=this._input(1)},this.stdev=function(e,t,i){var s=this.variance(e,t,i);return r.Std.sqrt(s)},this.variance=function(e,t,i){var s=r.Std.sma(e,t,i);return this.variance2(e,s,t)},this.variance2=function(e,t,i){var s,r,n=0 +;for(s=0;s0&&(l=.12*this.square(e.get()-s.get(1))/this.marketClosedPercentage+.88*l/(1-this.marketClosedPercentage)),l/=a,l*=this.secondsPerYear;var c=this._context.new_var(l);return 100*Math.sqrt(r.Std.sum(c,this.period,this._context)/this.period)},this.main=function(e,t){return this._context=e,this._input=t,[this.volatilityOHLC()]}}},{name:"Volatility Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Volatility Index@tv-basicstudies-1",scriptIdPart:"",name:"Volatility Index",description:"Volatility Index",shortDescription:"Volatility Index",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:c}},inputs:{periods:10,atrMult:3,method:"Wilder Smoothing"}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer"},{id:"atrMult",name:"ATR Mult",type:"float"},{id:"method",name:"Method",type:"text",defval:"Exponential",options:["Exponential","Wilder Smoothing"]}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.atrMult=this._input(1),this.maMethod=this._input(2),this.nextsar=null,this.position=null,this.sic=null,this.bars=[],this.count=0,this.lastSar=null,this._context.setMinimumAdditionalDepth("Exponential"===this.maMethod?2*this.period+2:this.period)},this.computeATR=function(){var e=r.Std.high(this._context)-r.Std.low(this._context),t=r.Std.high(this._context)-this.bars[this.bars.length-2],i=this.bars[this.bars.length-2]-r.Std.low(this._context);return this.tr=Math.max(e,t,i),"Exponential"===this.maMethod?this.atr=r.Std.ema(this._context.new_var(this.tr),this.period,this._context):this.atr=this.tr/this.period+(1-1/this.period)*this.atr,this.atr*this.atrMult},this.calculateVolatility=function(){if(r.Std.close(this._context)===this.bars[this.bars.length-1])return this.lastSar;if(this.bars.push(r.Std.close(this._context)),1===this.count)this.atr=r.Std.high(this._context)-r.Std.low(this._context),this.sic=r.Std.close(this._context);else if(this.countthis.sic&&(this.sic=r.Std.close(this._context))}else if(this.count===this.period){e=r.Std.high(this._context)-r.Std.low(this._context),t=r.Std.high(this._context)-this.bars[this.bars.length-2], +i=this.bars[this.bars.length-2]-r.Std.low(this._context);this.atr+=Math.max(e,t,i),this.atr*=1/this.period,r.Std.close(this._context)>this.sic&&(this.sic=r.Std.close(this._context)),this.position="LONG",this.nextsar=this.sic-this.atr*this.atrMult}else{var s=this.nextsar;"LONG"===this.position?r.Std.close(this._context)s?(this.position="LONG",this.sic=r.Std.close(this._context),this.nextsar=this.sic-this.computeATR()):(this.position="SHORT",this.sic=Math.min(r.Std.close(this._context),this.sic),this.nextsar=this.sic+this.computeATR())),this.lastSar=s}return this.count++,s},this.main=function(e,t){return this._context=e,this._input=t,this._context.select_sym(0),[this.calculateVolatility()]}}},{name:"VWAP",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:0,transparency:0,visible:!0,color:"#2196F3"}}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"VWAP",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"VWAP",shortDescription:"VWAP",is_price_study:!0,inputs:[],id:"VWAP@tv-basicstudies-1",scriptIdPart:"",name:"VWAP",format:{type:"inherit"}},constructor:function(){this.f_1=function(e){e.hist=null,e.add_hist()},this.init=function(e,t){this._isNewSession=null},this.main=function(e,t){this._context=e,this._input=t;var i=e.new_var(),s=e.new_var(),n=this._context.symbol.time;return n&&(null===this._isNewSession&&(this._isNewSession=r.Std.createNewSessionCheck(e)),this._isNewSession(n)&&(this.f_1(i),this.f_1(s))),i.set(r.Std.nz(i.get(1))+r.Std.hlc3(this._context)*r.Std.volume(this._context)),s.set(r.Std.nz(s.get(1))+r.Std.volume(this._context)),[i.get(0)/s.get(0)]}}},{name:"VWMA",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"VWMA",shortDescription:"VWMA",is_price_study:!0,inputs:[{id:"in_0",name:"len",defval:20,type:"integer",min:1,max:1e4}],id:"VWMA@tv-basicstudies-1",scriptIdPart:"",name:"VWMA",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=r.Std.close(this._context),s=this._input(0),n=this._context.new_var(i);return[r.Std.vwma(n,s,this._context)]}}},{name:"Volume Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:5,in_1:10}},plots:[{id:"plot_0",type:"line"}],styles:{ +plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Volume Oscillator",shortDescription:"Volume Osc",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"shortlen",defval:5,type:"integer",min:1,max:4999},{id:"in_1",name:"longlen",defval:10,type:"integer",min:1,max:4999}],id:"Volume Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Volume Oscillator",format:{precision:2,type:"percent"}},constructor:function(){this.f_0=function(e,t){return 100*(e-t)/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=r.Std.volume(this._context),o=this._context.new_var(n),a=r.Std.ema(o,i,this._context),l=this._context.new_var(n),c=r.Std.ema(l,s,this._context);return[this.f_0(a,c)]}}},{name:"Vortex Indicator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"VI +",histogramBase:0,joinPoints:!1,isHidden:!1},plot_1:{title:"VI -",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Vortex Indicator",shortDescription:"VI",is_price_study:!1,is_hidden_study:!1,id:"vortex_indicator@tv-basicstudies-1",inputs:[{id:"in_0",name:"Period",defval:14,type:"integer",min:2,max:1e12}],scriptIdPart:"",name:"Vortex Indicator",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(){var e=this._input(0),t=this._context.new_var(r.Std.low(this._context)),i=this._context.new_var(r.Std.abs(r.Std.high(this._context)-t.get(1))),s=r.Std.sum(i,e,this._context),n=this._context.new_var(r.Std.high(this._context)),o=this._context.new_var(r.Std.abs(r.Std.low(this._context)-n.get(1))),a=r.Std.sum(o,e,this._context),l=this._context.new_var(r.Std.atr(1,this._context)),c=r.Std.sum(l,e,this._context);return[s/c,a/c]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Willams %R",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-20},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-80}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Williams %R",shortDescription:"%R",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Willams %R@tv-basicstudies-1",scriptIdPart:"",name:"Willams %R",format:{precision:2,type:"price"}}, +constructor:function(){this.f_0=function(e,t,i){return 100*(e-t)/(t-i)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=r.Std.high(this._context),n=this._context.new_var(s),o=r.Std.highest(n,i,this._context),a=r.Std.low(this._context),l=this._context.new_var(a),c=r.Std.lowest(l,i,this._context);return[this.f_0(r.Std.close(this._context),o,c)]}}},{name:"Williams Alligator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#66BB6A"}},inputs:{in_0:21,in_1:13,in_2:8,in_3:8,in_4:5,in_5:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Jaw",histogramBase:0,joinPoints:!1},plot_1:{title:"Teeth",histogramBase:0,joinPoints:!1},plot_2:{title:"Lips",histogramBase:0,joinPoints:!1}},description:"Williams Alligator",shortDescription:"Alligator",is_price_study:!0,inputs:[{id:"in_0",name:"Jaw Length",defval:21,type:"integer",min:1,max:2e3},{id:"in_1",name:"Teeth Length",defval:13,type:"integer",min:1,max:2e3},{id:"in_2",name:"Lips Length",defval:8,type:"integer",min:1,max:2e3},{id:"in_3",name:"Jaw Offset",defval:8,type:"integer",min:1,max:2e3},{id:"in_4",name:"Teeth Offset",defval:5,type:"integer",min:1,max:2e3},{id:"in_5",name:"Lips Offset",defval:3,type:"integer",min:1,max:2e3}],id:"Williams Alligator@tv-basicstudies-1",scriptIdPart:"",name:"Williams Alligator",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),s=this._input(1),n=this._input(2),o=this._input(3),a=this._input(4),l=this._input(5),c=r.Std.hl2(this._context);return[{value:r.Std.smma(c,i,this._context),offset:o},{value:r.Std.smma(c,s,this._context),offset:a},{value:r.Std.smma(c,n,this._context),offset:l}]}}},{name:"Williams Fractals",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{plottype:"shape_triangle_down",visible:!0,location:"BelowBar",transparency:0,color:a},plot_1:{plottype:"shape_triangle_up",visible:!0,location:"AboveBar",transparency:0,color:u}},inputs:{in_0:2}},plots:[{id:"plot_0",type:"shapes"},{id:"plot_1",type:"shapes"}],styles:{plot_0:{title:"Down fractals",isHidden:!1},plot_1:{title:"Up fractals",isHidden:!1}},description:"Williams Fractal",shortDescription:"Fractals",is_price_study:!0,is_hidden_study:!1,id:"Williams Fractals@tv-basicstudies-1",inputs:[{id:"in_0",name:"Periods",defval:2,type:"integer",min:2,max:1e12}],scriptIdPart:"",name:"Williams Fractals",isCustomIndicator:!0,format:{type:"inherit"}},constructor:function(){this.f_0=function(){for(var e=this._input(0),t=this._context.new_var(r.Std.high(this._context)),i=!0,s=!0,n=!0,o=!0,a=!0,l=!0,c=1;c<=e;c++)i=r.Std.and(i,r.Std.lt(t.get(e-c),t.get(e))), +s=r.Std.and(s,r.Std.lt(t.get(e+c),t.get(e))),n=r.Std.and(n,r.Std.and(r.Std.le(t.get(e+1),t.get(e)),r.Std.lt(t.get(e+c+1),t.get(e)))),o=r.Std.and(o,r.Std.and(r.Std.le(t.get(e+1),t.get(e)),r.Std.and(r.Std.le(t.get(e+2),t.get(e)),r.Std.lt(t.get(e+c+2),t.get(e))))),a=r.Std.and(a,r.Std.and(r.Std.le(t.get(e+1),t.get(e)),r.Std.and(r.Std.le(t.get(e+2),t.get(e)),r.Std.and(r.Std.le(t.get(e+3),t.get(e)),r.Std.lt(t.get(e+c+3),t.get(e)))))),l=r.Std.and(l,r.Std.and(r.Std.le(t.get(e+1),t.get(e)),r.Std.and(r.Std.le(t.get(e+2),t.get(e)),r.Std.and(r.Std.le(t.get(e+3),t.get(e)),r.Std.and(r.Std.le(t.get(e+4),t.get(e)),r.Std.lt(t.get(e+c+4),t.get(e)))))));var h=r.Std.or(s,r.Std.or(n,r.Std.or(o,r.Std.or(a,l)))),d=r.Std.and(i,h),u=this._context.new_var(r.Std.low(this._context)),p=1,_=1,m=1,g=1,f=1,v=1;for(c=1;c<=e;c++)p=r.Std.and(p,r.Std.gt(u.get(e-c),u.get(e))),_=r.Std.and(_,r.Std.gt(u.get(e+c),u.get(e))),m=r.Std.and(m,r.Std.and(r.Std.ge(u.get(e+1),u.get(e)),r.Std.gt(u.get(e+c+1),u.get(e)))),g=r.Std.and(g,r.Std.and(r.Std.ge(u.get(e+1),u.get(e)),r.Std.and(r.Std.ge(u.get(e+2),u.get(e)),r.Std.gt(u.get(e+c+2),u.get(e))))),f=r.Std.and(f,r.Std.and(r.Std.ge(u.get(e+1),u.get(e)),r.Std.and(r.Std.ge(u.get(e+2),u.get(e)),r.Std.and(r.Std.ge(u.get(e+3),u.get(e)),r.Std.gt(u.get(e+c+3),u.get(e)))))),v=r.Std.and(v,r.Std.and(r.Std.ge(u.get(e+1),u.get(e)),r.Std.and(r.Std.ge(u.get(e+2),u.get(e)),r.Std.and(r.Std.ge(u.get(e+3),u.get(e)),r.Std.and(r.Std.ge(u.get(e+4),u.get(e)),r.Std.gt(u.get(e+c+4),u.get(e)))))));var S=r.Std.or(_,r.Std.or(m,r.Std.or(g,r.Std.or(f,v))));return[r.Std.and(p,S),d]},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0();return[{value:i[0],offset:-this._input(0)},{value:i[1],offset:-this._input(0)}]}}},{name:"Guppy Multiple Moving Average",metainfo:{isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,description:"Guppy Multiple Moving Average",shortDescription:"GMMA",is_price_study:!0,id:"Guppy Multiple Moving Average@tv-basicstudies-1",_metainfoVersion:52,format:{type:"inherit"},defaults:{inputs:{traderEMA1Length:3,traderEMA2Length:5,traderEMA3Length:8,traderEMA4Length:10,traderEMA5Length:12,traderEMA6Length:15,investorEMA1Length:30,investorEMA2Length:35,investorEMA3Length:40,investorEMA4Length:45,investorEMA5Length:50,investorEMA6Length:60},styles:{traderEMA1:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:15,visible:!0},traderEMA2:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:12,visible:!0},traderEMA3:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:9,visible:!0},traderEMA4:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:6,visible:!0},traderEMA5:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:3,visible:!0},traderEMA6:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0},investorEMA1:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:15,visible:!0},investorEMA2:{color:"#FF0000",linestyle:0, +linewidth:1,plottype:0,trackPrice:!1,transparency:12,visible:!0},investorEMA3:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:9,visible:!0},investorEMA4:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:6,visible:!0},investorEMA5:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:3,visible:!0},investorEMA6:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0}}},inputs:[{defval:3,id:"traderEMA1Length",max:1e3,min:1,name:"Trader EMA 1 length",type:"integer"},{defval:5,id:"traderEMA2Length",max:1e3,min:1,name:"Trader EMA 2 length",type:"integer"},{defval:8,id:"traderEMA3Length",max:1e3,min:1,name:"Trader EMA 3 length",type:"integer"},{defval:10,id:"traderEMA4Length",max:1e3,min:1,name:"Trader EMA 4 length",type:"integer"},{defval:12,id:"traderEMA5Length",max:1e3,min:1,name:"Trader EMA 5 length",type:"integer"},{defval:15,id:"traderEMA6Length",max:1e3,min:1,name:"Trader EMA 6 length",type:"integer"},{defval:30,id:"investorEMA1Length",max:1e3,min:1,name:"Investor EMA 1 length",type:"integer"},{defval:35,id:"investorEMA2Length",max:1e3,min:1,name:"Investor EMA 2 length",type:"integer"},{defval:40,id:"investorEMA3Length",max:1e3,min:1,name:"Investor EMA 3 length",type:"integer"},{defval:45,id:"investorEMA4Length",max:1e3,min:1,name:"Investor EMA 4 length",type:"integer"},{defval:50,id:"investorEMA5Length",max:1e3,min:1,name:"Investor EMA 5 length",type:"integer"},{defval:60,id:"investorEMA6Length",max:1e3,min:1,name:"Investor EMA 6 length",type:"integer"}],plots:[{id:"traderEMA1",type:"line"},{id:"traderEMA2",type:"line"},{id:"traderEMA3",type:"line"},{id:"traderEMA4",type:"line"},{id:"traderEMA5",type:"line"},{id:"traderEMA6",type:"line"},{id:"investorEMA1",type:"line"},{id:"investorEMA2",type:"line"},{id:"investorEMA3",type:"line"},{id:"investorEMA4",type:"line"},{id:"investorEMA5",type:"line"},{id:"investorEMA6",type:"line"}],styles:{traderEMA1:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 1"},traderEMA2:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 2"},traderEMA3:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 3"},traderEMA4:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 4"},traderEMA5:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 5"},traderEMA6:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 6"},investorEMA1:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 1"},investorEMA2:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 2"},investorEMA3:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 3"},investorEMA4:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 4"},investorEMA5:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 5"},investorEMA6:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 6"}}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t +;var i=this._context.new_var(r.Std.close(this._context)),s=this._input(0),n=this._input(1),o=this._input(2),a=this._input(3),l=this._input(4),c=this._input(5),h=r.Std.ema(i,s,this._context),d=r.Std.ema(i,n,this._context),u=r.Std.ema(i,o,this._context),p=r.Std.ema(i,a,this._context),_=r.Std.ema(i,l,this._context),m=r.Std.ema(i,c,this._context),g=this._input(6),f=this._input(7),v=this._input(8),S=this._input(9),y=this._input(10),b=this._input(11);return[h,d,u,p,_,m,r.Std.ema(i,g,this._context),r.Std.ema(i,f,this._context),r.Std.ema(i,v,this._context),r.Std.ema(i,S,this._context),r.Std.ema(i,y,this._context),r.Std.ema(i,b,this._context)]}}}]},33860:(e,t,i)=>{"use strict";i.d(t,{PointsetsManager:()=>n});var s=i(35001);const r=(0,i(65447).getLogger)("ChartApi.PointsetsManager");class n{constructor(){this._pointsetsDataBySymbol=new Map}destroy(){this._pointsetsDataBySymbol.clear()}createPointset(e,t,i,s,n){let o=this._pointsetsDataBySymbol.get(t);void 0===o&&(o=new Map,this._pointsetsDataBySymbol.set(t,o));const a=[];for(const t of s){const[i,s]=t;"number"!=typeof i||Number.isNaN(i)?r.logWarn(`Pointset time is invalid: id=${e}, ${i} of type ${typeof i}`):a.push({point:t,extrapolation:n.extrapolateTimeWithOffsetToTime(1e3*i,s)})}s.length===a.length&&o.set(e,{resolution:i,points:a})}removePointset(e){const t=[];this._pointsetsDataBySymbol.forEach((i,s)=>{i.delete(e),0===i.size&&t.push(s)});for(const e of t)this._pointsetsDataBySymbol.delete(e)}invalidatePointsetsForSymbol(e,t){const i=this._pointsetsDataBySymbol.get(e);void 0!==i&&i.forEach((e,i)=>{if(s.Interval.isEqual(e.resolution,t))for(const t of e.points)null!==t.extrapolation&&t.extrapolation.exact&&(t.extrapolation.exact=!1)})}getUpdatesForSymbol(e,t,i,s){const r=new Map,n=this._pointsetsDataBySymbol.get(e);return void 0!==n&&n.forEach((e,n)=>{const o=this._refreshPointsetData(e,t,i,s);null!==o&&r.set(n,o)}),r}_refreshPointsetData(e,t,i,n){if(s.Interval.isEqual(e.resolution,t))for(let t=0;t ${t}`),null;o.push({index:i,value:[a.index,a.timeMs/1e3]})}return o}}},66449:(e,t,i)=>{"use strict";i.d(t,{SessionTimeScale:()=>v});var s=i(16282),r=i(27490),n=i(84540),o=i(49382),a=i(63059),l=i(67620),c=i(33287);function h(e){return 60*e*60*1e3}function d(e){return 60*e*1e3}const u=[{divisor:1,weight:18},{divisor:(p=1,1e3*p),weight:19},{divisor:d(1),weight:20},{divisor:d(5),weight:21},{divisor:d(30),weight:22},{divisor:h(1),weight:30},{divisor:h(3),weight:31},{divisor:h(6),weight:32},{divisor:h(12),weight:33}];var p;function _(e,t){if(null!==t){if(e.getUTCFullYear()!==t.getUTCFullYear())return 70;if(e.getUTCMonth()!==t.getUTCMonth())return 60 +;if(e.getUTCDate()!==t.getUTCDate())return 50;const i=t.getTime(),s=e.getTime();for(let e=u.length-1;e>=0;--e)if(Math.floor(i/u[e].divisor)!==Math.floor(s/u[e].divisor))return u[e].weight}return 18}function m(e,t,i=0){if(0===e.length)return[];let s=i,r=i;const n=[];for(;s=t.length?(n.push({old:s,new:l.INVALID_TIME_POINT_INDEX}),s++):e[s].timeMs===t[r].timeMs?(s!==r&&n.push({old:s,new:r}),s++,r++):e[s].timeMs{if(e.new===t.new&&e.new===l.INVALID_TIME_POINT_INDEX)return e.old-t.old;if(e.new===l.INVALID_TIME_POINT_INDEX)return-1;if(t.new===l.INVALID_TIME_POINT_INDEX)return 1;const i=e.old-e.new,s=t.old-t.new;return i>0?s>0?e.old-t.old:-1:s<0?t.new-e.new:1})}function g(e,t){return{span:e.markWeight,time:e.displayTime,index:t}}const f=r.enabled("end_of_period_timescale_marks");class v{constructor(){this._completed=!0,this._mainSymbolExtrapolator=null,this._pointDataByTimePoint=new Map,this._seriesIds=new Set,this._displayTimezone=null,this._minFutureBarsCount=0,this._sortedTimePoints=[]}destroy(){this.clearTimeScale()}setCompleted(e){this._completed=e}isCompleted(){return this._completed}clearTimeScale(){return this._pointDataByTimePoint.clear(),this._seriesIds.clear(),this._sortedTimePoints=[],{baseIndex:null,pointsIndex:0,indexChange:[],marks:[],points:[]}}indexOfTime(e){if(0===this._sortedTimePoints.length)return null===this._mainSymbolExtrapolator?null:this._mainSymbolExtrapolator.indexOfTime(e);if(ethis._sortedTimePoints[this._sortedTimePoints.length-1].timeMs){if(null===this._mainSymbolExtrapolator)return null;const t=this._mainSymbolExtrapolator.indexOfTime(e),i=this._mainSymbolExtrapolator.indexOfTime(this._sortedTimePoints[this._sortedTimePoints.length-1].timeMs);if(null===t||null===i)return null;const s=t.index-i.index-1;return{index:this._sortedTimePoints.length+s,timeMs:t.timeMs}}let t=(0,o.lowerbound)(this._sortedTimePoints,e,(e,t)=>e.timeMs({timeMs:e,markWeight:0,displayTime:NaN}));this._fillPointsData(i,0,0!==this._sortedTimePoints.length?this._sortedTimePoints[this._sortedTimePoints.length-1].displayTime:null);const r=[];for(let t=e;tg(e,i+t));return r.concat(n)}setTimezone(e){this._displayTimezone="exchange"===e?null:(0,n.get_timezone)(e),this._fillPointsData(this._sortedTimePoints,0)}fillIndexesInRows(e){if(0===e.length)return;let t=-1,i=(0,o.lowerbound)(this._sortedTimePoints,Math.round(1e3*e[0].value[0]),(e,t)=>e.timeMse.timeMs{for(;i=this._sortedTimePoints.length){const t=this.indexOfTime(e);if(null===t)return l.INVALID_TIME_POINT_INDEX;i=t.timeMs!==e?t.index+1:t.index}return(0,s.assert)(i>t,"data must have unique sorted times"),t=i,i})}firstSeriesBarTime(){return 0===this._sortedTimePoints.length?null:this._sortedTimePoints[0].timeMs}replaceSeriesBarsTimesTail(e,t){if(0===t.length)return null;if(!this._seriesIds.has(e))return this.setSeriesBarsTimes(e,t);const i=[],s=(0,o.lowerbound)(this._sortedTimePoints,t[0],(e,t)=>e.timeMs({timeMs:e.timeMs,pointData:e.pointData,markWeight:0,displayTime:NaN}));for(let e=s;ee.timeMs-t.timeMs);const a=this._updateTimeScalePointsTail(n);return this._applyTimeScaleChanges(a,!1)}setSeriesBarsTimes(e,t){let i=0!==this._pointDataByTimePoint.size;if(this._seriesIds.has(e))if(1===this._seriesIds.size)i=!1,this._pointDataByTimePoint.clear();else for(const t of this._sortedTimePoints)t.pointData.series.delete(e);this._addBarsTimesToSeries(e,t,!1);const s=this._seriesIds.size;0===t.length?this._seriesIds.delete(e):this._seriesIds.add(e),i&&this._cleanupPointsData(this._sortedTimePoints);const r=sthis._seriesIds.size,o=r&&2===this._seriesIds.size||n&&1===this._seriesIds.size,a=[];this._pointDataByTimePoint.forEach((e,t)=>{a.push({markWeight:0,timeMs:t,displayTime:NaN,pointData:e})}),a.sort((e,t)=>e.timeMs-t.timeMs);const l=this._updateTimeScalePoints(a) +;return this._applyTimeScaleChanges(l,o)}_updateFutureBars(){if(0===this._minFutureBarsCount||null===this._mainSymbolExtrapolator)return;if(0!==this._sortedTimePoints.length){const e=this._sortedTimePoints[this._sortedTimePoints.length-1].timeMs;this._mainSymbolExtrapolator.ensureExtrapolatedToFutureTime(e)}const e=this._futureBarsFirstPointIndex();this._mainSymbolExtrapolator.setMinFutureBarsCount(e+this._minFutureBarsCount)}_addBarsTimesToSeries(e,t,i){const s=i?[]:null;for(const i of t){const t=this._pointDataByTimePoint.get(i);if(void 0===t){const t=new Set;t.add(e);const r={index:0,series:t};this._pointDataByTimePoint.set(i,r),null!==s&&s.push({timeMs:i,pointData:r})}else t.series.add(e)}return s}_futureBarsFirstPointIndex(){if(null===this._mainSymbolExtrapolator||0===this._sortedTimePoints.length)return 0;const e=this._mainSymbolExtrapolator.futureBars();return(0,o.upperbound_int)(e,this._sortedTimePoints[this._sortedTimePoints.length-1].timeMs)}_futureBars(){return null===this._mainSymbolExtrapolator?[]:this._mainSymbolExtrapolator.futureBars().slice(this._futureBarsFirstPointIndex(),this._futureBarsFirstPointIndex()+1e3)}_cleanupPointsData(e){for(const t of e)0===t.pointData.series.size&&this._pointDataByTimePoint.delete(t.timeMs)}_updateTimeScalePoints(e){let t=-1;for(let i=0;ie.timeMs=this._sortedTimePoints.length)continue;this._sortedTimePoints[n].timeMs!==r.timeMs&&-1===i&&(i=n)}const s=t+e.length;if(i=S(i,this._sortedTimePoints.length,s),-1===i)return null;this._fillPointsData(e,0,0===t||0===this._sortedTimePoints.length?null:this._sortedTimePoints[t-1].displayTime);const r=m(this._sortedTimePoints.slice(t),e).map(e=>({old:e.old+t,new:e.new===l.INVALID_TIME_POINT_INDEX?e.new:e.new+t}));{const i=this._sortedTimePoints;let r=0;for(;t+r1&&null===i){ +const t=Math.ceil(n/(e.length-1)),i=new Date(1e3*(e[0].displayTime-t));e[0].markWeight=_(new Date(1e3*e[0].displayTime),i)}}(e,t,i)}_applyTimeScaleChanges(e,t){if(null===e)return t?(this._fillPointsData(this._sortedTimePoints,0),{points:[],pointsIndex:0,baseIndex:this._getBaseIndex(),indexChange:[],marks:this.tickMarks(0)}):null;let i=e.pointsIndex;if(0!==i&&t&&(this._fillPointsData(this._sortedTimePoints,0),i=0),0===this._sortedTimePoints.length)return{baseIndex:null,pointsIndex:0,indexChange:[],marks:[],points:[]};const s=[];for(let t=e.pointsIndex;t{"use strict";var s=i(77848),r=i(77392),n=i(22241),o=i(89817).SymbolExtrapolator,a=i(66449).SessionTimeScale,l=i(33860).PointsetsManager,c=i(42062),h=i(63059).createDwmAligner,d=i(35001).Interval,u=i(18437),p=i(81447).visitObject,_=i(47903).isObject;i(81137),i(98779);var m=i(10706).DatafeedRequestsCachedProcessor,g=i(94975).timezoneIsAvailable,f=i(63059).isAlignmentEnabled,v=i(89164),S=v.isEncodedExtendedSymbol,y=v.decodeExtendedSymbol,b=i(25436).extractSymbolNameFromSymbolInfo,w=i(81482).replaceGraphicsTimesWithTimePointIndexIndex,P=i(27490);function C(e){var t=e.findIndex((function(e){return-5e6!==e.index}));return-1===t?[]:0===t?e:e.slice(t)}function T(e,t){return e+"_"+t}var x=function(e){var t=this;this._studiesCache={},this._objectsDataCache={},this._studiesNonSeriesTimes={},this._metainfoCache=[],this._barsCoefficientsCache={},this._externalDatafeed=e,e.getVolumeProfileResolutionForPeriod&&r.overwriteVolumeProfileResolutionForPeriodGetter((function(t,i,s,r){return e.getVolumeProfileResolutionForPeriod(t,i,s,r)})),this._datafeedConfiguration=null,this._marketStatusWatchers={},this._resolveRequests={},this._resolvePromisesBySymbolId=new Map,this._symbolIdToSymbolRequestString=new Map,this._callbacks={},this._serverTimeOffset=0,t._logMessage("Datafeed settings received: {0}".format(JSON.stringify(window.configurationData))),t._datafeedConfiguration=t._adoptConfigurationData(window.configurationData),t._fireEvent("configuration_received"), +t._externalDatafeed.getServerTime&&t._externalDatafeed.getServerTime((function(e){t._serverTimeOffset=e-(new Date).valueOf()/1e3})),this._invalidatedPointsetSessions=new Set,this._refreshPointsetsTimerId=null,this._pointsetsManagers={},this._quotesInfo=[],this._depthInfo=[],this._endOfData={},this._computeStudyCounter=0,this._symbolExtrapolators={},this._timeScales={},this._cachedDatafeed=new m(e,this.serverTimeOffset.bind(this),this._datafeedConfiguration.reset_cache_timeout),n.setupFeed({resolve:function(e,i,s,r){t._resolveSymbolByName(e,i,s,r)},subscribe:function(e,i,s,r,n){return t._cachedDatafeed.subscribe(e,i,s,function(e,i,s){var r=new c.SessionInfo(e.timezone,e.session,e.session_holidays,e.corrections),n=c.newBarBuilder(i,r,r);return function(e){if(e&&e.count()){var i=1e3*t.getCurrentUTCTime();n.moveTo(i),n.indexOfBar(i)>=0&&e.setLastBarClosed(!1)}s(e)}}(e,i,r),n)},unsubscribe:function(e){return t._cachedDatafeed.unsubscribe(e)}})};function I(e,t){return e+"_"+t}function M(e,t,i){return e+(t?"_#_"+t:"")+(i?"_#_"+i:"")}x.prototype._getSymbolExtrapolator=function(e,t,i){var s=d.normalize(i),r=function(e,t,i){return e+","+t.full_name+","+i}(e,t,s),n=this._symbolExtrapolators[r];return void 0===n&&(n=new o(t,s),this._symbolExtrapolators[r]=n),n},x.prototype._barsCoefficients=function(e,t){if(void 0===y(e).type)return{};var i=e+t;return this._barsCoefficientsCache[i]||(this._barsCoefficientsCache[i]={}),this._barsCoefficientsCache[i]},x.prototype.destroy=function(){this._cachedDatafeed.destroy(),this._externalDatafeed=null,Object.keys(this._pointsetsManagers).forEach((function(e){this._pointsetsManagers[e].destroy()}),this),this._pointsetsManagers={}},x.prototype.purgeCache=function(){this._endOfData={},this._resolveRequests={},this._objectsDataCache={},this._studiesNonSeriesTimes={},this._studiesCache={},this._resolvePromisesBySymbolId.clear(),this._symbolIdToSymbolRequestString.clear(),Object.keys(this._pointsetsManagers).forEach((function(e){this._pointsetsManagers[e].destroy()}),this),this._pointsetsManagers={},Object.keys(this._timeScales).forEach((function(e){this._timeScales[e].destroy()}),this),this._timeScales={},Object.keys(this._symbolExtrapolators).forEach((function(e){this._symbolExtrapolators[e].destroy()}),this),this._symbolExtrapolators={}},x.prototype.purgeDataCache=function(){this._cachedDatafeed.purgeCache()},x.prototype._logMessage=function(e){P.enabled("charting_library_debug_mode")&&console.log(e)},x.prototype.on=function(e,t){return this._callbacks.hasOwnProperty(e)||(this._callbacks[e]=[]),this._callbacks[e].push(t),this},x.prototype._fireEvent=function(e,t,i){if(this._callbacks.hasOwnProperty(e)){for(var s=this._callbacks[e],r=0;r_[a].timeMs;l?_.push({index:g(s,_.length),value:[s/1e3].concat(r),timeMs:s}):(_[a].index=g(s,a),_[a].value=[s/1e3].concat(r),_[a].timeMs=s),p||u.onRealtimeCallback([_[_.length-1]],l,_.length,v,i)}(e,t,i)},nonseriesOut:function(e,t){u.onNonSeriesDataUpdate(t,i)},setNoMoreData:function(){S=!0},recalc:function(e,s){p=!1,_.endOfData=S,t.error&&null!==t.error()||(null!==l&&(y._objectsDataCache[l]=_),u.onDataReadyCallback(_,v,i,s))}});if(!y._studiesCache[e]||!y._studiesCache[e][n])throw Error("This should never happen");y._studiesCache[e][n].engine=b}catch(e){if(!e.studyError)throw e;u.onErrorCallback(e.message)}}else u.onErrorCallback("Unsupported resolution. Did you forget to set has_intraday to true?")}(w,C)},x.prototype._createStudy=function(e,t,i,s,r,n,o,a){var l=this;function c(e,t,i){e=C(e),l._timeScales[s].fillIndexesInRows(e),TradingView.ChartapiMessagerInstances[s].onDataUpdate(r,n,e,t),TradingView.ChartapiMessagerInstances[s].onStudyCompleted(r,n)}function h(e){var t={};if(0!==e.size){var i={},n=l._studiesCache[s][r].metainfo;e.forEach((function(e,t){i[n.plots[t].id]=e})),t.data={offsets:i}}return t}a=function(e){if(Array.isArray(e))return e;for(var t=[],i=l._studiesCache[s][r].metainfo.inputs,n=0;n=0},x.prototype.ensureExtendedTo=function(e,t,i){if(!this._studiesCache[t][e])throw Error("This should never happen");var s=this;setTimeout((function(){s._recreateSourcesForDataRange(t,{to:i})}),0)},x.prototype.extendSeriesRange=function(e,t){var i=this._timeScales[e].firstSeriesBarTime();if(null!==i){var s=this._mainSeriesRecord(e);if(d.isDWM(s.resolution)&&null!=s.symbolInfo){var r=h(s.resolution,s.symbolInfo);null!==r&&(i=r.timeToExchangeTradingDay(i))} +var n=this._symbolIdToSymbolRequestString.get(T(e,s.symbolId)),o=this._barsCoefficients(n,s.resolution),a=o.barsCoefficient||1;if(!o.barsCoefficient){var l=this._getSeriesData(e,s.guid);null!==l&&(o.expectedBarsCount=l.length+t)}var c=this;setTimeout((function(){c._recreateSourcesForDataRange(e,{to:i,countBack:(t+2)*a})}),0)}else this._logMessage("Nothing to extend - there is no points on time scale")},x.prototype.seriesTurnaround=function(e,t){return this._studiesCache[e]&&this._studiesCache[e][t]&&this._studiesCache[e][t].turnaround},x.prototype._seriesDataRange=function(e,t){var i=this._studiesCache[e][t];return null!==i.firstLoadedTimeMs?{to:i.firstLoadedTimeMs,countBack:0}:i.dataRange},x.prototype._applyTimeScaleUpdate=function(e,t){if(null!==t){var i=[];for(var s in this._studiesCache[e]){var r=this._studiesCache[e][s];if(r&&"study"===r.type){var n=this._studiesNonSeriesTimes[e][s];if(n){var o={indexes:this._timeScales[e].convertTimesToIndexes(n),data:{indexes_replace:!0}};i.push({objId:s,turnaround:r.turnaround,data:[],nonSeriesData:o})}}}TradingView.ChartapiMessagerInstances[e].onTimescaleUpdate(t,i),Promise.resolve().then(function(){var t=this._mainSeriesRecord(e);if(null!==t&&null!=t.symbolInfo){var i=this._getSymbolExtrapolator(e,t.symbolInfo,t.resolution);this._pointsetsManagers[e].getUpdatesForSymbol(t.symbolInfo.full_name,t.resolution,i,this._timeScales[e]).forEach((function(t,i){TradingView.ChartapiMessagerInstances[e].onPointsetDataUpdate(i,null,t)}))}}.bind(this))}},x.prototype._updateMainTsBuilder=function(e){var t=this._mainSeriesRecord(e);if(null!==t&&null!=t.symbolInfo){var i=this._getSymbolExtrapolator(e,t.symbolInfo,t.resolution);this._timeScales[e].setMainSymbolExtrapolator(i)}},x.prototype._updateTimeScaleState=function(e){var t=!0,i=!0;for(var s in this._studiesCache[e]){var r=this._studiesCache[e][s];"series"===r.type&&(i=i&&this._isEndOfData(e,s,r.turnaround),t=t&&r.completed)}this._timeScales[e].isCompleted()!==t&&(this._timeScales[e].setCompleted(t),t&&TradingView.ChartapiMessagerInstances[e].onTimescaleCompleted(i))},x.prototype._mainSeriesRecord=function(e){var t=null,i=null;for(var s in this._studiesCache[e]){var r=this._studiesCache[e][s];if("series"===r.type&&(null===t&&(t=r),r.isMain)){i=r;break}}return null===i&&(i=t),null!==i&&(i.isMain=!0),i},x.prototype._seriesCount=function(e){var t=0;for(var i in this._studiesCache[e]){"series"===this._studiesCache[e][i].type&&(t+=1)}return t},x.prototype._prepareSeriesNonSeriesData=function(e,t,i){var s=i.data[i.data.length-1],r=this._getSeriesData(e,t),n=null===r?[]:i.data;return{data:{data:{reversalAmount:i.reversalAmount,boxSize:i.boxSize,price:s?s[4]:i.price,bars:n.map((function(e,t){return{time:t,open:e[1],high:e[2],low:e[3],close:e[4],volume:e[5],factor:e[6],additionalPrice:e[6]}}))}},indexes:this._timeScales[e].convertTimesToIndexes(n.map((function(e){var t=e[0]||0;return t<0?r[r.length+t].timeMs:i.projectionTime+t})))}},x.prototype.createSeries=function(e,t,i,s,n,o,a){this._setEndOfData(e,t,i,!1);var l=new r.OHLCV +;this._studiesCache[e]=this._studiesCache[e]||{};var c=this._getSeriesData(e,t),h=this._studiesCache[e][t],u=this._seriesCount(e),p=this._mainSeriesRecord(e);if(!h||d.isEqual(h.resolution,n)&&h.symbolId===s)void 0!==o.countBack&&null!==c&&0!==c.length&&(o.to=c[0].timeMs),h&&null!=h.firstLoadedTimeMs?o.to=void 0!==o.to?Math.min(h.firstLoadedTimeMs,o.to):h.firstLoadedTimeMs:h||0===u||null!==p&&(null!=p.firstLoadedTimeMs?(o.to=p.firstLoadedTimeMs,o.countBack=0):o=Object.assign({},p.dataRange));else if(1===u)void 0!==o.countBack&&null!==c&&(o.countBack+=c.length);else{var _=this._timeScales[e].firstSeriesBarTime();(void 0===o.to||null!==_&&_{"use strict";i.d(t,{SymbolExtrapolator:()=>c});var s=i(16282),r=i(49382),n=i(42062),o=i(25853),a=i(35001);function l(e,t){return e.length>t}class c{constructor(e,t,i=2e5){this._firstRealBarTimeMs=null,this._historyBarsCache=[],this._projectionFirstIndex=1/0,this._barsTimes=[],this._minFutureBarsCount=0,this._lastRealBarTimeMs=null,this._futureBarsCache=[],this._symbolInfo=e,this._interval=a.Interval.parse(t),this._extrapolateLimit=i,this._barBuilder=(0,n.newBarBuilder)(t,new n.SessionInfo(e.timezone,e.session,e.session_holidays,e.corrections),null)}destroy(){this.clear()}interval(){return this._interval}barBuilder(){return this._barBuilder}symbolInfo(){return this._symbolInfo}clear(){this._firstRealBarTimeMs=null,this._historyBarsCache=[],this._barsTimes=[],this._lastRealBarTimeMs=null,this._futureBarsCache=[],this._minFutureBarsCount=0,this._projectionFirstIndex=1/0}firstFutureBarIndex(){return this._barsTimes.length}futureBars(){return this._futureBarsCache}replaceBarsTimesTail(e,t=e.length){if(0===e.length)return;if(0===this._barsTimes.length)return void this.setBarsTimes(e,t);const i=e[0],n=this._barsTimes[this._barsTimes.length-1],o=i>n?this._barsTimes.length:(0,r.lowerbound_int)(this._barsTimes,i);0!==o?(this._barsTimes.splice(o,this._barsTimes.length,...e),this._projectionFirstIndex=t===e.length?this._barsTimes.length:this._barsTimes.indexOf(e[t]),(0,s.assert)(-1!==this._projectionFirstIndex,"something went wrong"),n!==e[e.length-1]&&this._setLastRealBarTime(e[e.length-1])):this.setBarsTimes(e,t)}setBarsTimes(e,t=e.length){const i=this._barsTimes;if(this._barsTimes=e.slice(),this._projectionFirstIndex=0===this._barsTimes.length?1/0:t,0===e.length)return this._historyBarsCache=[],this._futureBarsCache=[],this._firstRealBarTimeMs=null,void(this._lastRealBarTimeMs=null);0!==i.length&&i[i.length-1]===e[e.length-1]||this._setLastRealBarTime(e[e.length-1]),0!==i.length&&i[0]===e[0]||(this._historyBarsCache=[],this._firstRealBarTimeMs=e[0])}extrapolateTimeWithOffsetToTime(e,t){if(0===t)return{timeMs:e,exact:!0} +;0===this._barsTimes.length&&(t<0?null===this._firstRealBarTimeMs?this._firstRealBarTimeMs=e:(this._extendHistoryCacheToTimeFromRight(Math.min(e,null!==this._lastRealBarTimeMs?this._lastRealBarTimeMs:1/0)),this._ensureExtrapolatedToHistoryTime(e)):null===this._lastRealBarTimeMs?this._lastRealBarTimeMs=e:(this._extendFutureCacheToTimeFromLeft(Math.max(e,null!==this._firstRealBarTimeMs?this._firstRealBarTimeMs:1/0)),this._ensureExtrapolatedToFutureTime(e)));const i=this.indexOfTime(e);if(null===i)return null;const s=this._timeOfBarIndex(i.index+t);return null===s?null:((i.index<0||this._projectionFirstIndex<=i.index)&&(s.exact=!1),s)}indexOfTime(e){if(null!==this._firstRealBarTimeMs&&ethis._lastRealBarTimeMs){this._ensureExtrapolatedToFutureTime(e);let t=(0,r.lowerbound_int)(this._futureBarsCache,e);if(0!==this._futureBarsCache.length&&t===this._futureBarsCache.length&&e>this._futureBarsCache[this._futureBarsCache.length-1])return null;this._futureBarsCache[t]!==e&&(t-=1);const i=Math.max(1,this._barsTimes.length)+t;return{index:i,timeMs:i===this._barsTimes.length-1?(0,s.ensureNotNull)(this._lastRealBarTimeMs):this._futureBarsCache[t]}}if(0===this._barsTimes.length)return null!==this._firstRealBarTimeMs&&this._firstRealBarTimeMs<=e||null!==this._lastRealBarTimeMs&&e<=this._lastRealBarTimeMs?{index:0,timeMs:(0,s.ensureNotNull)(this._timeOfBarIndex(0)).timeMs}:null;let t=(0,r.lowerbound_int)(this._barsTimes,e);return this._barsTimes[t]!==e&&(t-=1),{index:t,timeMs:this._barsTimes[t]}}setMinFutureBarsCount(e){this._minFutureBarsCount=e,0!==this._barsTimes.length&&this._ensureExtrapolatedToFutureBar(e)}ensureExtrapolatedToFutureTime(e){this._ensureExtrapolatedToFutureTime(e)}_setLastRealBarTime(e){const t=this._futureBarsCache.length,i=(0,r.upperbound_int)(this._futureBarsCache,e);0===i?this._extendFutureCacheToTimeFromLeft(e):(this._lastRealBarTimeMs=e,this._futureBarsCache=this._futureBarsCache.slice(i)),this._ensureExtrapolatedToFutureBar(Math.max(t,this._minFutureBarsCount))}_timeOfBarIndex(e){var t;if(e<0){const t=Math.abs(e);this._ensureExtrapolatedToHistoryBar(t);const i=this._historyBarsCache.length-t;return i<0?null:{timeMs:this._historyBarsCache[i],exact:!1}}if(0===e&&0===this._barsTimes.length)return{timeMs:(0,s.ensureNotNull)(null!==(t=this._firstRealBarTimeMs)&&void 0!==t?t:this._lastRealBarTimeMs),exact:!1};if(e>=this._barsTimes.length){const t=e-Math.max(1,this._barsTimes.length);return this._ensureExtrapolatedToFutureBar(t+1),t>=this._futureBarsCache.length?null:{timeMs:this._futureBarsCache[t],exact:!1}}return{timeMs:this._barsTimes[e],exact:e=e)return;if((0,s.assert)(0===this._barsTimes.length,"bars should be empty"),this._firstRealBarTimeMs=e,0===this._historyBarsCache.length)return;const t=(0,o.extrapolateBarsFrontToTime)(this._barBuilder,this._historyBarsCache[this._historyBarsCache.length-1],e-1,this._extrapolateLimit,!0).times;this._historyBarsCache=this._historyBarsCache.concat(t)}_ensureExtrapolatedToFutureBar(e){return!(this._futureBarsCache.length>=e||l(this._futureBarsCache,this._extrapolateLimit))&&this._extendFutureCacheFromRight((t,i)=>(0,o.extrapolateBarsFrontByCount)(this._barBuilder,t,e-i,!0).times)}_ensureExtrapolatedToFutureTime(e){null!==this._lastRealBarTimeMs&&this._lastRealBarTimeMs>=e||l(this._futureBarsCache,this._extrapolateLimit)||0!==this._futureBarsCache.length&&this._futureBarsCache[this._futureBarsCache.length-1]>=e||(this._extendFutureCacheFromRight((t,i)=>(0,o.extrapolateBarsFrontToTime)(this._barBuilder,t,e,this._extrapolateLimit,!0).times),this._futureBarsCache[this._futureBarsCache.length-1]=e||l(this._historyBarsCache,this._extrapolateLimit)||this._extendHistoryCacheFromLeft((t,i)=>(0,o.extrapolateBarsFrontByCount)(this._barBuilder,t,-(e-i),!0).times.reverse())}_ensureExtrapolatedToHistoryTime(e){null!==this._firstRealBarTimeMs&&this._firstRealBarTimeMs<=e||l(this._historyBarsCache,this._extrapolateLimit)||0!==this._historyBarsCache.length&&this._historyBarsCache[0]<=e||(this._extendHistoryCacheFromLeft((t,i)=>{const s=(0,o.extrapolateBarsFrontToTime)(this._barBuilder,t-1,e-1,this._extrapolateLimit,!0).times;return s[s.length-1]===t?s.slice(0,-1):s}),(0===this._historyBarsCache.length||this._historyBarsCache[0]>e)&&this._ensureExtrapolatedToHistoryBar(this._historyBarsCache.length+1))}}},90774:(e,t,i)=>{"use strict";i.d(t,{backend:()=>s});const s=i(15755)},89077:(e,t,i)=>{"use strict";var s,r;function n(e,t){ +return"period-back"===e.type&&"period-back"===t.type?e.value===t.value:"time-range"===e.type&&"time-range"===t.type&&(e.from===t.from&&e.to===t.to)}i.d(t,{TIMEFRAMETYPE:()=>r,areEqualTimeFrames:()=>n}),function(e){e.extractErrorReason=function(e){return e.params[1]}}(s||(s={})),function(e){e.PeriodBack="period-back",e.TimeRange="time-range"}(r||(r={}))},84277:()=>{"use strict";TradingView.Pro=function(){this.hasPackage=function(){return!1}},window.user={is_pro:!1,settings:{}},TradingView.Pro.prototype.isPaidPro=function(){return!1},TradingView.Pro.prototype.isSupportAvailable=function(){return!1},TradingView.Pro.prototype.getProduct=function(){return{}},TradingView.Pro.prototype.getStudiesOrder=function(){return[]}},17915:(e,t,i)=>{"use strict";i.d(t,{getQuoteSessionInstance:()=>o,destroyQuoteSessions:()=>a});var s=i(6636),r=i.n(s);const n={};function o(e="full"){return n[e]||function(e="full",t){n[e]=t}(e,new(r())(e)),n[e]}function a(){for(const e in n)if(n.hasOwnProperty(e)){const t=n[e];void 0!==t&&t.destroy(),delete n[e]}}},36395:(e,t,i)=>{"use strict";e=i.nmd(e);var s=i(45259).randomHash;function r(e){this._chartApi=e,this._sessionid="qs_"+s(),this._sessionstarted=!1}r.prototype.destroy=function(){this._sessionstarted&&(this._chartApi.quoteDeleteSession(this._sessionid),this._sessionid=null,this._sessionstarted=!1)},r.prototype.connected=function(){return this._chartApi.connected()},r.prototype.connect=function(e){this._globalHandler=e,this._chartApi.createSession(this._sessionid,this),this._chartApi.connect()},r.prototype.disconnect=function(){this._chartApi.disconnect()},r.prototype.quoteAddSymbols=function(e){this._chartApi.quoteAddSymbols(this._sessionid,e)},r.prototype.quoteRemoveSymbols=function(e){this._chartApi.quoteRemoveSymbols(this._sessionid,e)},r.prototype.quoteFastSymbols=function(e){this._chartApi.quoteFastSymbols(this._sessionid,e)},r.prototype.quoteSetFields=function(e){this._chartApi.quoteSetFields(this._sessionid,e)},r.prototype.onMessage=function(e){switch(e.method){case"connected":this._sessionstarted||(this._chartApi.quoteCreateSession(this._sessionid),this._sessionstarted=!0);break;case"disconnected":this._sessionstarted=!1}this._globalHandler(e)},r.prototype.quoteHibernateAll=function(e){this._chartApi.quoteHibernateAll(this._sessionid)},TradingView.QuoteSession=r,e&&e.exports&&(e.exports=r)},6636:(e,t,i)=>{"use strict";e=i.nmd(e);var s=i(5729),r=i(58848).default,n=i(99479).default,o=i(59104).PriceFormatter;const{uniq:a}=i(4334);var l,c=i(45259),h=i(50494).parseUpdateMode,d=i(7532).deepExtend;function u(e,t){this.options=Object.assign({throttleTimeout:125},t),this._connected=!1,this._symbol_data={},this._subscriptions={},this.onConnect=new s,this.onDisconnect=new s,this._quoteApi=new l(window.ChartApiInstance),this._type=e||"full",this._delayUpdateFastSymbols=n(this._updateFastSymbols,250),this._throttledSymbolData={},this._formatterValuesCache={},this._waitingForFormatters={},this._snapshotValuesCache={},this._waitingForSnapshot={},this.connect()}l=i(36395), +u.prototype.destroy=function(){this._quoteApi.destroy(),this._quoteApi=null,this._connected=!1,this.onDisconnect.fire()},u.prototype.typeFields={},u.prototype.typeFields.simple=["base-currency-logoid","ch","chp","currency-logoid","currency_code","current_session","description","exchange","format","fractional","is_tradable","language","local_description","logoid","lp","lp_time","minmov","minmove2","original_name","pricescale","pro_name","short_name","type","update_mode","volume"],u.prototype.typeFields.simpleDetailed=[].concat(u.prototype.typeFields.simple,["ask","bid","fundamentals","high_price","is_tradable","low_price","open_price","prev_close_price","rch","rchp","rtc","rtc_time","status","basic_eps_net_income","beta_1_year","earnings_per_share_basic_ttm","industry","market_cap_basic","price_earnings_ttm","sector","volume","dividends_yield","timezone"]),u.prototype.typeFields.full=[],u.prototype.typeFields.watchlist=[].concat(u.prototype.typeFields.simple,["rchp","rtc","country_code","provider_id"]),u.prototype.typeFields.portfolio=["pro_name","short_name","exchange","description","sector","type","industry","currency_code","currency_id","ch","chp","logoid","currency-logoid","base-currency-logoid","earnings_per_share_forecast_next_fq","earnings_release_next_date","earnings_release_date","earnings_per_share_fq","lp","fractional","minmov","minmove2","pricescale","volume","average_volume","market_cap_basic","total_revenue","earnings_per_share_basic_ttm","price_earnings_ttm","beta_1_year","dps_common_stock_prim_issue_fy","dividends_yield","fundamental_currency_code","rates_mc","rates_fy","rates_ttm"],u.prototype.typeFields.notes=["short_name","pro_name","logoid","currency-logoid","base-currency-logoid","symbol-primaryname","type"],u.prototype.connect=function(e){this._quoteApi.connect(this.quoteHandler.bind(this))},u.prototype.quoteHandler=function(e){var t=e.method,i=e.params;switch(t){case"connected":this._connected||(this._connected=!0,this.onConnected());break;case"quote_list_fields":break;case"quote_symbol_data":this._connected&&this.onSymbolData(i[0]);break;case"quote_completed":this._connected&&this.onSymbolData({symbolname:i[0],complete:performance.now(),values:{}});break;case"disconnected":this._connected&&(this._connected=!1,this.onDisconnect.fire())}},u.prototype.onConnected=function(){this.setFields();var e=Object.keys(this._symbol_data);e.length&&(this._quoteApi.quoteAddSymbols(e),this._delayUpdateFastSymbols()),this.onConnect.fire()},u.prototype.setFields=function(){var e=u.prototype.typeFields[this._type];e&&e.length&&this._quoteApi.quoteSetFields(e)},u.prototype.onSymbolData=function(e){var t=e.symbolname,i=this._throttledSymbolData[t];i||(i=this._throttledSymbolData[t]={fnDispatch:r(this.dipatchSymbolData.bind(this),this.options.throttleTimeout)}),i.cache?d(i.cache,e):i.cache=e,i.fnDispatch(t)},u.prototype._parseUpdateMode=function(e){var t=h(e.update_mode);null!==t&&(e.update_mode=t.mode,e.update_mode_seconds=t.interval)},u.prototype.dipatchSymbolData=function(e){ +var t=this._symbol_data[e],i=this._throttledSymbolData[e].cache;if(delete this._throttledSymbolData[e].cache,this._symbol_data[e])for(var s in d(t,i),t.values&&this._parseUpdateMode(t.values),this._subscriptions){var r=this._subscriptions[s];r.has(e)&&r.get(e).forEach((function(e){e(t,i)}))}},u.prototype.subscribe=function(e,t,i){this._subscriptions[e]=this._subscriptions[e]||new Map;var s=this._subscriptions[e];t=[].concat(t);var r=[];t.forEach((function(e){this._symbol_data[e]?s&&s.has(e)||this._symbol_data[e].subscribers_count++:(this._symbol_data[e]={subscribers_count:1},r.push(e)),s.has(e)||s.set(e,[]),s.get(e).push(i),s.get(e).fast=!0,this._symbol_data[e]&&this._symbol_data[e].values&&i(this._symbol_data[e],this._symbol_data[e])}),this),r.length&&this._connected&&(this._quoteApi.quoteAddSymbols(r),this._delayUpdateFastSymbols())},u.prototype.unsubscribe=function(e,t,i){t=[].concat(t);for(var s=this._subscriptions[e],r=[],n=0;n{"use strict";function s(e,t){return e>1,o=s+r;i(e(o),t)?(s=o+1,n-=r+1):n=r}return s}function n(e,t,i,s=0,n=e.length){return r(t=>e[t],t,i,s,n)}function o(e,t,i=0,r=e.length){return n(e,t,s,i,r)}function a(e,t,i,s=0,r=e.length){let n=r-s;for(;0>1,o=s+r;i(t,e[o])?n=r:(s=o+1,n-=r+1)}return s}function l(e,t,i=0,r=e.length){return a(e,t,s,i,r)}function c(e,t){return e.filter(e=>!t.includes(e))}function h(e,t){const i=e.indexOf(t);return i<0?e.slice():[t].concat(e.slice(0,i)).concat(e.slice(i+1))}function d(e,t,i){const s=new Set(t),r=[],n=[],a=[];return e.forEach((e,t)=>{s.has(e)?n.push(e):(r.push(e),a.push(t))}),i=i{s.has(e)?n.push(e):(r.push(e),a.push(t))}),i=i<=e.length-1?o(a,i):r.length,r.splice(i,0,...n),{newItems:r,movedItemsStartIndex:i}}function p(e,t){const i=new Set;return e.forEach(e=>{t.has(e)&&i.add(e)}),i}i.r(t),i.d(t,{lowerboundExt:()=>r,lowerbound:()=>n,lowerbound_int:()=>o,upperbound:()=>a,upperbound_int:()=>l,subtract:()=>c,moveToHead:()=>h,moveAfter:()=>d,moveBefore:()=>u,intersect:()=>p})},84540:(e,t,i)=>{"use strict";var s=i(10165),r=i(64837).tzData;function n(e){this._name=e;var t=r[e];if(t||(t={time:[],offset:[]},this._invalid=!0),t.time.length!==t.offset.length&&(t={time:[],offset:[]},this._invalid=!0),!t.time_utc){for(var i=t.time,s=t.offset,n=i.length,o=new Array(n),a=0;at){if((r=n-1)0&&e-t[s-1]<=r)return r;return 0},n.prototype.is_valid=function(){return!this._invalid},n._offset=function(e,t,i){var s=o(e,i);return-1===s?0:t[s]};var a=function(e){return 0|e},l=function(e){return 60*e*1e3},c=function(e,t){return h(e)-h(t)},h=function(e){return e<0?a(e/1e3)-(e%1e3!=0?1:0):a(e/1e3)};function d(e){return e%4==0&&(e%100!=0||e%400==0)}var u={0:0,1:31,2:59,3:90,4:120,5:151,6:181,7:212,8:243,9:273,10:304,11:334},p={...s.WeekDays,...s.Months,YEAR:1,MONTH:2,WEEK_OF_YEAR:3,DAY_OF_MONTH:5,DAY_OF_YEAR:6,DAY_OF_WEEK:7,HOUR_OF_DAY:11,MINUTE:12,SECOND:13,minutesPerDay:1440, +millisecondsPerDay:l(1440),get_minutes_from_hhmm:function(e){return-1!==e.indexOf(":")&&(e=e.split(":").join("")),e%100+60*a(e/100)},get_year:function(e){return e.getUTCFullYear()},get_month:function(e){return e.getUTCMonth()},get_hours:function(e){return e.getUTCHours()},get_minutes:function(e){return e.getUTCMinutes()},get_seconds:function(e){return e.getUTCSeconds()},get_day_of_month:function(e){return e.getUTCDate()},get_day_of_week:function(e){return e.getUTCDay()+1},get_day_of_year:function(e){var t=e.getUTCMonth(),i=u[t];return t>p.JANUARY+1&&d(e.getUTCFullYear())&&(i+=1),i+e.getUTCDate()},get_week_of_year:function(e){var t=new Date(Date.UTC(e.getUTCFullYear(),0,1)).getUTCDay(),i=0===t?1:8-t,s=p.get_day_of_year(e)-i;return Math.ceil(s/7)+1},get_minutes_from_midnight:function(e){return 60*p.get_hours(e)+p.get_minutes(e)},set_hms:function(e,t,i,s,r,n){e.setUTCHours(t),e.setUTCMinutes(i),e.setUTCSeconds(s),e.setUTCMilliseconds(r),void 0!==n&&p.correct_time(e,n)},correct_time:function(e,t){var i=e.getTime(),s=t.correction_loc(i);e.setTime(i+s)},add_days_considering_dst:function(e,t,i){var s=e.offset_utc(t),r=this.clone(t);this.add_date(r,i);var n=e.offset_utc(r);return r.setTime(r.getTime()+s-n),r},add_date:function(e,t){e.setTime(e.getTime()+t*p.millisecondsPerDay)},add_minutes:function(e,t){e.setTime(e.getTime()+l(t))},clone:function(e){return new Date(e.getTime())},get_days_per_year:function(e){var t=e.getUTCFullYear();return this.days_per_year(t)},days_per_year:function(e){return d(e)?366:365},get_days_in_month:function(e,t){let i;switch(e){case 0:case 2:case 4:case 6:case 7:case 9:case 11:i=31;break;case 1:i=28,d(t)&&i++;break;default:i=30}return i},get_part:function(e,t){switch(t){case p.YEAR:return p.get_year(e);case p.MONTH:return p.get_month(e);case p.DAY_OF_MONTH:return p.get_day_of_month(e);case p.WEEK_OF_YEAR:return p.get_week_of_year(e);case p.DAY_OF_WEEK:return p.get_day_of_week(e);case p.HOUR_OF_DAY:return p.get_hours(e);case p.MINUTE:return p.get_minutes(e);case p.DAY_OF_YEAR:return p.get_day_of_year(e);case p.SECOND:return p.get_seconds(e);default:return e.getTime()}},time_minutes:l,time_seconds:function(e){return 1e3*e},time_minutes_diff:function(e,t){return a(c(e,t)/60)},time_seconds_diff:c,utc_to_cal:function(e,t){return new Date(p.utc_to_cal_ts(e,t))},utc_to_cal_ts:function(e,t){return t+e.offset_utc(t)},get_cal:function(e,t,i,s,r,n,o){var a=new Date(Date.UTC(t,i,s,r||0,n||0,o||0)),l=e.offset_utc(+a);return new Date(a.valueOf()-l)},get_cal_from_unix_timestamp_ms:function(e,t){return new Date(t+e.offset_utc(t))},get_cal_utc:function(e,t,i){return new Date(Date.UTC(e,t,i))},cal_to_utc:function(e,t){var i=t.getTime();return i-e.offset_loc(i)},get_timezone:function(e){return new n(e)},shift_day:function(e,t){var i=e-1;return(i+=t)>6?i%=7:i<0&&(i=(7+i%7)%7),i+1}};e.exports=p},33420:(e,t,i)=>{"use strict";i.r(t),i.d(t,{LINESTYLE_SOLID:()=>s,LINESTYLE_DOTTED:()=>r,LINESTYLE_DASHED:()=>n,LINESTYLE_LARGE_DASHED:()=>o,LINESTYLE_SPARSE_DOTTED:()=>a,LINESTYLE_SMALL_DASHED:()=>l}) +;const s=0,r=1,n=2,o=3,a=4,l=5},5025:(e,t,i)=>{"use strict";var s=i(57968),r=s.greaterThan,n=s.lessThan,o=window.CanvasEx=i(33420);o.computeDashPattern=function(e){return[[e.lineWidth,2*e.lineWidth],[5*e.lineWidth,6*e.lineWidth],[6*e.lineWidth,6*e.lineWidth],[e.lineWidth,4*e.lineWidth],[2*e.lineWidth,e.lineWidth]][e.lineStyle-1]},o.drawLine=function(e,t,i,s,r){isFinite(t)&&isFinite(s)&&isFinite(i)&&isFinite(r)&&(e.lineStyle!==o.LINESTYLE_SOLID?o.drawDashedLine(e,t,i,s,r):o.drawSolidLine(e,t,i,s,r))},o.drawArrow=function(e,t,i,s,r,n){if(isFinite(t)&&isFinite(s)&&isFinite(i)&&isFinite(r)){var o=Math.round(n/2),a=t+o,l=s+o;e.beginPath(),e.moveTo(l,r),e.lineTo(a,i),e.moveTo(t,i+o),e.lineTo(a,i),e.lineTo(t+n,i+o),e.stroke()}},o.drawSolidLine=function(e,t,i,s,r){e.beginPath(),e.moveTo(t,i),e.lineTo(s,r),e.stroke()},o.setLineStyle=function(e,t){e.lineStyle=t;var i=[];t!==o.LINESTYLE_SOLID&&(i=o.computeDashPattern(e)),o.setLineDash(e,i)},o.setLineDash=function(e,t){"function"==typeof e.setLineDash?e.setLineDash(t):void 0!==e.mozDash?e.mozDash=t:void 0!==e.webkitLineDash&&(e.webkitLineDash=t)},o.drawPoly=function(e,t,i){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(var s=0;s0&&(c.thereYet=n,c.cap=Math.max),t-s>0&&(l.thereYet=n,l.cap=Math.max),e.moveTo(t,i);for(var h=t,d=i,u=0,p=!0;!l.thereYet(h,s)||!c.thereYet(d,o);){var _=Math.atan2(o-i,s-t),m=a[u];h=l.cap(s,h+Math.cos(_)*m),d=c.cap(o,d+Math.sin(_)*m),p?e.lineTo(h,d):e.moveTo(h,d),u=(u+1)%a.length,p=!p}},o.setFont=function(e,t){if(e.font!==t)try{e.font=t}catch(e){}},"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.setFont=function(e){o.setFont(this,e)},CanvasRenderingContext2D.prototype.lineStyle=o.LINESTYLE_SOLID),e.exports=o},45053:(e,t,i)=>{"use strict";i.d(t,{combine:()=>n});var s=i(32856),r=i.n(s);function n(e,...t){const i=(...t)=>e(...t.map(e=>e.value())),s=new(r())(i(...t)),n=()=>s.setValue(i(...t)),o=t.map(e=>e.spawn());for(const e of o)e.subscribe(n);return s.readonly().spawn(()=>o.forEach(e=>e.destroy()))}},94975:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ +availableTimezones:()=>l,timezoneIsAvailable:()=>c,timezoneTitle:()=>h});var s=i(79881),r=i(48729);const n=[{id:"Etc/UTC",title:(0,s.t)("UTC")},{id:"exchange",title:(0,s.t)("Exchange")}],o=[{id:"Africa/Cairo",title:(0,s.t)("Cairo"),offset:0},{id:"Africa/Johannesburg",title:(0,s.t)("Johannesburg"),offset:0},{id:"Africa/Lagos",title:(0,s.t)("Lagos"),offset:0},{id:"America/Argentina/Buenos_Aires",title:(0,s.t)("Buenos Aires"),offset:0},{id:"America/Bogota",title:(0,s.t)("Bogota"),offset:0},{id:"America/Caracas",title:(0,s.t)("Caracas"),offset:0},{id:"America/Chicago",title:(0,s.t)("Chicago"),offset:0},{id:"America/El_Salvador",title:(0,s.t)("San Salvador"),offset:0},{id:"America/Juneau",title:(0,s.t)("Juneau"),offset:0},{id:"America/Lima",title:(0,s.t)("Lima"),offset:0},{id:"America/Los_Angeles",title:(0,s.t)("Los Angeles"),offset:0},{id:"America/Mexico_City",title:(0,s.t)("Mexico City"),offset:0},{id:"America/New_York",title:(0,s.t)("New York"),offset:0},{id:"America/Phoenix",title:(0,s.t)("Phoenix"),offset:0},{id:"America/Santiago",title:(0,s.t)("Santiago"),offset:0},{id:"America/Sao_Paulo",title:(0,s.t)("Sao Paulo"),offset:0},{id:"America/Toronto",title:(0,s.t)("Toronto"),offset:0},{id:"America/Vancouver",title:(0,s.t)("Vancouver"),offset:0},{id:"US/Mountain",title:(0,s.t)("Denver"),offset:0},{id:"Asia/Almaty",title:(0,s.t)("Almaty"),offset:0},{id:"Asia/Ashkhabad",title:(0,s.t)("Ashgabat"),offset:0},{id:"Asia/Bahrain",title:(0,s.t)("Bahrain"),offset:0},{id:"Asia/Bangkok",title:(0,s.t)("Bangkok"),offset:0},{id:"Asia/Chongqing",title:(0,s.t)("Chongqing"),offset:0},{id:"Asia/Dubai",title:(0,s.t)("Dubai"),offset:0},{id:"Asia/Ho_Chi_Minh",title:(0,s.t)("Ho Chi Minh"),offset:0},{id:"Asia/Hong_Kong",title:(0,s.t)("Hong Kong"),offset:0},{id:"Asia/Jakarta",title:(0,s.t)("Jakarta"),offset:0},{id:"Asia/Jerusalem",title:(0,s.t)("Jerusalem"),offset:0},{id:"Asia/Karachi",title:(0,s.t)("Karachi"),offset:0},{id:"Asia/Kolkata",title:(0,s.t)("Kolkata"),offset:0},{id:"Asia/Kuwait",title:(0,s.t)("Kuwait"),offset:0},{id:"Asia/Manila",title:(0,s.t)("Manila"),offset:0},{id:"Asia/Muscat",title:(0,s.t)("Muscat"),offset:0},{id:"Asia/Qatar",title:(0,s.t)("Qatar"),offset:0},{id:"Asia/Riyadh",title:(0,s.t)("Riyadh"),offset:0},{id:"Asia/Seoul",title:(0,s.t)("Seoul"),offset:0},{id:"Asia/Shanghai",title:(0,s.t)("Shanghai"),offset:0},{id:"Asia/Singapore",title:(0,s.t)("Singapore"),offset:0},{id:"Asia/Taipei",title:(0,s.t)("Taipei"),offset:0},{id:"Asia/Tehran",title:(0,s.t)("Tehran"),offset:0},{id:"Asia/Tokyo",title:(0,s.t)("Tokyo"),offset:0},{id:"Atlantic/Reykjavik",title:(0,s.t)("Reykjavik"),offset:0},{id:"Australia/Adelaide",title:(0,s.t)("Adelaide"),offset:0},{id:"Australia/Brisbane",title:(0,s.t)("Brisbane"),offset:0},{id:"Australia/Perth",title:(0,s.t)("Perth"),offset:0},{id:"Australia/Sydney",title:(0,s.t)("Sydney"),offset:0},{id:"Europe/Amsterdam",title:(0,s.t)("Amsterdam"),offset:0},{id:"Europe/Athens",title:(0,s.t)("Athens"),offset:0},{id:"Europe/Belgrade",title:(0,s.t)("Belgrade"),offset:0},{id:"Europe/Berlin",title:(0,s.t)("Berlin"), +offset:0},{id:"Europe/Bratislava",title:(0,s.t)("Bratislava"),offset:0},{id:"Europe/Brussels",title:(0,s.t)("Brussels"),offset:0},{id:"Europe/Bucharest",title:(0,s.t)("Bucharest"),offset:0},{id:"Europe/Copenhagen",title:(0,s.t)("Copenhagen"),offset:0},{id:"Europe/Dublin",title:(0,s.t)("Dublin"),offset:0},{id:"Europe/Helsinki",title:(0,s.t)("Helsinki"),offset:0},{id:"Europe/Istanbul",title:(0,s.t)("Istanbul"),offset:0},{id:"Europe/Lisbon",title:(0,s.t)("Lisbon"),offset:0},{id:"Europe/London",title:(0,s.t)("London"),offset:0},{id:"Europe/Luxembourg",title:(0,s.t)("Luxembourg"),offset:0},{id:"Europe/Madrid",title:(0,s.t)("Madrid"),offset:0},{id:"Europe/Malta",title:(0,s.t)("Malta"),offset:0},{id:"Europe/Moscow",title:(0,s.t)("Moscow"),offset:0},{id:"Europe/Oslo",title:(0,s.t)("Oslo"),offset:0},{id:"Europe/Paris",title:(0,s.t)("Paris"),offset:0},{id:"Europe/Riga",title:(0,s.t)("Riga"),offset:0},{id:"Europe/Rome",title:(0,s.t)("Rome"),offset:0},{id:"Europe/Stockholm",title:(0,s.t)("Stockholm"),offset:0},{id:"Europe/Tallinn",title:(0,s.t)("Tallinn"),offset:0},{id:"Europe/Vilnius",title:(0,s.t)("Vilnius"),offset:0},{id:"Europe/Warsaw",title:(0,s.t)("Warsaw"),offset:0},{id:"Europe/Zurich",title:(0,s.t)("Zurich"),offset:0},{id:"Pacific/Auckland",title:(0,s.t)("New Zealand"),offset:0},{id:"Pacific/Chatham",title:(0,s.t)("Chatham Islands"),offset:0},{id:"Pacific/Fakaofo",title:(0,s.t)("Tokelau"),offset:0},{id:"Pacific/Honolulu",title:(0,s.t)("Honolulu"),offset:0},{id:"Pacific/Norfolk",title:(0,s.t)("Norfolk Island"),offset:0}],a=o.map(({id:e,title:t})=>{const{string:i,offset:s}=(0,r.parseTzOffset)(e);return{id:e,offset:s,title:`(${i}) ${t}`}}).sort((e,t)=>{const i=e.offset-t.offset;return 0!==i?i:e.title.localeCompare(t.title)}),l=n.concat(a);function c(e){for(let t=0;t{"use strict";function s(e){const t={};return{promise:new Promise((i,s)=>{e.subscribe(t,i,!0)}),destroy:()=>{e.unsubscribeAll(t)}}}i.d(t,{delegateToPromise:()=>s})},5729:(e,t,i)=>{"use strict";e=i.nmd(e);const s=i(65447).getLogger("Common.Delegate");function r(){this._listeners=[]}function n(e){return!e.singleshot}r.prototype.subscribe=function(e,t,i){const s={object:e,member:t,singleshot:!!i,skip:!1};this._listeners.push(s)},r.prototype.unsubscribe=function(e,t){for(let i=0;i=0;--t){const i=this._listeners[t];i.object===e&&(i.skip=!0,this._listeners.splice(t,1))}},r.prototype.destroy=function(){delete this._listeners},r.prototype.fire=function(){const e=this._listeners;this._listeners=this._listeners.filter(n);const t=e.length;for(let i=0;i{"use strict";function s(e,t){return e<=t}function r(e,t){return e>=t}function n(e,t,i){return Math.min(Math.max(e,t),i)}function o(e){return e<0?-1:e>0?1:0}function a(e){if(e<0)return!1;for(let t=e;t>1;t/=10)if(t%10!=0)return!1;return!0}function l(e,t,i){return t-e<=i}function c(e,t,i){return Math.abs(e-t)t?1:0}function u(e,t=d){if(e.length<1)throw Error("array is empty");let i=e[0];for(let s=0;s0&&(i=e[s]);return i}function _(e){const t=Math.ceil(e);return t%2!=0?t-1:t}function m(e){return e>0?Math.floor(e):Math.ceil(e)}i.r(t),i.d(t,{lessThan:()=>s,greaterThan:()=>r,clamp:()=>n,sign:()=>o,isBaseDecimal:()=>a,greaterOrEqual:()=>l,equal:()=>c,log10:()=>h,defComparator:()=>d,min:()=>u,max:()=>p,ceiledEven:()=>_,toInt:()=>m})},48729:(e,t,i)=>{"use strict";i.d(t,{parseTzOffset:()=>r});var s=i(84540);function r(e,t=Date.now()){const i=(0,s.get_timezone)(e).offset_utc(t);let r="";const n=i/1e3/60/60;n%1&&(r=":"+n%1*60);let o="";return o=n>0?"+"+(n-n%1)+r:0===n?"":String(n-n%1+r),{offset:i,string:"UTC"+o}}},61125:(e,t,i)=>{"use strict";var s=i(27490),r=[{d:"E-Mini S&P 500",t:"ES"},{d:"E-Mini Nasdaq 100",t:"NQ"},{d:"Gold",t:"GC"},{d:"Silver",t:"SI"},{d:"Crude Oil WTI",t:"CL"},{d:"Natural Gas",t:"NG"},{d:"Australian Dollar",t:"6A"},{d:"Australian Dollar (Floor)",t:"AD"},{d:"Euro FX",t:"6E"},{d:"Euro FX (Floor)",t:"EC"},{d:"Corn",t:"ZC"},{d:"Corn (Floor)",t:"C"},{d:"Eurodollar",t:"GE"},{d:"Eurodollar (Floor)",t:"ED"}],n=function(){var e=[{pattern:"(",ctor:o},{pattern:")",ctor:a},{pattern:"+",ctor:c},{pattern:"-",ctor:h},{pattern:"*",ctor:d},{pattern:"/",ctor:u},{pattern:"^",ctor:p},{pattern:/\d+(?:\.\d*|(?![a-zA-Z0-9_!:.&]))|\.\d+/,ctor:f},{pattern:/\./,ctor:y},{pattern:s.enabled("charting_library_base")?/[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF^][a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!:.&]*|'.+?'/:/[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF][a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!|:.&]*|'.+?'/,ctor:g},{pattern:/'[^']*/,ctor:S},{pattern:/[\0-\x20\s]+/,ctor:n}];function t(e,t){var i=function(){};return i.prototype=t.prototype,e.prototype=new i,e}function i(){}function n(e){this.value=e}function o(){}function a(){}function l(){}function c(){}function h(){}function d(){}function u(){}function p(){}i.prototype.toString=function(){return this.value},t(n,i),t(o,i),o.prototype.value="(",t(a,i),a.prototype.value=")",t(l,i),t(c,l),c.prototype.value="+",c.prototype.precedence=0,c.prototype.commutative=!0,t(h,l),h.prototype.value="-",h.prototype.precedence=0,h.prototype.commutative=!1,t(d,l),d.prototype.value="*",d.prototype.precedence=1,d.prototype.commutative=!0,t(u,l),u.prototype.value="/",u.prototype.precedence=1,u.prototype.commutative=!1,t(p,l),p.prototype.value="^",p.prototype.precedence=2, +p.prototype.commutative=!1;var _=/^'?(?:([A-Z0-9_]+):)?(.*?)'?$/i,m=/[+\-/*]/;function g(e){this.value=e}function f(e){this.value=e}function v(e){this.value=e}function S(){g.apply(this,arguments)}function y(){f.apply(this,arguments)}t(g,i),g.prototype.toString=function(){if(this.hasOwnProperty("_ticker")){var e=m.test(this._ticker)?"'":"";return e+(this._exchange?this._exchange+":":"")+this._ticker+e}return this.value},g.prototype.parse=function(){var e=_.exec(this.value);e[1]&&(this._exchange=e[1]),this._ticker=e[2]},g.prototype.parseAsFutures=function(){this.hasOwnProperty("_ticker")||this.parse();for(var e=function(e){return r.some((function(t){return t.t===e}))},t=2;t>=1;--t){var i=this._ticker.slice(0,t);if(e(i)){this._root=i,this._contract=this._ticker.slice(t);break}}},g.prototype.exchange=function(e){if(this.hasOwnProperty("_ticker")||this.parse(),!(arguments.length>0))return this._exchange;null==e?delete this._exchange:this._exchange=e+""},g.prototype.ticker=function(e){if(this.hasOwnProperty("_ticker")||this.parse(),!(arguments.length>0))return this._ticker;null==e?delete this._ticker:this._ticker=e+"",delete this._root,delete this._contract},g.prototype.root=function(e){if(this.hasOwnProperty("_root")||this.parseAsFutures(),!(arguments.length>0))return this._root;null==e?delete this._root:(this._root=e+"",this._root&&(this._ticker=this._root+(this._contract||"")))},g.prototype.contract=function(e){if(this.hasOwnProperty("_contract")||this.parseAsFutures(),!(arguments.length>0))return this._root;null==e?delete this._contract:(this._contract=e+"",this._root&&(this._ticker=this._root+this._contract))},t(f,i),f.prototype.toString=function(){return this.hasOwnProperty("_normalizedValue")?this._normalizedValue:this.value},f.prototype.parse=function(){this._normalizedValue=this.value.replace(/^0+|\.0*$/g,"").replace(/(\.\d*?)0+$/,"$1").replace(/^(\.|$)/,"0$1")},v.prototype.toString=function(){return this.value},t(S,g),S.prototype.isIncomplete=!0,S.prototype.incompleteSuggest=function(){if("'"!==this.value)return String("'")},t(y,f),y.prototype.isIncomplete=!0;var b=new RegExp(e.map((function(e){return"("+("string"==typeof e.pattern?e.pattern.replace(/[\^$()[\]{}*+?|\\]/g,"\\$&"):e.pattern.source)+")"})).concat(".").join("|"),"g");function w(t,i){var s,r=[];e:for(;s=b.exec(t);){for(var o=e.length;o--;)if(s[o+1]){if(e[o].ctor){var a=new e[o].ctor(s[o+1]);a._offset=s.index,r.push(a)}continue e}var l=new v(s[0]);l._offset=s.index,r.push(l)}if(i&&i.recover){var c;for(o=r.length;o--;){var h=r[o];if(h instanceof f||h instanceof g){if(void 0!==c){var d=new g(""),u=r.splice(o,c-o+1,d);d.value=u.map((function(e){return e.value})).join("")}c=o}else h instanceof n||(c=void 0)}}return r}function P(e){for(var t=[],i=0;in.precedence&&(s[s.length-1].minPrecedence=n.precedence);else if(n instanceof o)s.push(t={minPrecedence:1/0,openBraceIndex:r +});else if(n instanceof a){var c=e[(t=s.pop()).openBraceIndex-1],h=e[r+1];h instanceof l&&!(h.precedence<=t.minPrecedence)||!(!(c instanceof l)||c.precedencet.minPrecedence&&(s[s.length-1].minPrecedence=t.minPrecedence))}}for(r=i.length;r--;)e.splice(i[r],1);return e}function T(e){if("string"!=typeof e)throw new TypeError("expression must be a string");return(e=w(e)).filter((function(e){return e instanceof g})).map((function(e){return e.exchange()})).filter((function(e){return e}))}function x(e){return 1!==(e=T(e)).length?null:e[0]}function I(e,t){return(e=T(e)).some((function(e){return t.includes((e||"").toUpperCase())}))}function M(e){return e.join("")}return{tokenize:w,validate:function(e){if(s.enabled("charting_library_base"))return{currentState:"var"};for(var t="init",i={warnings:[],errors:[],isEmpty:!0},r=[],c=0;c{"use strict";i.d(t,{TranslatedString:()=>s});class s{constructor(e,t){this._originalText=e,this._translatedText=t}originalText(){return this._originalText}translatedText(){return this._translatedText}format(e){const t={},i={};for(const r of Object.keys(e)){const n=e[r];n instanceof s?(t[r]=n.originalText(),i[r]=n.translatedText()):(t[r]=n.toString(),i[r]=n.toString())}const r=this._originalText.format(t),n=this._translatedText.format(i);return new s(r,n)}}},64837:e=>{e.exports.tzData={"America/New_York":{ +time:[-2717668562,-1633298400,-1615154400,-1601848800,-1583704800,-1570399200,-1551650400,-1536530400,-1523224800,-1504476e3,-1491775200,-1473026400,-1459720800,-1441576800,-1428271200,-1410127200,-1396821600,-1378677600,-1365372e3,-1347228e3,-1333922400,-1315173600,-1301868e3,-1283724e3,-1270418400,-1252274400,-1238968800,-1220824800,-1207519200,-1189375200,-1176069600,-1157320800,-114462e4,-1125871200,-1112565600,-1094421600,-1081116e3,-1062972e3,-1049666400,-1031522400,-1018216800,-1000072800,-986767200,-968018400,-955317600,-936568800,-923263200,-905119200,-891813600,-880236e3,-76941e4,-765410400,-747266400,-733960800,-715816800,-702511200,-684367200,-671061600,-652917600,-639612e3,-620863200,-608162400,-589413600,-576108e3,-557964e3,-544658400,-526514400,-513208800,-495064800,-481759200,-463615200,-447285600,-431560800,-415836e3,-400111200,-384386400,-368661600,-352936800,-337212e3,-321487200,-305762400,-289432800,-273708e3,-257983200,-242258400,-226533600,-210808800,-195084e3,-179359200,-163634400,-147909600,-13158e4,-11646e4,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3], +offset:[-17762,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3]},"America/Los_Angeles":{ +time:[-2717668378,-1633298400,-1615154400,-1601848800,-1583704800,-880236e3,-769420800,-765410400,-687995940,-662680800,-620866800,-608162400,-589417200,-576108e3,-557967600,-544658400,-526518e3,-513208800,-495068400,-481759200,-463618800,-450309600,-431564400,-418255200,-400114800,-386805600,-368665200,-355356e3,-337215600,-323906400,-305766e3,-292456800,-273711600,-261007200,-242262e3,-226533600,-210812400,-195084e3,-179362800,-163634400,-147913200,-13158e4,-116463600,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3],offset:[-28378,-28800,-25200,-28800,-25200,-28800,-25200,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800]},"America/Chicago":{ +time:[-2717668236,-1633298400,-1615154400,-1601848800,-1583704800,-1563746400,-1551650400,-1538949600,-1520200800,-1504476e3,-1491775200,-1473026400,-1459720800,-1441576800,-1428271200,-1410127200,-1396821600,-1378677600,-1365372e3,-1347228e3,-1333922400,-1315173600,-1301868e3,-1283724e3,-1270418400,-1252274400,-1238968800,-1220824800,-1207519200,-1189375200,-1176069600,-1157320800,-114462e4,-1125871200,-1112565600,-1094421600,-1081116e3,-1067810400,-1045432800,-1031522400,-1018216800,-1000072800,-986767200,-968018400,-955317600,-936568800,-923263200,-905119200,-891813600,-880236e3,-769413600,-765410400,-747266400,-733960800,-715816800,-702511200,-684367200,-671061600,-652917600,-639612e3,-620863200,-608162400,-589413600,-576108e3,-557964e3,-544658400,-526514400,-513208800,-495064800,-481759200,-463615200,-447285600,-431560800,-415836e3,-400111200,-384386400,-368661600,-352936800,-337212e3,-321487200,-305762400,-289432800,-273708e3,-257983200,-242258400,-226533600,-210808800,-195084e3,-179359200,-163634400,-147909600,-13158e4,-11646e4,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3], +offset:[-21036,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600]},"America/Phoenix":{time:[-2717670498,-1633298400,-1615154400,-1601848800,-1583704800,-880236e3,-820540740,-812678340,-796867140,-84405600,-68680800,1924966800],offset:[-26898,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200]},"America/Toronto":{ +time:[-2366755200,-1632088800,-1615154400,-1601771400,-1583712e3,-1567375200,-1554681600,-1534716e3,-1524088800,-1503266400,-149238e4,-1471816800,-1460930400,-1440972e3,-1428876e3,-1409522400,-1397426400,-1378072800,-1365976800,-1346623200,-1333922400,-1315173600,-1301868e3,-1283724e3,-1270418400,-1252274400,-1238968800,-1220824800,-1207519200,-1188770400,-1176069600,-1157320800,-1144015200,-1125871200,-1112565600,-1094421600,-1081116e3,-1062972e3,-1049666400,-1031522400,-1018216800,-1000072800,-986767200,-968018400,-955317600,-936568800,-880232400,-76941e4,-765410400,-747266400,-733960800,-715824e3,-702518400,-684374400,-671068800,-652924800,-634176e3,-620863200,-602719200,-589413600,-576108e3,-557964e3,-544658400,-526514400,-513208800,-495064800,-481759200,-463615200,-450309600,-431560800,-418255200,-400111200,-384386400,-368661600,-352936800,-337212e3,-321487200,-305762400,-289432800,-273708e3,-257983200,-242258400,-226533600,-210808800,-195084e3,-179359200,-163634400,-147909600,-13158e4,-11646e4,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,136346400,152071200,167796e3,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3], +offset:[-19052,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-14400,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3]},"America/Vancouver":{ +time:[-2713910400,-1632088800,-1615154400,-880236e3,-769420800,-765410400,-747266400,-733960800,-715816800,-702511200,-684367200,-671061600,-652917600,-639612e3,-620863200,-608162400,-589413600,-576108e3,-557964e3,-544658400,-526514400,-513208800,-495064800,-481759200,-463615200,-450309600,-431560800,-418255200,-400111200,-386805600,-368661600,-355356e3,-337212e3,-323906400,-305762400,-292456800,-273708e3,-261007200,-242258400,-226533600,-210808800,-195084e3,-179359200,-163634400,-147909600,-13158e4,-11646e4,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,136346400,152071200,167796e3,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3], +offset:[-29548,-28800,-25200,-28800,-25200,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800]},"America/Argentina/Buenos_Aires":{time:[-2372112e3,-1567468800,-1233446400,-1222992e3,-1205971200,-1194048e3,-117288e4,-1162512e3,-1141344e3,-1130976e3,-1109808e3,-109944e4,-1078272e3,-1067817600,-1046649600,-1036281600,-1015113600,-1004745600,-983577600,-973209600,-952041600,-941587200,-931046400,-900892800,-890352e3,-83376e4,-82728e4,-752284800,-733795200,-197337600,-190857600,-184204800,-164505600,-152668800,-132969600,-121132800,-101433600,-86832e3,-71107200,-54777600,-39052800,-23328e3,-7603200,128131200,136598400,596937600,605059200,624412800,636508800,656467200,667958400,687916800,699408e3,719366400,731462400,938908800,952041600,1198972800,1205625600,1224374400,1237075200,1924981200],offset:[-14028,-15408,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-10800,-10800,-7200,-10800,-7200,-10800]},"America/El_Salvador":{time:[-1546300800,546998400,559699200,578448e3,591148800,1924970400],offset:[-21408,-21600,-18e3,-21600,-18e3,-21600]},"America/Sao_Paulo":{ +time:[-1767225600,-1206968400,-1191369600,-1175385600,-1159833600,-633830400,-622076400,-602294400,-59184e4,-570758400,-560217600,-539136e3,-53136e4,-195436800,-184204800,-155174400,-150076800,-128908800,-121132800,-99964800,-89596800,-68428800,-57974400,499737600,511228800,530582400,540259200,562118400,571190400,592963200,602035200,624412800,634694400,656467200,666748800,687916800,697593600,719971200,728438400,750816e3,761702400,782265600,793152e3,813715200,823996800,84456e4,856051200,876096e3,888710400,908064e3,919555200,938908800,951609600,970963200,982454400,1003017600,1013904e3,1036281600,1045353600,1066521600,1076803200,1099353600,1108857600,1129420800,1140307200,1162684800,1172361600,119232e4,1203206400,1224374400,1234656e3,1255824e3,1266710400,1287273600,129816e4,1318723200,1330214400,1350777600,1361059200,1382227200,1392508800,1413676800,1424563200,1445126400,1456012800,1476576e3,1487462400,1508025600,1518912e3,1541289600,1550361600,1924981200],offset:[-11188,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800,-7200,-10800]},"America/Bogota":{time:[-2707689600,-1739059200,704851200,733881600,1924974e3],offset:[-17776,-17776,-18e3,-14400,-18e3]},"America/Caracas":{time:[-2524521600,-1826755200,-157766400,1197169200,1462069800,1924977600],offset:[-16064,-16060,-16200,-14400,-16200,-14400]},"Europe/Moscow":{time:[-2840140800,-1688256e3,-165681e4,-1641340800,-1627956e3,-1618700400,-1596416400,-1593804521,-1589846400,-1542416400,-1539478800,-1525305600,-1522713600,-1491177600,-1247529600,354931200,370742400,386467200,402278400,418003200,433814400,449625600,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,695786400,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1414288800,1925002800], +offset:[9017,9017,9079,12679,9079,16279,12679,16279,14400,10800,14400,18e3,14400,10800,7200,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,10800,7200,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800]},"Europe/Athens":{time:[-2344636800,-1686095940,-1182988800,-1178150400,-906854400,-904867200,-85725e4,-844473600,-828230400,-812419200,-552355200,-541641600,166492800,186195600,198036e3,213764400,228880800,244090800,260330400,275457600,291805200,307418400,323395200,338947200,354682800,370411200,386132400,401860800,417582e3,433310400,449031600,465364800,481086e3,496814400,512535600,528264e3,543985200,559713600,575434800,591163200,606884400,622612800,638334e3,654667200,670388400,686116800,701838e3,717566400,733287600,749016e3,764737200,780465600,796186800,811915200,828241200,846388800,859690800,877838400,891140400,909288e3,92259e4,941342400,954039600,972792e3,985489200,1004241600,1017543600,1035691200,1048993200,1067140800,1080442800,1099195200,1111892400,1130644800,1143342e3,1162094400,1174791600,1193544e3,1206846e3,1224993600,1238295600,1256443200,1269745200,1288497600,1301194800,1319947200,1332644400,1351396800,1364698800,1382846400,1396148400,1414296e3,1427598e3,1445745600,1459047600,14778e5,1490497200,1509249600,1521946800,1540699200,1554001200,1572148800,1585450800,1603598400,1616900400,1635652800,164835e4,1667102400,1679799600,1698552e3,1711854e3,1730001600,1743303600,1761451200,1774753200,1792900800,1806202800,1824955200,1837652400,1856404800,1869102e3,1887854400,1901156400,1919304e3,1932606e3],offset:[5692,5692,7200,10800,7200,10800,7200,3600,7200,3600,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200]},"Europe/Belgrade":{ +time:[-2713910400,-905821200,-85725e4,-844552800,-828219600,-812498400,-79677e4,-777938400,-766616400,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400],offset:[4920,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Berlin":{time:[-2422051200,-1693702800,-1680476400,-1663452e3,-1650142800,-1632002400,-1618693200,-938901600,-85725e4,-844552800,-828219600,-812498400,-79677e4,-781048800,-776556e3,-765925200,-761173200,-748476e3,-733266e3,-717627600,-714603600,-71037e4,-701902800,-684972e3,-670453200,-654127200,-639003600,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400], +offset:[3208,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,10800,7200,3600,7200,3600,7200,10800,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Bratislava":{time:[-3786825600,-2469398400,-1693702800,-1680476400,-1663452e3,-1650142800,-1632002400,-1618693200,-938901600,-85725e4,-844552800,-828219600,-812498400,-79677e4,-781048800,-765320400,-746575200,-733352400,-728514e3,-72126e4,-716421600,-701902800,-684972e3,-670453200,-654213600,-639003600,29178e4,307508400,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400],offset:[3464,3464,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,0,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Bucharest":{ +time:[-2469398400,-1213142400,-1187049600,-1175468400,-1159747200,-1144018800,-1127692800,-1111964400,-1096243200,-1080514800,-1064793600,-1049065200,-1033344e3,-1017615600,-1001894400,-986166e3,-970444800,-954716400,296611200,307497600,323823600,338950800,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670377600,686106e3,701827200,717555600,733276800,749005200,764726400,780451200,796176e3,811900800,828230400,846374400,859690800,877838400,891140400,909288e3,92259e4,941342400,954039600,972792e3,985489200,1004241600,1017543600,1035691200,1048993200,1067140800,1080442800,1099195200,1111892400,1130644800,1143342e3,1162094400,1174791600,1193544e3,1206846e3,1224993600,1238295600,1256443200,1269745200,1288497600,1301194800,1319947200,1332644400,1351396800,1364698800,1382846400,1396148400,1414296e3,1427598e3,1445745600,1459047600,14778e5,1490497200,1509249600,1521946800,1540699200,1554001200,1572148800,1585450800,1603598400,1616900400,1635652800,164835e4,1667102400,1679799600,1698552e3,1711854e3,1730001600,1743303600,1761451200,1774753200,1792900800,1806202800,1824955200,1837652400,1856404800,1869102e3,1887854400,1901156400,1919304e3,1932606e3],offset:[6264,6264,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200]},"Europe/London":{ +time:[-3852662400,-1691964e3,-1680469200,-1664143200,-1650142800,-1633903200,-1617483600,-1601848800,-1586034e3,-1570399200,-1552165200,-1538344800,-152253e4,-15075e5,-1490562e3,-1473631200,-1460926800,-1442786400,-1428872400,-1410732e3,-1396213200,-1379282400,-1364763600,-1348437600,-1333314e3,-1315778400,-1301259600,-1284328800,-126981e4,-1253484e3,-1238360400,-1221429600,-1206910800,-118998e4,-1175461200,-1159135200,-1143406800,-1126476e3,-1111957200,-1095631200,-1080507600,-1063576800,-1049058e3,-1032127200,-1017608400,-1001282400,-986158800,-969228e3,-950475600,-942012e3,-904514400,-896043600,-875484e3,-864594e3,-844034400,-832539600,-812584800,-798066e3,-781048800,-772059600,-764802e3,-748476e3,-733352400,-719445600,-717026400,-706741200,-699483600,-687996e3,-668034e3,-654732e3,-636584400,-622072800,-605739600,-590623200,-57429e4,-558568800,-542235600,-527119200,-512600400,-496274400,-481150800,-46422e4,-449701200,-432165600,-417646800,-401320800,-386197200,-369266400,-354747600,-337816800,-323298e3,-306972e3,-291848400,-276732e3,-257979600,-245282400,-22653e4,-213228e3,-195080400,-182383200,-163630800,-150933600,-132181200,-119484e3,-100731600,-88034400,-68677200,-59004e3,-37238400,57726e3,69818400,89175600,101268e3,120625200,132717600,152074800,164167200,183524400,196221600,214974e3,227671200,246423600,259120800,278478e3,290570400,309927600,32202e4,341377200,354675600,372823200,386125200,404272800,417574800,435722400,449024400,467776800,481078800,499226400,512528400,530676e3,543978e3,562125600,575427600,593575200,606877200,625629600,638326800,657079200,670381200,688528800,701830800,719978400,733280400,751428e3,76473e4,782877600,796179600,814327200,828234e3,846381600,859683600,877831200,891133200,909280800,922582800,941335200,954032400,972784800,985482e3,1004234400,1017536400,1035684e3,1048986e3,1067133600,1080435600,1099188e3,1111885200,1130637600,1143334800,1162087200,1174784400,1193536800,1206838800,1224986400,1238288400,1256436e3,1269738e3,1288490400,1301187600,131994e4,1332637200,1351389600,1364691600,1382839200,1396141200,1414288800,1427590800,1445738400,1459040400,1477792800,149049e4,1509242400,1521939600,1540692e3,1553994e3,1572141600,1585443600,1603591200,1616893200,1635645600,1648342800,1667095200,1679792400,1698544800,1711846800,1729994400,1743296400,1761444e3,1774746e3,1792893600,1806195600,1824948e3,1837645200,1856397600,1869094800,1887847200,1901149200,1919296800,1932598800], +offset:[-75,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,0,3600,0,3600,7200,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0]},"Europe/Luxembourg":{time:[-2069712e3,-1692493200,-1680476400,-1662339600,-165015e4,-1632002400,-1618693200,-1612656e3,-1604278800,-1585515600,-1574038800,-1552255200,-1539997200,-1520546400,-1507510800,-1490569200,-1473642e3,-1459116e3,-1444006800,-142767e4,-1411866e3,-1396220400,-1379293200,-1364770800,-1348448400,-1333321200,-1316394e3,-1301266800,-1284339600,-126981e4,-1253484e3,-1238360400,-1221429600,-1206910800,-1191189600,-1175461200,-1160344800,-1143406800,-1127685600,-1111957200,-1096840800,-1080507600,-1063576800,-1049058e3,-1033336800,-1017608400,-1002492e3,-986158800,-969228e3,-950475600,-942012e3,-935182800,-85725e4,-844552800,-828219600,-812498400,-797979600,-781048800,-766616400,-745452e3,-733266e3,228880800,244004400,260330400,276058800,29178e4,307508400,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400], +offset:[1476,3600,7200,3600,7200,3600,7200,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Madrid":{time:[-2177453684,-1631926800,-1616886e3,-1601168400,-158535e4,-1442451600,-142767e4,-1379293200,-1364770800,-1348448400,-1333321200,-1316390400,-1301266800,-1284339600,-1269817200,-1026954e3,-1017615600,-1001898e3,-999478800,-986083200,-954111600,-940208400,-873075600,-862614e3,-842835600,-828313200,-811386e3,-796863600,-779936400,-765414e3,-748486800,-733964400,-652323600,-639010800,135126e3,150253200,166575600,181702800,196815600,212547600,22887e4,243997200,260330400,276058800,29178e4,307508400,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400], +offset:[-884,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,7200,3600,0,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Paris":{time:[-2486592e3,-1855958400,-1689814800,-1680393600,-1665363600,-1648339200,-1635123600,-1616889600,-1604278800,-158544e4,-1574038800,-1552262400,-1539997200,-1520553600,-1507510800,-1490572800,-1470618e3,-1459123200,-1444006800,-1427673600,-1411952400,-1396224e3,-1379293200,-1364774400,-1348448400,-1333324800,-1316394e3,-1301270400,-1284339600,-1269820800,-1253494800,-1238371200,-1221440400,-1206921600,-1191200400,-1175472e3,-1160355600,-1143417600,-1127696400,-1111968e3,-1096851600,-1080518400,-1063587600,-1049068800,-1033347600,-1017619200,-1002502800,-986169600,-969238800,-950486400,-942012e3,-932432400,-85725e4,-844552800,-828219600,-812498400,-800064e3,-796258800,-781048800,-766616400,196822800,212547600,228880800,244004400,260330400,276058800,29178e4,307508400,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400], +offset:[561,561,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,7200,3600,7200,3600,7200,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Rome":{time:[-3252096e3,-2403562204,-1690761600,-168048e4,-1664755200,-1648944e3,-163512e4,-1616889600,-1604275200,-1585526400,-1571011200,-1555286400,-932428800,-85725e4,-844552800,-828219600,-812498400,-798066e3,-781048800,-76671e4,-750895200,-733352400,-719452800,-70191e4,-689205600,-670453200,-114048e3,-103161600,-81993600,-71708400,-50544e3,-40258800,-18489600,-8204400,1296e4,23245200,43804800,54694800,75859200,86749200,107913600,118198800,138758400,149648400,170812800,181098e3,202262400,212547600,233107200,243997200,265161600,276051600,296611200,307501200,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400], +offset:[2996,2996,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Warsaw":{time:[-2840140800,-1717027200,-1693702800,-1680476400,-1663452e3,-1650142800,-1632002400,-1618693200,-1600466400,-1587157200,-1501718400,-931730400,-85725e4,-844552800,-828219600,-812498400,-796600800,-778723200,-762652800,-748483200,-733266e3,-715212e3,-701902800,-684972e3,-670453200,-654127200,-639003600,-397090800,-386805600,-371084400,-355356e3,-334191600,-323301600,-307580400,-291852e3,-271292400,-260402400,-239842800,-228952800,-208393200,-197503200,-176338800,-166053600,228877200,244000800,260326800,276055200,291776400,307504800,323830800,338954400,354675600,370404e3,386125200,401853600,417574800,433303200,449024400,465357600,481078800,496807200,512528400,528256800,543978e3,559706400,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400], +offset:[5040,5040,3600,7200,3600,7200,3600,7200,7200,10800,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Istanbul":{time:[-2840140800,-1869868800,-1693699200,-168048e4,-1570406400,-1552176e3,-1538352e3,-1522540800,-1507507200,-1490572800,-1440201600,-1428019200,-1409702400,-1396483200,-931046400,-922665600,-917827200,-892425600,-875836800,-764726400,-744336e3,-733795200,-716428800,-701913600,-684979200,-670464e3,-654134400,-639014400,-62208e4,-60696e4,-590025600,-575510400,-235612800,-194832e3,-177724800,-165715200,107917200,121226400,133927200,152676e3,164685600,184125600,196221600,215575200,228880800,245815200,260330400,267926400,428464800,433908e3,468122400,482806800,496720800,512528400,528256800,543978e3,559706400,575427600,591156e3,606877200,622605600,638326800,65466e4,670381200,686109600,701830800,717559200,733280400,749008800,764125200,780458400,796179600,811908e3,828234e3,846381600,859683600,877831200,891133200,909280800,922582800,941335200,954032400,972784800,985482e3,1004234400,1017536400,1035684e3,1048986e3,1067133600,1080435600,1099188e3,1111885200,1130637600,1143334800,1162087200,1174791600,1193544e3,1206846e3,1224993600,1238295600,1256443200,1269745200,1288497600,1301281200,1319947200,1332644400,1351396800,1364698800,1382846400,1396234800,1414296e3,1427598e3,1446955200,1459047600,1473206400,1925002800],offset:[6952,7016,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,10800,14400,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,10800]},"Europe/Zurich":{ +time:[-3675196800,-2385244800,-904431600,-891122400,-872982e3,-859672800,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400],offset:[2048,1786,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Australia/Sydney":{time:[-2364076800,-1672524e3,-1665349200,-883605600,-876085200,-860364e3,-844635600,-828309600,-813186e3,57722400,68007600,89172e3,100062e3,120621600,131511600,152071200,162961200,183520800,195015600,215575200,226465200,247024800,257914800,278474400,289364400,309924e3,320814e3,341373600,352263600,372823200,386737200,404877600,415767600,436327200,447217200,467776800,478666800,499226400,511326e3,530071200,542775600,562125600,57483e4,59418e4,606279600,625629600,636519600,657079200,667969200,688528800,699418800,719978400,731473200,752032800,762922800,783482400,794372400,814932e3,828241200,846381600,859690800,877831200,891140400,909280800,92259e4,941335200,954039600,967341600,985489200,1004234400,1017543600,1035684e3,1048993200,1067133600,1080442800,1099188e3,1111892400,1130637600,1143946800,1162087200,1174791600,1193536800,1207450800,1223172e3,1238900400,1254621600,127035e4,1286071200,1301799600,1317520800,1333249200,1349575200,1365303600,1381024800,1396753200,1412474400,1428202800,1443924e3,1459652400,1475373600,1491102e3,1506823200,1522551600,1538877600,1554606e3,1570327200,1586055600,1601776800,1617505200,1633226400,1648954800,1664676e3,1680404400,1696125600,1712458800,172818e4,1743908400,1759629600,1775358e3,1791079200,1806807600,1822528800,1838257200,1853978400,1869706800,1886032800,1901761200,1917482400,1933210800], +offset:[36292,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600]},"Australia/Brisbane":{time:[-2366755200,-1672524e3,-1665349200,-883605600,-876085200,-860364e3,-844635600,-828309600,-813186e3,57722400,68007600,625629600,636519600,657079200,667969200,688528800,699418800,1925028e3],offset:[36728,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3]},"Australia/Adelaide":{time:[-2364076800,-2230156800,-1672524e3,-1665349200,-883605600,-876085200,-860364e3,-844635600,-828309600,-813186e3,57722400,68007600,89172e3,100062e3,120621600,131511600,152071200,162961200,183520800,195015600,215575200,226465200,247024800,257914800,278474400,289364400,309924e3,320814e3,341373600,352263600,372823200,384318e3,404877600,415767600,436327200,447217200,467776800,478666800,499226400,511326e3,530071200,542775600,562125600,57483e4,59418e4,606279600,625629600,637729200,657079200,667969200,688528800,701233200,719978400,731473200,752032800,764132400,783482400,796186800,814932e3,828241200,846381600,859690800,877831200,891140400,909280800,92259e4,941335200,954039600,972784800,985489200,1004234400,1017543600,1035684e3,1048993200,1067133600,1080442800,1099188e3,1111892400,1130637600,1143946800,1162087200,1174791600,1193536800,1207450800,1223172e3,1238900400,1254621600,127035e4,1286071200,1301799600,1317520800,1333249200,1349575200,1365303600,1381024800,1396753200,1412474400,1428202800,1443924e3,1459652400,1475373600,1491102e3,1506823200,1522551600,1538877600,1554606e3,1570327200,1586055600,1601776800,1617505200,1633226400,1648954800,1664676e3,1680404400,1696125600,1712458800,172818e4,1743908400,1759629600,1775358e3,1791079200,1806807600,1822528800,1838257200,1853978400,1869706800,1886032800,1901761200,1917482400,1933210800], +offset:[33260,32400,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800,34200,37800]},"Australia/ACT":{time:[-2364076800,-1672524e3,-1665349200,-883605600,-876085200,-860364e3,-844635600,-828309600,-813186e3,57722400,68007600,89172e3,100062e3,120621600,131511600,152071200,162961200,183520800,195015600,215575200,226465200,247024800,257914800,278474400,289364400,309924e3,320814e3,341373600,352263600,372823200,386737200,404877600,415767600,436327200,447217200,467776800,478666800,499226400,511326e3,530071200,542775600,562125600,57483e4,59418e4,606279600,625629600,636519600,657079200,667969200,688528800,699418800,719978400,731473200,752032800,762922800,783482400,794372400,814932e3,828241200,846381600,859690800,877831200,891140400,909280800,92259e4,941335200,954039600,967341600,985489200,1004234400,1017543600,1035684e3,1048993200,1067133600,1080442800,1099188e3,1111892400,1130637600,1143946800,1162087200,1174791600,1193536800,1207450800,1223172e3,1238900400,1254621600,127035e4,1286071200,1301799600,1317520800,1333249200,1349575200,1365303600,1381024800,1396753200,1412474400,1428202800,1443924e3,1459652400,1475373600,1491102e3,1506823200,1522551600,1538877600,1554606e3,1570327200,1586055600,1601776800,1617505200,1633226400,1648954800,1664676e3,1680404400,1696125600,1712458800,172818e4,1743908400,1759629600,1775358e3,1791079200,1806807600,1822528800,1838257200,1853978400,1869706800,1886032800,1901761200,1917482400,1933210800],offset:[36292,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600,36e3,39600]},"Asia/Almaty":{ +time:[-1441152e3,-1247529600,354931200,370742400,386467200,402278400,418003200,433814400,449625600,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,695786400,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1925013600],offset:[18468,18e3,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,21600,18e3,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600,25200,21600]},"Asia/Ashkhabad":{time:[-1441152e3,-1247529600,354931200,370742400,386467200,402278400,418003200,433814400,449625600,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,695786400,192501e4],offset:[14012,14400,18e3,21600,18e3,21600,18e3,21600,18e3,21600,18e3,21600,18e3,21600,18e3,21600,18e3,21600,18e3,21600,18e3,21600,18e3,18e3,14400,18e3]},"Asia/Tokyo":{time:[-2587678861,-683769600,-672274800,-654739200,-640825200,-620265600,-609375600,-588816e3,-577926e3,1925024400],offset:[33539,32400,36e3,32400,36e3,32400,36e3,32400,36e3,32400]},"Asia/Taipei":{time:[-2335219200,-1017792e3,-766191600,-745804800,-733795200,-716860800,-699580800,-683856e3,-670636800,-65232e4,-639100800,-620784e3,-607564800,-589248e3,-576028800,-562896e3,-541728e3,-528681600,-510192e3,-497145600,-478656e3,-465609600,-449798400,-433987200,-418176e3,-402451200,-38664e4,-370915200,-355104e3,-339379200,-323568e3,-302486400,-291945600,-270950400,-260409600,134006400,149817600,165542400,181353600,299635200,307584e3,1925020800],offset:[29160,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800]},"Asia/Singapore":{time:[-2177452800,-2038176e3,-1167609600,-1073001600,-894153600,-879638400,-766972800,378691200,1925020800],offset:[24925,24925,25200,26400,26400,27e3,32400,27e3,28800]},"Asia/Karachi":{time:[-1988150400,-862617600,-764121600,-576115200,38793600,1018137600,1033862400,1212278400,1225497600,1239753600,1257033600,192501e4],offset:[16092,19800,23400,19800,18e3,18e3,21600,18e3,21600,18e3,21600,18e3]},"Asia/Manila":{time:[-3944678400,-2229292800,-1046649600,-1038700800,-873244800,-794188800,-496195200,-489283200,259372800,275184e3,1925020800],offset:[-57360,29040,28800,32400,28800,32400,28800,32400,28800,32400,28800]},"Asia/Shanghai":{ +time:[-2177452800,-1600646400,-1585872e3,-933638400,-922060800,-908841600,-888796800,-881020800,-767836800,-745804800,-733795200,-716860800,-699580800,-683856e3,-670636800,-65232e4,-649987200,515556e3,527047200,545191200,558496800,577245600,589946400,608695200,622000800,640144800,653450400,671594400,6849e5,1925020800],offset:[29143,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800]},"Asia/Seoul":{time:[-1948752e3,-1830384e3,-767318400,-681177600,-672192e3,-654739200,-640828800,-623376e3,-609379200,-588816e3,-577929600,-498096e3,-462672e3,-451699200,-429753600,-418262400,-399513600,-387417600,-368064e3,-355968e3,-336614400,-324518400,-305164800,-293068800,-264902400,547610400,560919600,57906e4,592369200,1925024400],offset:[30472,30600,32400,32400,36e3,32400,36e3,32400,36e3,32400,36e3,32400,30600,34200,30600,34200,30600,34200,30600,34200,30600,34200,30600,34200,30600,32400,36e3,32400,36e3,32400]},"Asia/Tehran":{time:[-1704153600,-757382400,247190400,259286400,277776e3,283996800,290822400,306547200,322444800,338515200,673228800,685497600,701222400,71712e4,732758400,748656e3,764294400,780192e3,795830400,811728e3,827366400,843264e3,858988800,874886400,890524800,906422400,922060800,937958400,953596800,969494400,985219200,1001116800,1016755200,1032652800,1048291200,1064188800,1079827200,1095724800,1111449600,1127347200,1206057600,1221955200,123768e4,1253577600,1269216e3,1285113600,1300752e3,1316649600,1332288e3,1348185600,1363910400,1379808e3,1395446400,1411344e3,1426982400,144288e4,1458518400,1474416e3,1490140800,1506038400,1521676800,1537574400,1553212800,1569110400,1584748800,1600646400,1616371200,1632268800,1647907200,1663804800,1679443200,1695340800,1710979200,1726876800,1742601600,1758499200,1774137600,1790035200,1805673600,1821571200,1837209600,1853107200,1868745600,1884643200,1900368e3,1916265600,1931904e3],offset:[12344,12344,12600,14400,18e3,14400,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600,16200,12600]},"Asia/Dubai":{time:[-1577923200,1925006400],offset:[13272,14400]},"Asia/Kolkata":{time:[-3645216e3,-3155673600,-2019686400,-891561600,-872035200,-862617600,-764121600,1925011800],offset:[21208,21200,19270,19800,23400,19800,23400,19800]},"Asia/Hong_Kong":{ +time:[-2056663398,-900882e3,-891547200,-884217600,-761176800,-747878400,-728508600,-717021e3,-697059e3,-683757e3,-668028600,-654726600,-636579e3,-623277e3,-605129400,-591827400,-573679800,-559773e3,-541625400,-528323400,-510179400,-498083400,-478729800,-466633800,-446675400,-435184200,-415225800,-403129800,-383776200,-371680200,-352326600,-340230600,-320877e3,-308781e3,-288822600,-277331400,-257373e3,-245881800,-225923400,-213827400,-194473800,-182377800,-163024200,-148509e3,-132784200,-117059400,-101334600,-85609800,-69280200,-53555400,-37830600,-22105800,-6381e3,9343800,25068600,40793400,56518200,72243e3,88572600,104297400,120022200,126070200,151471800,167196600,182921400,198646200,214371e3,295414200,309324600,1925020800],offset:[27402,28800,32400,30600,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800]},"Asia/Bangkok":{time:[-2840140800,-1570060800,1925017200],offset:[24124,24124,25200]},"Asia/Chongqing":{time:[-2177452800,-1600646400,-1585872e3,-933638400,-922060800,-908841600,-888796800,-881020800,-767836800,-745804800,-733795200,-716860800,-699580800,-683856e3,-670636800,-65232e4,-649987200,515556e3,527047200,545191200,558496800,577245600,589946400,608695200,622000800,640144800,653450400,671594400,6849e5,1925020800],offset:[29143,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800]},"Asia/Jerusalem":{ +time:[-2840140800,-1640995200,-933631200,-923086800,-919029600,-857336400,-844293600,-825800400,-812671200,-794178e3,-779839200,-762642e3,-748303200,-731106e3,-681948e3,-673214400,-667947600,-652312800,-636411600,-622072800,-608936400,-591832800,-572475600,-558568800,-542840400,-527724e3,-514414800,-490831200,-482965200,-459381600,-451515600,-428536800,-418251600,-400111200,-387406800,142387200,150854400,167184e3,178675200,334108800,337741200,452649600,46233e4,482284800,494380800,516758400,526435200,545443200,558489600,576633600,589334400,609897600,620784e3,638323200,651628800,669772800,683683200,701827200,715737600,733708800,747187200,765158400,778032e3,796608e3,810086400,826848e3,842832e3,858902400,874195200,890352e3,90504e4,923018400,936324e3,955677600,970794e3,986778e3,1001293200,1017363600,1033952400,1048813200,1065142800,1081299600,1095814800,1112320800,1128823200,1143770400,1159668e3,117522e4,1189908e3,1206669600,1223172e3,1238119200,1254016800,1269568800,1284256800,1301623200,1317520800,1333072800,1348365600,1364522400,1382839200,1395972e3,1414288800,1427421600,1445738400,1458871200,1477792800,1490320800,1509242400,1521770400,1540692e3,1553824800,1572141600,1585274400,1603591200,1616724e3,1635645600,1648173600,1667095200,1679623200,1698544800,1711677600,1729994400,1743127200,1761444e3,1774576800,1792893600,1806026400,1824948e3,1837476e3,1856397600,1868925600,1887847200,190098e4,1919296800,1932429600],offset:[8454,8440,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,14400,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200]},"Asia/Kuwait":{time:[-719625600,1925002800],offset:[11212,10800]},"Asia/Muscat":{time:[-1577923200,1925006400],offset:[13272,14400]},"Asia/Qatar":{time:[-1577923200,76204800,1925002800],offset:[12368,14400,10800]},"Asia/Riyadh":{time:[-719625600,1925002800],offset:[11212,10800]},"Pacific/Auckland":{ +time:[-3192393600,-1330293600,-1320012e3,-1300658400,-1287352800,-1269208800,-1255903200,-1237759200,-1224453600,-1206309600,-1192399200,-117486e4,-1160949600,-1143410400,-1125871200,-1112565600,-1094421600,-1081116e3,-1062972e3,-1049666400,-1031522400,-1018216800,-1000072800,-986767200,-968018400,-955317600,-936568800,-923263200,-757382400,152676e3,162356400,183520800,195015600,215575200,226465200,247024800,257914800,278474400,289364400,309924e3,320814e3,341373600,352263600,372823200,384318e3,404877600,415767600,436327200,447217200,467776800,478666800,499226400,510116400,530676e3,541566e3,562125600,573620400,59418e4,60507e4,623815200,637729200,655264800,669178800,686714400,700628400,718164e3,732682800,749613600,764132400,781063200,795582e3,812512800,827031600,844567200,858481200,876016800,889930800,907466400,921985200,938916e3,953434800,970365600,984884400,100242e4,1016334e3,1033869600,1047783600,1065319200,1079838e3,1096768800,1111287600,1128218400,1142737200,1159668e3,1174186800,1191117600,1207450800,1222567200,1238900400,1254016800,127035e4,1285466400,1301799600,1316916e3,1333249200,1348970400,1365303600,138042e4,1396753200,1411869600,1428202800,1443319200,1459652400,1474768800,1491102e3,1506218400,1522551600,1538272800,1554606e3,1569722400,1586055600,1601172e3,1617505200,1632621600,1648954800,1664071200,1680404400,1695520800,1712458800,1727575200,1743908400,1759024800,1775358e3,1790474400,1806807600,1821924e3,1838257200,1853373600,1869706800,1885428e3,1901761200,1916877600,1933210800],offset:[41944,41400,45e3,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,41400,43200,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800,43200,46800]},"Pacific/Chatham":{ +time:[-3192393600,-757382400,152678700,162359100,183523500,195018300,215577900,226467900,247027500,257917500,278477100,289367100,309926700,320816700,341376300,352266300,372825900,384320700,404880300,415770300,436329900,447219900,467779500,478669500,499229100,510119100,530678700,541568700,562128300,573623100,594182700,605072700,623817900,637731900,655267500,669181500,686717100,700631100,718166700,732685500,749616300,764135100,781065900,795584700,812515500,827034300,844569900,858483900,876019500,889933500,907469100,921987900,938918700,953437500,970368300,984887100,1002422700,1016336700,1033872300,1047786300,1065321900,1079840700,1096771500,1111290300,1128221100,1142739900,1159670700,1174189500,1191120300,1207453500,1222569900,1238903100,1254019500,1270352700,1285469100,1301802300,1316918700,1333251900,1348973100,1365306300,1380422700,1396755900,1411872300,1428205500,1443321900,1459655100,1474771500,1491104700,1506221100,1522554300,1538275500,1554608700,1569725100,1586058300,1601174700,1617507900,1632624300,1648957500,1664073900,1680407100,1695523500,1712461500,1727577900,1743911100,1759027500,1775360700,1790477100,1806810300,1821926700,1838259900,1853376300,1869709500,1885430700,1901763900,1916880300,1933213500],offset:[44028,44100,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500,45900,49500]},"Pacific/Fakaofo":{time:[-2177452800,1325203200,1925038800],offset:[-41096,-39600,46800]},"Pacific/Honolulu":{time:[-2334139200,-1157320800,-1155470400,-880236e3,-769429800,-765410400,-712188e3,1924956e3],offset:[-37886,-37800,-34200,-37800,-34200,-34200,-37800,-36e3]},"America/Mexico_City":{ +time:[-1514763396,-1343091600,-1234828800,-1220317200,-1207180800,-1191369600,-975283200,-963187200,-917136e3,-907372800,-821923200,-810086400,-627523200,-613008e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,989114400,1001815200,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1175392800,1193536800,1207447200,1224986400,1238896800,1256436e3,1270346400,1288490400,1301796e3,131994e4,1333245600,1351389600,13653e5,1382839200,1396749600,1414288800,1428199200,1445738400,1459648800,1477792800,1491098400,1509242400,1522548e3,1540692e3,1554602400,1572141600,1586052e3,1603591200,1617501600,1635645600,1648951200,1667095200,1680400800,1698544800,1712455200,1729994400,1743904800,1761444e3,1775354400,1792893600,1806804e3,1824948e3,1838253600,1856397600,1869703200,1887847200,1901757600,1919296800,1933207200],offset:[-23796,-25200,-21600,-25200,-21600,-25200,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600,-18e3,-21600]},"Africa/Cairo":{time:[-2185401600,-929836800,-923097600,-906163200,-892857600,-875836800,-857779200,-844300800,-825811200,-812678400,-794188800,-779846400,-762652800,-399081600,-38664e4,-368323200,-355104e3,-336783600,-323643600,-305161200,-292021200,-273625200,-260485200,-242089200,-228949200,-210553200,-197413200,-178930800,-165790800,-147394800,-134254800,-115858800,-102632400,-84322800,-71096400,-52700400,-39474e3,-21164400,-7938e3,10371600,23598e3,41907600,55134e3,7353e4,86756400,105066e3,118292400,136602e3,149828400,168138e3,181364400,199760400,212986800,231296400,244522800,262832400,276058800,294368400,307594800,325990800,339217200,357526800,370753200,396406800,402289200,426819600,433825200,452221200,465447600,483757200,496983600,515293200,528519600,546829200,560055600,578451600,591678e3,610419600,623214e3,641523600,65475e4,673059600,686286e3,704682e3,717908400,736218e3,749444400,767754e3,780980400,799027200,812332800,830476800,843782400,861926400,875232e3,893376e3,906681600,925430400,938736e3,95688e4,970185600,988329600,1001635200,1019779200,1033084800,1051228800,1064534400,1083283200,1096588800,1114732800,1128038400,1146182400,1158883200,1177632e3,1189123200,1209081600,1219968e3,1240531200,1250812800,1272585600,1281484800,1284076800,1285891200,1400198400,1403827200,1406851200,1411689600,1924999200], +offset:[7509,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200]},"Africa/Johannesburg":{time:[-2458166400,-2109283200,-860968800,-845244e3,-829519200,-813794400,1924999200],offset:[6720,5400,7200,10800,7200,10800,7200]},"Asia/Kathmandu":{time:[-1577923200,504921600,1925012700],offset:[20476,19800,20700]},"US/Mountain":{time:[-2717668796,-1633298400,-1615154400,-1601848800,-1583704800,-1570399200,-1551650400,-1538949600,-1534111200,-880236e3,-769417200,-765410400,-147909600,-13158e4,-11646e4,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3], +offset:[-25196,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200,-21600,-25200]},"Europe/Helsinki":{time:[-2890252800,-1535932800,-875664e3,-859762800,354679200,370407600,386128800,401857200,417582e3,433310400,449031600,465364800,481086e3,496814400,512535600,528264e3,543985200,559713600,575434800,591163200,606884400,622612800,638334e3,654667200,670388400,686116800,701838e3,717566400,733287600,749016e3,764737200,780465600,796186800,811915200,828241200,846388800,859690800,877838400,891140400,909288e3,92259e4,941342400,954039600,972792e3,985489200,1004241600,1017543600,1035691200,1048993200,1067140800,1080442800,1099195200,1111892400,1130644800,1143342e3,1162094400,1174791600,1193544e3,1206846e3,1224993600,1238295600,1256443200,1269745200,1288497600,1301194800,1319947200,1332644400,1351396800,1364698800,1382846400,1396148400,1414296e3,1427598e3,1445745600,1459047600,14778e5,1490497200,1509249600,1521946800,1540699200,1554001200,1572148800,1585450800,1603598400,1616900400,1635652800,164835e4,1667102400,1679799600,1698552e3,1711854e3,1730001600,1743303600,1761451200,1774753200,1792900800,1806202800,1824955200,1837652400,1856404800,1869102e3,1887854400,1901156400,1919304e3,1932606e3],offset:[5989,5989,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200]},"Europe/Stockholm":{ +time:[-2871676800,-2208988800,-1692493200,-1680476400,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400],offset:[4332,3614,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Copenhagen":{time:[-2524521600,-2398291200,-1692493200,-1680483600,-935107200,-85725e4,-844552800,-828219600,-812498400,-79677e4,-781048800,-769381200,-747007200,-736376400,-715212e3,-706741200,-683157600,-675291600,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400], +offset:[3020,3020,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Atlantic/Reykjavik":{time:[-1956614400,-1668214800,-1647212400,-1636678800,-161343e4,-1605142800,-1581894e3,-1539565200,-153135e4,-968029200,-952293600,-942012e3,-920239200,-909961200,-888789600,-877906800,-857944800,-846457200,-826495200,-815007600,-795045600,-783558e3,-762991200,-752108400,-731541600,-717634800,-700092e3,-686185200,-668642400,-654735600,-636588e3,-623286e3,-605743200,-591836400,-573688800,-559782e3,-542239200,-528332400,-510789600,-496882800,-47934e4,-465433200,-447890400,-433983600,-415836e3,-401929200,-384386400,-370479600,-352936800,-33903e4,-321487200,-307580400,-290037600,-276130800,-258588e3,-244681200,-226533600,-212626800,-195084e3,-181177200,-163634400,-149727600,-132184800,-118278e3,-100735200,-86828400,-68680800,-54774e3,1924992e3],offset:[-5280,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0,-3600,0]},"Europe/Tallinn":{time:[-2840140800,-1638316800,-1632002400,-1618693200,-1593820800,-1535932800,-927936e3,-892944e3,-85725e4,-844552800,-828219600,-812498400,-797644800,354931200,370742400,386467200,402278400,418003200,433814400,449625600,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909288e3,92259e4,941342400,1017543600,1035691200,1048993200,1067140800,1080442800,1099195200,1111892400,1130644800,1143342e3,1162094400,1174791600,1193544e3,1206846e3,1224993600,1238295600,1256443200,1269745200,1288497600,1301194800,1319947200,1332644400,1351396800,1364698800,1382846400,1396148400,1414296e3,1427598e3,1445745600,1459047600,14778e5,1490497200,1509249600,1521946800,1540699200,1554001200,1572148800,1585450800,1603598400,1616900400,1635652800,164835e4,1667102400,1679799600,1698552e3,1711854e3,1730001600,1743303600,1761451200,1774753200,1792900800,1806202800,1824955200,1837652400,1856404800,1869102e3,1887854400,1901156400,1919304e3,1932606e3], +offset:[5940,5940,3600,7200,3600,5940,7200,10800,7200,3600,7200,3600,7200,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200]},"Europe/Riga":{time:[-2840140800,-1632002400,-1618693200,-1601676e3,-1597266e3,-1377302400,-928022400,-899510400,-85725e4,-844552800,-828219600,-812498400,-79677e4,-795830400,354931200,370742400,386467200,402278400,418003200,433814400,449625600,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,843966e3,859690800,877838400,891140400,909288e3,92259e4,941342400,985489200,1004241600,1017543600,1035691200,1048993200,1067140800,1080442800,1099195200,1111892400,1130644800,1143342e3,1162094400,1174791600,1193544e3,1206846e3,1224993600,1238295600,1256443200,1269745200,1288497600,1301194800,1319947200,1332644400,1351396800,1364698800,1382846400,1396148400,1414296e3,1427598e3,1445745600,1459047600,14778e5,1490497200,1509249600,1521946800,1540699200,1554001200,1572148800,1585450800,1603598400,1616900400,1635652800,164835e4,1667102400,1679799600,1698552e3,1711854e3,1730001600,1743303600,1761451200,1774753200,1792900800,1806202800,1824955200,1837652400,1856404800,1869102e3,1887854400,1901156400,1919304e3,1932606e3],offset:[5794,5794,9394,5794,9394,5794,7200,10800,7200,3600,7200,3600,7200,3600,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200]},"Europe/Vilnius":{ +time:[-2840140800,-1672531200,-1585094400,-1561248e3,-1553558400,-928195200,-900115200,-85725e4,-844552800,-828219600,-812498400,-802137600,354931200,370742400,386467200,402278400,418003200,433814400,449625600,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891140400,909284400,922586400,941338800,1048993200,1067140800,1080442800,1099195200,1111892400,1130644800,1143342e3,1162094400,1174791600,1193544e3,1206846e3,1224993600,1238295600,1256443200,1269745200,1288497600,1301194800,1319947200,1332644400,1351396800,1364698800,1382846400,1396148400,1414296e3,1427598e3,1445745600,1459047600,14778e5,1490497200,1509249600,1521946800,1540699200,1554001200,1572148800,1585450800,1603598400,1616900400,1635652800,164835e4,1667102400,1679799600,1698552e3,1711854e3,1730001600,1743303600,1761451200,1774753200,1792900800,1806202800,1824955200,1837652400,1856404800,1869102e3,1887854400,1901156400,1919304e3,1932606e3],offset:[6076,5040,5736,3600,7200,3600,10800,7200,3600,7200,3600,7200,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,14400,10800,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,7200,3600,7200,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200,10800,7200]},"America/Lima":{time:[-2524521600,-1938556800,-1009843200,-1002067200,-986774400,-971049600,-955324800,-9396e5,504921600,512697600,536457600,544233600,631152e3,638928e3,757382400,765158400,1924974e3],offset:[-18492,-18516,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3]},"America/Santiago":{ +time:[-2524521600,-1892678400,-1688428800,-1619222400,-1593820800,-1336003200,-13176e5,-1304380800,-1286064e3,-1272844800,-1254528e3,-1241308800,-1222992e3,-1209772800,-1191369600,-1178150400,-870566400,-865296e3,-740534400,-736387200,-718070400,-713667600,-36633600,-23932800,-3369600,7516800,24451200,37756800,55900800,69206400,87955200,100656e3,118195200,132105600,150854400,163555200,182304e3,195609600,213753600,227059200,245203200,258508800,277257600,289958400,308707200,321408e3,340156800,353462400,371606400,384912e3,403056e3,416361600,434505600,447811200,46656e4,479260800,498009600,510710400,529459200,545184e3,560908800,574214400,592358400,605664e3,624412800,637113600,653443200,668563200,687312e3,700617600,718761600,732067200,750211200,763516800,781660800,794966400,813715200,826416e3,845164800,85968e4,876614400,88992e4,906854400,923184e3,939513600,952819200,971568e3,984268800,1003017600,1015718400,1034467200,1047168e3,1065916800,1079222400,1097366400,1110672e3,1128816e3,1142121600,1160870400,1173571200,119232e4,1206835200,1223769600,1237075200,1255219200,1270339200,1286668800,1304812800,1313884800,1335657600,1346544e3,1367107200,1378598400,1398556800,1410048e3,1463270400,1471132800,149472e4,1502582400,1526169600,1534032e3,1554595200,1567900800,1586044800,1599350400,1617494400,16308e5,1648944e3,1662249600,1680393600,1693699200,1712448e3,1725753600,1743897600,1757203200,1775347200,1788652800,1806796800,1820102400,1838246400,1851552e3,1870300800,1883001600,1901750400,1915056e3,19332e5],offset:[-16966,-16966,-18e3,-16966,-14400,-16966,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-10800,-14400,-18e3,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800,-14400,-10800]},"Asia/Bahrain":{time:[-1577923200,76204800,1925002800],offset:[12368,14400,10800]},"Asia/Jakarta":{time:[-3231273600,-1451693568,-117288e4,-876614400,-766022400,-683856e3,-620784e3,-189388800,1925017200],offset:[25632,25632,26400,27e3,32400,27e3,28800,27e3,25200]},"Africa/Lagos":{time:[-2035584e3,-1940889600,-1767225600,-1588464e3,1924995600],offset:[815,0,815,1800,3600]},"Pacific/Norfolk":{ +time:[-2177452800,-599616e3,152071200,162961200,1443924e3,1570327200,1586055600,1601776800,1617505200,1633226400,1648954800,1664676e3,1680404400,1696125600,1712458800,172818e4,1743908400,1759629600,1775358e3,1791079200,1806807600,1822528800,1838257200,1853978400,1869706800,1886032800,1901761200,1917482400,1933210800],offset:[40312,40320,41400,45e3,41400,39600,43200,39600,43200,39600,43200,39600,43200,39600,43200,39600,43200,39600,43200,39600,43200,39600,43200,39600,43200,39600,43200,39600,43200]},"America/Juneau":{time:[-3225169588,-2188987200,-880236e3,-769420800,-765410400,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,438998400,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3],offset:[54139,-32261,-28800,-25200,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-28800,-28800,-25200,-28800,-25200,-28800,-25200,-32400,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400,-28800,-32400]},"Asia/Ho_Chi_Minh":{time:[-2004048e3,-1851552e3,-852080400,-782614800,-767836800,-718070400,-457747200,-315622800,171849600,1925017200],offset:[25600,25590,25200,28800,32400,25200,28800,25200,28800,25200]},"Australia/Perth":{ +time:[-2337897600,-1672524e3,-1665349200,-883605600,-876085200,-860364e3,-844635600,152071200,162961200,436327200,447217200,690343200,699418800,1165111200,1174791600,1193536800,1206846e3,1224986400,1238295600,1925020800],offset:[27804,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800,32400,28800]},"Europe/Malta":{time:[-2403475200,-1690761600,-168048e4,-1664755200,-1648944e3,-163512e4,-1616889600,-1604275200,-1585526400,-1571011200,-1555286400,-932428800,-85725e4,-844552800,-828219600,-812584800,-798066e3,-781048800,-76671e4,-750895200,-733352400,-719452800,-70191e4,-689205600,-670453200,-114048e3,-103161600,-81993600,-71708400,-50544e3,-40258800,-18489600,-8204400,1296e4,23245200,43804800,54694800,75859200,86749200,102384e3,118112400,135734400,148525200,167191200,180496800,198640800,211946400,230090400,243396e3,26154e4,274845600,292989600,306295200,323316e3,338349600,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400],offset:[3484,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Amsterdam":{ +time:[-4260211200,-1693699200,-168048e4,-1663452e3,-1650142800,-1633212e3,-1617483600,-1601157600,-1586034e3,-1569708e3,-1554584400,-1538258400,-1523134800,-15075e5,-1490562e3,-1470175200,-1459112400,-1443996e3,-1427662800,-1406671200,-1396213200,-1376949600,-1364763600,-1345413600,-1333314e3,-1313791200,-1301259600,-1282255200,-126981e4,-1250719200,-1238360400,-1219183200,-1206910800,-1186956e3,-1175461200,-1156024800,-1143406800,-1124488800,-1111957200,-1092952800,-1080507600,-1061330400,-1049058e3,-1029189600,-1025740800,-1017608400,-998258400,-986158800,-966722400,-954104400,-935020800,-85725e4,-844552800,-828219600,-812498400,-79677e4,-781048800,-766616400,228880800,244004400,260330400,276058800,29178e4,307508400,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400],offset:[1172,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,1172,4772,4800,1200,4800,1200,4800,1200,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Brussels":{ +time:[-2840140800,-2450994150,-1740355200,-1693699200,-1680476400,-1663452e3,-1650142800,-1632002400,-1618693200,-1613822400,-1604278800,-1585526400,-1574038800,-1552262400,-1539997200,-1520553600,-1507510800,-1490572800,-1473642e3,-1459123200,-1444006800,-1427673600,-1411952400,-1396224e3,-1379293200,-1364774400,-1348448400,-1333324800,-1316394e3,-1301259600,-1284328800,-126981e4,-1253484e3,-1238360400,-1221429600,-1206910800,-1191189600,-1175461200,-1160344800,-1143406800,-1127685600,-1111957200,-1096840800,-1080507600,-1063576800,-1049058e3,-1033336800,-1017608400,-1002492e3,-986158800,-969228e3,-950475600,-942012e3,-934664400,-85725e4,-844552800,-828219600,-812498400,-798066e3,-781048800,-766616400,-745452e3,-733266e3,228880800,244004400,260330400,276058800,29178e4,307508400,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400],offset:[1050,1050,0,3600,7200,3600,7200,3600,7200,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]},"Europe/Lisbon":{ +time:[-1830386205,-1689555600,-1677798e3,-1667437200,-1647734400,-1635814800,-1616198400,-1604365200,-1584662400,-1572742800,-155304e4,-1541206800,-1521504e3,-1442451600,-1426809600,-1379293200,-1364774400,-1348448400,-1333324800,-1316394e3,-1301270400,-1284339600,-1269820800,-1221440400,-1206921600,-1191200400,-1175472e3,-1127696400,-1111968e3,-1096851600,-1080518400,-1063587600,-1049068800,-1033347600,-1017619200,-1002502800,-986169600,-969238800,-950486400,-942022800,-922665600,-906944400,-891129600,-877309200,-873680400,-864e6,-857952e3,-845859600,-842835600,-831340800,-825897600,-81441e4,-810781200,-799891200,-794448e3,-782960400,-779331600,-768441600,-762998400,-749091600,-733363200,-717631200,-701902800,-686181600,-670453200,-654732e3,-639003600,-623282400,-607554e3,-591832800,-575499600,-559778400,-54405e4,-528328800,-512600400,-496879200,-481150800,-465429600,-449701200,-43398e4,-417646800,-401925600,-386197200,-370476e3,-354747600,-339026400,-323298e3,-307576800,-291848400,-276127200,-260398800,-244677600,-228344400,-212623200,-196894800,-181173600,-165445200,-149724e3,-133995600,-118274400,212547600,228268800,243997200,260323200,276051600,291772800,307504800,323222400,338954400,354675600,370404e3,386125200,401853600,417578400,433303200,449024400,465357600,481078800,496807200,512528400,528256800,543978e3,559706400,575427600,591156e3,606877200,622605600,638326800,65466e4,670381200,686109600,701830800,717559200,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846381600,859683600,877831200,891133200,909280800,922582800,941335200,954032400,972784800,985482e3,1004234400,1017536400,1035684e3,1048986e3,1067133600,1080435600,1099188e3,1111885200,1130637600,1143334800,1162087200,1174784400,1193536800,1206838800,1224986400,1238288400,1256436e3,1269738e3,1288490400,1301187600,131994e4,1332637200,1351389600,1364691600,1382839200,1396141200,1414288800,1427590800,1445738400,1459040400,1477792800,149049e4,1509242400,1521939600,1540692e3,1553994e3,1572141600,1585443600,1603591200,1616893200,1635645600,1648342800,1667095200,1679792400,1698544800,1711846800,1729994400,1743296400,1761444e3,1774746e3,1792893600,1806195600,1824948e3,1837645200,1856397600,1869094800,1887847200,1901149200,1919296800,1932598800],offset:[-2205,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,7200,3600,0,3600,7200,3600,0,3600,7200,3600,0,3600,7200,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,3600,7200,3600,7200,3600,7200,3600,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0]},"Europe/Dublin":{ +time:[-2821651200,-1691964e3,-1680469200,-1664143200,-1650142800,-1633903200,-1617483600,-1601848800,-1586034e3,-1570399200,-1552165200,-1538344800,-152253e4,-15075e5,-1490562e3,-1473631200,-1460926800,-1442786400,-1428872400,-1410732e3,-1396213200,-1379282400,-1364763600,-1348437600,-1333314e3,-1315778400,-1301259600,-1284328800,-126981e4,-1253484e3,-1238360400,-1221429600,-1206910800,-118998e4,-1175461200,-1159135200,-1143406800,-1126476e3,-1111957200,-1095631200,-1080507600,-1063576800,-1049058e3,-1032127200,-1017608400,-1001282400,-986158800,-969228e3,-950475600,-942012e3,-733352400,-719445600,-699483600,-684972e3,-668034e3,-654732e3,-636584400,-622072800,-605739600,-590623200,-57429e4,-558568800,-542235600,-527119200,-512600400,-496274400,-481150800,-46422e4,-449701200,-432165600,-417646800,-401320800,-386197200,-369266400,-354747600,-337816800,-323298e3,-306972e3,-291848400,-276732e3,-257979600,-245282400,-22653e4,-213228e3,-195080400,-182383200,-163630800,-150933600,-132181200,-119484e3,-100731600,-88034400,-68677200,-59004e3,57726e3,69818400,89175600,101268e3,120625200,132717600,152074800,164167200,183524400,196221600,214974e3,227671200,246423600,259120800,278478e3,290570400,309927600,32202e4,341377200,354675600,372823200,386125200,404272800,417574800,435722400,449024400,467776800,481078800,499226400,512528400,530676e3,543978e3,562125600,575427600,593575200,606877200,625629600,638326800,657079200,670381200,688528800,701830800,719978400,733280400,751428e3,76473e4,782877600,796179600,814327200,828234e3,846381600,859683600,877831200,891133200,909280800,922582800,941335200,954032400,972784800,985482e3,1004234400,1017536400,1035684e3,1048986e3,1067133600,1080435600,1099188e3,1111885200,1130637600,1143334800,1162087200,1174784400,1193536800,1206838800,1224986400,1238288400,1256436e3,1269738e3,1288490400,1301187600,131994e4,1332637200,1351389600,1364691600,1382839200,1396141200,1414288800,1427590800,1445738400,1459040400,1477792800,149049e4,1509242400,1521939600,1540692e3,1553994e3,1572141600,1585443600,1603591200,1616893200,1635645600,1648342800,1667095200,1679792400,1698544800,1711846800,1729994400,1743296400,1761444e3,1774746e3,1792893600,1806195600,1824948e3,1837645200,1856397600,1869094800,1887847200,1901149200,1919296800,1932598800],offset:[-1500,-1521,2079,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0,3600,0]},"Europe/Oslo":{ +time:[-2366755200,-1691881200,-1680566400,-927507600,-85725e4,-844552800,-828219600,-812498400,-79677e4,-781048800,-765320400,-340840800,-324507600,-308786400,-293058e3,-277336800,-261608400,-245887200,-230158800,-214437600,-198709200,-182988e3,-166654800,-147909600,-135205200,323834400,338958e3,354679200,370407600,386128800,401857200,417578400,433306800,449028e3,465361200,481082400,496810800,512532e3,528260400,543981600,55971e4,575431200,591159600,606880800,622609200,638330400,654663600,670384800,686113200,701834400,717562800,733284e3,749012400,764733600,780462e3,796183200,811911600,828237600,846385200,859687200,877834800,891136800,909284400,922586400,941338800,954036e3,972788400,985485600,1004238e3,101754e4,1035687600,1048989600,1067137200,1080439200,1099191600,1111888800,1130641200,1143338400,1162090800,1174788e3,1193540400,1206842400,122499e4,1238292e3,1256439600,1269741600,1288494e3,1301191200,1319943600,1332640800,1351393200,1364695200,1382842800,1396144800,1414292400,1427594400,1445742e3,1459044e3,1477796400,1490493600,1509246e3,1521943200,1540695600,1553997600,1572145200,1585447200,1603594800,1616896800,1635649200,1648346400,1667098800,1679796e3,1698548400,1711850400,1729998e3,17433e5,1761447600,1774749600,1792897200,1806199200,1824951600,1837648800,1856401200,1869098400,1887850800,1901152800,1919300400,1932602400],offset:[2580,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600,7200,3600]}}},36054:(e,t,i)=>{"use strict";i.d(t,{Version:()=>r});var s=i(16282);class r{constructor(e,t){this._major=e,this._minor=t}major(){return this._major}minor(){return this._minor}isZero(){return 0===this._major&&0===this._minor}toString(){return this._major+"."+this._minor}compareTo(e){return this._majore._major?1:this._minore._minor?1:0}isLess(e){return this.compareTo(e)<0}isLessOrEqual(e){return this.compareTo(e)<=0}isEqual(e){return 0===this.compareTo(e)}isGreater(e){return this.compareTo(e)>0}isGreaterOrEqual(e){return this.compareTo(e)>=0}static parse(e){if(e instanceof r)return new r(e.major(),e.minor());if("number"==typeof e)return(0,s.assert)(Math.floor(e)===e,"Version should not be a float number"),new r(e,0);if("string"==typeof e){const t=e.split(".");if(1===t.length){const i=parseInt(t[0],10);return(0,s.assert)(!isNaN(i),"Bad version string: "+e),new r(i,0)}if(2===t.length){const i=parseInt(t[0],10);(0,s.assert)(!isNaN(i),"Bad version string: "+e);const n=parseInt(t[1],10);return(0, +s.assert)(!isNaN(n),"Bad version string: "+e),new r(i,n)}throw new Error("Bad version string (one dot expected): "+e)}throw new Error("Bad version: "+e)}}r.ZERO=new r(0,0)},78556:(e,t,i)=>{"use strict";i.d(t,{WatchedObject:()=>a});var s=i(32856),r=i.n(s),n=i(47903);function o(e,t){return(0,n.deepEquals)(e,t)[0]}class a extends(r()){constructor(e,t=o){super(e),this._comparator=t}setValue(e,t){!1===this._comparator(this.value(),e)&&super.setValue(e,t)}}},32856:(e,t,i)=>{"use strict";e=i.nmd(e);var s=i(65447).getLogger("Common.WatchedValue");function r(){}function n(e){if(!(this instanceof n))return new n(e);arguments.length>0&&(this._value=e),this._listeners=[]}n.prototype.value=function(){return this._owner?this._owner._value:this._value},n.prototype.setValue=function(e,t){var i=this._owner?this._owner:this;if("function"==typeof i.hook&&(e=i.hook(e)),i.writeLock)return i._value;var r=i._value===e||Number.isNaN(i._value)&&Number.isNaN(e);if(!t&&r&&i.hasOwnProperty("_value"))return e;i._value=e;for(var n=i._listeners.slice(),o=0,a=0;a{"use strict";i.d(t,{TOOLBAR_WIDTH_EXPANDED:()=>s,TOOLBAR_WIDTH_COLLAPSED:()=>r});const s=52,r=5},1940:(e,t,i)=>{"use strict";i.d(t,{DrawingToolbarBootloader:()=>a});var s=i(90096),r=i(31911),n=i(26134),o=i(6369);class a extends n.ChunkLoader{constructor(e){super(),this._opts=e,s.isDrawingToolbarVisible.value()&&(this._opts.resizerBridge.negotiateWidth(r.TOOLBAR_WIDTH_EXPANDED),this._opts.resizerBridge.container.value().appendChild((0,o.createStubElem)()))}_startLoading(){return Promise.all([i.e(3876),i.e(7610),i.e(9448),i.e(3894),i.e(2359),i.e(6473),i.e(1941),i.e(4336),i.e(6062),i.e(5514),i.e(306),i.e(4940),i.e(1529),i.e(5383),i.e(1890),i.e(5254),i.e(3463),i.e(2878)]).then(i.bind(i,23788)).then(e=>new e.DrawingToolbarRenderer(this._opts.resizerBridge.container.value(),{...this._opts}))}}},90096:(e,t,i)=>{"use strict";i.d(t,{isDrawingToolbarVisible:()=>c});var s=i(64222),r=i(27490),n=i(32856),o=i.n(n);const a=!r.enabled("hide_left_toolbar_by_default"),l=s.getBool("ChartDrawingToolbarWidget.visible",a),c=new(o())(l)},64457:(e,t,i)=>{"use strict";i.d(t,{HeaderToolbarBootloader:()=>o});var s=i(6535),r=i(6369),n=i(26134);class o extends n.ChunkLoader{constructor(e,t){super(),this._toolsBootloader=e,this._headerProps=t,this._headerProps.resizerBridge.negotiateHeight(s.HEADER_TOOLBAR_HEIGHT_EXPANDED),this._headerProps.resizerBridge.container.value().appendChild((0,r.createStubElem)())}_startLoading(){return Promise.all([this._toolsBootloader.load(),this._loadHeaderToolbar()]).then(([e,t])=>new t(this._headerProps.resizerBridge.container.value(),{...this._headerProps,tools:e}))}_loadHeaderToolbar(){return Promise.all([i.e(587),i.e(9354),i.e(5514),i.e(1529),i.e(5383),i.e(2444),i.e(3005)]).then(i.bind(i,48186)).then(e=>e.HeaderToolbarRenderer)}}},6535:(e,t,i)=>{"use strict";i.d(t,{HEADER_TOOLBAR_HEIGHT_EXPANDED:()=>r,HEADER_TOOLBAR_HEIGHT_COLLAPSED:()=>n});var s=i(53805);const r=parseInt(s["css-value-header-toolbar-height"]),n=3},215:(e,t,i)=>{"use strict";i.d(t,{RestrictedToolsetBootloader:()=>r});var s=i(26134);class r extends s.ChunkLoader{_startLoading(){return Promise.all([i.e(3876),i.e(7610),i.e(9448),i.e(3894),i.e(3996),i.e(7936),i.e(8604),i.e(2359),i.e(2273),i.e(6473),i.e(9843),i.e(6637),i.e(6612),i.e(3537),i.e(7757),i.e(4336),i.e(1413),i.e(5514),i.e(306),i.e(4940),i.e(1529),i.e(5383),i.e(7962),i.e(3463),i.e(5516)]).then(i.bind(i,40916)).then(e=>e.getRestrictedToolSet())}}},62685:(e,t,i)=>{"use strict";i.d(t,{FavoriteStudyTemplateService:()=>r});var s=i(24261);class r extends s.CommonJsonStoreService{constructor(e,t){super(e,t,"FAVORITE_STUDY_TEMPLATES_CHANGED","StudyTemplates.quicks",[])}remove(e){this.set(this.get().filter(t=>t!==e))}}},3306:(e,t,i)=>{"use strict";i.d(t,{DropdownApi:()=>s});class s{constructor(e,t){this._headerToolbar=e,this._dropdownId=t}applyOptions(e){this._headerToolbar.updateDropdown(this._dropdownId,e)}remove(){ +this._headerToolbar.removeDropdown(this._dropdownId)}}},34449:(e,t,i)=>{"use strict";var s;i.d(t,{ACTION_ID:()=>s}),function(e){e.TVActionId="TVActionId",e.ChartApplyIndicatorsToAllCharts="Chart.ApplyIndicatorsToAllCharts",e.ChartChangeTimeZone="Chart.ChangeTimeZone",e.ChartDialogsShowChangeInterval="Chart.Dialogs.ShowChangeInterval",e.ChartDialogsShowChangeSymbol="Chart.Dialogs.ShowChangeSymbol",e.ChartDialogsShowCompareOrAddSymbol="Chart.Dialogs.ShowCompareOrAddSymbol",e.ChartDialogsShowGeneralSettings="Chart.Dialogs.ShowGeneralSettings",e.ChartDialogsShowGeneralSettingsScalesTab="Chart.Dialogs.ShowGeneralSettings.ScalesTab",e.ChartDialogsShowGeneralSettingsSymbolTab="Chart.Dialogs.ShowGeneralSettings.SymbolTab",e.ChartDialogsShowGoToDate="Chart.Dialogs.ShowGoToDate",e.ChartDialogsShowInsertIndicators="Chart.Dialogs.ShowInsertIndicators",e.ChartDialogsShowSymbolInfo="Chart.Dialogs.ShowSymbolInfo",e.ChartDrawingToolbarToggleVisibility="Chart.DrawingToolbar.ToggleVisibility",e.ChartLinesToggleBidAskLinesVisibility="Chart.Lines.ToggleBidAskLinesVisibility",e.ChartLinesToggleHighLowLinesVisibility="Chart.Lines.ToggleHighLowLinesVisibility",e.ChartLinesToggleSeriesPrevCloseLineVisibility="Chart.Lines.ToggleSeriesPrevCloseLineVisibility",e.ChartLinesToggleSeriesPriceLineVisibility="Chart.Lines.ToggleSeriesPriceLineVisibility",e.ChartLineToolPitchforkChangeTypeToInside="Chart.LineTool.Pitchfork.ChangeTypeToInside",e.ChartLineToolPitchforkChangeTypeToModifiedSchiff="Chart.LineTool.Pitchfork.ChangeTypeToModifiedSchiff",e.ChartLineToolPitchforkChangeTypeToOriginal="Chart.LineTool.Pitchfork.ChangeTypeToOriginal",e.ChartLineToolPitchforkChangeTypeToSchiff="Chart.LineTool.Pitchfork.ChangeTypeToSchiff",e.ChartMarksToggleVisibility="Chart.Marks.ToggleVisibility",e.ChartMoveChartInLayout="Chart.MoveChartInLayout",e.ChartMoveChartInLayoutBack="Chart.MoveChartInLayout.Back",e.ChartMoveChartInLayoutForward="Chart.MoveChartInLayout.Forward",e.ChartObjectTreeShow="Chart.ObjectTree.Show",e.ChartPriceScaleLabelsToggleBidAskLabelsVisibility="Chart.PriceScale.Labels.ToggleBidAskLabelsVisibility",e.ChartPriceScaleLabelsToggleHighLowPriceLabelsVisibility="Chart.PriceScale.Labels.ToggleHighLowPriceLabelsVisibility",e.ChartPriceScaleLabelsToggleIndicatorsNameLabelsVisibility="Chart.PriceScale.Labels.ToggleIndicatorsNameLabelsVisibility",e.ChartPriceScaleLabelsToggleIndicatorsValueLabelsVisibility="Chart.PriceScale.Labels.ToggleIndicatorsValueLabelsVisibility",e.ChartPriceScaleLabelsToggleSeriesLastValueVisibility="Chart.PriceScale.Labels.ToggleSeriesLastValueVisibility",e.ChartPriceScaleLabelsToggleSymbolNameLabelsVisibility="Chart.PriceScale.Labels.ToggleSymbolNameLabelsVisibility",e.ChartPriceScaleLabelsToggleSymbolPrevCloseValueVisibility="Chart.PriceScale.Labels.ToggleSymbolPrevCloseValueVisibility",e.ChartPriceScaleMergeAllScalesToLeft="Chart.PriceScale.MergeAllScalesToLeft",e.ChartPriceScaleMergeAllScalesToRight="Chart.PriceScale.MergeAllScalesToRight",e.ChartPriceScaleMoveToLeft="Chart.PriceScale.MoveToLeft", +e.ChartPriceScaleMoveToRight="Chart.PriceScale.MoveToRight",e.ChartPriceScaleToggleAddOrderPlusButtonVisibility="Chart.PriceScale.ToggleAddOrderPlusButtonVisibility",e.ChartPriceScaleToggleAutoScaleSeriesOnly="Chart.PriceScale.ToggleAutoScaleSeriesOnly",e.ChartPriceScaleToggleCountdownToBarCloseVisibility="Chart.PriceScale.ToggleCountdownToBarCloseVisibility",e.ChartPriceScaleToggleCurrencyVisibility="Chart.PriceScale.ToggleCurrencyVisibility",e.ChartPriceScaleToggleUnitVisibility="Chart.PriceScale.ToggleUnitVisibility",e.ChartRedo="Chart.Redo",e.ChartRemoveAllIndicators="Chart.RemoveAllIndicators",e.ChartRemoveAllIndicatorsAndLineTools="Chart.RemoveAllIndicatorsAndLineTools",e.ChartRemoveAllLineTools="Chart.RemoveAllLineTools",e.ChartScalesReset="Chart.Scales.Reset",e.ChartScalesToggleLockPriceToBarRatio="Chart.Scales.ToggleLockPriceToBarRatio",e.ChartSelectedObjectHide="Chart.SelectedObject.Hide",e.ChartSelectedObjectRemove="Chart.SelectedObject.Remove",e.ChartSelectedObjectShowSettingsDialog="Chart.SelectedObject.ShowSettingsDialog",e.ChartSelectedObjectToggleLocked="Chart.SelectedObject.ToggleLocked",e.ChartSeriesPriceScaleToggleAutoScale="Chart.Series.PriceScale.ToggleAutoScale",e.ChartSeriesPriceScaleToggleIndexedTo100="Chart.Series.PriceScale.ToggleIndexedTo100",e.ChartSeriesPriceScaleToggleInvertPriceScale="Chart.Series.PriceScale.ToggleInvertPriceScale",e.ChartSeriesPriceScaleToggleLogarithmic="Chart.Series.PriceScale.ToggleLogarithmic",e.ChartSeriesPriceScaleTogglePercentage="Chart.Series.PriceScale.TogglePercentage",e.ChartSeriesPriceScaleToggleRegular="Chart.Series.PriceScale.ToggleRegular",e.ChartSessionBreaksToggleVisibility="Chart.SessionBreaks.ToggleVisibility",e.ChartTimeScaleReset="Chart.TimeScale.Reset",e.ChartUndo="Chart.Undo"}(s||(s={}))},46374:(e,t,i)=>{"use strict";i.r(t),i.d(t,{Action:()=>l,ActionAsync:()=>c,Separator:()=>h,Loader:()=>d});var s=i(16282),r=i(5729),n=i.n(r),o=i(42998),a=i(45259);class l{constructor(e,t=a.guid()){this.type="action",this._destroyed=!1,this._binding=null,(0,s.assert)(void 0!==e.actionId,"actionId must be defined"),this.id=t,this._onUpdate=new(n()),this._options=e,this.update(e)}execute(){this._options.checkable&&this.update({checked:!this._options.checked}),this._options.onExecute&&this._options.onExecute(this)}getLabel(){return this._options.label||""}getSubItems(){return this._options.subItems||[]}isDisabled(){return!0===this._options.disabled}isActive(){return!0===this._options.active}isCheckable(){return!0===this._options.checkable}isChecked(){return!0===this._options.checked}isLoading(){return!0===this._options.loading}getSize(){var e;return null!==(e=this._options.size)&&void 0!==e?e:"normal"}getPayload(){return this._options.payload}update(e){this._destroyed||(this._unbindShortcut(),e.hotkeyHash&&(this._options.shortcutHint=(0,o.humanReadableHash)(e.hotkeyHash)),this._options=Object.assign(this._options,e),this._bindShortcut(),this._onUpdate.fire(this))}onUpdate(){return this._onUpdate}getState(){return{actionId:this._options.actionId,label:this.getLabel(), +disabled:this.isDisabled(),active:this.isActive(),subItems:this.getSubItems(),checkable:this.isCheckable(),checked:this.isChecked(),loading:this.isLoading(),size:this.getSize(),doNotCloseOnClick:this._options.doNotCloseOnClick||!1,shortcutHint:this._options.shortcutHint,hint:this._options.hint,icon:this._options.icon,iconChecked:this._options.iconChecked,toolbox:this._options.toolbox,showToolboxOnHover:this._options.showToolboxOnHover||!1,statName:this._options.statName,name:this._options.name,invisibleHotkey:this._options.invisibleHotkey,noInteractive:this._options.noInteractive}}getBinding(){return this._binding}setBinding(e){this._binding=e}destroy(){var e,t;this._destroyed=!0,this._onUpdate.destroy(),null!==this._binding&&this._binding.destroy(),this._unbindShortcut(),null===(t=(e=this._options).onDestroy)||void 0===t||t.call(e)}options(){return this._options}_bindShortcut(){if(!this._options.hotkeyGroup||!this._options.hotkeyHash)return;const e="string"==typeof this._options.label?this._options.label:this._options.name;this._hotkeyAction=this._options.hotkeyGroup.add({hotkey:this._options.hotkeyHash,desc:e,handler:()=>this.execute(),isDisabled:()=>this.isDisabled()})}_unbindShortcut(){this._hotkeyAction&&(this._hotkeyAction.destroy(),delete this._hotkeyAction)}}class c extends l{constructor(e,t,i){super({actionId:e},i),this._loader=t,this._loaded=!1}loadOptions(){return this._loadingPromise||(this._loadingPromise=this._loader().then(e=>{this._loaded=!0,this.update(e)})),this._loadingPromise}getState(){return this.loadOptions(),super.getState()}isLoading(){return!this.isLoaded()}isLoaded(){return this._loaded}}class h{constructor(e){this.type="separator",this.id=a.guid(),this._hint=e}getHint(){return this._hint}}class d extends l{constructor(e){super({actionId:e})}isLoading(){return!0}getSize(){return"big"}}},21209:(e,t,i)=>{"use strict";i.d(t,{defaultContextMenuOptions:()=>Le,createMTPredictorActions:()=>Ae,createLinesAction:()=>ke,createSyncDrawingActions:()=>Ee,ActionsProvider:()=>De});var s=i(16282),r=i(65447),n=(i(93302),i(47903)),o=i(27490),a=i(46374),l=i(28745),c=i(20509),h=i(17e3),d=(i(89366),i(58891)),u=i(98824),p=i(42998),_=(i(17722),i(33508)),m=i(32643),g=i(41543),f=i(95316),v=i(67945),S=i(58007),y=i(22675),b=i(79881),w=i(90963),P=i(15521);(0,r.getLogger)("Chart.ActionsProvider");const C=new w.TranslatedString("show alert label lines",(0,b.t)("show alert label lines")),T=new w.TranslatedString("hide alert label lines",(0,b.t)("hide alert label lines")),x=new w.TranslatedString("change visibility",(0,b.t)("change visibility")),I=new w.TranslatedString("pin to scale {label}",(0,b.t)("pin to scale {label}")),M=new w.TranslatedString("pin to right scale",(0,b.t)("pin to right scale")),L=new w.TranslatedString("pin to left scale",(0,b.t)("pin to left scale")),A=(new w.TranslatedString("change earnings visibility",(0,b.t)("change earnings visibility")),new w.TranslatedString("change dividends visibility",(0,b.t)("change dividends visibility")),new w.TranslatedString("change splits visibility",(0, +b.t)("change splits visibility")),new w.TranslatedString("show all ideas",(0,b.t)("show all ideas"))),k=new w.TranslatedString("show ideas of followed users",(0,b.t)("show ideas of followed users")),E=new w.TranslatedString("show my ideas only",(0,b.t)("show my ideas only")),D=(new w.TranslatedString("change events visibility on chart",(0,b.t)("change events visibility on chart")),new w.TranslatedString("add this symbol to entire layout",(0,b.t)("add this symbol to entire layout"))),V=new w.TranslatedString("add this indicator to entire layout",(0,b.t)("add this indicator to entire layout")),B=(new w.TranslatedString("add this strategy to entire layout",(0,b.t)("add this strategy to entire layout")),new w.TranslatedString("add this financial metric to entire layout",(0,b.t)("add this financial metric to entire layout")),new w.TranslatedString("apply drawing template",(0,b.t)("apply drawing template")),new w.TranslatedString("lock objects",(0,b.t)("lock objects"))),N=new w.TranslatedString("unlock objects",(0,b.t)("unlock objects")),R=((0,b.t)("Add alert"),(0,b.t)("Add alert on {series}"),(0,b.t)("Add alert on {drawing}"),(0,y.appendEllipsis)((0,b.t)("Edit {title} alert"))),O=(0,b.t)("Extend alert lines"),F=((0,b.t)("Trade"),(0,y.appendEllipsis)((0,b.t)("Create limit order")),(0,b.t)("Show")),W=(0,b.t)("Hide"),H=((0,b.t)("MTPredictor"),(0,b.t)("Apply Manual Risk/Reward"),(0,b.t)("Apply Manual Decision Point"),(0,b.t)("Analyze Trade Setup"),(0,b.t)("Apply Elliott Wave"),(0,b.t)("Apply Elliott Wave Intermediate"),(0,b.t)("Apply Elliott Wave Major"),(0,b.t)("Apply Elliott Wave Minor"),(0,b.t)("Apply WPT Up Wave"),(0,b.t)("Up Wave 1 or A"),(0,b.t)("Up Wave 2 or B"),(0,b.t)("Up Wave C"),(0,b.t)("Up Wave 3"),(0,b.t)("Up Wave 4"),(0,b.t)("Up Wave 5"),(0,b.t)("Apply WPT Down Wave"),(0,b.t)("Down Wave 1 or A"),(0,b.t)("Down Wave 2 or B"),(0,b.t)("Down Wave C"),(0,b.t)("Down Wave 3"),(0,b.t)("Down Wave 4"),(0,b.t)("Down Wave 5"),(0,b.t)("Pinned to scale {label} (hidden)")),z=(0,b.t)("Pinned to right scale (hidden)"),U=(0,b.t)("Pin to scale {label} (hidden)"),j=(0,b.t)("Pin to right scale (hidden)"),G=(0,b.t)("Pinned to scale {label}"),q=(0,b.t)("Pinned to right scale"),Y=(0,b.t)("Pin to scale {label}"),$=(0,b.t)("Pin to right scale"),K=(0,b.t)("Pinned to left scale (hidden)"),X=(0,b.t)("Pin to left scale (hidden)"),Z=(0,b.t)("Pinned to left scale"),J=(0,b.t)("Pin to left scale"),Q=(0,b.t)("Pin to new left scale"),ee=(0,b.t)("Pin to new right scale"),te=(0,b.t)("Pin to scale (now {label})"),ie=(0,b.t)("Pin to scale (now no scale)"),se=(0,b.t)("Pin to scale (now left)"),re=(0,b.t)("Pin to scale (now right)"),ne=(0,b.t)("No scale (fullscreen)"),oe=(0,b.t)("Move to"),ae=(0,b.t)("Existing pane above"),le=(0,b.t)("New pane above"),ce=(0,b.t)("Existing pane below"),he=(0,b.t)("New pane below"),de=(0,b.t)("Bring to front"),ue=(0,b.t)("Send to back"),pe=(0,b.t)("Bring forward"),_e=(0,b.t)("Send backward"),me=(0,b.t)("Visual order"),ge=(0,b.t)("Lines"),fe=((0,y.appendEllipsis)((0,b.t)("Add indicator/strategy on {studyTitle}")),(0, +y.appendEllipsis)((0,b.t)("Add financial metric for {instrumentName}")),(0,y.appendEllipsis)((0,b.t)("Settings"))),ve=((0,b.t)("Apply default"),(0,y.appendEllipsis)((0,b.t)("Save as")),(0,b.t)("Copy")),Se=(0,b.t)("Clone"),ye=((0,b.t)("Template"),(0,b.t)("Go to {lineToolName}")),be=(0,b.t)("Unlock"),we=(0,b.t)("Lock"),Pe=((0,b.t)("Show earnings"),(0,b.t)("Show dividends"),(0,b.t)("Show splits"),(0,b.t)("Show all ideas")),Ce=(0,b.t)("Show ideas of followed users"),Te=(0,b.t)("Show my ideas only"),xe=((0,y.appendEllipsis)((0,b.t)("Settings")),(0,b.t)("Hide events on chart"),(0,b.t)("Add this symbol to entire layout")),Ie=(0,b.t)("Add this indicator to entire layout"),Me=((0,b.t)("Add this strategy to entire layout"),(0,b.t)("Add this financial metric to entire layout"),(0,b.t)("No sync"),(0,b.t)("Sync in layout"),(0,y.appendEllipsis)((0,b.t)("Symbol info"))),Le={general:!0,mainSeries:!0,mainSeriesTrade:!1,esdStudies:!0,studies:!0,fundamentals:!0,lineTools:!0,publishedCharts:!0,ordersAndPositions:!0,alerts:!0,chartEvents:!0,objectTree:!0,gotoLineTool:!1};function Ae(e,t,i,s){return null}function ke(e){const t=e.actions(),i=[t.showPriceLine];return i.push(t.showHighLowAverageClosePriceLines),new a.Action({actionId:"Chart.Lines",label:ge,statName:"Lines",subItems:i})}function Ee(e,t){const i=[];if(P.isToolCreatingNow.value())return i;return i}class De{constructor(e,t){this._chartWidget=e,this._options=(0,n.merge)((0,n.clone)(Le),t||{})}async contextMenuActionsForSources(e){const t=e[0],i=this._options;if(t===this._chartWidget.model().mainSeries()&&i.mainSeries)return this._contextMenuActionsForSeries(t);if((0,h.isStudy)(t)&&i.studies)return this._contextMenuActionsForStudy(t);if((0,v.isLineTool)(t)&&i.lineTools){const t=e.filter(v.isLineTool);return this._contextMenuActionsForLineTool(t)}return[]}_isReadOnly(){return this._chartWidget.readOnly()}_createActionHide(e){return new a.Action({actionId:"Chart.SelectedObject.Hide",label:W,icon:i(62781),statName:"HideSelectedObject",onExecute:this._chartWidget.hideDataSources.bind(this._chartWidget,[e])})}_createActionShow(e){const t=new a.Action({actionId:"Chart.SelectedObject.Show",checkable:!0,label:F,icon:i(4754),statName:"ToggleShow"}),s=new l.ActionBinder(t,e.properties().visible,this._chartWidget.model(),x);return t.setBinding(s),s.setValue(e.properties().visible.value()),t}_createActionScale(e){const t=(0,s.ensureNotNull)(e.priceScale()),r=this._chartWidget.model().model(),n=(0,s.ensureNotNull)(r.paneForSource(e)),o=n.priceScalePosition(t),l=("left"===o?n.leftPriceScales():n.rightPriceScales()).indexOf(t),h=r.priceScaleSlotsCount().totallySlots<2?"dontneedname":"needname",d="overlay"===o?"":(0,c.getPriceAxisNameInfo)(o,l).label,u=te.format({label:d}),p={"left-needname":u,"left-dontneedname":se,"right-needname":u,"right-dontneedname":re,"overlay-needname":ie,"overlay-dontneedname":ie}[o+"-"+h];return new a.Action({actionId:"Chart.Source.ChangePriceScale",label:p,icon:i(2116),subItems:this._createActionScaleItems(e)})}_createActionScaleDetach(e,t,i,r){ +const n=this._chartWidget.model().model(),o=(0,s.ensureNotNull)(n.paneForSource(e));if(!o.canCreateNewPriceScale())return null;const l=(0,s.ensureNotNull)(e.priceScale()),h=l.canDetachSource(e),d=o.priceScalePosition(l),u=h||d!==t;if(!u)return null;const p=n.priceScaleSlotsCount(),_={left:{labelled:Y,sided:Q},right:{labelled:Y,sided:ee}},m="left"===t?o.leftPriceScales().length:o.rightPriceScales().length,g=p[t]>m?"labelled":"sided",f=(0,c.getPriceAxisNameInfo)(t,m).label,v=_[t][g].format({label:f});return new a.Action({actionId:"Chart.Source.ChangePriceScale",checkable:!1,disabled:!u,label:v,statName:r,payload:e,onExecute:i})}_onDetachLeft(e){const t=e.getPayload(),i=this._chartWidget.model().model(),r=(0,s.ensureNotNull)(i.paneForSource(t));this._chartWidget.model().detachToLeft(t,r)}_onDetachRight(e){const t=e.getPayload(),i=this._chartWidget.model().model(),r=(0,s.ensureNotNull)(i.paneForSource(t));this._chartWidget.model().detachToRight(t,r)}_createActionScaleDetachLeft(e){return this._createActionScaleDetach(e,"left",this._onDetachLeft.bind(this),"ToggleScaleLeft")}_createActionScaleDetachRight(e){return this._createActionScaleDetach(e,"right",this._onDetachRight.bind(this),"ToggleScaleRight")}_onMoveToScale(e){const t=e.getPayload();if(t.datasource.priceScale()===t.priceScale)return;const i=this._chartWidget.model().model(),r=(0,s.ensureNotNull)(i.paneForSource(t.datasource));this._chartWidget.model().moveToScale(t.datasource,r,t.priceScale,t.undoText)}_createMoveToScaleAction(e,t,i,s){const r=e.priceScale()===t;return new a.Action({actionId:"Chart.Source.MoveToOtherScale",checkable:!0,checked:r,label:i,statName:"ToggleScale",payload:{datasource:e,priceScale:t,undoText:s},onExecute:this._onMoveToScale.bind(this)})}_onNoScale(e){const t=e.getPayload().datasource,i=this._chartWidget.model().model(),r=(0,s.ensureNotNull)(i.paneForSource(t));r.isOverlay(t)||this._chartWidget.model().detachNoScale(t,r)}_createActionNoScale(e){const t=this._chartWidget.model().model(),i=(0,s.ensureNotNull)(t.paneForSource(e)),r=i.actionNoScaleIsEnabled(e);return new a.Action({actionId:"Chart.Source.MoveToNoScale",checkable:!0,checked:i.isOverlay(e),label:ne,disabled:!r,statName:"ToggleNoScale",payload:{datasource:e},onExecute:this._onNoScale.bind(this)})}_createActionScaleItems(e){const t=[],i=this._chartWidget.model().model(),r=(0,s.ensureNotNull)(i.paneForSource(e)),n=i.priceScaleSlotsCount().totallySlots>1,o=r.rightPriceScales(),l=r.leftPriceScales(),h=this._createActionScaleDetachRight(e),d=this._createActionScaleDetachLeft(e),u=o.length+l.length+(null===h?0:1)+(null===d?0:1)>2,p={right:{hidden:{checked:{labelled:H,sided:z},unchecked:{labelled:U,sided:j}},visible:{checked:{labelled:G,sided:q},unchecked:{labelled:Y,sided:$}}},left:{hidden:{checked:{labelled:H,sided:K},unchecked:{labelled:U,sided:X}},visible:{checked:{labelled:G,sided:Z},unchecked:{labelled:Y,sided:J}}}},_={right:M,left:L},m={left:r.visibleLeftPriceScales(),right:r.visibleRightPriceScales()},g=(t,i)=>{ +const s=("right"===i?o:l)[t],r=m[i].includes(s)?"visible":"hidden",a=e.priceScale()===s?"checked":"unchecked",h=n?"labelled":"sided",d=p[i],u=(0,c.getPriceAxisNameInfo)(i,t).label;return{actionText:d[r][a][h].format({label:u}),undoText:n?I.format({label:u}):_[i]}};t.push(...o.map((t,i)=>{const s=g(i,"right");return this._createMoveToScaleAction(e,t,s.actionText,s.undoText)})),null!==h&&t.push(h);u&&(o.length>0||null!==h)&&t.push(new a.Separator);t.push(...l.map((t,i)=>{const s=g(i,"left");return this._createMoveToScaleAction(e,t,s.actionText,s.undoText)})),null!==d&&t.push(d);u&&(l.length>0||null!==d)&&t.push(new a.Separator);return t.push(this._createActionNoScale(e)),t}_createVisualOrderAction(e){const t=this._chartWidget.model(),s=t.availableZOrderOperations(e),r=[new a.Action({actionId:"Chart.Source.VisualOrder.BringToFront",label:de,statName:"BringToFront",disabled:!s.bringToFrontEnabled,onExecute:()=>t.bringToFront(e)}),new a.Action({actionId:"Chart.Source.VisualOrder.SendToBack",label:ue,statName:"SendToBack",disabled:!s.sendToBackEnabled,onExecute:()=>t.sendToBack(e)}),new a.Action({actionId:"Chart.Source.VisualOrder.BringForward",label:pe,statName:"BringForward",disabled:!s.bringForwardEnabled,onExecute:()=>t.bringForward(e)}),new a.Action({actionId:"Chart.Source.VisualOrder.SendBackward",label:_e,statName:"SendBackward",disabled:!s.sendBackwardEnabled,onExecute:()=>t.sendBackward(e)})];return new a.Action({actionId:"Chart.Source.VisualOrder",label:me,icon:i(94817),statName:"VisualOrder",subItems:r})}_createActionMergeUp(e){const t=this._chartWidget.model();return t.model().isMergeUpAvailableForSource(e)?new a.Action({actionId:"Chart.Source.MergeUp",label:ae,statName:"MergeUp",onExecute:()=>t.mergeSourceUp(e)}):null}_createActionUnmergeUp(e){const t=this._chartWidget.model();return t.model().isUnmergeAvailableForSource(e)?new a.Action({actionId:"Chart.Source.UnmergeUp",label:le,statName:"UnmergeUp",onExecute:()=>t.unmergeSourceUp(e)}):null}_createActionMergeDown(e){const t=this._chartWidget.model();return t.model().isMergeDownAvailableForSource(e)?new a.Action({actionId:"Chart.Source.MergeDown",label:ce,statName:"MergeDown",onExecute:()=>t.mergeSourceDown(e)}):null}_createActionUnmergeDown(e){const t=this._chartWidget.model();return t.model().isUnmergeAvailableForSource(e)?new a.Action({actionId:"Chart.Source.UnmergeDown",label:he,statName:"UnmergeDown",onExecute:()=>t.unmergeSourceDown(e)}):null}_mergeContentMenuItems(e){return[this._createActionMergeUp(e),this._createActionUnmergeUp(e),this._createActionMergeDown(e),this._createActionUnmergeDown(e)].filter(n.notNull)}_createActionMove(e){const t=this._mergeContentMenuItems(e);return t.length>0?new a.Action({actionId:"Chart.Source.MoveToPane",label:oe,icon:i(63310),subItems:t}):null}_contextMenuActionsForSeries(e){var t;const i=[],r=e.properties().childs().visible.value(),n=this._chartWidget.model().model(),l=((0,s.ensureNotNull)(n.paneForSource(e)),this._chartWidget.actions()) +;if(this._isReadOnly())i.push(r?this._createActionHide(e):this._createActionShow(e)),i.push(new a.Separator),i.push(this._createActionScale(e));else{0,i.length>0&&!(i[i.length-1]instanceof a.Separator)&&i.push(new a.Separator),o.enabled("symbol_info")&&i.push(l.showSymbolInfoDialog);n.mainSeries().symbolInfo();0,i.length>0&&!(i[i.length-1]instanceof a.Separator)&&i.push(new a.Separator),i.push(this._createVisualOrderAction([e]));const s=this._createActionMove(e);null!==s&&i.push(s),i.push(this._createActionScale(e)),i.push(r?this._createActionHide(e):this._createActionShow(e)),i.push(new a.Separator),i.push(ke(this._chartWidget)),i.push(new a.Separator);Boolean(null===(t=window.widgetbar)||void 0===t?void 0:t.widget("watchlist"))&&l.addToWatchlist&&i.push(l.addToWatchlist),o.enabled("text_notes")&&i.push(l.addToTextNotes),i[i.length-1]instanceof a.Separator||i.push(new a.Separator),o.enabled("show_chart_property_page")&&!this._chartWidget.onWidget()&&i.push(l.mainSeriesPropertiesAction),i[i.length-1]instanceof a.Separator&&i.pop()}return i}_createActionAddChildStudy(e){throw new Error("unsupported")}_createActionAddFundamentals(e){return null}_createActionShowSymbolInfoDialog(e,t){return new a.Action({actionId:"Chart.Dialogs.ShowSymbolInfo",label:Me,icon:i(96527),checkable:!1,statName:"SymbolInfo",onExecute:()=>{const i=e.symbol(),s={symbolInfo:e.symbolInfo(),unitName:e=>t.name(e)};(0,g.showSymbolInfoDialog)(i,s)}})}_createActionShowProperties(e){return new a.Action({actionId:"Chart.Indicator.ShowSettingsDialog",label:fe,icon:i(78544),statName:"EditSelectedObject",onExecute:()=>this._chartWidget.showSourceProperties(e)})}_contextMenuActionsForStudy(e){const t=this._chartWidget.actions(),i=e.properties().visible.value(),s=[];if(!e.userEditEnabled())return s;if(this._chartWidget.readOnly())s.push(i?this._createActionHide(e):this._createActionShow(e)),s.push(new a.Separator),e.constructor instanceof d.NonSeriesStudy||s.push(this._createActionScale(e));else{0,o.enabled("study_on_study")&&e.canHaveChildren()&&s.push(this._createActionAddChildStudy(e));const r=this._createApplyToEntireLayoutCommand(e);if(null!==r&&s.push(r),s.length>0&&!(s[s.length-1]instanceof a.Separator)&&s.push(new a.Separator),o.enabled("symbol_info")&&(e instanceof m.StudyCompare||e instanceof _.study_Overlay)&&null!==e.symbolInfo()&&(s.push(this._createActionShowSymbolInfoDialog(e,this._chartWidget.model().model().availableUnits())),s.push(new a.Separator)),s.push(this._createVisualOrderAction([e])),!(e.constructor instanceof d.NonSeriesStudy)){const t=this._createActionMove(e);null!==t&&s.push(t),s.push(this._createActionScale(e))}s.push(new a.Separator);const n=e.metaInfo();if(e.copiable()){const t=new a.Action({actionId:"Chart.Clipboard.CopySource",label:ve,shortcutHint:(0,p.humanReadableHash)(p.Modifiers.Mod+67),statName:"Copy",onExecute:()=>{this._chartWidget.chartWidgetCollection().clipboard.uiRequestCopy([e])}});s.push(t)}s.push(i?this._createActionHide(e):this._createActionShow(e)),s.push(t.studyRemove),s.push(new a.Separator), +o.enabled("property_pages")&&new u.MetaInfoHelper(n).hasUserEditableOptions()&&s.push(this._createActionShowProperties(e)),s[s.length-1]instanceof a.Separator&&s.pop()}return s}_createEditAlertDrawingAction(e){return new TVAction({label:R.format({title:e.title()}),icon:TbbiEditAlertSvg,statName:"EditAlert",onExecute:()=>{window.runOrSignIn(()=>{e.editAlert("pane_context_menu_edit_alert")},{source:"Alert edit from pane context menu"})}})}_createLineToolTemplateAction(e){return null}_createActionToggleLockLineTools(e){const t=e[0].properties().frozen.value(),s=t?be:we;return new a.Action({actionId:"Chart.SelectedObject.ToggleLocked",label:s,statName:"ToggleLockSelectedObject",checkable:!0,icon:i(t?65511:26971),onExecute:()=>{if(1===e.length)this._chartWidget.toggleLockSelectedObject();else{const i=t?N:B,s=this._chartWidget.model();s.withMacro(i,()=>{e.forEach(e=>{s.setProperty(e.properties().frozen,!t,i)})})}}})}async _contextMenuActionsForLineTool(e){const t=[],s=this._chartWidget.actions(),r=(this._chartWidget.model().model(),()=>{t.push(this._createVisualOrderAction(e))}),n=()=>{const s=e.filter(e=>e.cloneable());if(s.length>0){const e=new a.Action({actionId:"Chart.LineTool.Clone",label:Se,icon:i(58589),shortcutHint:(0,p.humanReadableModifiers)(p.Modifiers.Mod)+"Drag",statName:"Clone",onExecute:()=>this._chartWidget.model().cloneLineTools(s,!1)},"Clone");t.push(e)}return!!s.length},l=()=>{const i=e.filter(e=>e.copiable());if(i.length>0){const e=new a.Action({actionId:"Chart.Clipboard.CopyLineTools",label:ve,shortcutHint:(0,p.humanReadableHash)(p.Modifiers.Mod+67),statName:"Copy",onExecute:()=>this._chartWidget.chartWidgetCollection().clipboard.uiRequestCopy(i)},"Copy");t.push(e)}return!!i.length},c=()=>{const e=Ee(this._chartWidget);return t.push(...e),e.length>0},h=e=>{const i=new a.Action({actionId:"Chart.ScrollToLineTool",label:ye.format({lineToolName:e.title()}),statName:"GoToLineTool",checkable:!1,onExecute:async()=>this._chartWidget.model().scrollToLineTool(e)});t.push(i)},d=e=>{const t=this._chartWidget.model().model().lineToolsGroupModel(),i=e.map(e=>t.groupForLineTool(e));return new Set(i).size<=1};if(1===e.length){const i=e[0];if(this._chartWidget.readOnly())t.push(s.lineHide);else if(i.userEditEnabled()){0,r(),this._options.objectTree&&s.paneObjectTree&&t.push(s.paneObjectTree),t.push(new a.Separator);let e=n();e=l()||e,e=c()||e,e&&t.push(new a.Separator),t.push(this._createActionToggleLockLineTools([i])),t.push(s.lineHide),t.push(s.lineRemove),i.points().length>0&&this._options.gotoLineTool&&(t.push(new a.Separator),h(i));const d=await this._chartWidget.propertiesDefinitionsForSource(i);if(o.enabled("property_pages")&&null!==d&&(t.push(new a.Separator),t.push(s.format)),i.additionalActions){t.push(new a.Separator);const e=i.additionalActions(this._chartWidget.model());t.push(...e)}}}else this._options.objectTree&&s.paneObjectTree&&t.push(s.paneObjectTree),d(e)&&r(),t.length>0&&t.push(new a.Separator),n(),l(),c(),t.push(new a.Separator),t.push(this._createActionToggleLockLineTools(e)),t.push(s.lineHide), +t.push(s.lineRemove),o.enabled("property_pages")&&(t.push(new a.Separator),t.push(s.format));return t}_createEarningsShow(){return null}_createDividendsShow(){return null}_createSplitsShow(){return null}_contextMenuActionsForESD(){return[]}_contextMenuActionsForPublishedTimeline(e){const t=this._chartWidget.actions(),i=[];if(i.push(t.lineHide),window.is_authenticated){const t=e.properties().childs().filter,s=new TVAction({checked:t.value()===PublishedChartsFilter.None,checkable:!0,label:Pe,name:"ToggleAllIdeas",statName:"ToggleAllIdeas",onExecute:()=>this._chartWidget.model().setProperty(t,PublishedChartsFilter.None,A)}),r=new TVAction({checked:t.value()===PublishedChartsFilter.Following,checkable:!0,label:Ce,name:"ToggleIdeasOfPeopleAndUser",statName:"ToggleIdeasOfPeopleAndUser",onExecute:()=>this._chartWidget.model().setProperty(t,PublishedChartsFilter.Following,k)}),n=new TVAction({checked:t.value()===PublishedChartsFilter.Private,checkable:!0,label:Te,name:"ToggleUserIdeas",statName:"ToggleUserIdeas",onExecute:()=>this._chartWidget.model().setProperty(t,PublishedChartsFilter.Private,E)});i.push(new a.Separator,s,r,n)}return i}_contextMenuActionsForTradingDrawings(e){return e.contextMenuItems()}_createAlertToggleHorzLineLabelAction(e){const t=getGlobalAlertSettingsProperty().childs().line.childs().visible,i=t.value()?T:C;return new TVAction({checkable:!0,label:O,checked:t.value(),statName:"ToggleExtendAlertLine",onExecute:()=>this._chartWidget.model().setProperty(t,!t.value(),i)})}_contextMenuActionsForAlertLabel(e){const t=e.alert(),i=[];return t.get("active")?i.push(AlertActionCreator.stopAlert(t)):i.push(AlertActionCreator.restartAlert(t,"alert_label_context_menu_restart")),i.push(AlertActionCreator.editAlert(t,"alert_label_context_menu_edit")),i.push(AlertActionCreator.deleteAlert(t)),i.push(new a.Separator),i.push(this._createAlertToggleHorzLineLabelAction(e)),i}_contextMenuActionsForChartEvents(e){return[]}_createApplyToEntireLayoutCommand(e){if(!this._chartWidget.chartWidgetCollection().applyIndicatorsToAllChartsAvailable())return null;const t=this._chartWidget.model().model();if(e.parentSource()!==t.mainSeries())return null;const i=(0,s.ensureNotNull)(t.paneForSource(e)),r=t.paneForSource(t.mainSeries())===i,n=e instanceof m.StudyCompare&&e.priceScale()===t.mainSeries().priceScale()&&(0,s.ensureNotNull)(e.priceScale()).isPercentage(),o=r?void 0:t.panes().indexOf(i);let l=Ie,c=V,h="AddStudyToEntireLayout";return(0,S.isSymbolSource)(e)&&(l=xe,c=D,h="AddSymbolToEntireLayout"),new a.Action({actionId:"Chart.AddIndicatorToAllCharts",label:l,statName:h,onExecute:()=>{const i=(0,s.ensureNotNull)((0,f.clipboardDataForSources)(t.id(),[e])),a=this._chartWidget.chartWidgetCollection(),l={isOnMainPane:r,asCompare:n,paneIndex:o};a.applyIndicatorToAllCharts(this._chartWidget,i,l,c)}},"applyStudyToEntireLayout")}}},85125:(e,t,i)=>{"use strict";i.r(t),i.d(t,{supportedLineTools:()=>s});const s={cursor:{name:"cursor",onlySelectable:!0},dot:{name:"dot",onlySelectable:!0},arrow_cursor:{name:"arrow",onlySelectable:!0},eraser:{ +name:"eraser",onlySelectable:!0},measure:{name:"measure",onlySelectable:!0},zoom:{name:"zoom",onlySelectable:!0},brush:{name:"LineToolBrush"},highlighter:{name:"LineToolHighlighter"},text:{name:"LineToolText"},anchored_text:{name:"LineToolTextAbsolute"},note:{name:"LineToolNote"},anchored_note:{name:"LineToolNoteAbsolute"},signpost:{name:"LineToolSignpost"},callout:{name:"LineToolCallout"},balloon:{name:"LineToolBalloon"},arrow_up:{name:"LineToolArrowMarkUp"},arrow_down:{name:"LineToolArrowMarkDown"},arrow_left:{name:"LineToolArrowMarkLeft"},arrow_right:{name:"LineToolArrowMarkRight"},price_label:{name:"LineToolPriceLabel"},price_note:{name:"LineToolPriceNote"},arrow_marker:{name:"LineToolArrowMarker"},flag:{name:"LineToolFlagMark"},vertical_line:{name:"LineToolVertLine"},horizontal_line:{name:"LineToolHorzLine"},cross_line:{name:"LineToolCrossLine"},horizontal_ray:{name:"LineToolHorzRay"},trend_line:{name:"LineToolTrendLine"},info_line:{name:"LineToolInfoLine"},trend_angle:{name:"LineToolTrendAngle"},arrow:{name:"LineToolArrow"},ray:{name:"LineToolRay"},extended:{name:"LineToolExtended"},parallel_channel:{name:"LineToolParallelChannel"},disjoint_angle:{name:"LineToolDisjointAngle"},flat_bottom:{name:"LineToolFlatBottom"},pitchfork:{name:"LineToolPitchfork"},schiff_pitchfork_modified:{name:"LineToolSchiffPitchfork"},schiff_pitchfork:{name:"LineToolSchiffPitchfork2"},inside_pitchfork:{name:"LineToolInsidePitchfork"},pitchfan:{name:"LineToolPitchfan"},gannbox:{name:"LineToolGannSquare"},gannbox_square:{name:"LineToolGannComplex"},gannbox_fixed:{name:"LineToolGannFixed"},gannbox_fan:{name:"LineToolGannFan"},fib_retracement:{name:"LineToolFibRetracement"},fib_trend_ext:{name:"LineToolTrendBasedFibExtension"},fib_speed_resist_fan:{name:"LineToolFibSpeedResistanceFan"},fib_timezone:{name:"LineToolFibTimeZone"},fib_trend_time:{name:"LineToolTrendBasedFibTime"},fib_circles:{name:"LineToolFibCircles"},fib_spiral:{name:"LineToolFibSpiral"},fib_speed_resist_arcs:{name:"LineToolFibSpeedResistanceArcs"},fib_wedge:{name:"LineToolFibWedge"},fib_channel:{name:"LineToolFibChannel"},xabcd_pattern:{name:"LineTool5PointsPattern"},cypher_pattern:{name:"LineToolCypherPattern"},abcd_pattern:{name:"LineToolABCD"},triangle_pattern:{name:"LineToolTrianglePattern"},"3divers_pattern":{name:"LineToolThreeDrivers"},head_and_shoulders:{name:"LineToolHeadAndShoulders"},elliott_impulse_wave:{name:"LineToolElliottImpulse"},elliott_triangle_wave:{name:"LineToolElliottTriangle"},elliott_triple_combo:{name:"LineToolElliottTripleCombo"},elliott_correction:{name:"LineToolElliottCorrection"},elliott_double_combo:{name:"LineToolElliottDoubleCombo"},cyclic_lines:{name:"LineToolCircleLines"},time_cycles:{name:"LineToolTimeCycles"},sine_line:{name:"LineToolSineLine"},long_position:{name:"LineToolRiskRewardLong"},short_position:{name:"LineToolRiskRewardShort"},forecast:{name:"LineToolPrediction"},date_range:{name:"LineToolDateRange"},price_range:{name:"LineToolPriceRange"},date_and_price_range:{name:"LineToolDateAndPriceRange"},bars_pattern:{ +name:"LineToolBarsPattern"},ghost_feed:{name:"LineToolGhostFeed"},projection:{name:"LineToolProjection"},rectangle:{name:"LineToolRectangle"},rotated_rectangle:{name:"LineToolRotatedRectangle"},circle:{name:"LineToolCircle"},ellipse:{name:"LineToolEllipse"},triangle:{name:"LineToolTriangle"},polyline:{name:"LineToolPolyline"},path:{name:"LineToolPath"},curve:{name:"LineToolBezierQuadro"},double_curve:{name:"LineToolBezierCubic"},arc:{name:"LineToolArc"},icon:{name:"LineToolIcon"},regression_trend:{name:"LineToolRegressionTrend"},fixed_range_volume_profile:{name:"LineToolFixedRangeVolumeProfile"}}},95316:(e,t,i)=>{"use strict";i.d(t,{clipboardDataForSources:()=>o});var s=i(16282),r=i(17e3),n=i(67945);function o(e,t){if(1===t.length&&(0,r.isStudy)(t[0])){const e=t[0];return{title:e.title(),sources:[{source:(0,s.ensureNotNull)(e.state()),type:"study"}]}}const i={sources:[],title:""};return i.sources=t.filter(e=>e.copiable()&&(0,n.isLineTool)(e)).map(t=>{const i={type:"drawing",geometry:t.geometry(),source:{...t.state(!1),points:t.normalizedPoints()},modelId:e};return delete i.source.alertId,i}),i.sources.length>0?(1===i.sources.length?i.title=t[0].title&&t[0].title():i.title="Drawings",i):null}},63939:(e,t,i)=>{"use strict";i.d(t,{addBrandingSource:()=>z});var s=i(99479),r=i(72927),n=i(71044),o=i(53312),a=i(16282),l=i(79881),c=i(27490),h=i(73853),d=i(10288),u=i(83939),p=i(50968),_=i(99432),m=i(55430),g=i(16932),f=i(97663),v=i(54837),S=i(92137);i(8325);const y=c.enabled("adaptive_logo"),b=c.enabled("small_no_display"),w=c.enabled("38914"),P="Ch{0}ar{1}t{2}by{3}{4}".format("",""," "," ","TradingView"),C="po{0}wer{1}ed{2}by{3}{4}".format("",""," "," ","TradingView"),T="by{3}{4}".format("",""," "," ","TradingView"),x=w?T:C,I=navigator.userAgent.toLowerCase().indexOf("chrome")>-1&&-1===navigator.userAgent.toLowerCase().indexOf("edge"),M=window.urlParams||{};window.initData;M.no_referral_id&&enable(M.referral_id||"","aggressive");(0,l.t)("By TradingView"),(0,l.t)("{symbol} financials by TradingView"),(0,l.t)("More features on tradingview.com"),(0,l.t)("powered by");const L=(0,l.t)(P),A=(0,l.t)(x);function k(e){return"px EuclidCircular"===e?.1:0}class E extends h.CustomSourceBase{constructor(e,t,i,r){super(e,t),this._canvasWidth=0,this._paneHeight=0,this._left=13,this._bottom=16,this._layout="site_branding",this._needToShow=!0,this._showBranding=!1,this._customLogoSrc="",this._customLogoLink="",this._cubicBezier=new u.CubicBezier(.4,.01,.22,1),this._openAnimation=null,this._closeAnimation=null,this._powBy=null,this._custom=null,this._mainSeries=this._model.mainSeries(),this._showAllowance=i,this._showForPro=Boolean(r),this._checkLayout(),"widget_custom_branding"!==this._layout&&"fundamental_custom_branding"!==this._layout||(this._left=8,this._bottom=5);const n=()=>{this._needToShow?this._showBranding=!0:this._showBranding=!1};this._resizeHandlerDelayed=(0,s.default)(n,200),n(),window.addEventListener("resize",this._resizeHandlerDelayed),this._monitorCanvas=(0,g.createDisconnectedBoundCanvas)(document,new g.Size(0,0)), +this._monitorCanvas.subscribeCanvasConfigured(()=>{this._init()}),this._model.isSnapshot()?this._init():(this._mainSeries.dataEvents().symbolResolved().subscribe(this,this._init),null!==this._mainSeries.symbolInfo()&&this._init()),this._renderer={draw:this.draw.bind(this),hitTest:this.hitTest.bind(this)}}destroy(){window.removeEventListener("resize",this._resizeHandlerDelayed),this._mainSeries.dataEvents().symbolResolved().unsubscribeAll(this),this._powBy&&this._powBy.destroy()}paneViews(e){if(window.TradingView.printing)return[];if(!this._showAllowance())return[];if("site_branding"===this._layout&&!this._showForPro&&window.user&&window.user.is_pro)return[];const t=c.enabled("move_logo_to_main_pane");return t&&e.isMainPane()||!t&&e.isLast()||e.isMaximized()?[{renderer:this.renderer.bind(this)}]:[]}labelPaneViews(e){return[]}priceAxisViews(e,t){return[]}updateAllViews(){}updateViewsForPane(e){}priceScale(){return null}renderer(e,t){return this._paneHeight=e,this._canvasWidth=t,this._renderer}hasContextMenu(){return!1}onClickOutside(){this._hasAnimation()&&this._startCloseAnimation()}hitTest(e){return!this._showBranding||c.enabled("logo_without_link")?null:this._powBy&&"widget_custom_no_powered_branding"!==this._layout&&"fundamental_custom_no_powered_branding"!==this._layout&&(this._powBy.hitTest(e)||this._custom&&this._custom.hitTest(e))?new d.HitTestResult(d.HitTestResult.CUSTOM,{hideCrosshairLinesOnHover:!0,clickHandler:()=>{this._openLink()},tapHandler:()=>{this._hasAnimation()?this._toggleOpenAnimatedOrOpenLink():this._openLink()},mouseEnterHandler:()=>{this._hasAnimation()&&this._startOpenAnimation()},mouseLeaveHandler:()=>{this._hasAnimation()&&this._startCloseAnimation()}}):null}tvUrl(){let e=new URL("https://www.tradingview.com/");if(this._customLogoLink)return this._customLogoLink;if("library_branding"===this._layout||"library_custom_branding"===this._layout){let t;switch(!0){case c.enabled("charting_library"):t="library";break;case c.enabled("trading_terminal"):t="trading-terminal"}return e.searchParams.append("utm_source",window.location.origin),e.searchParams.append("utm_medium","library"),t&&e.searchParams.append("utm_campaign",t),e.toString()}return e.toString()}draw(e,t){if(!this._showBranding)return;let i=0;M.utm=!0,(0,g.drawScaled)(e,t.pixelRatio,()=>{this._powBy&&this._powBy.show&&(i=this._powBy.height,e.save(),e.translate(this._left,this._paneHeight-this._bottom-i),this._powBy.draw(e,t,this._canvasWidth),e.restore()),this._custom&&this._custom.show&&(e.save(),e.translate(this._left,this._paneHeight-this._bottom-i-this._custom.height),this._custom.draw(e,t),e.restore())})}_init(){const e=this._mainSeries.symbolInfo();this._powBy&&this._powBy.destroy(),this._powBy=new W(this._layout,(null==e?void 0:e.name)||"",this._model,()=>this._model.fullUpdate()),this._custom=new H(this._layout,this._customLogoSrc,()=>this._model.fullUpdate()),this._openAnimation=null,this._closeAnimation=null}_checkLayout(){if(c.enabled("widget"))0;else if(c.enabled("charting_library")||c.enabled("trading_terminal")){ +const e=JSON.parse(M.logo)||{};e.image?(this._customLogoSrc=e.image,this._customLogoLink=e.link,this._needToShow=c.enabled("widget_logo"),c.enabled("link_to_tradingview")?this._layout="library_custom_branding":this._layout="library_custom_no_powered_branding"):(this._layout="library_branding",this._needToShow=c.enabled("widget_logo"))}else this._layout="site_branding"}_startOpenAnimation(){null===this._openAnimation&&(null!==this._closeAnimation&&(this._closeAnimation.stop(),this._closeAnimation=null),this._openAnimation=(0,_.doAnimate)({from:this._currentStateForAnimation(),to:this._openedStateForAnimation(),duration:200,easing:this._cubicBezier.easingFunc,onStep:this._animatedDrawStep.bind(this)}))}_startCloseAnimation(){null===this._closeAnimation&&(null!==this._openAnimation&&(this._openAnimation.stop(),this._openAnimation=null),this._closeAnimation=(0,_.doAnimate)({from:this._currentStateForAnimation(),to:this._closedStateForAnimation(),duration:200,easing:this._cubicBezier.easingFunc,onStep:this._animatedDrawStep.bind(this)}))}_currentStateForAnimation(){return(0,a.ensureNotNull)(this._powBy).width}_closedStateForAnimation(){return(0,a.ensureNotNull)(this._powBy).minimizedAnimationWidth()}_openedStateForAnimation(){return(0,a.ensureNotNull)(this._powBy).maximizedAnimationWidth()}_animatedDrawStep(e,t){(0,a.ensureNotNull)(this._powBy).animatedDrawStep(e,t),this._model.lightUpdate()}_hasAnimation(){return null!==this._powBy&&this._powBy.hasAnimation()}_openLink(){if("site_branding"===this._layout)return!1;c.enabled("widget");return(0,a.ensureNotNull)(window.open(this.tvUrl(),"_blank")).opener=null,!0}_toggleOpenAnimatedOrOpenLink(){null!==this._openAnimation&&this._openAnimation.completed()?this._openLink()||this._startCloseAnimation():this._startOpenAnimation()}}function D(e){return!y||e>500}const V={customBrandingTradingViewText:o.colorsPalette["color-brand"],customBrandingText:o.colorsPalette["color-cold-gray-850"],background:o.colorsPalette["color-cold-gray-900"],shadow:(0,p.generateColor)(o.colorsPalette["color-white"],91),text:o.colorsPalette["color-white"],staticTextBackground:(0,p.generateColor)(o.colorsPalette["color-cold-gray-800"],20),logo:o.colorsPalette["color-white"]},B={customBrandingTradingViewText:o.colorsPalette["color-brand"],customBrandingText:o.colorsPalette["color-cold-gray-850"],background:o.colorsPalette["color-white"],shadow:(0,p.generateColor)(o.colorsPalette["color-black"],91),text:o.colorsPalette["color-cold-gray-900"],staticTextBackground:(0,p.generateColor)(o.colorsPalette["color-white"],20),logo:o.colorsPalette["color-cold-gray-900"]};const N={};function R(e,t){const i=N[e];if(void 0!==i)return i.image||null;const s={};return N[e]=s,function(e){return new Promise(t=>{const i=f.replace(/fill="#[\da-f]{6}"/i,`fill="${e}"`),s=new Image;s.onload=()=>{s.onload=null,t(s)},s.src=URL.createObjectURL(new Blob([i],{type:"image/svg+xml"}))})}(e).then(e=>{s.image=e,t()}),null}function O(e){const{a:t,d:i,e:s,f:n}=e;return new r.Point(s/t,n/i)}class F{constructor(){this._originPoint=null} +hitTest(e){const t=this._getHitTestBox();if(t)return(0,n.pointInBox)(e,t)}_getHitTestBox(){const e=this._originPoint;if(e){const{x:t,y:i}=e;return(0,r.box)(e,new r.Point(t+this.width,i+this.height))}}}class W extends F{constructor(e,t,i,s){if(super(),this.show=!0,this.borderRadius=0,this._needDisplayImage=!1,this._imageWidth=22,this._imageHeight=11,this._animatedWidth=32,this._font="px "+v.CHART_FONT_FAMILY,this._txt="TradingView",this._textWidth=0,this._maximizedAnimationTextWidth=0,this._textWidthCache=new S.TextWidthCache,this._pixelRatio=1,this._model=i,this._layout=e,this._symbol=t,this.showAnimatedBranding=c.enabled("show_animated_logo")||"widget_branding"===this._layout,this._fontSize=this.showAnimatedBranding?11:14,this.showAnimatedBranding||"widget_custom_branding"!==this._layout&&"fundamental_custom_branding"!==this._layout||(this._fontSize=12),this.width=32,this.height=this._fontSize+2,this._onReadyCallback=s,this._init(),document.fonts&&document.fonts.check&&document.fonts.load){document.fonts.check(this._fontSize+"px EuclidCircular")?this._font="px EuclidCircular":document.fonts.load(this._fontSize+"px EuclidCircular",this._txt).then(()=>{this._font="px EuclidCircular",this._recalculateMetrics()})}this._recalculateMetrics()}destroy(){this._model.properties().childs().paneProperties.childs().background.unsubscribeAll(this),this._model.onChartThemeLoaded().unsubscribeAll(this)}hasAnimation(){return this.showAnimatedBranding}minimizedAnimationWidth(){return 32}maximizedAnimationWidth(){return this._maximizedAnimationTextWidth+32-3}animatedDrawStep(e,t){this._animatedWidth=t}draw(e,t,i){t.pixelRatio!==this._pixelRatio&&(this._textWidthCache.reset(),this._pixelRatio=t.pixelRatio);const s=this._colors;if(this.showAnimatedBranding)this._needDisplayImage&&null!==this._getLogoImage(s.logo)&&(e.save(),e.translate(-Math.ceil((32-this._imageWidth)/2),Math.floor((32-this._imageHeight)/2)),this._originPoint=O(e.getTransform()),this.borderRadius=16,this._drawFillRectWithRoundedCorner(e,-.5,0,this._animatedWidth,32,this.borderRadius),this._drawLogoImage(e,Math.round((32-this._imageWidth)/2),Math.round((32-this._imageHeight)/2)+0),this._animatedWidth>32&&(e.translate(Math.round(32),Math.round(this._fontSize*k(this._font))),this._drawFillTextCropWidth(e,this._animatedWidth-32)),e.restore(),this.width=this._animatedWidth);else if("widget_custom_branding"===this._layout||"fundamental_custom_branding"===this._layout){e.font=this._fontSize+this._font;const t=e.measureText(this._txt).width+2;this.width=t+e.measureText("TradingView").width+2,this._originPoint=O(e.getTransform()),e.save(),e.globalAlpha=.7,e.fillStyle=this._colors.customBrandingText,e.fillText(this._txt,0,12),e.fillStyle=this._colors.customBrandingTradingViewText,e.fillText("TradingView",t,12),e.restore()}else if(function(e){return!b||e>480}(i))if(this._needDisplayImage&&null!==this._getLogoImage(s.logo)){e.save(),e.translate(-Math.ceil((32-this._imageWidth)/2),Math.floor((32-this._imageHeight)/2)),this._originPoint=O(e.getTransform()),this.borderRadius=16, +this._drawBgCircle(e),e.drawImage((0,a.ensureNotNull)(this._getLogoImage(s.logo)),Math.round((32-this._imageWidth)/2),Math.round((32-this._imageHeight)/2)+0);const t=D(i);t&&(e.translate(37,Math.round(this._fontSize*k(this._font))),this._drawTextStroke(e),this._drawTextFill(e)),e.restore(),this.width=32,t&&(this.width+=this._maximizedAnimationTextWidth)}else{const t=D(i);t&&(e.save(),e.translate(I?-.5:0,-.5),this._drawTextStroke(e),this._drawTextFill(e),e.restore()),t&&(this.width=this._maximizedAnimationTextWidth)}else this.width=0}_init(){this._checkLayout(),this.show&&(this.height=this._needDisplayImage?32:this._fontSize+2,this._updateColors(),this._model.properties().childs().paneProperties.childs().background.subscribe(this,this._updateColors),this._model.onChartThemeLoaded().subscribe(this,this._updateColors))}_recalculateMetrics(){const e=(0,g.createDisconnectedBoundCanvas)(document,new g.Size(0,0)),t=(0,g.getPretransformedContext2D)(e,!0);t.font=this._fontSize+this._font,this._textWidth=Math.ceil(t.measureText(this._txt).width)+2;let i=this._textWidth+8;i%2==0&&(i+=1),this._maximizedAnimationTextWidth=i,this._textWidthCache.reset()}_updateColors(){this._colors=this._model.isDark()?V:B}_getLogoImage(e){return R(e,this._onReadyCallback)}_checkLayout(){switch(this._layout){case"widget_branding":case"widget_referral_branding":case"widget_custom_branding":case"fundamental_branding":case"fundamental_custom_branding":case"library_custom_branding":case"library_branding":case"site_branding":this.show=!0;break;case"widget_custom_no_powered_branding":case"fundamental_custom_no_powered_branding":case"library_custom_no_powered_branding":this.show=!1}switch(this._layout){case"library_branding":this._needDisplayImage=!0,this._txt=L;break;case"library_custom_branding":this._txt=A}}_drawTextStroke(e){e.save(),e.textBaseline="middle",e.textAlign="start",e.font=this._fontSize+this._font,e.strokeStyle=this._colors.staticTextBackground,e.lineWidth=4,e.lineJoin="round",e.strokeText(this._txt,0,16+this._textWidthCache.yMidCorrection(e,this._txt)),e.restore()}_drawTextFill(e){e.save(),e.textBaseline="middle",e.textAlign="start",e.font=this._fontSize+this._font,e.fillStyle=this._colors.text,e.fillText(this._txt,0,16+this._textWidthCache.yMidCorrection(e,this._txt)),e.restore()}_drawFillTextCropWidth(e,t){e.save(),e.beginPath(),e.rect(0,0,t,this.height),e.clip(),this._drawTextFill(e),e.restore()}_drawBgCircle(e){const t=this.borderRadius,i=2*Math.PI;e.save(),e.beginPath(),e.fillStyle=this._colors.shadow,e.arc(t,t,t+1,0,i),e.fill(),e.closePath(),e.restore(),e.save(),e.beginPath(),e.fillStyle=this._colors.background,e.arc(t,t,t,0,i,!1),e.fill(),e.closePath(),e.restore()}_drawFillRectWithRoundedCorner(e,t,i,s,r,n){e.save(),(0,m.drawRoundRect)(e,t-1,i-1,s+2,r+2,n),e.fillStyle=this._colors.shadow,e.fill(),e.closePath(),e.restore(),e.save(),(0,m.drawRoundRect)(e,t,i,s,r,n),e.fillStyle=this._colors.background,e.fill(),e.closePath(),e.restore()}_drawLogoImage(e,t,i){e.drawImage((0,a.ensureNotNull)(this._getLogoImage(this._colors.logo)),t,i)}} +class H extends F{constructor(e,t,i){super(),this.show=!1,this.width=0,this.height=0,this._ready=!1,this._layout=e,this._src=t,this._onReadyCallback=i,this._checkLayout();const s=new Image;this._img=s,this.show&&(s.addEventListener("load",()=>{this.width=Math.round(s.width),this.height=Math.round(s.height),this._ready=!0,this._onReadyCallback&&this._onReadyCallback()}),s.crossOrigin="anonymous",s.src=this._src)}draw(e,t){this._ready&&(e.drawImage(this._img,-.5,-.5,this.width,this.height),this._originPoint=O(e.getTransform()))}_checkLayout(){switch(this._layout){case"widget_custom_branding":case"widget_custom_no_powered_branding":case"fundamental_custom_branding":case"fundamental_custom_no_powered_branding":case"library_custom_branding":case"library_custom_no_powered_branding":this.show=!0;break;case"site_branding":case"widget_branding":case"widget_referral_branding":case"fundamental_branding":case"library_branding":this.show=!1}}}function z(e,t){function i(t){const i=e.getAll();if(1===i.length)return!0;const s=i[0].hasModel()&&i[0].model();return s&&s.model()===t}e.addCustomSource("branding",(e,s)=>new E(e,s,i.bind(null,s),t))}},16932:(e,t,i)=>{"use strict";i.d(t,{Size:()=>o,getCanvasDevicePixelRatio:()=>a,getContext2D:()=>l,getPrescaledContext2D:()=>c,getPretransformedContext2D:()=>h,fillRect:()=>d,clearRect:()=>u,drawScaled:()=>p,createDisconnectedCanvas:()=>_,createDisconnectedBoundCanvas:()=>m,createBoundCanvas:()=>f,calcTextHorizontalShift:()=>v,disableSelection:()=>S});var s=i(68545),r=i(16282),n=i(76553);class o{constructor(e,t){this.w=e,this.h=t}equals(e){return this.w===e.w&&this.h===e.h}}function a(e){var t,i;return Math.max(1,(null===(i=null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView)||void 0===i?void 0:i.devicePixelRatio)||1)}function l(e){const t=(0,r.ensureNotNull)(e.getContext("2d"));return t.setTransform(1,0,0,1,0,0),t}function c(e){const t=(0,r.ensureNotNull)(e.getContext("2d")),i=a(e);return t.setTransform(i,0,0,i,0,0),t}function h(e,t){const i=(0,r.ensureNotNull)(e.canvas.getContext("2d"));return i.setTransform(e.pixelRatio,0,0,e.pixelRatio,0,0),t||i.translate(.5,.5),i}function d(e,t,i,s,r,n){e.save(),e.translate(-.5,-.5),e.fillStyle=n,e.fillRect(t,i,s,r),e.restore()}function u(e,t,i,s,r,n){e.save(),e.translate(-.5,-.5),e.globalCompositeOperation="copy",e.fillStyle=n,e.fillRect(t,i,s,r),e.restore()}function p(e,t,i){e.save(),e.scale(t,t),i(),e.restore()}function _(e,t,i){const s=g(e);return void 0===i&&(i=a(s)),s.width=t.w*i,s.height=t.h*i,s}function m(e,t){const i=g(e),r=(0,s.bindToDevicePixelRatio)(i,{allowDownsampling:!1});return r.resizeCanvas({width:t.w,height:t.h}),r}function g(e){const t=e.createElement("canvas");return S(t),t}function f(e,t){const i=g((0,r.ensureNotNull)(e.ownerDocument));e.appendChild(i);const n=(0,s.bindToDevicePixelRatio)(i,{allowDownsampling:!1});return n.resizeCanvas({width:t.w,height:t.h}),n}function v(e,t){return"center"===e.textAlign?0:(0,n.isRtl)()?"start"===e.textAlign||"right"===e.textAlign?t:0:"start"===e.textAlign||"left"===e.textAlign?0:t} +function S(e){e.style.userSelect="none",e.style.webkitUserSelect="none",e.style.msUserSelect="none",e.style.MozUserSelect="none",e.style.webkitTapHighlightColor="transparent"}},9884:(e,t,i)=>{"use strict";i.d(t,{ChartChangesWatcher:()=>n});var s=i(5729),r=i.n(s);class n{constructor(e,t,i,s){this._undoHistoryHasChanges=!1,this._hasChanges=!1,this._recalculateHaveChanges=()=>{const e=this._undoHistoryHasChanges||this._lineToolsHaveChanges.value();e!==this._hasChanges&&(this._hasChanges=e,this._onValueChanged.fire(e))},this._undoHistory=e,this._lineToolsHaveChanges=t,this._chartSaver=i,this._globalEvents=s,this._onValueChanged=new(r()),this._subscribe()}destroy(){this._unsubscribe(),this._onValueChanged.destroy()}hasChanges(){return this._hasChanges}getOnChange(){return this._onValueChanged}_subscribe(){this._globalEvents.subscribe("chart_loaded",this._handleChartLoaded,this),this._undoHistory.undoStack().onChange().subscribe(this,this._handleUndoHistoryChange),this._chartSaver.chartSaved().subscribe(this,this._handleChartSaved),this._lineToolsHaveChanges.subscribe(this._recalculateHaveChanges)}_unsubscribe(){this._globalEvents.unsubscribe("chart_loaded",this._handleChartLoaded,this),this._undoHistory.undoStack().onChange().unsubscribe(this,this._handleUndoHistoryChange),this._chartSaver.chartSaved().unsubscribe(this,this._handleChartSaved),this._lineToolsHaveChanges.unsubscribe(this._recalculateHaveChanges)}_setUndoHistoryHasChanges(e){this._undoHistoryHasChanges=e,this._recalculateHaveChanges()}_handleChartLoaded(){this._setUndoHistoryHasChanges(!1)}_handleUndoHistoryChange(e){e&&!e.customFlag("doesnt_affect_save")&&this._setUndoHistoryHasChanges(!0)}_handleChartSaved(e){e&&this._setUndoHistoryHasChanges(!1)}}},14734:(e,t,i)=>{"use strict";i.d(t,{shiftPressed:()=>p,modifierPressed:()=>_,globalEnvironmentState:()=>m,ChartHotkeysListener:()=>g});var s=i(60934),r=i(42998),n=i(15738),o=i(32856),a=i.n(o),l=i(57296);const c=new(a())(Boolean(s.pressedKeys.value()&r.Modifiers.Shift)),h=new(a())(Boolean(s.pressedKeys.value()&r.Modifiers.Mod)),d=new(a())(Boolean(s.pressedKeys.value()&r.Modifiers.Alt)),u=[r.Modifiers.None,r.Modifiers.Alt,r.Modifiers.Mod,r.Modifiers.Alt+r.Modifiers.Shift];function p(){return c}function _(){return h}function m(){return new l.EnvironmentState({altKey:d.value(),ctrlKey:_().value(),metaKey:_().value(),shiftKey:p().value()})}s.pressedKeys.subscribe(e=>{c.setValue(Boolean(e&r.Modifiers.Shift)),h.setValue(Boolean(e&r.Modifiers.Mod)),d.setValue(Boolean(e&r.Modifiers.Alt))});class g{constructor(e,t){this._pressedKeyCode=null,this._boundKeydownHandler=null,this._boundKeyupHandler=null,this._chartWidget=e,this._parent=t,this._boundKeydownHandler=this._keydownHandler.bind(this),this._boundKeyupHandler=this._keyupHandler.bind(this),this._parent.ownerDocument.addEventListener("keydown",this._boundKeydownHandler),this._parent.ownerDocument.addEventListener("keyup",this._boundKeyupHandler)}destroy(){ +null!==this._boundKeydownHandler&&(this._parent.ownerDocument.removeEventListener("keydown",this._boundKeydownHandler),this._boundKeydownHandler=null),null!==this._boundKeyupHandler&&(this._parent.ownerDocument.removeEventListener("keyup",this._boundKeyupHandler),this._boundKeyupHandler=null)}_keydownHandler(e){this._chartWidget.hasModel()&&window.document.activeElement===window.document.body&&this._chartWidget.isActive()&&(this._handleMoveDrawingsKeyDown(e)||this._handleScrollKeyDown(e)||this._handleZoomKeyDown(e))&&e.preventDefault()}_keyupHandler(e){this._chartWidget.hasModel()&&this._handleScrollKeyUp(e)}_handleMoveDrawingsKeyDown(e){const t=255&(0,r.hashFromEvent)(e),i=this._chartWidget.model();switch(t){case 37:return i.moveSelectedToolsLeft();case 39:return i.moveSelectedToolsRight();case 38:return i.moveSelectedToolsUp();case 40:return i.moveSelectedToolsDown()}return!1}_handleScrollKeyDown(e){if(null!==this._pressedKeyCode)return!1;const t=(0,r.hashFromEvent)(e),i=255&t,s=(0,r.modifiersFromEvent)(e);let o;if(37===i)o=1;else{if(39!==i)return!1;o=-1}return!(r.isMacKeyboard&&s===r.Modifiers.Mod||!u.includes(s))&&(!(0,n.isNativeUIInteraction)(t,e.target)&&(this._pressedKeyCode=i,s===r.Modifiers.None?this._chartWidget.scrollHelper().moveByBar(o):s===r.Modifiers.Alt||s===r.Modifiers.Mod?this._chartWidget.scrollHelper().move(o):-1===o?this._chartWidget.model().timeScale().scrollToRealtime(!0):this._chartWidget.model().timeScale().scrollToFirstBar(),!0))}_handleScrollKeyUp(e){if(null===this._pressedKeyCode)return!1;const t=(0,r.hashFromEvent)(e);if((0,n.isNativeUIInteraction)(t,e.target))return!1;return(255&t)===this._pressedKeyCode&&(this._pressedKeyCode=null,this._chartWidget.scrollHelper().stopMove(),!0)}_handleZoomKeyDown(e){const t=(0,r.hashFromEvent)(e),i=255&t;if((0,r.modifiersFromEvent)(e)!==r.Modifiers.Mod||(0,n.isNativeUIInteraction)(t,e.target))return!1;const s=this._chartWidget.model();if(38===i)s.zoomIn();else{if(40!==i)return!1;s.zoomOut()}return!0}}},30566:(e,t,i)=>{"use strict";i.d(t,{ChartWidgetApiBase:()=>P});var s=i(16282),r=i(79881),n=i(90963),o=i(35001),a=i(42062),l=i(33287);class c{constructor(e){this._timeScale=e}coordinateToTime(e){const t=this._timeScale.coordinateToIndex(e);return this._timeScale.indexToTimePoint(t)}barSpacingChanged(){return this._timeScale.barSpacingChanged()}rightOffsetChanged(){return this._timeScale.rightOffsetChanged()}setRightOffset(e){this._timeScale.setRightOffset(e)}setBarSpacing(e){this._timeScale.setBarSpacing(e)}barSpacing(){return this._timeScale.barSpacing()}rightOffset(){return this._timeScale.rightOffset()}width(){return this._timeScale.width()}defaultRightOffset(){return this._timeScale.defaultRightOffset()}}var h=i(5729),d=i.n(h),u=i(94975);const p=new n.TranslatedString("change timezone",(0,r.t)("change timezone"));class _{constructor(e){this._onTimezoneChanged=new(d()),this._chartWidget=e,this._timezoneProperty=e.properties().childs().timezone,this._timezoneProperty.subscribe(this,e=>{this._onTimezoneChanged.fire(e.value())}), +e.onAboutToBeDestroyed().subscribe(this,()=>{this._timezoneProperty.unsubscribeAll(this)},!0)}availableTimezones(){return u.availableTimezones}getTimezone(){const e=this._timezoneProperty.value();return(0,s.ensureDefined)(u.availableTimezones.find(t=>t.id===e))}setTimezone(e,t){(0,s.assert)((0,u.timezoneIsAvailable)(e),"Incorrect timezone: "+e),(null==t?void 0:t.disableUndo)?this._timezoneProperty.setValue(e):this._chartWidget.model().setProperty(this._timezoneProperty,e,p)}onTimezoneChanged(){return this._onTimezoneChanged}}var m=i(73900),g=i(18174),f=i(7346);function v(e,t){const i=()=>{e.completed().unsubscribe(null,s),t(!1)},s=()=>{e.error().unsubscribe(null,i),t(!0)};e.completed().subscribe(null,i,!0),e.error().subscribe(null,s,!0)}var S=i(63059);const y=new n.TranslatedString("change price to bar ratio",(0,r.t)("change price to bar ratio")),b=new n.TranslatedString("toggle lock scale",(0,r.t)("toggle lock scale")),w=new n.TranslatedString("change series style",(0,r.t)("change series style"));class P{constructor(e,t){this._visibleBarsChanged=new(d()),this._crosshairMoved=new(d()),this._ranges=null,this._alignerResolution=o.Interval.parse(""),this._alignerSymbolInfo=null,this._dwmAligner=null,this._chartWidget=e,this._activateChart=t,this._timezoneApi=new _(e),this._chartWidget.withModel(this,()=>{this._chartWidget.model().crossHairSource().moved().subscribe(this,this._onCrosshairMoved)})}getPriceToBarRatio(){return this._chartWidget.model().model().mainSeriesScaleRatioProperty().value()}setPriceToBarRatio(e,t){const i=this._chartWidget.model(),s=i.model(),r=s.mainSeriesScaleRatioProperty();(null==t?void 0:t.disableUndo)?new f.SetScaleRatioPropertiesCommand(r,e,null,s).redo():i.setScaleRatioProperty(r,e,y)}isPriceToBarRatioLocked(){return this._chartWidget.model().model().mainSeries().priceScale().isLockScale()}setPriceToBarRatioLocked(e,t){const i=this._chartWidget.model(),s=i.model(),r=s.mainSeries().priceScale();(null==t?void 0:t.disableUndo)?new g.SetPriceScaleModeCommand({lockScale:e},r,null,s).redo():i.setPriceScaleMode({lockScale:e},r,b)}onDataLoaded(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().dataEvents().completed())}onSymbolChanged(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().dataEvents().symbolResolved())}onIntervalChanged(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().onIntervalChanged())}onVisibleRangeChanged(){return this._makeSubscriptionFromDelegate(this._visibleBarsChanged)}onChartTypeChanged(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().onStyleChanged())}onSeriesTimeframe(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().dataEvents().seriesTimeFrame())}whenChartReady(e){this._chartWidget.withModel(this,e)}crossHairMoved(){return this._makeSubscriptionFromDelegate(this._crosshairMoved)}setSymbol(e,t){if(e===this.symbol())return void(null==t||t());const i=e=>{!e&&t&&t() +},s=this._chartWidget.model().mainSeries().dataEvents();t&&v(s,i),this._activateChart(),this._chartWidget.setSymbol(e)}setResolution(e,t){const i=o.Interval.normalize(e);if(null===i||i===this.resolution())return void(null==t||t());const s=e=>{!e&&t&&t()},r=this._chartWidget.model().mainSeries().dataEvents();t&&v(r,s),this._activateChart(),this._chartWidget.setResolution(i)}setChartType(e,t){const i=this._chartWidget.model().mainSeries().properties().childs().style;if(i.value()===e)return void(null==t||t());const s=e=>{!e&&t&&t()},r=this._chartWidget.model().mainSeries().dataEvents();t&&v(r,s),this._chartWidget.model().setChartStyleProperty(i,e,w)}getAllStudies(){return this._chartWidget.model().model().allStudies(!0).map(m.studyEntityInfo)}getAllPanesHeight(){const e=this._chartWidget.model().model().panes();if(this._chartWidget.isMaximizedPane()){let t=0,i=0;e.forEach(e=>{t+=e.height(),i+=e.stretchFactor()});const s=i/t;return e.map(e=>Math.round(e.stretchFactor()/s*100)/100)}return e.map(e=>e.height())}setAllPanesHeight(e){const t=this._chartWidget.model().model(),i=t.panes();(0,s.assert)(i.length===e.length,"There`s a mismatch between the number of heights you provided and the number of panes.");const r=i.reduce((e,t)=>e+t.stretchFactor(),0)/e.reduce((e,t)=>e+t);e.forEach((e,t)=>{const s=e*r;i[t].setStretchFactor(s)}),t.fullUpdate()}sessions(){return this._chartWidget.model().model().sessions()}getTimeScaleLogicalRange(){return this._chartWidget.model().timeScale().logicalRange()}getTimezoneApi(){return this._timezoneApi}exportData(e){const t={...e};return void 0!==t.from&&(t.from=this._convertTimeFromPublic(t.from)),void 0!==t.to&&(t.to=this._convertTimeFromPublic(t.to)),i.e(9498).then(i.bind(i,70867)).then(e=>e.exportData(this._chartWidget.model().model(),t))}barTimeToEndOfPeriod(e){const t=this._prepareEndOfPeriodArgs();return(0,l.barTimeToEndOfPeriod)(t.barBuilder,e,t.intervalObj)}endOfPeriodToBarTime(e){const t=this._prepareEndOfPeriodArgs();return(0,l.endOfPeriodToBarTime)(t.barBuilder,e,t.intervalObj)}properties(){return this._chartWidget.properties()}setBarSpacing(e){this._chartWidget.model().timeScale().setBarSpacing(e)}scrollChartByBar(e){this._chartWidget.model().scrollChartByBar(e)}mergeAllScales(e){this._chartWidget.model().mergeAllScales(e)}chartPainted(){return this._chartWidget.chartPainted()}axesSizeReady(){for(const e of this._chartWidget.paneWidgets()){for(const t of e.leftPriceAxisesContainer().axes())if(!t.sizeReady())return!1;for(const t of e.rightPriceAxisesContainer().axes())if(!t.sizeReady())return!1}return!0}applyOverrides(e){this._chartWidget.applyOverrides(e)}addOverlayStudy(e,t,i){return this._chartWidget.addOverlayStudy(e,t,i)}ranges(){throw new Error("not implemented")}getTimeScale(){return new c(this._chartWidget.model().timeScale())}_destroy(){this._chartWidget.hasModel()&&this._chartWidget.model().crossHairSource().moved().unsubscribeAll(this)}_createStudy(e){return Promise.reject("Pine and java studies are not supported")}_convertTimeToPublic(e){const t=this._getSeriesAligner() +;return null!==t?t.timeToExchangeTradingDay(1e3*e)/1e3:e}_convertIndexToPublicTime(e){const t=this._chartWidget.model(),i=t.timeScale();if(i.isEmpty())return null;const r=i.points(),n=(0,s.ensureNotNull)(r.firstIndex()),o=(0,s.ensureNotNull)(r.lastIndex());let a=null;if(n<=e&&e<=o)a=r.valueAt(e);else if(e>o){const r=t.mainSeries().syncModel();if(null!==r){const t=(0,s.ensureNotNull)(i.indexToTimePoint(o));a=r.projectTime(t,e-o)}}return null!==a&&(a=this._convertTimeToPublic(a)),a}_convertTimeFromPublic(e){const t=this._getSeriesAligner();return null!==t?t.timeToSessionStart(1e3*e)/1e3:e}_getSeriesAligner(){const e=this._chartWidget.model().mainSeries(),t=e.interval(),i=o.Interval.parse(t),s=e.symbolInfo();return this._alignerResolution.isEqualTo(i)&&this._alignerSymbolInfo===s||(this._dwmAligner=null===s?null:(0,S.createDwmAligner)(t,s),this._alignerResolution=i,this._alignerSymbolInfo=s),this._dwmAligner}_onCrosshairMoved(e){const t=this._convertIndexToPublicTime(e.index);null!==t&&this._crosshairMoved.fire({price:e.price,time:t})}_makeSubscriptionFromDelegate(e){return{subscribe:e.subscribe.bind(e),unsubscribe:e.unsubscribe.bind(e),unsubscribeAll:e.unsubscribeAll.bind(e)}}_prepareEndOfPeriodArgs(){const e=this._chartWidget.model().model(),t=e.timezone(),i=(0,s.ensureNotNull)(e.mainSeries().symbolInfo()),r=e.mainSeries().interval(),n=new a.SessionInfo(t,i.session,i.session_holidays,i.corrections);return{barBuilder:(0,a.newBarBuilder)(r,n,n),intervalObj:o.Interval.parse(r)}}}},83233:(e,t,i)=>{"use strict";i.d(t,{ChartWidgetBase:()=>Et});var s=i(16282),r=i(79881),n=i(65447);function o(e,t){const i=Object.create(Object.getPrototypeOf(e));for(const s of t)Object.prototype.hasOwnProperty.call(e,s)&&(i[s]=e[s]);return i}var a=i(64222),l=i(43367),c=i(61389),h=i(18437),d=i(58738);let u;class p extends d.DialogRenderer{constructor(){super(),this._dialog=null,this._subscribe=e=>{this._setVisibility(e)}}show(){this._load().then(e=>e.show())}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}static getInstance(){return u||(u=new p),u}_load(){return Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(3894),i.e(3996),i.e(8193),i.e(7936),i.e(8604),i.e(2359),i.e(9843),i.e(6637),i.e(7400),i.e(5984),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(1829),i.e(5030),i.e(7962),i.e(7703),i.e(7799),i.e(4862)]).then(i.bind(i,72651)).then(e=>{var t,i;return null===(t=this._dialog)||void 0===t||t.hide(),null===(i=this._dialog)||void 0===i||i.visible().unsubscribe(this._subscribe),this._dialog=new e.ObjectTreeDialogRenderer,this._dialog.visible().subscribe(this._subscribe),this._dialog})}}var _=i(47903),m=i(45053),g=i(2073);var f=i(67945),v=i(17e3),S=i(69881),y=i(11092),b=i(47329),w=i(55663),P=i(72927),C=i(53312),T=i(90963),x=i(87910),I=i(7532),M=i(10288),L=i(23221),A=i(57296),k=i(21698),E=i(15521),D=i(81262),V=i(43492),B=i(29448),N=i(16932),R=i(55430),O=i(79204),F=i(99182),W=i(5025),H=i(92137),z=i(73395),U=i(87438),j=i(54837),G=i(65726),q=i(57968),Y=i(25292),$=i(28429) +;class K{constructor(){this._width=null,this._currencyInfo=null,this._unitInfo=null,this._fontSize=0,this._currencyAndUnitLabelsWrapper=document.createElement("div"),this._currencyAndUnitLabelsWrapper.className=$["price-axis-currency-label-wrapper"],this._controlsContainer=document.createElement("table"),this._controlsContainer.className=$["price-axis-currency-label"],this._currencyAndUnitLabelsWrapper.appendChild(this._controlsContainer),this._currencyLabelTr=document.createElement("tr"),this._currencyLabelTr.className=$["price-axis-currency-label-dropdown"],this._currencyLabelTr.classList.add("apply-common-tooltip"),(0,G.setTooltipData)(this._currencyLabelTr,"text",e=>this._currencyTooltipContent());const e=document.createElement("td");this._currencyText=document.createElement("span"),this._currencyText.className=$["price-axis-currency-label-text"],e.appendChild(this._currencyText),this._currencyLabelTr.appendChild(e);const t=document.createElement("td");this._currencyArrowDown=document.createElement("span"),this._currencyArrowDown.className=$["price-axis-currency-label-arrow-down"],this._currencyArrowDown.innerHTML=Y,t.appendChild(this._currencyArrowDown),this._currencyLabelTr.appendChild(t),this._unitLabelTr=document.createElement("tr"),this._unitLabelTr.className=$["price-axis-currency-label-dropdown"],this._unitLabelTr.classList.add("apply-common-tooltip"),(0,G.setTooltipData)(this._unitLabelTr,"text",e=>this._unitTooltipContent());const i=document.createElement("td");this._unitText=document.createElement("span"),this._unitText.className=$["price-axis-currency-label-text"],i.appendChild(this._unitText),this._unitLabelTr.appendChild(i);const s=document.createElement("td");this._unitArrowDown=document.createElement("span"),this._unitArrowDown.className=$["price-axis-currency-label-arrow-down"],this._unitArrowDown.innerHTML=Y,s.appendChild(this._unitArrowDown),this._unitLabelTr.appendChild(s),this._controlsContainer.appendChild(this._currencyLabelTr),this._controlsContainer.appendChild(this._unitLabelTr),this.hideCurrency(),this.hideUnit()}element(){return this._currencyAndUnitLabelsWrapper}currencyLabelElement(){return this._currencyLabelTr}unitLabelElement(){return this._unitLabelTr}isVisible(){return this.currencyLabelVisible()||this.unitLabelVisible()}width(){if(null!==this._width)return this._width;let e=0;if(this.currencyLabelVisible()){const t=this._currencyLabelTr.getBoundingClientRect();e=Math.max(e,t.right-t.left+1+8)}if(this.unitLabelVisible()){const t=this._unitLabelTr.getBoundingClientRect();e=Math.max(e,t.right-t.left+1+8)}return this._width=e,e}drawLabel(e,t,i,s){if(!this.isVisible())return;const r=this.currencyLabelVisible()?this._currencyText.textContent||"":this._unitText.textContent||"",n=this._unitText.textContent||"";e.font=(0,z.makeFont)(this._fontSize,j.CHART_FONT_FAMILY);const o=new H.TextWidthCache,a=2*Number($.css_value_currency_label_text_horizontal_padding)+Math.max(o.measureText(e,r),o.measureText(e,n)),l=o.yMidCorrection(e,r),c=o.yMidCorrection(e,n),h=Math.round(t/2*i),d=(0, +q.ceiledEven)(a*i/2),u=this._controlsContainer.style,p=Math.round(this.labelTop()*i),_=Math.round(this.labelBottom()*i),m=_-p,g=Math.round(Number($.css_value_currency_label_radius)*i);(0,R.drawRoundRect)(e,h-d,p,2*d,m,g),e.fillStyle=u.backgroundColor,e.fill();const f=Math.max(1,Math.floor(i));e.lineWidth=f,e.strokeStyle=s?$.css_value_border_color_dark:$.css_value_border_color_light,(0,R.drawRoundRect)(e,h-d+f/2,p+f/2,2*d-f,m-f,g),e.stroke();const v=p+(_-p-1)/2,S=this._isMultiLine();S&&(0,R.drawHorizontalLine)(e,Math.floor(v+f/2),h-d,h+d);const y=this._oneLineHeight()/2*i,b=S?Math.ceil(v-y):v,w=Math.ceil(v+y);e.fillStyle=u.color,e.textBaseline="middle",e.textAlign="center",(0,N.drawScaled)(e,i,()=>e.fillText(r,h/i,(b+l)/i)),S&&(0,N.drawScaled)(e,i,()=>e.fillText(n,h/i,(w+c)/i))}showCurrency(){this._currencyLabelTr.classList.remove("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}hideCurrency(){this._currencyLabelTr.classList.add("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}showUnit(){this._unitLabelTr.classList.remove("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}hideUnit(){this._unitLabelTr.classList.add("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}currencyLabelVisible(){return!this._currencyLabelTr.classList.contains("js-hidden")}unitLabelVisible(){return!this._unitLabelTr.classList.contains("js-hidden")}setCurrencyInfo(e){if(this._currencyInfo===e)return!1;this._currencyInfo=e;const t=null===e.selectedCurrency?(0,r.t)("Mixed"):(0,s.ensureDefined)(e.displayedValues.get(e.selectedCurrency));return this._currencyText.textContent!==t&&(this._currencyText.textContent=t,this._width=null),this._currencyArrowDown.classList.contains("js-hidden")!==e.readOnly&&(this._currencyArrowDown.classList.toggle("js-hidden",e.readOnly),this._currencyLabelTr.classList.toggle($.readonly,e.readOnly),this._width=null),!0}setUnitInfo(e){if(null!==this._unitInfo&&this._unitInfo.selectedUnit===e.selectedUnit&&0===this._unitInfo.availableGroups.size==(0===e.availableGroups.size)&&this._unitInfo.originalUnits.size===e.originalUnits.size)return this._unitInfo=e,!1;this._unitInfo=e;const t=null===e.selectedUnit?(0,r.t)("Mixed"):(0,s.ensureDefined)(e.names.get(e.selectedUnit));return this._unitText.textContent!==t&&(this._unitText.textContent=t,this._width=null),this._unitArrowDown.classList.contains("js-hidden")!==(0===e.availableGroups.size)&&(this._unitArrowDown.classList.toggle("js-hidden",0===e.availableGroups.size),this._unitLabelTr.classList.toggle($.readonly,0===e.availableGroups.size),this._width=null),!0}updateColors(e,t){const i=this._controlsContainer.style;i.background=e,i.color=t}currencyInfo(){return this._currencyInfo}unitInfo(){return this._unitInfo}setFontSize(e){this._fontSize!==e&&(this._fontSize=e,this._currencyLabelTr.style.fontSize=e+"px",this._unitLabelTr.style.fontSize=e+"px",this._width=null,this._setLineHeight(this._oneLineHeight()))}labelTop(){return Number($.css_value_currency_label_top)} +labelBottom(){const e=this.labelTop(),t=this._oneLineHeight();let i=e+t;return this._isMultiLine()&&(i+=t+1),i}_currencyTooltipContent(){const e=this._currencyInfo;return null===e?"":null===e.selectedCurrency?Array.from(e.currencies).map(t=>(0,s.ensureDefined)(e.displayedValues.get(t))).join(", "):""}_unitTooltipContent(){const e=this._unitInfo;return null===e?"":null===e.selectedUnit?Array.from(e.units).map(t=>(0,s.ensureDefined)(e.names.get(t))).join(", "):e.descriptions.get(e.selectedUnit)||""}_setLineHeight(e){this._currencyLabelTr.style.lineHeight=e+"px",this._unitLabelTr.style.lineHeight=e+"px"}_updateMultiLine(){this._controlsContainer.classList.toggle($.multiline,this._isMultiLine())}_updateVisibility(){this._currencyAndUnitLabelsWrapper.classList.toggle("js-hidden",!this.isVisible())}_oneLineHeight(){return 7+this._fontSize}_isMultiLine(){return this.unitLabelVisible()&&this.currencyLabelVisible()}}async function X(e,t,s){const[r,n]=await Promise.all([Promise.all([i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(3996),i.e(3708),i.e(6473),i.e(3537),i.e(339),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(3590),i.e(2704)]).then(i.bind(i,23412)),t()]);return r.showUnitConversion(e,s,n)}var Z=i(6799);function J(e,t){let{deltaX:i,deltaY:s}=e;switch(i/=100,s/=100,t.deltaMode){case t.DOM_DELTA_PAGE:i*=120,s*=120;break;case t.DOM_DELTA_LINE:i*=32,s*=32}return{deltaX:i,deltaY:s}}class Q{constructor(){this._totalDeltaX=0,this._totalDeltaY=0,this._prevWheelTime=0}processWheel(e){e.timeStamp-this._prevWheelTime>100&&this._reset(),this._totalDeltaX+=e.deltaX,this._totalDeltaY+=e.deltaY,this._prevWheelTime=e.timeStamp;const t={deltaX:e.deltaX,deltaY:e.deltaY};return 0===this._totalDeltaX||0===this._totalDeltaY||(Math.abs(this._totalDeltaX)>=Math.abs(3*this._totalDeltaY)&&(t.deltaY=0),Math.abs(this._totalDeltaY)>=Math.abs(3*this._totalDeltaX)&&(t.deltaX=0)),J(t,e)}_reset(){this._totalDeltaX=0,this._totalDeltaY=0}}var ee=i(42998),te=i(28745),ie=i(43434),se=i(27490),re=i(21209),ne=i(46374),oe=i(97033);i(95411);const ae=new T.TranslatedString("change no overlapping labels",(0,r.t)("change no overlapping labels")),le=(0,r.t)("Merge all scales into one"),ce=(0,r.t)("Labels"),he=(0,r.t)("Currencies"),de=(0,r.t)("Units"),ue=(0,r.t)("Reset price scale"),pe=(0,r.t)("Auto (fits data to screen)"),_e=(0,r.t)("Percent",{context:"scale_menu"}),me=(0,r.t)("Indexed to 100",{context:"scale_menu"}),ge=(0,r.t)("Logarithmic",{context:"scale_menu"}),fe=(0,r.t)("Regular",{context:"scale_menu"}),ve=(0,r.t)("No overlapping labels",{context:"scale_menu"}),Se=(0,r.t)("Invert scale",{context:"scale_menu"});const ye=function(e){const t=new ie.LimitedPrecisionNumericFormatter(e);return(e,i)=>(0,_.isNumber)(i)&&!e.isLog()?t.format(i):""}(4),be={contextMenuEnabled:!0,currencyConversionEnabled:!1,unitConversionEnabled:!1,countdownEnabled:!0,contextMenu:{general:!0,source:!0},pressedMouseMoveScale:!0,mouseWheelScale:!0,pinchScale:!0,croppedTickMarks:!0};class we{constructor(e,t,i,s,r,n,o,a,l){this._actions=null,this._priceScale=null, +this._widthCache=new H.TextWidthCache(1e3),this._color=null,this._fontSize=null,this._currencyFontSize=0,this._currencyLabelWidth=null,this._isVisible=!0,this._updateTimeout=null,this._currencyMenu=null,this._unitMenu=null,this._prevOptimalWidth=0,this._size=new N.Size(-1,-1),this._currentCursorClassName="",this._destroyed=!1,this._highlighted=!1,this._mouseWheelHelper=null,this._dragScaleActive=!1,this._offset=NaN,this._pinching=!1,this._chart=e,this._pane=t,this._undoModel=i,this._properties=s,this._isLeft="left"===n,this._options=(0,_.merge)((0,_.clone)(be),o),this._rendererOptionsProvider=r,this._backgroundBasedTheme=l,this._cell=document.createElement("div"),this._cell.className="price-axis",this._cell.style.width="25px",this._cell.style.left="0",this._canvasConfiguredHandler=()=>{this._undoModel.model().lightUpdate()},this._canvasBinding=(0,N.createBoundCanvas)(this._cell,new N.Size(16,16)),this._canvasBinding.subscribeCanvasConfigured(this._canvasConfiguredHandler);const c=this._canvasBinding.canvas;c.style.position="absolute",c.style.zIndex="1",c.style.left="0",c.style.top="0",this._topCanvasConfiguredHandler=()=>this._undoModel.model().lightUpdate(),this._topCanvasBinding=(0,N.createBoundCanvas)(this._cell,new N.Size(16,16)),this._topCanvasBinding.subscribeCanvasConfigured(this._topCanvasConfiguredHandler);const h=this._topCanvasBinding.canvas;h.style.position="absolute",h.style.zIndex="2",h.style.left="0",h.style.top="0",this._mouseEventHandler=new B.MouseEventHandler(this._cell,this,{treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!0}),this._options.currencyConversionEnabled||this._options.unitConversionEnabled?(this._currencyLabel=new K,this._cell.appendChild(this._currencyLabel.element())):this._currencyLabel=null,this._properties.childs().fontSize.subscribe(this,this._onFontSizeChanged),this._options.mouseWheelScale&&(this._mouseWheelHelper=new Q,this._cell.addEventListener("wheel",this._onMousewheel.bind(this),{passive:!1})),this._axisInfo=a,this._offset=0,this.restoreDefaultCursor(),this.update()}getContextMenuActions(){this._initActions();const e=(0,s.ensureNotNull)(this._actions),t=this._chart.actions(),i=[];return i.push(e.reset,new ne.Separator,this._autoScaleAction()),this._isMainSeriesAxis()&&i.push(this._lockScaleAction()),i.push(t.scaleSeriesOnly,this._invertAction(),new ne.Separator,this._regularScaleAction(),this._percentageAction(),this._indexedTo100Action(),this._logAction(),new ne.Separator),l.CheckMobile.any()||(i.push(this._createMergeScalesAction()),i.push(new ne.Separator)),se.enabled("fundamental_widget")||i.push(new ne.Action({actionId:"Chart.PriceScale.Labels",label:ce,subItems:[t.showSymbolLabelsAction,t.showSeriesLastValue,null,null,t.showHighLowAverageClosePriceLabels,null,t.showStudyPlotNamesAction,t.showStudyLastValue,e.alignLabels].filter(Boolean)})),i.push((0,re.createLinesAction)(this._chart)),this._options.countdownEnabled&&i.push(t.showCountdown),this._options.currencyConversionEnabled&&i.push(t.showCurrency), +this._options.unitConversionEnabled&&i.push(t.showUnit),this._undoModel.crossHairSource().isMenuEnabled()&&i.push(t.addPlusButton),!(0,l.onWidget)()&&se.enabled("show_chart_property_page")&&se.enabled("chart_property_page_scales")&&t.scalesProperties&&i.push(new ne.Separator,t.scalesProperties),i}getElement(){return this._cell}onOptimalWidthNeedToBeRecalculated(e){const t=this.optimalWidth();(this._prevOptimalWidth{this._undoModel.model().fullUpdate(),this._updateTimeout=null},100)),this._prevOptimalWidth=t}optimalWidth(){var e;if(!this.isVisible())return 0;let t=0;const i=this.rendererOptions();if(this._pane.hasState()){const i=(0,N.getContext2D)(this._canvasBinding.canvas);(0,W.setFont)(i,this.baseFont());const s=this.backLabels(!0);for(let e=s.length;e--;){if(!s[e].isAxisLabelVisible())continue;const r=this._widthCache.measureText(i,s[e].text());t=Math.max(t,r);const n=s[e].secondLineText();n&&(t=Math.max(t,this._widthCache.measureText(i,n)));const o=s[e].thirdLineText();o&&(t=Math.max(t,this._widthCache.measureText(i,o)))}const r=this.priceScale(),n=r.marks();n.length>0&&(t=Math.max(t,this._widthCache.measureText(i,n[0].label),this._widthCache.measureText(i,n[n.length-1].label)));const o=(null===(e=r.mainSource())||void 0===e?void 0:e.firstValue())||null;if(null!==o){const e=r.coordinateToPrice(1,o),s=r.coordinateToPrice(this._size.h-2,o);t=Math.max(t,this._widthCache.measureText(i,r.formatPrice(Math.floor(Math.min(e,s))+.11111111111111,o)),this._widthCache.measureText(i,r.formatPrice(Math.ceil(Math.max(e,s))-.11111111111111,o)))}}let r=0;this._isCurrencyLabelVisible()&&(null===this._currencyLabelWidth&&(this._currencyLabelWidth=(0,s.ensureNotNull)(this._currencyLabel).width()),r=this._currencyLabelWidth);const n=t||34;let o=Math.max(r,Math.ceil(i.borderSize+i.offsetSize+i.paddingInner+i.paddingOuter+n+4));return o+=o%2,o}backLabels(e){const t=[],i=this._grouppedSources(),s=s=>{for(const r of s){if(!e&&i.topLevelSources.has(r))continue;const s=r.priceAxisViews(this._pane.state(),this.priceScale());if(s)for(const e of s)t.push(e)}};return s(i.sources),s(this._pane.state().customSources()),t}setSizeAndOffset(e,t){if(e.w<0||e.h<0)throw new Error("Try to set invalid size to PriceAxisWidget "+JSON.stringify(e));this._size.equals(e)||(this._size=e,this._canvasBinding.resizeCanvas({width:e.w,height:e.h}),this._topCanvasBinding.resizeCanvas({width:e.w,height:e.h}),this._cell.style.width=e.w+"px",this._cell.style.height=e.h+"px",this._cell.style.minWidth=e.w+"px"),this._offset!==t&&(this._offset=t,this._cell.style.left=t+"px")}getWidth(){return this._size.w}getImage(){const e=this._size,t=(0,N.createDisconnectedCanvas)(document,e);if((0,N.getPrescaledContext2D)(t).drawImage(this._canvasBinding.canvas,0,0,e.w,e.h),null!==this._currencyLabel&&this._currencyLabel.isVisible()){const i=this._undoModel.model().isDark();this._currencyLabel.drawLabel((0,N.getContext2D)(t),e.w,(0,N.getCanvasDevicePixelRatio)(t),i)}return t}update(){}paint(e){ +if(this._isVisible&&e!==b.InvalidationLevel.None){if(e>b.InvalidationLevel.Cursor){const e=(0,N.getContext2D)(this._canvasBinding.canvas);this._alignLabels(),this._drawBackground(e,this._canvasBinding.pixelRatio),this._drawBorder(e,this._canvasBinding.pixelRatio),this._pane.hasState()&&(this.updateCurrencyLabel(),this._drawTickMarks(e,this._canvasBinding.pixelRatio),this._drawBackLabels(e,this._canvasBinding.pixelRatio))}if(this._pane.hasState()){const e=(0,N.getContext2D)(this._topCanvasBinding.canvas),t=this._topCanvasBinding.pixelRatio;e.clearRect(0,0,Math.ceil(this._size.w*t)+1,Math.ceil(this._size.h*t)+1),this._drawCrossHairLabel(e,t)}}}restoreDefaultCursor(){this._setCursor("")}priceScale(){return(0,s.ensureNotNull)(this._priceScale)}setPriceScale(e){this._priceScale!==e&&(null!==this._priceScale&&(this._priceScale.onMarksChanged().unsubscribe(this,this.onOptimalWidthNeedToBeRecalculated),this._priceScale.modeChanged().unsubscribeAll(this)),this._priceScale=e,null!==e&&(e.onMarksChanged().subscribe(this,this.onOptimalWidthNeedToBeRecalculated),e.modeChanged().subscribe(this,()=>this.onOptimalWidthNeedToBeRecalculated(!0))))}isVisible(){return this._isVisible}setVisible(e){(e=!!e)!==this._isVisible&&(this._cell.style.display=e?"table-cell":"none",this._isVisible=e)}destroy(){null!==this._currencyMenu&&(this._currencyMenu.close(),this._currencyMenu=null),null!==this._unitMenu&&(this._unitMenu.close(),this._unitMenu=null),this._topCanvasBinding.unsubscribeCanvasConfigured(this._topCanvasConfiguredHandler),this._topCanvasBinding.destroy(),this._canvasBinding.unsubscribeCanvasConfigured(this._canvasConfiguredHandler),this._canvasBinding.destroy(),null!==this._priceScale&&(this._priceScale.onMarksChanged().unsubscribe(this,this.onOptimalWidthNeedToBeRecalculated),this._priceScale.modeChanged().unsubscribeAll(this)),this._priceScale=null,this._updateTimeout&&(clearTimeout(this._updateTimeout),this._updateTimeout=null),this._mouseEventHandler.destroy(),this._properties.childs().fontSize.unsubscribe(this,this._onFontSizeChanged),null!==this._actions&&this._actions.reset&&this._actions.reset.destroy(),this._destroyed=!0}axisInfo(){return this._axisInfo}setHighlighted(e){this._highlighted=e}backgroundColor(){return this._pane.state().model().backgroundColor().value()}backgroundTopColor(){return this._pane.state().model().backgroundTopColor().value()}lineColor(){return this._properties.childs().lineColor.value()}textColor(){return this._properties.childs().textColor.value()}fontSize(){return this._properties.childs().fontSize.value()}baseFont(){return(0,z.makeFont)(this.fontSize(),j.CHART_FONT_FAMILY,"")}rendererOptions(){let e=this._rendererOptionsProvider.options();return this._color===e.color&&this._fontSize===e.fontSize||(this._color=e.color),this._fontSize!==e.fontSize&&(this._widthCache.reset(),this._fontSize=e.fontSize,this._currencyLabelWidth=null,this._currencyFontSize=0,this._updateCurrencyLabelFont(),this.onOptimalWidthNeedToBeRecalculated()),e}mouseEnterEvent(e){this._mouseEnterOrTouchStartEvent(e)} +mouseMoveEvent(e){this._mouseOrTouchMoveEvent(e)}mouseDownEvent(e){this._mouseDownOrTouchStartEvent(e)}touchStartEvent(e){this._mouseOrTouchMoveEvent(e),this._mouseEnterOrTouchStartEvent(e),this._mouseDownOrTouchStartEvent(e)}pressedMouseMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}touchMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}pinchStartEvent(){}pinchEvent(e,t,i){if(this._zoomAvailable()&&this._options.pinchScale){if(this._dragScaleActive&&this._finishScale(),!this._pinching)return this._pinching=!0,void this._undoModel.startTwoPointsScalePrice(this._pane.state(),this.priceScale(),t.y,i.y);this._undoModel.twoPointsScalePriceTo(this._pane.state(),this.priceScale(),t.y,i.y)}}pinchEndEvent(){this._pinching=!1,this._undoModel.endTwoPointsScalePrice(this._pane.state(),this.priceScale())}mouseDownOutsideEvent(){this._finishScale()}mouseUpEvent(e){this._mouseUpOrTouchEndEvent(e)}touchEndEvent(e){this._mouseLeaveOrTouchEndEvent(e),this._mouseUpOrTouchEndEvent(e)}mouseClickEvent(e){this._mouseClickOrTapEvent(e)}tapEvent(e){this._mouseClickOrTapEvent(e)}mouseLeaveEvent(e){this._mouseLeaveOrTouchEndEvent(e)}mouseDoubleClickEvent(e){this._mouseDoubleClickOrDoubleTapEvent(e)}doubleTapEvent(e){this._mouseDoubleClickOrDoubleTapEvent(e)}contextMenuEvent(e){this._contextMenuOrTouchContextMenuEvent(e)}touchContextMenuEvent(e){this._contextMenuOrTouchContextMenuEvent(e)}dataSourceAtPoint(e,t){const i=this._grouppedSources(),s=[...i.sources,...i.topLevelSources,...this._pane.state().customSources()];let r=null,n=null;if(!this._priceScale)return null;const o=(e,t)=>{var i;const s=null!==(i=null==n?void 0:n.result())&&void 0!==i?i:0;e.result()>s&&(n=e,r=t)},a=new P.Point(e,t),l=this._pane.state();for(let e=s.length-1;e>=0;--e){const t=s[e],i=t.priceAxisViews(l,this._priceScale);if(i&&0!==i.length)for(let e=i.length-1;e>=0;--e){const s=i[e].renderer();if(void 0!==s.hitTest){const e=s.hitTest(a,this._size.w,this._isLeft?"left":"right");null!==e&&o(e,t)}}}return r}reset(){const e=this._pane.state(),t=this.priceScale();this._undoModel.resetPriceScale(e,t),this.onOptimalWidthNeedToBeRecalculated(!0)}sizeReady(){return this.getWidth()>=this.optimalWidth()&&null===this._updateTimeout}updateCurrencyLabel(){if(null===this._currencyLabel)return;let e=!1;if(this._options.currencyConversionEnabled){const t=this.priceScale().currency(this._undoModel.model().availableCurrencies());null!==t&&this._properties.childs().showCurrency.value()?(e=!this._currencyLabel.currencyLabelVisible(),this._currencyLabel.showCurrency(),this._currencyLabel.updateColors(this.backgroundTopColor(),this.textColor()),e=this._currencyLabel.setCurrencyInfo(t)||e):(e=this._currencyLabel.currencyLabelVisible(),this._currencyLabel.hideCurrency())}if(this._options.unitConversionEnabled){const t=this.priceScale().unit(this._undoModel.model().availableUnits());null!==t&&this._properties.childs().showUnit.value()?(e=e||!this._currencyLabel.unitLabelVisible(),this._currencyLabel.showUnit(),this._currencyLabel.updateColors(this.backgroundTopColor(),this.textColor()), +e=this._currencyLabel.setUnitInfo(t)||e):(e=e||this._currencyLabel.unitLabelVisible(),this._currencyLabel.hideUnit())}this._updateCurrencyLabelFont(),e&&(this._currencyLabelWidth=null)}_grouppedSources(){var e;const t=this._pane,i=t.state().model(),s=this._sameSideSources().slice(),r=t.state(),n=this.priceScale(),o=new Set,a=null!==(e=i.lineBeingEdited())&&void 0!==e?e:i.lineBeingCreated();a&&o.add(a);const l=i.customSourceBeingMoved();null!==l&&o.add(l),i.sourcesBeingMoved().forEach(e=>o.add(e)),i.selection().allSources().forEach(e=>o.add(e));const c=i.hoveredSource();null!==c&&o.add(c);if(n===r.defaultPriceScale()){const e=this._pane.state().dataSources();for(const t of e)r.isOverlay(t)&&s.push(t)}return{sources:s,topLevelSources:o}}_isCurrencyLabelVisible(){return null!==this._currencyLabel&&this._currencyLabel.isVisible()}_updateCurrencyLabelFont(){if(null===this._currencyLabel)return;const e=this.fontSize();e!==this._currencyFontSize&&(this._currencyLabel.setFontSize(e),this._currencyFontSize=e,this._currencyLabelWidth=null,this.onOptimalWidthNeedToBeRecalculated())}_alignLabels(){const e=this._size.h;let t=e/2;const i=[],s=this.priceScale(),r=s.orderedSources().slice(),n=this._pane.state(),o=this.rendererOptions();if(s===n.defaultPriceScale()){const e=n.priceDataSources();for(let t=0;t{if(t.ignoreAlignment()||!t.isVisible())return!1;const i=t.height(o),s=t.floatCoordinate();return s>-i&&se.floatCoordinate()<=t),c=i.filter(e=>e.floatCoordinate()>t);l.sort((e,t)=>t.floatCoordinate()-e.floatCoordinate()),l.length>0&&c.length>0&&c.push(l[0]),c.sort((e,t)=>e.floatCoordinate()-t.floatCoordinate());for(const e of i)e.setFixedCoordinate(e.coordinate());if(s.properties().childs().alignLabels.value()){for(let e=1;en-s&&t.setFixedCoordinate(n-s)}for(let e=1;e{if(this._options.croppedTickMarks)return{visible:!0,yCorrection:this._widthCache.yMidCorrection(e,t.label)};const i=t.coord-a/2,s=t.coord+a/2,r=!(s>this._size.h||ithis._size.h||i{for(let s=i.length;s--;){if(!c[s].visible)continue;const r=i[s];e.fillText(r.label,o/t,r.coord+c[s].yCorrection)}}),e.restore()}_hasAlertLabel(){return!1}_showCurrenciesContextMenu(){if(null!==this._currencyMenu&&this._currencyMenu.isOpened())return void this._currencyMenu.close();(0,U.trackEvent)("GUI","Currency conversion");X(he,()=>async function(e,t,s){return(await Promise.all([i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(3996),i.e(3708),i.e(6473),i.e(3537),i.e(339),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(3590),i.e(2704)]).then(i.bind(i,99207))).currencyActions(e,t,s)}(this._undoModel,(0,s.ensureNotNull)(this._currencyLabel).currencyInfo(),this.priceScale()),(0,s.ensureNotNull)(this._currencyLabel).currencyLabelElement()).then(e=>{this._destroyed?e.close():this._currencyMenu=e})}_showUnitsContextMenu(){if(null!==this._unitMenu&&this._unitMenu.isOpened())return void this._unitMenu.close();(0,U.trackEvent)("GUI","Unit conversion");X(de,()=>async function(e,t,s){return(await Promise.all([i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(3996),i.e(3708),i.e(6473),i.e(3537),i.e(339),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(3590),i.e(2704)]).then(i.bind(i,10768))).unitActions(e,t,s)}(this._undoModel,(0,s.ensureNotNull)(this._currencyLabel).unitInfo(),this.priceScale()),(0,s.ensureNotNull)(this._currencyLabel).unitLabelElement()).then(e=>{this._destroyed?e.close():this._unitMenu=e})}_onFontSizeChanged(){this._currencyLabelWidth=null,this._currencyFontSize=0,this._updateCurrencyLabelFont(),this.onOptimalWidthNeedToBeRecalculated()}_mouseOrTouchMoveEvent(e){if(!this._priceScale)return;this.dataSourceAtPoint(e.localX,e.localY)?this._setCursorClassName("pointer"):this._setResizeCursor()}_mouseDownOrTouchStartEvent(e){this._zoomAvailable()&&this._options.pressedMouseMoveScale&&!this._pinching&&(this._dragScaleActive=!0,this._undoModel.startScalePrice(this._pane.state(),this.priceScale(),e.localY))}_mouseEnterOrTouchStartEvent(e){this._setResizeCursor()}_pressedMouseOrTouchMoveEvent(e){if(this._dragScaleActive){const t=this.priceScale();this._undoModel.scalePriceTo(this._pane.state(),t,e.localY)}}_mouseUpOrTouchEndEvent(e){this._finishScale()}_finishScale(){this._dragScaleActive&&(this._undoModel.endScalePrice(this._pane.state(),this.priceScale()),this.restoreDefaultCursor(),this._dragScaleActive=!1)}_mouseClickOrTapEvent(e){if(this._currencyLabel){if(this._currencyLabel.currencyLabelElement().contains(e.target))return void this._showCurrenciesContextMenu();if(this._currencyLabel.unitLabelElement().contains(e.target))return void this._showUnitsContextMenu()}const t=this.dataSourceAtPoint(e.localX,e.localY);t&&this._undoModel.selectionMacro(e=>{e.selection().isSelected(t)||(e.clearSelection(),e.addSourceToSelection(t))})}_mouseLeaveOrTouchEndEvent(e){this._setCursorClassName("")}_mouseDoubleClickOrDoubleTapEvent(e){const t=this.dataSourceAtPoint(e.localX,e.localY);t?this._pane.processDoubleClickOnSource(t):(this.reset(),(0,U.trackEvent)("GUI","Double click price scale"))} +_contextMenuOrTouchContextMenuEvent(e){if(this._options.contextMenuEnabled){const t=this.dataSourceAtPoint(e.localX,e.localY);if(null!==t&&this._options.contextMenu.source){return void this._undoModel.model().selectionMacro(i=>{i.selection().isSelected(t)||(i.clearSelection(),i.addSourceToSelection(t)),this._pane.showContextMenuForSelection(e)})}this._options.contextMenu.general&&Z.ContextMenuManager.showMenu(this.getContextMenuActions(),e,{statName:"PriceScaleContextMenu"},{menuName:"PriceScaleContextMenu"})}}_setResizeCursor(){const e=this.priceScale();e.isPercentage()||e.isIndexedTo100()?this._setCursorClassName(""):this._zoomAvailable()&&(this._options.pressedMouseMoveScale||this._options.mouseWheelScale)&&this._setCursorClassName("ns-resize")}_setCursorClassName(e){let t="";e&&(t="price-axis--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._cell.classList.remove(this._currentCursorClassName),t&&this._cell.classList.add(t),this._currentCursorClassName=t)}_zoomAvailable(){return!this.priceScale().isEmpty()&&this._undoModel.model().zoomEnabled()}_onMousewheel(e){if(!this._zoomAvailable()||!this._options.mouseWheelScale)return;const t=(0,s.ensureNotNull)(this._mouseWheelHelper).processWheel(e).deltaY;if(0===t)return;e.cancelable&&e.preventDefault();const i=this._undoModel,r=this._pane.state(),n=this.priceScale(),o=this._cell.getBoundingClientRect(),a=e.clientY-o.top,l=a+15*t;i.startScalePrice(r,this.priceScale(),a,!0),i.scalePriceTo(r,n,l),i.endScalePrice(r,n),e.stopPropagation()}_drawCrossHairLabel(e,t){var i,s;e.save();const r=this._pane.state(),n=r.model(),o=this.priceScale(),a=[],l=this.priceScale()===r.defaultPriceScale(),c=null!==(i=n.lineBeingEdited())&&void 0!==i?i:n.lineBeingCreated();if(c&&(c.priceScale()===o||l&&r.isOverlay(c))){const e=c.priceAxisViews(r,o);e&&e.length&&a.push(e)}const h=n.customSourceBeingMoved();this._addViewsOrMaxMin(null===h?[]:[h],a),this._addViewsOrMaxMin(n.sourcesBeingMoved(),a),this._addViewsOrMaxMin(n.selection().allSources(),a);const d=n.hoveredSource();if(d){const e=r.customSources().includes(d)?o:d.priceScale();if(!n.selection().isSelected(d)&&(this._isFromSameSide(e)||l&&r.isOverlay(d))){const e=null===(s=n.hoveredSource())||void 0===s?void 0:s.priceAxisViews(r,o);e&&e.length&&a.push(e)}}const u=n.crossHairSource().priceAxisViews(r,o);u&&u.length&&a.push(u);const p=this.rendererOptions(),_=this._isLeft?"right":"left";a.forEach(i=>{i.forEach(i=>{e.save(),i.renderer().draw(e,p,this._widthCache,this._size.w,this._size.h,_,t),e.restore()})}),e.restore()}_drawBackground(e,t){const i=Math.ceil(this._size.w*t),s=Math.ceil(this._size.h*t),r=this.backgroundTopColor(),n=this.backgroundColor();if(r===n?(0,N.clearRect)(e,0,0,i+1,s+1,this.backgroundColor()):(0,R.clearRectWithGradient)(e,0,0,i+1,s+1,r,n),this._highlighted){e.globalAlpha=.5;const t=F.themes[this._backgroundBasedTheme.value()].getThemedColor("color-price-axis-highlight");(0,N.fillRect)(e,0,0,i+1,s+1,t),e.globalAlpha=1} +const o=this._pane.state().model(),a=this.priceScale(),l=o.selection().lineDataSources().filter(e=>e.priceScale()===a).reduce((e,t)=>{const i=t.priceAxisPoints();return 0===i.length?e:e.concat(i)},[]);l.length>0&&this._hightlightBackground(e,l,this.priceScale().mainSource(),t);const c=o.crossHairSource();c.startMeasurePoint()&&this._hightlightBackground(e,c.measurePoints(),this.priceScale().mainSource(),t)}_drawBorder(e,t){e.save(),e.fillStyle=this.lineColor();const i=Math.max(1,Math.floor(this.rendererOptions().borderSize*t)),s=this._isLeft?Math.floor(this._size.w*t)-i:0;e.fillRect(s,0,i,Math.ceil(this._size.h*t)+1),e.restore()}_drawBackLabels(e,t){e.save();const i=this.backLabels(),s=this.rendererOptions(),r=this._isLeft?"right":"left";for(const n of i)n.isAxisLabelVisible()&&(e.save(),n.renderer().draw(e,s,this._widthCache,this._size.w,this._size.h,r,t),e.restore());e.restore()}_hightlightBackground(e,t,i,s){if(!i)return;const r=i.firstValue();if(null===r)return;let n=t[0].price,o=t[0].price;for(let e=1;ei.isOverlay(e)||this._isFromSameSide(e.priceScale()))),0!==e.length)if(1===e.length){const r=e[0].priceAxisViews(i,s);r&&r.length&&t.push(r)}else t.push(this._minMaxViews(e))}_minMaxViews(e){const t=this._pane.state(),i=this.priceScale(),s=[];let r=1/0,n=-1/0,o=null,a=null;for(const s of e){const e=s.priceAxisViews(t,i);if(e&&e.length)for(let t=0;t=n&&(n=s,a=i),s<=r&&(r=s,o=i)}}return a&&s.push(a),o&&s.push(o),s}_isFromSameSide(e){return null!==e&&(this._isLeft?this._pane.state().leftPriceScales():this._pane.state().rightPriceScales()).includes(e)}_sameSideSources(){const e=this._pane.state().sourcesByGroup();return this._isLeft?e.leftPriceScalesSources():e.rightPriceScalesSources()}_initActions(){if(!this._pane.hasState()||null!==this._actions)return;const e=this._undoModel,t=new ne.Action({actionId:"Chart.PriceScale.Reset",label:ue,icon:oe,shortcutHint:(0,ee.humanReadableHash)(ee.Modifiers.Alt+82),statName:"ResetScale",onExecute:()=>this.reset()}),i=new ne.Action({actionId:"Chart.PriceScale.ToggleAutoScale",label:pe,checkable:!0,checked:!0,statName:"ToggleAutoScale",onExecute:()=>{e.togglePriceScaleAutoScaleMode(this.priceScale()),this._updateScalesActions()}}),s=new ne.Action({actionId:"Chart.PriceScale.TogglePercentage",label:_e,checkable:!0,checked:this.priceScale().isPercentage(),statName:"TogglePercantage",onExecute:()=>{e.togglePriceScalePercentageScaleMode(this.priceScale()),this._updateScalesActions()}}),r=new ne.Action({actionId:"Chart.PriceScale.ToggleIndexedTo100",label:me,checkable:!0,checked:this.priceScale().isIndexedTo100(), +statName:"ToggleIndexedTo100",onExecute:()=>{e.togglePriceScaleIndexedTo100ScaleMode(this.priceScale()),this._updateScalesActions()}}),n=new ne.Action({actionId:"Chart.PriceScale.ToggleLogarithmic",label:ge,checkable:!0,checked:this.priceScale().isLog(),statName:"ToggleLogScale",onExecute:()=>{e.togglePriceScaleLogScaleMode(this.priceScale()),this._updateScalesActions()}}),o=new ne.Action({actionId:"Chart.PriceScale.ToggleRegular",label:fe,checkable:!0,checked:this.priceScale().isRegular(),statName:"ToggleRegularScale",onExecute:()=>{e.setPriceScaleRegularScaleMode(this.priceScale()),this._updateScalesActions()}}),a=new ne.Action({actionId:"Chart.PriceScale.Labels.ToggleNoOverlappingLabelsVisibility",label:ve,checkable:!0,checked:this.priceScale().properties().childs().alignLabels.value(),statName:"TogglePreciseLabels"});a.setBinding(new te.ActionBinder(a,this.priceScale().properties().childs().alignLabels,e,ae));const l=new ne.Action({actionId:"Chart.PriceScale.ToggleInvertScale",label:Se,checkable:!0,checked:this.priceScale().isInverted(),statName:"Invert Scale",onExecute:()=>{e.invertPriceScale(this.priceScale()),this._updateScalesActions()}});this._actions={reset:t,setAutoScale:i,setPercentage:s,setIndexedTo100:r,setLog:n,setRegular:o,alignLabels:a,invertScale:l},this._updateScalesActions()}_logAction(){return this._isMainSeriesAxis()?this._chart.actions().logSeriesScale:(0,s.ensureNotNull)(this._actions).setLog}_percentageAction(){return this._isMainSeriesAxis()?this._chart.actions().percentSeriesScale:(0,s.ensureNotNull)(this._actions).setPercentage}_indexedTo100Action(){return this._isMainSeriesAxis()?this._chart.actions().indexedTo100SeriesScale:(0,s.ensureNotNull)(this._actions).setIndexedTo100}_autoScaleAction(){return this._isMainSeriesAxis()?this._chart.actions().autoSeriesScale:(0,s.ensureNotNull)(this._actions).setAutoScale}_regularScaleAction(){return this._isMainSeriesAxis()?this._chart.actions().regularSeriesScale:(0,s.ensureNotNull)(this._actions).setRegular}_lockScaleAction(){const e=this._chart.actions().lockSeriesScale,t=ye(this.priceScale(),this._undoModel.model().mainSeriesScaleRatio());return e.update({hint:t}),e}_invertAction(){return this._isMainSeriesAxis()?this._chart.actions().invertSeriesScale:(0,s.ensureNotNull)(this._actions).invertScale}_isMainSeriesAxis(){return this.priceScale().hasMainSeries()}_updateScalesActions(){const e=this.priceScale(),t=this._isMainSeriesAxis(),i=(0,s.ensureNotNull)(e.mainSource()).properties(),r=t&&e.isLockScale(),n=t&&6===i.style.value(),o=(0,s.ensureNotNull)(this._actions);o.setRegular.update({checked:e.isRegular(),disabled:r||n}),o.setPercentage.update({checked:e.isPercentage(),disabled:r||n}),o.setIndexedTo100.update({checked:e.isIndexedTo100(),disabled:r||n}),o.setLog.update({checked:e.isLog(),disabled:r||n}),o.setAutoScale.update({checked:e.isAutoScale(),disabled:e.properties().childs().autoScaleDisabled.value()})}_createMergeScalesAction(){const e=this._chart.actions(),t=this._undoModel.model().priceScaleSlotsCount() +;if(t.left+t.right===1)return 0===t.left?e.moveScaleToLeft:e.moveScaleToRight;const i=[];return i.push(e.mergeLeftScalesAction),i.push(e.mergeRightScalesAction),new ne.Action({actionId:"Chart.PriceScale.MergeAllScales",label:le,subItems:i})}_setCursor(e){let t="";"grabbing"!==e&&"ns-resize"!==e||(t="price-axis--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._cell.classList.remove(this._currentCursorClassName),t&&this._cell.classList.add(t),this._currentCursorClassName=t,this._cell.style.cursor)}}function Pe(e,t){return e.position-t.position}function Ce(e,t,i){const s=(e.position-t.position)/(e.time-t.time);return Math.sign(s)*Math.min(Math.abs(s),i)}class Te{constructor(e,t,i,s){this._position1=null,this._position2=null,this._position3=null,this._position4=null,this._animationStartPosition=null,this._durationMsecs=0,this._speedPxPerMsec=0,this._terminated=!1,this._minSpeed=e,this._maxSpeed=t,this._dumpingCoeff=i,this._minMove=s}addPosition(e,t){if(null!==this._position1){if(this._position1.time===t)return void(this._position1.position=e);if(Math.abs(this._position1.position-e)50)return;let i=0;const s=Ce(this._position1,this._position2,this._maxSpeed),r=Pe(this._position1,this._position2),n=[s],o=[r];if(i+=r,null!==this._position3){const e=Ce(this._position2,this._position3,this._maxSpeed);if(Math.sign(e)===Math.sign(s)){const t=Pe(this._position2,this._position3);if(n.push(e),o.push(t),i+=t,null!==this._position4){const e=Ce(this._position3,this._position4,this._maxSpeed);if(Math.sign(e)===Math.sign(s)){const t=Pe(this._position3,this._position4);n.push(e),o.push(t),i+=t}}}}let a=0;for(let e=0;ea&&(e.hittest=t,e.source=i,e.renderer=s,e.isCustom=r)}const rt={contextMenuEnabled:!0,contextMenu:re.defaultContextMenuOptions,priceScaleContextMenuEnabled:!0,legendWidgetEnabled:!0,controlsEnabled:!0,propertyPagesEnabled:!0,sourceSelectionEnabled:!0,countdownEnabled:!0},nt=new Map([[M.AreaName.Text,"Text"],[M.AreaName.Style,"Style"]]),ot=!se.enabled("display_legend_on_all_charts");class at{constructor(e,t,i,r){this._legendWidget=null,this._paneControls=null,this._isDestroyed=!1,this._trackCrosshairOnlyAfterLongTap=(0,x.lastMouseOrTouchEventInfo)().isTouch,this._startTrackPoint=null,this._exitTrackingModeOnNextTry=!1,this._startMoveSourceParams=null,this._startChangeLineToolParams=null,this._preventSourceChange=!1,this._clonningAtMoveLineTools=null,this._startCloningPoint=null,this._size=new N.Size(0,0),this._themedTopColor=null,this._initCrossHairPosition=null,this._firstZoomPoint=null,this._editDialog=null,this._processing=!1,this._touchMove=!1,this._startTouchPoint=null,this._isSelecting=!1,this._prevHoveredHittest=null,this._contextMenuX=0,this._contextMenuY=0,this._startScrollingPos=null,this._isScrolling=!1,this._scrollPriceScale=null,this._scrollXAnimation=null,this._scrollYAnimation=null,this._prevPinchScale=1,this._pinching=!1,this._wasPinched=!1,this._longTap=!1,this._contextMenuOpenedOnLastTap=!1,this._paneControlsResizeObserver=null,this._hideNotMainSourcesInLegendSpawn=null,this._hideWholeLegend=null,this._lastClickedSource=null,this._customLegendWidgetsFactoryMap=new Map,this._prevMoveEventPosition=null,this._onMagnetStateChangedListener=this._onMagnetStateChanged.bind(this),this._onShiftKeyStateChangedListener=this._onShiftKeyStateChanged.bind(this),this._currentCursorClassName="",this._lastFinishedToolId=null,this._needResetMeasureLater=!1,this._currentChangingLineToolHitTest=null,this._currentMovingHitTest=null,this._prevTooltipData=null,this._errorRenderer=null,this._highlightedPriceAxis=new(Ie())({owner:"",axis:null}),this._canvasConfiguredHandler=()=>this._state&&this._chartModel().lightUpdate(),this._topCanvasConfiguredHandler=()=>this._state&&this._chartModel().lightUpdate(),this._recalculateLegendVisibility=()=>{const e=(0, +s.ensureNotNull)(this._hideWholeLegend),t=this._chartModel().crossHairSource().measurePane();null!==t?e.setValue(t===this._state):e.setValue((0,E.toolIsMeasure)(E.tool.value()))},this._chart=e,this._state=t,this._options=(0,_.merge)((0,_.clone)(rt),i),this._paneWidgetsSharedState=r,this._state&&(this._state.onDestroyed().subscribe(this,this._onStateDestroyed,!0),this._state.dataSourcesCollectionChanged().subscribe(this,this._onDataSourcesCollectionChanged));const n={contextMenuEnabled:this._options.priceScaleContextMenuEnabled,pressedMouseMoveScale:this._options.handleScale.axisPressedMouseMove.price,mouseWheelScale:this._options.handleScale.mouseWheel,currencyConversionEnabled:this._options.currencyConversionEnabled,unitConversionEnabled:this._options.unitConversionEnabled,countdownEnabled:this._options.countdownEnabled,croppedTickMarks:this._options.croppedTickMarks};void 0!==this._options.priceScaleContextMenu&&(n.contextMenu=this._options.priceScaleContextMenu);const o=(e,t,i,s,r)=>new we(this._chart,this,this._chartUndoModel(),i,t,e,n,s,r),a=e.properties().childs().scalesProperties,l=this._chartModel().rendererOptionsProvider(),c={backgroundBasedTheme:e.backgroundBasedTheme(),rendererOptionsProvider:l,getBackgroundTopColor:()=>this._chartModel().backgroundTopColor().value(),getBackgroundBottomColor:()=>this._chartModel().backgroundColor().value()},h={showLabels:!1};this._lhsPriceAxisesContainer=new O.PriceAxisesContainer(a,"left",o,c,h),this._rhsPriceAxisesContainer=new O.PriceAxisesContainer(a,"right",o,c,h),this._paneCell=document.createElement("td"),this._paneCell.classList.add("chart-markup-table","pane"),this._div=document.createElement("div"),this._div.classList.add("chart-gui-wrapper"),this._div.setAttribute("data-name","pane-widget-chart-gui-wrapper"),this._paneCell.appendChild(this._div),this._canvasBinding=(0,N.createBoundCanvas)(this._div,new N.Size(16,16)),this._canvasBinding.subscribeCanvasConfigured(this._canvasConfiguredHandler);const d=this._canvasBinding.canvas;d.style.position="absolute",d.style.left="0",d.style.top="0",this._topCanvasBinding=(0,N.createBoundCanvas)(this._div,new N.Size(16,16)),this._topCanvasBinding.subscribeCanvasConfigured(this._topCanvasConfiguredHandler);const u=this._topCanvasBinding.canvas;u.style.position="absolute",u.style.left="0",u.style.top="0",this._rowElement=document.createElement("tr"),this._rowElement.appendChild(this._lhsPriceAxisesContainer.getElement()),this._rowElement.appendChild(this._paneCell),this._rowElement.appendChild(this._rhsPriceAxisesContainer.getElement()),this._options.legendWidgetEnabled&&(this._options.customLegendWidgetFactories&&(this._customLegendWidgetsFactoryMap=this._options.customLegendWidgetFactories),this._loadAndCreateLegendWidget()),this._state&&!this._chart.readOnly()&&this._options.controlsEnabled&&this._loadAndCreatePaneControlsWidget(),(0,Re.magnetEnabled)().subscribe(this._onMagnetStateChangedListener),(0,Oe.shiftPressed)().subscribe(this._onShiftKeyStateChangedListener),this._paneCell.addEventListener("dragover",e=>{ +e.dataTransfer&&Array.from(e.dataTransfer.files).some(blobImageFilter)&&e.preventDefault()}),this.setCursorForTool(),this._mouseEventHandler=new B.MouseEventHandler(this._topCanvasBinding.canvas,this,{treatVertTouchDragAsPageScroll:!this._options.handleScroll.vertTouchDrag,treatHorzTouchDragAsPageScroll:!this._options.handleScroll.horzTouchDrag}),this._prevHoveredHittest=null,this._highlightedPriceAxis.subscribe(e=>this._highlightPriceAxisByLabel(e.axis)),this._prevPinchScale=0,this._isDestroyed=!1}destroy(){var e;this._chart.onPaneWidgetDestroyed(this),this._customLegendWidgetsFactoryMap.clear(),this._topCanvasBinding.unsubscribeCanvasConfigured(this._topCanvasConfiguredHandler),this._topCanvasBinding.destroy(),this._canvasBinding.unsubscribeCanvasConfigured(this._canvasConfiguredHandler),this._canvasBinding.destroy(),null!==this._hideNotMainSourcesInLegendSpawn&&this._hideNotMainSourcesInLegendSpawn.destroy(),this._legendWidget&&(this._legendWidget.destroy(),this._legendWidget=null),null!==this._paneControlsResizeObserver&&this._paneControlsResizeObserver.disconnect(),null!==this._paneControls&&(this._paneControls.destroy(),this._paneControls=null),this._lhsPriceAxisesContainer.destroy(),this._rhsPriceAxisesContainer.destroy(),this.hasState()&&(this.state().onDestroyed().unsubscribeAll(this),this.state().dataSourcesCollectionChanged().unsubscribeAll(this)),(0,Re.magnetEnabled)().unsubscribe(this._onMagnetStateChangedListener),(0,Oe.shiftPressed)().unsubscribe(this._onShiftKeyStateChangedListener),this._paneWidgetsSharedState.onPaneDestroyed(this),null!==this._hideWholeLegend&&(E.tool.unsubscribe(this._recalculateLegendVisibility),this._chartModel().crossHairSource().measuringEnabled().unsubscribeAll(this)),this._errorRenderer&&this._errorRenderer.then(e=>{e.destroy(),this._errorRenderer=null}),this._prevHoveredHittest=null,this._mouseEventHandler.destroy(),null===(e=this._rowElement.parentElement)||void 0===e||e.removeChild(this._rowElement),this._isDestroyed=!0}size(){return this._size}setSize(e){(0,s.assert)(e.w>=0&&e.h>=0,"Try to set invalid size to PaneWidget "+JSON.stringify(e)),this._size.equals(e)||(this._size=e,this._canvasBinding.resizeCanvas({width:e.w,height:e.h}),this._topCanvasBinding.resizeCanvas({width:e.w,height:e.h}),this._paneCell.style.width=e.w+"px",this._paneCell.style.height=e.h+"px",this._div.style.width=e.w+"px",this._div.style.height=e.h+"px",this._rowElement.classList.toggle("js-hidden",0===e.h),null!==this._legendWidget&&this._legendWidget.updateWidgetModeBySize(e),null!==this._paneControls&&this._paneControls.updateWidgetModeByWidth(e.w))}width(){return this._size.w}height(){return this._size.h}backgroundColor(){return this._chartModel().backgroundColor().value()}highlightedPriceAxis(){return this._highlightedPriceAxis}processDoubleClickOnSource(e,t){(0,k.isDataSource)(e)&&e.id()!==this._lastFinishedToolId&&this._showEditDialogForSource(e,t)}stretchFactor(){return this._state?this._state.stretchFactor():0}setStretchFactor(e){this.hasState()&&this.state().setStretchFactor(e)} +setCursorForTool(e,t,i){if(t&&t.control()&&e)return void this._setCursorClassName("pointer");if(void 0!==i){switch(i){case Ve.PaneCursorType.VerticalResize:this._setCursorClassName("ns-resize");break;case Ve.PaneCursorType.HorizontalResize:this._setCursorClassName("ew-resize");break;case Ve.PaneCursorType.DiagonalNeSwResize:this._setCursorClassName("nesw-resize");break;case Ve.PaneCursorType.DiagonalNwSeResize:this._setCursorClassName("nwse-resize");break;case Ve.PaneCursorType.Default:this._setCursorClassName("default");break;case Ve.PaneCursorType.Pointer:this._setCursorClassName("pointer");break;case Ve.PaneCursorType.Grabbing:this._setCursorClassName("grabbing")}return}const s=E.tool.value();if((0,E.toolIsCursor)(s)){if(null!==this._paneWidgetsSharedState.draggingSource()||this._isScrolling||this._chartUndoModel()&&this._chartUndoModel().model().sourcesBeingMoved().length)return void this._setCursorClassName("grabbing");if(e&&this._options.sourceSelectionEnabled)return void this._setCursorClassName("pointer")}if("eraser"===s)return void this._setCursorClassName("eraser");if("zoom"===s)return void this._setCursorClassName("zoom-in");const r=E.cursorTool.value();"dot"!==r?"arrow"!==r?this._setCursorClassName(""):this._setCursorClassName("default"):this._setCursorClassName("dot")}showContextMenuForSelection(e){const t=this._chartUndoModel().selection();if(t.isEmpty())return;const i=t.dataSources().filter(e=>e.hasContextMenu());this.showContextMenuForSources(i,e)}async showContextMenuForSources(e,t,i){var s;if(!e.length)return Promise.resolve(null);const r=e[0],n=(0,_.merge)((0,_.clone)(this._options.contextMenu),i||{}),o=new re.ActionsProvider(this._chart,n);if(r===this._chartUndoModel().crossHairSource())return r.handleContextMenuEvent(t),Promise.resolve(null);{const i=await o.contextMenuActionsForSources(e);if(0===i.length)return Promise.resolve(null);{let e;return e=r instanceof We.Series?{menuName:"ObjectTreeContextMenu",detail:{type:"series",id:r.instanceId()}}:(0,f.isLineTool)(r)?{menuName:"ObjectTreeContextMenu",detail:{type:"shape",id:null!==(s=null==r?void 0:r.id())&&void 0!==s?s:null}}:{menuName:"ObjectTreeContextMenu",detail:{type:"study",id:(null==r?void 0:r.id())||null}},Z.ContextMenuManager.createMenu(i,void 0,e).then(e=>(e.show(t),e))}}}leftPriceAxisesContainer(){return this._lhsPriceAxisesContainer}rightPriceAxisesContainer(){return this._rhsPriceAxisesContainer}setPriceAxisSizes(e,t,i){this._priceAxisesContainer(e).setSizes(t,i)}state(){return(0,s.ensureNotNull)(this._state)}hasState(){return null!==this._state}setState(e){this._state!==e&&(this.hasState()&&(this.state().onDestroyed().unsubscribeAll(this),this.state().dataSourcesCollectionChanged().unsubscribeAll(this)),this._state=e,this.hasState()&&(this.state().onDestroyed().subscribe(this,this._onStateDestroyed,!0),this.state().dataSourcesCollectionChanged().subscribe(this,this._onDataSourcesCollectionChanged),this.updatePriceAxisWidgets()))}getScreenshotData(e){const t=[],i=[];let s,r=[] +;const n=this.state().sourcesByGroup().priceSources().slice().reverse(),o=this._chart.properties().childs().paneProperties.childs().legendProperties.childs();for(const a of n){const n=a.statusView();if((0,v.isStudy)(a)&&(o.showLegend.value()||(null==e?void 0:e.showCollapsedStudies))){const s=o.showStudyTitles.value(),r=s;a.properties().visible.value()&&n&&r&&(t.push(s?a.statusProvider(null==e?void 0:e.status).text():""),i.push(a.valuesProvider().getValues(null)))}else a===this._chartModel().mainSeries()&&n&&o.showSeriesTitle.value()&&(s=a.statusProvider((null==e?void 0:e.status)||{}).text(),r=a.valuesProvider().getValues(null))}return{type:"pane",leftAxis:this._lhsPriceAxisesContainer.getScreenshotData(),rightAxis:this._rhsPriceAxisesContainer.getScreenshotData(),content:this._canvasBinding.canvas.toDataURL(),canvas:this._canvasBinding.canvas,contentWidth:this._size.w,contentHeight:this._size.h,studies:t,studiesValues:i,containsMainSeries:this.containsMainSeries(),mainSeriesText:s,mainSeriesValues:r}}updatePriceAxisWidgets(){if(!this.hasState())return;const e=this._chartModel(),t=e.paneForSource(e.mainSeries());if(!t)return;const i=e.priceScaleSlotsCount(),s=this.state(),r=s.visibleLeftPriceScales(),n=s.visibleRightPriceScales();this._lhsPriceAxisesContainer.setScales(r,i.left,t.leftPriceScales().length,i.left+i.right),this._rhsPriceAxisesContainer.setScales(n,i.right,t.rightPriceScales().length,i.left+i.right)}update(){this.hasState()&&(this._lhsPriceAxisesContainer.update(),this._rhsPriceAxisesContainer.update(),null!==this._legendWidget&&this._legendWidget.update(),this.updateControls())}updateStatusWidget(e=b.InvalidationLevel.None){this.hasState()&&null!==this._legendWidget&&(e===b.InvalidationLevel.Full?this._legendWidget.updateLayout():this._legendWidget.update())}updateControls(){this.hasState()&&null!==this._paneControls&&this._paneControls.update()}updateThemedColors(e){this._themedTopColor=e.topColor,this._updateByThemedColors()}statusWidget(){return this._legendWidget}getElement(){return this._rowElement}canvasElement(){return this._canvasBinding.canvas}hasCanvas(e){return this._canvasBinding.canvas===e||this._topCanvasBinding.canvas===e}pinchStartEvent(){null===this._paneWidgetsSharedState.scrollingPane()&&null===this._paneWidgetsSharedState.pinchingPane()&&(this._onTouchEvent(),this._options.handleScale.pinch&&(this._terminateActiveAnimations(),this._prevPinchScale=1,this._pinching=!0,this._wasPinched=!0,this._paneWidgetsSharedState.setPinchingPane(this)))}pinchEvent(e,t,i,s){if(null!==this._paneWidgetsSharedState.scrollingPane()||this._paneWidgetsSharedState.pinchingPane()!==this)return;if(this._onTouchEvent(),!this._options.handleScale.pinch)return;const r=10*(s-this._prevPinchScale);this._prevPinchScale=s,this._chartModel().zoomTime(e.x,r,!0),this._prevPinchScale=s}pinchEndEvent(){null===this._paneWidgetsSharedState.scrollingPane()&&this._paneWidgetsSharedState.pinchingPane()===this&&(this._onTouchEvent(),this._pinching=!1,this._paneWidgetsSharedState.setPinchingPane(null))}mouseClickEvent(e){ +this._onMouseEvent(),this._mouseClickOrTapEvent(e)}tapEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._mouseClickOrTapEvent(e))}mouseDownEvent(e){this._onMouseEvent(),this.hasState()&&this._mouseDownOrTouchStartEvent(e,(0,s.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY)))}touchStartEvent(e){if(this._paneWidgetsSharedState.startTouch(this),this._preventTouchEventsExceptPinch())return;const t=this._chartModel().crossHairSource(),i=!this._trackCrosshairOnlyAfterLongTap&&t.pane===this._state&&Number.isFinite(t.originX())&&Number.isFinite(t.originY())&&Math.abs(t.originX()-e.localX)+Math.abs(t.originY()-e.localY)<5;this._onTouchEvent(),this._chart.setActivePaneWidget(this);const r=(0,s.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY));i&&(r.source===t||t.selectPointMode().value()?this.startTrackingMode(new P.Point(e.localX,e.localY),new P.Point(e.localX,e.localY)):!this._chart.readOnly()&&(0,f.isLineTool)(r.source)&&r.source.userEditEnabled()&&this._chartUndoModel().selectionMacro(e=>{var t;e.clearSelection(),e.addSourceToSelection(r.source,null===(t=r.hittest)||void 0===t?void 0:t.data())})),this._mouseDownOrTouchStartEvent(e,r),this._mouseOrTouchMoveEvent(e)}mouseUpEvent(e){this._onMouseEvent(),this._mouseUpOrTouchEndEvent(e)}touchEndEvent(e){this._paneWidgetsSharedState.endTouch(this),this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._mouseOrTouchLeaveEvent(e),this._mouseUpOrTouchEndEvent(e))}mouseMoveEvent(e){this._onMouseEvent(),this._mouseOrTouchMoveEvent(e)}pressedMouseMoveEvent(e){this._onMouseEvent(),this._pressedMouseOrTouchMoveEvent(e)}touchMoveEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._pressedMouseOrTouchMoveEvent(e))}mouseLeaveEvent(e){this._onMouseEvent(),this._mouseOrTouchLeaveEvent(e)}mouseDoubleClickEvent(e){this._onMouseEvent(),this._mouseDoubleClickOrDoubleTapEvent(e)}wheelClickEvent(e){var t,i;if(this._chart.readOnly())return;const r=this._dataSourceAtPoint(e.localX,e.localY);if(null===r||r.isCustom||null===r.source)return;if(((null===(t=r.hittest)||void 0===t?void 0:t.result())||0)<=M.HitTestResult.MOVEPOINT_BACKGROUND)return;const n=new A.EnvironmentState(e),o=null===(i=r.hittest)||void 0===i?void 0:i.eraseMarker();if(n.control()&&void 0!==o&&r.source.processErase)return void r.source.processErase(this._chartUndoModel(),o);const a=this._chartUndoModel();a.selection().isSelected(r.source)||a.selectionMacro(e=>{e.clearSelection();const t=(0,s.ensureNotNull)(r.source);e.addSourceToSelection(t,it(r,t))}),this._chart.removeSelectedSources()}doubleTapEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._mouseDoubleClickOrDoubleTapEvent(e))}longTapEvent(e){if(null===this._state||this._preventTouchEventsExceptPinch())return;if(this._onTouchEvent(),this._longTap=!0,null!==this._startTrackPoint||!this._trackingModeShouldBeActive())return;const t=this._chartModel().selection();if(!t.isEmpty()){const i=(0,s.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY)) +;if(null!==i.source&&t.isSelected(i.source))return}this.startTrackingMode(new P.Point(e.localX,e.localY),new P.Point(e.localX,e.localY),new A.EnvironmentState(e))}mouseEnterEvent(e){this._onMouseEvent(),this.hasState()&&(this._chart.setActivePaneWidget(this),this._setCursorPosition(e.localX,e.localY,new A.EnvironmentState(e)))}contextMenuEvent(e){this._onMouseEvent(),this._contextMenuEvent(e)}touchContextMenuEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._contextMenuEvent(e))}mouseDownOutsideEvent(){this._processOutsideClick({hittest:null,isCustom:!1,renderer:null,source:null})}cancelZoom(){this._chartModel().crossHairSource().clearSelection(),this._firstZoomPoint=null,this._preventCrossHairMove()&&this._clearCursorPosition()}startTrackingMode(e,t,i){this._startChangeLineToolParams=null,this._startMoveSourceParams=null,this._currentChangingLineToolHitTest=null,this._currentMovingHitTest=null,this._chartUndoModel().selectionMacro(e=>e.clearSelection()),this._startTrackPoint=e,this._exitTrackingModeOnNextTry=!1,this._setCursorPosition(t.x,t.y,i),this._initCrossHairPosition=this._chartModel().crossHairSource().currentPoint()}setDragToAnotherPaneCursor(){this._setCursorClassName("grabbing")}cloneLineTools(e,t){return this._chartUndoModel().cloneLineTools(e,t)}exitTrackingMode(){null!==this._state&&null!==this._startTrackPoint&&(this._exitTrackingModeOnNextTry=!0,this._tryExitTrackingMode())}trackingModeEnabled(){return null!==this._state&&null!==this._startTrackPoint}addCustomWidgetToLegend(e,t){this._options.legendWidgetEnabled&&(this._customLegendWidgetsFactoryMap.set(e,t),null!==this._legendWidget&&this._legendWidget.addCustomWidgetToLegend(e,t))}containsMainSeries(){return!!this.hasState()&&this.state().containsMainSeries()}paint(e,t){if(!this._chartUndoModel()||!this.hasState())return;this._state&&(e.priceScaleSideMaxLevel("left")>b.InvalidationLevel.Cursor||e.priceScaleSideMaxLevel("right")>b.InvalidationLevel.Cursor)&&(this._recalculatePriceScales(),this._chartModel().updateCrosshairPositionByOriginCoords());const i=e.fullInvalidation();if(i>b.InvalidationLevel.Cursor){const e=this._chartModel().crossHairSource(),t=e.originX(),i=e.originY();if(e.pane===this._state&&Number.isFinite(t)&&Number.isFinite(i)){const e=this._dataSourceAtPoint(t,i);null!==e&&this._updateHoveredSource(e,(0,Oe.globalEnvironmentState)())}}if(this._lhsPriceAxisesContainer.paint(e.getterForPriceScaleInvalidationLevelBySide("left")),this._rhsPriceAxisesContainer.paint(e.getterForPriceScaleInvalidationLevelBySide("right")),i!==b.InvalidationLevel.None){if(i>b.InvalidationLevel.Cursor){const e=(0,s.ensureNotNull)(this._canvasBinding.canvas.getContext("2d"));e.setTransform(1,0,0,1,0,0);const i=this._canvasRenderParams();this._drawBackground(e,i),this._state&&this._drawSources(e,i,t)}if(this._state){const e=(0,s.ensureNotNull)(this._topCanvasBinding.canvas.getContext("2d"));e.setTransform(1,0,0,1,0,0);const t=this._topCanvasRenderParams() +;e.clearRect(0,0,Math.ceil(this._size.w*t.pixelRatio),Math.ceil(this._size.h*t.pixelRatio)),this._drawSeriesTopViews(e,t),this._drawCrossHair(e,t),this._drawActiveLineTools(e,t)}}}cancelCreatingLineTool(){const e=this._chartUndoModel(),t=this._chartUndoModel().lineBeingCreated();if(t)if(t.pointsCount()<=0&&!(0,Ee.isLineDrawnWithPressedButton)(t.toolname)){const i=t.points();if(i.length>2){const s=i[i.length-2];e.continueCreatingLine(s),this._finishTool(t)}else e.cancelCreatingLine()}else e.cancelCreatingLine();null!==this._firstZoomPoint&&this.cancelZoom(),this.setCursorForTool()}drawRightThere(e){if((0,f.isLineToolName)(e)&&this.hasState()){const t=this._chartUndoModel(),i=t.crossHairSource(),s=t.model().magnet().align(i.price,i.index,this.state());t.createLineTool(this.state(),{index:i.index,price:s},e)}}cancelMeasuring(){this._chartUndoModel().crossHairSource().clearMeasure(),(0,E.resetToCursor)(),this.setCursorForTool()}async setErrorMessage(e){var t,i,s;e&&!this._errorRenderer&&(this._errorRenderer=this._createErrorBlock()),null===(t=await this._errorRenderer)||void 0===t||t.update({message:null==e?void 0:e.message,icon:(null===(i=this._state)||void 0===i?void 0:i.containsMainSeries())||(null===(s=this._state)||void 0===s?void 0:s.isMaximized())?null==e?void 0:e.icon:void 0,backgroundColor:`linear-gradient(${this._chartModel().backgroundTopColor().value()}, ${this._chartModel().backgroundColor().value()})`,textColor:this._chartModel().isDark()?Ge:je})}_topCanvasRenderParams(){return{pixelRatio:this._topCanvasBinding.pixelRatio,physicalWidth:this._topCanvasBinding.canvas.width,physicalHeight:this._topCanvasBinding.canvas.height,cssWidth:this._chartModel().timeScale().width(),cssHeight:this.height()}}_canvasRenderParams(){return{pixelRatio:this._canvasBinding.pixelRatio,physicalWidth:this._canvasBinding.canvas.width,physicalHeight:this._canvasBinding.canvas.height,cssWidth:this._chartModel().timeScale().width(),cssHeight:this.height()}}_tryExitTrackingMode(e){this._exitTrackingModeOnNextTry&&(this._startTrackPoint=null,e||this._clearCursorPosition())}_tryStartMeasure(e,t,i,s,r){return!(!(0,E.toolIsMeasure)(E.tool.value())||t.startMeasurePoint())&&(e.isTouch||this._preventCrossHairMove()||this._setCursorPosition(e.localX,e.localY,i),s=this._chartModel().magnet().align(s,r,this.state()),t.startMeasuring({price:s,index:r},this.state()),!0)}_tryFinishMeasure(e,t){if(t.startMeasurePoint()&&!t.endMeasurePoint()){let i=t.price;const s=t.index;return i=this._chartModel().magnet().align(i,s,this.state()),t.finishMeasure({price:i,index:s}),e.isTouch?(0,E.resetToCursor)():this._needResetMeasureLater=!0,this._preventCrossHairMove()&&this._clearCursorPosition(),!0}return!1}_tryStartZoom(e,t,i,s){const r=this._chart.model().model().zoomEnabled();if("zoom"===E.tool.value()&&r){const r=this._chartUndoModel(),n=r.timeScale().indexToCoordinate(i)-.5*r.timeScale().barSpacing();return this._firstZoomPoint={price:t,index:i,x:n,y:e.localY},this._preventCrossHairMove()||this._setCursorPosition(e.localX,e.localY,s), +this._chartModel().crossHairSource().startSelection(this.state()),!0}return!1}_finishZoom(e){const t=this.state(),i=t.defaultPriceScale(),r=(0,s.ensureNotNull)(t.mainDataSource()).firstValue(),n=i.coordinateToPrice(e.localY,(0,s.ensureNotNull)(r)),o=this._chartUndoModel(),a=Math.round(o.timeScale().coordinateToIndex(e.localX)),l=(0,s.ensureNotNull)(this._firstZoomPoint);a!==l.index&&o.zoomToViewport(l.index,a,l.price,n,t),this._chartModel().crossHairSource().clearSelection(),this._firstZoomPoint=null,(0,E.resetToCursor)(),this._preventCrossHairMove()&&this._clearCursorPosition()}_tryFinishZoom(e){return null!==this._firstZoomPoint&&(this._finishZoom(e),!0)}_tryHandleEraserMouseDown(e,t){if(e.source&&"eraser"===E.tool.value()&&!e.isCustom&&(!(i=e.source)||!i.customization||!i.customization.disableErasing)){const i=this._chartUndoModel();if(null!==e.hittest&&((0,f.isLineTool)(e.source)||(0,v.isStudy)(e.source))){const s=e.hittest.eraseMarker();return t.control()&&void 0!==s&&e.source.processErase?e.source.processErase(i,s):i.removeSource(e.source,!1),!0}}var i;return!1}_tryStartChangingLineTool(e,t,i,r){var n,o;if(e.isTouch&&null!==this._startTrackPoint)return!1;const a=t.hittest;if((!e.isTouch||!this._preventSourceChange)&&a&&(0,f.isLineTool)(t.source)&&a.result()===M.HitTestResult.CHANGEPOINT){const l=this._chartUndoModel(),c=(0,s.ensure)(null===(n=this.state().mainDataSource())||void 0===n?void 0:n.firstValue()),h=(0,s.ensureNotNull)(t.source.priceScale()).coordinateToPrice(e.localY,c);l.selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection(t.source,a.data())});const d=l.model().magnet().align(h,r,this.state()),u=null===(o=a.data())||void 0===o?void 0:o.pointIndex;return this._startChangeLineToolParams={source:t.source,startPoint:{index:r,price:d},screenPoint:{x:e.localX,y:e.localY},pointIndex:u,envState:i},!0}return this._startChangeLineToolParams=null,!1}_tryStartCloning(e,t,i,s){if(i.control()){const t=this._chartUndoModel().selection().dataSources().filter(e=>e.cloneable());if(s&&s.cloneable()&&t.push(s),t.length>0)return this._clonningAtMoveLineTools=t.map(e=>e.id()),this._startCloningPoint=new P.Point(e.localX,e.localY),!0}return!1}_tryFinishClonning(e,t,i){const r=this._chartUndoModel(),n=this._chartModel();if(t.control()&&this._clonningAtMoveLineTools){const o=new P.Point(e.localX,e.localY),a=(0,s.ensureNotNull)(this._startCloningPoint).subtract(o).length(),l=[];for(const e of this._clonningAtMoveLineTools){const t=n.dataSourceForId(e);null!==t&&l.push(t)}if(0===l.length)return!1;if(a>8){const n=this.cloneLineTools(l,!0).map(e=>(0,s.ensureNotNull)(r.model().dataSourceForId(e)));r.selectionMacro(e=>{e.clearSelection();let t=null;n.forEach(s=>{null===t&&(t=it(i,s)),e.addSourceToSelection(s,t)})});const o=new P.Point(e.localX,e.localY),a=(0,s.ensureNotNull)(n[0].priceScale()),c=(0,s.ensureNotNull)(this.state().mainDataSource()).firstValue(),h={index:r.timeScale().coordinateToIndex(e.localX),price:a.coordinateToPrice(e.localY,(0,s.ensureNotNull)(c))};r.startMovingSources(n,{logical:h,screen:o},null,t), +this._clonningAtMoveLineTools=null,this._startCloningPoint=null}return!0}return!1}_mouseDownEventForLineTool(e,t,i,r){var n,o;const a=E.tool.value();if(!this.hasState()||(0,Ee.isLineToolDrawWithoutPoints)(a))return;const l=this._chartUndoModel();let c=!1,h=null;(0,E.hideAllDrawings)().value()&&(0,He.toggleHideMode)(),(0,E.lockDrawings)().setValue(!1),e.isTouch&&!e.stylus&&((0,f.isLineToolName)(a)&&!(0,Ee.isLineDrawnWithPressedButton)(a)||l.lineBeingCreated())&&this._initToolCreationModeParams(e);const d=l.lineBeingCreated();if(d&&!(0,Ee.isLineDrawnWithPressedButton)(d.toolname)){const a=(0,s.ensure)(null===(n=d.ownerSource())||void 0===n?void 0:n.firstValue());if(e.isTouch&&!e.stylus){if(!this._startTouchPoint){this._startTouchPoint=new P.Point(e.pageX,e.pageY);const t=d.points(),i=t[t.length-1],r=l.timeScale().indexToCoordinate(i.index),n=(0,s.ensureNotNull)(d.priceScale()).priceToCoordinate(i.price,a);return void(this._initCrossHairPosition=new P.Point(r,n))}}else if(!e.isTouch){h=d;const n=l.model().paneForSource(d);if(n!==this._state&&null!==n){const i=this._externalPaneXCoord(n,e.localX),r=this._externalPaneYCoord(n,e.localY);c=l.continueCreatingLine({index:Math.round(l.timeScale().coordinateToIndex(i)),price:(0,s.ensure)(null===(o=d.priceScale())||void 0===o?void 0:o.coordinateToPrice(r,a))},t)}else{const e=l.model().magnet().align(r,i,this.state());c=l.continueCreatingLine({index:i,price:e},t)}}}else if(!e.isTouch||e.stylus||(0,Ee.isLineDrawnWithPressedButton)(a)){const e={index:i,price:l.model().magnet().align(r,i,this.state())};h=l.createLineTool(this.state(),e,a),l.lineBeingCreated()||(c=!0)}const u=(0,s.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY));h&&l.selectionMacro(e=>{var t;return e.addSourceToSelection((0,s.ensureNotNull)(h),null===(t=u.hittest)||void 0===t?void 0:t.data())}),c&&h&&(this._finishTool(h,u),e.preventDefault())}_handleSelectionMouseDownAndGetJustDeselectedSource(e,t,i){const s=this._chartUndoModel();let r=null;if(null===t.source||t.source.isSelectionEnabled()){let n=e.isTouch?Boolean(t.hittest&&t.hittest.result()>=M.HitTestResult.MOVEPOINT_BACKGROUND):Boolean(t.hittest&&t.hittest.result()>M.HitTestResult.MOVEPOINT_BACKGROUND);this._preventSourceChange&&(n=!1),s.selectionMacro(e=>{var s;n&&t.source?(i.control()||e.selection().isSelected(t.source)||e.clearSelection(),i.control()&&e.selection().isSelected(t.source)?(r=t.source,e.removeSourceFromSelection(t.source)):e.addSourceToSelection(t.source,null===(s=t.hittest)||void 0===s?void 0:s.data()),e.selection().allSources().length>1&&(0,U.trackEvent)("GUI","Multiselect","Click Select")):i.control()||e.clearSelection()})}return r}_processMouseMoveWhileZoom(e,t){this._preventCrossHairMove()||this._setCursorPosition(e.localX,e.localY,t)}_updateCommonTooltip(e,t){let i=null;if(null!==e&&null!==e.hittest){const t=e.hittest.data();t&&(i=t.tooltip||null)}if(null===this._prevTooltipData&&null===i)return;if(null===i||""===i.text)return this._prevTooltipData=null,void(0,Be.hide)(t);if(this._prevTooltipData&&(0, +w.default)(i,this._prevTooltipData))return;this._prevTooltipData=i;const s=(0,_.clone)(i);if(void 0!==s.rect){const e=this._paneCell.getBoundingClientRect();s.rect.x+=e.left,s.rect.y+=e.top}(0,Be.show)(s)}_setCursorPositionOnExternalPane(e,t,i,s){t=this._externalPaneXCoord(e,t),i=this._externalPaneYCoord(e,i);this._chart.paneByState(e)._setCursorPosition(t,i,s)}_setCursorPosition(e,t,i){this._chartModel().setAndSaveCurrentPosition(this._correctXCoord(e),this._correctYCoord(t),this.state(),i)}_setCursorClassName(e){let t="";e&&(t="pane--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._paneCell.classList.remove(this._currentCursorClassName),t&&this._paneCell.classList.add(t),this._currentCursorClassName=t,this._paneCell.style.cursor)}_processMouseUpOrTouchEndHandler(e){var t;null===(t=(0,s.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY)).hittest)||void 0===t||t.tryCallMouseUpOrTouchEndHandler(e)}_crossHairShouldBeVisible(){const e=this._chartModel().crossHairSource();return(0,f.isLineToolName)(E.tool.value())||(0,E.toolIsMeasure)(E.tool.value())||e.startMeasurePoint()&&!e.endMeasurePoint()||null!==this._firstZoomPoint||null!==this._chartModel().lineBeingEdited()||null!==this._chartModel().lineBeingCreated()}_clearCursorPosition(){this._chartModel().clearCurrentPosition()}_dataSourceAtPoint(e,t){if(!this.hasState())return null;const i={source:null,hittest:null,isCustom:!1,renderer:null},s=this._chartUndoModel();if((0,f.isLineToolName)(E.tool.value())||null!==s.lineBeingCreated())return i;if(this._currentChangingLineToolHitTest)return this._currentChangingLineToolHitTest;if(this._currentMovingHitTest)return this._currentMovingHitTest;const r=this.state(),n=r.height(),o=r.width(),a=st.bind(null,i),l=this._canvasRenderParams(),c=new P.Point(e,t),h=r.sourcesByGroup(),d=s.selection();this._hitTestSources(l,d.dataSources(),c,a,!1),this._hitTestSources(l,d.customSources(),c,a,!0);const u=new Set(d.allSources().map(e=>e.id()));this._hitTestSources(l,[s.crossHairSource()],c,a,!1,u),this._hitTestSources(l,r.customSources(L.CustomSourceLayer.Topmost),c,a,!0,u),this._hitTestSources(l,h.tradingSources(),c,a,!1,u),this._hitTestSources(l,r.customSources(L.CustomSourceLayer.Foreground),c,a,!0,u);const p=[...this._chartModel().multiPaneSources(r),...h.hitTestSources()];if(this._hitTestSources(l,p,c,a,!1,u),this.containsMainSeries()){const e=s.barsMarksSources();for(let t=0;t=0;--s){const h=t[s];if(void 0!==o&&o.has(h.id()))continue +;const d=h.paneViews(a);if(null!==d&&0!==d.length)for(let t=d.length-1;t>=0;--t){const s=d[t].renderer(l,c);if(s&&s.hitTest){const t=s.hitTest(i,e);null!==t&&r(t,h,s,n)}}}}_tryStartMovingLineTool(e,t,i,r){var n,o;if(null===t.source||!t.source.movable()||null!==this._startTrackPoint)return!1;if(!this._preventSourceChange){const a=this._chartUndoModel(),l=(0,s.ensureNotNull)((0,s.ensureNotNull)(this._state).mainDataSource()).firstValue(),c=(0,s.ensureNotNull)(t.source.priceScale()).coordinateToPrice(e.localY,(0,s.ensureNotNull)(l)),h=(t.source.isSelectionEnabled()?a.selection().allSources():[t.source]).filter(Fe),d=new P.Point(e.localX,e.localY),u={index:r,price:c},p=null===(o=null===(n=t.hittest)||void 0===n?void 0:n.data())||void 0===o?void 0:o.activeItem;return this._startMoveSourceParams={source:h,startPoint:{logical:u,screen:d},activeItem:void 0===p?null:p,envState:i},!0}return this._startMoveSourceParams=null,!1}_chartModel(){return this._chart.model().model()}_chartUndoModel(){return this._chart.model()}_externalPaneXCoord(e,t){t+=this._div.getBoundingClientRect().left+document.body.scrollLeft;const i=(0,s.ensureNotNull)(this._chart.paneByState(e)),r=i._div.getBoundingClientRect().left+document.body.scrollLeft;return i._correctXCoord(t-r)}_externalPaneYCoord(e,t){t+=this._div.getBoundingClientRect().top+document.body.scrollTop;const i=(0,s.ensureNotNull)(this._chart.paneByState(e)),r=i._div.getBoundingClientRect().top+document.body.scrollTop;return i._correctYCoord(t-r)}_correctXCoord(e){return Math.max(0,Math.min(e,this._size.w-1))}_correctYCoord(e){return Math.max(0,Math.min(e,this._size.h-1))}_processScroll(e){if(!this._chart.model().model().scrollEnabled())return;const t=Date.now();this._startScrollingPos||this._preventScroll()||(this._startScrollingPos={x:e.clientX,y:e.clientY,timestamp:t,localX:e.localX,localY:e.localY}),null!==this._scrollXAnimation&&this._scrollXAnimation.addPosition(e.localX,t),null!==this._scrollYAnimation&&this._scrollYAnimation.addPosition(e.localY,t);const i=this._chartUndoModel();let s=this.state().defaultPriceScale();if(this._startScrollingPos&&!this._isScrolling&&(this._startScrollingPos.x!==e.clientX||this._startScrollingPos.y!==e.clientY))return i.beginUndoMacro(qe,!0),null===this._scrollXAnimation&&this._options.useKineticScroll&&(this._scrollXAnimation=new Te(.2,7,.997,15),this._scrollXAnimation.addPosition(this._startScrollingPos.localX,this._startScrollingPos.timestamp),this._scrollXAnimation.addPosition(e.localX,t)),this._scrollYAnimation,i.selection().isEmpty()||(s=i.selection().allSources()[0].priceScale()),null===s||s.isEmpty()||(this._scrollPriceScale=s,i.startScrollPrice(this.state(),s,e.localY)),i.startScrollTime(e.localX),this._isScrolling=!0,this.setCursorForTool(),void this._paneWidgetsSharedState.setScrollingPane(this);this._isScrolling&&(null!==this._scrollPriceScale&&i.scrollPriceTo(this.state(),this._scrollPriceScale,e.localY),i.scrollTimeTo(e.localX))}_finishScroll(){const e=this._chartUndoModel();e.endScrollTime(), +null!==this._scrollPriceScale&&e.endScrollPrice(this.state(),this._scrollPriceScale),e.endUndoMacro(),this._isScrolling=!1,this._startScrollingPos=null,this._scrollPriceScale=null,this.setCursorForTool(),this._paneWidgetsSharedState.setScrollingPane(null)}_endScroll(e){if(!this._isScrolling)return!1;const t=this._isScrolling&&this._scrollUndoCommandInStack();if(this._isScrolling){const i=Date.now();null!==this._scrollXAnimation&&this._scrollXAnimation.start(e.localX,i),null!==this._scrollYAnimation&&this._scrollYAnimation.start(e.localY,i);const s=this._chartUndoModel(),r=null===this._scrollXAnimation||this._scrollXAnimation.finished(i),n=null===this._scrollYAnimation||this._scrollYAnimation.finished(i);if(r&&n)return this._finishScroll(),t;r?(s.endScrollTime(),this._paneWidgetsSharedState.setScrollingPane(null)):n&&(this._scrollPriceScale&&s.endScrollPrice(this.state(),this._scrollPriceScale),this._scrollPriceScale=null);const o=s.timeScale(),a=this._scrollXAnimation,l=this._scrollYAnimation,c=()=>{if((null===a||a.terminated())&&(null===l||l.terminated()))return;const e=Date.now();let t=null===a||a.finished(e);const i=null===l||l.finished(e);if(null!==a&&!a.terminated()){const i=o.rightOffset();s.scrollTimeTo(a.getPosition(e)),i===o.rightOffset()&&(t=!0,this._scrollXAnimation=null)}null===l||l.terminated()||null===this._scrollPriceScale||s.scrollPriceTo(this.state(),this._scrollPriceScale,l.getPosition(e)),t&&i?this._finishScroll():requestAnimationFrame(c)};requestAnimationFrame(c)}return t}_terminateActiveAnimations(){const e=Date.now(),t=null===this._scrollXAnimation||this._scrollXAnimation.finished(e),i=null===this._scrollYAnimation||this._scrollYAnimation.finished(e);null===this._scrollXAnimation&&null===this._scrollYAnimation||t&&i||this._finishScroll(),null!==this._scrollXAnimation&&(this._scrollXAnimation.terminate(),this._scrollXAnimation=null),null!==this._scrollYAnimation&&(this._scrollYAnimation.terminate(),this._scrollYAnimation=null)}_preventScroll(){return this._trackCrosshairOnlyAfterLongTap&&this._longTap||this._contextMenuOpenedOnLastTap||(0,f.isLineToolName)(E.tool.value())||Boolean(this._chartUndoModel().lineBeingCreated())||null!==this._startTrackPoint}_isSelectPointModeEnabled(){return this._chartUndoModel().crossHairSource().selectPointMode().value()}_preventCrossHairMove(){return!!this._trackCrosshairOnlyAfterLongTap&&(null===this._chart.trackingModePaneWidget()&&(!!this._contextMenuOpenedOnLastTap||!this._crossHairShouldBeVisible()&&null===this._startTrackPoint))}_finishTool(e,t=null){const i=this._chartUndoModel(),s=E.tool.value();if((0,E.resetToCursor)(),this._preventCrossHairMove()&&this._clearCursorPosition(),i.selectionMacro(i=>{i.addSourceToSelection(e,it(t,e))}),(0,Ee.isTextToolName)(s)){const t=i.createUndoCheckpoint();this._chart.showChartPropertiesForSource(e,De.TabNames.text,void 0,t).then(e=>{0})}this._lastFinishedToolId=e.id(),(0,h.emit)("drawing_event",e.id(),"create"),(0,ke.trackDrawingCreated)(e)}_alignSourcesThatBeingMoved(e,t,i,s){ +const r=this._chartUndoModel(),n=r.timeScale().coordinateToIndex(t);r.model().sourcesBeingMoved().forEach(e=>{var o,a;let l=n,c=e.convertYCoordinateToPriceForMoving(i,this.state().mainDataSource());if(null!==c){if((0,v.isStudy)(e)){const e=r.mainSeries(),t=e.bars().firstIndex(),i=e.bars().lastIndex();null!==t&&null!==i&&(l=Math.min(Math.max(n,t),i)),c=this._chartModel().magnet().align(c,n,this.state())}null!==this._currentMovingHitTest&&void 0!==(null===(a=null===(o=this._currentMovingHitTest.hittest)||void 0===o?void 0:o.data())||void 0===a?void 0:a.cursorType)||this.setCursorForTool(),r.moveSources({screen:new P.Point(t,i),logical:{index:l,price:c}},s)}})}_resetMeasureIfRequired(){this._needResetMeasureLater&&((0,E.resetToCursor)(),this._needResetMeasureLater=!1)}_drawBackground(e,t){const i=Math.ceil(t.pixelRatio*this._size.w),s=Math.ceil(t.pixelRatio*this._size.h),r=this._chartModel(),n=r.backgroundTopColor().value(),o=r.backgroundColor().value();n===o?(0,N.clearRect)(e,0,0,i+1,s+1,o):(0,R.clearRectWithGradient)(e,0,0,i+1,s+1,n,o)}_drawWatermark(e,t){const i=this._chartModel().watermarkSource();if(null===i)return;const s=this.state();if(!s.containsMainSeries())return;const r=i.paneViews(),n=s.height(),o=s.width();for(const i of r){e.save();const s=i.renderer(n,o);s&&s.draw(e,t),e.restore()}}_drawCrossHair(e,t){const i=this._chartUndoModel().crossHairSource();!i.visible&&(0,E.lockTimeAxis)().value()&&(i.setLockedPosition((0,s.ensureNotNull)(this._state)),i.updateAllViews()),this._drawSourceImpl(e,t,Je,Ze,i)}_drawActiveLineTools(e,t){const i=this._chartModel(),s=[i.lineBeingCreated(),i.lineBeingEdited(),...i.sourcesBeingMoved(),i.customSourceBeingMoved()].filter(e=>!!e);for(const r of s){(i.paneForSource(r)===this.state()||(0,k.isDataSource)(r)&&r.isMultiPaneEnabled())&&this._drawSourceImpl(e,t,Je,Ze,r)}}_drawSeriesTopViews(e,t){this.state().containsMainSeries()&&this._drawSourceImpl(e,t,Qe,Ze,this._chartUndoModel().mainSeries())}_drawSources(e,t,i){const s=this.state(),r=s.model(),n=s.sourcesByGroup(),o=n.tradingSources(),a=[...r.multiPaneSources(s),...n.generalSources()],l=n.phantomSources(),c=s.customSources(L.CustomSourceLayer.Background).slice(),h=s.customSources(L.CustomSourceLayer.Foreground).slice(),d=s.customSources(L.CustomSourceLayer.Topmost).slice();{const e=r.panes();for(let t=e.length-1;t>=0;t--)e[t].createDrawingsCaches()}this._drawSourceImpl(e,t,Je,Ze,r.gridSource()),this._drawWatermark(e,t);for(const i of c)this._drawSourceImpl(e,t,Je,Xe,i);for(const i of a)this._drawSourceImpl(e,t,Je,Xe,i);for(const i of h)this._drawSourceImpl(e,t,Je,Xe,i);for(const i of l)this._drawSourceImpl(e,t,Je,Xe,i);const u=new Set;[r.lineBeingCreated(),r.lineBeingEdited(),...r.sourcesBeingMoved(),r.customSourceBeingMoved()].filter(_.notNull).forEach(e=>u.add(e.id()));let p=r.hoveredSource();null!==p&&(Ke(p)||u.has(p.id())||(0,k.isDataSource)(p)&&!a.includes(p)?p=null:u.add(p.id()));const m=r.selection().allSources().filter(e=>!((0,k.isDataSource)(e)&&!a.includes(e))&&(!u.has(e.id())&&!Ke(e)));m.forEach(e=>u.add(e.id()));{ +for(const i of c)this._drawSourceImpl(e,t,Je,Ze,i,u);for(const i of a)this._drawSourceImpl(e,t,Je,Ze,i,u);for(const i of h)this._drawSourceImpl(e,t,Je,Ze,i,u);const i=r.activeStrategySource().value();i&&this.containsMainSeries()&&this._drawSourceImpl(e,t,tt,Ze,i)}for(const i of o)this._drawSourceImpl(e,t,Je,Xe,i);for(const i of d)this._drawSourceImpl(e,t,Je,Xe,i);for(const i of a)this._drawSourceImpl(e,t,et,Ze,i,u);for(const i of h)this._drawSourceImpl(e,t,et,Ze,i,u);this._drawBarsMarks(e,t,i);for(const i of o)this._drawSourceImpl(e,t,Je,Ze,i,u);for(const i of d)this._drawSourceImpl(e,t,Je,Ze,i,u);for(const i of m)this._drawSourceImpl(e,t,Je,Ze,i);for(const i of m)this._drawSourceImpl(e,t,et,Ze,i);p&&(this._drawSourceImpl(e,t,Je,Ze,p),this._drawSourceImpl(e,t,et,Ze,p));for(const i of l)this._drawSourceImpl(e,t,Je,Ze,i,u);{const e=r.panes();for(let t=e.length-1;t>=0;t--)e[t].clearDrawingCaches()}}_drawSourceImpl(e,t,i,s,r,n){if(n&&n.has(r.id()))return;const o=this.state(),a=o.height(),l=o.width(),c=i(r,this.state());if(c)for(const i of c){const r=i.renderer(a,l);r&&(e.save(),s(r,e,t),e.restore())}}_drawBarsMarks(e,t,i){if(this.containsMainSeries()&&!i){const i=this._chartUndoModel().barsMarksSources();for(const s of i)this._drawSourceImpl(e,t,Je,Ze,s)}}_updateByThemedColors(){null!==this._legendWidget&&this._legendWidget.updateThemedColors(this._themedTopColor),null!==this._paneControls&&this._paneControls.updateThemedColors(this._themedTopColor)}_scrollUndoCommandInStack(){const e=this._chartUndoModel().undoHistory().undoStack();if(e.isEmpty())return!1;const t=e.head();if(!(t instanceof D.UndoMacroCommand))return!1;if(t.isEmpty())return!1;const i=t.commands()[0];return i instanceof Le.PriceScaleChangeUndoCommand||i instanceof Me.TimeScaleChangeUndoCommand}_onStateDestroyed(){this.setState(null)}_getHideNotMainSourcesValue(){return ot&&!this._chart.isActive()&&!this._chart.crossHairSyncEnabled()}_onDataSourcesCollectionChanged(){this._startMoveSourceParams=null}_processMouseEnterLeaveMoveHandlers(e,t){var i,s,r,n;null!==this._prevHoveredHittest&&this._prevHoveredHittest.renderer!==e.renderer&&((0,M.tryCallHandler)(t,null===(s=null===(i=this._prevHoveredHittest.hittest)||void 0===i?void 0:i.data())||void 0===s?void 0:s.mouseLeaveHandler),this._prevHoveredHittest=null),t.isTouch||(e.hittest&&(null===(r=this._prevHoveredHittest)||void 0===r?void 0:r.renderer)!==e.renderer&&(e.hittest.tryCallMouseEnterHandler(t),this._prevHoveredHittest=e),null===(n=e.hittest)||void 0===n||n.tryCallMouseMoveHandler(t))}_startChangeOrMoveLineToolIfNeeded(){if(null!==this._startChangeLineToolParams){const e=this._startChangeLineToolParams;this._chartUndoModel().startChangingLinetool(e.source,e.startPoint,e.pointIndex,e.envState)}if(null!==this._startMoveSourceParams){const e=this._startMoveSourceParams;this._chartUndoModel().startMovingSources(e.source,e.startPoint,e.activeItem,e.envState)}this._startMoveSourceParams=null,this._startChangeLineToolParams=null}_trackingModeShouldBeActive(){ +return!(!this._trackCrosshairOnlyAfterLongTap||this._contextMenuOpenedOnLastTap||this._crossHairShouldBeVisible())&&this._longTap}_processOutsideClick(e){let t=null;const i=this._chartModel();if(e.source&&(t=e.isCustom?i.customSourceName(e.source):e.source.id()),null!==this._lastClickedSource&&this._lastClickedSource.id!==t){const e=this._lastClickedSource.id;let t=this._lastClickedSource.isCustom?i.customSourceForName(e):i.dataSourceForId(e);null!==t||this._lastClickedSource.isCustom||(t=this._chartUndoModel().barMarksSourceForId(e)),null!==t&&t.onClickOutside&&(t.onClickOutside(),this._chartModel().updateSource(t))}this._lastClickedSource=null!==t?{id:t,isCustom:e.isCustom}:null}_mouseClickOrTapEvent(e){var t,i,r;if(!this.hasState())return;const n=this._dataSourceAtPoint(e.localX,e.localY),o=n&&n.source,a=this._chartUndoModel(),l=Boolean(null===(i=null===(t=null==n?void 0:n.hittest)||void 0===t?void 0:t.data())||void 0===i?void 0:i.hideCrosshairLinesOnHover);this._processOutsideClick((0,s.ensureNotNull)(n)),!this._isSelectPointModeEnabled()||l||e.isTouch&&this.trackingModeEnabled()&&!this._exitTrackingModeOnNextTry||a.crossHairSource().trySelectCurrentPoint(),(null===(r=null==n?void 0:n.hittest)||void 0===r?void 0:r.tryCallClickOrTapHandler(e))&&a.model().updateSource((0,s.ensureNotNull)(o)),!e.isTouch||this._isSelectPointModeEnabled()||n&&n.source===a.crossHairSource()||this._tryExitTrackingMode(),o instanceof V.BarsMarksContainer&&n&&n.hittest&&n.hittest.data()&&o.onClicked((0,s.ensureNotNull)(n.hittest).data()),o&&(0,f.isLineTool)(o)&&this._lastFinishedToolId!==o.id()&&(0,h.emit)("drawing_event",o.id(),"click"),this._resetMeasureIfRequired()}_mouseDownOrTouchStartEvent(e,t){var i,r,n,o,a,l,c,d;if(e.isTouch&&(this._longTap=!1,this._exitTrackingModeOnNextTry=null!==this._startTrackPoint,this._paneWidgetsSharedState.clearDraggingSource()),this._contextMenuOpenedOnLastTap=!1,this._lastFinishedToolId=null,this._terminateActiveAnimations(),e.isTouch&&this._switchTrackingModeFromAnotherPaneIfNeeded(e),document.activeElement!==document.body&&document.activeElement!==document.documentElement)document.activeElement&&document.activeElement.blur?document.activeElement.blur():document.body.focus();else{const e=document.getSelection();null!==e&&e.removeAllRanges()}(0,h.emit)("mouse_down",{clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY}),this._updateCommonTooltip(null);const u=this._chartUndoModel(),p=new A.EnvironmentState(e);u.mainSeries().clearGotoDateResult();const _=this.state().defaultPriceScale();if(_.isEmpty()||u.timeScale().isEmpty())return;const m=u.crossHairSource();if(!e.isTouch&&!(0,Ee.isLineDrawnWithPressedButton)(E.tool.value())){const t=u.lineBeingCreated(),i=null!==t?u.model().paneForSource(t):null;null!==i&&i!==this._state?this._setCursorPositionOnExternalPane(i,e.localX,e.localY,p):this._setCursorPosition(e.localX,e.localY,p)}e.isTouch&&(0,f.isLineToolName)(E.tool.value())&&((0,Ee.isLineDrawnWithPressedButton)(E.tool.value())||null!==m.pane?(0, +Ee.isLineDrawnWithPressedButton)(E.tool.value())&&this._clearCursorPosition():this._chart.updateCrossHairPositionIfNeeded());const g=(0,s.ensureNotNull)(this.state().mainDataSource()).firstValue();if(null===g)return void(this._chart.readOnly()||(this._handleSelectionMouseDownAndGetJustDeselectedSource(e,t,p),t.source&&(0,Ae.isPriceDataSource)(t.source)&&t.source.isDraggable()&&this._paneWidgetsSharedState.trySetDraggingSource(t.source,this)));let v=_.coordinateToPrice(e.localY,g),S=this._chartModel().timeScale().coordinateToIndex(e.localX);if(m.startMeasurePoint()&&m.endMeasurePoint()&&m.clearMeasure(),p.shift()&&!(null===(n=null===(r=null===(i=t.hittest)||void 0===i?void 0:i.data())||void 0===r?void 0:r.hasOwnShortcutsBehaviourFor)||void 0===n?void 0:n.shiftKey)&&(0,E.toolIsCursor)(E.tool.value())&&u.selection().isEmpty()&&E.tool.setValue("measure"),(e.isTouch&&!e.stylus||!this._tryStartMeasure(e,m,p,v,S))&&(e.isTouch&&!e.stylus||!this._tryFinishMeasure(e,m))&&!this._tryFinishZoom(e)&&!this._tryStartZoom(e,v,S,p)){if(e.isTouch&&(null!==this._startTrackPoint?(this._initCrossHairPosition=m.currentPoint(),this._startTrackPoint=new P.Point(e.localX,e.localY)):this._isSelectPointModeEnabled()&&null===this._chart.trackingModePaneWidget()&&this.startTrackingMode(new P.Point(e.localX,e.localY),new P.Point(e.localX,e.localY),new A.EnvironmentState(e))),e.isTouch&&(this._preventSourceChange=null===t.source||!u.selection().isSelected(t.source)),!this._isSelectPointModeEnabled()&&!this._isScrolling){if(e.isTouch&&!e.stylus&&((0,E.toolIsMeasure)(E.tool.value())||null!==m.measurePane()))return void this._initToolCreationModeParams(e);if((0,f.isLineToolName)(E.tool.value())||u.lineBeingCreated())return p.shift()||u.selectionMacro(e=>e.clearSelection()),void this._mouseDownEventForLineTool(e,p,S,v)}if(null===(o=t.hittest)||void 0===o||o.tryCallMouseDownOrTouchStartHandler(e),!this._chart.readOnly()){const i=this._handleSelectionMouseDownAndGetJustDeselectedSource(e,t,p);if(t.hittest&&t.source&&!this._preventSourceChange){const i=t.hittest.data();if(t.isCustom){if(t.hittest.hasPressedMoveHandler(e))return u.model().setMovingCustomSource(t.source,i),this._currentMovingHitTest=t,void u.selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection((0,s.ensureNotNull)(t.source),(0,s.ensureNotNull)(i))})}else if((null==i?void 0:i.areaName)===M.AreaName.SourceItemMove){const r=null==i?void 0:i.activeItem;if(void 0!==r)return u.startCustomMoving(t.source,r,e),this._currentMovingHitTest=t,void u.selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection((0,s.ensureNotNull)(t.source),(0,s.ensureNotNull)(i))})}}if(this._tryHandleEraserMouseDown(t,p))return;const r=t.source&&(0,f.isLineTool)(t.source)&&t.source.isLocked&&t.source.isLocked();if(!((0,E.lockDrawings)().value()||r)&&!t.isCustom){if(t.source&&!t.source.userEditEnabled())return;const s=null===(l=null===(a=t.hittest)||void 0===a?void 0:a.data())||void 0===l?void 0:l.snappingPrice,r=null===(d=null===(c=t.hittest)||void 0===c?void 0:c.data())||void 0===d?void 0:d.snappingIndex +;let n=e.localY,o=e.localX;if(void 0!==s&&(n=_.priceToCoordinate(s,g),v=s),void 0!==r&&(o=this._chartModel().timeScale().indexToCoordinate(r),S=r),n===e.localY&&o===e.localX||(e={...e,localY:n,localX:o},this._setCursorPosition(e.localX,e.localY,p)),this._tryStartChangingLineTool(e,t,p,S))return void(this._currentChangingLineToolHitTest=t);if(this._currentChangingLineToolHitTest=null,t.hittest&&((y=t.hittest.result())===M.HitTestResult.MOVEPOINT||y===M.HitTestResult.MOVEPOINT_BACKGROUND&&(0,x.lastMouseOrTouchEventInfo)().isTouch)){if(this._tryStartCloning(e,t,p,i))return;if(this._tryStartMovingLineTool(e,t,p,S))return void(this._currentMovingHitTest=t);this._currentMovingHitTest=null}}if(t.source&&(0,Ae.isPriceDataSource)(t.source)&&t.source.isDraggable()&&this._paneWidgetsSharedState.trySetDraggingSource(t.source,this))return}var y;t&&t.hittest&&t.hittest.result()===M.HitTestResult.REGULAR||(this._processing=!0)}}_mouseUpOrTouchEndEvent(e){var t,i;if(!this.hasState())return;const r=e.isTouch&&null!==this._startTrackPoint,n=e.isTouch&&this._wasPinched;e.isTouch&&(this._wasPinched=!1,this._longTap=!1),this._startMoveSourceParams=null,this._startChangeLineToolParams=null,this._currentChangingLineToolHitTest=null,this._currentMovingHitTest=null;const o=this._chartUndoModel(),a=o.model().customSourceMovingHitTestData();null!==a||o.customMoveBeingProcessed()||this._processMouseUpOrTouchEndHandler(e),this._isSelecting=!1;const l=o.model(),c=l.crossHairSource(),d=this._dataSourceAtPoint(e.localX,e.localY),u=null==d?void 0:d.hittest;if(c.selection()&&null===this._firstZoomPoint){const e=this.state().lineToolsForArea(c.selection());o.selectionMacro(t=>{let i=null;e.forEach(e=>{null===i&&(i=it(d,e)),t.addSourceToSelection(e,i)})}),c.clearSelection(),(0,U.trackEvent)("GUI","Multiselect","Area Select")}(0,h.emit)("mouse_up",{clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY});const p=e.isTouch&&this._touchMove;e.isTouch&&(this._touchMove=!1);const _=new A.EnvironmentState(e),m=E.tool.value();if(e.isTouch&&((0,E.toolIsMeasure)(m)||null!==c.measurePane())){if(!p&&!e.stylus&&null===c.measurePane()&&c.pane!==this._state)return void this._setCursorPosition(e.localX,e.localY);if(!p&&!e.stylus&&this._tryStartMeasure(e,c,_,c.price,c.index))return;if((!p||e.stylus)&&this._tryFinishMeasure(e,c))return}if(e.isTouch&&!p&&!(0,Ee.isLineDrawnWithPressedButton)(m)&&(0,f.isLineToolName)(m)&&!o.lineBeingCreated()){if(this._chart.justActivated())return;if(c.pane!==this._state)return void this._setCursorPosition(e.localX,e.localY,_);const i=c.currentPoint(),r=this.state().defaultPriceScale(),n=(0,s.ensure)(null===(t=this.state().mainDataSource())||void 0===t?void 0:t.firstValue()),a={index:Math.round(o.timeScale().coordinateToIndex(i.x)),price:r.coordinateToPrice(i.y,n)},l=(0,s.ensureNotNull)(o.createLineTool(this.state(),a,m));return o.selectionMacro(e=>{e.addSourceToSelection(l)}),o.lineBeingCreated()||(this._finishTool(l,d),e.preventDefault()),void(this._startTouchPoint=null)} +const g=o.lineBeingCreated();if(g&&!(0,Ee.isLineDrawnWithPressedButton)(g.toolname)&&e.isTouch&&(this._startTouchPoint||e.stylus)){if(this._startTouchPoint=null,!p||e.stylus){const t=g.points()[g.points().length-1],i=o.continueCreatingLine({index:t.index,price:t.price},new A.EnvironmentState(e));this._initCrossHairPosition=null,i&&(this._finishTool(g,d),e.preventDefault())}return}if(null!==this._firstZoomPoint&&this._firstZoomPoint.draggingMode)return void this._finishZoom(e);if(this._processing=!1,o.customMoveBeingProcessed())return void o.endCustomMoving();if(null!==a)return a.beingMoved&&((0,M.tryCallHandler)(e,a.mouseUpHandler,a.touchEndHandler),this.setCursorForTool()),void l.setMovingCustomSource(null,null);if(l.lineBeingEdited())return o.endChangingLinetool(!1),void(this._preventCrossHairMove()&&this._clearCursorPosition());if((0,Ee.isLineDrawnWithPressedButton)(m)&&!this._isSelectPointModeEnabled()){const t=o.lineBeingCreated();null!==t&&((0,ke.trackDrawingCreated)(t),t.finish());const r=this.state().defaultPriceScale();if(r.isEmpty())return;if(!t)return;const n=(0,s.ensure)(null===(i=t.ownerSource())||void 0===i?void 0:i.firstValue()),a=r.coordinateToPrice(e.localY,n),l={index:Math.round(o.timeScale().coordinateToIndex(e.localX)),price:a};return void o.continueCreatingLine(l)}if(l.sourcesBeingMoved().length)return o.endMovingSource(!1,!1),l.sourcesBeingMoved().filter(f.isLineTool).forEach(e=>{this.setCursorForTool(e)}),void l.invalidate(b.InvalidationMask.cursor());if(!this._chart.readOnly()){const t=e.localX>=0&&e.localXM.HitTestResult.MOVEPOINT_BACKGROUND||(0,x.lastMouseOrTouchEventInfo)().isTouch)&&o.selectionMacro(e=>{e.clearSelection();const t=(0,s.ensureNotNull)(d.source);e.addSourceToSelection(t,it(d,t))}),e.isTouch&&(this._touchMove=!1)}_mouseOrTouchMoveEvent(e){if(!this.hasState())return;this._resetMeasureIfRequired();const t=(0, +s.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY));this._processMouseEnterLeaveMoveHandlers(t,e);const i=this._chartUndoModel();if(!i)return;const r=e.localX,n=e.localY;this._prevMoveEventPosition=new P.Point(r,n);const o=new A.EnvironmentState(e);if(null===this._firstZoomPoint){if(this._updateHoveredSource(t,o,e),!e.isTouch&&i.lineBeingCreated()){const e=i.lineBeingCreated(),t=null===e?null:i.model().paneForSource(e);if(null!==t&&t!==this._state)return void this._setCursorPositionOnExternalPane(t,r,n,o)}e.isTouch||this._setCursorPosition(r,n,o)}else this._processMouseMoveWhileZoom(e,o)}_pressedMouseOrTouchMoveEvent(e){var t;if(!this.hasState()||this._pinching||e.isTouch&&this._contextMenuOpenedOnLastTap)return;this._resetMeasureIfRequired(),this._startChangeOrMoveLineToolIfNeeded(),e.isTouch&&(this._touchMove=!0,this._preventSourceChange=!1);const i=new A.EnvironmentState(e),r=this._chartUndoModel(),n=r.crossHairSource(),o=e.localX,a=e.localY;if(this._prevMoveEventPosition=new P.Point(o,a),null!==this._firstZoomPoint)return this._processMouseMoveWhileZoom(e),void(this._firstZoomPoint.draggingMode=!0);const l=E.tool.value();if(e.isTouch&&this._startTouchPoint&&(0,f.isLineToolName)(l)&&!(0,Ee.isLineDrawnWithPressedButton)(l)&&!r.lineBeingCreated()&&!this._isSelectPointModeEnabled())return void this._updateCrosshairPositionInToolCreationMode(e,this.state());const c=n.measurePane();if(e.isTouch&&(this._startTouchPoint||e.stylus)&&((0,E.toolIsMeasure)(l)||null!==c))return void(e.stylus?this._setCursorPosition(e.localX,e.localY,new A.EnvironmentState(e)):this._updateCrosshairPositionInToolCreationMode(e,c||this.state()));const h=r.lineBeingCreated();if(e.isTouch&&!e.stylus&&h&&!(0,Ee.isLineDrawnWithPressedButton)(h.toolname)){if(this._startTouchPoint){const t=(0,s.ensureNotNull)(r.lineBeingCreated()),i=(0,s.ensureNotNull)(r.model().paneForSource(t));this._updateCrosshairPositionInToolCreationMode(e,i)}return}if(e.isTouch&&null!==this._startTrackPoint){this._exitTrackingModeOnNextTry=!1;const e=(0,s.ensureNotNull)(this._initCrossHairPosition),t=new P.Point(o,a).subtract(this._startTrackPoint),r=e.add(t);this._setCursorPosition(r.x,r.y,i)}else e.isTouch&&this._preventCrossHairMove()||this._setCursorPosition(o,a,i);const d=this._isSelectPointModeEnabled();if((0,f.isLineToolName)(l)&&!(0,Ee.isLineDrawnWithPressedButton)(l)&&!d&&!i.control())return;if((0,Ee.isLineDrawnWithPressedButton)(l)&&!d){const i=this.state().defaultPriceScale();if(i.isEmpty())return;const n=r.lineBeingCreated();if(!n)return;const o=new P.Point(e.localX,e.localY),a=(0,s.ensure)(null===(t=n.ownerSource())||void 0===t?void 0:t.firstValue());return o.price=i.coordinateToPrice(e.localY,a),o.index=Math.round(r.timeScale().coordinateToIndex(e.localX)),void r.continueCreatingLine(o)}if(null!==this._paneWidgetsSharedState.draggingSource()){const t=e.target,i=this._chart.paneByCanvas(t);i&&(i!==this?i.setDragToAnotherPaneCursor():i.setCursorForTool());const s=this._chart.timeAxisByCanvas(t);s&&s.setCursor("grabbing")}if(r.timeScale().isEmpty())return +;const u=this._options.handleScroll;if((!u.pressedMouseMove||e.isTouch)&&(!u.horzTouchDrag&&!u.vertTouchDrag||!e.isTouch))return;if(r.customMoveBeingProcessed())return void r.processCustomMove(e);const p=r.model().customSourceMovingHitTestData();if(null!==p&&(this._updateCommonTooltip(null,!0),r.model().processingCustomSourceMove(),(0,M.tryCallHandler)(e,p.pressedMouseMoveHandler,p.touchMoveHandler),!(0,M.shouldDefaultActionBeExecuted)(e,p,"pressedMouseMoveHandler","touchMoveHandler")))return;if(r.model().lineBeingEdited())return void this._setCursorPosition(o,a,i);if(r.model().sourcesBeingMoved().length)return void this._alignSourcesThatBeingMoved(r.model().sourcesBeingMoved(),e.localX,e.localY,i);const _=this._dataSourceAtPoint(e.localX,e.localY);if(this._tryFinishClonning(e,new A.EnvironmentState(e),_))return;const m=(0,E.toolIsMeasure)(l)||n.startMeasurePoint()&&n.endMeasurePoint();this._chart.readOnly()||!i.control()||(0,f.isLineToolName)(l)||m||d?(this._processScroll(e),this._preventScroll()&&!this._preventCrossHairMove()&&null===this._startTrackPoint&&this._setCursorPosition(e.localX,e.localY,new A.EnvironmentState(e))):this._isSelecting||(n.startSelection(this.state()),this._isSelecting=!0)}_mouseOrTouchLeaveEvent(e){var t,i;if(!this.hasState())return;const s=this._chartUndoModel();if(!s)return;const r=s.crossHairSource();e.isTouch||null!==r.measurePane()&&null===r.endMeasurePoint()||this._clearCursorPosition(),s.model().setHoveredSource(null,null),null!==this._prevHoveredHittest&&((0,M.tryCallHandler)(e,null===(i=null===(t=this._prevHoveredHittest.hittest)||void 0===t?void 0:t.data())||void 0===i?void 0:i.mouseLeaveHandler),this._prevHoveredHittest=null),this._updateCommonTooltip(null),this._chart.unsetActivePaneWidget()}_mouseDoubleClickOrDoubleTapEvent(e){var t;if(!this.hasState())return;const i=!this._chart.readOnly()&&!(0,f.isLineToolName)(E.tool.value())&&(0,s.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY))||null;if(null===i)return;if(i.isCustom)return void(null===(t=i.hittest)||void 0===t||t.tryCallDblClickOrDblTapHandler(e));let r=i.hittest&&i.source||null;r&&i.hittest&&i.hittest.result()<=M.HitTestResult.MOVEPOINT_BACKGROUND&&!e.isTouch&&(r=null),r&&!r.isSelectionEnabled()&&(r=null),r?this.processDoubleClickOnSource(r,i.hittest?i.hittest:void 0):this._chart.readOnly()||(0,f.isLineToolName)(E.tool.value())||this._chartUndoModel().lineBeingCreated()||!this._chartUndoModel().selection().isEmpty()||this._chart.toggleMaximizePane(this)}_contextMenuEvent(e){var t;const i=this._chartUndoModel();if(i.crossHairSource().startMeasurePoint()&&!this._trackCrosshairOnlyAfterLongTap)return i.crossHairSource().clearMeasure(),void(0,E.resetToCursor)(!0);if(this._pinching)return;if(null===this._firstZoomPoint||this._trackCrosshairOnlyAfterLongTap||this.cancelZoom(),!(0,E.toolIsCursor)(E.tool.value())||this._isSelectPointModeEnabled()){if(e.isTouch)return;return(0,E.resetToCursor)(!0),this.setCursorForTool(),void(i.lineBeingCreated()&&i.cancelCreatingLine())}if(!this._options.contextMenuEnabled)return +;const s=this._dataSourceAtPoint(e.localX,e.localY),r=s?s.source:null;if(e.isTouch&&null!==this._startTrackPoint){if(this._preventSourceChange)return;this._clearCursorPosition()}e.isTouch&&(this._contextMenuOpenedOnLastTap=!0,this._startTrackPoint=null),this._contextMenuX=e.localX,this._contextMenuY=e.localY;const n=s&&s.hittest?s.hittest.result():0,o=n>=M.HitTestResult.REGULAR||n>=M.HitTestResult.MOVEPOINT_BACKGROUND&&e.isTouch;this._chart.updateActions(),i.selectionMacro(t=>{null!==r&&o?t.selection().isSelected(r)||(t.clearSelection(),t.addSourceToSelection(r,it(s,r))):(this._options.contextMenu.general&&this._showContextMenu(e),t.clearSelection())}),s&&o&&null!==r&&((0,k.isDataSource)(r)&&r.hasContextMenu()?r.isSelectionEnabled()?this.showContextMenuForSelection(e):this.showContextMenuForSources([r],e):null===(t=s.hittest)||void 0===t||t.tryCallContextMenuHandler(e))}_onMouseEvent(){this._preventSourceChange=!1,this._startTrackPoint=null,this._trackCrosshairOnlyAfterLongTap=!1}_onTouchEvent(){this._trackCrosshairOnlyAfterLongTap=!0}_switchTrackingModeFromAnotherPaneIfNeeded(e){const t=this._chart.trackingModePaneWidget();if(null!==t&&t!==this){const i=this._chartModel().crossHairSource().currentPoint();t._exitTrackingModeOnNextTry=!0,t._tryExitTrackingMode(!0),this.startTrackingMode(new P.Point(e.localX,e.localY),new P.Point(i.x,e.localY),new A.EnvironmentState(e))}}_showContextMenu(e){const t=e=>e instanceof ne.Separator,i=this._customActions(),s=this._initActions(e).filter(e=>null!==e);i.remove.forEach(e=>{for(let t=0;t0;e--)t(r[e])&&t(r[e-1])&&r.splice(e,1);r.length&&t(r[0])&&r.splice(0,1),r.length&&t(r[r.length-1])&&r.splice(r.length-1,1),Z.ContextMenuManager.showMenu(r,e,{statName:"ChartContextMenu"},{menuName:"ChartContextMenu"})}_initActions(e){var t,i;const s=this._chart.actions(),r=[];r.push(s.chartReset),r.push(new ne.Separator),se.enabled("datasource_copypaste")&&!this.state().isEmpty()&&(r.push(new ne.Action({actionId:"Chart.Clipboard.PasteSource",label:Ye.replace("%s","").trim(),shortcutHint:(0,ee.humanReadableHash)(ee.Modifiers.Mod+86),statName:"Paste",onExecute:()=>this._chart.chartWidgetCollection().clipboard.uiRequestPaste(this.state())})),r.push(new ne.Separator)),r[r.length-1]instanceof ne.Separator||r.push(new ne.Separator);return Boolean(null===(t=window.widgetbar)||void 0===t?void 0:t.widget("watchlist"))&&s.addToWatchlist&&r.push(s.addToWatchlist),se.enabled("text_notes")&&r.push(s.addToTextNotes),r[r.length-1]instanceof ne.Separator||r.push(new ne.Separator),r.push(this._createLockTimeAxisAction(e)),r.push(new ne.Separator),r.push((0,re.createLinesAction)(this._chart)),se.enabled("charting_library_base")||r.push(s.applyColorTheme),r[r.length-1]instanceof ne.Separator||r.push(new ne.Separator),this._chart.applyIndicatorsToAllChartsAvailable()&&(r.push(s.applyStudiesToAllCharts),r.push(new ne.Separator)), +r.push(s.paneRemoveAllDrawingTools),r.push(s.paneRemoveAllStudies),r.push(new ne.Separator),(null===(i=window.pro)||void 0===i?void 0:i.hasPackage("mtp-mtpredictor"))&&this.state().containsMainSeries()&&r.push((0,re.createMTPredictorActions)(this._chart,this.state(),this._contextMenuX,this._contextMenuY),new ne.Separator),r.push(s.hideAllMarks),r.push(new ne.Separator),se.enabled("show_chart_property_page")&&r.push(s.chartProperties),r[r.length-1]instanceof ne.Separator&&r.pop(),r}_loadAndCreateLegendWidget(){Promise.all([i.e(439),i.e(5514),i.e(1529),i.e(5093)]).then(i.bind(i,56786)).then(e=>{if(this._isDestroyed)return;const t=e.LegendWidget,i=(0,I.deepExtend)({},this._options.legendWidget);i.canShowSourceCode=!this._chart.onWidget()&&!l.CheckMobile.any(),i.readOnlyMode=i.readOnlyMode||this._chart.readOnly(),i.statusesWidgets={sourceStatusesEnabled:this._options.sourceStatusesWidgetEnabled,sourceStatuses:this._options.sourceStatusesWidget||{},marketStatusEnabled:this._options.marketStatusWidgetEnabled,dataUpdateModeEnabled:this._options.chartWarningWidgetEnabled,dataUpdateMode:this._options.chartWarningWidget||{},dataProblemEnabled:this._options.dataProblemWidgetEnabled};const r=new(Ie())(this._getHideNotMainSourcesValue());this._hideNotMainSourcesInLegendSpawn=(0,m.combine)(()=>({}),this._chart.chartWidgetCollection().activeChartWidget,this._chart.chartWidgetCollection().lock.crosshair),this._hideNotMainSourcesInLegendSpawn.subscribe(()=>{r.setValue(this._getHideNotMainSourcesValue())}),this._hideWholeLegend=new(Ie())(!1),E.tool.subscribe(this._recalculateLegendVisibility),this._chartModel().crossHairSource().measuringEnabled().subscribe(this,this._recalculateLegendVisibility),this._legendWidget=new t(this._chartUndoModel(),this,this._chart.backgroundTopTheme(),r,this._hideWholeLegend,i,{showContextMenuForSelection:this.showContextMenuForSelection.bind(this),showContextMenuForSources:this.showContextMenuForSources.bind(this),updateActions:this._chart.updateActions.bind(this._chart),showChartPropertiesForSource:this._chart.showChartPropertiesForSource.bind(this._chart),showGeneralChartProperties:this._chart.showGeneralChartProperties.bind(this._chart),showObjectsTreeDialog:this._chart.showObjectsTreeDialog.bind(this._chart)}),this._div.appendChild(this._legendWidget.getElement()),this._legendWidget.updateLayout(),this._legendWidget.updateWidgetModeBySize(this._size),this._legendWidget.updateThemedColors(this._themedTopColor);for(const e of Array.from(this._customLegendWidgetsFactoryMap.keys()))this._legendWidget.addCustomWidgetToLegend(e,(0,s.ensureDefined)(this._customLegendWidgetsFactoryMap.get(e)))})}_loadAndCreatePaneControlsWidget(){Promise.all([Promise.all([i.e(439),i.e(5514),i.e(1529),i.e(5093)]).then(i.bind(i,17904)),Promise.all([i.e(439),i.e(5514),i.e(1529),i.e(5093)]).then(i.bind(i,1529))]).then(([e,t])=>{if(this._isDestroyed)return;const i=e.PaneControlsWidget;this._paneControls=new i(this._chartUndoModel(),this,{backgroundThemeName:this._chart.backgroundTopTheme()},{ +toggleMaximizePane:this._chart.toggleMaximizePane.bind(this._chart)},this._div),this._paneControls.updateWidgetModeByWidth(this._size.w),this._paneControls.updateThemedColors(this._themedTopColor),this._paneControlsResizeObserver=new t.default(this._handleRestrictLegendWidth.bind(this)),this._paneControlsResizeObserver.observe(this._paneControls.getElement())})}_handleRestrictLegendWidth(e){if(null===this._legendWidget||null===this._paneControls)return;const t=e[e.length-1].contentRect.width,i=0===t?0:t+ze+Ue;this._legendWidget.addMargin(i)}_onMagnetStateChanged(){this._chart.isActive()&&(this._isSelectPointModeEnabled()||this._isToolActionActiveOnPane(!0))&&this._chartModel().crossHairSource().visible&&this._updateLineToolUsingMagnetOrShift()}_onShiftKeyStateChanged(){this._chart.isActive()&&this._isToolActionActiveOnPane(!1)&&this._chartModel().crossHairSource().visible&&this._updateLineToolUsingMagnetOrShift(A.EnvironmentState.create((0,Oe.shiftPressed)().value()))}_isToolActionActiveOnPane(e){const t=this._chartModel(),i=t.lineBeingCreated()||t.lineBeingEdited()||t.sourcesBeingMoved().length>0&&t.sourcesBeingMoved()[0];return i?t.paneForSource(i)===this._state:e&&(0,f.isLineToolName)(E.tool.value())&&t.crossHairSource().pane===this._state}_updateLineToolUsingMagnetOrShift(e){if(null===this._prevMoveEventPosition)return;const{x:t,y:i}=this._prevMoveEventPosition,s=this._chartModel().sourcesBeingMoved();s.length>0?(E.isStudyEditingNow.value()&&this._setCursorPosition(t,i,e),this._alignSourcesThatBeingMoved(s,t,i,e)):this._setCursorPosition(t,i,e)}_showEditDialogForSource(e,t){if(this._options.propertyPagesEnabled&&e.userEditEnabled())if(e===this._chartUndoModel().mainSeries())this._chart.showGeneralChartProperties(De.TabNames.symbol);else if((0,f.isLineTool)(e)||(0,v.isStudy)(e)){let i;const s=null==t?void 0:t.data();if(null!=s){const e=s.areaName;void 0!==e&&(i=nt.get(e))}this._chart.showChartPropertiesForSource(e,i).then(e=>{this._editDialog=e})}}_initToolCreationModeParams(e){this._startTouchPoint=new P.Point(e.pageX,e.pageY),this._initCrossHairPosition=this._chartModel().crossHairSource().currentPoint()}_updateCrosshairPositionInToolCreationMode(e,t){if(t!==this._state){const i=this._chart.paneByState(t);return i._startTouchPoint=this._startTouchPoint,i._initCrossHairPosition=this._initCrossHairPosition,void i._updateCrosshairPositionInToolCreationMode(e,t)}const i=this._chartModel().crossHairSource();this._chart.justActivated()&&(this._initCrossHairPosition=i.currentPoint());const r=e.pageX,n=e.pageY,o=(0,s.ensureNotNull)(this._initCrossHairPosition),a=new P.Point(r,n).subtract((0,s.ensureNotNull)(this._startTouchPoint)),l=o.add(a);this._setCursorPosition(l.x,l.y,new A.EnvironmentState(e))}_priceAxisesContainer(e){return"left"===e?this._lhsPriceAxisesContainer:this._rhsPriceAxisesContainer}_recalculatePriceScales(){const e=this.state();for(const t of e.leftPriceScales())e.recalculatePriceScale(t);for(const t of e.rightPriceScales())e.recalculatePriceScale(t) +;for(const t of e.sourcesByGroup().overlayPriceScaleSources())(0,f.isLineTool)(t)||e.recalculatePriceScale(t.priceScale())}_createLockTimeAxisAction(e){const t=(0,E.lockTimeAxis)().value();return new ne.Action({actionId:"Chart.Crosshair.LockVerticalCursor",label:$e,statName:"LockCursorInTime",checkable:!0,checked:t,onExecute:()=>this._toggleLockTimeAxis(e.localX,!t)})}_toggleLockTimeAxis(e,t){if(t){const t=this._chartUndoModel().timeScale(),i=t.coordinateToIndex(e),s=t.points().roughTime(i);null!==s&&E.lockTimeAxisTime.setValue(s)}(0,E.lockTimeAxis)().setValue(t)}_preventTouchEventsExceptPinch(){return this._paneWidgetsSharedState.hasTouchesOnOtherPanes(this)||null!==this._paneWidgetsSharedState.pinchingPane()}_updateHoveredSource(e,t,i){var s,r,n;const o=this._chartUndoModel(),a=o.model();let l=!1;const c=e&&e.source,h=this._chart.readOnly();if(h&&!(0,f.isLineTool)(e.source)||this._editDialog&&this._editDialog.visible().value())h&&(a.setHoveredSource(null,null),this.setCursorForTool());else{const d=E.tool.value();let u=null;if(!this._processing&&((0,E.toolIsCursor)(d)||"eraser"===d&&!h||t.control()||!o.lineBeingCreated())){const{hittest:t}=e;l=Boolean(null===(s=null==t?void 0:t.data())||void 0===s?void 0:s.hideCrosshairLinesOnHover),t&&t.result()>M.HitTestResult.MOVEPOINT_BACKGROUND?(u=c,!(null==c?void 0:c.isHoveredEnabled())||"eraser"===d&&c===o.mainSeries()?a.setHoveredSource(null,null):a.setHoveredSource(c,null==t?void 0:t.data())):a.setHoveredSource(null,null)}h?this.setCursorForTool(u,t,Ve.PaneCursorType.Default):this._options.sourceSelectionEnabled&&(this._isSelectPointModeEnabled()?this._setCursorClassName("pointer"):this.setCursorForTool(u,t,null===(n=null===(r=null==e?void 0:e.hittest)||void 0===r?void 0:r.data())||void 0===n?void 0:n.cursorType));const p=a.customSourceBeingMoved(),_=null!==p?[p]:a.sourcesBeingMoved(),m=e.source;if((!_.length||null!==m&&-1===_.indexOf(m))&&this._updateCommonTooltip(e),!h&&null!==e.hittest&&i&&e.hittest.hasPressedMoveHandler(i)){switch((e.hittest.data()||{}).cursorType){case Ve.PaneCursorType.VerticalResize:this._setCursorClassName("ns-resize");break;case Ve.PaneCursorType.HorizontalResize:this._setCursorClassName("we-resize");break;case Ve.PaneCursorType.DiagonalNeSwResize:this._setCursorClassName("nesw-resize");break;case Ve.PaneCursorType.DiagonalNwSeResize:this._setCursorClassName("nwse-resize")}}}this._preventCrossHairMove()&&this._clearCursorPosition(),a.crossHairSource().setLinesShouldBeHidden(l)}async _createErrorBlock(){const e=new(await async function(){return(await Promise.all([i.e(5527),i.e(5514),i.e(139)]).then(i.bind(i,39450))).ErrorCardRenderer}());return this._div.insertBefore(e.container,this._topCanvasBinding.canvas.nextSibling),e}_customActions(){const e={top:[],bottom:[],remove:[]},t=this._chartUndoModel().timeScale(),i=this._state&&this._state.defaultPriceScale();if(!se.enabled("custom_items_in_context_menu"))return e;const r=t.isEmpty()?void 0:t.indexToUserTime(t.coordinateToIndex(this._contextMenuX));let n;if(i&&!i.isEmpty()){const e=(0, +s.ensureNotNull)(this.state().mainDataSource()).firstValue();n=i.coordinateToPrice(this._contextMenuY,(0,s.ensureNotNull)(e))}return(0,h.emit)("onContextMenu",{unixtime:null!=r?r.getTime()/1e3:void 0,price:n,callback:t=>{[...t].forEach(t=>{if(t.text)if(t.text.length>1&&"-"===t.text[0])e.remove.push(t.text.slice(1));else{let i;i="-"===t.text?new ne.Separator:new ne.Action({actionId:"Chart.ExternalActionId",label:t.text,onExecute:t.click}),t.position&&"top"===t.position?e.top.push(i):e.bottom.push(i)}})}}),e}_highlightPriceAxisByLabel(e){this._lhsPriceAxisesContainer.highlightPriceAxisByLabel(e),this._rhsPriceAxisesContainer.highlightPriceAxisByLabel(e)}}var lt=i(14563);i(54119);class ct{constructor(e,t,i){this._handleEl=null,this._startY=0,this._totalStretch=0,this._prevStretchA=0,this._pixelStretchFactor=0,this._minPaneStretch=0,this._maxPaneStretch=0,this._colorCache={lineColor:"",backgroundColor:"",color:""},this._chart=e,this._paneA=e.paneWidgets()[t],this._paneB=e.paneWidgets()[i],this._row=document.createElement("tr"),this._cell=document.createElement("td"),this._row.appendChild(this._cell),this._cell.classList.add("pane-separator"),this._cell.setAttribute("colspan","3"),this._cell.style.background=this._color(),this.adjustSize(),this._cell.addEventListener("click",()=>{});const s=document.createElement("div");s.classList.add("handle"),this._cell.appendChild(s),this._mouseEventHandler=new B.MouseEventHandler(s,this,{treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!0}),this._handleEl=s}destroy(){this._mouseEventHandler.destroy(),this._row.parentElement&&this._row.parentElement.removeChild(this._row)}getElement(){return this._row}hide(){this._row.classList.add("js-hidden")}show(){this._row.classList.remove("js-hidden")}adjustSize(){this._row.style.height=ct.height()+"px"}mouseDownEvent(e){this._mouseDownOrTouchStartEvent(e)}touchStartEvent(e){this._mouseDownOrTouchStartEvent(e)}pressedMouseMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}touchMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}mouseUpEvent(e){this._mouseUpOrTouchEndEvent(e)}touchEndEvent(e){this._mouseUpOrTouchEndEvent(e)}update(){this._cell.style.background=this._color().toString()}paint(){}image(){const e=this._paneA.leftPriceAxisesContainer().getWidth(),t=this._paneA.width(),i=this._paneA.rightPriceAxisesContainer().getWidth(),s=this._color(),r=(0,N.createDisconnectedCanvas)(document,new N.Size(e,1)),n=(0,N.getPrescaledContext2D)(r);n.fillStyle=s,n.fillRect(0,0,e,1);const o=(0,N.createDisconnectedCanvas)(document,new N.Size(t,1)),a=(0,N.getPrescaledContext2D)(o);a.fillStyle=s,a.fillRect(0,0,t,1);const l=(0,N.createDisconnectedCanvas)(document,new N.Size(i,1)),c=(0,N.getPrescaledContext2D)(l);return c.fillStyle=s,c.fillRect(0,0,i,1),{type:"separator",leftAxis:{content:r.toDataURL(),canvas:r,contentWidth:e,contentHeight:1},rightAxis:{content:l.toDataURL(),canvas:l,contentWidth:i,contentHeight:1},content:o.toDataURL(),canvas:o,contentWidth:t,contentHeight:1}}static height(){const e=window.devicePixelRatio||1;return e>=1?1:1/e} +_mouseDownOrTouchStartEvent(e){this._startY=e.pageY,this._prevStretchA=this._paneA.state().stretchFactor(),this._totalStretch=this._paneA.state().stretchFactor()+this._paneB.state().stretchFactor();const t=this._paneA.height()+this._paneB.height();this._pixelStretchFactor=this._totalStretch/t,this._minPaneStretch=30*this._pixelStretchFactor,this._maxPaneStretch=this._totalStretch-this._minPaneStretch,(0,s.ensureNotNull)(this._handleEl).classList.add("i-active")}_pressedMouseOrTouchMoveEvent(e){const t=(e.pageY-this._startY)*this._pixelStretchFactor,i=(0,q.clamp)(this._prevStretchA+t,this._minPaneStretch,this._maxPaneStretch);this._paneA.state().setStretchFactor(i),this._paneB.state().setStretchFactor(this._totalStretch-i),this._chart.model().model().fullUpdate()}_mouseUpOrTouchEndEvent(e){this._chart.model().addPaneStretchFactorUndoCommand(this._paneA.state(),this._paneB.state(),this._prevStretchA,this._paneA.state().stretchFactor()),this._startY=0,this._totalStretch=0,this._prevStretchA=0,this._pixelStretchFactor=0,this._minPaneStretch=0,this._maxPaneStretch=0,(0,s.ensureNotNull)(this._handleEl).classList.remove("i-active")}_color(){const e=this._chart.properties().childs().scalesProperties.childs().lineColor.value(),t=this._chart.model().model().backgroundColor().value();if(this._colorCache.lineColor!==e||this._colorCache.backgroundColor!==t){const i=(0,lt.parseRgba)(t),s=(0,lt.parseRgba)(e),r=0===i[3]&&0===s[3]?"rgba(0,0,0,0)":(0,lt.rgbaToString)((0,lt.blendRgba)(i,s));this._colorCache={lineColor:e,backgroundColor:t,color:r}}return this._colorCache.color}}var ht=i(5729),dt=i.n(ht);function ut(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var pt=i(50968);const _t=new T.TranslatedString("move left",(0,r.t)("move left")),mt=new T.TranslatedString("move right",(0,r.t)("move right")),gt={moving:"wait_finishing",wait_finishing:"stop",stop:"moving"};class ft{constructor(e){this._chartModel=null,this._currentDistance=0,this._deferredFinishTimeout=0,this._finishingTimeout=0,this._moveType="",this._startTime=0,this._state="stop",this._movingTimeout=0,this._chart=e,this._chart.withModel(this,()=>{this._chartModel=this._chart.model()})}destroy(){clearTimeout(this._movingTimeout)}move(e){if(null!==this._chartModel&&"stop"===this._state&&this._chartModel.beginUndoMacro(1===e?_t:mt),this._state=gt.stop,this._moveType="animated",this._deferredFinishTimeout&&(clearTimeout(this._deferredFinishTimeout),this._deferredFinishTimeout=0),this._finishingTimeout&&(clearTimeout(this._finishingTimeout),this._finishingTimeout=0),this._startTime=Date.now(),0===this._movingTimeout){const t=this._startTime,i=10,s=()=>{this.moveStep(t,0,50*e,1e3),this._movingTimeout=setTimeout(s,i)};this._movingTimeout=setTimeout(s,i)}}moveStep(e,t,i,s){if(null!==this._chartModel&&!this._chartModel.timeScale().isEmpty()){const r=Date.now();r1||!isFinite(n))&&(n=1);const o=1-Math.pow(1-n,3);return this._currentDistance=(i-t)*o+t,this._chartModel.scrollChart(this._currentDistance),n}}moveByBar(e){if(null!==this._chartModel){ +const t=this._chartModel.timeScale();if(t.isEmpty())return;if("stop"===this._state&&this._chartModel.beginUndoMacro(1===e?_t:mt),null!==t.visibleBarsStrictRange()){const e=t.indexToCoordinate(t.visibleBarsStrictRange().lastBar())+t.barSpacing()/2;Math.abs(t.width()-e)>t.barSpacing()/6&&this._chartModel.scrollChart(t.width()-e)}if(this._state=gt.stop,this._moveType="by_bar",this._startTime=Date.now(),!this._movingTimeout){let t=0,i=150;const s=400,r=()=>{this._moveByBarStep(e),t++,i>100&&(i-=t/5*20),this._movingTimeout=setTimeout(r,i)};this._movingTimeout=setTimeout(r,s),this._moveByBarStep(e)}}}stopMove(){"by_bar"===this._moveType?this.stopMoveByBar():this._stopMove()}stopMoveByBar(){"moving"===this._state&&(clearTimeout(this._movingTimeout),this._movingTimeout=0,this._state=gt.wait_finishing,this._moveType="",this._movingTimeout=0,this._currentDistance=0,null!==this._chartModel&&this._chartModel.endUndoMacro())}_finishMove(){clearTimeout(this._movingTimeout),this._movingTimeout=0,this._deferredFinishTimeout=0;const e=this._currentDistance,t=Date.now(),i=()=>{const s=this.moveStep(t,e,0,700);s&&s<1?this._finishingTimeout=setTimeout(i,10):null!==this._chartModel&&(this._state=gt.wait_finishing,this._moveType="",this._movingTimeout=0,this._currentDistance=0,this._chartModel.endUndoMacro())};this._finishingTimeout=setTimeout(i,10)}_stopMove(){"moving"===this._state&&(this._state=gt.moving,Date.now()-this._startTime<200?this._deferredFinishTimeout=setTimeout(this._finishMove.bind(this),200-(Date.now()-this._startTime)):this._finishMove())}_moveByBarStep(e){if(null!==this._chartModel){if(this._chartModel.timeScale().isEmpty())return;this._chartModel.scrollChartByBar(e)}}}var vt=i(25436),St=i(1467);class yt{constructor(){this._draggingSource=null,this._activeTouchPanes=new Set,this._scrollingPane=null,this._pinchingPane=null}onPaneDestroyed(e){this._activeTouchPanes.delete(e),this._scrollingPane===e&&(this._scrollingPane=null),this._pinchingPane===e&&(this._pinchingPane=null)}startTouch(e){this._activeTouchPanes.add(e)}endTouch(e){this._activeTouchPanes.delete(e)}hasTouchesOnOtherPanes(e){return this._activeTouchPanes.size>1||1===this._activeTouchPanes.size&&!this._activeTouchPanes.has(e)}trySetDraggingSource(e,t){return!this.hasTouchesOnOtherPanes(t)&&((0,s.assert)(null===this._draggingSource||this._draggingSource===e),this._draggingSource=e,!0)}clearDraggingSource(){null!==this._draggingSource&&(this._draggingSource=null)}draggingSource(){return this._draggingSource}setScrollingPane(e){(0,s.assert)(null===e||null===this._scrollingPane||this._scrollingPane===e),this._scrollingPane=e}scrollingPane(){return this._scrollingPane}setPinchingPane(e){(0,s.assert)(null===e||null===this._pinchingPane||this._pinchingPane===e),this._pinchingPane=e}pinchingPane(){return this._pinchingPane}}let bt=null;function wt(e,t,s,r,n){ +return Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(3894),i.e(3996),i.e(4078),i.e(8193),i.e(7936),i.e(3708),i.e(706),i.e(8604),i.e(9602),i.e(8858),i.e(6473),i.e(6548),i.e(9305),i.e(2778),i.e(83),i.e(8933),i.e(587),i.e(1778),i.e(8969),i.e(6333),i.e(2321),i.e(6612),i.e(2162),i.e(2091),i.e(6143),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(1829),i.e(5030),i.e(7591),i.e(9772),i.e(8680),i.e(708),i.e(2391),i.e(7365),i.e(847),i.e(2444),i.e(8625),i.e(7703),i.e(9628),i.e(7371),i.e(4093),i.e(739),i.e(6265)]).then(i.bind(i,19442)).then(i=>{const o=new(0,i.EditObjectDialogRenderer)(e,t,r,n);return o.show(s),o})}let Pt=null;var Ct=i(65528);const Tt={[De.TabNames.symbol]:"symbol",[De.TabNames.legend]:"legend",[De.TabNames.scales]:"scales",[De.TabNames.trading]:"trading",[De.TabNames.events]:"events",[De.TabNames.timezoneSessions]:"appearance",[De.TabNames.text]:"text",[De.TabNames.style]:"style",[De.TabNames.visibility]:"visibility"},xt={[De.TabNames.style]:"style",[De.TabNames.visibility]:"visibilities"};async function It(e,t,s={},r,n){const o=r.activeChartWidget.value(),{initialTab:a,tabName:l}=s;if(l&&!a&&(s.initialTab=xt[l]),(0,f.isStudyLineTool)(e)&&function(e){return[Ct.LineToolVbPFixed].some(t=>e instanceof t)}(e))return o.propertiesDefinitionsForSource(e).then(i=>null!==i?wt(e,t,s,n,i):null);if((0,v.isStudy)(e)&&function(e){const{shortId:t}=e.metaInfo();return"Overlay"===t}(e)||(0,f.isLineTool)(e))return o.propertiesDefinitionsForSource(e).then(s=>{if(null!==s){return function(e){return Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(3894),i.e(3996),i.e(4078),i.e(8193),i.e(7936),i.e(3708),i.e(706),i.e(8604),i.e(9602),i.e(8858),i.e(6548),i.e(9305),i.e(2778),i.e(83),i.e(8933),i.e(587),i.e(1778),i.e(8969),i.e(6333),i.e(2091),i.e(5637),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(1829),i.e(5030),i.e(7591),i.e(9772),i.e(8680),i.e(708),i.e(2391),i.e(7365),i.e(847),i.e(2444),i.e(8625),i.e(7703),i.e(739),i.e(6780)]).then(i.bind(i,35971)).then(t=>{const i=new(0,t.SourcePropertiesEditorRenderer)(e);return null!==Pt&&Pt.hide(),i.show(),Pt=i,i})}({propertyPages:s,model:t,source:e,activePageId:l&&Tt[l]})}return null});if((0,v.isStudy)(e)&&!(0,v.isESDStudy)(e))return wt(e,t,s,n);{const t=(0,v.isESDStudy)(e)?"events":l&&Tt[l],i=r.getChartPropertiesDialogRenderer();return i.setActivePage(t),i.show()}}const Mt=(0,se.enabled)("chart_content_overrides_by_defaults"),Lt=(0,n.getLogger)("ChartWidget",{color:"#606"});const At={addToWatchlistEnabled:!0,showFinancialsEnabled:!1,sourceSelectionEnabled:!0,propertyPagesEnabled:!0,paneContextMenuEnabled:!0,priceScaleContextMenuEnabled:!0,currencyConversionEnabled:!1,unitConversionEnabled:!1,goToDateEnabled:!1,marketStatusWidgetEnabled:!0,chartWarningWidgetEnabled:!0,dataProblemWidgetEnabled:!0,paneControlsEnabled:!0,isSymbolAvailable:e=>Promise.resolve(!0),legendWidgetEnabled:!0,chartEventsEnabled:!0,esdEnabled:!1,croppedTickMarks:!0,countdownEnabled:!0, +lastPriceAnimationEnabled:!0,useKineticScroll:l.CheckMobile.any(),indicatorsDialogShortcutEnabled:!0,handleScale:{mouseWheel:!0,pinch:!0,axisPressedMouseMove:{time:!0,price:!0}},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0}};function kt(e,t,i,s=0){const r=t.mainSeries().syncModel(),n=e.mainSeries().syncModel();let o=i;if(null!==r&&null!==n){const t=e.createSyncPoint(r,n);0!==s&&(i=r.projectTime(i,s)),o=t.sourceTimeToTargetTime(i)}return e.timeScale().points().roughIndex(o,n&&n.distance.bind(n))}class Et{constructor(e,t,i){this.activePaneWidget=null,this._model=null,this._paneWidgets=[],this._maximizedPaneWidget=null,this._timeAxisWidget=null,this._paneSeparators=[],this._controlBarNavigation=null,this._lineToolsSynchronizer=null,this._modelCreated=new(dt()),this._isDestroyed=!1,this._customLegendWidgetsFactoryMap=new Map,this._backgroundTopTheme=new(Ie())("light"),this._backgroundBasedTheme=new(Ie())("light"),this._backgroundBottomTheme=new(Ie())("light"),this._lhsAxesWidth=0,this._rhsAxesWidth=0,this._lhsPriceAxisWidthChanged=new(dt()),this._rhsPriceAxisWidthChanged=new(dt()),this._mainDiv=null,this._parent=null,this._elTooltipDiv=null,this._hotkeysListener=null,this._mouseWheelHelper=null,this._onWheelBound=null,this._justActivated=!1,this._inited=!1,this._containsData=!1,this._initialLoading=!1,this._defTimeframe=void 0,this._removeMaximizeHotkey=null,this._metaInfoRepository=null,this._invalidationMask=null,this._drawPlanned=!1,this._drawRafId=0,this._inLoadingState=!1,this._timingsMeter=null,this._tagsChanged=new(dt()),this._redraw=new(dt()),this._isVisible=new(Ie())(!0),this._collapsed=new(Ie())(!1),this._dataWindowWidget=null,this._mainSeriesErrorMessage=null,this._properties=null,this._updateThemedColorBound=this._updateThemedColor.bind(this),this._saveChartService=null,this._objectTreeDialogController=null,this._chartPaintedPromise=null,this._noExchangeSubscrptionWarning=null,this._paneWidgetsSharedState=new yt,this._brokerName="",this._onZoom=new(dt()),this._id=t,this._layoutId=i,this._options=(0,_.merge)((0,_.clone)(At),e),this._options.customLegendWidgetFactories&&(this._customLegendWidgetsFactoryMap=this._options.customLegendWidgetFactories),this._subscribeToDrawingState(),this.withModel(this,()=>{const e=this.model().model();e.backgroundTopColor().subscribe(this._updateThemedColorBound),e.backgroundColor().subscribe(this._updateThemedColorBound)}),this._subscribeToMainSeriesErrors(),this._scrollHelper=new ft(this),this._objectTreeDialogController=p.getInstance(),this._properties=new y.DefaultProperty("chartproperties",void 0,void 0,this._options.useUserChartPreferences),this._properties.addExclusion("scalesProperties.axisHighlightColor"),this._properties.addExclusion("scalesProperties.axisLineToolLabelBackgroundColorActive"),this._properties.addExclusion("scalesProperties.axisLineToolLabelBackgroundColorCommon"),this._properties.addExclusion("scalesProperties.showPriceScaleCrosshairLabel"),this._properties.addExclusion("scalesProperties.showTimeScaleCrosshairLabel")} +destroy(){var e,t,i;null===(e=this._lineToolsSynchronizer)||void 0===e||e.destroy(),null===(t=this._noExchangeSubscrptionWarning)||void 0===t||t.destroy(),window.loginStateChange.unsubscribe(this,this._handleLoginStateChanged),null!==this._model&&(this._model.model().backgroundTopColor().unsubscribe(this._updateThemedColorBound),this._model.model().backgroundColor().unsubscribe(this._updateThemedColorBound),this._model.destroy()),this._customLegendWidgetsFactoryMap.clear(),this._scrollHelper.destroy(),null===(i=this._mainSeriesErrorMessage)||void 0===i||i.destroy(),this._isDestroyed=!0}lineToolSynchronizer(){return this._lineToolsSynchronizer}model(){return(0,s.ensureNotNull)(this._model)}id(){return this._id}layoutId(){return this._layoutId}isVisible(){return this._isVisible.value()}setVisible(e){this._isVisible.setValue(e)}setCollapsed(e){this._collapsed.setValue(e)}async showChartPropertiesForSources(e){if(!(0,se.enabled)("property_pages"))return Promise.resolve(null);const{sources:t}=e,n=(0,s.ensureNotNull)(this._model),o=t.map(e=>e.properties().childs().intervalsVisibilities).reduce((e,t)=>{for(const i in t)if(ut(t,i)){const s=t[i],r=e[i];r?r.push(s):e[i]=[s]}return e},{});const[{createPropertyPage:a},{getSelectionIntervalsVisibilitiesPropertiesDefinition:l}]=await Promise.all([Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,97806)),Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,63725))]);return async function(e){const{SourcesPropertiesEditorRenderer:t}=await Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(3894),i.e(3996),i.e(4078),i.e(8193),i.e(7936),i.e(3708),i.e(706),i.e(8604),i.e(9602),i.e(8858),i.e(6548),i.e(9305),i.e(2778),i.e(83),i.e(8933),i.e(587),i.e(1778),i.e(8969),i.e(6333),i.e(2091),i.e(5637),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(1829),i.e(5030),i.e(7591),i.e(9772),i.e(8680),i.e(708),i.e(2391),i.e(7365),i.e(847),i.e(2444),i.e(8625),i.e(7703),i.e(739),i.e(6780)]).then(i.bind(i,88114)),s=new t(e);return null!==bt&&(bt.hide(),bt=s),s.show(),s}({sources:t,propertyPage:a(l(o,n),"visibility",(0,r.t)("Visibility")),undoModel:n})}getPriceAxisWidthChangedByName(e){return"left"===e?this._lhsPriceAxisWidthChanged:this._rhsPriceAxisWidthChanged}getPriceAxisMaxWidthByName(e){return"left"===e?this._lhsAxesWidth:this._rhsAxesWidth}timeAxisHeight(){return null!==this._timeAxisWidget?this._timeAxisWidget.size.h:0}withModel(e,t){null!==this._model?t.call(e):this.modelCreated().subscribe(e,t,!0)}hasModel(){return null!==this._model}onZoom(){return this._onZoom}images(e){window.TradingView.printing=!0;const t=this.model().selection().allSources();this.model().selectionMacro(e=>e.clearSelection());const i=(t,i)=>{t.paint(i,this.onWidget());const s={showCollapsedStudies:Boolean(null==e?void 0:e.showCollapsedStudies),status:null==e?void 0:e.status};return t.getScreenshotData(s)},s=[];if(null!==this._maximizedPaneWidget){const e=this._paneWidgets.indexOf(this._maximizedPaneWidget) +;s.push(i(this._maximizedPaneWidget,b.InvalidationMask.light().invalidateForPane(e)))}else for(let e=0;e{t.forEach(t=>{e.addSourceToSelection(t)})}),this.model().model().lightUpdate();const n=this.mainSeriesQuotesAndMetainfo();return{panes:s,timeAxis:r,colors:{text:this.properties().childs().scalesProperties.childs().textColor.value(),bg:this.properties().childs().paneProperties.childs().background.value(),scales:this.properties().childs().scalesProperties.childs().lineColor.value()},meta:n.meta,ohlc:n.ohlc,quotes:n.quotes}}setSaveChartService(e){this._saveChartService=e,null!==this._lineToolsSynchronizer&&this._lineToolsSynchronizer.setSaveChartService(e)}getSaveChartService(){return this._saveChartService}mainSeriesQuotesAndMetainfo(){let e,t,i;const s=this._model&&this._model.mainSeries();if(s){const r=e=>null==e?"":s.formatter().format(e,void 0,void 0,!0,!1)+"",n=e=>null==e?"":e+"";e={resolution:s.interval(),symbol:s.symbol(),values:s.valuesProvider().getValues(null)};const o=s.symbolInfo();o&&(e.symbol=o.full_name,e.description=o.description,e.exchange=o.exchange);const a=s.bars().last();null!==a&&(t=a.value.slice(1,5).map(r));const l=s.quotes();l&&(i={change:r(l.change),changePercent:n(l.change_percent),last:r(l.last_price)})}return{meta:e,ohlc:t,quotes:i}}updateCrossHairPositionIfNeeded(){if(this._model){const e=E.tool.value();this._model.model().setCurrentTool(e);const t=(0,x.lastMouseOrTouchEventInfo)();if(t.isTouch){const e=this._maximizedPaneWidget||this._paneWidgets[0];if(e.hasState()&&(!t.stylus&&(this._isLineToolModeExceptBrush()||(0,E.toolIsMeasure)(E.tool.value()))||this.selectPointMode().value())){const t=e.state(),i=.5*this._model.model().timeScale().width(),s=.5*t.defaultPriceScale().height();this._model.model().setAndSaveCurrentPosition(i,s,t)}}this._model&&t.isTouch&&this._model.model().crossHairSource().updateAllViews()}}trackingModePaneWidget(){if(!(0,x.lastMouseOrTouchEventInfo)().isTouch)return null;for(const e of this.paneWidgets())if(e.trackingModeEnabled())return e;return null}startTrackingMode(){if((0,x.lastMouseOrTouchEventInfo)().isTouch){this.exitTrackingMode(),this.updateCrossHairPositionIfNeeded();const e=this._maximizedPaneWidget||this._paneWidgets[0],t=this.model().model().crossHairSource().currentPoint();e.startTrackingMode(t,t)}}exitTrackingMode(){(0,x.lastMouseOrTouchEventInfo)().isTouch&&this.paneWidgets().some(e=>e.trackingModeEnabled())&&(this.paneWidgets().forEach(e=>e.exitTrackingMode()),this.model().model().clearCurrentPosition())}onToolChanged(){this.selectPointMode().value()&&this.cancelRequestSelectPoint(),this.exitTrackingMode()}setInLoadingState(e){this._inLoadingState=e}paint(e){ +const t=null!=e?e:b.InvalidationMask.full();t.validationActions().forEach(e=>e()),this._paneWidgets.forEach((e,i)=>{null!==this._maximizedPaneWidget&&this._maximizedPaneWidget!==e||e.paint(t.invalidateForPane(i),!1)}),this._timeAxisWidget&&this._timeAxisWidget.paint(t.invalidateForTimeScale()),this._redraw.fire()}GUIResetScales(){(0,U.trackEvent)("GUI","Reset Scales"),null!==this._model&&this._model.resetScales()}maximizedPaneWidget(){return this._maximizedPaneWidget}isMaximizedPane(){return null!==this._maximizedPaneWidget}unsetActivePaneWidget(){this.activePaneWidget=null}setActivePaneWidget(e){this.activePaneWidget=e}onPaneWidgetDestroyed(e){this.activePaneWidget===e&&(this.activePaneWidget=null)}backgroundTopTheme(){return this._backgroundTopTheme.readonly()}backgroundBasedTheme(){return this._backgroundBasedTheme.readonly()}backgroundBottomTheme(){return this._backgroundBottomTheme.readonly()}lineToolsAndGroupsDTO(){return(0,s.ensureNotNull)(this._lineToolsSynchronizer).prepareDTO()}resetLineToolsInvalidated(e,t,i){(0,s.ensureNotNull)(this._lineToolsSynchronizer).resetInvalidated(e,t,i)}applyLineToolUpdateNotification(e,t){(0,s.ensureNotNull)(this._lineToolsSynchronizer).applyLineToolUpdateNotification(e,t)}reloadAllLineTools(e){(0,s.ensureNotNull)(this._lineToolsSynchronizer).reloadAllLineTools(e)}startApplyingLineToolUpdateNotification(){var e;null===(e=this._lineToolsSynchronizer)||void 0===e||e.startApplyingLineToolUpdateNotification()}endApplyingLineToolUpdateNotification(){var e;null===(e=this._lineToolsSynchronizer)||void 0===e||e.endApplyingLineToolUpdateNotification()}applyAlertIdByExternalSource(e,t){var i;null===(i=this._lineToolsSynchronizer)||void 0===i||i.applyAlertIdByExternalSource(e,t)}deleteAlertByExternalSource(e,t){var i;null===(i=this._lineToolsSynchronizer)||void 0===i||i.deleteAlertByExternalSource(e)}shouldBeSavedEvenIfHidden(){return this.model().model().shouldBeSavedEvenIfHidden()}showObjectsTreeDialog(){var e;null===(e=this._objectTreeDialogController)||void 0===e||e.show()}addCustomWidgetToLegend(e,t){this._customLegendWidgetsFactoryMap.set(e,t);for(const i of this.paneWidgets())i.addCustomWidgetToLegend(e,t)}applyIndicatorsToAllChartsAvailable(){if(!this.chartWidgetCollection().applyIndicatorsToAllChartsAvailable())return!1;for(const e of this.model().model().panes()){if(e.sourcesByGroup().all().some(e=>(0,v.isStudy)(e)&&!(0,v.isESDStudy)(e)))return!0}return!1}restoreState(e,t,i){this._adjustSize();(0,s.ensureNotNull)(this._model).restoreState(this._content,t,i);this._setActions()}addCompareAsOverlay(e,t){const i=this.model();return(0,s.ensureDefined)(this._options.isSymbolAvailable)(e).then(s=>{if(!s)return null;const r=i.createStudyInserter({type:"java",studyId:"Overlay@tv-basicstudies"});return r.setForceOverlay(!0),r.setPreferredPriceScale("as-series"),r.setTargetPriceScaleMode({percentage:!0}),void 0!==t&&r.setPropertiesState({allowExtendTimeScale:t}),r.insert(async()=>({inputs:{symbol:e}}))})}scrollHelper(){return this._scrollHelper}setBroker(e){var t;this._brokerName=e, +null===(t=this._lineToolsSynchronizer)||void 0===t||t.setBroker(e)}chartPainted(){return this._drawPlanned?(null===this._chartPaintedPromise&&(this._chartPaintedPromise=(0,c.createDeferredPromise)()),this._chartPaintedPromise.promise):Promise.resolve()}setDataWindowWidget(e){this._dataWindowWidget=e}removeDataWindowWidget(){this._dataWindowWidget=null}showSelectedSourcesProperties(){const e=(0,s.ensureNotNull)(this._model).selection().dataSources(),t=e.length;1===t?this.showSourceProperties(e[0]):t>0&&e.every(e=>(0,f.isLineTool)(e))&&this.showChartPropertiesForSources({sources:e})}async _showChartProperties(e,t,i,s){if(!this._model)return null;t&&((0,a.setValue)("properties_dialog.active_tab.chart",t),i.tabName=t);const r=await It(e,this._model,i,this._options.chartWidgetCollection,s);return(null==r?void 0:r.visible().value())?r:null}_createLineToolsSynchronizerIfNeeded(){0}_updateThemedColor(){const e=this.model().model(),t=e.backgroundColorAtYPercentFromTop(.5);let i=e.backgroundTopColor().value(),s=e.backgroundColor().value();const r=(0,pt.isColorDark)(t),n=(0,pt.isColorDark)(i),o=(0,pt.isColorDark)(s);this.widget().classList.toggle("chart-widget--themed-dark",r),this.widget().classList.toggle("chart-widget--themed-light",!r),this.widget().classList.toggle("chart-widget__top--themed-dark",n),this.widget().classList.toggle("chart-widget__top--themed-light",!n),this.widget().classList.toggle("chart-widget__bottom--themed-dark",o),this.widget().classList.toggle("chart-widget__bottom--themed-light",!o),this._backgroundTopTheme.setValue(n?"dark":"light"),this._backgroundBasedTheme.setValue(r?"dark":"light"),this._backgroundBottomTheme.setValue(o?"dark":"light"),i===s&&(0,F.isStdThemedDefaultValue)("chartProperties.paneProperties.background",i,this._backgroundBasedTheme.value())&&(i=null,s=null);for(const e of this._paneWidgets)e.updateThemedColors({topColor:i,bottomColor:s})}_isLineToolModeExceptBrush(){const e=E.tool.value();return(0,f.isLineToolName)(e)&&!(0,f.isLineDrawnWithPressedButton)(e)&&!this.selectPointMode().value()}_cancelCreatingLine(){const e=(0,s.ensureNotNull)(this._model).model(),t=e.lineBeingCreated();if(null!==t){const i=(0,s.ensureNotNull)(e.paneForSource(t));(0,s.ensureNotNull)(this.paneByState(i)).cancelCreatingLineTool()}const i=e.crossHairSource().measurePane();if(null!==i){(0,s.ensureNotNull)(this.paneByState(i)).cancelMeasuring()}}_adjustSize(e){var t;let i=0;const s=null===this._model?null:this._model.model().priceScaleSlotsCount(),r=new Uint32Array(null===s?0:s.left),n=new Uint32Array(null===s?0:s.right),o=(0,N.getCanvasDevicePixelRatio)(document.body),a=(e,t)=>e+t,l=(e,t)=>{t.forEach((t,i)=>{e[i]=Math.max(e[i],t)})};for(const e of this._paneWidgets)if(!this._maximizedPaneWidget||this._maximizedPaneWidget===e){e.leftPriceAxisesContainer().updateCurrencyLabels();const t=e.leftPriceAxisesContainer().optimalWidths();e.rightPriceAxisesContainer().updateCurrencyLabels();const s=e.rightPriceAxisesContainer().optimalWidths();l(r,t),l(n,s),i+=e.stretchFactor()}let c=r.reduce(a,0),d=n.reduce(a,0) +;const u=this._width(),p=this._height();let _=Math.max(u-c-d,0);if(_<=102){c=0,d=0,_=u;for(let e=0;e=61?v:0;S%2&&(S+=1);const y=f+S,b=p0){ +const e=new ct(this,s-1,s);this._paneSeparators.push(e),this._timeAxisWidget?this._elMainTable.insertBefore(e.getElement(),this._timeAxisWidget.getElement()):this._elMainTable.appendChild(e.getElement())}this._timeAxisWidget?this._elMainTable.insertBefore(i.getElement(),this._timeAxisWidget.getElement()):this._elMainTable.appendChild(i.getElement())}for(let i=0;i{this._controlBarNavigation=new e.ControlBarNavigation(this,(0, +s.ensureNotNull)(this._mainDiv),this._options.controlBar),this._model&&this._adjustSize()}),this._options.handleScale.mouseWheel||this._options.handleScroll.mouseWheel){this._mouseWheelHelper=new Q;const e=this._onMousewheel.bind(this);this._onWheelBound=e,this._mainDiv.addEventListener("wheel",e,{passive:!1})}this.resize(),this._justActivated=!1,this.withModel(this,()=>{r.appendChild(n),n.addEventListener("mousedown",this._beginRequestActive.bind(this)),n.addEventListener("mouseup",this._endRequestActive.bind(this)),n.addEventListener("touchstart",this._beginRequestActive.bind(this)),n.addEventListener("touchmove",this._endRequestActive.bind(this)),n.addEventListener("touchend",this._endRequestActive.bind(this)),n.addEventListener("click",this._requestActive.bind(this))}),this._inited&&(null!==this._timeAxisWidget&&(this._timeAxisWidget.destroy(),this._timeAxisWidget=null),this._paneWidgets.forEach(e=>{e.destroy()}),this._paneWidgets.length=0,this._paneSeparators.forEach(e=>{e.destroy()}),this._paneSeparators.length=0,this._update(b.InvalidationMask.full()))}_makeDefaultModel(){let e;if(this._content&&this._content.timeScale.points){const t=this._content.timeScale.points.items[0];e={startDate:t}}if(!(0,s.ensureNotNull)(this._metaInfoRepository).getInternalMetaInfoArray())throw new Error("Cannot create chart model: studies metainfo is absent");const t=()=>{this._drawPlanned=!1,this._drawRafId=0,this._inLoadingState||(this._invalidationMask&&(this._update(this._invalidationMask),this._invalidationMask=null),null!==this._chartPaintedPromise&&(this._chartPaintedPromise.resolve(),this._chartPaintedPromise=null))},i=()=>{var i,r;const n={readOnly:this.readOnly(),isSnapshot:!!this._containsData,...o(this._options,["timeScale","crossHair","esdEnabled","countdownEnabled","lastPriceAnimationEnabled","currencyConversionEnabled","unitConversionEnabled","watermarkEnabled","shiftVisibleRangeOnNewBar","hideIdeas","onWidget"])};let a;a=this._collapsed;const l=function(e,t,i,s,r,n,o,a,l,c,h){const d=new g.ChartUndoModel(e,t,i,s,r,n,o,a,l,c,h);return d.model().fullUpdate(),d}(this._chartSession,e=>{if(!(e instanceof b.InvalidationMask))throw new Error("Invalid mask");null!==this._invalidationMask?this._invalidationMask.merge(e):this._invalidationMask=e,this._drawPlanned||(this._drawPlanned=!0,this._options.visible.when(()=>{const e=!document.hidden,i=this.screen&&this.screen.isShown();null!==this._timingsMeter&&e&&!i&&this._timingsMeter.startWaitingDraw();const r=(0,s.ensureNotNull)((0,s.ensureNotNull)(this._parent).ownerDocument.defaultView);this._drawRafId=r.requestAnimationFrame(t)}))},this.properties(),e,(0,s.ensureNotNull)(this._metaInfoRepository),this,this._options.undoHistory,this._options.barsMarksContainersFactory,n,a,null!==(r=null===(i=this._saveChartService)||void 0===i?void 0:i.autoSaveEnabled())&&void 0!==r?r:new(Ie())(!0));return this._createSessions(l.model()),l};(0,se.enabled)("lean_chart_load")?this._model=this._model||i():this._model=i(),this._createVolumeIfNeeded();if(this._content){let e={} +;Mt&&this._initialLoading&&(e={symbol:this._defSymbol,interval:this._defInterval,style:this._defStyle}),this.restoreState(this._content,this._containsData,e),Mt&&this._defSymbol&&this.model().model().recalculatePriceRangeOnce()}else this._setActions();return this._createLineToolsSynchronizerIfNeeded(),(()=>{const e=(0,s.ensureNotNull)(this._model);e.onTagsChanged().subscribe(this,()=>this.onModelTagsChanged()),this._initBackgroundColor(),this._updateGui(),this._modelCreated.fire(e),this._tagsChanged.fire();const t=e.mainSeries(),i=t.properties().childs();this._defTimeframe&&t.setDefaultTimeframe(this._defTimeframe),e.lineCancelled().subscribe(this,()=>this.onLineCancelled()),t.dataEvents().symbolNotPermitted().subscribe(null,e=>{i.symbol.setValue(e)}),i.style.unsubscribe(this,this._onChartStyleChanged),i.style.subscribe(this,this._onChartStyleChanged),t.dataEvents().completed().subscribe(this,()=>this._addPerfMark("SeriesCompleted"),!0),t.dataEvents().barReceived().subscribe(this,()=>this._addPerfMark("SeriesFirstDataReceived"),!0);this._options;t.dataEvents().chartTypeNotPermitted().subscribe(null,()=>{i.interval.setValue("D")}),t.dataEvents().intradaySpreadNotPermitted().subscribe(null,()=>{i.interval.setValue("D")}),t.dataEvents().customIntervalNotPermitted().subscribe(null,()=>{i.interval.setValue((0,St.getDefaultResolution)((0,vt.isRangeStyle)(i.style.value())))}),t.dataEvents().intradayExchangeNotPermitted().subscribe(null,()=>{i.interval.setValue("D")}),t.requestingResolutionWhenNotSupported.subscribe(null,e=>t.setInterval(e)),t.requestingStyleIsNotSupported.subscribe(null,()=>{const i=t.interval(),s=e.model().defaultResolutions(),r=(0,vt.getLastUsedSingleValueBasedStyle)(),n=(0,St.getResolutionByChartStyle)(r,i,s);t.setChartStyleWithIntervalIfNeeded(r,n)}),t.requestingStyleSupportRecovered.subscribe(null,i=>{const s=t.interval(),r=e.model().defaultResolutions(),n=(0,St.getResolutionByChartStyle)(i,s,r);t.setChartStyleWithIntervalIfNeeded(i,n)})})()}_initBarsMarksSources(){this.withModel(this,()=>{for(const e of this.model().barsMarksSources())e.onNeedRepaint.subscribe(this,()=>this.model().model().lightUpdate())})}_handleLoginStateChanged(){0}_subscribeToMainSeriesErrors(){this.withModel(this,()=>{const e=this.model().model().mainSeries();let t;t=new(Ie())(!1).readonly(),this._mainSeriesErrorMessage=(0,m.combine)((e,t,i)=>{switch(t){case 4:return{message:(0,r.t)("Invalid symbol"),icon:"ghost"};case 1:case 2:break;default:if(i)return{message:(0,r.t)("No data here"),icon:"ghost"}}return null},t,(0,S.createWVFromGetterAndSubscription)(()=>e.status(),e.onStatusChanged()),(0,S.createWVFromGetterAndSubscription)(()=>!e.bars().size(),e.dataEvents().dataUpdated()),(0,S.createWVFromGetterAndSubscription)(()=>({}),this.model().model().onChartThemeLoaded())),this._mainSeriesErrorMessage.subscribe(e=>{this._paneWidgets.forEach(t=>t.setErrorMessage(e))},{callWithLast:!0})})}_subscribeToDrawingState(){if(this._options.readOnly)return;(0,E.init)();const e=(e,t)=>{if(null===this._model)return;const i=this._model.model() +;e.model!==i&&t(i,this._model)};E.createdLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=(0,s.ensureNotNull)(e.paneForSource(e.mainSeries()));let n,o=null;if(void 0===t.pointPositionPercents){if(o=kt(e,t.model,t.point.timeStamp),null===o)return;n=t.point.price}else{const i=t.pointPositionPercents.x*e.timeScale().width(),s=e.mainSeries().priceScale(),r=t.pointPositionPercents.y*s.height(),a=e.mainSeries().firstValue();if(null===a)return;o=e.timeScale().coordinateToIndex(i),n=s.coordinateToPrice(r,a)}const a={index:(0,s.ensureNotNull)(o),price:n},l=i.createLineTool(r,a,t.linetool,t.properties,t.linkKey,e.mainSeries(),!0);null!==l&&!Boolean(this.model().lineBeingCreated())&&t.finalState&&l.restoreExternalPoints(t.finalState,{indexesChanged:!0,pricesChanged:!0})})}),E.continuedLineTool.subscribe(null,t=>{e(t,(e,i)=>{var s;const r=kt(e,t.model,t.point.timeStamp);if(null===r)return;const n={index:r,price:t.point.price},o=e.lineBeingCreated();if(null===o)return;i.continueExternalLine(n,null!==(s=t.envState)&&void 0!==s?s:void 0,!!t.finalState)&&t.finalState&&o.restoreExternalPoints(t.finalState,{indexesChanged:!0,pricesChanged:!0})})}),E.cancelledLineTool.subscribe(null,t=>{e(t,(e,t)=>{e.cancelCreatingLine()})}),E.beenSetLineToolLastPoint.subscribe(null,t=>{e(t,(e,i)=>{const s=e.lineBeingCreated();if(null===s||s.linkKey().value()!==t.linkKey)return;const r=kt(e,t.model,t.point.timeStamp);if(null===r)return;const n={index:r,price:t.point.price};s.setLastPoint(n),s.updateAllViews(),e.lightUpdate()})}),E.startedMovingLineTool.subscribe(null,t=>{e(t,(e,i)=>{var s;const r=t.linkKeys.map(f.lineToolByLinkKey.bind(null,e)).filter(_.notNull);if(r.length){const i=kt(e,t.model,t.point.timeStamp);if(null===i)return;const n={index:i,price:t.point.price},o=null!==(s=t.activeItem)&&void 0!==s?s:null,a=r[0].pointToScreenPoint(n);a&&e.startMovingSources(r,{logical:n,screen:a},o,t.pointPositionPercents,null===t.envState?void 0:t.envState,!0)}})}),E.movedLineTool.subscribe(null,t=>{e(t,(e,i)=>{var s;const r=e.sourcesBeingMoved().filter(f.isLineTool).filter(e=>(e=>t.linkKeys.some(t=>e.linkKey().value()===t))(e));if(!r.length)return;const n=kt(e,t.model,t.point.timeStamp);if(null===n)return;const o={index:n,price:t.point.price},a=r[0].pointToScreenPoint(o);a&&e.moveSources({logical:o,screen:a},t.pointPositionPercents,null!==(s=t.envState)&&void 0!==s?s:void 0,!0)})}),E.finishedMovingLineTool.subscribe(null,t=>{e(t,(e,i)=>{const s=e.sourcesBeingMoved().filter(f.isLineTool);if(0===s.length)return;s.forEach(i=>{const s=(e=>{for(let i=0;i{e(t,(e,i)=>{var s;const r=(0,f.lineToolByLinkKey)(e,t.linkKey);if(null!==r){const i=r.getPoint(t.pointIndex),n=i?i.index:kt(e,t.model,t.point.timeStamp) +;if(null===n)return;if(r.isActualSymbol()&&r.isActualCurrency()&&r.isActualUnit()){const i={index:n,price:t.point.price};e.startChangingLinetool(r,i,t.pointIndex,null!==(s=t.envState)&&void 0!==s?s:void 0,!0)}}})}),E.changedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=e.lineBeingEdited();if(null===r||r.linkKey().value()!==t.linkKey)return;let n=null;if(n=t.changes.indexesChanged?kt(e,t.model,t.point.timeStamp):(0,s.ensureNotNull)(e.linePointBeingChanged()).index,null!==n&&r.isActualSymbol()&&r.isActualCurrency()&&r.isActualUnit()){const i={index:n,price:t.point.price};e.changeLinePoint(i,void 0,!0)}})}),E.finishedChangingLineTool.subscribe(null,t=>{e(t,(e,i)=>{const s=(0,f.lineToolByLinkKey)(e,t.linkKey);null!==s&&s.isActualSymbol()&&s.isActualCurrency()&&s.isActualUnit()&&null!==e.lineBeingEdited()&&e.endChangingLinetool(!!t.finalState,!0),null!==s&&t.finalState&&s.restoreExternalPoints(t.finalState,t.changes)})}),E.removedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const{withUndo:s,unlink:r,linkKey:n}=t,o=(0,f.lineToolByLinkKey)(e,n);if(null!==o)r&&o.detachAlert(),s?i.removeSource(o,!1):e.removeSource(o);else if(this._lineToolsSynchronizer){const{sourceTitle:e,symbol:o,lineToolState:a}=t;i.removeUnloadedLineTool({lineToolsSynchronizer:this._lineToolsSynchronizer,state:a,unlink:r,sourceTitle:e,linkKey:n,symbol:o,withUndo:s})}})}),E.finishedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const s=(0,f.lineToolByLinkKey)(e,t.linkKey);null!==s&&(0,f.isLineDrawnWithPressedButton)(s.toolname)&&s.finish()})}),E.changedLineStyle.subscribe(null,t=>{e(t,(e,i)=>{const s=(0,f.lineToolByLinkKey)(e,t.linkKey);null!==s&&(s.restoreExternalState(t.state),s.propertiesChanged(!0),t.alertId&&s.syncAlert(t.alertId))})}),E.restoredLineToolState.subscribe(null,t=>{e(t,(e,i)=>{const s=(0,f.lineToolByLinkKey)(e,t.linkKey);if(null!==s){const i={...t.state};i.indexes=t.state.points.map(i=>({index:kt(e,t.model,i.time_t),price:i.price})),e.restoreLineToolState(s,i)}})}),E.restoredLineTool.subscribe(null,t=>{e(t,(e,i)=>{e.restoreSource(t.state.restorePane,t.state.paneIndex,t.state.paneState,t.state.sourceState,null)})}),E.copiedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=(0,s.ensureNotNull)(e.paneForSource(e.mainSeries()));let n;const o=(0,f.createLineToolProperties)(t.linetool,t.state,e);if(t.pointPositionPercents){const e={index:0,price:0};if(n=i.createLineTool(r,e,t.linetool,o,t.linkKey,void 0,!0),null===n)return;n.restorePositionPercents((0,s.ensureDefined)(t.pointPositionPercents))}else{const a=t.points.map(i=>({index:(0,s.ensureNotNull)(kt(e,t.model,i.timeStamp)),price:i.price})),l=a[0];if(n=i.createLineTool(r,l,t.linetool,o,t.linkKey,void 0,!0),null===n)return;if(e.lineBeingCreated())for(let e=1;e{"use strict";i.r(t),i.d(t,{applyIndicatorToAllChartsImpl:()=>j,applyIndicatorsToAllChartsImpl:()=>U,applyLineToolUpdateNotificationImpl:()=>X,chartsSymbolsImpl:()=>Q,copyScreenshotToClipboard:()=>re,createChartStorageSubscriptionsIfRequired:()=>ee,createClipboardHandler:()=>Z,downloadScreenshot:()=>se,getAsyncStateForChartImpl:()=>$,getClientSnapshot:()=>oe,getSnapshot:()=>ne,getStateForChartImpl:()=>Y,lineToolsAndGroupsDTOsImpl:()=>q,resetLineToolsInvalidatedImpl:()=>K,setBrokerImpl:()=>J,takeScreenshot:()=>te,takeServerScreenshot:()=>ie});var s=i(16282),r=i(79881),n=i(90963),o=i(5980);class a extends o.UndoCommand{constructor(e,t){super(null),this._chartModel=e,this._targetIndex=t}redo(){const e=this._chartModel.createPane(this._targetIndex,void 0,this._paneId);this._paneId=e.id()}undo(){const e=(0,s.ensureDefined)(this._paneId),t=this._chartModel.panes().find(t=>t.id()===e);void 0!==t&&this._chartModel.removePane(t)}createdPaneId(){return this._paneId}}var l=i(65447),c=i(5225),h=i(33350);const d=(0,l.getLogger)("Clipboard");class u{constructor(e){this._e=e}write(e){return(0,h.writeImpl)(this._toRaw(e),this._e)}_toRaw(e){const t={files:[]};t.text=e.text,void 0!==e.app?t.html=this._serializeAppData(e.app,e.text):e.html&&(t.html=e.html);for(const i of e.files||[])t.files.push(i);return t}_serializeAppData(e,t){return`${t?(0,c.htmlEscape)(t.slice(0,256)):"📈"}`}}class p{constructor(e){this._e=e}async read(){this._e&&0===this._e.eventPhase&&(d.logWarn("Cannot use an already dispatched ClipboardEvent for reading"),this._e=null);const e=this._e?this._readUsingEvent(this._e):await this._readUsingApi();return this._fromRaw(e)}_readUsingEvent(e){const t=(0,s.ensure)(e.clipboardData);e.preventDefault();const i={files:[]};for(let e=0;e0&&(t.files=e.files),t}_parseAppData(e){if(-1===e.slice(0,1024).indexOf("data-tradingview-clip"))return +;const t=(new DOMParser).parseFromString(e,"text/html").querySelector("[data-tradingview-clip]");return t?t.getAttribute("data-tradingview-clip")||"":void 0}_readBlobAsText(e){return new Promise((t,i)=>{const s=new FileReader;s.onloadend=()=>{t(s.result)},s.onerror=()=>{i(s.error)},s.readAsText(e)})}}var _=i(15738);function m(e){const t=e.target;return null!==t&&1===t.nodeType&&(0,_.isTextEditingField)(t)}function g(e){const t=e.target;if(null===t)return!1;const i=(t.ownerDocument||t).getSelection();return null!==i&&!i.isCollapsed}class f extends class{constructor(e){this._callbacks=Object.assign({},e),this._boundOnCopy=this._onCopyEv.bind(this),this._boundOnCut=this._onCutEv.bind(this),this._boundOnPaste=this._onPasteEv.bind(this)}listen(){document.addEventListener("copy",this._boundOnCopy),document.addEventListener("cut",this._boundOnCut),document.addEventListener("paste",this._boundOnPaste)}async peek(){if("granted"!==(await navigator.permissions.query({name:"clipboard-read"})).state)throw new Error("clipboard-read is not granted");return new p(null).read()}uiRequestCopy(e){this._callbacks.copyRequested&&this._callbacks.copyRequested(new u(null),e)}uiRequestCut(e){this._callbacks.cutRequested&&this._callbacks.cutRequested(new u(null),e)}uiRequestPaste(e){this._callbacks.pasteRequested&&this._callbacks.pasteRequested(new p(null),e)}destroy(){document.removeEventListener("copy",this._boundOnCopy),document.removeEventListener("cut",this._boundOnCut),document.removeEventListener("paste",this._boundOnPaste)}_onCopyEv(e){e.defaultPrevented||this._callbacks.copyRequested&&this._callbacks.copyRequested(new u(e))}_onCutEv(e){e.defaultPrevented||this._callbacks.cutRequested&&this._callbacks.cutRequested(new u(e))}_onPasteEv(e){e.defaultPrevented||this._callbacks.pasteRequested&&this._callbacks.pasteRequested(new p(e))}}{_onCopyEv(e){if(!m(e)&&!g(e))return super._onCopyEv(e)}_onCutEv(e){if(!m(e)&&!g(e))return super._onCutEv(e)}_onPasteEv(e){if(!m(e))return super._onPasteEv(e)}}const v=()=>i.e(4389).then(i.bind(i,71138));function S(e,t={}){return v().then(i=>i.copyToClipboardImageOfChart(e,t))}function y(e,t={}){return v().then(i=>i.getImageOfChartSilently(e,t))}var b=i(18437),w=i(22900),P=i(99182),C=i(1799),T=i(72927),x=i(14563),I=i(71577),M=i(49382),L=i(16932),A=i(54837),k=i(73395),E=i(38069),D=i(27490),V=i(6857);const B=!D.enabled("widget_logo");function N(e,t=null,i=null){let s={};if("number"==typeof e)return{relativePositions:{[e]:{l:t,t:i}},nextElementLeft:e,nextElementTop:e};const[r,...n]=e;if("v"===r){let e=null;for(const r of n){const n=N(r,t,i);s={...s,...n.relativePositions},i=n.nextElementTop,e=n.nextElementLeft}t=e}if("h"===r){let e=null;for(const r of n){const n=N(r,t,i);s={...s,...n.relativePositions},t=n.nextElementLeft,e=n.nextElementTop}i=e}return{relativePositions:s,nextElementTop:i,nextElementLeft:t}}const R=function(e){const t={};for(const i of Object.keys(e)){const s=N(e[i]).relativePositions;t[i]=s}return t}(E);function O(e,t,i,s){return(0,L.drawScaled)(e,s,()=>{e.fillText(i,t.x/s,t.y/s)}), +e.measureText(i).width*s}function F(e){return e.map(e=>({...e,title:""}))}function W(e,t){const i=[{text:e.trim()}];for(const e of t)e.visible&&(""!==i[i.length-1].text&&i.push({text:" "}),e.title&&i.push({text:e.title}),i.push({text:e.value,color:e.color}));return i}class H{constructor(e,t){this._logoTextColor=null,this._snapshotData=e,t=t||{},this._options={backgroundColor:P.themes[e.theme].getThemedColor("color-bg-primary"),borderColor:P.themes[e.theme].getThemedColor("color-border"),font:A.CHART_FONT_FAMILY,fontSize:12,legendMode:"vertical",hideResolution:!1,showHeaderPublishedBy:!1,showHeaderMainSymbol:!1,...t};const i=R[e.layout],s=e.charts.map(e=>function(e){const t=e.panes[0],i=t.canvas.width+t.leftAxis.canvas.width+t.rightAxis.canvas.width;let s=0;for(const t of e.panes)s+=t.canvas.height;return void 0!==e.timeAxis&&(s+=e.timeAxis.canvas.height),new L.Size(i,s)}(e));if(this._pixelRatio=e.hidpiRatio,this._chartsGeometry=e.charts.map((e,t)=>function e(t,i,s,r){let n=Math.round(10*r),o=Math.round(10*r);const a=s[t];if(null!==a.l){const t=e(a.l,i,s,r);n=t.x+t.width+Math.round(5*r)}if(null!==a.t){const t=e(a.t,i,s,r);o=t.y+t.height+Math.round(5*r)}const l=i[t];return{x:n,y:o,width:l.w,height:l.h}}(t,s,i,this._pixelRatio)),!B){let i=e.theme;void 0!==t.backgroundColor&&(i="black"===(0,x.rgbToBlackWhiteString)((0,x.parseRgb)(t.backgroundColor),150)?I.StdTheme.Dark:I.StdTheme.Light),this._logoTextColor=P.themes[i].getThemedColor("color-text-primary")}this._headerDefaultTextColor=P.themes[e.theme].getThemedColor("color-text-primary")}async getImage(){const e=this._pixelRatio;let t=0,i=0,s=0;const r=this._headerItems();if(r.length>0){s=Math.ceil(1.4*this._options.fontSize*e)*r.length}i+=s;let n=0,o=0;for(const e of this._chartsGeometry)n=Math.max(n,e.x+e.width),o=Math.max(o,e.y+e.height);const a=i;t+=n,i+=o,t+=Math.round(10*e);const l=B?Math.round(10*e):Math.round(35*e),c=i;i+=l;const h=(0,L.createDisconnectedCanvas)(document,new L.Size(t,i),1),d=(0,L.getContext2D)(h);d.font=(0,k.makeFont)(this._options.fontSize,this._options.font),d.textBaseline="top",d.fillStyle=this._options.backgroundColor,d.fillRect(0,0,t,i),r.length>0&&this._drawHeader(d,r,t,new T.Point(Math.round(10*e),Math.round(10*e)));for(let e=0;e{const s=new Image;s.width=e,s.height=t,s.onload=()=>{i({image:s,width:e,height:t})},s.src=n})}(Math.round(20*e),Math.round(15*e),this._logoTextColor);d.fillStyle=this._logoTextColor,d.font=(0,k.makeFont)(13,A.CHART_FONT_FAMILY);const i=c+Math.round(l/2-t.height/2);!function(e,t,i,s,r){e.save(),e.drawImage(s.image,t,i,s.width,s.height), +e.textBaseline="bottom";const n=(t+s.width)/r+3,o=(i+s.height)/r;(0,L.drawScaled)(e,r,()=>{e.fillText("TradingView",n,o)}),e.restore()}(d,Math.round(10*e),i,t,e)}return h}_drawChart(e,t,i,s){i.save(),i.translate(t.x+s.x,t.y+s.y);let r=0;for(const t of e.panes){let s=0;const n=t.leftAxis.canvas.width+Math.round(8*this._pixelRatio),o=r,a=r+Math.round(10*this._pixelRatio);t.leftAxis.contentWidth>0&&(i.drawImage(t.leftAxis.canvas,s,r),s+=t.leftAxis.canvas.width),i.drawImage(t.canvas,s,r),s+=t.canvas.width,t.rightAxis.contentWidth>0&&i.drawImage(t.rightAxis.canvas,s,r),"pane"===t.type&&(i.fillStyle=e.colors.text,this._drawLegend(t,i,new T.Point(n,a),o)),r+=t.canvas.height}if(void 0!==e.timeAxis){let t=0;e.timeAxis.lhsStub.contentWidth>0&&(i.drawImage(e.timeAxis.lhsStub.canvas,t,r),t+=e.timeAxis.lhsStub.canvas.width),i.drawImage(e.timeAxis.canvas,t,r),t+=e.timeAxis.canvas.width,e.timeAxis.rhsStub.contentWidth>0&&i.drawImage(e.timeAxis.rhsStub.canvas,t,r)}i.strokeStyle=this._options.borderColor,i.strokeRect(0,0,t.width,t.height),i.restore()}_headerItems(){var e,t,i,s;const r=[];if(this._options.showHeaderPublishedBy&&this._snapshotData.publishedBy)for(const e of this._snapshotData.publishedBy)r.push([{text:e}]);if(this._options.showHeaderMainSymbol){const n=this._snapshotData.charts[0],o=`${null===(e=n.meta)||void 0===e?void 0:e.symbol}, ${null===(t=n.meta)||void 0===t?void 0:t.resolution}`;r.push(W(o,null!==(s=null===(i=n.meta)||void 0===i?void 0:i.values)&&void 0!==s?s:[]))}return r}_drawHeader(e,t,i,s){e.save(),e.fillStyle=this._headerDefaultTextColor;const r=Math.ceil(1.4*this._options.fontSize*this._pixelRatio);t.forEach((t,n)=>{this._drawLegendLine(e,new T.Point(s.x,s.y+r*n),i,t,!0)}),e.restore()}_drawLegend(e,t,i,s){let r=!0;const n=Math.ceil(1.4*this._options.fontSize*this._pixelRatio);let o=i.x,a=i.y;if(e.mainSeriesText&&a+ne.text).join("");let o=t.x;const a=function(e,t,i,s){if(e.measureText(t).width*s<=i)return{text:t,elided:!1};const r=e.measureText("...").width*s,n=[];for(let e=0;ee.measureText(t.slice(0,o+1)).width*s+r>i);return{text:(t=t.slice(0,o)).trim(),elided:!0}}(e,n,i-o,this._pixelRatio);if(a.elided&&!r)return null;const l=[];let c=0;for(const e of s){if(c+e.text.length>a.text.length)break;l.push(e.text),c+=e.text.length}const h=l.join("").trim().length;c=0;for(const i of s){if(c+i.text.length>h)break;i.color&&(e.save(), +e.fillStyle=i.color),o+=O(e,new T.Point(o,t.y),i.text,this._pixelRatio),i.color&&e.restore(),c+=i.text.length}return a.elided&&(o+=O(e,new T.Point(o,t.y),"...",this._pixelRatio)),o}}const z=new n.TranslatedString("apply indicators to entire layout",(0,r.t)("apply indicators to entire layout"));(0,r.t)("Please give us a clipboard writing permission in your browser or press {keystroke}"),(0,r.t)("Couldn't copy"),(0,r.t)("Couldn't cut"),(0,r.t)("Couldn't paste"),(0,r.t)("{userName} published on {customer}, {date}"),(0,r.t)("Published on {customer}, {date}");function U(e,t){const i=t.model().model().studyTemplate();e.undoHistory.beginUndoMacro(z);for(let s=0;se.id()===n))}const c=t.pasteSourceFromClip(o,i,!0);if(c&&1===c.length){const e=c[0];if(r.asCompare){const i=(0,s.ensureNotNull)(t.mainSeries().priceScale());t.moveToScale(e,(0,s.ensureDefined)(o),i,n),t.setPriceScaleMode({percentage:!0},i,null)}}t.model().lightUpdate()}}e.undoHistory.endUndoMacro()}function G(e){let t=1;for(;e.has(""+t);)t++;return""+t}function q(e){const t=new Map,i=e.chartsCountToSave(),s=new Set;for(let r=0;r{const s=(r=i.chartId,null!==(o=null===(n=e.chartWidgetsDefs.find(e=>e.chartWidget.id()===r))||void 0===n?void 0:n.chartWidget)&&void 0!==o?o:null);var r,n,o;null==s||s.resetLineToolsInvalidated(t,i.savedDto,i.sharingMode)})}function X(e,t,i,s){const r=e.map(e=>e.chartWidget);r.forEach(e=>e.startApplyingLineToolUpdateNotification());try{r.filter(e=>e.id()===t||"not-shared"!==s).forEach(e=>e.applyLineToolUpdateNotification(i,s))}finally{r.forEach(e=>e.endApplyingLineToolUpdateNotification())}}function Z(e){return new f({copyRequested:(t,i)=>{ +e.activeChartWidget.value().model().clipboardCopy(t,i)},cutRequested:(t,i)=>{e.activeChartWidget.value().model().clipboardCut(t,i)},pasteRequested:(t,i)=>{(i?i.model().undoModel():e.activeChartWidget.value().model()).clipboardPaste(t,i)}})}function J(e,t){0}function Q(e){const t={};return e.chartWidgetsDefs.map(e=>e.chartWidget).forEach(e=>t[e.id()]=function(e){var t,i;const s={},r=e.model().mainSeries(),n=r.properties().childs(),o=r.symbolInfo();s.resolution=n.interval.value(),s.symbol_type=null!==o&&o.type||"",s.exchange=null!==o&&o.exchange||"",s.listed_exchange=null!==o&&o.listed_exchange||"";const a=null!==(t=null==o?void 0:o.legs)&&void 0!==t?t:[];if(null!==o&&r.isSpread()){const e=a[0];let t=o.base_name[0];t=t.split(":")[1],s.symbol=e,s.short_name=t,s.expression=o.full_name}else s.symbol=null!==o&&o.ticker||n.symbol.value(),s.short_name=n.shortName.value();const l=null!==(i=null==o?void 0:o.base_name)&&void 0!==i?i:[];return s.legs=a.map((e,t)=>({symbol:e,pro_symbol:l[t]})),s}(e)),t}function ee(e,t){0}function te(e,t){return y(t,{snapshotUrl:e}).then(e=>((0,b.emit)("onScreenshotReady",e),e))}function ie(e,t){const i={snapshotUrl:e};const s=(0,w.isOnMobileAppPage)("any");return(s?y:S)(t,i).then(e=>((0,b.emit)("onScreenshotReady",e),s||(0,b.emit)("onServerScreenshotCopiedToClipboard"),e))}function se(e){return function(e){return v().then(t=>t.downloadClientScreenshot(e))}(e)}function re(e){return function(e){return v().then(t=>t.copyToClipboardClientScreenshot(e))}(e).then(()=>{(0,b.emit)("onClientScreenshotCopiedToClipboard")})}function ne(e,t,i,s){const r=Math.max(1,window.devicePixelRatio||1),n=e.getAll();const o=e.maximizedChartWidget();if(s&&s.onlyActiveChart||o)return{layout:"s",hidpiRatio:r,theme:(0,P.getCurrentTheme)().name,charts:[e.activeChartWidget.value().images(s)],publishedBy:void 0};const a=[],l=C.layouts[e.layout.value()].count,c={showCollapsedStudies:(s=s||{}).showCollapsedStudies,status:s.status};for(let e=0;e{"use strict";i.r(t),i.d(t,{setChartFontFamily:()=>s,CHART_FONT_FAMILY:()=>r});function s(e){r=e}let r="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, SegoeUI, Ubuntu, sans-serif"},18905:(e,t,i)=>{"use strict";var s=i(5729);i(59621) +;var r=i(79881).t,n=i(90963).TranslatedString,o=i(16282),a=o.assert,l=o.ensureDefined,c=i(49382).moveToHead,h=i(56569).TimeAxisWidget,d=i(95975).Series,u=i(27490),p=i(28745).ActionBinder,_=i(64222).setValue,m=i(89366).TabNames,g=i(98737).showGoToDateDialog,f=i(42998),v=i(60934),S=i(99392).showConfirmInputsDialog,y=i(16932).disableSelection,b=i(674),w=i(39951).Study,P=i(73228).StudyStub,C=i(17e3).isStudy,T=i(76117).LineDataSource,x=i(67945),I=x.isLineTool,M=x.isStudyLineTool,L=i(46374),A=L.Action,k=(L.Separator,i(34449).ACTION_ID),E=(i(17722).ToolboxType,i(15521)),D=i(35001).Interval,V=i(25436),B=V.getDefaultStyle,N=V.hasVolume,R=i(41543).showSymbolInfoDialog,O=i(47329).InvalidationMask,F=i(47329).InvalidationLevel,W=i(24287).linking,H=i(21273).showChangeIntervalDialogAsync,z=i(96811),U=z.activateKeyPressHandler,j=z.showDialog,G=i(94975),q=G.availableTimezones,Y=G.timezoneIsAvailable,$=i(35036).toggleHideMode,K=i(50388).ChartSession,X=i(85062),Z=i(23214).Spinner,J=i(87438).trackEvent,Q=i(87910).lastMouseOrTouchEventInfo,ee=i(83265).LoadingScreen,te=i(18130),ie=i(65447).getLogger("ChartWidget",{color:"#606"}),se=i(22675).appendEllipsis,re=i(27640).StudyMetaInfoRepository,ne=i(1799).isMultipleLayout,oe=i(73305).addPerfMark,ae=i(18437),le=i(69881).combineProperty,ce=i(83233).ChartWidgetBase,he=i(43367).CheckMobile.any(),de=i(89077).TIMEFRAMETYPE,ue=i(61389).createDeferredPromise,pe=i(92932).addPlusButtonProperty;var _e=new n("change resolution",r("change resolution")),me=new n("change timezone",r("change timezone")),ge=new n("scale price chart only",r("scale price chart only")),fe=new n("stay in drawing mode",r("stay in drawing mode")),ve=(new n("hide all drawing tools",r("hide all drawing tools")),new n("hide marks on bars",r("hide marks on bars"))),Se=new n("change symbol last value visibility",r("change symbol last value visibility")),ye=(new n("change symbol previous close value visibility",r("change symbol previous close value visibility")),new n("change previous close price line visibility",r("change previous close price line visibility")),new n("change symbol labels visibility",r("change symbol labels visibility"))),be=new n("change indicators name labels visibility",r("change indicators name labels visibility")),we=new n("change indicators value labels visibility",r("change indicators value labels visibility")),Pe=(new n("change bid and ask labels visibility",r("change bid and ask labels visibility")),new n("change bid and ask lines visibility",r("change bid and ask lines visibility")),new n("change pre/post market price label visibility",r("change pre/post market price label visibility")),new n("change pre/post market price line visibility",r("change pre/post market price line visibility")), +new n("change high and low price lines visibility",r("change high and low price lines visibility"))),Ce=new n("change high and low price labels visibility",r("change high and low price labels visibility")),Te=new n("change countdown to bar close visibility",r("change countdown to bar close visibility")),xe=new n("change currency label visibility",r("change currency label visibility")),Ie=new n("change unit label visibility",r("change unit label visibility")),Me=new n("change plus button visibility",r("change plus button visibility")),Le=new n("change price line visibility",r("change price line visibility")),Ae=new n("hide {title}",r("hide {title}")),ke=new n("unlock {title}",r("unlock {title}")),Ee=new n("lock {title}",r("lock {title}")),De=new n("change session breaks visibility",r("change session breaks visibility")),Ve=r("On the left"),Be=r("On the right"),Ne=r("Move scale to left"),Re=r("Move scale to right");class Oe extends ce{constructor(e,t,i){super(e,t,i),this._options.timeScaleWidget&&(this._options.timeScaleWidget.pressedMouseMoveScale=this._options.handleScale.axisPressedMouseMove.time);var r=this;this._startSpinner(this._options.container.value());var n=this._options.content,o=this._options.readOnly;this._removeMaximizeHotkey=null,r._hotkeys=v.createGroup({desc:"Chart actions",isDisabled:function(){return!r._isActive}});var a=this._options.containsData,l=this._options.onWidget,c=this._options.onCmeWidget;c&&ie.logWarn("[ChartWidget] 'onCmeWidget' option is depricated");var h=this._options.widgetCustomer,d=this._options.timezone,u=this._options.hideSymbolSearch,p=this._options.defSymbol,_=D.isValid(this._options.defInterval)?this._options.defInterval:void 0,m=parseInt(this._options.defStyle),g=V.isValidStyle(m)?m:void 0,f=this._options.defSessionId,S=void 0!==this._options.defTimeframe?{value:this._options.defTimeframe.toUpperCase(),type:de.PeriodBack}:void 0;this._chartWidgetCollection=this._options.chartWidgetCollection,this._content=n,this._initialLoading=this._options.initialLoading,this._readOnly=o,this._containsData=a,this._showChartEvents=!a&&this._options.chartEventsEnabled,this._defSymbol=p,this._defInterval=_,this._defTimeframe=S,this._defStyle=g,this._onWidget=!!l,this._compareSymbols=this._options.compareSymbols,this._onWidget&&(c?this._widgetCustomer="cme":h&&(this._widgetCustomer=h)),this._hideSymbolSearch=u,this._frameTime=30,this._model=null,this._metaInfo={},this._drawRafId=0,this._compareDialog=this._chartWidgetCollection.getCompareDialogRenderer();var y=this._contentSeriesProperties();y&&(p=y.symbol,_=y.interval),void 0===this._options.useUserChartPreferences&&(this._options.useUserChartPreferences=!0);var b=this._options.useUserChartPreferences?te.defaults("chartproperties.mainSeriesProperties"):te.factoryDefaults("chartproperties.mainSeriesProperties");this._properties.mainSeriesProperties.merge(b),this._properties.mainSeriesProperties.hasChild("esdBreaksStyle")&&this._properties.mainSeriesProperties.removeProperty("esdBreaksStyle"),_=_||b.interval||"D", +V.isValidStyle(g)||(g=V.isValidStyle(b.style)?b.style:B(D.isRange(_))),this._properties.mainSeriesProperties.merge({visible:!0,symbol:p||DEFAULT_SYMBOL,shortName:"",timeframe:"",onWidget:this._onWidget,interval:_,currencyId:null,unitId:null,style:g,sessionId:f,lineStyle:{styleType:te.factoryDefaults("chartproperties.mainSeriesProperties.lineStyle.styleType")}}),this._containsData&&this._properties.mainSeriesProperties.merge({showCountdown:!1}),d&&Y(d)&&this._properties.timezone.setValue(d),this._tagsChanged=new s,this._disconnected=new s,this._reconnectBailout=new s,this._connected=new s,this._onScroll=new s,this.chartWidgetInitialized=new s,this._chartSession=new K(ChartApiInstance),this._metaInfoRepository=new re(this._chartSession),this._timingsMeter=null,this._isActive=this._options.isActive,this._options.container.subscribe((function(e){r._setElement(e)}),{callWithLast:!0});var w=function(){r.resize()};this._options.width.subscribe(w),this._options.height.subscribe(w),this._options.visible.subscribe(this._updateTimingsMeterState.bind(this)),this._aboutToBeDestroyed=new s,this._actions=null,this._definitionsViewModel=null,this._backgroundTopColorSpawn=null,this._backgroundBottomColorSpawn=null,this._hintDefferedPromise=null,this._activeHint=null}isInitialized(){return Boolean(this._inited)}compareSymbols(){return this._compareSymbols}async _getChartPropertyDefinitionsViewModel(){if(null===this._definitionsViewModel){const{ChartPropertyDefinitionsViewModel:e}=await Promise.all([i.e(8680),i.e(5019),i.e(3596)]).then(i.bind(i,24249));if(this._isDestroyed)throw new Error("Chart widget already destroyed");await new Promise(e=>this.withModel(null,e)),null===this._definitionsViewModel&&(this._definitionsViewModel=new e(this.model(),this.properties(),this._options))}return this._definitionsViewModel}_initMaximizeHotkey(e){var t=this;function i(e){e.defaultPrevented||f.modifiersFromEvent(e)===f.Modifiers.Alt&&e.stopPropagation()}function s(e){e.defaultPrevented||f.modifiersFromEvent(e)===f.Modifiers.Alt&&(e.preventDefault(),e.stopPropagation(),t.toggleFullscreen())}return e.addEventListener("mousedown",i,!0),e.addEventListener("click",s,!0),function(){e.removeEventListener("mousedown",i,!0),e.removeEventListener("click",s,!0)}}toggleFullscreen(){var e=this.getResizerDetacher();e.fullscreenable.value()&&(e.fullscreen.value()?e.exitFullscreen():e.requestFullscreen())}_beginRequestActive(){var e=this._chartWidgetCollection.activeChartWidget.value()!==this;if(this._chartWidgetCollection.activeChartWidget.setValue(this),e){const e=Q();e.isTouch&&!e.stylus&&this._isLineToolModeExceptBrush()&&this.updateCrossHairPositionIfNeeded(),this._justActivated=!0}}_endRequestActive(){var e=this;this._justActivated&&setTimeout((function(){e._justActivated=!1}),0)}_requestActive(){this._beginRequestActive(),this._endRequestActive()}justActivated(){return this._justActivated}setTimezone(e){e&&Y(e)?this._properties.timezone.setValue(e):console.warn("Incorrect timezone: "+JSON.stringify(e))}getTimezone(){return this._properties.timezone.value() +}refreshMarks(){this.model().barsMarksSources().forEach((function(e){e.refreshData()}))}clearMarks(){this.model().barsMarksSources().forEach((function(e){e.clearMarks()}))}metaInfoRepository(){return this._metaInfoRepository}_init(){var e=this;this.hasModel()&&this.model().mainSeries().clearData(),this.initColors(),this._makeDefaultGui();var t=function(){e._checkObsoleteTimezone(),e._chartSession&&e._chartSession.connected()&&this._model.restart(),this._content&&(this.initColors(),this._updateGui(),this.update()),this._resizeHandler=function(){this._adjustSize(),this.paint()}.bind(this),this._resizeHandler(),this._parent.appendChild(this._mainDiv),this._spinner&&(this._spinner.stop(),delete this._spinner),this._keydownEventListener=function(e){27===e.which&&e.preventDefault()},window.addEventListener("keydown:chart_"+this._id,this._keydownEventListener),this._initBarsMarksSources(),this._activateSymbolSearchHotkeys(),this.model().timeScale().onScroll().subscribe(this,(function(){this._onScroll.fire()})),this._inited=!0}.bind(this),i=this._makeDefaultModel();void 0===i?t():i.then(t)}_activateSymbolSearchHotkeys(){this.readOnly()||this._hideSymbolSearch||U()}_checkObsoleteTimezone(){var e=this._properties.timezone.value();Y(e)||this._properties.timezone.setValue({UTC:"Etc/UTC",EST:"America/New_York",CST:"America/Chicago",PST:"America/Los_Angeles"}[e]||"exchange")}initColors(){this._properties.scalesProperties.lineColor.listeners().subscribe(this,Oe.prototype.setScaleLineColor),this._properties.scalesProperties.textColor.listeners().subscribe(this,Oe.prototype.setScaleTextColor)}_initBackgroundColor(){null===this._backgroundTopColorSpawn&&(this._backgroundTopColorSpawn=this._model.model().backgroundTopColor().spawn(),this._backgroundTopColorSpawn.subscribe(this._onBackgroundColorChanged.bind(this))),null===this._backgroundBottomColorSpawn&&(this._backgroundBottomColorSpawn=this._model.model().backgroundColor().spawn(),this._backgroundBottomColorSpawn.subscribe(this._onBackgroundColorChanged.bind(this)))}paneWidgets(){return this._paneWidgets}paneByCanvas(e){for(var t=0;t{e=e||i.getCurrentTheme().name,i.loadTheme(e,!0,!0,t._chartWidgetCollection)})}actions(){return null===this._actions&&this._setActions(),this._actions}_setActions(){this._actions&&this._actions.addToWatchlist&&(this._actions.addToWatchlist.destroy(),delete this._actions.addToWatchlist);var e,t=this;this._readOnly,this._hotkeys.add({desc:"Maximize",hotkey:v.Modifiers.Alt+13,handler:function(){t.toggleFullscreen()},isDisabled:function(){return!t._options.fullscreenable.value()}}),this._hotkeys.add({desc:"Cancel selection",hotkey:27,handler:function(){t.selectPointMode().value()?t.cancelRequestSelectPoint():t._model.selectionMacro((function(e){t._cancelCreatingLine(),e.clearSelection()}))},isDisabled:function(){var e=0===t._model.selection().allSources().length,i=null===t._model.crossHairSource().measurePane(),s=!t.selectPointMode().value(),r=e&&i&&s;return!t._model||r}}),t.withModel(null,(function(){var e=function(){t._hotkeys.promote()} +;t._model.onSelectedSourceChanged().subscribe(null,e),t._model.crossHairSource().measuringEnabled().subscribe(null,t=>{t&&e()})}));var s=new A({actionId:k.ChartScalesReset,label:r("Reset chart"),icon:i(97033),statName:"ResetChart",onExecute:this.GUIResetScales.bind(this),hotkeyGroup:this._hotkeys,hotkeyHash:v.Modifiers.Alt+82}),n=new A({actionId:k.ChartSeriesPriceScaleToggleInvertPriceScale,label:r("Invert scale"),statName:"Invert Scale",checkable:!0,onExecute:function(){t._model.invertPriceScale(t._model.mainSeries().priceScale())},hotkeyGroup:this._hotkeys,hotkeyHash:v.Modifiers.Alt+73}),o=new A({actionId:k.ChartSeriesPriceScaleToggleAutoScale,label:r("Auto (fits data to screen)"),checkable:!0,onExecute:function(){var e=t._model.mainSeries().priceScale();t._model.togglePriceScaleAutoScaleMode(e),o.update({checked:e.isAutoScale()})}}),a=new A({actionId:k.ChartScalesToggleLockPriceToBarRatio,label:r("Lock price to bar ratio"),checkable:!0,statName:"ToggleLockScale",onExecute:function(){t._model.togglePriceScaleLockScaleMode(t._model.mainSeries().priceScale())}}),l=new A({actionId:k.ChartSeriesPriceScaleToggleRegular,label:r("Regular"),checkable:!0,statName:"ToggleRegularScale",onExecute:function(){var e=t._model.mainSeries().priceScale();t._model.setPriceScaleRegularScaleMode(e),l.update({checked:e.isRegular()})}}),c=new A({actionId:k.ChartSeriesPriceScaleTogglePercentage,label:r("Percent"),checkable:!0,statName:"TogglePercantage",onExecute:function(){t._model.togglePriceScalePercentageScaleMode(t._model.mainSeries().priceScale())},hotkeyGroup:this._hotkeys,hotkeyHash:v.Modifiers.Alt+80}),h=new A({actionId:k.ChartSeriesPriceScaleToggleIndexedTo100,label:r("Indexed to 100"),checkable:!0,statName:"ToggleIndexedTo100",onExecute:function(){t._model.togglePriceScaleIndexedTo100ScaleMode(t._model.mainSeries().priceScale())}}),d=new A({actionId:k.ChartSeriesPriceScaleToggleLogarithmic,label:r("Logarithmic"),statName:"ToggleLogScale",checkable:!0,onExecute:function(){t._model.togglePriceScaleLogScaleMode(t._model.mainSeries().priceScale())},hotkeyGroup:this._hotkeys,hotkeyHash:v.Modifiers.Alt+76}),S=new A({actionId:k.ChartUndo,label:r("Undo"),onExecute:function(){J("GUI","Undo"),t._model.undoHistory().undo()},disabled:!0,hotkeyGroup:this._hotkeys,hotkeyHash:v.Modifiers.Mod+90}),y=new A({actionId:k.ChartRedo,label:r("Redo"),onExecute:function(){J("GUI","Redo"),t._model.undoHistory().redo()},disabled:!0,hotkeyGroup:this._hotkeys,hotkeyHash:v.Modifiers.Mod+89});t.withModel(null,(function(){t._model.undoHistory().undoStack().onChange().subscribe(t,t.updateUndoRedo),t._model.undoHistory().redoStack().onChange().subscribe(t,t.updateUndoRedo)}));var w=new A({actionId:k.ChartChangeTimeZone,label:r("Time zone"),statName:"TimeZone"}),P=new A({actionId:k.ChartDialogsShowChangeSymbol,label:se(r("Change Symbol")),statName:"ChangeSymbol",onExecute:function(){j({defaultValue:""})}});_("symboledit.dialog_last_entry","");var C={actionId:k.ChartDialogsShowChangeInterval,label:se(r("Change interval")),statName:"ChangeInterval", +onExecute:function(){H({initVal:W.interval.value(),selectOnInit:!0})}};!u.enabled("show_interval_dialog_on_key_press")||this.readOnly()||this._hideSymbolSearch||(C.shortcutHint=",",C.hotkeyGroup=this._hotkeys,C.hotkeyHash=188);var T,x=new A(C);if(!TradingView.onWidget()){if(this._options.addToWatchlistEnabled){const e={hotkeyGroup:this._hotkeys};T=new WatchListAction(this,e)}0}var I=new A({actionId:k.ChartTimeScaleReset,label:r("Reset time scale"),icon:i(97033),statName:"ResetScale",onExecute:function(){t.model().resetTimeScale()},hotkeyGroup:this._hotkeys,hotkeyHash:v.Modifiers.Mod+v.Modifiers.Alt+81}),M=new A({actionId:k.ChartRemoveAllIndicators,label:r("Remove indicators"),statName:"RemoveAllIndicators",onExecute:this.removeAllStudies.bind(this)}),L=new A({actionId:k.ChartRemoveAllLineTools,label:r("Remove drawings"),statName:"RemoveAllDrawingTools",onExecute:this.removeAllDrawingTools.bind(this)}),D=new A({actionId:k.ChartRemoveAllIndicatorsAndLineTools,label:r("All indicators and drawing tools"),statName:"RemoveAllIndicatorsAndDrawingTools",onExecute:this.removeAllStudiesDrawingTools.bind(this)}),V=this.chartWidgetCollection(),B=new A({actionId:k.ChartApplyIndicatorsToAllCharts,label:r("Apply these indicators to entire layout"),statName:"ApplyIndicatorsToAllCharts",onExecute:function(){V.applyIndicatorsToAllCharts(t)}}),N={actionId:k.ChartDialogsShowInsertIndicators,label:se(r("Insert indicator")),statName:"InsertIndicator",onExecute:function(){t.showIndicators()}};this._options.indicatorsDialogShortcutEnabled&&(N.hotkeyGroup=this._hotkeys,N.hotkeyHash=191,this._hotkeys.add({handler:function(){this.showIndicators()}.bind(this),desc:"Show insert indicator dialog",hotkey:111}));var F,z=new A(N),U=new A({actionId:k.ChartDialogsShowCompareOrAddSymbol,label:se(r("Compare or Add Symbol")),statName:"CompareOrAddSymbol",onExecute:this.toggleCompareOrAdd.bind(this)}),G=new A({actionId:k.ChartObjectTreeShow,label:se(r("Object Tree")),statName:"ObjectsTree",onExecute:this.showObjectsTreePanelOrDialog.bind(this)}),q=new A({actionId:k.ChartDialogsShowGeneralSettings,label:se(r("Settings")),icon:i(78544),statName:"ChartProperties",onExecute:function(){t.showGeneralChartProperties()}}),Y=new A({actionId:k.ChartDialogsShowGeneralSettingsSymbolTab,label:se(r("Settings")),icon:i(78544),statName:"MainSeriesProperties",onExecute:function(){t.showGeneralChartProperties(m.symbol)}}),K=new A({actionId:k.ChartSelectedObjectToggleLocked,label:r("Lock/unlock"),statName:"ToggleLockSelectedObject",onExecute:this.toggleLockSelectedObject.bind(this)}),X=new A({actionId:k.ChartSelectedObjectHide,label:r("Hide"),icon:i(62781),statName:"HideSelectedObject",onExecute:this.hideSelectedObject.bind(this)});u.enabled("property_pages")&&(F=new A({actionId:k.ChartSelectedObjectShowSettingsDialog,label:se(r("Settings")),icon:i(78544),statName:"EditSelectedObject",onExecute:function(){t.showSelectedSourcesProperties()}})),this.withModel(null,(function(){var e=t.model().mainSeries(),i=e.properties() +;i.priceAxisProperties.subscribe(t,t._updateScalesActions),e.priceScaleAboutToBeChanged().subscribe(t,(function(){i.priceAxisProperties.unsubscribeAll(t)})),e.priceScaleChanged().subscribe(t,(function(){i.priceAxisProperties.subscribe(t,t._updateScalesActions),t._updateScalesActions()}))}));var Z=new A({actionId:k.ChartPriceScaleToggleAutoScaleSeriesOnly,label:r("Scale price chart only"),checkable:!0,statName:"ScalePriceChartOnly"});Z.binder=new p(Z,this._properties.scalesProperties.scaleSeriesOnly,this.model(),ge);var Q=this.model().model();this._properties.scalesProperties.scaleSeriesOnly.listeners().subscribe(null,(function(){Q.recalculateAllPanes(),Q.invalidate(O.full())}));var ee=new A({actionId:k.ChartDrawingToolbarToggleVisibility,label:r("Drawings toolbar"),checkable:!0,statName:"ToggleDrawingToolbar"}),te=this._options.isDrawingToolbarVisible;te&&(te.subscribe((function(e){ee.update({checked:e})}),{callWithLast:!0}),ee.update({onExecute:function(){te.setValue(!te.value())}}));var ie=new A({actionId:"",label:r("Stay in drawing mode"),checkable:!0,statName:"ToggleStayInDrawingMode"});ie.binder=new p(ie,E.properties().stayInDrawingMode,this.model(),fe),this._hotkeys.add({handler:function(){$()},desc:"Hide all drawing tools",hotkey:v.Modifiers.Mod+v.Modifiers.Alt+72});var re=new A({actionId:k.ChartMarksToggleVisibility,label:r("Hide marks on bars"),checkable:!0,statName:"ToggleHideMarksOnBars"});re.binder=new p(re,E.hideMarksOnBars(),this.model(),ve,(function(){E.hideMarksOnBars().setValue(this.value())}));const ne=this.properties().scalesProperties;var oe=new A({actionId:k.ChartPriceScaleLabelsToggleSeriesLastValueVisibility,label:r("Symbol last price label"),checkable:!0,checked:!1,statName:"ToggleSymbolLastValue"});oe.binder=new p(oe,ne.showSeriesLastValue,this.model(),Se);var ae=new A({actionId:k.ChartPriceScaleLabelsToggleSymbolNameLabelsVisibility,label:r("Symbol name label"),checkable:!0,checked:!1,statName:"ToggleSymbolLabels"});ae.binding=new p(ae,ne.showSymbolLabels,this.model(),ye);const ce=le((e,t)=>e||!1,ne.showStudyLastValue,ne.showFundamentalLastValue);var he=new A({actionId:k.ChartPriceScaleLabelsToggleIndicatorsValueLabelsVisibility,label:r("Indicators value labels"),checkable:!0,checked:!1,statName:"ToggleStudiesAndFundamentalsPriceLabels"});he.binder=new p(he,ce,this.model(),null,()=>{const e=!ce.value();this.model().beginUndoMacro(we),this.model().setProperty(ne.showStudyLastValue,e,null),this.model().endUndoMacro()});const de=le((e,t)=>e||!1,ne.showStudyPlotLabels,ne.showFundamentalNameLabel);var ue=new A({actionId:k.ChartPriceScaleLabelsToggleIndicatorsNameLabelsVisibility,label:r("Indicators name labels"),checkable:!0,checked:!1,statName:"ToggleStudiesAndFundamentalsNameLabels"});ue.binding=new p(ue,de,this.model(),null,()=>{const e=!de.value();this.model().beginUndoMacro(be),this.model().setProperty(ne.showStudyPlotLabels,e,null),this.model().endUndoMacro()});var _e=this.model().mainSeries().properties().highLowAvgPrice,me=new A({ +actionId:k.ChartPriceScaleLabelsToggleHighLowPriceLabelsVisibility,label:r("High and low price labels"),checkable:!0,checked:!1,statName:"ToggleHighLowAverageClosePriceLabels"});const Ae=le((e,t)=>e||t,_e.highLowPriceLabelsVisible,new b(!1));me.binding=new p(me,Ae,this.model(),null,()=>{const e=!Ae.value();this.model().beginUndoMacro(Ce),this.model().setProperty(_e.highLowPriceLabelsVisible,e,null),this.model().endUndoMacro()});const ke=le((e,t)=>e||t,_e.highLowPriceLinesVisible,new b(!1));var Ee=new A({actionId:k.ChartLinesToggleHighLowLinesVisibility,label:r("High and low price lines"),checkable:!0,checked:!1,statName:"ToggleHighLowPriceLine"});Ee.binding=new p(Ee,ke,this.model(),null,()=>{const e=!ke.value();this.model().beginUndoMacro(Pe),this.model().setProperty(_e.highLowPriceLinesVisible,e,null),this.model().endUndoMacro()});var De=new A({actionId:k.ChartPriceScaleToggleCountdownToBarCloseVisibility,label:r("Countdown to bar close"),checkable:!0,checked:!1,statName:"ToggleCountdown"});De.binder=new p(De,this.model().mainSeries().properties().showCountdown,this.model(),Te);var Oe=new A({actionId:k.ChartPriceScaleToggleCurrencyVisibility,label:r("Currency"),checkable:!0,checked:!0,statName:"ToggleScalesCurrency"});Oe.binder=new p(Oe,ne.showCurrency,this.model(),xe);var Fe=new A({actionId:k.ChartPriceScaleToggleUnitVisibility,label:r("Unit"),checkable:!0,checked:!0,statName:"ToggleScalesUnit"});Fe.binder=new p(Fe,ne.showUnit,this.model(),Ie);var We=new A({actionId:k.ChartPriceScaleToggleAddOrderPlusButtonVisibility,label:r("Plus button"),checkable:!0,checked:pe.value(),statName:"ToggleAddOrderPlusButton"});We.binder=new p(We,pe,this.model(),Me);var He=null;this._options.goToDateEnabled&&(He=new A({actionId:k.ChartDialogsShowGoToDate,label:se(r("Go to date")),statName:"GoToDate",onExecute:function(){var e=t._chartWidgetCollection.activeChartWidget.value();g(e)},hotkeyGroup:this._hotkeys,hotkeyHash:v.Modifiers.Alt+71}));var ze=new A({actionId:k.ChartDialogsShowSymbolInfo,label:se(r("Symbol info")),icon:i(96527),checkable:!1,statName:"SymbolInfo",onExecute:function(){var e=t.model().mainSeries().symbol(),i=t.model().mainSeries().symbolInfo(),s=t.model().model().availableUnits(),r=t.model().model().unitConversionEnabled();R(e,{symbolInfo:i,showUnit:r,unitName:function(e){return s.name(e)}})}}),Ue=new A({actionId:k.ChartPriceScaleMergeAllScalesToLeft,label:Ve,statName:"MergeAllScalesToLeft",onExecute:function(){t.model().mergeAllScales("left")}}),je=new A({actionId:k.ChartPriceScaleMergeAllScalesToRight,label:Be,statName:"MergeAllScalesToRight",onExecute:function(){t.model().mergeAllScales("right")}}),Ge=new A({actionId:k.ChartPriceScaleMoveToLeft,label:Ne,statName:"MoveScaleToLeft",onExecute:function(){t.model().mergeAllScales("left")}}),qe=new A({actionId:k.ChartPriceScaleMoveToRight,label:Re,statName:"MoveScaleToRight",onExecute:function(){t.model().mergeAllScales("right")}});var Ye=u.enabled("show_object_tree");if(this._actions={chartProperties:q,mainSeriesPropertiesAction:Y,timeScaleReset:I,chartReset:s, +invertSeriesScale:n,logSeriesScale:d,autoSeriesScale:o,lockSeriesScale:a,regularSeriesScale:l,percentSeriesScale:c,indexedTo100SeriesScale:h,compareOrAdd:U,paneObjectTree:Ye?G:void 0,insertIndicator:z,symbolSearch:P,showSymbolInfoDialog:ze,changeInterval:x,seriesHide:X,studyHide:X,lineToggleLock:K,lineHide:X,scaleSeriesOnly:Z,drawingToolbarAction:ee,stayInDrawingModeAction:ie,hideAllMarks:re,applyTimeZone:w,showCountdown:De,showCurrency:Oe,showUnit:Fe,addPlusButton:We,showSeriesLastValue:oe,showHighLowAverageClosePriceLabels:me,showHighLowAverageClosePriceLines:Ee,showSymbolLabelsAction:ae,showStudyLastValue:he,showStudyPlotNamesAction:ue,undo:S,redo:y,mergeLeftScalesAction:Ue,mergeRightScalesAction:je,moveScaleToLeft:Ge,moveScaleToRight:qe,moveChartAction:void 0},e&&(this._actions.scalesProperties=e),T&&(this._actions.addToWatchlist=T),u.enabled("show_source_code")&&(this._actions.viewSourceCode=new TVAction({label:se(r("Source code")),statName:"OpenSelectedObjectSource",onExecute:this.openSelectedObjectSource.bind(this)})),!TradingView.onWidget()&&u.enabled("text_notes")&&(this._actions.addToTextNotes=void 0),null!==He&&(this._actions.gotoDate=He),this.createSessionBreaksActions(),!this.readOnly()){var $e=new A({actionId:k.ChartSelectedObjectRemove,label:r("Remove"),icon:i(23353),statName:"RemoveSelectedObject",onExecute:function(){var e=this._chartWidgetCollection.activeChartWidget.value();e||(e=this),e.removeSelectedSources()}.bind(this),hotkeyGroup:this._hotkeys,hotkeyHash:f.isMacKeyboard?8:46});this._hotkeys.add({handler:function(){this.removeSelectedSources()}.bind(this),desc:"Remove selected source",hotkey:f.isMacKeyboard?46:8}),this._actions.paneRemoveAllStudies=M,this._actions.paneRemoveAllDrawingTools=L,this._actions.paneRemoveAllStudiesDrawingTools=D,this._actions.applyStudiesToAllCharts=B,this._actions.studyRemove=$e,this._actions.lineRemove=$e,u.enabled("property_pages")&&(this._actions.format=F)}this._actions.showPriceLine=new A({actionId:k.ChartLinesToggleSeriesPriceLineVisibility,label:r("Price line"),checkable:!0,statName:"TogglePriceLine"}),this._actions.showPriceLine.binding=new p(this._actions.showPriceLine,this.model().mainSeries().properties().showPriceLine,this.model(),Le),this.readOnly()||(this._hotkeys.add({desc:"Draw Horizontal Line here",hotkey:v.Modifiers.Alt+72,handler:function(){t.activePaneWidget&&t.activePaneWidget.drawRightThere("LineToolHorzLine")}}),this._hotkeys.add({desc:"Draw Horizontal Ray here",hotkey:v.Modifiers.Alt+74,handler:function(){t.activePaneWidget&&t.activePaneWidget.drawRightThere("LineToolHorzRay")}}),this._hotkeys.add({desc:"Draw Vertical Line here",hotkey:v.Modifiers.Alt+86,handler:function(){t.activePaneWidget&&t.activePaneWidget.drawRightThere("LineToolVertLine")}}),this._hotkeys.add({desc:"Draw Cross Line here",hotkey:v.Modifiers.Alt+67,handler:function(){t.activePaneWidget&&t.activePaneWidget.drawRightThere("LineToolCrossLine")}}),this._hotkeys.add({desc:"Draw Trend Line",hotkey:v.Modifiers.Alt+84,handler:function(){ +t.activePaneWidget&&E.tool.setValue("LineToolTrendLine")}}),this._hotkeys.add({desc:"Draw Fib Retracement",hotkey:v.Modifiers.Alt+70,handler:function(){t.activePaneWidget&&E.tool.setValue("LineToolFibRetracement")}})),this._updateScalesActions()}options(){return this._options}executeActionById(e){if("takeScreenshot"===e)return console.warn('Action "takeScreenshot" is deprecated. Use method "takeScreenshot" instead'),void this._chartWidgetCollection.takeScreenshot();e in this._actions?this._actions[e]instanceof A&&this._actions[e].execute():console.warn("Unknown action id: "+e)}getCheckableActionState(e){if(e in this._actions){var t=this._actions[e];if(t instanceof A&&t.isCheckable())return t.isChecked();console.warn("Action "+e+" has no state")}else console.warn("Unknown action id: "+e);return null}_updateScalesActions(){if(null!==this._actions){var e=this.model().mainSeries(),t=e.priceScale(),i=e.properties(),s=t.isLockScale(),r=i.style.value()===d.STYLE_PNF;this._actions.percentSeriesScale.update({disabled:s||r,checked:t.isPercentage()}),this._actions.logSeriesScale.update({disabled:s||r,checked:t.isLog()}),this._actions.regularSeriesScale.update({disabled:s||r,checked:t.isRegular()}),this._actions.indexedTo100SeriesScale.update({disabled:s||r,checked:t.isIndexedTo100()}),this._actions.invertSeriesScale.update({checked:t.isInverted()}),this._actions.lockSeriesScale.update({checked:t.isLockScale()}),this._actions.autoSeriesScale.update({checked:t.isAutoScale(),disabled:t.properties().autoScaleDisabled.value()})}}removeAllStudies(){this._model.removeAllStudies()}removeAllDrawingTools(){this._model.removeAllDrawingTools()}removeAllStudiesDrawingTools(){this._model.removeAllStudiesAndDrawingTools()}defaultSymbol(){return this._defSymbol}connect(){this._handler=function(e){this._onData(e)}.bind(this),this._boundOnChartSessionIsConnectedChanged=this._onChartSessionIsConnectedChanged.bind(this),this._chartSession.isConnected().subscribe(this._boundOnChartSessionIsConnectedChanged),this._chartSession.criticalError().subscribe(this,this._onChartSessionCriticalError),this._chartSession.connect(this._handler)}finishInitWithoutConnect(){this._chartSession.disable(),this._init(),this.chartWidgetInitialized.fire()}reconnect(){this._chartSession.disconnect(),this._chartSession.connect()}update(){if(this._model){for(var e=0;eF.Cursor&&this._timeAxisWidget.update(),this.paint(e),this._dataWindowWidget){var s=e.maxPaneInvalidation();s===F.Full?this._dataWindowWidget.fullUpdate():s>F.None&&this._dataWindowWidget.update()}for(var r=0;r0;)for(var t=this._content.panes[e].sources,i=t.length;i-- >0;)if("MainSeries"===t[i].type)return t[i].state}updateUndoRedo(){this._model&&(this.actions().undo.update({disabled:this._model.undoHistory().undoStack().isEmpty()}),this.actions().redo.update({disabled:this._model.undoHistory().redoStack().isEmpty()}))}createSessionBreaksActions(){var e=new A({actionId:k.ChartSessionBreaksToggleVisibility,label:r("Session breaks"),checkable:!0,statName:"ToggleSessionBreaks"});e.binder=new p(e,this._model.chartModel().sessions().properties().graphics.vertlines.sessBreaks.visible,this.model(),De),this._actions.sessionBreaks=e} +updateActionForIntradayOnly(e){e&&e instanceof A&&e.update({disabled:this.model().mainSeries().isDWM()})}containsVolume(){return this.model().dataSources().some((function(e){return e instanceof w&&"Volume"===e.metaInfo().shortId}))}containsStudyByPredicate(e){return!!this._model&&this._model.dataSources().some((function(t){if(!(t instanceof w))return!1;var i=t.metaInfo();return e(i)}))}containsStudy(e){return this.containsStudyByPredicate((function(t){return t.id===e||t.fullId===e}))}isSmall(){return this._width()<550||this._height()<300}onWidget(){return this._onWidget}onCmeWidget(){return"cme"===this.widgetCustomer()}widgetCustomer(){return this._widgetCustomer}resize(){var e=this._height()+"px",t=this._width()+"px";this._mainDiv.style.height=e,this._mainDiv.style.width=t,this._elMainTable.style.height=e,this._elMainTable.style.width=t,this._resizeHandler&&this._mainDiv&&this._resizeHandler()}chartSession(){return this._chartSession}onLineCancelled(){E.resetToCursor()}_startSpinner(e){this._spinner||e&&(this._spinner=(new Z).spin(e))}isJustClonedChart(){return!!(this._options||{}).justCloned}applyOverrides(e){var t={};for(var i in e)i.startsWith("mainSeriesProperties.priceAxisProperties")||(t[i]=e[i]);if(applyPropertiesOverrides(this.properties(),null,!1,t,null),this._model){applyPropertiesOverrides(this._model.model().properties(),null,!1,t),applyPropertiesOverrides(this._model.mainSeries().properties(),null,!1,t,"mainSeriesProperties"),this._model.model().sessions().applyOverrides(t);const e=this._model.chartModel().watermarkSource();null!==e&&e.applyOverrides(t)}}applyStudiesOverrides(e){X.mergeDefaultsOverrides(e),this._applyStudiesOverrides()}setActive(e){this._isActive=e,Q().isTouch&&(e&&this.selectPointMode().value()?this.startTrackingMode():this.exitTrackingMode()),this._paneWidgets.forEach((function(e){e.update()})),e||this.model().selectionMacro((function(e){e.clearSelection()}))}isActive(){return this._isActive}trackTime(){return this._chartWidgetCollection.lock.trackTime}crossHairSyncEnabled(){return this._chartWidgetCollection.lock.crosshair.value()}isMultipleLayout(){return ne(this._chartWidgetCollection.layout.value())}selectPointMode(){return this._model.model().selectPointMode()}cancelRequestSelectPoint(){this._model.model().cancelRequestSelectPoint()}requestSelectPoint(e,t){var i=this;return new Promise((function(s,r){if(a()){E.resetToCursor(!0),i._model.lineBeingCreated()&&i._model.cancelCreatingLine();var n=!1,o={};i._model.model().onPointSelected().subscribe(o,(function(e,t){n=!0,i._isVisible.unsubscribe(a),i._hideHint(),s({point:e,pane:t})}),!0),i._model.model().requestSelectPoint(e),i.startTrackingMode(),void 0!==t&&i._showHint(t),i._isVisible.subscribe(a),i.selectPointMode().subscribe((function(){setTimeout((function(){n||(i.selectPointMode().value()||i._hideHint(),i._model.model().onPointSelected().unsubscribeAll(o),i._isVisible.unsubscribe(a),r("cancelled"))}))}),{once:!0})}function a(){return!!i.isVisible()||(r("Chartwidget must be visible"),i.cancelRequestSelectPoint(),!1)}}))} +showReplayOrderConfirmationDialog(){if(!this.model().isInReplay())return Promise.resolve()}_addPerfMark(e){oe("ChartWidget."+this._id+"."+e)}requestFullscreen(){this._options.requestFullscreen()}getResizerDetacher(){return this._options}_createHint(){if(null===this._hintDefferedPromise){var e=ue();this._hintDefferedPromise=e;var t=this;Promise.all([i.e(5453),i.e(5514),i.e(6166)]).then(i.bind(i,25057)).then((function(i){e.resolve(new i.ChartEventHintRenderer(t._chartWidgetCollection.getContainer()))}))}return this._hintDefferedPromise?l(this._hintDefferedPromise).promise:null}_showHint(e){if(u.enabled("popup_hints"))if(null!==this._activeHint)this._activeHint.show(e);else{var t=this,i=this._createHint();null!==i&&i.then((function(i){if(null!==i){if(t._activeHint=i,void 0===e)return;t._activeHint.show(e)}}))}}_hideHint(){null!==this._activeHint&&this._activeHint.hide()}}e.exports.ChartWidget=Oe,e.exports.trackingModeIsAvailable=he},4184:(e,t,i)=>{"use strict";var s=i(16282).ensureNotNull,r=i(70635).applyOverridesToStudy,n=i(85062),o=i(24947),a=o.LineDataSourceApi,l=o.isLineToolRiskReward,c=i(52703).StudyApi,h=i(90920).SeriesApi,d=i(9062).SelectionApi,u=i(23605).PaneApi,p=i(63059).createDwmAligner,_=i(35001).Interval,m=i(85125).supportedLineTools,g=i(97102).showTooManyStudiesNotice,f=i(47903),v=f.isNumber,S=f.deepEquals,y=i(67945).createLineToolProperties,b=i(67945).prepareLineToolPropertiesByOwnerSource,w=i(73900).lineToolEntityInfo,P=i(75798).LineToolsGroupControllerApi,C=i(40597).RemoveSourcesCommand,T=i(33033).isLineDrawnWithPressedButton,x=i(30566).ChartWidgetApiBase,I=i(15521);i(87438).trackEvent;function M(e,t){return t.map((function(t){return e.dataSourceForId(t)}))}e.exports=class extends x{constructor(e,t){super(e,t),this._panes=new WeakMap,this._studies=new WeakMap,this._lineDataSources=new WeakMap,this._selectionApi=null,this._prevVisibleRange=null,this._chartWidget.onAboutToBeDestroyed().subscribe(this,this._destroy,!0),this._chartWidget.withModel(this,(function(){this._chartWidget.model().timeScale().logicalRangeChanged().subscribe(this,this._onLogicalRangeChanged)}))}id(){return this._chartWidget.id()}_getPaneApi(e){var t=this._panes.get(e);return void 0===t&&(t=new u(e,this._chartWidget),this._panes.set(e,t)),t}_getStudyApi(e){var t=this._studies.get(e);return void 0===t&&(t=new c(e,this._chartWidget),this._studies.set(e,t)),t}_getLineDataSourceApi(e){var t=this._lineDataSources.get(e);return void 0===t&&(t=new a(e,this._chartWidget.model().model(),{apiPointsToDataSource:this._convertUserPointsToDataSource.bind(this),dataSourcePointsToPriced:e=>{var t=this._chartWidget.model().mainSeries().syncModel(),i=this._chartWidget.model().timeScale();return e.map(e=>{var s=i.normalizeBarIndex(e.index);return{price:e.price,time:this._convertTimeToPublic(t.projectTime(s.time_t,s.offset))}})}}),this._lineDataSources.set(e,t)),t}executeActionById(e){this._chartWidget.executeActionById(e)}getCheckableActionState(e){return this._chartWidget.getCheckableActionState(e)}setZoomEnabled(e){ +this._chartWidget.model().model().setZoomEnabled(e)}setScrollEnabled(e){this._chartWidget.model().model().setScrollEnabled(e)}refreshMarks(){this._chartWidget.refreshMarks()}clearMarks(){this._chartWidget.clearMarks()}symbol(){return this._chartWidget.getSymbol()}symbolExt(){var e=this._chartWidget.model().mainSeries().symbolInfo();return e?{symbol:e.name,full_name:e.full_name,exchange:e.exchange,description:e.description,type:e.type,pro_name:e.pro_name,typespecs:e.typespecs}:null}resolution(){return this._chartWidget.model().mainSeries().properties().interval.value()}resetData(){this._chartWidget.model().mainSeries().rerequestData()}setEntityVisibility(e,t){console.warn("`setEntityVisibility` is deprecated. Use shape/study API instead");var i=this._chartWidget.model().model().dataSourceForId(e);if(i){var s=i.properties();s&&s.visible&&s.visible.setValue(t)}}availableZOrderOperations(e){var t=M(this._chartWidget.model().model(),e);return this._chartWidget.model().availableZOrderOperations(t)}sendToBack(e){var t=M(this._chartWidget.model().model(),e);this._chartWidget.model().sendToBack(t)}bringToFront(e){var t=M(this._chartWidget.model().model(),e);this._chartWidget.model().bringToFront(t)}insertAfter(e,t){var i=this._chartWidget.model().model(),s=M(i,e),r=i.dataSourceForId(t);this._chartWidget.model().insertAfter(s,r)}insertBefore(e,t){var i=this._chartWidget.model().model(),s=M(i,e),r=i.dataSourceForId(t);this._chartWidget.model().insertBefore(s,r)}bringForward(e){var t=M(this._chartWidget.model().model(),e);this._chartWidget.model().bringForward(t)}sendBackward(e){var t=M(this._chartWidget.model().model(),e);this._chartWidget.model().sendBackward(t)}showPropertiesDialog(e){var t=this._chartWidget.model().model().dataSourceForId(e);if(null===t)throw new Error("Study or shape "+e+" does not exist");this._chartWidget.showChartPropertiesForSource(t)}getAllShapes(){return this._chartWidget.model().model().allLineTools().map(w).filter((function(e){return null!==e.name}))}removeAllShapes(){this._chartWidget.removeAllDrawingTools()}removeAllStudies(){this._chartWidget.removeAllStudies()}removeEntity(e,t){var i=this._chartWidget.model().chartModel().dataSourceForId(e);i?t&&t.disableUndo?new C(this._chartWidget.model().chartModel(),[i],"").redo():this._chartWidget.model().removeSource(i,!0,!0):console.warn("Can't find a source with id: "+e)}removeEntityWithUndo(e){var t=this._chartWidget.model().chartModel().dataSourceForId(e);this._chartWidget.model().removeSource(t,!1)}selection(){return null===this._selectionApi&&(this._selectionApi=new d(this._chartWidget.model().model())),this._selectionApi}createStudyTemplate(e){return this._chartWidget.model().model().studyTemplate(e.saveSymbol,e.saveInterval)}drawOnAllCharts(e){I.drawOnAllCharts.setValue(e)}applyStudyTemplate(e){this._chartWidget.model().applyStudyTemplate(e,""+1e3*Math.random())}setVisibleRange(e,t){return new Promise(function(i){this._chartWidget.setVisibleTimeRange(e.from,e.to,t,i)}.bind(this))}getVisibleRange(){var e={from:0,to:0 +},t=this._chartWidget.model().timeScale();if(t.isEmpty())return e;var i=t.coordinateToVisibleIndex(0),s=t.coordinateToVisibleIndex(t.width()-1),r=this._convertIndexToPublicTime(s);return null===r||(e.from=this._convertIndexToPublicTime(Math.max(t.points().firstIndex(),i)),e.to=r),e}getVisiblePriceRange(){return console.warn("`getVisiblePriceRange` is deprecated. Use Price Scale API instead"),this._chartWidget.model().mainSeries()?this._chartWidget.model().mainSeries().priceScale().priceRangeInPrice():null}scrollPosition(){return console.warn("`scrollPosition` is deprecated. Use rightOffset from Time Scale API instead"),this._chartWidget.model().timeScale().rightOffset()}defaultScrollPosition(){return console.warn("`defaultScrollPosition` is deprecated. Use defaultRightOffset from Time Scale API instead"),this._chartWidget.model().timeScale().defaultRightOffset().value()}_createTradingPrimitive(e,t){var i=this;var r,n,o=this._chartWidget.model().model(),a=o.paneForSource(o.mainSeries());return(t?o:this._chartWidget.model()).createLineTool(a,(r=TradingView.CLOSE_PLOT,{index:(n=s(i._chartWidget.model().mainSeries().bars().last())).index,price:n.value[r]}),e)._adapter}createOrderLine(e){e=e||{};return this._createTradingPrimitive("LineToolOrder",e.disableUndo)}createPositionLine(e){e=e||{};return this._createTradingPrimitive("LineToolPosition",e.disableUndo)}createExecutionShape(e){e=e||{};return this._createTradingPrimitive("LineToolExecution",e.disableUndo)}createShape(e,t){return this.createMultipointShape([e],t)}_alignPoints(e){var t=this._chartWidget.model().model(),i=t.mainSeries(),s=i.interval();if(t.timeScale().isEmpty()||!_.isDWM(s))return e;var r=p(s,i.symbolInfo());return null===r?e:e.map((function(e){return r.timeToSessionStart(1e3*e)/1e3}))}_convertUserPointsToDataSource(e){var t=this._chartWidget.model().model(),i=t.mainSeries(),s=t.timeScale().points(),r=i.data();if(t.timeScale().isEmpty())return null;var n=e.map((function(e){return e.time||0})),o=this._alignPoints(n);function a(e,t,n){var o=s.closestIndexLeft(e)||0,a={index:o},l=s.valueAt(o);if(e>l&&o===s.lastIndex())(c=i.syncModel().distance(l,e)).success&&(a.index=a.index+c.result);else if(e2)throw new Error("Wrong points count for "+t.shape+". Required 1 or 2");2===h.length&&(p.startChanging(1,h[1]),p.setPoint(1,h[1]),p.endChanging())}else{var _=p.pointsCount();if(_!==h.length&&-1!==_)throw new Error("Wrong points count for "+t.shape+". Required "+_);for(var g=T(s.name),f=1;f{"use strict";var s=i(5729),r=i(16282).assert,n=i(79881).t,o=i(61389).createDeferredPromise,a=(n=i(79881).t,i(90963).TranslatedString),l=i(1799).layouts,c=i(18905),h=i(43367).supportTouch,d=i(43367).isEdge,u=i(80437).createUndoHistory,p=i(15521),_=i(60934),m=i(42998),g=i(18437),f=i(27490),v=i(55796).SetChartLayoutCommand,S=i(32856),y=i(30779).ResizerDetacherState,b=i(76456).delegateToPromise,w=i(23248).UserDefinedBarsMarks,P=i(1608).UserDefinedTimescaleMarks,C=i(65447).getLogger("Chart.ChartWidgetCollection"),T=i(39197).preventDefaultForContextMenu,x=(i(87438).trackEvent,i(41591).ChangeToolBarsThemeUndoCommand);const{getCurrentTheme:I}=i(99182) +;var M=i(74645),L=i(91840).rangesAreEqual,A=i(72087).GeneralChartPropertiesRenderer,k=i(1467).setLastUsedResolution,E=i(98489).CompareDialogRenderer,D=i(22900).isOnMobileAppPage,V=i(78102),B=V.applyIndicatorsToAllChartsImpl,N=V.applyIndicatorToAllChartsImpl,R=V.lineToolsAndGroupsDTOsImpl,O=V.getStateForChartImpl,F=V.resetLineToolsInvalidatedImpl,W=V.applyLineToolUpdateNotificationImpl,H=V.createClipboardHandler,z=V.chartsSymbolsImpl,U={saveChartEnabled:!0,takeScreenshotEnabled:!0,publishedChartsEnabled:!0},j=new a("symbol lock",n("symbol lock")),G=new a("interval lock",n("interval lock")),q=new a("track time",n("track time")),Y=new a("change symbol",n("change symbol")),$=new a("change resolution",n("change resolution")),K=new a("sync time",n("sync time")),X=new a("apply chart theme",n("apply chart theme")),Z=new a("change series style",n("change series style"));n("Detached chart"),n("Bar Replay isn't available for this chart type. Do you want to exit Bar Replay?");e.exports=function(e){var t=this,n=Object.assign({},U,e),a=1,J=2,Q=0,ee=0,te=new S,ie=n.readOnly||!1,se=[],re=0,ne=new S,oe=new S,ae=null,le="s",ce=new S,he=[],de=!1,ue=!1,pe=!1,_e=new S(!1),me=new S(!1),ge=new S(!1),fe=new S(TVSettings.getBool("chart.syncCrosshair",!0)),ve=_.createGroup({desc:"Layout"}),Se=null,ye=null,be=fe.value();fe.subscribe((function(e){be=e=!!e,TVSettings.setValue("chart.syncCrosshair",e);for(var t=0;t{const t=e.chartWidget.lineToolSynchronizer();return null!==t&&t.hasChanges().value()}))}function Re(){se.forEach((function(e){const t=e.chartWidget;t.onZoom().unsubscribeAll(this),t.onScroll().unsubscribeAll(this),t.withModel(null,()=>{const e=t.lineToolSynchronizer();null!==e&&(e.hasChanges().unsubscribe(Ne),Ne())})}))}var Oe,Fe=null,We=null,He=null;n.seriesControlBarEnabled&&(Oe=Q+ee+"px",(Fe=document.createElement("div")).style.left=Oe,Fe.style.right=Oe,Fe.style.bottom=Oe,Fe.classList.add("chart-toolbar","chart-controls-bar"),Ae.appendChild(Fe),Promise.all([i.e(3876),i.e(7610),i.e(4595),i.e(9448),i.e(3894),i.e(3996),i.e(7936),i.e(2273),i.e(6473),i.e(9843),i.e(1778),i.e(7607),i.e(167),i.e(5514),i.e(306),i.e(4940),i.e(1529),i.e(5383),i.e(7962),i.e(7260)]).then(i.bind(i,99740)).then(({BottomToolbarRenderer:e})=>{ +var i=n.resizerBridge,r=[i.container.spawn(),i.width.spawn(),i.height.spawn()],o=i.container.value(),a=new s,l=function(){a.fire()};r.forEach((function(e){e.subscribe(l)})),We=new e(Fe,a,(function(){var e=o.getBoundingClientRect(),t=Ge();return t.top=e.top+t.top,t.left=e.left+t.left,t}),t,ChartApiInstance,xe,n.seriesControlBar),He=function(){null!==We&&(We.destroy(),We=null,Fe.remove(),Fe=null),r.forEach((function(e){e.destroy()})),a.destroy()}}));var ze=new A(t),Ue=new E(t);function je(){return{undoHistory:Le,chartWidgetsDefs:se,chartsCountToSave:qe,actualLayoutCount:Ye,savedChartWidgetOptions:he,activeChartWidget:te,options:n,parent:Ae,toastsFactory:null,setChartStorageNotificationSubscription:e=>{ye=e},widgetOptions:xe}}function Ge(){var e=Q+ee,t=Fe?Fe.offsetHeight:0;return{width:Pe.value()-2*e,height:Ce.value()-a-t-e,top:a,left:e}}function qe(){return Ye()}function Ye(){return l[le].count}function $e(e,t,i,s,r){return O(je(),e,t,i,s,r)}function Ke(){var e;e=Te?[Te]:se.slice(0,ae.count).filter((function(e){return!e.hiddenInLayout.value()}));for(var t=0;tr.chartWidget.setCollapsed(r.collapsed.value())),n.resizerBridge.visible.subscribe(o),o(),function(e){for(var t=0,i=0,s=0;se.chartWidget.hasModel())&&(lt(),g.emit("layout_changed"))}function nt(e,t){const i=Qe(Object.assign({},xe,he.shift()||function(){const e=te.value();if(e){const t=e.state();return t.chartId=st(it),t.shouldBeSavedEvenIfHidden=!1,{content:t}}}(),0===e||_e.value()?void 0:{defSymbol:null}));return i.modelCreated().subscribe(null,t||rt,!0),i}function ot(e){e.hiddenInLayout.setValue(!0);const t=e.container.value();t.parentNode&&t.parentNode.removeChild(t),e.fullscreen.setValue(!1)}function at(e){(e=At(e))in l||(e="s"),Re();var t=le,i=l[e].count;g.emit("layout_about_to_be_changed",e),we.setValue(e),le=e,ae=l[e];for(var s=i;s=i&&(!r||!Ze(r));if(Te?Te===r:s1),r.fullscreen.setValue(Te===r),r.collapsed.setValue(n)}else r&&(ot(r),r.collapsed.setValue(n))}Ke(),lt(),function(){for(var e=ae.count,t=e,i=0;i1)}(),rt(),se.forEach((function(e){const t=e.chartWidget;t.onZoom().subscribe(this,e=>De.fire(e)),t.onScroll().subscribe(this,()=>Ve.fire()),t.withModel(null,()=>{const e=t.lineToolSynchronizer();null!==e&&(e.hasChanges().subscribe(Ne),Ne())})})),oe.value()<1&&i>0&&se[i-1].rdState.bridge().attach()}function lt(){var e=Math.min(ae.count,se.length)-1;if(e<0)te.deleteValue();else{var t=re;t<0&&(t=0),t>e&&(t=e),te.setValue(se[t].chartWidget)}}function ct(){for(var e=se.length;e--;){var t=e===re;se[e].container.value().classList.toggle("active",t),se[e].container.value().classList.toggle("inactive",!t)}}function ht(e){}Pe.subscribe(Ke),Ce.subscribe(Ke),this.updateLayout=Ke;var dt=new s,ut=new S,pt=new S,_t=null;function mt(e){var t=e.mainSeries().properties();t.style.subscribe(null,gt),gt(t.style),e.model().onSelectedSourceChanged().subscribe(null,ft),ft(e.selection().allSources())}function gt(e){ut.setValue(e.value())}function ft(){var e=_t.model();pt.setValue(e.selection().allSources())}function vt(e){for(var t=!1,i=0;i=l[e].count)return e;return"s"}function kt(e,t){if(ue=!0,pe=Boolean(t),he=[],e){e.charts||(e={layout:"s",charts:[e]});var i=new Set;e.charts.forEach((function(e){e.chartId&&i.add(e.chartId)})),e.charts.forEach((function(e){if(!e.chartId){var t=st((function(e){return i.has(e)}));i.add(t),e.chartId=t}})),le=At(e.layout||"s");for(var s=0;snull===Te?null:Te.chartWidget,destroy:function(){bt.fire(),xt(!1),null!==He&&(He(),He=null),Re(),se.forEach((function(e){ +void 0!==e.timingsMeter&&e.timingsMeter.destroy(),e.chartWidget.destroy()})),n.resizerBridge.remove(),window.removeEventListener("resize",Ke),p.tool.unsubscribe(Et),p.tool.unsubscribe(Dt),ke.resolve(),Ae.remove(),It.clear(),Mt.clear(),ve.destroy(),ye&&ye.destroy(),Lt&&Lt.destroy()},onAboutToBeDestroyed:bt,layout:we.readonly(),setLayout:at,activeChartWidget:te,viewMode:ce,activeChartStyle:ut.readonly(),setChartStyleToWidget:function(e,t){t||(t=te.value()),t&&function(e,t){var i=e.model(),s=i.mainSeries().properties().style;i.setChartStyleProperty(s,t,Z)}(t,e)},selectedSources:pt.readonly(),metaInfo:Me,state:function(e,i,s,r){for(var n=[],o=qe(),a=0;ae.chartWidget?e.chartWidget:new Promise(e=>{const i=nt(t,()=>e(i));ot(se[t])}))).then(t=>{o?(r&&new x(a,s,n).redo(),t.forEach((function(t){t.model().model().restoreTheme(e,i,o)}))):(Le.beginUndoMacro(X),r&&Le.pushUndoCommand(new x(a,s,n)),t.forEach((function(t){t.model().model().restoreTheme(e,i)})),Le.endUndoMacro())})},applyIndicatorsToAllCharts:function(e){B(je(),e)},applyIndicatorsToAllChartsAvailable:function(){return!ie&&Ye()>1},applyIndicatorToAllCharts:function(e,t,i,s){N(je(),e,t,i,s)},setActive:xt,inlineChartsCount:oe.readonly(),revertToInline:function(){tt(null);for(var e=0;e0||e.isStatusBad())Bt();else{var i=e.dataEvents(),s=function(){Bt(),i.barReceived().unsubscribe(null,s),i.completed().unsubscribe(null,s),i.error().unsubscribe(null,s)};i.barReceived().subscribe(null,s),i.completed().subscribe(null,s),i.error().subscribe(null,s)}}))}})),h()){var Nt=p.tool.setValue;p.tool.setValue=function(){t.selectedSources.value()&&t.activeChartWidget.value().model().lineBeingCreated()&&t.activeChartWidget.value().model().cancelCreatingLine(),Nt.apply(p.tool,arguments)}}(function e(){return se.every(e=>e.chartWidget.hasModel())?Promise.resolve(se.map(e=>e.chartWidget)):Promise.all(se.map(e=>e.chartWidget.hasModel()||b(e.chartWidget.modelCreated()).promise)).then(()=>e())})().then((function(e){return Promise.all(e.map(e=>{const t=e.model().mainSeries();return t.symbolResolvingActive().value()?b(t.dataEvents().symbolResolved()).promise:t.symbolInfo()}))})).then((function(){window.saver&&window.is_authenticated&&n.widgetOptions.justCloned&&window.saver.saveChartSilently()})).catch(C.logError.bind(C))}},6799:(e,t,i)=>{"use strict";i.d(t,{ContextMenuManager:()=>s});var s,r=i(46374),n=i(79424);!function(e){let t=null,s=null;const o=[],a={createAction:e=>new r.Action({...e,actionId:"Chart.CustomActionId"}),createAsyncAction:e=>new r.ActionAsync("Chart.CustomActionId",e),createSeparator:()=>new r.Separator};async function l(e,r={},n={menuName:""},l){let h;null!==t&&(e=await t(e,a));const d=()=>{const e=o.indexOf(h);-1!==e&&o.splice(e,1),void 0!==l&&l()};if(null!==s)h=await s(e,n,d),c();else{const t=await Promise.all([i.e(7610),i.e(3894),i.e(706),i.e(8604),i.e(2359),i.e(2273),i.e(7607),i.e(4985),i.e(5514),i.e(306),i.e(4940),i.e(8434),i.e(1584)]).then(i.bind(i,90872));h=new t.ContextMenuRenderer(e,r,d,c)}return o.push(h),h}function c(){(0,n.globalCloseMenu)()}e.createMenu=l,e.showMenu=function(e,t,i={},s,r){return l(e,i,s,r).then(e=>e.show(t))},e.setCustomRendererFactory=function(e){s=e},e.setCustomItemsProcessor=function(e){t=e},e.hideAll=c,e.getShown=function(){for(let e=0;e{"use strict";i.d(t,{DialogRenderer:()=>n});var s=i(32856),r=i.n(s);class n{constructor(){this._container=document.createElement("div"),this._visibility=new(r())(!1)}visible(){return this._visibility.readonly()}_setVisibility(e){this._visibility.setValue(e)}}},89366:(e,t,i)=>{"use strict";var s;i.d(t,{TabNames:()=>s}),function(e){e.background="Background",e.coordinates="Coordinates",e.drawings="Drawings",e.events="Events",e.eventsAndAlerts="Events & Alerts",e.inputs="Inputs",e.properties="Properties",e.scales="Scales",e.legend="Legend",e.sourceCode="Source Code",e.style="Style",e.symbol="Symbol",e.timezoneSessions="Timezone/Sessions",e.trading="Trading",e.visibility="Visibility",e.text="Text"}(s||(s={}))},88933:(e,t,i)=>{"use strict";function s(e){return e.getAll().some(e=>e.isInitialized())}function r(e,t){const i=e.getAll(),s=()=>{t(),i.forEach(e=>{e.chartWidgetInitialized.unsubscribe(null,s)})};i.forEach(e=>{e.chartWidgetInitialized.subscribe(null,s,!0)})}i.r(t),i.d(t,{isAnyChartWidgetInitialized:()=>s,waitAnyChartWidgetInitialized:()=>r})},65109:(e,t,i)=>{"use strict";i.d(t,{getFavoriteDrawingToolbarPromise:()=>o,createFavoriteDrawingToolbar:()=>a});i(79881);var s=i(6535);let r=null,n=null;function o(){return n}function a(){null===n&&(n=Promise.all([i.e(3876),i.e(7610),i.e(9448),i.e(3894),i.e(3996),i.e(4078),i.e(7936),i.e(706),i.e(8604),i.e(2359),i.e(2273),i.e(6548),i.e(9843),i.e(7607),i.e(6637),i.e(1941),i.e(4985),i.e(3223),i.e(5514),i.e(306),i.e(4940),i.e(708),i.e(7962),i.e(1890),i.e(5254),i.e(8434),i.e(2306)]).then(i.bind(i,55753)).then(({FavoriteDrawingToolbar:e})=>(r=null!==r?r:new e({left:window.innerWidth/2,top:s.HEADER_TOOLBAR_HEIGHT_EXPANDED+61}),r)))}},20509:(e,t,i)=>{"use strict";i.d(t,{getPriceAxisNameInfo:()=>o});const s=["Z","Y","X","W","V","U","T","S"],r=["A","B","C","D","E","F","G","H"];class n{constructor(e){this.label=e}equals(e){return null!==e&&this.label===e.label}}function o(e,t){const i="left"===e?s:r;return new n(t{"use strict";i.d(t,{CHART_WIDGET_COLLECTION_SERVICE:()=>s});i(86573);const s={id:"ChartWidgetCollectionService"};var r;!function(e){e.Multichart="multichart",e.ForceFullscreen="force-fullscreen"}(r||(r={}))},47329:(e,t,i)=>{"use strict";i.d(t,{InvalidationLevel:()=>s,InvalidationMask:()=>a,defaultInvalidationLevel:()=>o});var s,r=i(16282);class n{constructor(e=o){this._paneInvalidationLevel=o,this._leftPriceScalesInvalidationMap=new Map,this._rightPriceScalesInvalidationMap=new Map,this._invalidationLevel=e}fullInvalidation(){return this._invalidationLevel}invalidateAll(e){this._invalidationLevel=Math.max(this._invalidationLevel,e)}invalidatePane(e){this._paneInvalidationLevel=Math.max(this._invalidationLevel,e)}invalidatePriceScale(e,t,i){const s="left"===e?this._leftPriceScalesInvalidationMap:this._rightPriceScalesInvalidationMap,r=s.get(t)||o;s.set(t,Math.max(r,i))}invalidationLevelForPane(){return Math.max(this._paneInvalidationLevel,this._invalidationLevel)}getterForPriceScaleInvalidationLevelBySide(e){ +const t="left"===e?this._leftPriceScalesInvalidationMap:this._rightPriceScalesInvalidationMap;return e=>Math.max(t.get(e)||o,this._invalidationLevel)}priceScaleSideMaxLevel(e){const t="left"===e?this._leftPriceScalesInvalidationMap:this._rightPriceScalesInvalidationMap;let i=this._invalidationLevel;return t.size>0&&t.forEach(e=>{e>i&&(i=e)}),i}merge(e){this._invalidationLevel=Math.max(this._invalidationLevel,e._invalidationLevel),this._paneInvalidationLevel=Math.max(this._paneInvalidationLevel,e._paneInvalidationLevel),e._leftPriceScalesInvalidationMap.forEach((e,t)=>{const i=this._leftPriceScalesInvalidationMap.get(t)||o;this._leftPriceScalesInvalidationMap.set(t,Math.max(i,e))}),e._rightPriceScalesInvalidationMap.forEach((e,t)=>{const i=this._rightPriceScalesInvalidationMap.get(t)||o;this._rightPriceScalesInvalidationMap.set(t,Math.max(i,e))})}}!function(e){e[e.None=0]="None",e[e.Cursor=1]="Cursor",e[e.Light=2]="Light",e[e.Full=3]="Full"}(s||(s={}));const o=s.None;class a{constructor(e=o){this._panesOrderChanged=!1,this._keepVisibleTimeRangeOnResize=!1,this._timeAxisInvalidationLevel=o,this._invalidatedPanes=new Map,this._additionalActions=[],this._invalidationLevel=e}invalidateAll(e){this._invalidationLevel!==e&&(this._invalidationLevel=Math.max(this._invalidationLevel,e),this._invalidatedPanes.forEach(e=>{e.invalidateAll(this._invalidationLevel)}))}invalidateAllPane(e,t){this._invalidatedPanes.has(e)||this._invalidatedPanes.set(e,new n(this._invalidationLevel)),(0,r.ensureDefined)(this._invalidatedPanes.get(e)).invalidateAll(t)}invalidatePriceScale(e,t,i,s){this._invalidatedPanes.has(e)||this._invalidatedPanes.set(e,new n(this._invalidationLevel)),(0,r.ensureDefined)(this._invalidatedPanes.get(e)).invalidatePriceScale(t,i,s)}invalidateTimeScale(e){this._timeAxisInvalidationLevel=Math.max(this._timeAxisInvalidationLevel,e)}invalidatePanesOrder(){this._panesOrderChanged=!0}lockVisibleTimeRangeOnResize(){this._keepVisibleTimeRangeOnResize=!0}fullInvalidation(){return this._invalidationLevel}maxPaneInvalidation(){const e=[];return this._invalidatedPanes.forEach(t=>{e.push(t.fullInvalidation())}),Math.max(...e,this._invalidationLevel)}invalidateForPane(e){return this._invalidatedPanes.get(e)||new n(this._invalidationLevel)}invalidateForTimeScale(){return Math.max(this._timeAxisInvalidationLevel,this._invalidationLevel)}validationActions(){return this._additionalActions}addValidationAction(e){this._additionalActions.push(e)}merge(e){this._invalidationLevel=Math.max(this._invalidationLevel,e._invalidationLevel),this._panesOrderChanged=this._panesOrderChanged||e._panesOrderChanged,this._keepVisibleTimeRangeOnResize=this._keepVisibleTimeRangeOnResize||e._keepVisibleTimeRangeOnResize,this._invalidatedPanes.forEach(e=>{e.invalidateAll(this._invalidationLevel)}),e._invalidatedPanes.forEach((e,t)=>{this._invalidatedPanes.has(t)||this._invalidatedPanes.set(t,new n(this._invalidationLevel)),(0,r.ensureDefined)(this._invalidatedPanes.get(t)).merge(e)}), +this._timeAxisInvalidationLevel=Math.max(this._timeAxisInvalidationLevel,e._timeAxisInvalidationLevel);for(let t=0;t{"use strict";i.d(t,{lastMouseOrTouchEventInfo:()=>r,setLastMouseOrTouchEventInfo:()=>n});let s=(0,i(43367).supportTouch)()?{isTouch:!0,stylus:!1}:{isTouch:!1};function r(){return s}function n(e){s=e}},1799:(e,t,i)=>{"use strict";i.d(t,{layouts:()=>r,isMultipleLayout:()=>n});i(38069);let s;s={};const r={...{s:{title:"1 chart",count:1,sizer:(e,t)=>{if(0!==t)throw new RangeError("invalid index");return e}}},...s};function n(e){return!function(e){return"s"===e}(e)}},75798:(e,t,i)=>{"use strict";i.d(t,{LineToolsGroupControllerApi:()=>o});var s=i(36512),r=i(16282),n=i(67945);class o{constructor(e,t){this._controller=e,this._model=t}createGroupFromSelection(){return this._controller.createGroupFromSelection().id}removeGroup(e){const t=(0,r.ensureDefined)(this._groupById(e));this._controller.removeGroup(t)}groups(){return this._controller.groups().map(e=>e.id)}shapesInGroup(e){const t=(0,r.ensureDefined)(this._groupById(e));return(0,s.sortSources)(t.lineTools()).map(e=>e.id())}excludeShapeFromGroup(e,t){const i=(0,r.ensureDefined)(this._groupById(e)),s=(0,r.ensureNotNull)(this._model.dataSourceForId(t));(0,r.assert)((0,n.isLineTool)(s),"Passed shapeId is not a line tool"),this._controller.excludeLineToolFromGroup(i,s)}availableZOrderOperations(e){const t=(0,r.ensureDefined)(this._groupById(e));return this._controller.availableZOrderOperations(t)}bringToFront(e){const t=(0,r.ensureDefined)(this._groupById(e));this._controller.bringToFront(t)}bringForward(e){const t=(0,r.ensureDefined)(this._groupById(e));this._controller.bringForward(t)}sendBackward(e){const t=(0,r.ensureDefined)(this._groupById(e));this._controller.sendBackward(t)}sendToBack(e){const t=(0,r.ensureDefined)(this._groupById(e));this._controller.sendToBack(t)}insertAfter(e,t){const i=(0,r.ensureDefined)(this._groupById(e)),s=(0,r.ensureNotNull)(this._groupById(t)||this._model.dataSourceForId(t));this._controller.insertAfter(i,s)}insertBefore(e,t){const i=(0,r.ensureDefined)(this._groupById(e)),s=(0,r.ensureNotNull)(this._groupById(t)||this._model.dataSourceForId(t));this._controller.insertBefore(i,s)}groupVisibility(e){return(0,r.ensureDefined)(this._groupById(e)).visibility()}setGroupVisibility(e,t){const i=(0,r.ensureDefined)(this._groupById(e));this._controller.setGroupVisibility(i,t)}groupLock(e){return(0,r.ensureDefined)(this._groupById(e)).locked()}setGroupLock(e,t){const i=(0,r.ensureDefined)(this._groupById(e));this._controller.setGroupLock(i,t)} +getGroupName(e){return(0,r.ensureDefined)(this._groupById(e)).name()}setGroupName(e,t){const i=(0,r.ensureDefined)(this._groupById(e));this._controller.setGroupName(i,t)}canBeGroupped(e){const t=e.map(e=>(0,r.ensureNotNull)(this._model.dataSourceForId(e)));return!t.some(e=>!(0,n.isLineTool)(e))&&this._controller.canBeGroupped(t)}_groupById(e){return this._controller.groups().find(t=>t.id===e)}}},83265:(e,t,i)=>{"use strict";i.d(t,{LoadingScreen:()=>o});var s=i(27490),r=i(26254),n=i(60183);class o{constructor(e,t){this._showed=!1,this._cw=e,this._element=document.createElement("div"),this._element.classList.add("chart-loading-screen"),this._shield=document.createElement("div"),this._shield.classList.add("chart-loading-screen-shield"),this._element.appendChild(this._shield),t.appendChild(this._element),this._cw.withModel(this,this._connectToModel)}show(){this._cw.setInLoadingState(!0),this._showed||(this._showed=!0,this._show())}hide(){this._cw.setInLoadingState(!1),this._showed&&this._hide()}isShown(){return this._showed}_connectToModel(){const e=this._cw.model().mainSeries().dataEvents();e.symbolError().subscribe(this,e=>{e!==n.permissionDenied&&this.hide()}),e.seriesError().subscribe(this,()=>{(0,s.enabled)("hide_loading_screen_on_series_error")&&this.hide()}),e.completed().subscribe(this,this.hide)}_show(){const e=this._cw.properties().childs().paneProperties.childs();let t;if(e.backgroundType.value()===r.ColorType.Solid)t=e.background.value();else{t=`linear-gradient(${e.backgroundGradientStartColor.value()},${e.backgroundGradientEndColor.value()})`}this._shield.style.background=t,this._element.classList.add("fade")}_hide(){this._showed=!1,this._element.classList.remove("fade")}}},29448:(e,t,i)=>{"use strict";i.d(t,{MouseEventHandler:()=>h});var s=i(43367),r=i(16282),n=i(47903),o=i(52541),a=i(87910);const l=s.isSafari?"click":"auxclick",c={treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!1};class h{constructor(e,t,i){this._clickCount=0,this._clickTimeoutId=null,this._clickPosition={x:Number.NEGATIVE_INFINITY,y:Number.POSITIVE_INFINITY},this._tapCount=0,this._tapTimeoutId=null,this._tapPosition={x:Number.NEGATIVE_INFINITY,y:Number.POSITIVE_INFINITY},this._longTapTimeoutId=null,this._longTapActive=!1,this._mouseMoveStartPosition=null,this._touchMoveStartPosition=null,this._touchMoveExceededManhattanDistance=!1,this._cancelClick=!1,this._cancelTap=!1,this._unsubscribeOutsideMouseEvents=null,this._unsubscribeOutsideTouchEvents=null,this._unsubscribeMobileSafariEvents=null,this._unsubscribeMousemove=null,this._unsubscribeRootMouseEvents=null,this._unsubscribeRootTouchEvents=null,this._startPinchMiddlePoint=null,this._startPinchDistance=0,this._pinchPrevented=!1,this._preventTouchDragProcess=!1,this._mousePressed=!1,this._lastTouchEventTimeStamp=0,this._activeTouchId=null,this._acceptMouseLeave=!s.CheckMobile.iOS(),this._onFirefoxOutsideMouseUp=e=>{this._mouseUpHandler(e)},this._onMobileSafariDoubleClick=e=>{if(this._firesTouchEvents(e)){const t=this._makeCompatEvent(e);if(++this._tapCount, +this._tapTimeoutId&&this._tapCount>1){const{manhattanDistance:i}=this._touchMouseMoveWithDownInfo(u(e),this._tapPosition);i<30&&!this._cancelTap&&this._processTouchEvent(t,this._handler.doubleTapEvent),this._resetTapTimeout()}}else{const t=this._makeCompatEvent(e);if(++this._clickCount,this._clickTimeoutId&&this._clickCount>1){const{manhattanDistance:i}=this._touchMouseMoveWithDownInfo(u(e),this._clickPosition);i<5&&!this._cancelClick&&this._processMouseEvent(t,this._handler.mouseDoubleClickEvent),this._resetClickTimeout()}}},this._target=e,this._handler=t,this._options=(0,n.merge)((0,n.clone)(c),i||{}),this._init()}destroy(){null!==this._unsubscribeOutsideMouseEvents&&(this._unsubscribeOutsideMouseEvents(),this._unsubscribeOutsideMouseEvents=null),null!==this._unsubscribeOutsideTouchEvents&&(this._unsubscribeOutsideTouchEvents(),this._unsubscribeOutsideTouchEvents=null),null!==this._unsubscribeMousemove&&(this._unsubscribeMousemove(),this._unsubscribeMousemove=null),null!==this._unsubscribeRootMouseEvents&&(this._unsubscribeRootMouseEvents(),this._unsubscribeRootMouseEvents=null),null!==this._unsubscribeRootTouchEvents&&(this._unsubscribeRootTouchEvents(),this._unsubscribeRootTouchEvents=null),null!==this._unsubscribeMobileSafariEvents&&(this._unsubscribeMobileSafariEvents(),this._unsubscribeMobileSafariEvents=null),this._clearLongTapTimeout(),this._resetClickTimeout()}_mouseEnterHandler(e){this._unsubscribeMousemove&&this._unsubscribeMousemove();const t=this._mouseMoveHandler.bind(this);if(this._unsubscribeMousemove=()=>{this._target.removeEventListener("mousemove",t)},this._target.addEventListener("mousemove",t),this._firesTouchEvents(e))return;const i=this._makeCompatEvent(e);this._processMouseEvent(i,this._handler.mouseEnterEvent),this._acceptMouseLeave=!0}_resetClickTimeout(){null!==this._clickTimeoutId&&clearTimeout(this._clickTimeoutId),this._clickCount=0,this._clickTimeoutId=null,this._clickPosition={x:Number.NEGATIVE_INFINITY,y:Number.POSITIVE_INFINITY}}_resetTapTimeout(){null!==this._tapTimeoutId&&clearTimeout(this._tapTimeoutId),this._tapCount=0,this._tapTimeoutId=null,this._tapPosition={x:Number.NEGATIVE_INFINITY,y:Number.POSITIVE_INFINITY}}_mouseMoveHandler(e){if(this._mousePressed||null!==this._touchMoveStartPosition)return;if(this._firesTouchEvents(e))return;const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.mouseMoveEvent),this._acceptMouseLeave=!0}_touchMoveHandler(e){const t=m(e.changedTouches,(0,r.ensureNotNull)(this._activeTouchId));if(null===t)return;if(this._lastTouchEventTimeStamp=_(e),null!==this._startPinchMiddlePoint)return;if(this._preventTouchDragProcess)return;this._pinchPrevented=!0;const i=this._touchMouseMoveWithDownInfo(u(t),(0,r.ensureNotNull)(this._touchMoveStartPosition)),{xOffset:s,yOffset:n,manhattanDistance:a}=i;if(this._touchMoveExceededManhattanDistance||!(a<5)){if(!this._touchMoveExceededManhattanDistance){const e=.5*s,t=n>=e&&!this._options.treatVertTouchDragAsPageScroll,i=e>n&&!this._options.treatHorzTouchDragAsPageScroll +;t||i||(this._preventTouchDragProcess=!0),this._touchMoveExceededManhattanDistance=!0,this._cancelTap=!0,this._clearLongTapTimeout(),this._resetTapTimeout()}if(!this._preventTouchDragProcess){const i=this._makeCompatEvent(e,t);this._processTouchEvent(i,this._handler.touchMoveEvent),(0,o.preventDefault)(e)}}}_mouseMoveWithDownHandler(e){if(0!==e.button)return;const t=this._touchMouseMoveWithDownInfo(u(e),(0,r.ensureNotNull)(this._mouseMoveStartPosition)),{manhattanDistance:i}=t;if(i>=5&&(this._cancelClick=!0,this._resetClickTimeout()),this._cancelClick){const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.pressedMouseMoveEvent)}}_touchMouseMoveWithDownInfo(e,t){const i=Math.abs(t.x-e.x),s=Math.abs(t.y-e.y);return{xOffset:i,yOffset:s,manhattanDistance:i+s}}_touchEndHandler(e){let t=m(e.changedTouches,(0,r.ensureNotNull)(this._activeTouchId));if(null===t&&0===e.touches.length&&(t=e.changedTouches[0]),null===t)return;this._activeTouchId=null,this._lastTouchEventTimeStamp=_(e),this._clearLongTapTimeout(),this._touchMoveStartPosition=null,this._unsubscribeRootTouchEvents&&(this._unsubscribeRootTouchEvents(),this._unsubscribeRootTouchEvents=null);const i=this._makeCompatEvent(e,t);if(this._processTouchEvent(i,this._handler.touchEndEvent),++this._tapCount,this._tapTimeoutId&&this._tapCount>1){const{manhattanDistance:e}=this._touchMouseMoveWithDownInfo(u(t),this._tapPosition);e<30&&!this._cancelTap&&this._processTouchEvent(i,this._handler.doubleTapEvent),this._resetTapTimeout()}else this._cancelTap||(this._processTouchEvent(i,this._handler.tapEvent),this._handler.tapEvent&&(0,o.preventDefault)(e));0===this._tapCount&&(0,o.preventDefault)(e),0===e.touches.length&&this._longTapActive&&(this._longTapActive=!1,(0,o.preventDefault)(e))}_mouseUpHandler(e){if(0!==e.button)return;const t=this._makeCompatEvent(e);if(this._mouseMoveStartPosition=null,this._mousePressed=!1,this._unsubscribeRootMouseEvents&&(this._unsubscribeRootMouseEvents(),this._unsubscribeRootMouseEvents=null),s.isFF){this._target.ownerDocument.documentElement.removeEventListener("mouseleave",this._onFirefoxOutsideMouseUp)}if(!this._firesTouchEvents(e))if(this._processMouseEvent(t,this._handler.mouseUpEvent),++this._clickCount,this._clickTimeoutId&&this._clickCount>1){const{manhattanDistance:i}=this._touchMouseMoveWithDownInfo(u(e),this._clickPosition);i<5&&!this._cancelClick&&this._processMouseEvent(t,this._handler.mouseDoubleClickEvent),this._resetClickTimeout()}else this._cancelClick||this._processMouseEvent(t,this._handler.mouseClickEvent)}_clearLongTapTimeout(){null!==this._longTapTimeoutId&&(clearTimeout(this._longTapTimeoutId),this._longTapTimeoutId=null)}_touchStartHandler(e){if(null!==this._activeTouchId)return;const t=e.changedTouches[0];this._activeTouchId=t.identifier,this._lastTouchEventTimeStamp=_(e);const i=this._target.ownerDocument.documentElement;this._cancelTap=!1,this._touchMoveExceededManhattanDistance=!1,this._preventTouchDragProcess=!1,this._touchMoveStartPosition=u(t), +this._unsubscribeRootTouchEvents&&(this._unsubscribeRootTouchEvents(),this._unsubscribeRootTouchEvents=null);{const t=this._touchMoveHandler.bind(this),s=this._touchEndHandler.bind(this);this._unsubscribeRootTouchEvents=()=>{i.removeEventListener("touchmove",t),i.removeEventListener("touchend",s)},i.addEventListener("touchmove",t,{passive:!1}),i.addEventListener("touchend",s,{passive:!1}),this._clearLongTapTimeout(),this._longTapTimeoutId=setTimeout(this._longTapHandler.bind(this,e),240)}const s=this._makeCompatEvent(e,t);this._processTouchEvent(s,this._handler.touchStartEvent),this._tapTimeoutId||(this._tapCount=0,this._tapTimeoutId=setTimeout(this._resetTapTimeout.bind(this),500),this._tapPosition=u(t))}_wheelClickHandler(e){if(1!==e.button)return;if(this._firesTouchEvents(e))return;const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.wheelClickEvent)}_mouseDownHandler(e){if(0!==e.button)return;const t=this._target.ownerDocument.documentElement;s.isFF&&t.addEventListener("mouseleave",this._onFirefoxOutsideMouseUp),this._cancelClick=!1,this._mouseMoveStartPosition=u(e),this._unsubscribeRootMouseEvents&&(this._unsubscribeRootMouseEvents(),this._unsubscribeRootMouseEvents=null);{const e=this._mouseMoveWithDownHandler.bind(this),i=this._mouseUpHandler.bind(this);this._unsubscribeRootMouseEvents=()=>{t.removeEventListener("mousemove",e),t.removeEventListener("mouseup",i)},t.addEventListener("mousemove",e),t.addEventListener("mouseup",i)}if(this._mousePressed=!0,this._firesTouchEvents(e))return;const i=this._makeCompatEvent(e);this._processMouseEvent(i,this._handler.mouseDownEvent),this._clickTimeoutId||(this._clickCount=0,this._clickTimeoutId=setTimeout(this._resetClickTimeout.bind(this),500),this._clickPosition=u(e))}_init(){this._target.addEventListener("mouseenter",this._mouseEnterHandler.bind(this)),this._target.addEventListener("touchcancel",this._clearLongTapTimeout.bind(this));{const e=this._target.ownerDocument,t=e=>{this._handler.mouseDownOutsideEvent&&(e.target&&this._target.contains(e.target)||this._handler.mouseDownOutsideEvent())};this._unsubscribeOutsideTouchEvents=()=>{e.removeEventListener("touchstart",t)},this._unsubscribeOutsideMouseEvents=()=>{e.removeEventListener("mousedown",t)},e.addEventListener("mousedown",t),e.addEventListener("touchstart",t,{passive:!0})}s.CheckMobile.iOS()&&(this._unsubscribeMobileSafariEvents=()=>{this._target.removeEventListener("dblclick",this._onMobileSafariDoubleClick)},this._target.addEventListener("dblclick",this._onMobileSafariDoubleClick)),this._target.addEventListener("mouseleave",this._mouseLeaveHandler.bind(this)),this._target.addEventListener("contextmenu",this._contextMenuHandler.bind(this)),this._target.addEventListener("touchstart",this._touchStartHandler.bind(this),{passive:!0}),(0,o.preventScrollByWheelClick)(this._target),this._target.addEventListener("mousedown",this._mouseDownHandler.bind(this)),this._target.addEventListener(l,this._wheelClickHandler.bind(this)),this._initPinch(),this._target.addEventListener("touchmove",()=>{},{ +passive:!1})}_initPinch(){void 0===this._handler.pinchStartEvent&&void 0===this._handler.pinchEvent&&void 0===this._handler.pinchEndEvent||(this._target.addEventListener("touchstart",e=>this._checkPinchState(e.touches),{passive:!0}),this._target.addEventListener("touchmove",e=>{if(2===e.touches.length&&null!==this._startPinchMiddlePoint&&void 0!==this._handler.pinchEvent){const t=e.touches[0],i=e.touches[1],s=p(t,i)/this._startPinchDistance,r=d(this._target);this._handler.pinchEvent(this._startPinchMiddlePoint,{x:t.clientX-r.left,y:t.clientY-r.top},{x:i.clientX-r.left,y:i.clientY-r.top},s),(0,o.preventDefault)(e)}},{passive:!1}),this._target.addEventListener("touchend",e=>{this._checkPinchState(e.touches)}))}_checkPinchState(e){1===e.length&&(this._pinchPrevented=!1),2!==e.length||this._pinchPrevented||this._longTapActive?this._stopPinch():this._startPinch(e)}_startPinch(e){if(void 0!==this._handler.pinchStartEvent){const t=d(this._target),i=e[0],s=e[1],r={x:i.clientX-t.left,y:i.clientY-t.top},n={x:s.clientX-t.left,y:s.clientY-t.top};this._startPinchMiddlePoint={x:(r.x+n.x)/2,y:(r.y+n.y)/2},this._startPinchDistance=p(i,s),this._handler.pinchStartEvent(this._startPinchMiddlePoint,r,n)}this._clearLongTapTimeout()}_stopPinch(){null!==this._startPinchMiddlePoint&&(this._startPinchMiddlePoint=null,void 0!==this._handler.pinchEndEvent&&this._handler.pinchEndEvent())}_mouseLeaveHandler(e){if(this._unsubscribeMousemove&&this._unsubscribeMousemove(),this._firesTouchEvents(e))return;if(!this._acceptMouseLeave)return;const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.mouseLeaveEvent),this._acceptMouseLeave=!s.CheckMobile.iOS()}_longTapHandler(e){const t=m(e.touches,(0,r.ensureNotNull)(this._activeTouchId));if(null===t)return;const i=this._makeCompatEvent(e,t);this._processTouchEvent(i,this._handler.longTapEvent),this._processTouchEvent(i,this._handler.touchContextMenuEvent),this._cancelTap=!0,this._longTapActive=!0}_contextMenuHandler(e){if((0,o.preventDefault)(e),null!==this._touchMoveStartPosition)return;if(this._firesTouchEvents(e))return;const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.contextMenuEvent),this._cancelClick=!0}_firesTouchEvents(e){return e.sourceCapabilities&&void 0!==e.sourceCapabilities.firesTouchEvents?e.sourceCapabilities.firesTouchEvents:_(e){"touchstart"!==e.type&&(0,o.preventDefault)(e)}}}}function d(e){return e.getBoundingClientRect()||{left:0,top:0}}function u(e){return{x:e.pageX,y:e.pageY}}function p(e,t){const i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)}function _(e){return e.timeStamp||performance.now()}function m(e,t){for(let i=0;i{"use strict";i.d(t,{navigationButtonsVisibilityKey:()=>r,property:()=>n,availableValues:()=>o,actualBehavior:()=>a});var s=i(23952);const r="NavigationButtons.visibility",{property:n,availableValues:o,actualBehavior:a}=(0,s.createVisibilityController)(r)},42028:(e,t,i)=>{"use strict";i.d(t,{property:()=>n,availableValues:()=>o,actualBehavior:()=>a});var s=i(23952),r=i(49044);const{property:n,availableValues:o,actualBehavior:a}=(0,s.createVisibilityController)("PaneButtons.visibility",r.navigationButtonsVisibilityKey)},79204:(e,t,i)=>{"use strict";i.d(t,{PriceAxisesContainer:()=>T});var s=i(16282),r=i(16932),n=i(55430),o=i(47329),a=i(72927),l=i(73395),c=i(99182),h=i(3948),d=i(92175),u=i(54837);const p=parseInt(d.labelheight),_=parseInt(d.bottommargin);function m(e){return e/11}class g{constructor(){this._wrapper=document.createElement("div"),this._element=document.createElement("div"),this._labelElement=document.createElement("div"),this._gearElement=document.createElement("div"),this._currentScale=1,this._info=null,this._mode="auto",this._wrapper.appendChild(this._element),this._wrapper.classList.add(d.wrapper),this._element.classList.add(d.label),this._labelElement.className=d.symbol,this._element.appendChild(this._labelElement),this._gearElement.className=d.gear,this._gearElement.innerHTML=h,this._element.appendChild(this._gearElement)}getElement(){return this._wrapper}setMode(e){this._mode!==e&&(this._mode=e)}align(e,t){const i=m(t);Math.abs(i-this._currentScale)>.1&&(this._currentScale=i,Math.abs(this._currentScale-1)>.1?this._element.style.transform=`scale(${this._currentScale})`:(this._currentScale=1,this._element.style.transform=""))}drawLabelForScreenshot(e,t){if(null===this._info||"gear"===this._mode)return;const i=(0,l.makeFont)(t.fontSize,u.CHART_FONT_FAMILY);e.fillStyle=c.themes[t.theme].getThemedColor("color-price-axis-label-back"),e.globalAlpha=.5,e.beginPath();const s=m(t.fontSize)*p/2,r=(0,a.point)(t.offset+t.width/2,t.height/2);e.arc(r.x,r.y,s,0,2*Math.PI,!0),e.fill(),e.globalAlpha=1,e.fillStyle=c.themes[t.theme].getThemedColor("color-price-axis-label-text"),e.textAlign="center",e.font=i,e.textBaseline="middle",e.fillText(this._info.label,r.x,r.y)}setAxisNameInfo(e){this._info=e,null!==e&&(this._labelElement.textContent=e.label)}static height(e){return(p+_)*e}}var f=i(5729),v=i.n(f),S=i(29448),y=i(6799),b=i(65726);const w={enableTooltip:!0,showLabels:!0,enableMenu:!0,enableHighlight:!0};class P{constructor(e,t,i,s,n){this._invalidated=!0,this._size=new r.Size(0,0),this._offset=0,this._axisInfo=null,this._onLabelHovered=new(v()),this._highlighted=!1,this._labelMode="auto", +this._fixedLabelMode=null,this._canvasConfiguredHandler=()=>this.update(),this._isLeft="left"===e,this._rendererOptionsProvider=s.rendererOptionsProvider,this._sourcesTitlesProvider=s.sourcesTitlesProvider,this._contextMenuItemsProvider=s.contextMenuItemsProvider,this._backgroundBasedTheme=s.backgroundBasedTheme,this._getBackgroundTopColor=s.getBackgroundTopColor,this._getBackgroundBottomColor=s.getBackgroundBottomColor,this._showHorizontalBorder=Boolean(s.showHorizontalBorder),this._properties=t,this._axisInfo=i,this._labelOptions={...w,...n},this._properties.lineColor.subscribe(this,this._onPropertyChanged),this._cell=document.createElement("div"),this._cell.classList.add(d["price-axis-stub"]),this._labelOptions.enableTooltip&&this._cell.classList.add("apply-common-tooltip"),this._cell.style.width="25px",this._cell.style.height="100%",this._cell.style.position="absolute",this._cell.style.left="0",this._cell.style.overflow="hidden",this._labelOptions.showLabels?(this._label=new g,this._label.setAxisNameInfo(this._axisInfo),this._cell.appendChild(this._label.getElement()),this._labelOptions.enableTooltip&&(0,b.setTooltipData)(this._cell,"text",e=>this._tooltipContent())):this._label=null,this._mouseEventHandler=new S.MouseEventHandler(this._cell,this,{treatHorzTouchDragAsPageScroll:!0,treatVertTouchDragAsPageScroll:!0}),this._canvasBinding=(0,r.createBoundCanvas)(this._cell,new r.Size(16,16)),this._canvasBinding.subscribeCanvasConfigured(this._canvasConfiguredHandler);const o=this._canvasBinding.canvas;o.style.position="absolute",o.style.left="0",o.style.top="0"}destroy(){this._canvasBinding.unsubscribeCanvasConfigured(this._canvasConfiguredHandler),this._canvasBinding.destroy(),this._properties.lineColor.unsubscribe(this,this._onPropertyChanged),this._mouseEventHandler.destroy()}mouseEnterEvent(e){this._mouseOrTouchEnterEvent(e)}touchStartEvent(e){this._mouseOrTouchEnterEvent(e)}mouseLeaveEvent(e){this._mouseOrTouchLeaveEvent(e)}touchEndEvent(e){this._mouseOrTouchLeaveEvent(e)}mouseClickEvent(e){this._mouseClickOrTapEvent(e)}tapEvent(e){this._mouseClickOrTapEvent(e)}update(){this._invalidated=!0}getElement(){return this._cell}onLabelHovered(){return this._onLabelHovered}setSizeAndOffset(e,t){if(e.w<0||e.h<0)throw new Error("Try to set invalid size to PriceAxisStub "+JSON.stringify(e));this._size.equals(e)||(this._size=e,this._canvasBinding.resizeCanvas({width:e.w,height:e.h}),this._cell.style.width=e.w+"px",this._cell.style.minWidth=e.w+"px",this._cell.style.height=e.h+"px",this._invalidated=!0),this._offset!==t&&(this._offset=t,this._cell.style.left=t+"px")}paint(e){if(e{this.setLabelMode((0,s.ensureNotNull)(this._fixedLabelMode)),this._fixedLabelMode=null})}}var C=i(20509);class T{constructor(e,t,i,s,n){this._axises=[],this._stubs=[], +this._size=new r.Size(0,0),this._onLabelHovered=new(v()),this._scalesProperties=e,this._priceAxisWidgetFactory=i,this._rendererOptionsProvider=s.rendererOptionsProvider,this._titlesProvider=s.titlesProvider,this._stubContextMenuProvider=s.stubContextMenuProvider,this._backgroundBasedTheme=s.backgroundBasedTheme,this._getBackgroundTopColor=s.getBackgroundTopColor,this._getBackgroundBottomColor=s.getBackgroundBottomColor,this._showHorisontalBorder=Boolean(s.showHorizontalBorder),this._labelsOptions={...w,...n};const o=this._scalesProperties.childs();this._stubProperties={lineColor:o.lineColor,fontSize:o.fontSize},this._side=t,this._cell=document.createElement("td"),this._cell.classList.add("chart-markup-table","price-axis-container"),this._cell.style.width="25px",this._cell.style.position="relative"}destroy(){this.setScales([],0,0,0)}onLabelHovered(){return this._onLabelHovered}setScales(e,t,i,r){for(;e.length>this._axises.length&&this._axises.lengtho;){const e=(0,s.ensureDefined)(this._stubs.pop());e.onLabelHovered().unsubscribeAll(this),this._cell.removeChild(e.getElement()),e.destroy()}for(;this._stubs.length{this._labelsOptions.showLabels&&this._labelsOptions.enableHighlight&&this._onLabelHovered.fire({owner:t,axis:(0,s.ensureNotNull)(e)},i)}),this._stubs.push(i),this._cell.appendChild(i.getElement())}const a=this._labelsOptions.enableMenu;1===r?this._stubs.forEach((e,t)=>e.setLabelMode(a?"gear":"symbol")):this._stubs.forEach((e,t)=>e.setLabelMode(te.updateCurrencyLabel())}optimalWidths(){return this._axises.map(e=>e.optimalWidth())}setSizes(e,t){this._size=new r.Size(t.reduce((e,t)=>e+t,0),e),this._cell.style.width=this._size.w+"px",this._cell.style.minWidth=this._size.w+"px",this._cell.style.height=this._size.h+"px",t.length!==this._axises.length+this._stubs.length&&(0,s.assert)(t.length===this._axises.length+this._stubs.length,"Widgets count should be the same as widths one");let i=0;this._forEachWidgetFromLeft((s,n)=>{const o=t[n];s.setSizeAndOffset(new r.Size(o,e),i),i+=o})}update(){this._axises.forEach(e=>e.update()),this._stubs.forEach(e=>e.update())}paint(e){this._axises.forEach((t,i)=>t.paint(e(i))), +this._stubs.forEach((t,i)=>t.paint(e(i)))}paintStubs(e){this._stubs.forEach(t=>t.paint(e))}restoreDefaultCursor(){this._axises.forEach(e=>e.restoreDefaultCursor())}getWidth(){return this._size.w}findAxisWidgetForScale(e){const t=this._axises.find(t=>t.priceScale()===e);return void 0===t?null:t}getScreenshotData(){const e=this._getImage();return{canvas:e,content:e.toDataURL(),contentHeight:this._size.h,contentWidth:this._size.w}}getImage(){return this._getImage()}slotsCount(){return this._axises.length+this._stubs.length}highlightPriceAxisByLabel(e){this._axises.forEach(t=>{const i=t.axisInfo();t.setHighlighted(null!==i&&i.equals(e))})}axes(){return this._axises}_stubParams(e){return{rendererOptionsProvider:this._rendererOptionsProvider,backgroundBasedTheme:this._backgroundBasedTheme,sourcesTitlesProvider:()=>this._titlesProvider(this._side,e),contextMenuItemsProvider:()=>this._stubContextMenuProvider(this._side,e),getBackgroundTopColor:this._getBackgroundTopColor,getBackgroundBottomColor:this._getBackgroundBottomColor,showHorizontalBorder:this._showHorisontalBorder}}_getImage(){const e=(0,r.createDisconnectedCanvas)(document,this._size),t=(0,r.getPrescaledContext2D)(e);let i=0;return this._forEachWidgetFromLeft((e,s)=>{const r=e.getWidth();0!==r&&(t.drawImage(e.getImage(),i,0,r,this._size.h),i+=r)}),e}_forEachWidgetFromLeft(e){const t=[...this._axises,...this._stubs],i="left"===this._side,s=i?-1:t.length,r=i?-1:1;for(let n=i?t.length-1:0;n!==s;n+=r)e(t[n],n,t)}}},28745:(e,t,i)=>{"use strict";i.d(t,{ActionBinder:()=>s});class s{constructor(e,t,i,s,r=null){this._property=t,this._undoModel=i,this._undoText=s,this._action=e,this.setValue(t.value()),t.subscribe(this,this._propertyChanged),null!==r?e.update({onExecute:r.bind(this)}):e.update({onExecute:this._onActionCallback.bind(this)})}destroy(){this._property.unsubscribe(this,this._propertyChanged)}value(){return this._action.isChecked()}setValue(e){this._action.update({checked:Boolean(e)})}_onActionCallback(){this._undoModel.setProperty(this._property,this.value(),this._undoText)}_propertyChanged(e){this.setValue(e.value())}}},12642:(e,t,i)=>{"use strict";i.d(t,{isCustomStudy:()=>r});const s={VbPFixed:!0,PivotPointsStandard:!0,VbPVisible:!0};function r(e){return e in s}},98824:(e,t,i)=>{"use strict";i.d(t,{MetaInfoHelper:()=>p});var s=i(16282),r=i(85062),n=i.n(r),o=i(77455),a=i(47903),l=i(65447);const c=["first_visible_bar_time","last_visible_bar_time"];function h(e){return!e.groupId&&!e.isHidden&&!c.includes(e.id)}var d=i(12642);const u=(0,l.getLogger)("Platform.GUI.PropertyDialog.Indicators.MetaInfo");class p{constructor(e){this._metaInfo=e}hasUserEditableInputs(){return this._metaInfo.inputs.some(h)}getUserEditableInputs(){return this._metaInfo.inputs.filter(h)}hasUserEditableProperties(){return n().isScriptStrategy(this._metaInfo)}hasUserEditableStyles(){const e=this._metaInfo;return e.plots.length>0||void 0!==e.bands||void 0!==e.filledAreas||(0,d.isCustomStudy)(e.shortId)||n().isScriptStrategy(this._metaInfo)||Object.values(e.graphics).some(e=>void 0!==e)} +getUserEditablePlots(){const e=new Set,t=this._metaInfo;return t.plots.filter(i=>{if((0,o.isColorerPlot)(i)||(0,o.isTextColorerPlot)(i)||(0,o.isDataOffsetPlot)(i)||(0,o.isOhlcColorerPlot)(i)||(0,o.isAlertConditionPlot)(i))return!1;if((0,o.isOhlcPlot)(i)){const r=i.target;if(e.has(r))return!1;e.add(r);const n=(0,s.ensureDefined)(t.ohlcPlots);return!(0,s.ensureDefined)(n[r]).isHidden}{const e=t.styles?t.styles[i.id]:void 0;return void 0===e||!e.isHidden}})}hasUserEditableOptions(){return this.hasUserEditableInputs()||this.hasUserEditableProperties()||this.hasUserEditableStyles()}getStrategyProperties(){const e=this._metaInfo,t=e.inputs.filter(m),i={..._};for(const s of t){const t=s.internalID;i[t]=s,_.hasOwnProperty(t)||u.logWarn(`Unknown strategy input internal id ${t} in ${e.fullId}`)}return(0,a.clone)(i)}}const _={currency:void 0,backtest_fill_limits_assumption:void 0,calc_on_every_tick:void 0,calc_on_order_fills:void 0,commission_value:void 0,commission_type:void 0,initial_capital:void 0,pyramiding:void 0,slippage:void 0,default_qty_type:void 0,default_qty_value:void 0,margin_long:void 0,margin_short:void 0};function m(e){return"strategy_props"===e.groupId}},6696:(e,t,i)=>{"use strict";i.d(t,{checkAuthBeforeSaveLoad:()=>r});var s=i(27490);function r(e,t){s.enabled("saveload_requires_authentication")?window.runOrSignIn(e,t):e()}},24261:(e,t,i)=>{"use strict";i.d(t,{AbstractJsonStoreService:()=>n,CommonJsonStoreService:()=>o});var s=i(5729),r=i.n(s);class n{constructor(e,t,i,s,n){this._onChange=new(r()),this._handleChange=()=>{this._onChange.fire(this.get())},this._crossTabEvents=e,this._jsonKeyValueStore=t,this.CROSSTAB_EVENT_NAME=i,this.JSON_STORE_KEY=s,this.defaultStoreValue=this._serialize(n),this._subscribe()}get(){const e=this._jsonKeyValueStore.getJSON(this.JSON_STORE_KEY,this.defaultStoreValue);return this._deserialize(e)}set(e,t){const i=this._serialize(e);this._jsonKeyValueStore.setJSON(this.JSON_STORE_KEY,i,t),this._crossTabEvents.emit(this.CROSSTAB_EVENT_NAME),this._onChange.fire(e)}getOnChange(){return this._onChange}destroy(){this._unsubscribe(),this._onChange.destroy(),delete this._onChange}_subscribe(){this._crossTabEvents.on(this.CROSSTAB_EVENT_NAME,this._handleChange),this._jsonKeyValueStore.onSync.subscribe(this,this._handleChange)}_unsubscribe(){this._crossTabEvents.off(this.CROSSTAB_EVENT_NAME,this._handleChange),this._jsonKeyValueStore.onSync.unsubscribe(this,this._handleChange)}}class o extends n{_serialize(e){return e}_deserialize(e){return e}}},93357:(e,t,i)=>{"use strict";i.d(t,{LoadChartService:()=>d});var s=i(27490),r=i(24261);class n extends r.CommonJsonStoreService{constructor(e,t){super(e,t,"FAVORITE_CHARTS_CHANGED","loadChartDialog.favorites",{})}}var o=i(90774),a=i(2308),l=i(64222),c=i(6696),h=i(58738);class d extends h.DialogRenderer{constructor(e=null){super(),this._favoriteChartsService=new n(a.TVXWindowEvents,l),this._chartWidgetCollection=null,this._promise=null,this._dialog=null,this._subscribe=e=>{this._setVisibility(e)},this._getChartEntry=e=>({id:e.id,url:e.url,title:e.name, +symbol:e.short_symbol,interval:e.interval,toolsCount:0,modified:e.modified_iso,active:()=>this._isActiveChart(e.id),openAction:()=>o.backend.loadChart(e),deleteAction:()=>o.backend.removeChart(e.image_url).then(()=>this._deleteChart(e.id)),favoriteAction:this._updateFavorites}),this._updateFavorites=e=>this._favoriteChartsService.set(e),this._isActiveChart=e=>null!==this._chartWidgetCollection&&e===this._chartWidgetCollection.metaInfo.id.value(),this._deleteChart=e=>{this._isActiveChart(e)&&(s.enabled("saveload_storage_customization")?null!==this._chartWidgetCollection&&this._chartWidgetCollection.clearChartMetaInfo():location.href="/chart/"+location.search)},this._chartWidgetCollection=e}showLoadDialog(){(0,c.checkAuthBeforeSaveLoad)(this._showLoadDialog.bind(this),{source:"Load chart",sourceMeta:"Chart"})}show(){this.showLoadDialog()}hide(){var e,t;null===(e=this._dialog)||void 0===e||e.hide(),null===(t=this._dialog)||void 0===t||t.visible().unsubscribe(this._subscribe)}_showLoadDialog(){(s.enabled("saveload_requires_authentication")&&!window.is_authenticated?Promise.resolve([]):o.backend.getCharts()).then(e=>e.map(this._getChartEntry)).then(e=>{const t=this._promise=Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(3708),i.e(8604),i.e(2359),i.e(7400),i.e(7353),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(5030),i.e(7799),i.e(5009)]).then(i.bind(i,59879)).then(i=>{if(this._promise===t){this._dialog&&(this._dialog.hide(),this._dialog.visible().unsubscribe(this._subscribe));const t={charts:e,favoriteChartsService:this._favoriteChartsService,chartWidgetCollection:this._chartWidgetCollection};this._dialog=new i.LoadChartDialogRenderer(t),this._dialog.visible().subscribe(this._subscribe),this._dialog.show()}})})}}},72757:(e,t,i)=>{"use strict";i.d(t,{SaveChartService:()=>g});var s=i(27490),r=i(32856),n=i.n(r),o=i(18437),a=i(9884),l=i(6696);i(95068),i(67869);var c=i(79881);i(90774);async function h(){return!0}var d=i(87614);class u{constructor(e,t){this._visibility=new(n())(!1),this._chartWidgetCollection=e,this._doSave=t}hide(){var e;null===(e=this._hide)||void 0===e||e.call(this),this._visibility.setValue(!1)}visible(){return this._visibility.readonly()}}class p extends u{cloneChart(){this._cloneChart().then(()=>this._visibility.setValue(!0))}show(){(0,l.checkAuthBeforeSaveLoad)(this.cloneChart.bind(this),{source:"Clone chart"})}async _cloneChart(){const e=this._chartWidgetCollection,t=await h(),i=e.metaInfo.name.value();t&&(this._hide=await(0,d.showRename)({title:(0,c.t)("Copy Chart Layout"),text:(0,c.t)("Enter a new chart layout name")+":",maxLength:64,initValue:(0,c.t)("{title} copy",{context:"ex: AAPL chart copy"}).format({title:e.metaInfo.name.value()}),onRename:({newValue:t,dialogClose:r})=>{s.enabled("saveload_storage_customization")&&(e.metaInfo.uid.deleteValue(),e.metaInfo.id.deleteValue(),e.metaInfo.name.setValue(t),this._doSave(void 0,void 0,()=>{e.metaInfo.name.setValue(i)})),r()},onClose:()=>this._visibility.setValue(!1)}))}}class _ extends u{ +show(e,t,i){this._saveNewChart(e,t,i).then(()=>this._visibility.setValue(!0))}async _saveNewChart(e,t,i){const s=this._chartWidgetCollection,r=s.metaInfo.name.value();await h()&&(this._hide=await(0,d.showRename)({title:(0,c.t)("Save New Chart Layout"),text:(0,c.t)("Enter a new chart layout name")+":",maxLength:64,initValue:r,onRename:({newValue:n,dialogClose:o})=>{s.metaInfo.name.setValue(n),this._doSave(e,t,()=>{s.metaInfo.name.setValue(r),null==i||i()}),o()},onClose:()=>this._visibility.setValue(!1)}))}}class m extends u{show(){this._renameChart(),this._visibility.setValue(!0)}_renameChart(){(0,l.checkAuthBeforeSaveLoad)(async()=>{const e=this._chartWidgetCollection,t=e.metaInfo.name.value();this._hide=await(0,d.showRename)({title:(0,c.t)("Rename Chart Layout"),text:(0,c.t)("Enter a new chart layout name")+":",maxLength:64,initValue:t,onRename:({newValue:i,dialogClose:s})=>{e.metaInfo.name.setValue(i),this._doSave(void 0,void 0,()=>{e.metaInfo.name.setValue(t)}),s()},onClose:()=>this._visibility.setValue(!1)})},{source:"Rename chart"})}}class g{constructor(e,t){this._autosaveTimer=null,this._watchedAutoSaveEnabled=new(n()),this._toggleAutoSaveEnabledHandler=this._toggleAutoSaveEnabled.bind(this),this._doSave=(e,t,i,s)=>{const r=this._chartWidgetCollection;void 0!==e&&e(),this._chartSaver.saveChartSilently(e=>{var i;i=r.metaInfo.uid.value(),"/chart/"===location.pathname&&(location.href="/chart/"+i),void 0!==t&&t(e)},()=>{void 0!==i&&i()},{autoSave:Boolean(s)})},this._chartWidgetCollection=e,this._chartSaver=t,this._createController=new _(e,this._doSave),this._renameController=new m(e,this._doSave),this._saveAsController=new p(e,this._doSave),this._chartChangesWatcher=new a.ChartChangesWatcher(e.undoHistory,e.lineToolSynchronizerHasChanges,t,o),e.saveKeysPressed().subscribe(this,this.saveChartOrShowTitleDialog),this._chartChangesWatcher.getOnChange().subscribe(this,this._onStateChanged)}autoSaveEnabled(){return this._watchedAutoSaveEnabled}destroy(){0}getCreateController(){return this._createController}getRenameController(){return this._renameController}getSaveAsController(){return this._saveAsController}cloneChart(){this._saveAsController.cloneChart()}saveChartAs(){this._saveAsController.show()}renameChart(){this._renameController.show()}saveNewChart(e,t,i){this._createController.show(e,t,i)}saveExistentChart(e,t,i){this._doSave(e,t,i)}hasChanges(){return this._chartChangesWatcher.hasChanges()}saveChartOrShowTitleDialog(e,t,i){const s=window.saver.isSaveInProcess(),r=this._chartChangesWatcher.hasChanges(),n=!!this._chartWidgetCollection.metaInfo.id.value();window.is_authenticated&&(s||!r&&n)||(0,l.checkAuthBeforeSaveLoad)(()=>{null!=this._chartWidgetCollection.metaInfo.id.value()?this.saveExistentChart(e,t,i):this.saveNewChart(e,t,i)},{source:"Save chart",sourceMeta:"Chart"})}whenReadyToSave(e){this._chartSaver.whenReadyToSave(e)}saveToJSON(){return this._chartSaver.saveToJSON()}saveChartSilently(e,t,i){this._chartSaver.saveChartSilently(e,t,i)}setAutoSaveEnabled(e){ +window.is_authenticated&&window.saver.isSaveInProcess()||(0,l.checkAuthBeforeSaveLoad)(()=>{this._watchedAutoSaveEnabled.setValue(e)},{source:"AutoSave chart"})}saveChartLineTools(e,t,i){return this._chartSaver.saveChartLineTools(e,t,i)}_autoSaveEnabledSettingHandler(e){0}_toggleAutoSaveEnabled(e){0}_enableAutoSave(){0}_disableAutoSave(){0}_onStateChanged(e){e?this._startAutosave():this._stopAutosave()}_startAutosave(){s.enabled("charts_auto_save")&&null===this._autosaveTimer&&(this._autosaveTimer=setTimeout(()=>{this._autosaveTimer=null,this._chartWidgetCollection.metaInfo.id.value()&&this._doSave(void 0,void 0,void 0,!0)},6e4))}_stopAutosave(){null!==this._autosaveTimer&&(clearInterval(this._autosaveTimer),this._autosaveTimer=null)}}},10616:(e,t,i)=>{"use strict";i.d(t,{showMarketOpenStatusProperty:()=>o,restoreShowMarketOpenStatusProperty:()=>a});var s=i(68137),r=i(64222);function n(){return r.getBool("Chart.ShowMarketOpenStatus",!0)}const o=(0,s.createPrimitiveProperty)(n());function a(){o.setValue(!0),r.remove("Chart.ShowMarketOpenStatus")}r.onSync.subscribe(null,()=>o.setValue(n())),o.subscribe(null,()=>r.setValue("Chart.ShowMarketOpenStatus",o.value()))},96431:(e,t,i)=>{"use strict";i.d(t,{StudyTemplates:()=>p});var s=i(79881),r=i(90774),n=i(87438),o=i(5729),a=i.n(o),l=i(32856),c=i.n(l),h=i(87614);const d=(0,i(65447).getLogger)("Platform.StudyTemplates"),u=(0,s.t)("Do you really want to delete Study Template '{name}' ?");class p{constructor(e){this._chartWidgetCollection=e.chartWidgetCollection,this._favoriteStudyTemplatesService=e.favoriteStudyTemplatesService,window.loginStateChange.subscribe(null,r.backend.invalidateStudyTemplatesList),this._list=new(c())([]),this._onChange=new(a()),this._list.subscribe(()=>this._onChange.fire())}findRecordByName(e){return this._list.value().find(t=>t.name===e)||null}showSaveAsDialog(){const e=this._chartWidgetCollection.activeChartWidget.value().model();Promise.all([i.e(3876),i.e(7039),i.e(4595),i.e(5698),i.e(3996),i.e(4078),i.e(8193),i.e(706),i.e(9602),i.e(2273),i.e(83),i.e(1403),i.e(5514),i.e(306),i.e(2402),i.e(3590),i.e(1829),i.e(7591),i.e(6631)]).then(i.bind(i,10342)).then(t=>{new t.StudyTemplateSaver({controller:e,onSave:e=>{this._list.setValue(e)}}).show()})}applyTemplate(e){const t=this.findRecordByName(e);null!==t?window.runOrSignIn(()=>{const e=this._chartWidgetCollection.activeChartWidget.value(),i=i=>{(0,n.trackEvent)("GUI","Load Study Template"),e.model().applyStudyTemplate(JSON.parse(i.content),t.name)};void 0!==t.id?t.is_default?r.backend.getStandardStudyTemplateContentById(t.id,i):r.backend.getStudyTemplateContentById(t.id,i):r.backend.getStudyTemplateContent(t.name).then(i)},{source:"Study templates apply"}):d.logNormal(`Template ${e} not found in cache`)}deleteStudyTemplate(e){const t=this.findRecordByName(e);null!==t?this._removeTemplate(t):d.logNormal(`Template ${e} not found in cache`)}list(){return this._list.value()}getOnChange(){return this._onChange}refreshStudyTemplateList(e){r.backend.getStudyTemplatesList().then(t=>{this._list.setValue(t), +void 0!==e&&e()})}invalidate(){r.backend.invalidateStudyTemplatesList()}_removeTemplate(e){window.runOrSignIn(()=>{(0,h.showConfirm)({text:u.format({name:e.name}),onConfirm:({dialogClose:t})=>new Promise(i=>{const s=()=>{this.refreshStudyTemplateList(()=>{const s=this.list();this._list.setValue(s.filter(t=>t!==e)),this._favoriteStudyTemplatesService&&this._favoriteStudyTemplatesService.remove(e.name),i(),t()})};r.backend.invalidateStudyTemplatesList(),void 0!==e.id?r.backend.removeStudyTemplateById(e.id,s):r.backend.removeStudyTemplate(e.name).then(s)})})},{source:"Study templates delete"})}}},72454:(e,t,i)=>{"use strict";i.d(t,{canShowSpreadActions:()=>c,globalKeypressMatches:()=>h,intervalIsSupported:()=>l,parseIntervalValue:()=>a});var s=i(27490),r=i(1467),n=i(24287),o=i(35001);new RegExp("^quandl","i");function a(e){let t;t=/^[,\s]*(^[1-9][0-9]*)?\s*([hdwmst]?)\s*$/i;const i=t.exec(e)||[],s=~~i[1],r=i[2]&&i[2].toUpperCase()||null,n={qty:!s&&r?1:s,unit:r};return n.error=!s&&!r,n.intraday=!(n.error||n.unit&&"H"!==n.unit&&"S"!==n.unit&&"T"!==n.unit),n}function l(e){if(s.enabled("allow_supported_resolutions_set_only")){const t=o.Interval.normalize(e);return null!==t&&(0,r.isAvailable)(t)}{const t=a(e);if(t.error)return!1;if(t.intraday)return n.linking.intraday.value();{const e=n.linking.supportedResolutions.value();return!e||null!==t.unit&&!!~e.indexOf(t.unit)}}}function c(){let e=!1;return s.enabled("show_spread_operators")&&(e=!0),e}function h(e){return!e.ctrlKey&&(!e.metaKey&&(!!e.charCode&&(!(!e.which||e.which<=32)&&(null===e.target||!/^(input|textarea)$/i.test(e.target.tagName)))))}},40801:(e,t,i)=>{"use strict";function s(){return Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(4595),i.e(5698),i.e(3996),i.e(7936),i.e(3708),i.e(8858),i.e(5514),i.e(306),i.e(2402),i.e(1529),i.e(5383),i.e(3590),i.e(5030),i.e(9772),i.e(1754)]).then(i.bind(i,99319))}i.d(t,{loadNewSymbolSearch:()=>s})},56569:(e,t,i)=>{"use strict";i.d(t,{TimeAxisWidget:()=>w});var s=i(16282),r=i(79881),n=i(90963),o=i(73395),a=i(29448),l=i(16932),c=i(47329),h=i(47903),d=i(92137),u=i(54837),p=i(5729),_=i.n(p),m=i(79204),g=i(58252),f=i(46374),v=i(21698),S=i(87438),y=i(6799);i(46596);const b={contextMenuEnabled:!0,timezoneMenuEnabled:!0,pressedMouseMoveScale:!0};new n.TranslatedString("change session",(0,r.t)("change session")),(0,r.t)("Session");class w{constructor(e,t,i,s,r){this._rendererOptions=null,this._onLabelHovered=new(_()),this._mousedown=!1,this._currentCursorClassName="invalid",this._options=(0,h.merge)((0,h.clone)(b),t||{}),this.chart=e,this._properties=e.properties().childs().scalesProperties,this._element=document.createElement("tr"),this._backgroundBasedTheme=r;const n=()=>this.backgroundColor(),o=()=>{throw new Error("Time axis does not support real price scales")},c={titlesProvider:i,stubContextMenuProvider:(e,t)=>{const i=this.getContextMenuActions(!0);let r=s(e,t);if(r[r.length-1]===this.chart.actions().scalesProperties){const e=[new f.Separator].concat(i);Array.prototype.splice.apply(r,[r.length-2,0,...e])}else r.push(new f.Separator), +r=r.concat(i);return r},backgroundBasedTheme:r,rendererOptionsProvider:e.model().model().rendererOptionsProvider(),getBackgroundTopColor:n,getBackgroundBottomColor:n,showHorizontalBorder:!0};this._lhsStubContainer=new m.PriceAxisesContainer(this._properties,"left",o,c,this._options.priceAxisLabelsOptions),this._lhsStubContainer.onLabelHovered().subscribe(this,(e,t)=>{this._onLabelHovered.fire(e,t)}),this._rhsStubContainer=new m.PriceAxisesContainer(this._properties,"right",o,c,this._options.priceAxisLabelsOptions),this._rhsStubContainer.onLabelHovered().subscribe(this,(e,t)=>{this._onLabelHovered.fire(e,t)}),this._element.appendChild(this._lhsStubContainer.getElement()),this._cell=document.createElement("td"),this._element.appendChild(this._cell),this._cell.classList.add("chart-markup-table","time-axis"),this._cell.style.height="25px",this._dv=document.createElement("div"),this._dv.style.width="100%",this._dv.style.height="100%",this._dv.style.position="relative",this._dv.style.overflow="hidden",this._cell.appendChild(this._dv),this._canvasConfiguredHandler=()=>this.chart.model().model().lightUpdate(),this._canvasBinding=(0,l.createBoundCanvas)(this._dv,new l.Size(16,16)),this._canvasBinding.subscribeCanvasConfigured(this._canvasConfiguredHandler);const d=this._canvasBinding.canvas;d.style.position="absolute",d.style.zIndex="1",d.style.left="0",d.style.top="0",this._topCanvasConfiguredHandler=()=>this.chart.model().model().lightUpdate(),this._topCanvasBinding=(0,l.createBoundCanvas)(this._dv,new l.Size(16,16)),this._topCanvasBinding.subscribeCanvasConfigured(this._topCanvasConfiguredHandler);const u=this._topCanvasBinding.canvas;u.style.position="absolute",u.style.zIndex="2",u.style.left="0",u.style.top="0",this._element.appendChild(this._rhsStubContainer.getElement()),this.restoreDefaultCursor(),this.update(),this._minVisibleSpan=g.MINUTE_SPAN,this._mouseEventHandler=new a.MouseEventHandler(this._topCanvasBinding.canvas,this,{treatVertTouchDragAsPageScroll:!0,treatHorzTouchDragAsPageScroll:!1}),this.size=new l.Size(0,0)}destroy(){this._mouseEventHandler.destroy(),this._topCanvasBinding.unsubscribeCanvasConfigured(this._topCanvasConfiguredHandler),this._topCanvasBinding.destroy(),this._canvasBinding.unsubscribeCanvasConfigured(this._canvasConfiguredHandler),this._canvasBinding.destroy(),this._rhsStubContainer.onLabelHovered().unsubscribeAll(this),this._lhsStubContainer.onLabelHovered().unsubscribeAll(this),this._lhsStubContainer.destroy(),this._rhsStubContainer.destroy(),this.chart.properties().childs().paneProperties.childs().background.unsubscribeAll(this)}setCursor(e){let t="";"grabbing"!==e&&"ew-resize"!==e||(t="time-axis--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._cell.classList.remove(this._currentCursorClassName),t&&this._cell.classList.add(t),this._currentCursorClassName=t,this._cell.style.cursor)}restoreDefaultCursor(){this.setCursor("")}getElement(){return this._element}optimalHeight(){const e=this.rendererOptions() +;return Math.ceil(e.borderSize+e.offsetSize+e.fontSize+e.paddingTop+e.paddingBottom+e.labelBottomOffset)}setSizes(e,t,i){this.size&&this.size.equals(e)||(this.size=e,this._canvasBinding.resizeCanvas({width:e.w,height:e.h}),this._topCanvasBinding.resizeCanvas({width:e.w,height:e.h}),this._cell.style.width=e.w+"px",this._cell.style.height=e.h+"px"),this._lhsStubContainer.setSizes(e.h,t),this._rhsStubContainer.setSizes(e.h,i)}rendererOptions(){if(!this._rendererOptions||this._rendererOptions.fontSize!==this.fontSize()){const e=this.fontSize();this._rendererOptions={borderSize:1,offsetSize:5,fontSize:e,font:(0,o.makeFont)(e,u.CHART_FONT_FAMILY,""),widthCache:new d.TextWidthCache,paddingTop:3*e/12,paddingBottom:3*e/12,paddingHorizontal:9*e/12,labelBottomOffset:4*e/12}}return this._rendererOptions}backgroundColor(){return this.chart.model().model().backgroundColor().value()}lineColor(){return this._properties.childs().lineColor.value()}textColor(){return this._properties.childs().textColor.value()}fontSize(){return this._properties.childs().fontSize.value()}baseFont(){return(0,o.makeFont)(this.fontSize(),u.CHART_FONT_FAMILY)}baseBoldFont(){return(0,o.makeFont)(this.fontSize(),u.CHART_FONT_FAMILY,"","bold")}hasCanvas(e){return this._canvasBinding.canvas===e||this._topCanvasBinding.canvas===e}onLabelHovered(){return this._onLabelHovered}getScreenshotData(){return{content:this._canvasBinding.canvas.toDataURL(),canvas:this._canvasBinding.canvas,contentWidth:this.size.w,contentHeight:this.size.h,lhsStub:this._lhsStubContainer.getScreenshotData(),rhsStub:this._rhsStubContainer.getScreenshotData()}}getContextMenuActions(e){const t=this.chart;t.updateActions();const i=t.actions(),s=[];return e||s.push(i.timeScaleReset,new f.Separator),this._options.timezoneMenuEnabled&&s.push(i.applyTimeZone),s.push(i.sessionBreaks),s}update(){if(!this.chart.hasModel())return;const e=this.chart.model().timeScale().marks();if(e){this._minVisibleSpan=g.YEAR_SPAN;for(const t of e)this._minVisibleSpan=Math.min(t.span,this._minVisibleSpan)}}updatePriceAxisStubs(){const e=this.chart.model().model(),t=this.chart.isMaximizedPane()?(0,s.ensureNotNull)(this.chart.maximizedPaneWidget()).state():e.paneForSource(e.mainSeries());if(!t)return;const i=e.priceScaleSlotsCount();this._lhsStubContainer.setScales([],i.left,t.leftPriceScales().length,i.left+i.right),this._rhsStubContainer.setScales([],i.right,t.rightPriceScales().length,i.left+i.right)}paint(e){if(e===c.InvalidationLevel.None)return;const t=(0,l.getContext2D)(this._topCanvasBinding.canvas);if(e>c.InvalidationLevel.Cursor){const i=(0,l.getContext2D)(this._canvasBinding.canvas),s=this._canvasBinding.pixelRatio;this.drawBackground(i,s),this.chart.hasModel()&&(this.drawBorder(i,s),this.drawTickMarks(i,s),this.drawBackLabels(i,s),this.drawCrossHairLabel(t,s)),this._lhsStubContainer.paintStubs(e),this._rhsStubContainer.paintStubs(e)}this.drawCrossHairLabel(t,this._topCanvasBinding.pixelRatio)}drawBackground(e,t){if((0, +l.clearRect)(e,0,0,Math.ceil(this.size.w*t)+1,Math.ceil(this.size.h*t)+1,this.backgroundColor()),!this.chart.hasModel())return;const i=this.chart.model();if(!i.timeScale().isEmpty()){const s=i.model().selection().lineDataSources().reduce((e,t)=>{const i=t.timeAxisPoints();return 0===i.length?e:e.concat(i)},[]);s.length>0&&this._hightlightBackground(e,s,t)}const s=i.model().crossHairSource();s.startMeasurePoint()&&this._hightlightBackground(e,s.measurePoints(),t)}drawBorder(e,t){e.save(),e.fillStyle=this.lineColor();const i=Math.max(1,Math.floor(this.rendererOptions().borderSize*t)),s=Math.ceil(this.size.w*t);e.fillRect(0,0,s+1,i),e.restore()}drawTickMarks(e,t){const i=this.chart.model().timeScale().marks();if(!i||0===i.length)return;let s=i.reduce((e,t)=>e.span>t.span?e:t,i[0]).span;s>30&&s<40&&(s=30),e.save(),e.strokeStyle=this.lineColor();const r=this.rendererOptions(),n=r.borderSize+r.offsetSize+r.paddingTop+r.fontSize/2;e.textAlign="center",e.textBaseline="middle",e.fillStyle=this.textColor(),(0,l.drawScaled)(e,t,()=>{e.font=this.baseFont();for(let t=0;t=s&&e.fillText(r.label,r.coord,n)}}),e.restore()}drawBackLabels(e,t){var i;e.save();const s=new Set,r=this.chart.model().model();let n=r.dataSources();const o=r.selection().allSources();for(const e of o)s.add(e);r.hoveredSource()&&s.add(r.hoveredSource());for(const e of r.sourcesBeingMoved())s.add(e);const a=r.customSourceBeingMoved();null!==a&&s.add(a);const l=null!==(i=r.lineBeingEdited())&&void 0!==i?i:r.lineBeingCreated();l&&s.add(l),s.add(this.chart.model().crossHairSource()),n=n.concat(r.customSources());const c=this.rendererOptions();for(let i=0;i=s&&(s=a,n=o),a<=i&&(i=a,r=o)}}return n&&t.push(n),r&&t.push(r),t}_zoomAvailable(){return!this.chart.model().timeScale().isEmpty()&&this.chart.model().model().zoomEnabled()&&this._options.pressedMouseMoveScale}_mouseDownOrTouchStartEvent(e){if(this._mousedown||!this._zoomAvailable())return;this._mousedown=!0;const t=this.chart.model();t.timeScale().isEmpty()||t.startScaleTime(e.localX)}_pressedMouseOrTouchMoveEvent(e){this._zoomAvailable()&&this.chart.model().scaleTimeTo(e.localX)}_mouseUpOrTouchEndEvent(e){this._zoomAvailable()&&(this._mousedown=!1,this.chart.model().endScaleTime(),this.restoreDefaultCursor())}_contextMenuOrTouchContextMenuEvent(e){this._options.contextMenuEnabled&&y.ContextMenuManager.showMenu(this.getContextMenuActions(),e,{statName:"TimeScaleContextMenu"},{menuName:"TimeScaleContextMenu"})}_mouseOrTouchEnterEvent(e){this._zoomAvailable()&&this.setCursor("ew-resize")}_mouseOrTouchLeaveEvent(e){this.restoreDefaultCursor()}_mouseDoubleClickOrDoubleTapEvent(e){(0,S.trackEvent)("GUI","Double click time scale"),this.chart.model().resetTimeScale()}}},80525:(e,t,i)=>{"use strict";i.d(t,{tradingService:()=>n});var s=i(86573);const r={id:"TradingService"};function n(){return(0,s.hasService)(r)?(0,s.service)(r):null}},75938:(e,t,i)=>{"use strict";i.d(t,{TradingViewApiBase:()=>d});i(16282);var s=i(24287),r=i(87438),n=i(99182),o=i(14829),a=i(5729),l=i.n(a);class c{constructor(e){this._toolbarThemeChanged=new(l()),this._onWatchedThemeChanged=e=>{this._toolbarThemeChanged.fire(e)},this._opts=e,o.watchedTheme.subscribe(this._onWatchedThemeChanged)}destroy(){o.watchedTheme.unsubscribe(this._onWatchedThemeChanged)}isStdTheme(){const e=this._opts.chartWidgetCollection.getAll().every(e=>(0,n.isStdTheme)((0, +n.extractThemeFromModel)(e.model())));return Promise.resolve(e)}async setStdTheme(e,t=!0,i){await(0,n.loadTheme)(e,!0,!1,this._opts.chartWidgetCollection,t,i)}setStdThemeForLayout(e,t=!0){(0,o.setTheme)(e),t&&(0,n.syncTheme)()}getCurrentThemeName(){return(0,n.getCurrentTheme)().name}toolbarThemeChanged(){return this._toolbarThemeChanged}}function h(){throw new Error("not implemented")}class d{constructor(e){this._studyTemplatesDrawer=null,this._themesApi=null,this._newsApiDeferredPromise=null,this._newsApiRejectionReason=null,this._watchlistApiDeferredPromise=null,this._watchlistApiRejectionReason=null,this._widgetbarApiDeferredPromise=null,this._widgetbarApiRejectionReason=null,this._isDestroyed=!1,this._widgebarApi=null;const{chartApiInstance:t,chartWidgetCollection:i,studyMarket:r,financialsDialog:n,saveChartService:o,loadChartService:a}=e;this._chartWidgetCollection=i,this._studyMarket=r,this._financialsDialog=n,this._saveChartService=o,this._loadChartLayoutDialog=a,this._intervalsService=null,this._alertsWidgetDialog=null,this._detailsDialogController=null,this._supportedChartStylesSpawn=s.linking.supportedChartStyles.spawn(),this._chartWidgetCollection.onAboutToBeDestroyed.subscribe(null,()=>this.destroy(),!0)}destroy(){var e,t,i;this._supportedChartStylesSpawn.destroy(),null===(e=this._intervalsService)||void 0===e||e.destroy(),null===(t=this._themesApi)||void 0===t||t.destroy(),null===(i=this._widgebarApi)||void 0===i||i.destroy(),this._widgetbarApiRejectionReason="This ITradingViewApi instance has been destroyed",this._isDestroyed=!0}themes(){return null===this._themesApi&&(this._themesApi=new c({chartWidgetCollection:this._chartWidgetCollection})),this._themesApi}dialogs(){var e,t,i,s,r,n;return{Indicators:this._studyMarket,Financials:this._financialsDialog,Compare:this._chartWidgetCollection.getCompareDialogRenderer(),ObjectsTree:null,ChartProperties:this._chartWidgetCollection.getChartPropertiesDialogRenderer(),ChartLayoutSaveAs:null!==(t=null===(e=this._saveChartService)||void 0===e?void 0:e.getSaveAsController())&&void 0!==t?t:null,ChartLayoutRename:null!==(s=null===(i=this._saveChartService)||void 0===i?void 0:i.getRenameController())&&void 0!==s?s:null,ChartLayoutCreate:null!==(n=null===(r=this._saveChartService)||void 0===r?void 0:r.getCreateController())&&void 0!==n?n:null,ChartLayoutLoad:this._loadChartLayoutDialog,Alerts:this._alertsWidgetDialog,Details:this._detailsDialogController,FinancialsCharts:null}}studyTemplatesDrawerApi(){h()}intervalsService(){h()}supportedChartTypes(){return this._supportedChartStylesSpawn}setBrokerName(e){this._chartWidgetCollection.setBroker(e)}disableTrackingEvents(){(0,r.disableTrackingEvents)()}setSymbolSearchUI(e){h()}setLayout(e,t){(null==t?void 0:t.withUndo)?this._chartWidgetCollection.setChartLayoutWithUndo(e):this._chartWidgetCollection.setLayout(e)}watchlist(){h()}setWatchlistApiPromise(e){h()}news(){h()}setNewsApiPromise(e){h()}widgetbar(){h()}setWidgetbarApiPromise(e){h()}}},54736:(e,t,i)=>{"use strict" +;var s=i(5729),r=i(32856),n=i(24287).linking,o=i(4184),a=i(1799).layouts,l=i(18437),c=i(6799).ContextMenuManager,h=i(15521),d=i(1467),u=i(90774).backend,p=i(65447),_=i(87614).showWarning,m=i(87614).showConfirm,g=i(85125),f=i(28164).CLOSE_POPUPS_AND_DIALOGS_COMMAND,v=i(35001).Interval,S=i(11092).saveDefaultProperties,y=i(9884).ChartChangesWatcher,b=i(75938).TradingViewApiBase,w=i(85062),P=i(25682).getStudyInputsInfo;e.exports=class extends b{constructor(e){const{chartWidgetCollection:t,chartApiInstance:i=null,saveChartService:r,loadChartService:o,alertsDispatcher:a,supportTicketData:l,favoriteServices:c,studyMarket:h=null,financialsDialog:d=null}=e;super({chartApiInstance:i,chartWidgetCollection:t,studyMarket:h,financialsDialog:d,saveChartService:r,loadChartService:o}),this._chartApiInstance=i,this._loadChartService=o,this._alertsDispatcher=a,this._supportTicketData=l,this._favoriteServices=c,this._proxyWatchListChangedDelegate=null,this._lockDrawingsWatchedValue=null,this._hideDrawingsWatchedValue=null,this._hideIndicatorsWatchedValue=null,this._magnetEnabledWatchedValue=null,this._magnetModeWatchedValue=null,this._replayApi=null,this._chartChangesWatcher=null,this._hasChartChangesWatchedValue=null,this._getDataSourceHub=function(){return t.activeChartWidget.value().model().model()},this._chartWidgetCollection.getResizerDetacher=function(){return t.activeChartWidget.value().getResizerDetacher()},this._alertService=this._alertsDispatcher?new(void 0)(this._alertsDispatcher,this._getDataSourceHub):null,this._activeChangedChangedDelegate=new s,this._chartWidgetCollection.activeChartWidget.subscribe(function(){this._activeChangedChangedDelegate.fire()}.bind(this)),this._chartWidgets=new WeakMap,this._activateChart=function(e){t.activeChartWidget.setValue(e)},this.linking=n}subscribe(e,t){l.subscribe(e,t)}unsubscribe(e,t){l.unsubscribe(e,t)}onContextMenu(e){l.subscribe("onContextMenu",(function(t){t.callback(e(t.unixtime,t.price))}))}onGrayedObjectClicked(e){l.subscribe("onGrayedObjectClicked",e)}activeChart(){return this._getChartWidgetApi(this._chartWidgetCollection.activeChartWidget.value())}_getChartWidgetApi(e){var t=this._chartWidgets.get(e);return void 0===t&&(t=new o(e,this._activateChart.bind(null,e)),this._chartWidgets.set(e,t)),t}onActiveChartChanged(){return this._activeChangedChangedDelegate}changeSymbol(e,t,i){n.interval.setValue(v.normalize(t)),n.symbol.setValue(e),i&&this.activeChart().onDataLoaded().subscribe(null,i,!0)}layout(){return this._chartWidgetCollection.layout.value()}layoutName(){return this._chartWidgetCollection.metaInfo.name.value()}layoutNameWatchedValue(){return this._chartWidgetCollection.metaInfo.name.readonly()}layoutSettingsDrawer(){throw new Error("not implemented")}chartsCount(){return a[this.layout()].count}viewMode(){throw new Error("not implemented")}viewModeWatchedValue(){throw new Error("not implemented")}setForceFullscreenMode(){throw new Error("not implemented")}setMultichartMode(){throw new Error("not implemented")}setActiveChart(e){throw new Error("not implemented")}chart(e){ +if(void 0===e&&(e=0),e<0||e>=this.chartsCount())throw Error("Incorrect index: "+e);return this._getChartWidgetApi(this._chartWidgetCollection.getAll()[e])}getSymbolInterval(e){var t={symbol:n.symbol.value(),interval:n.interval.value()};return e&&e(t),t}saveChart(e){if(this._saveChartService){var t=this;this._saveChartService.whenReadyToSave((function(){var i=t._saveChartService.saveToJSON();return e&&e(JSON.parse(i.content))}))}}loadChart(e){this._chartApiInstance.disconnect(),this._chartWidgetCollection.loadContent(e.json),this._chartWidgetCollection.purgeUnusedWidgets(),e.extendedData&&(this._chartWidgetCollection.metaInfo.id.setValue(e.extendedData.uid),this._chartWidgetCollection.metaInfo.uid.setValue(e.extendedData.uid),this._chartWidgetCollection.metaInfo.name.setValue(e.extendedData.name)),this._chartApiInstance.connect(),n.symbol.setValue(this.activeChart().symbol()),l.emit("chart_loaded")}getStudiesList(){return this._chartApiInstance.allStudiesMetadata().filter((function(e){return!e.is_hidden_study})).map((function(e){return e.description}))}getStudyInputs(e){{const t=w.findStudyMetaInfoByDescription(this._chartApiInstance.allStudiesMetadata(),e);return P(t)}}getSavedCharts(e){u.getCharts().then(e)}loadChartFromServer(e){u.loadChart(e)}saveChartToServer(e,t,i){this._saveChartService&&this._saveChartService.saveChartSilently(e,t,i)}setAutosave(e){this._saveChartService&&this._saveChartService.autoSaveEnabled().setValue(e)}removeChartFromServer(e,t){u.removeChart(e).then(t)}getIntervals(){var e=[],t=d.getCustomResolutions();return null!==this._chartApiInstance&&(e=this._chartApiInstance.defaultResolutions()),d.mergeResolutions(e,t)}closePopupsAndDialogs(){for(var e=document.querySelectorAll("._tv-dialog-title-close"),t=0;t{"use strict";i.d(t,{createVisibilityController:()=>l});var s=i(79881),r=i(96404),n=i(68137),o=i(64222);function a(e){return"alwaysOn"===e||"alwaysOff"===e?e:"visibleOnMouseOver"}function l(e,t){let i,l;function c(){if(!i){i=(0,n.createPrimitiveProperty)();let s=o.getValue(e);void 0===s&&void 0!==t&&(s=o.getValue(t)),i.setValue(a(s)),i.subscribe(i,t=>{o.setValue(e,a(t.value()))})}return i}return{property:c,availableValues:function(){return[{id:"visibleOnMouseOver",value:"visibleOnMouseOver",title:(0,s.t)("Visible on mouse over")},{id:"alwaysOn",value:"alwaysOn",title:(0,s.t)("Always visible")},{id:"alwaysOff",value:"alwaysOff",title:(0,s.t)("Always invisible")}]},actualBehavior:function(){if(!l){l=(0,n.createPrimitiveProperty)();const e=c(),t=()=>{let t=e.value();"alwaysOn"!==t&&"alwaysOff"!==t&&(t=r.mobiletouch?"alwaysOn":"visibleOnMouseOver"),l&&l.setValue(t)};e.subscribe(l,t),t()}return l}}}},92932:(e,t,i)=>{"use strict";i.d(t,{addPlusButtonProperty:()=>o,restoreAddPlusButtonSettingsValue:()=>a});var s=i(64222),r=i(68137);function n(){return s.getBool("add_plus_button",!0)}const o=(0,r.createPrimitiveProperty)(n());function a(){o.setValue(!0),s.remove("add_plus_button")}s.onSync.subscribe(null,()=>o.setValue(n())),o.listeners().subscribe(null,()=>s.setValue("add_plus_button",o.value()))},63103:(e,t,i)=>{"use strict";i.d(t,{AppliedTimeFrame:()=>r});var s=i(78556);class r{constructor(e){this._appliedTimeFrame=new s.WatchedObject(null),this._appliedTimeFrameInfo=null, +this._appliedTimeFrameChangedBound=this._appliedTimeFrameChanged.bind(this),this._model=e,e.mainSeries().dataEvents().seriesTimeFrame().subscribe(this,this._onSeriesTimeFrame),this._appliedTimeFrame.subscribe(this._appliedTimeFrameChangedBound)}destroy(){this._appliedTimeFrame.unsubscribe(this._appliedTimeFrameChangedBound),this._model.timeScale().logicalRangeChanged().unsubscribeAll(this),this._model.mainSeries().dataEvents().seriesTimeFrame().unsubscribeAll(this)}appliedTimeFrame(){return this._appliedTimeFrame}_appliedTimeFrameChanged(){this._model.timeScale().logicalRangeChanged().unsubscribe(this,this._invalidateAppliedTimeFrame)}_onSeriesTimeFrame(e,t,i,s){if(s){const e=this._model.timeScale();this._appliedTimeFrameInfo={logicalRange:e.logicalRange(),baseIndex:e.baseIndex()},e.logicalRangeChanged().subscribe(this,this._invalidateAppliedTimeFrame)}}_invalidateAppliedTimeFrame(){if(null===this._appliedTimeFrameInfo)return;const e=this._model.timeScale(),t=e.logicalRange(),i=e.baseIndex(),s=this._appliedTimeFrameInfo.logicalRange,r=this._appliedTimeFrameInfo.baseIndex;(null===t||null===s||Math.abs(i-t.left()-(r-s.left()))>=.01||Math.abs(i-t.right()-(r-s.right()))>=.01)&&this._appliedTimeFrame.setValue(null)}}},2460:(e,t,i)=>{"use strict";i.d(t,{defaultsPreferencesByWhiteList:()=>C,preferencesByWhiteList:()=>P});var s=i(47903),r=i(23221);var n=i(65447),o=i(84995),a=i(18130),l=i(18742),c=i(7532),h=i(26254);const d=(0,n.getLogger)("Chart.ApplyPreferencesToAllCharts"),u={color:"",style:0},p={autoScale:!1,autoScaleDisabled:!1,lockScale:!1,percentage:!1,percentageDisabled:!1,log:!1,logDisabled:!1,alignLabels:!1,isInverted:!1,indexedTo100:!1},_={backgroundType:h.ColorType.Solid,background:"",backgroundGradientStartColor:"",backgroundGradientEndColor:"",topMargin:0,bottomMargin:0,rightOffset:0,horzGridProperties:(0,c.deepExtend)({},u),vertGridProperties:(0,c.deepExtend)({},u),crossHairProperties:(0,c.deepExtend)({},{color:"",style:0,transparency:0,width:0}),legendProperties:(0,c.deepExtend)({},{showStudyArguments:!1,showStudyTitles:!1,showStudyValues:!1,showSeriesTitle:!1,showSeriesOHLC:!1,showLegend:!1,showBarChange:!0,showVolume:!1,showBackground:!0,backgroundTransparency:0}),axisProperties:(0,c.deepExtend)({},p)},m={lineColor:"",textColor:"",fontSize:0,scaleSeriesOnly:!1,showSeriesLastValue:!1,seriesLastValueMode:o.PriceAxisLastValueMode.LastValueAccordingToScale,showSeriesPrevCloseValue:!1,showStudyLastValue:!1,showSymbolLabels:!1,showStudyPlotLabels:!1,showBidAskLabels:!1,showPrePostMarketPriceLabel:!0,showFundamentalLastValue:!1,showFundamentalNameLabel:!1,showCurrency:!0,showUnit:!0,showPriceScaleCrosshairLabel:!0,showTimeScaleCrosshairLabel:!0},g={...m},f={visible:!1,futureOnly:!1,breaks:(0,c.deepExtend)({},{color:"",visible:!1,style:0,width:0})},v={style:0,minTick:"",showPriceLine:!1,priceLineWidth:0,priceLineColor:"",baseLineColor:"",showPrevClosePriceLine:!1,showCountdown:!0,prevClosePriceLineWidth:0,sessionId:"regular",prevClosePriceLineColor:"",esdShowDividends:!1,esdShowSplits:!1,esdShowEarnings:!1, +esdShowBreaks:!1,dividendsAdjustment:!1,backAdjustment:!1,settlementAsClose:!0,statusViewStyle:(0,c.deepExtend)({},{fontSize:16,showExchange:!0,showInterval:!0,symbolTextSource:"description"}),priceAxisProperties:(0,c.deepExtend)({},p),highLowAvgPrice:(0,c.deepExtend)({},{highLowPriceLinesVisible:!1,highLowPriceLabelsVisible:!1,averageClosePriceLineVisible:!1,averageClosePriceLabelVisible:!1}),candleStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",drawWick:!1,drawBorder:!1,drawBody:!0,borderColor:"",borderUpColor:"",borderDownColor:"",wickColor:"",wickUpColor:"",wickDownColor:"",barColorsOnPrevClose:!1}),hollowCandleStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",drawWick:!1,drawBorder:!1,drawBody:!0,borderColor:"",borderUpColor:"",borderDownColor:"",wickColor:"",wickUpColor:"",wickDownColor:""}),barStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",barColorsOnPrevClose:!1,dontDrawOpen:!1,thinBars:!0}),lineStyle:(0,c.deepExtend)({},{color:"",linestyle:0,linewidth:0,styleType:0}),areaStyle:(0,c.deepExtend)({},{color1:"",color2:"",linecolor:"",linestyle:0,linewidth:0,transparency:0}),baselineStyle:(0,c.deepExtend)({},{topFillColor1:"",topFillColor2:"",bottomFillColor1:"",bottomFillColor2:"",topLineColor:"",bottomLineColor:"",baselineColor:"",topLineWidth:0,bottomLineWidth:0,transparency:0,baseLevelPercentage:0}),hiloStyle:(0,c.deepExtend)({},{color:"",showBorders:!1,borderColor:"",showLabels:!1,labelColor:"",fontSize:0,drawBody:!0}),haStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",drawWick:!1,drawBorder:!1,drawBody:!0,borderColor:"",borderUpColor:"",borderDownColor:"",wickColor:"",wickUpColor:"",wickDownColor:"",showRealLastPrice:!1,barColorsOnPrevClose:!1,inputs:{}}),renkoStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",borderUpColor:"",borderDownColor:"",upColorProjection:"",downColorProjection:"",borderUpColorProjection:"",borderDownColorProjection:"",wickUpColor:"",wickDownColor:"",inputs:{boxSize:0,style:"",atrLength:0,wicks:!1,sources:"",source:""}}),pbStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",borderUpColor:"",borderDownColor:"",upColorProjection:"",downColorProjection:"",borderUpColorProjection:"",borderDownColorProjection:"",inputs:{source:"",lb:0}}),kagiStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",upColorProjection:"",downColorProjection:"",inputs:{style:"",atrLength:0,reversalAmount:0}}),pnfStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",upColorProjection:"",downColorProjection:"",inputs:{reversalAmount:0,boxSize:0,style:"",atrLength:0}}),rangeStyle:(0,c.deepExtend)({},{upColor:"",downColor:"",upColorProjection:"",downColorProjection:"",thinBars:!1,inputs:{range:0,phantomBars:!1}})},S={priceScaleSelectionStrategyName:"auto",timeScale:(0,c.deepExtend)({},{defaultRightOffset:0}),mainSeries:(0,c.deepExtend)({},v),sessions:(0,c.deepExtend)({},l.sessionsPreferencesDefault),paneProperties:(0,c.deepExtend)({},_),chartEventsSourceProperties:(0,c.deepExtend)({},f),tradingProperties:(0,c.deepExtend)({},r.tradingPreferencesDefault)},y={timezone:"",scalesProperties:(0,c.deepExtend)({},g),...S +},b={scalesProperties:(0,c.deepExtend)({},m),...S};function w(e,t,i,r,n=!0){if(void 0===t[e])return d.logDebug(`We haven't had this property ${r}.${e} yet, please, remove it from whiteList`),null;if((0,s.isObject)(i[e])){const s=Object.keys(i[e]);let o="";return s.map(s=>({[s]:w(s,t[e],i[e],`${r}.${e}`,n)})).reduce((e,t)=>(o=Object.keys(t)[0],e[o]=t[o],e),{})}return n?t[e].value():t[e]}function P(e,t,i=y){const s={timezone:"",priceScaleSelectionStrategyName:"auto",timeScale:{defaultRightOffset:e.timeScale().defaultRightOffset().value()},mainSeries:{},sessions:{},paneProperties:{},scalesProperties:{},chartEventsSourceProperties:{},tradingProperties:{}},r=["timeScale","mainSeries","sessions"],n=i.mainSeries,o=Object.keys(i),a=Object.keys(n),l=t.properties(),c=e.properties(),h=i.sessions,d=Object.keys(h),u=e.sessions().properties();return a.forEach(e=>{s.mainSeries[e]=w(e,l,n,"mainSeries")}),d.forEach(e=>{s.sessions[e]=w(e,u,h,"sessions")}),o.forEach(e=>{r.includes(e)||(s[e]=w(e,c,i,"preferences"))}),s}function C(e,t,i=b){const s={timeScale:{defaultRightOffset:e.timeScale().rightOffsetDefaultValue()},mainSeries:{},sessions:(0,c.deepExtend)({},l.sessionsPreferencesDefault),paneProperties:{},scalesProperties:{},chartEventsSourceProperties:{},tradingProperties:{},priceScaleSelectionStrategyName:"auto"},r=["timeScale","mainSeries","sessions"],n=i.mainSeries,o=Object.keys(i),h=Object.keys(n),d=(0,a.factoryDefaults)("chartproperties.mainSeriesProperties"),u=(0,a.factoryDefaults)("chartproperties");return h.forEach(e=>{s.mainSeries[e]=w(e,d,n,"mainSeries",!1)}),o.forEach(e=>{r.includes(e)||(s[e]=w(e,u,i,"preferences",!1))}),s}},28417:(e,t,i)=>{"use strict";i.d(t,{axisLabelBackgroundColor:()=>r});var s=i(53312);const r={common:s.colorsPalette["color-tv-blue-500"],active:s.colorsPalette["color-tv-blue-800"]}},63059:(e,t,i)=>{"use strict";i.d(t,{createDwmAligner:()=>c,isAlignmentEnabled:()=>h,createTimeToBarTimeAligner:()=>d});var s=i(84540),r=i(27490),n=i(35001),o=i(91789),a=i(42062);const l=new o.SessionInfo("Etc/UTC","0000-0000:1234567");function c(e,t){if(!h()||!n.Interval.isDWM(e))return null;const i=new o.SessionInfo(t.timezone,t.session,t.session_holidays,t.corrections),r=(0,a.newBarBuilder)(e,i,l);return{timeToSessionStart:e=>r.tradingDayToSessionStart(e),timeToExchangeTradingDay:e=>{const t=s.utc_to_cal(i.timezone,e),r=i.spec.correctTradingDay(t);return s.set_hms(r,0,0,0,0,s.get_timezone("Etc/UTC")),r.getTime()}}}function h(){return!r.enabled("disable_resolution_rebuild")}function d(e,t){if(!h())return e=>e;const i=new o.SessionInfo(t.timezone,t.session,t.session_holidays,t.corrections),s=(0,a.newBarBuilder)(e,i,i,!1);return e=>s.alignTimeIfPossible(e)}},91789:(e,t,i)=>{"use strict";i.d(t,{SessionInfo:()=>o,BarBuilderBase:()=>a});var s=i(84540),r=i(78486),n=i(12125);class o{constructor(e,t,i,s){this.init(e,t,i,s)}init(e,t,i,r){this.timezone=s.get_timezone(e),this.spec=new n.SessionSpec(e,t,i,r)}}class a{alignTime(e){if(isNaN(e))return NaN;let t=this.indexOfBar(e);return t===r.SessionStage.POST_SESSION&&(this.moveTo(e), +t=this.indexOfBar(e)),t<0?NaN:this.startOfBar(t)}}},42062:(e,t,i)=>{"use strict";i.r(t),i.d(t,{SessionInfo:()=>o.SessionInfo,alignExchangeTimeToSessionStartAndReturnUTC:()=>C,alignPeriodsBackForDataRequest:()=>y,alignPeriodsBackForVisibleRange:()=>b,getPeriodsBetweenDates:()=>P,isTradingNow:()=>T,newBarBuilder:()=>S});var s=i(84540),r=i(35001),n=i(57968),o=i(91789),a=i(78486);class l extends o.BarBuilderBase{constructor(e,t){super(),this._sessionStartMs=-Number.MAX_VALUE,this._sessionEndMs=-Number.MAX_VALUE,this._periodSec=e,this._session=t}alignTimeIfPossible(e){const t=this.alignTime(e);return isNaN(t)?e:t}indexOfBar(e){return e=this._sessionEndMs?a.SessionStage.POST_SESSION:(0,n.toInt)(s.time_seconds_diff(e,this._sessionStartMs)/this._periodSec)}startOfBar(e){if(e===a.SessionStage.PRE_SESSION){const e=s.get_cal_from_unix_timestamp_ms(this._session.timezone,this._sessionStartMs-1),t=this._session.spec.alignToNearestSessionEnd(e,-1);return s.cal_to_utc(this._session.timezone,t)}if(e===a.SessionStage.POST_SESSION)return this._sessionEndMs;if(e<0)throw new Error("Negative offset is not supported");return this._sessionStartMs+s.time_seconds(this._periodSec*e)}endOfBar(e){if(e<0)throw new Error("Index cannot be negative");const t=this.startOfBar(e)+1e3*this._periodSec;return t>this._sessionEndMs?this._sessionEndMs:t}isLastBar(e,t){return t>=this._sessionStartMs+s.time_seconds(this._periodSec*(e+1)-1)}moveTo(e){const t=this._session.timezone,i=s.utc_to_cal(t,e),r=this._session.spec.alignToSessionStart(i);this._sessionStartMs=s.cal_to_utc(t,i),s.add_minutes(i,r),this._sessionEndMs=s.cal_to_utc(t,i)}indexOfLastBarInSession(){return(0,n.toInt)((this._sessionEndMs-1-this._sessionStartMs)/1e3/this._periodSec)}moveNext(){this.moveTo(this._sessionEndMs)}}var c=i(24604);function h(e,t){const i=s.clone(t),r=e.businessDaysToCalendarDays(i,1);r>1&&s.add_date(i,r-1);const n=e.leftBorderOfDailyBar(i);if(null===n)throw new Error("Cannot calculate left border of daily bar");return s.cal_to_utc(s.get_timezone(e.timezone()),n)}class d extends o.BarBuilderBase{constructor(e,t,i,s,r=!1){super(),this._periodStart=-Number.MAX_VALUE,this._periodEnd=-Number.MAX_VALUE,this._periodLastBarStart=-Number.MAX_VALUE,this._periodStartDay=new c.BusinessDay(0,0,0),this._periodEndDay=new c.BusinessDay(0,0,0),this._period=i,this._sessionTgt=e,this._builder=s,this._useBusinessDays=r,this._sessionSrc=r?new o.SessionInfo("Etc/UTC","24x7"):t||e}builder(){return this._builder}alignTimeIfPossible(e){return this.tradingDayToSessionStart(e)}tradingDayToSessionStart(e){return this.moveTo(e),this.startOfBar(0)}indexOfBar(e){if(this._useBusinessDays){const t=c.BusinessDay.fromCalendar(s.get_cal_from_unix_timestamp_ms(this._sessionSrc.timezone,e));return t.before(this._periodStartDay)?a.SessionStage.PRE_SESSION:this._periodEndDay.before(t)?a.SessionStage.POST_SESSION:0}return e=this._periodEnd?a.SessionStage.POST_SESSION:0}startOfBar(e){ +if(e===a.SessionStage.PRE_SESSION){const e=s.get_cal_from_unix_timestamp_ms(this._sessionTgt.timezone,this._periodStart-1),t=this._sessionTgt.spec.alignToNearestSessionEnd(e,-1);return s.cal_to_utc(this._sessionTgt.timezone,t)-1}return e===a.SessionStage.POST_SESSION||e>0?this._periodEnd:e===a.SessionStage.LASTBAR_SESSION?this._periodLastBarStart:this._periodStart}moveTo(e){const t=s.get_cal_from_unix_timestamp_ms(this._sessionSrc.timezone,e);this._sessionSrc.spec.correctTradingDay(t);const i=s.get_year(t),r=this._indexOfPeriodInYear(t),n=r+this._period,o=this._sessionTgt.spec,a=this._sessionTgt.timezone,l=this._builder.startOfPeriod(a,r,i);this._periodStart=h(o,l);const d=s.clone(l),u=o.businessDaysToCalendarDays(d,1);u>1&&s.add_date(d,u-1),this._periodStartDay=c.BusinessDay.fromCalendar(d);const p=this._builder.startOfPeriod(a,n,i);this._periodEnd=h(o,p);const _=s.clone(p);for(s.add_date(_,-1);o.isCalWeekEnd(_);)s.add_date(_,-1);this._periodEndDay=c.BusinessDay.fromCalendar(_),s.add_date(p,-1),function(e,t){for(;e.isCalWeekEnd(t);)s.add_date(t,-1)}(this._sessionTgt.spec,p),this._periodLastBarStart=h(o,p),(this._periodLastBarStart=this._periodLastBarStart}currentRange(){return{from:this._periodStartDay,to:this._periodEndDay}}indexOfBarInYear(e){const t=s.get_cal_from_unix_timestamp_ms(this._sessionSrc.timezone,e),i=s.get_year(t),r=this._builder.indexOfPeriod(t),o=this._sessionTgt.timezone;let a=this._builder.startOfPeriod(o,r,i),l=h(this._sessionTgt.spec,a);return a=s.get_cal_from_unix_timestamp_ms(s.get_timezone("Etc/UTC"),l),i=0&&(r-=7),(0,n.toInt)((r+i)/7))}class _{indexOfPeriod(e){return s.get_day_of_year(e)-1}startOfPeriod(e,t,i){const r=s.days_per_year(i);return s.get_cal(s.get_timezone("Etc/UTC"),i,s.JANUARY,1+Math.min(t,r))}}class m extends _{constructor(e){super(),this._sessionsSpec=e}indexOfPeriod(e){return super.indexOfPeriod(e)-function(e,t){const i=p(e,t),r=s.get_cal(s.get_timezone("Etc/UTC"),s.get_year(t),s.JANUARY,1);s.add_date(r,7*i);const n=i*e.weekEndsCount()+e.holidaysFromYearStart(r),o=s.get_day_of_year(t)-s.get_day_of_year(r);return n+o-e.calendarDaysToBusinessDays(r,o)}(this._sessionsSpec,e)}startOfPeriod(e,t,i){const r=7-this._sessionsSpec.weekEndsCount(),o=Math.max(0,(0, +n.toInt)(t/r)-1),a=s.get_cal(s.get_timezone("Etc/UTC"),i,s.JANUARY,1),l=s.get_days_per_year(a);if(s.add_date(a,7*o),(t-=r*o-this._sessionsSpec.holidaysFromYearStart(a))>0){const e=this._sessionsSpec.businessDaysToCalendarDays(a,t);s.add_date(a,e)}let c=s.get_day_of_year(a)-1;return is.get_days_per_year(r)?this.startOfPeriod(e,0,i+1):(s.add_date(r,a),r)}}class v{indexOfPeriod(e){return s.get_month(e)}startOfPeriod(e,t,i){if(t<0){const e=(0,n.toInt)((11-t)/12);i-=e,t+=12*e}else t>s.DECEMBER&&(i++,t=s.JANUARY);return s.get_cal(s.get_timezone("Etc/UTC"),i,t,1)}}function S(e,t,i,s=!1){const n=r.Interval.parse(e),o=n.multiplier();return n.isMinutes()?new l(60*o,t):n.isSeconds()?new l(o,t):n.isTicks()?new l(1,t):n.isRange()?new l(60*o,t):new d(t,i,o,function(e,t){switch(e){case r.ResolutionKind.Days:return new g(t);case r.ResolutionKind.Weeks:return new f(t);case r.ResolutionKind.Months:return new v}throw new Error("Unknown dwm resolution: "+e)}(n.kind(),t),s)}function y(e,t,i,s,r,n,o){return w(e,t,i,s,r,n,o,0)}function b(e,t,i,s,r,n,o){return w(e,t,i,s,r,n,o,1)}function w(e,t,i,s,n,a,l,c){const h=r.Interval.parse(n+s);if(h.isMonths()){const e=new Date(l);return 0===c&&e.setUTCDate(1),function(e,t){x(e,Math.floor(t/12));let i=e.getUTCMonth()-t%12;i<0&&(x(e,1),i+=12);e.setUTCMonth(i);for(;e.getUTCMonth()!==i;)I(e,1)}(e,a*h.multiplier()),e.getTime()}const d=new o.SessionInfo("Etc/UTC",e,t,i),u=h.inMilliseconds(),p=h.isDWM();let _;_=p?864e5:60*d.spec.maxTradingDayLength()*1e3;let m=0;m=h.isWeeks()?7:7-d.spec.weekEndsCount();const g=_/u,f=m*g;let v;if(a=g&&(f=_/6048e5*g),Math.ceil(f)} +function C(e,t){const i=s.clone(t);return e.alignToSessionStart(i),s.cal_to_utc(s.get_timezone(e.timezone()),i)}function T(e,t){const i=s.utc_to_cal(t.timezone,+e);let r=s.get_day_of_week(i),n=s.get_minutes_from_midnight(i);const o=t.spec.findSession(t.spec.getWeekIndex(i),r,n).getEntry();return o.isOvernight()&&n>o.startOffset()+o.length()&&r===o.dayOfWeek()-1&&(r++,n-=1440),r===o.dayOfWeek()&&n>=o.startOffset()&&n{"use strict";i.d(t,{BusinessDay:()=>r});var s=i(84540);class r{constructor(e,t,i){this.year=e,this.month=t,this.day=i}toString(){return`${this.year}-${this.month}-${this.day}`}compareTo(e){return this.year>e.year||this.year===e.year&&this.month>e.month||this.year===e.year&&this.month===e.month&&this.day>e.day?1:this.year===e.year&&this.month===e.month&&this.day===e.day?0:-1}before(e){return-1===this.compareTo(e)}toCalendar(e){return s.get_cal(s.get_timezone("Etc/UTC"),this.year,this.month-1,this.day)}addDays(e){const t=this.toCalendar(s.get_timezone("Etc/UTC"));return s.add_date(t,e),r.fromCalendar(t)}static fromCalendar(e){return new r(s.get_year(e),s.get_month(e)+1,s.get_day_of_month(e))}}},78486:(e,t,i)=>{"use strict";var s;i.d(t,{SessionStage:()=>s}),function(e){e[e.PRE_SESSION=-1]="PRE_SESSION",e[e.POST_SESSION=-2]="POST_SESSION",e[e.LASTBAR_SESSION=-3]="LASTBAR_SESSION"}(s||(s={}))},25853:(e,t,i)=>{"use strict";i.d(t,{extrapolateBarsFrontToTime:()=>r,extrapolateBarsFrontByCount:()=>n});var s=i(78486);function r(e,t,i,s,n=!1){if(t>i){const o=r(e,i,t,s,n);return o.count=-o.count,o}return o(e,t,1,(e,t)=>t>i||0!==s&&e>s,n)}function n(e,t,i,s=!1){const r=i<0?-1:1;return o(e,t,r,(e,t)=>e>=i*r,s)}function o(e,t,i,r,n){let o=0,a=t;e.moveTo(a);let l=0,c=Number.MAX_VALUE,h=!1,d=t;const u=[];for(;!r(o,a);){if(l>15)throw new Error("Internal error 0x10 while extrapolating.");const r=e.indexOfBar(a);if(r===s.SessionStage.PRE_SESSION&&1===i)a=e.startOfBar(0),e.moveTo(a);else if(r===s.SessionStage.PRE_SESSION&&-1===i)a=e.startOfBar(s.SessionStage.PRE_SESSION),e.moveTo(a);else if(r===s.SessionStage.POST_SESSION&&1===i)a=e.startOfBar(s.SessionStage.POST_SESSION),e.moveTo(a);else{if(r===s.SessionStage.POST_SESSION&&-1===i)throw new Error("Internal error 0x12 while extrapolating.");{const p=e.startOfBar(r);if(p>t&&i>0||t>p&&i<0){if(h&&c===p)throw new Error("Internal error 0x11 while extrapolating.");h=!0,c=p,l=0,o++,d=p,n&&u.push(d)}if(0===r&&-1===i)a=p-1;else{a=e.startOfBar(r+i);const t=e.startOfBar(s.SessionStage.POST_SESSION);a>t&&(e.moveTo(t),a=e.startOfBar(0))}}}l++}return{time:d,times:u,count:o}}},12125:(e,t,i)=>{"use strict";i.d(t,{SessionSpec:()=>f});var s=i(84540),r=i(49382),n=i(24604);function o(e,t){return e.compareTo(t)}class a{constructor(e,t,i){this._dayOfWeek=e,this._start=t,this._length=i}start(){return this._start+s.minutesPerDay*this.sessionStartDaysOffset()}startOffset(){return this._start} +sessionStartDaysOffset(){return this._start>=0?0:this._start%s.minutesPerDay==0?-Math.ceil(this._start/s.minutesPerDay):-Math.floor(this._start/s.minutesPerDay)}sessionEndDaysOffset(){const e=this._start+this._length;return e>=0?0:e%s.minutesPerDay==0?-Math.ceil(e/s.minutesPerDay):-Math.floor(e/s.minutesPerDay)}isOvernight(){return this._start<0}dayOfWeek(){return this._dayOfWeek}sessionStartDayOfWeek(){let e=this._dayOfWeek-this.sessionStartDaysOffset();return es.SATURDAY&&(e=1),e}length(){return this._length}weight(){return this._dayOfWeek*s.minutesPerDay+this._start}compareTo(e){const t=this.weight(),i=t+this._length,s=e.weight(),r=s+e._length;return t<=s&&ss?1:-1}contains(e){const t=60*s.get_hours(e)+s.get_minutes(e);let i=s.get_day_of_week(e)-this._dayOfWeek;i>0&&(i-=7);const r=i*s.minutesPerDay+t;return r>=this._start&&r=48&&e<=57}class _{constructor(){this.entries=[],this.firstDayOfWeek=s.MONDAY,this.weekEndsCount=-1,this.maxTradingDayLength=0}parseSessions(e,t){var i;let s=!1;this._clear(),this.timezone=e;const{hasErrors:r,spec:n}=this._parseFirstDayOfWeek(t);if("24x7"===n.toLowerCase())for(const e of d)this.entries.push(_._createSessionEntry(e,0,0,0,0));else{let e=!1;const t=new Map;for(const i of n.split("|")){const r=i.split(":");if(1!==r.length&&2!==r.length){s=!0,u.logError("Bad session section: "+i);continue}const n=1===r.length;if(n){if(e){s=!0,u.logError("Duplicated default section: "+i);continue}e=!0}const o=n?h:_._parseWorkingDays(r[1]);for(const e of o)n&&t.has(e)||t.set(e,r[0])}for(const e of d){const i=t.get(e);if(void 0!==i)for(const t of i.split(",")){const{hasErrors:i,sessionEntry:r}=_._parseSessionEntry(e,t);i&&(s=i),this.entries.push(r)}}}this.entries.sort(o);const a=new Map;for(const e of this.entries){const t=e.dayOfWeek();a.set(t,e.length()+(null!==(i=a.get(t))&&void 0!==i?i:0))}return this.maxTradingDayLength=0,a.forEach(e=>{this.maxTradingDayLength=Math.max(this.maxTradingDayLength,e)}),this.weekEndsCount=7-a.size,s||r}static parseHolidaysAndCorrections(e,t,i){const r=new Map,n=new Map,o=e=>{const t=this._parseDay(e),i=t.toString(),s=n.get(i);return void 0!==s?s:(n.set(i,t),t)};if(""!==t){const e=[];for(const i of t.split(",")){if(8!==i.length)throw new Error("bad holiday date: "+i);const t=o(i);r.set(t,e)}}if(""===i)return r;const l=s.get_timezone("Etc/UTC");for(const e of i.split(";")){const t=e.split(":");if(2!==t.length)throw new Error("bad correction section: "+e);const i=[];if("dayoff"!==t[0])for(const e of t[0].split(","))i.push(this._parseSessionEntry(1,e).sessionEntry) +;for(const e of t[1].split(",")){if(8!==e.length)throw new Error("bad correction date: "+e);const t=o(e),n=s.get_day_of_week(s.get_cal(l,t.year,t.month-1,t.day)),c=[];for(const e of i)c.push(new a(n,e.startOffset(),e.length()));r.set(t,c)}}return r}_clear(){this.entries=[],this.timezone="",this.firstDayOfWeek=s.MONDAY,this.weekEndsCount=-1}_parseFirstDayOfWeek(e){const t=e.split(";");if(t.length>2)return u.logError("Only one `first day` specification expected @ session "+e),{hasErrors:!0,spec:e};if(1===t.length)return{hasErrors:!1,spec:e};let i=1;let r=t[0].indexOf("-")>=0?NaN:parseInt(t[0]);return isNaN(r)&&(i=0,r=parseInt(t[1])),rs.SATURDAY?(u.logError(`Unexpected day index @ session: ${e}; day index ${r}`),{hasErrors:!0,spec:e}):(this.firstDayOfWeek=r,{hasErrors:!1,spec:t[i]})}static _parseDay(e){const t=parseInt(e.substring(0,4)),i=parseInt(e.substring(4,6)),s=parseInt(e.substring(6,8));return new n.BusinessDay(t,i,s)}static _parseSessionEntry(e,t){let i=!1,s=t.split("-");2!==s.length&&(i=!0,u.logError("Bad sessions entry: "+t),s=["0000","0000"]);let r=0,n=s[0];if(n.includes("F")){const e=n.split("F");n=e[0],r=""!==e[1]?parseInt(e[1]):1}let o=0,a=s[1];if(a.includes("F")){const e=a.split("F");a=e[0],o=""!==e[1]?parseInt(e[1]):1}if(!this._isCorrectSession(n)||!this._isCorrectSession(a))throw new Error("Incorrect entry syntax: "+t);const l=n,c=a;return{hasErrors:i,sessionEntry:this._createSessionEntry(e,_._minutesFromHHMM(l),_._minutesFromHHMM(c),r,o)}}static _isCorrectSession(e){return 4===e.length&&p(e.charCodeAt(0))&&p(e.charCodeAt(1))&&p(e.charCodeAt(2))&&p(e.charCodeAt(3))}static _parseWorkingDays(e){const t=[];for(let i=0;i0&&(t-=r*s.minutesPerDay),n>0&&(i-=n*s.minutesPerDay);return new a(e,t,i-t)}}function m(e,t){return e.compareTo(t)<0}function g(e,t){const i=(0,r.lowerbound)(e,t,(e,t)=>-1===e.day.compareTo(t));return i===e.length?null:e[i]}class f{constructor(e="Etc/UTC",t="0000-0000",i="",r=""){this._entries=[],this._firstDayOfWeek=s.MONDAY,this._entriesHash=new Map,this._holidayAndCorrectionMap=new Map,this._holidaySessions=[];const n=new _;n.parseSessions(e,t),this._entries=n.entries,this._timezone=n.timezone,this._spec=t,this._firstDayOfWeek=n.firstDayOfWeek,this._weekEndsCount=n.weekEndsCount,this._maxTradingDayLength=n.maxTradingDayLength;const o=_.parseHolidaysAndCorrections(e,i,r),a=s.get_timezone(e);this._isThereCorrections=""!==i||""!==r,o.forEach((e,t)=>{this._holidayAndCorrectionMap.set(t.toString(),e),this._holidaySessions.push({day:t,sessions:e});const i=this.getWeekIndex(t.toCalendar(a));this._entriesHash.set(i,null)}),this._holidaySessions.sort((e,t)=>e.day.compareTo(t.day))}entries(){return this._entries}timezone(){return this._timezone}spec(){return this._spec}firstDayOfWeek(){return this._firstDayOfWeek}addSessionEntry(e,t,i,r,n){0===i&&(i=s.minutesPerDay), +r===n&&i<=t&&(r+=1),r>0&&(t-=r*s.minutesPerDay),n>0&&(i-=n*s.minutesPerDay);const o=i-t;this._entries.push(new a(e,t,o))}longestSessionLength(){let e=0,t=0;for(const t of this._holidaySessions)t.sessions.forEach(t=>{e=Math.max(e,t.length())});return this._entries.forEach(e=>{t=Math.max(t,e.length())}),Math.max(e,t)}isWeekEnd(e){const t=(0,r.lowerbound)(this._entries,new a(e,0,0),(e,t)=>e.dayOfWeek()this._entries.length-1||this._entries[t].dayOfWeek()!==e}isCalWeekEnd(e){const t=s.get_day_of_week(e);if(!this._isThereCorrections)return this.isWeekEnd(t);const i=n.BusinessDay.fromCalendar(e),r=this._holidayAndCorrectionMap.get(i.toString());return void 0===r?this.isWeekEnd(t):0===r.length}hasWeekEnds(){return this.weekEndsCount()>0}weekEndsCount(){return this._weekEndsCount}maxTradingDayLength(){return this._maxTradingDayLength}holidaysFromYearStart(e){if(!this._isThereCorrections)return 0;const t=s.get_timezone(this._timezone),i=new n.BusinessDay(s.get_year(e),s.JANUARY,1),r=n.BusinessDay.fromCalendar(e);let o=0;const a=this._selectHolidays(i,r);for(let e=0;et.start()%e==0&&t.length()%e==0)}indexOfSession(e,t,i){const n=this._getEntriesForWeek(e);let o=(0,r.lowerbound)(n,new a(t,i,0),m);if(o!==n.length)return new l(e,o,n);let c=e;const h=7-t+this._firstDayOfWeek-1;for(i=-(s.minutesPerDay-i+h*s.minutesPerDay);;){c++;const e=this._getEntriesForWeek(c);if(0!==e.length)return o=(0,r.lowerbound)(e,new a(this._firstDayOfWeek,i,0),m),new l(c,o,e)}}findSession(e,t,i,s=0){const r=this.indexOfSession(e,t,i),n=r.entries;let o=r.entryIndex;if(0!==s){const e=n[o].dayOfWeek(),t=s>0?1:-1;for(;;){const i=o+t;if(i<0||i>=n.length||n[i].dayOfWeek()!==e)break;o=i}}return new l(r.weekIndex,o,n)}getWeekIndex(e){if(!this._isThereCorrections)return 0;const t=s.get_day_of_week(e)-s.SUNDAY,i=s.get_timezone("Etc/UTC"),r=s.get_cal(i,s.get_year(e),s.get_month(e),s.get_day_of_month(e)-t);return Math.floor((r.getTime()+621672192e5)/1e3/86400/7)}correctTradingDay(e){const t=s.get_day_of_week(e),i=60*s.get_hours(e)+s.get_minutes(e),r=this.getWeekIndex(e),n=this.findSession(r,t,i,0),o=n.getEntry().dayOfWeek()-t+7*(n.weekIndex-r);return 0!==o&&s.add_date(e,o),e}alignToSessionStart(e,t=0){const i=s.get_day_of_week(e),r=60*s.get_hours(e)+s.get_minutes(e),n=this.getWeekIndex(e),o=this.findSession(n,i,r,t),a=o.getEntry(),l=a.dayOfWeek()-i+7*(o.weekIndex-n);0!==l&&s.add_date(e,l);const c=a.startOffset();return s.set_hms(e,c/60,c%60,0,0,s.get_timezone(this._timezone)),a.length()}businessDaysToCalendarDays(e,t){let i=this.getWeekIndex(e),r=s.get_day_of_week(e),n=0,o=0;for(;oi);)e[a].dayOfWeek()=t)return n}i++,r=s.SUNDAY}return n}calendarDaysToBusinessDays(e,t){ +let i=this.getWeekIndex(e),r=s.get_day_of_week(e),n=0,o=0;for(;ni);)e[a].dayOfWeek()=t)return o}i++,r=s.SUNDAY}return o}alignToNearestSessionStart(e,t){return this._alignToNearestSessionValue(e,t,this._entrySessionStart.bind(this))}alignToNearestSessionEnd(e,t){return this._alignToNearestSessionValue(e,t,this._entrySessionEnd.bind(this))}leftBorderOfDailyBar(e){const t=this._getEntriesForDay(e);return 0===t.length?null:(t.sort(o),this._getLeftEntryBorder(e,t[0]))}bordersOfDailyBar(e){const t=this._getEntriesForDay(e);if(0===t.length)return null;t.sort(o);const i=this._getLeftEntryBorder(e,t[0]),r=t[t.length-1],n=s.clone(e);let a=60*(r.startOffset()+r.length())-1;const l=Math.floor(a/3600);return a-=3600*l,s.set_hms(n,l,a/60,a%60,0,s.get_timezone(this._timezone)),{from:i,to:n}}getEntriesForWeekByCalendar(e){const t=this.getWeekIndex(e);return this._getEntriesForWeek(t)}_getEntriesForWeek(e){let t=this._entriesHash.get(e);if(void 0===t)return this._entries;if(null!==t)return t;const i=s.get_timezone(this._timezone);t=this._entries.slice();const r=this._weekIndexToCalendar(e),a=this._weekIndexToCalendar(e+1),l=n.BusinessDay.fromCalendar(r),c=n.BusinessDay.fromCalendar(a),h=this._selectHolidays(l,c);for(const e of h){const r=e.day.toCalendar(i),n=s.get_day_of_week(r);t=t.filter(e=>e.dayOfWeek()!==n),t=t.concat(e.sessions)}return t.sort(o),this._entriesHash.set(e,t),t}_selectHolidays(e,t){const i=[];let s=e;for(;;){const e=g(this._holidaySessions,s);if(null===e)return i;if(!e.day.before(t))return i;i.push(e),s=e.day.addDays(1)}}_weekIndexToCalendar(e){const t=1e3*(86400*e*7+86400)-621672192e5,i=s.get_cal_from_unix_timestamp_ms(s.get_timezone("Etc/UTC"),t),r=s.get_timezone("Etc/UTC");return s.get_cal(r,s.get_year(i),s.get_month(i),s.get_day_of_month(i))}_alignToNearestSessionValue(e,t,i){const r=s.get_day_of_week(e),n=60*s.get_hours(e)+s.get_minutes(e),o=this.getWeekIndex(e);let a=this.findSession(o,r,n);if(a.getEntry().contains(e)&&o===a.weekIndex||1===t)return i(a,s.clone(e),t);let c=a.entryIndex-1;if(c<0){let e=a.weekIndex,t=a.entries;for(;c<0;)e--,t=this._getEntriesForWeek(e),c+=t.length;a=new l(e,c,t)}else a=new l(a.weekIndex,c,a.entries);return i(a,s.clone(e),t)}_entrySessionStart(e,t,i){return this._entrySessionValue(e,t,i,e=>60*e.start())}_entrySessionEnd(e,t,i){return this._entrySessionValue(e,t,i,e=>60*(e.start()+e.length())-1)}_entrySessionValue(e,t,i,r){let n=s.get_day_of_week(t);const o=e.getEntry();let a=o.dayOfWeek()-o.sessionStartDaysOffset();const l=this.getWeekIndex(t);let c=e.weekIndex-l,h=!1;if(a0&&i>=0||c<0&&i<0)&&s.add_date(t,7*c),!o.contains(t)){let e=a-n;h&&i<0&&(e=-(7-a+n)),s.add_date(t,e),n=s.get_day_of_week(t)}o.isOvernight()&&n===o.dayOfWeek()&&s.add_date(t,-o.sessionStartDaysOffset());let d=r(o);const u=Math.floor(d/3600);return d-=3600*u,s.set_hms(t,u,d/60,d%60,0,s.get_timezone(this._timezone)),t} +_getEntriesForDay(e){const t=s.get_day_of_week(e);return this._getEntriesForWeek(this.getWeekIndex(e)).filter(e=>e.dayOfWeek()===t)}_getLeftEntryBorder(e,t){const i=s.clone(e),r=t.startOffset();return s.set_hms(i,r/60,r%60,0,0,s.get_timezone(this._timezone)),i}}},23248:(e,t,i)=>{"use strict";i.d(t,{UserDefinedBarsMarks:()=>d});var s=i(15521),r=i(43492),n=i(16282);function o(e,t,i){return new Promise(s=>{i&&e.classList.remove(i),e.classList.add(t);const r=i=>{i.target===e&&i.animationName===t&&(e.removeEventListener(i.type,r),s(i))};e.addEventListener("animationend",r,!1),e.addEventListener("webkitAnimationEnd",r,!1),e.addEventListener("MSAnimationEnd",r,!1)})}function a(e){return o(e,"tv-transition--fade-in","tv-transition--fade-out")}class l extends class{constructor(){this._source=null,this._tooltipHovered=!1,this._layout=null,this._container=null,this._context=null,this._plateArrowSize=14,this._handleTouchMouseLeave=e=>{(0,n.ensureNotNull)(this._layout).contains(e.target)||this._clearHovered()},this._setHovered=()=>{this._tooltipHovered=!0,document.addEventListener("touchstart",this._handleTouchMouseLeave),a((0,n.ensureNotNull)(this._layout))},this._clearHovered=()=>{var e;this._tooltipHovered=!1,document.removeEventListener("touchstart",this._handleTouchMouseLeave),null===(e=this._source)||void 0===e||e.onNeedRepaint.fire()}}showPlate(e,t){if(this._currentId!==e.id||!this._layout||null===this._layout.parentNode){this._currentId=e.id,this._createLayout();const i=(0,n.ensureNotNull)(this._layout);this._getContainer(t).appendChild(i),i.addEventListener("mouseenter",this._setHovered),i.addEventListener("mouseleave",this._clearHovered)}const i=(0,n.ensureNotNull)(this._layout);let s=Math.round(e.barWidth/2);s>15&&(s=15),s<10&&(s=10),this._updatePlate(e);const r=t.canvas.getBoundingClientRect(),o=e.x-i.offsetWidth{t.remove(),e()})}setSource(e){this._source=e}removeLayout(){var e;this._tooltipHovered||null===(e=this._layout)||void 0===e||e.remove()}toggleLayout(e){(0,n.ensureNotNull)(this._layout).style.visibility=e?"visible":"hidden"}_getContainer(e){return this._container&&this._context===e||(this._context=e,this._container=e.canvas.parentElement),(0,n.ensureNotNull)(this._container)}}{constructor(){super(...arguments),this._layoutText=null}_createLayout(){this._layout=document.createElement("div"),this._layout.classList.add("bar-mark-tooltip"),this._layoutText=document.createElement("div"),this._layoutText.classList.add("text"),this._layout.appendChild(this._layoutText)}_updatePlate(e){this._currentId=e.id;const t=(0,n.ensureNotNull)(this._layout) +;t.style.borderColor=e.theme.border,t.style.marginTop=e.tooltipMargin+"px";const i=(0,n.ensureNotNull)(this._layoutText);i.innerHTML=e.text,t.appendChild(i)}}class c{constructor(e,t){this._tooltips={},this._hoveredId=null,this._tooltipFactory=e,this.source=t}showPlate(e,t){const i=this._findOrCreateTooltip(e);null!==i&&(i.drawPlate(e,t),i.plateData=e)}draw(e,t){this._hoveredId=null;for(const t of e)t.hovered&&(this._hoveredId=t.id);for(const i of e)this.showPlate(i,t)}endDraw(){var e,t;for(const i in this._tooltips)if(this._tooltips.hasOwnProperty(i)){const s=(0,n.ensureDefined)(this._tooltips[i]);s.toggleVisibility(),this._hoveredId&&(null===(e=s.plateData)||void 0===e?void 0:e.id)!==this._hoveredId&&!(null===(t=s.plateData)||void 0===t?void 0:t.pinned)&&(s.remove(),delete this._tooltips[i])}}removeAll(){for(const e in this._tooltips)if(this._tooltips.hasOwnProperty(e)){(0,n.ensureDefined)(this._tooltips[e]).remove()}this._tooltips={}}removeTooltip(e){delete this._tooltips[e]}_createTooltip(){return new h(this,this._tooltipFactory())}_findOrCreateTooltip(e){let t=this._tooltips[e.id];return void 0===t&&(e.hovered||e.pinned)&&(t=this._createTooltip(),this._tooltips[e.id]=t),t||null}}class h{constructor(e,t){this._visible=!1,this._renderer=e,this._tooltip=t}drawPlate(e,t){this._visible=!0,this._tooltip.setSource(this._renderer.source),this._tooltip.showPlate(e,t),e.hovered||e.pinned||this._tooltip.hide(()=>this._renderer.removeTooltip(e.id))}remove(){this._tooltip.removeLayout()}toggleVisibility(){this._tooltip.toggleLayout(this._visible),this._visible=!1}}class d extends r.BarsMarksContainer{constructor(e){super(e),this.toolname="UserDefinedBarsMarks",(0,s.hideMarksOnBars)().subscribe(this,()=>{this.properties().childs().visible.setValue(!(0,s.hideMarksOnBars)().value())})}destroy(){(0,s.hideMarksOnBars)().unsubscribeAll(this),super.destroy()}userEditEnabled(){return!1}onClicked(e){var t,i,s;const r=null===(t=null==e?void 0:e.activeItem)||void 0===t?void 0:t.id;null===(s=(i=this._marks[r]).onClicked)||void 0===s||s.call(i)}clearMarks(){super.clearMarks(),this.onNeedRepaint.fire()}updatePlateData(e,t){return{...t,barWidth:this.barWidth(),text:e.text,tooltipMargin:-1*Math.max(e.minSize/2,.4*this.barWidth())}}hasContextMenu(){return!1}calcIsActualCurrency(){this._isActualCurrency=!0}calcIsActualUnit(){this._isActualUnit=!0}_initialize(){this.properties().childs().visible.setValue(!0)}_plateViewData(e){const t={text:e.text};return"object"==typeof e.color&&(t.theme="user_defined_theme",t.overridedTheme={},t.overridedTheme.border=e.color.border,t.overridedTheme.background=e.color.background),t}_getData(e){const t=this._model.mainSeries().symbolInfo();if(!t)return;const i=this.roundRange(this._rangeDifference(e)),s=this._model.mainSeries().properties().childs().interval.value();window.ChartApiInstance.getMarks(t,i.start,i.end,t=>{for(const e of t)this._marks[e.id]=e;this._loadedRange=this._rangeUnion(e,this._loadedRange),this.onNeedRepaint.fire()},s)}_createTooltipRenderer(){return new c(()=>new l,this)}}},1608:(e,t,i)=>{ +"use strict";i.d(t,{UserDefinedTimescaleMarks:()=>E});var s=i(16282),r=i(18437),n=i(43492),o=i(15521),a=i(72927),l=i(47903),c=i(87088),h=i(92137),d=i(16932),u=i(69819),p=i(71044),_=i(5025),m=i(33420),g=i(55430),f=i(21344);class v{constructor(e,t,i){this._data=e,this._hittest=t,this._textWidthCache=i}draw(e,t){const i=t.pixelRatio,s=this._data.centerPoint,r=Math.round(s.x*i),n=Math.round(s.y*i),o=Math.max(1,Math.floor(i))%2/2,l=new a.Point(r+o,n-o);this._drawLollipop(e,l,t),this._drawLabel(e,l,t.pixelRatio)}hitTest(e,t){const i=(0,f.interactionTolerance)().esd,s=this._data.centerPoint.y-this._data.style.lollipop.height/2-i,r=this._data.centerPoint.x-this._data.style.lollipop.width/2-i,n=(0,a.box)(new a.Point(r,s),new a.Point(r+this._data.style.lollipop.width+2*i,s+this._data.style.lollipop.height+2*i));return(0,p.pointInBox)(e,n)?this._hittest:null}_drawLollipop(e,t,i){const s=this._data.style,r=i.pixelRatio,n=Math.max(1,Math.floor(r));let o=Math.round(s.lollipop.width*r);o%2!=n%2&&(o+=1);const a=o/2;s.lollipop.fillCircle&&s.lollipop.backgroundColor&&(e.fillStyle=s.lollipop.backgroundColor,(0,g.createCircle)(e,t.x,t.y,a),e.fill());const l=Math.round(s.lollipop.lineWidth*r);e.strokeStyle=s.lollipop.strokeStyle,e.lineWidth=l,(0,_.setLineStyle)(e,m.LINESTYLE_SOLID);const c=a-Math.round(1*r+l/2);(0,g.createCircle)(e,t.x,t.y,c),s.lollipop.fillCircle&&s.lollipop.fillStyle&&(e.fillStyle=s.lollipop.fillStyle,e.fill()),e.stroke()}_drawLabel(e,t,i){const s=this._data.style.lollipop.text,r=s.label;e.textAlign="center",e.textBaseline="middle",e.fillStyle=s.strokeStyle,e.font=s.font;const n=this._textWidthCache.yMidCorrection(e,r);e.translate(t.x,t.y+((s.deltaY||0)+n)*i),(0,d.drawScaled)(e,i,()=>{e.fillText(r,0,0)})}}var S=i(10288);var y=i(50968),b=i(73395),w=i(54837);const P={fillPath:new Path2D("M8.961.92a3 3 0 0 1 3.078 0l7.5 4.48A3 3 0 0 1 21 7.975V20a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V7.975A3 3 0 0 1 1.461 5.4l7.5-4.48z"),strokePath:new Path2D("M9.867 2.742c.39-.23.875-.23 1.266 0l7.5 4.406c.382.225.617.635.617 1.078V20c0 .69-.56 1.25-1.25 1.25H3c-.69 0-1.25-.56-1.25-1.25V8.226c0-.443.235-.853.617-1.078l7.5-4.406z")},C={fillPath:new Path2D("M8.961 22.08a3 3 0 0 0 3.078 0l7.5-4.48A3 3 0 0 0 21 15.025V3a3 3 0 0 0-3-3H3a3 3 0 0 0-3 3v12.025A3 3 0 0 0 1.461 17.6l7.5 4.48z"),strokePath:new Path2D("M9.866 20.257c.391.23.877.23 1.268 0l7.5-4.414a1.25 1.25 0 0 0 .616-1.078V3c0-.69-.56-1.25-1.25-1.25H3c-.69 0-1.25.56-1.25 1.25v11.765c0 .443.234.853.616 1.078l7.5 4.414z")},T={fillPath:new Path2D("M3 0h15c1.662 0 3 1.338 3 3v15c0 1.662-1.338 3-3 3H3c-1.662 0-3-1.338-3-3V3c0-1.662 1.338-3 3-3z"),strokePath:new Path2D("M3 1.75h15c.693 0 1.25.557 1.25 1.25v15c0 .693-.557 1.25-1.25 1.25H3c-.692 0-1.25-.558-1.25-1.25V3c0-.692.558-1.25 1.25-1.25z")};function x(e,t,i,s,r){const n=i.pixelRatio;e.save(),e.translate(t.x-s.lollipop.width*n/2,t.y-s.lollipop.height*n/2),e.scale(n,n),s.lollipop.fillCircle&&s.lollipop.backgroundColor&&(e.fillStyle=s.lollipop.backgroundColor,e.fill(r.fillPath)),e.strokeStyle=s.lollipop.strokeStyle, +e.lineWidth=Math.round(s.lollipop.lineWidth*n)/n,(0,_.setLineStyle)(e,m.LINESTYLE_SOLID),s.lollipop.fillCircle&&s.lollipop.fillStyle&&(e.fillStyle=s.lollipop.fillStyle,e.fill(r.strokePath)),e.stroke(r.strokePath),e.restore()}function I(e,t,i,s){x(e,t,i,s,P)}function M(e,t,i,s){x(e,t,i,s,C)}function L(e,t,i,s){x(e,t,i,s,T)}class A extends v{_drawLollipop(e,t,i){const s=this._data.style;switch(s.shape){case"earningUp":I(e,t,i,s);break;case"earningDown":M(e,t,i,s);break;case"earning":L(e,t,i,s);break;default:super._drawLollipop(e,t,i)}}}class k extends class{constructor(e,t,i){this._invalidated=!1,this._renderer=new c.CompositeRenderer,this._textWidthCache=new h.TextWidthCache,this._stylesCache=null,this._lollipops={},this._lollipopsCounter=0,this._lastClickedId=null,this.onPaneBgChange=()=>{this._recreateStyles(this._model)},this._lastClickedId=null,this._model=e,this._source=t,this._hitTestHandler=i,this._recreateStyles(e),e.backgroundColor().subscribe(this.onPaneBgChange),e.mainSeries().onSymbolIntervalChanged().subscribe(this,this._onSymbolOrIntervalChanged)}destroy(){this._model.backgroundColor().unsubscribe(this.onPaneBgChange),this._model.mainSeries().onSymbolIntervalChanged().unsubscribeAll(this)}onClickOutside(e){var t;if(null===this._lastClickedId||!e)return void this.clearLastClicked();let i=null;if(function(e){return void 0!==e.touches}(e)){if(1!==e.touches.length)return;{const t=(0,s.ensureNotNull)(e.target).getBoundingClientRect(),r=e.touches[0];i=new a.Point(r.clientX-t.left,r.clientY-t.top)}}else i=new a.Point(e.offsetX,e.offsetY);const r=this._renderer.hitTest(i,{physicalHeight:0,physicalWidth:0,pixelRatio:1,cssHeight:0,cssWidth:0});null!==r&&(null===(t=r.data())||void 0===t?void 0:t.activeItem)===(0,s.ensureDefined)(this._lollipops[this._lastClickedId]).itemIndex||this.clearLastClicked()}clearLastClicked(){const e=null!==this._lastClickedId&&this._lollipops[this._lastClickedId]||null;null!==e&&(e.active=!1),this._lastClickedId=null}getLastClickedLollipopId(){return this._lastClickedId}update(){this._invalidated=!0}afterUpdate(e,t,i,s){}showBarLine(){return!0}getStyle(e){const t=e.active?"active":e.hovered?"hovered":"default";let i=t;if(e.stack&&(i+="_stack:"+e.stack),"active"===i)return this.activeStyle;if("hovered"===i)return this.hoveredStyle;if("default"===i)return this.defaultStyle;if(this._stylesCache||(this._stylesCache={}),!this._stylesCache[i]){const s=(0,l.clone)("active"===t?this.activeStyle:"hovered"===t?this.hoveredStyle:this.defaultStyle);e.stack&&(s.lollipop.incHeight=25*e.stack),this._stylesCache[i]=s}return this._stylesCache[i]}hasTooltip(e){return!0}_getY(){let e=0;const t=this._model.panes();for(let i=t.length;i--;){const s=t[i];s.containsMainSeries()&&(e+=s.height())}return e}_createRenderers(e,t){this._renderer.clear();const i=new d.Size(e,t);for(const e in this._lollipops)if(this._lollipops.hasOwnProperty(e)){const t=(0,s.ensureDefined)(this._lollipops[e]);if(t.visible){const e=this.getStyle(t),s={id:t.id, +centerPoint:new a.Point(t.basePoint.x,t.basePoint.y-e.lollipop.bottom-e.lollipop.height/2-(e.lollipop.incHeight||0)),style:e},r={activeItem:t.itemIndex,clickHandler:this._lollipopMouseClickHandler.bind(this,s,i),tapHandler:this._lollipopMouseClickHandler.bind(this,s,i)};if(this._renderer.append(this._createRendererForLollipop(s,r)),(t.hovered||t.active)&&this.hasTooltip(t)&&t.barY&&this.showBarLine()){const i={color:e.barLine.strokeStyle,linestyle:e.barLine.lineStyle,linewidth:e.barLine.lineWidth,x:t.basePoint.x,top:0,bottom:t.basePoint.y-e.lollipop.bottom-e.lollipop.height},s=new u.VerticalLineRenderer;s.setData(i),this._renderer.insert(s,0)}}}}_recreateStyles(e){this._stylesCache=null}_createRendererForLollipop(e,t){return new v(e,new S.HitTestResult(S.HitTestResult.CUSTOM,t),this._textWidthCache)}_lollipopMouseClickHandler(e,t,i){i.preventDefault();const r=e.id;if(this._lastClickedId=this._lastClickedId===r?null:r,null===this._lastClickedId)return;const n={target:i.target,targetSize:t,point:new a.Point(e.centerPoint.x,e.centerPoint.y-e.style.lollipop.height/2-8),marginTop:15};this._hitTestHandler(n,()=>{const e=(0,s.ensureDefined)(this._lollipops[r]),t=this.createTooltipContent(e);return t?[t]:null})}_onSymbolOrIntervalChanged(){this._lollipops={},this._lollipopsCounter=0,this._renderer.clear(),this.clearLastClicked()}}{constructor(e,t,i){super(e,t,i),this.stylesCache={},this.templatesCache={},this._itemIndexToId=new Map,this.source=t}createTooltipContent(e){return e.items?{title:e.items[0],subTitle:e.items[1],style:{color:e.color}}:null}clearCaches(){this.clearLastClicked(),this._lollipops={},this._lollipopsCounter=0}update(){this._invalidated=!0}renderer(e,t){return this._invalidated&&(this._createLollipops(t,e),this._invalidated=!1),this._renderer}getStyle(e){const t=e.active?"active":e.hovered?"hovered":"default";return this._generateStyle(t,e.color,e.label,e.stack,e.shape)}hasTooltip(e){return Boolean(e.items&&e.items.length)}getLollipopIdByIndex(e){return this._itemIndexToId.get(e)}_createRendererForLollipop(e,t){return new A(e,new S.HitTestResult(S.HitTestResult.CUSTOM,t),this._textWidthCache)}_createLollipops(e,t){const i=this._model.timeScale(),s=super._getY(),r=this._model.lastHittestData(),n=this._model.hoveredSource(),o=this.source.marks(),l=new Map;Object.keys(o).forEach(e=>{var t;const c=o[e],h=c.id,d=c.index;if(null!=d){const e=h===this.getLastClickedLollipopId(),o=this._lollipops[h],u=void 0!==o?o.itemIndex:this._lollipopsCounter++;this._itemIndexToId.has(u)||this._itemIndexToId.set(u,h);const p=n===this.source&&null!==r&&r.activeItem===u,_=(null!==(t=l.get(d))&&void 0!==t?t:-1)+1;l.set(d,_),this._lollipops[h]={id:h,itemIndex:u,basePoint:new a.Point(i.indexToCoordinate(d)+1,s),hovered:p,active:e,barY:null,label:c.label,color:c.color,items:c.tooltip,visible:!0,stack:_,shape:c.shape}}}),super._createRenderers(e,t)}_generateStyle(e,t,i,s,r){let n=e+t+i;if(void 0!==s&&(n+="_stack"+s),!(n in this.stylesCache)){const o="hovered"===e;let a="active"===e;const l=o||a;let c="white";a?c=t:o&&(c=(0, +y.generateColor)(t,85),c===t&&(a=!0));const h={barLine:{lineStyle:m.LINESTYLE_DASHED,lineWidth:1,strokeStyle:t},lollipop:{width:21,height:21,lineWidth:1.5,bottom:2,fillStyle:c,fillCircle:l,strokeStyle:t,text:{label:i,strokeStyle:a?"white":t,font:(0,b.makeFont)(12,w.CHART_FONT_FAMILY)}},shape:r};void 0!==s&&(h.lollipop.incHeight=25*s),this.stylesCache[n]=h}return this.stylesCache[n]}}class E extends n.BarsMarksContainer{constructor(e){super(e),this.toolname="UserDefinedTimescaleMarks",this._requestedPointsets=new Set,(0,o.hideMarksOnBars)().subscribe(this,()=>this._properties.childs().visible.setValue(!(0,o.hideMarksOnBars)().value())),this._paneView=new k(e,this,this._showTooltip.bind(this))}destroy(){(0,o.hideMarksOnBars)().unsubscribeAll(this),super.destroy()}userEditEnabled(){return!1}onClicked(e){if(null!==e){const t=this._paneView.getLollipopIdByIndex(e.activeItem);(0,r.emit)("onTimescaleMarkClick",t)}}clearMarks(){const e=this._model.chartApi();e.isConnected().value()&&Object.keys(this._marks).forEach(t=>{const i=this._getPointsetId(t);e.removePointset(i)}),this._requestedPointsets.clear(),super.clearMarks(),this._paneView.clearCaches(),this.onNeedRepaint.fire()}updatePlateData(e,t){return{...t,barWidth:this.barWidth(),text:e.text,tooltipMargin:-1*Math.max(e.minSize/2,.4*this.barWidth())}}hasContextMenu(){return!1}paneViews(){return this._properties.childs().visible.value()?[this._paneView]:[]}updateAllViews(){this._paneView.update()}onClickOutside(e){this._paneView.onClickOutside(e)}_createTooltipRenderer(){return null}_initialize(){this._properties.childs().visible.setValue(!0)}_plateViewData(e){return{text:e.text}}_getData(e){const t=this._model.mainSeries().symbolInfo();if(!t)return;const i=this.roundRange(this._rangeDifference(e)),r=this._model.mainSeries(),n=r.seriesSource().symbolInstanceId(),o=r.properties().childs().interval.value();window.ChartApiInstance.getTimescaleMarks(t,i.start,i.end,t=>{const i=this._model.chartApi();for(const e of t){e.index=null;const t=e.id,r=this._getPointsetId(t.toString()),a=this._marks[t];if(a&&null!==a.index&&(a.tickmark===e.tickmark?e.index=a.index:this._requestedPointsets.has(r)&&i.isConnected().value()&&(i.removePointset(r),this._requestedPointsets.delete(r))),this._marks[t]=e,null===e.index&&i.isConnected().value()){this._requestedPointsets.add(r);const t=[[e.tickmark,0]];i.createPointset(r,"turnaround",(0,s.ensureNotNull)(n),o,t,e=>this._onPointsetData(e))}}this._loadedRange=this._rangeUnion(e,this._loadedRange),this.updateAllViews(),this.onNeedRepaint.fire()},o)}_getPointsetId(e){return"pointsetMark_"+e}_onPointsetData(e){if("data_update"===e.method){const t=e.params.customId.split("_")[1],i=this._marks[t],s=e.params.plots;i&&1===s.length&&(i.index=s[0].value[0])}this.updateAllViews()}async _showTooltip(e,t){const s=t();if(!s)return;const r=this._model.timeScale(),n=[r.onScroll(),r.barSpacingChanged(),this._model.mainSeries().onSymbolIntervalChanged()],o=this.onClickOutside.bind(this) +;(await Promise.all([i.e(7610),i.e(3894),i.e(6253),i.e(5514),i.e(306),i.e(4940),i.e(9039)]).then(i.bind(i,14391))).showLollipopTooltip({items:s,position:e,customCloseSubscriptions:n,onClickOutside:o})}}},36559:(e,t,i)=>{"use strict";var s=i(61627).PlotRowSearchMode,r=i(50968).rgbaFromInteger;function n(){this.backColorers=[]}function o(e){n.call(this),this._series=e}function a(e,t){n.call(this),this._study=e,this._plotIndex=t}n.prototype.barStyle=function(e,t,i){for(var s={},r=this.backColorers.length-1;r>=0;r--)this.backColorers[r].applyBarStyle(e,t,s,i);return this.applyBarStyle(e,t,s,i),s},n.prototype.pushBackBarColorer=function(e){this.backColorers.push(e)},n.prototype.applyBarStyle=function(e,t,i){throw new Error("This function is supposed to be reimplemented in a subclass")},inherit(o,n),o.upColor=function(e,t){switch(e.style.value()){case TradingView.Series.STYLE_LINE:return e.lineStyle.color.value();case TradingView.Series.STYLE_AREA:return e.areaStyle.linecolor.value();case TradingView.Series.STYLE_BARS:return e.barStyle.upColor.value();case TradingView.Series.STYLE_CANDLES:return e.candleStyle.upColor.value();case TradingView.Series.STYLE_HOLLOW_CANDLES:return e.hollowCandleStyle.upColor.value();case TradingView.Series.STYLE_HEIKEN_ASHI:return e.haStyle.upColor.value();case TradingView.Series.STYLE_BASELINE:return e.baselineStyle.topLineColor.value();case TradingView.Series.STYLE_HILO:return e.hiloStyle.color.value()}throw new Error("Unknown series style")},o.downColor=function(e,t){switch(e.style.value()){case TradingView.Series.STYLE_LINE:return e.lineStyle.color.value();case TradingView.Series.STYLE_AREA:return e.areaStyle.linecolor.value();case TradingView.Series.STYLE_BARS:return e.barStyle.downColor.value();case TradingView.Series.STYLE_CANDLES:return e.candleStyle.downColor.value();case TradingView.Series.STYLE_HOLLOW_CANDLES:return e.hollowCandleStyle.downColor.value();case TradingView.Series.STYLE_HEIKEN_ASHI:return e.haStyle.downColor.value();case TradingView.Series.STYLE_BASELINE:return e.baselineStyle.bottomLineColor.value();case TradingView.Series.STYLE_HILO:return e.hiloStyle.color.value()}throw new Error("Unknown series style")},o.prototype._applyLineStyle=function(e,t,i,s,r){i.barColor=o.upColor(r)},o.prototype._applyAreaStyle=function(e,t,i,s,r){i.barColor=o.upColor(r)},o.prototype._applyBarStyle=function(e,t,i,s,r){var n=o.upColor(r),a=o.downColor(r),l=this.findBar(e,!1,s);if(r.barStyle.barColorsOnPrevClose.value()){var c=this.findPrevBar(e,!1,s);i.barColor=c[TradingView.CLOSE_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a,i.barBorderColor=c[TradingView.CLOSE_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a}else i.barColor=l[TradingView.OPEN_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a,i.barBorderColor=l[TradingView.OPEN_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a},o.prototype._applyCandleStyle=function(e,t,i,s,r){ +var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.candleStyle.borderUpColor?r.candleStyle.borderUpColor.value():r.candleStyle.borderColor.value(),h=r.candleStyle.borderDownColor?r.candleStyle.borderDownColor.value():r.candleStyle.borderColor.value(),d=r.candleStyle.wickUpColor?r.candleStyle.wickUpColor.value():r.candleStyle.wickColor.value(),u=r.candleStyle.wickDownColor?r.candleStyle.wickDownColor.value():r.candleStyle.wickColor.value(),p=this.findBar(e,!1,s);r.candleStyle.barColorsOnPrevClose.value()&&this._series.data().first().index!==e?n=this.findPrevBar(e,!1,s)[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:n=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT];i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?d:u},o.prototype._applyHollowCandleStyle=function(e,t,i,s,r){var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.hollowCandleStyle.borderUpColor?r.hollowCandleStyle.borderUpColor.value():r.hollowCandleStyle.borderColor.value(),h=r.hollowCandleStyle.borderDownColor?r.hollowCandleStyle.borderDownColor.value():r.hollowCandleStyle.borderColor.value(),d=r.hollowCandleStyle.wickUpColor?r.hollowCandleStyle.wickUpColor.value():r.hollowCandleStyle.wickColor.value(),u=r.hollowCandleStyle.wickDownColor?r.hollowCandleStyle.wickDownColor.value():r.hollowCandleStyle.wickColor.value(),p=this.findBar(e,!1,s),_=this.findPrevBar(e,!1,s);n=this._series.data().first().index!==e?_[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT],i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?d:u,i.isBarHollow=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT]},o.prototype._applyHAStyle=function(e,t,i,s,r){var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.haStyle.borderUpColor.value(),h=r.haStyle.borderDownColor.value(),d=r.haStyle.wickUpColor.value(),u=r.haStyle.wickDownColor.value(),p=this.findBar(e,t,s);r.haStyle.barColorsOnPrevClose.value()?n=this.findPrevBar(e,t,s)[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:n=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT];i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?d:u},o.prototype._applyBaseLineStyle=function(e,t,i,s,r){var n=this.findBar(e,t,s),a=r.baselineStyle,l=this._series.priceScale(),c=Math.round(l.height()*(Math.abs(100-a.baseLevelPercentage.value())/100)),h=this._series.firstValue(),d=l.coordinateToPrice(c,h);n[TradingView.CLOSE_PLOT]>d?i.barColor=o.upColor(r,t):i.barColor=o.downColor(r,t)},o.prototype._applyHiLoStyle=function(e,t,i,s,r){i.barColor=o.upColor(r,t),i.barBorderColor=r.hiloStyle.borderColor.value()},o.prototype.applyBarStyle=function(e,t,i,s){i||(i={}),i.barColor=null,i.barBorderColor=null,i.barWickColor=null,i.isBarHollow=null,i.isBarUp=null,i.upColor=null,i.downColor=null,i.isTwoColorBar=null,i.isMergedBar=null;var r=this._series.properties();switch(r.style.value()){case TradingView.Series.STYLE_LINE:this._applyLineStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_AREA:this._applyAreaStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_BARS:this._applyBarStyle(e,t,i,s,r);break +;case TradingView.Series.STYLE_CANDLES:this._applyCandleStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HOLLOW_CANDLES:this._applyHollowCandleStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HEIKEN_ASHI:this._applyHAStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_BASELINE:this._applyBaseLineStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HILO:this._applyHiLoStyle(e,t,i,s,r)}return i},o.prototype.getSeriesBars=function(e){return e?this._series.nsBars():this._series.bars()},o.prototype._findBarFieldValue=function(e,t,i){var s=this.getSeriesBars(i).valueAt(e);if(null!==s)return s[t]},o.prototype.findBar=function(e,t,i){return i?i.value:this.getSeriesBars(t).valueAt(e)||[]},o.prototype.findPrevBar=function(e,t,i){if(i&&i.previousValue)return i.previousValue;var r=this._series.bars().search(e-1,s.NearestLeft,TradingView.CLOSE_PLOT);return null!==r?r.value:[]},inherit(a,n),a.prototype.getBars=function(){return this._study.series().bars()},a.prototype.firstColoredBar=function(e){for(var t=e,i=0;ie+l)return i;var c=s.styles[a.id];if(c.visible&&!c.visible.value())return i;var h=o.valueAt(e-l);if(null===h)return i;var d=h[this._plotIndex+1];if(null==d)return i;if(d=Math.round(d),n.isRGB)i.barColor=r(d),i.upColor=i.barColor,i.downColor=i.barColor;else{var u=n.plots[this._plotIndex].palette,p=s.palettes[u],_=n.palettes[u].valToIndex?n.palettes[u].valToIndex[d]:d,m=p.colors[_].color.value();i.barColor=m,i.upColor=m.color,i.downColor=m.color}return i},t.SeriesBarColorer=o,t.StudyBarColorer=a},45672:(e,t,i)=>{"use strict";i.d(t,{BarsRange:()=>r});var s=i(16282);class r{constructor(e,t){(0,s.assert)(e<=t,"The last bar in the bars range should be greater than or equal to the first bar"),this._firstBar=e,this._lastBar=t}firstBar(){return this._firstBar}lastBar(){return this._lastBar}count(){return this._lastBar-this._firstBar+1}contains(e){return this._firstBar<=e&&e<=this._lastBar}equals(e){return this._firstBar===e.firstBar()&&this._lastBar===e.lastBar()}static compare(e,t){return null===e||null===t?e===t:e.equals(t)}}},31707:(e,t,i)=>{"use strict";i.d(t,{ChartModelBase:()=>Ut});var s=i(99479),r=i(16282),n=i(72927),o=i(14563),a=i(53312),l=i(14829),c=i(87438),h=i(61389),d=i(18437),u=i(23221),p=i(21698),_=i(49382),m=i(67945);class g{constructor(){this._items=[],this._set=new Set,this._dataSourcesCache=null,this._customSourcesCache=null,this._lineSourcesCache=null}isEmpty(){return 0===this._items.length} +add(e){if(this._items.length>0&&!(0,m.isLineTool)(this._items[0])&&this.clear(),(0,m.isLineTool)(e)){const t=(0,_.lowerbound)(this._items,e,(e,t)=>e.zorder()!(0,p.isDataSource)(e))),this._customSourcesCache}checkLineToolSelection(){this._items.forEach(e=>(0,m.isLineTool)(e)&&e.calcIsActualSymbol()),this._items=this._items.filter(e=>!(0,m.isLineTool)(e)||e.isActualSymbol()),this._invalidateCache()}remove(e){this._items=this._items.filter(t=>t!==e),this._set.delete(e),this._invalidateCache()}clear(){this._items=[],this._set.clear(),this._invalidateCache()}_invalidateCache(){this._customSourcesCache=null,this._dataSourcesCache=null,this._lineSourcesCache=null}}var f=i(65618),v=i.n(f),S=i(73228),y=i(35001),b=i(11092),w=i(674),P=i.n(w),C=i(73395),T=i(54837);class x{constructor(e){this._rendererOptions={borderSize:1,offsetSize:5,fontSize:NaN,font:"",color:"",paneBackgroundColor:"",paddingBottom:0,paddingInner:0,paddingOuter:0,paddingTop:0,lineSpacing:0},this._chartModel=e}options(){const e=this._rendererOptions,t=this._chartModel.properties().childs(),i=t.scalesProperties.childs().fontSize.value();return e.fontSize!==i&&(e.fontSize=i,e.font=(0,C.makeFont)(i,T.CHART_FONT_FAMILY,""),e.paddingTop=2.5/12*i,e.paddingBottom=e.paddingTop,e.paddingInner=i/12*e.offsetSize,e.paddingOuter=i/12*e.offsetSize,e.lineSpacing=2/12*i),e.color=t.scalesProperties.childs().textColor.value(),e.paneBackgroundColor=t.paneProperties.childs().background.value(),this._rendererOptions}}var I=i(7171),M=i(19625),L=i(59104),A=i(18130),k=i(73853),E=i(27490),D=i(25436),V=i(18742);const B=new L.PriceFormatter;class N extends k.CustomSourceBase{constructor(e,t,i){super(e,t),this._studySource=null,this._paneViews=[],this._metaInfo=null,this._destroyed=!1,this._isStarted=!1,this._loadedGraphics=null,this._doubleClickHandler=i;const s=t.mainSeries();this._properties=new b.DefaultProperty("sessions"),(0,A.applyDefaultsOverrides)(this._properties.childs().graphics,void 0,!1,"sessions"),this._removeDuplicateProperties(),this._properties.subscribe(this,this._onPropertiesChanged),t.studyMetaInfoRepository().findById({type:"java",studyId:"Sessions@tv-basicstudies"}).then(e=>{this._destroyed||null===this._loadedGraphics&&(this._setMetaInfo(e),null!==this._metaInfo&&(this._studySource=new I.StudyDataSource(t.chartApi(),s.seriesSource(),"sessions_",this._metaInfo),this._createPaneViews(), +this._studySource.dataCleared().subscribe(this,this.updateAllViews),this._studySource.dataUpdated().subscribe(this,this.updateAllViews),this._studySource.setInputs({}),this._processHibernate()))}),t.timeScale().onReset().subscribe(this,this._clearData),t.timeScale().logicalRangeChanged().subscribe(this,this.updateAllViews),t.mainSeries().sessionIdProxyProperty().subscribe(this,this._updateVisibleOfPreAndPostMarketBackground),t.mainSeries().properties().childs().interval.subscribe(this,this._processHibernate),this._updateVisibleOfPreAndPostMarketBackground(t.mainSeries().properties().childs().sessionId)}applyOverrides(e){(0,A.applyPropertiesOverrides)(this._properties.childs().graphics,void 0,!1,e,"sessions"),this._model.updateSource(this)}start(){this._isStarted=!0,this._processHibernate()}restart(){this._clearData(),E.enabled("stop_study_on_restart")&&this.stop(),this.start()}isStarted(){return this._isStarted}stop(){this._isStarted=!1,null!==this._studySource&&this._studySource.stop()}isHoveredEnabled(){return!1}paneViews(e){return this._paneViews}updateAllViews(){this._paneViews.forEach(e=>e.update())}updateViewsForPane(e){this.updateAllViews()}destroy(){this._destroyed=!0,null!==this._studySource&&(this._studySource.dataCleared().unsubscribeAll(this),this._studySource.dataUpdated().unsubscribeAll(this),this._studySource.destroy(),this._studySource=null),this._model.timeScale().logicalRangeChanged().unsubscribeAll(this),this._model.timeScale().onReset().unsubscribeAll(this),this._model.mainSeries().sessionIdProxyProperty().unsubscribeAll(this),this._model.mainSeries().properties().childs().interval.unsubscribeAll(this),this._properties.unsubscribeAll(this)}series(){return this._model.mainSeries()}priceScale(){return this.series().priceScale()}graphics(){return this._loadedGraphics||(0,r.ensureNotNull)(this._studySource).graphics()}properties(){return this._properties}graphicsInfo(){return(0,r.ensureNotNull)(this._metaInfo).graphics}firstValue(e){return this._model.mainSeries().firstValue()}formatter(){return B}state(e){const t={properties:this._properties.state()};return e&&null!==this._metaInfo&&(t.data={graphics:(0,M.saveStudyGraphics)(this.graphics()),metaInfo:this._metaInfo}),t}restoreState(e,t){const i=e.properties;this._migrateOutOfSessionProperty(i),this._properties.mergeAndFire(i),this._removeDuplicateProperties(),this._updateVisibleOfPreAndPostMarketBackground(this._model.mainSeries().properties().childs().sessionId),void 0!==e.data&&t&&(this._loadStudyGraphics(e.data.graphics),this._setMetaInfo(e.data.metaInfo),this._createPaneViews())}restoreOldState(e,t){const i={properties:{graphics:e.state.graphics}};void 0!==e.data&&void 0!==e.metaInfo&&t&&(i.data={metaInfo:e.metaInfo,graphics:e.data.graphics}),this.restoreState(i,t)}applyPreferences(e){this._properties.mergePreferences(e)}metaInfo(){return(0,r.ensureNotNull)(this._metaInfo)}_loadStudyGraphics(e){const t=e.backgrounds;if(void 0!==t){const e=t.findIndex(e=>"inSession"===e.styleId);-1!==e&&t.splice(e,1)}this._loadedGraphics=(0,M.loadStudyGraphics)(e)} +_setMetaInfo(e){const t=e.graphics.backgrounds;void 0!==t&&void 0!==t.inSession&&delete t.inSession,this._metaInfo=e}_updateVisibleOfPreAndPostMarketBackground(e){const t=!(0,D.isRegularSessionId)(e.value());this._outOfSessionVisibilityProperty().setValue(t),this._preMarketVisibilityProperty().setValue(t),this._postMarketVisibilityProperty().setValue(t)}_clearData(){null!==this._studySource&&this._studySource.clearData()}_createPaneViews(){const e={doubleClickHandler:this._doubleClickHandler};(0,M.createGraphicsPaneViews)(this,this._model,e).then(e=>{this._paneViews=e,this._model.lightUpdate()})}_onPropertiesChanged(){this._processHibernate(),this.updateAllViews()}_processHibernate(){if(null!==this._studySource){const e=this._canBeHibernated(),t=this._isHibernated(),i=this._studySource.isStarted();!t&&e&&i?this._studySource.stop():!t||e||i||this._studySource.start()}}_canBeHibernated(){const e=this._model.mainSeries(),t=this._preMarketVisibilityProperty().value()&&this._postMarketVisibilityProperty().value()&&this._outOfSessionVisibilityProperty().value();return e.isDWM()||!t&&!this._vertLinesVisibleProperty().value()}_isHibernated(){return this._isStarted&&(null===this._studySource||!this._studySource.isStarted())}_outOfSessionVisibilityProperty(){return this._properties.childs().graphics.childs().backgrounds.childs().outOfSession.childs().visible}_preMarketVisibilityProperty(){return this._properties.childs().graphics.childs().backgrounds.childs().preMarket.childs().visible}_postMarketVisibilityProperty(){return this._properties.childs().graphics.childs().backgrounds.childs().postMarket.childs().visible}_vertLinesVisibleProperty(){return this._properties.childs().graphics.childs().vertlines.childs().sessBreaks.childs().visible}_removeDuplicateProperties(){this._properties.hasChild("properties")&&(this._properties.removeProperty("properties"),(0,b.saveDefaultProperties)(!0),this._properties.childChanged("",null),(0,b.saveDefaultProperties)(!1))}_migrateOutOfSessionProperty(e){const t=e.graphics.backgrounds;if(void 0!==t){const i=t.outOfSession;i.color===(0,r.ensureDefined)(V.sessionsPreferencesDefault.graphics.backgrounds).outOfSession.color||"postMarket"in t||(e.graphics.backgrounds={...t,postMarket:{color:i.color,transparency:i.transparency,visible:i.visible},preMarket:{color:i.color,transparency:i.transparency,visible:i.visible}})}}}var R=i(17e3),O=i(5729),F=i.n(O),W=i(32856),H=i.n(W),z=i(47329),U=i(37923),j=i(83939),G=i(65447),q=i(99432),Y=i(57968),$=i(47903),K=i(7532),X=i(45672);class Z{constructor(e,t){(0,r.assert)(e<=t,"The left value should be greater than or equal to the right value"),this._left=e,this._right=t}left(){return this._left}right(){return this._right}length(){return this._right-this._left+1}contains(e){return this._left<=e&&e<=this._right}equals(e){return this._left===e.left()&&this._right===e.right()}static compare(e,t){return null===e||null===t?e===t:e.equals(t)}}const J=(0,G.getLogger)("Chart.TimePoints");class Q{constructor(){this._zoffset=0,this._items=[]}clear(){this._zoffset=0, +this._items=[]}size(){return this._items.length}firstIndex(){return this._offsetToIndex(0)}lastIndex(){return this._offsetToIndex(this._items.length-1)}merge(e,t,i){if(0===i.length)return J.logError("merge: 'values' does not contain any time points"),[];if(t>this._zoffset&&e+t>0)return J.logError("merge: when the first time point index is updated, we should fill the time points starting from the first one"),[];if(0===this._items.length)return this._items=i,this._zoffset=t,[{change:"rebuild",index:this._validOffsetToIndex(0)}];const s=e+this._zoffset;if(s<0){const r=Math.abs(s);if(i.lengththis._items.length){const e=o-this._items.length;for(let t=n;tthis._items[this._items.length-1])return t?this._validOffsetToIndex(this._items.length-1):null;for(let i=0;io){const i=e-o;if(i<500&&null!=t)return t(l,i);return l+i*c}return null}roughIndex(e,t=null){const i=this._items;if(!i.length||i.length<2)return null;const s=i.length-1,r=this._validOffsetToIndex(0),n=this._validOffsetToIndex(s),o=i[0],a=i[s];if(e>=o&&e<=a)return this.closestIndexLeft(e);const l=(a-o)/(n-r);if(ea){const i=e-a;let s=Math.trunc(i/l);if(s<500&&null!==t){const i=t(a,e);i.success&&(s=i.result)}return n+s}return null} +closestIndexLeft(e){const t=this._items;if(!t.length)return null;if(Number.isNaN(e))return null;let i=t.length-1;if(e>=t[i])return this._validOffsetToIndex(i);let s=0;const r=t[s];if(es+1;){const r=s+i>>1,n=t[r];if(n>e)i=r;else{if(!(n{this.setRightOffset(e)}), +this._options.preserveBarSpacing&&(this._barSpacing=this._scalesProperties.childs().barSpacing.value()||6),this._barSpacingChanged.subscribe(this,this._maxRightOffsetOnChanged),this._widthChanged.subscribe(this,this._maxRightOffsetOnChanged)}destroy(){this._barSpacingChanged.unsubscribeAll(this),this._barSpacingChanged.destroy(),this._widthChanged.unsubscribeAll(this),this._widthChanged.destroy()}isEmpty(){return 0===this._width||0===this._points.size()}update(e,t,i,s){this._visibleBarsInvalidated=!0,i.length>0&&this._points.merge(e,t,i),this._tickMarks.merge(s),this._correctOffset()}addTail(e,t,i){this._tickMarks.removeTail(t);const s=e.params,n=(0,r.ensureDefined)(this._tickMarks.maxIndex)+(i?0:1);for(let e=0;e0&&(i*=this._width/e.width)),this._tryToUpdateBarSpacing(this._barSpacing,i),this._correctOffset(),this._rightOffsetChanged.fire(this._rightOffset)}marks(){if(this.isEmpty())return null;const e=this._barSpacing,t=5*((this._scalesProperties.childs().fontSize.value()||0)+4),i=Math.round(t/e),s=(0,r.ensureNotNull)(this.visibleBarsStrictRange()),n=Math.max(s.firstBar(),s.firstBar()-i),o=Math.max(s.lastBar(),s.lastBar()-i),a=this._tickMarks.build(e,t),l=[];for(const e of a){if(!(n<=e.index&&e.index<=o))continue;const t=this._tickMarks.indexToTime(e.index);null!==t&&l.push({coord:this.indexToCoordinate(e.index),label:this.formatLabel(t,e.span),span:e.span,major:e.label>=se.DAY_SPAN})}return l}visibleBarsStrictRange(){return this._visibleBarsInvalidated&&(this._visibleBarsInvalidated=!1,this._updateVisibleBars()),this._visibleBars.strictRange()}visibleBarsStrictRangeChanged(){return this._visibleBarsChanged}logicalRangeChanged(){return this._logicalRangeChanged}tickMarks(){return this._tickMarks}points(){return this._points}width(){return this._width}setWidth(e,t){if(!Number.isFinite(e)||e<=0)return void de.logWarn("setWidth: invalid argument: "+e);if(this._width===e)return;if(this._visibleBarsInvalidated=!0,(t||this._options.lockVisibleTimeRangeOnResize)&&this._width){const t=this._barSpacing*e/this._width;this._tryToUpdateBarSpacing(this._barSpacing,t) +}else this._width&&this.setBarSpacing(this._barSpacing);if(null!==this._leftEdgeIndex){if((0,r.ensureNotNull)(this.visibleBarsStrictRange()).firstBar()<=this._leftEdgeIndex){const t=this._width-e;this._rightOffset-=Math.round(t/this._barSpacing)+1}}this._width=e,this._widthChanged.fire(e);const i=this._rightOffset;this._correctOffset(),this._rightOffset!==i&&this._rightOffsetChanged.fire(this._rightOffset),this._requestMoreData()}setLeftEdgeFix(e){this._leftEdgeIndex=e;const t=this.visibleBarsStrictRange();if(null===t)return;const i=t.firstBar()-e;if(i<0){const e=this._rightOffset-i-1;this.scrollToOffsetAnimated(e,500)}}indexToCoordinate(e){if(this.isEmpty())return 0;if(!(0,$.isInteger)(e))return 0;const t=this.baseIndex()+this._rightOffset-e;return this._width-(t+.5)*this._barSpacing-1}indexToUserTime(e){return this._tickMarks.indexToTime(e)}timePointToIndex(e){return this._points.indexOf(e,!0)}indexToTimePoint(e){return this._points.valueAt(e)}timeToCoordinate(e){const t=this._points.closestIndexLeft(e);if(null===t)return null;const i=(0,r.ensureNotNull)(this._points.valueAt(t)),s=this.indexToCoordinate(t);if(s<=0||s>=this._width)return null;const n=this.barSpacing(),o=this.baseIndex(),a=s+(e-i)/((0,r.ensureNotNull)(this._points.valueAt(o))-(0,r.ensureNotNull)(this._points.valueAt(o-1)))*n+1;return a<=0||a>=this._width?null:a}barIndexesToCoordinates(e){const t=this.baseIndex();for(const i of e){const e=i.time,s=t+this._rightOffset-e,r=this._width-(s+.5)*this._barSpacing-1;i.time=r,i.exactTime=r}}timedValuesToCoordinates(e){const t=this.baseIndex()+this._rightOffset,i=this._width-t*this._barSpacing-.5*this._barSpacing-1;for(const t of e)t.x=i+t.x*this._barSpacing}indexesToCoordinates(e,t){if(this.isEmpty())return;void 0===t&&(t=e.length);const i=this.baseIndex()+this._rightOffset,s=this._width-i*this._barSpacing-.5*this._barSpacing-1,r=this._barSpacing,n=e;for(let i=0;i{void 0!==t&&t(),this._requestMoreData()};if(e){const e=this._rightOffset,t=this.maxRightOffset();t>0&&i>t&&(i=t);const r=this._model;(0,q.doAnimate)({from:e,to:i,duration:1e3,easing:j.easingFunc.easeInOutQuint,onComplete:s,onStep:(e,t)=>{this._visibleBarsInvalidated=!0,this._updateRightOffset(t),r.recalculateAllPanes(),r.lightUpdate(),r.recalcVisibleRangeStudies()}})}else this._visibleBarsInvalidated=!0,this._updateRightOffset(i),s()}scrollToFirstBar(){this._model.gotoTime(new Date("1800-01-01").getTime())}scrollToOffsetAnimated(e,t){if(!isFinite(e))throw new RangeError("offset is required and must be finite number");const i=void 0===t?400:t;if(!isFinite(i)||i<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const s=this._rightOffset,r=Date.now(),n=()=>{this._visibleBarsInvalidated=!0;const t=(Date.now()-r)/i +;if(t>=1)return this._updateRightOffset(e),this._visibleBarsInvalidated=!0,this._model.recalculateAllPanes(),void this._model.lightUpdate();const o=s+(e-s)*t;this._updateRightOffset(o),this._model.recalculateAllPanes(),setTimeout(n,20)};n()}defaultRightOffset(){return this._defaultRightOffset}rightOffsetDefaultValue(){return 10}barSpacing(){return this._barSpacing}setBarSpacing(e){Number.isFinite(e)?(e=this.getValidBarSpacing(e),this._tryToUpdateBarSpacing(this._barSpacing,e)&&(this._correctOffset(),this._options.preserveBarSpacing&&((0,b.saveDefaultProperties)(!0),this._scalesProperties.childs().barSpacing.setValue(this._barSpacing),(0,b.saveDefaultProperties)(!1)),this._model.recalculateAllPanes(),this._model.lightUpdate())):de.logWarn("setBarSpacing: invalid argument: "+e)}barSpacingChanged(){return this._barSpacingChanged}getValidBarSpacing(e){return null==e&&(e=this.barSpacing()),ethis.maxBarSpacing()?this.maxBarSpacing():e}isValidBarSpacing(e){return e>=this.minBarSpacing()&&e<=this.maxBarSpacing()}preserveBarSpacing(){return this._options.preserveBarSpacing}normalizeBarIndex(e){let t=0,i=0;const s=this.baseIndex(),n=(0,r.ensureNotNull)(this._points.firstIndex());return es?(t=(0,r.ensureNotNull)(this._points.valueAt(s)),i=e-s):(t=(0,r.ensureNotNull)(this._points.valueAt(e)),i=0),{time_t:t,offset:i}}denormalizeTimePoint(e){const t=this._points.indexOf(e.time_t,!1);if(null!==t)return t+e.offset}rightOffset(){return this._rightOffset}rightOffsetChanged(){return this._rightOffsetChanged}minRightOffset(){const e=this.points().firstIndex(),t=this._baseIndex;if(null===e||null===t)return null;if(null!==this._leftEdgeIndex){const e=this.width()/this._barSpacing;return this._leftEdgeIndex-t+e-1}return e-t-1+he}maxRightOffset(){return this.width()/this._barSpacing-he}maxRightOffsetChanged(){return this._maxRightOffsetChanged}onReset(){return this._resetDelegate}scrollStartPoint(){return this._scrollStartPoint}baseIndex(){return this._baseIndex||0}zoom(e,t,i){if(!Number.isFinite(e)||!Number.isFinite(t))return void de.logWarn(`zoom: invalid arguments: ${e}, ${t}, ${i}`);const s=this.coordinateToIndex(e),r=this.barSpacing(),n=r+t*(r/10);this.setBarSpacing(n);(void 0!==i?!i:this._options.rightBarStaysOnScroll)||this.setRightOffset(this.rightOffset()-.5+(s-this._coordinateToFloatIndex(e))),this._requestMoreData()}zoomToBarsRange(e,t){if(null!==this._leftEdgeIndex&&(e=Math.max(e,this._leftEdgeIndex)),t<=e)return;const i=this.baseIndex(),s=this._rightOffset;this._rightOffset=t-i;const r=Math.max(t-e+1,he);this.setBarSpacing(this.width()/r),this._visibleBarsInvalidated=!0,this._correctOffset(),this._rightOffset!==s&&this._rightOffsetChanged.fire(this._rightOffset),this._requestMoreData()}coordinateToIndex(e){return Math.ceil(this._coordinateToFloatIndex(e))}coordinateToVisibleIndex(e){let t;if(0===e){const e=this._coordinateToFloatIndex(-1);t=Math.floor(e)+1}else t=this.coordinateToIndex(e) +;const i=this.visibleBarsStrictRange();return null===i||i.contains(t)||(t=Math.min(Math.max(i.firstBar(),t),i.lastBar())),t}canZoomIn(){return this.barSpacing()this._options.minBarSpacing}minBarSpacing(){return this._options.minBarSpacing}maxBarSpacing(){const e=this.width();return ce?e:e/he}resetRightOffset(){this.setRightOffset(this._defaultRightOffset.value())}reset(){this._visibleBarsInvalidated=!0,this._points=new Q,this._scrollStartPoint=null,this._scaleStartPoint=null,this._clearCommonTransitionsStartState(),this._tickMarks.reset(),this._leftEdgeIndex=null,this._resetDelegate.fire(),this.disconnect()}disconnect(){this._requestingMoreData=!1,this._requestedTickmarksCount=0,this._endOfData=!1}setBaseIndex(e){Number.isFinite(e)?(this._visibleBarsInvalidated=!0,this._baseIndex=e,this._correctOffset()):de.logDebug("setBaseIndex: invalid argument: "+e)}resetBaseIndex(){this._visibleBarsInvalidated=!0,this._baseIndex=null}setRightOffset(e){Number.isFinite(e)?(this._visibleBarsInvalidated=!0,this._updateRightOffset(e)):de.logWarn("setRightOffset: invalid argument: "+e)}correctBarSpacing(){this.isEmpty()||this.points().size()this.formatLabelImpl(e,t)),this._formattedBySpan.set(t,i)),i.format(new Date(e))}formatLabelImpl(e,t){if(!(e&&e instanceof Date))return"incorrect time" +;const i=function(e,t){if(ee&&(this._rightOffset=e,this._visibleBarsInvalidated=!0);const t=this.minRightOffset();null!==t&&this._rightOffsett.code?1:0}class Ce{constructor(e){this._convertibleItems=e,this._idsToItems=new Map;for(const t of e)this._idsToItems.set(t.id,t)}convertible(e){return void 0!==this._idsToItems.get(e)}item(e){var t;return null!==(t=this._idsToItems.get(e))&&void 0!==t?t:null}size(){return this._convertibleItems.length}filterConvertible(e,t){const i=this._convertibleItems.filter(function(e,t){return i=>!e.has(i.id)&&t(i.id)}(e,t));return i.sort(Pe),i}}class Te{constructor(e){this._allGroups=new Set,this._idToName=new Map,this._idToDescription=new Map,this._groupedUnitIds=new Map,this._groupedUnits=new Map,this._groupById=new Map,this._size=0,this._units=e;for(const t in e)if(e.hasOwnProperty(t)){this._allGroups.add(t),this._groupedUnitIds.set(t,new Set(e[t].map(e=>e.id))),this._groupedUnits.set(t,e[t]);for(const i of e[t])this._size++,this._idToName.set(i.id,i.name),this._idToDescription.set(i.id,i.description),this._groupById.set(i.id,t)}}unitsChanged(e){return this._units!==e}size(){return this._size}name(e){return this._idToName.get(e)||e}description(e){return this._idToDescription.get(e)||e}unitGroupById(e){return this._groupById.get(e)||null}allGroups(){return new Set(this._allGroups)}unitsByGroups(e){const t=[];return e.forEach(e=>{const i=this._groupedUnits.get(e);void 0!==i&&t.push({name:e,units:i})}),t}convertible(e,t){for(const i of t){const t=this._groupedUnitIds.get(i) +;if(void 0!==t&&t.has(e))return!0}return!1}}var xe=i(75496);class Ie{constructor(e){this._source=null,this._sourcePane=null,this._currentToolSupportsPhantomMode=!1,this._model=e}destroy(){this._source=null,this._sourcePane=null}source(){return this._source}onToolChanged(){this._removeSource();const e=this._model.currentTool();this._currentToolSupportsPhantomMode=(0,m.isLineToolName)(e)&&(0,m.supportsPhantomMode)(e)}onCursorPositionUpdated(){if(!this._currentToolSupportsPhantomMode)return;const e=this._model.crossHairSource();if(this._sourcePane!==e.pane&&this._removeSource(),null===e.pane||!(0,xe.isNumber)(e.index)||!(0,xe.isNumber)(e.price))return void this._removeSource();const t={index:e.index,price:e.price};null!==this._source?this._source.setPoint(0,t):(this._source=this._model.createLineTool(e.pane,t,this._model.currentTool(),void 0,null),this._sourcePane=e.pane)}_removeSource(){null!==this._source&&(this._model.removeSource(this._source),this._source=null,this._sourcePane=null)}}var Me=i(61627),Le=i(38536),Ae=i(70599);class ke{align(e,t,i){let s=e;if(!(0,Ae.magnetEnabled)().value())return s;const n=i.mainDataSource();if(null===n)return s;const o=n.model().mainSeries();if(n!==o)return s;const a=o.priceScale(),l=o.bars();if(a.isEmpty()||!l.contains(t))return s;const c=l.valueAt(t);if(null===c)return s;const h=[];null!==o.priceSource()?h.push(o.barFunction()(c)):h.push(c[1],c[2],c[3],c[4]);const d=(0,r.ensure)(o.firstValue()),u=h.map(e=>({y:a.priceToCoordinate(e,d),price:e})),p=a.priceToCoordinate(e,d);u.sort((e,t)=>Math.abs(e.y-p)-Math.abs(t.y-p));const _=u[0];return((0,Ae.magnetMode)().value()===Le.MagnetMode.StrongMagnet||Math.abs(_.y-p)<50)&&(s=_.price),s}}var Ee=i(25303),De=i(84540),Ve=i(63059),Be=i(58007),Ne=i(46015),Re=i(5025),Oe=i(55430);class Fe{constructor(){this._data=null}setData(e){this._data=e}draw(e,t){if(null===this._data)return;const i=t.pixelRatio,s=Math.max(1,Math.floor(i));e.lineWidth=s;const r=Math.ceil(this._data.h*i),n=Math.ceil(this._data.w*i);if(e.save(),e.lineCap="butt",this._data.vertLinesVisible){e.strokeStyle=this._data.vertLinesColor,(0,Re.setLineStyle)(e,this._data.vertLineStyle);for(const t of this._data.timeMarks){const s=Math.round(t.coord*i);(0,Oe.drawVerticalLine)(e,s,0,r)}}if(this._data.horzLinesVisible){e.strokeStyle=this._data.horzLinesColor,(0,Re.setLineStyle)(e,this._data.horzLineStyle);for(const t of this._data.priceMarks){const s=Math.round(t.coord*i);(0,Oe.drawHorizontalLine)(e,s,0,n)}}e.restore()}hitTest(e){return null}}class We{constructor(e){this._renderer=new Fe,this._pane=e}update(){}renderer(){const e=this._pane.defaultPriceScale(),t=this._pane.model().timeScale();if(e.isEmpty()||t.isEmpty())return null;const i=this._pane.model().properties().childs().paneProperties.childs(),s=t.marks(),r={horzLinesVisible:!0,vertLinesVisible:!0,horzLinesColor:i.horzGridProperties.childs().color.value(),vertLinesColor:i.vertGridProperties.childs().color.value(),horzLineStyle:i.horzGridProperties.childs().style.value(),vertLineStyle:i.vertGridProperties.childs().style.value(), +priceMarks:e.marks(),timeMarks:null!==s?s:[],w:this._pane.width(),h:this._pane.height()};return this._renderer.setData(r),this._renderer}}class He extends Ne.DataSource{id(){return"grid"}paneViews(e){return[new We(e)]}}var ze=i(95426);class Ue extends ze.PriceAxisView{constructor(e,t,i){super(),this._source=e,this._priceScale=t,this._priceProvider=i,this._properties=e.model().properties().childs().scalesProperties}setHitTestData(e){this._hitTestData=e}additionalPadding(e){return 0}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._priceScale,r=s.mainSource(),n=null!==r?r.firstValue():null;if(!this._isVisible()||s.isEmpty()||null===n)return;const o=this._priceProvider(s);if(null===o)return;i.background=this._bgColor(),i.textColor=this.generateTextColor(i.background);const a=this.additionalPadding(s.fontSize());i.additionalPaddingTop=a,i.additionalPaddingBottom=a,i.coordinate=s.priceToCoordinate(o,n),e.text=s.formatPrice(o,n),e.visible=!0,t.visible=!0,t.hitTestData=this._hitTestData}}const je={normalBgColor:a.colorsPalette["color-cold-gray-750"],hoveredBgColor:a.colorsPalette["color-cold-gray-600"]},Ge={normalBgColor:a.colorsPalette["color-cold-gray-900"],hoveredBgColor:a.colorsPalette["color-cold-gray-650"]};class qe extends Ue{additionalPadding(e){return 2/12*e}_isVisible(){return this._properties.childs().showPriceScaleCrosshairLabel.value()&&this._source.visible&&null!==this._source.pane}_bgColor(){return this._getThemedColors().normalBgColor}_updateRendererData(e,t,i){const s=t.visible;super._updateRendererData(e,t,i),this._source.isHovered()?t.backgroung=this._getThemedColors().hoveredBgColor:t.backgroung=void 0,s||(t.visible=s)}_getThemedColors(){return this._source.model().isDark()?je:Ge}}class Ye extends Ue{_isVisible(){return null!==this._source.measurePane()}_bgColor(){return this._properties.childs().axisLineToolLabelBackgroundColorCommon.value()}}var $e=i(13114),Ke=(i(46374),i(6799));i(50044);function Xe(e){const t=e.priceScale();return null===t?0:t.isPercentage()||t.isIndexedTo100()?2:1}class Ze extends $e.PanePriceAxisView{constructor(e,t,i,s,r){super(e,t,s),this._crossHairMenuCachedState=null,this._hasActions=!1,this._tooltipText=null,this._gaOrigin="CH menu",this._crosshairPriceAxisView=e,e.setPaneRendererLabelIcon(0),this._crosshair=t,this._scale=i,this._options=r}_updateImpl(e,t){super._updateImpl(e,t);const i=this._crosshair.y,s=this._chartModel.properties().childs().scalesProperties.childs().fontSize.value(),r=this._chartModel.timeScale().width(),n=this._crosshair.model().priceAxisRendererOptions(),o=s+2*this._crosshairPriceAxisView.additionalPadding(s)+n.paddingTop+n.paddingBottom,a=o,l=i-o/2,c=r-a,h=this._crosshair.pane,d=this._mainDataSourceOnPane(),u=d&&d.symbolSource(),p=!!u&&(u.isConvertedToOtherCurrency()||u.isConvertedToOtherUnit());if(null!==d){const e=Xe(d),t=d.idForAlert(),i=this._chartModel.isInReplay(),s=this._crossHairMenuCachedState +;null!==s&&s.id===t&&s.priceScale===e&&s.isCurrencyOrUnitConverted===p&&s.isInReplay===i||(this._updateTooltipAndActionsAvaliability(d,e,p),this._crossHairMenuCachedState={id:t,priceScale:e,isCurrencyOrUnitConverted:p,isInReplay:i})}const _=null!==d&&(0,Be.isSymbolSource)(d)?d.symbol():null,m=Boolean(_)||!1;this._crosshairPriceAxisView.setPaneLabelVisible(m);const g=null!==h&&0!==h.leftPriceScales().length&&m,f=null!==h&&0!==h.rightPriceScales().length&&m,v=r-a/2,S=this._tooltipText?{text:this._tooltipText,rect:{x:v,y:l,w:0,h:0}}:void 0;this._data={left:g,right:f,xl:0,xr:c,y:l,containerWidth:a,containerHeight:o,clickHandler:this._handleClick.bind(this),tooltip:S},this._crosshairPriceAxisView.setHitTestData(this._data)}_priceScale(){return this._scale}_updateTooltipAndActionsAvaliability(e,t,i){this._tooltipText=null,this._hasActions=!1;if(!(1===t))return;this._chartModel.isInReplay();let s=0;let r=0;1===s&&(this._tooltipText=(0,oe.t)("Add Horizontal Line")),this._crosshairPriceAxisView.setPaneRendererLabelIcon(r),this._hasActions=0!==s}_handleClick(e,t,i){(0,c.trackEvent)(this._gaOrigin,"click");const s=this._mainDataSourceOnPane(),r=null!==s&&(0,Be.isSymbolSource)(s)?s.symbol():null,n={pageX:i.pageX,pageY:i.pageY,clientX:i.clientX,clientY:i.clientY,screenX:i.screenX,screenY:i.screenY,price:this._crosshair.price,symbol:r};d.emit("onPlusClick",n)}_getMenuItems(e){return Promise.resolve([])}_createAlertMenuItems(e){return Promise.resolve([])}_createTradingMenuItems(){return Promise.resolve([])}_createAddHorizontalLineMenuItem(){return[]}_getActionAddAlert(e){return null}_getActionAddHorizontalLine(e){return null}_getValue(e,t){const i=e.priceScale(),s=e.firstValue();if(null===i||null===s)return null;return i.isPercentage()||i.isIndexedTo100()?null:i.coordinateToPrice(t,s)}_formatValue(e,t){return t.formatter().format(e)}_addAlert(e,t){}_addHorizontalLineTool(e,t){}_showContextMenu(e,t,i,s){const n="left"===s;setTimeout(()=>{const t=(0,r.ensureDefined)(this._data),s=n?t.xl:t.xr,o=i.localX-s,a=i.clientX-o,l=i.clientX-o+t.containerWidth;Ke.ContextMenuManager.showMenu(e,{clientX:n?a:l,clientY:i.clientY-t.containerHeight/2,boxHeight:t.containerHeight,attachToXBy:n?"left":"right",attachToYBy:"auto-strict"},void 0,{menuName:"CrosshairMenuView"})})}_mainDataSourceOnPane(){const e=this._crosshair.pane;return null!==e?e.mainDataSource():null}}var Je=i(33420),Qe=i(87910),et=i(10288);class tt{constructor(e){this._data=e}hitTest(e){return void 0===this._data.clickHandler?null:new et.HitTestResult(et.HitTestResult.CUSTOM,{clickHandler:this._data.clickHandler,tapHandler:this._data.clickHandler})}draw(e,t){const i=t.pixelRatio,s=this._data.vertLinesVisible,r=this._data.horzLinesVisible;if(!s&&!r)return;e.save(),e.lineWidth=Math.max(1,Math.floor(this._data.lineWidth*i)),e.strokeStyle=this._data.color,e.fillStyle=this._data.color,e.lineCap="butt",(0,Re.setLineStyle)(e,this._data.lineStyle);const n=Math.round(this._data.x*i),o=Math.round(this._data.y*i),a=Math.ceil(this._data.w*i),l=Math.ceil(this._data.h*i);s&&n>=0&&(0, +Oe.drawVerticalLine)(e,n,0,l),r&&o>=0&&(0,Oe.drawHorizontalLine)(e,o,0,a),this._data.drawCenter&&(e.beginPath(),e.arc(n,o,Math.round(3*i),0,2*Math.PI,!0),e.fillStyle=this._data.color,e.fill()),e.restore()}}const it=a.colorsPalette["color-tv-blue-500"];class st{constructor(e,t){this._rendererData={},this._renderer=new tt(this._rendererData),this._source=e,this._pane=t}update(){}renderer(e,t){const i=this._source.selectPointMode().value(),s=this._source.visible&&(this._source.areLinesVisible||i)&&!this._source.linesShouldBeHidden(),n=this._rendererData;if(!s||null===this._pane)return null;const o=this._source.paneForPointSelect(),a=null!==o?this._source.pane===o&&this._pane===o:this._pane===this._source.pane;if(i&&this._source.isOnHoveredChartWidget()&&a){const e=(0,r.ensureNotNull)(this._source.pointToSelect());n.color=this._source.lineColor()||it,n.lineWidth=1,n.lineStyle=Je.LINESTYLE_SOLID,n.horzLinesVisible=!0,n.vertLinesVisible=!0,n.drawCenter=!1,"time"===e?n.horzLinesVisible=!1:"price"===e&&(n.vertLinesVisible=!1)}else{const e=this._source.properties(),t=this._source.model().currentTool(),i=(0,Qe.lastMouseOrTouchEventInfo)(),s=i.isTouch&&!i.stylus&&((0,m.isLineToolName)(t)||(0,ve.toolIsMeasure)(t));let r;r=s?it:e.childs().color.value();const o=e.childs().transparency.value();!s&&o>0&&(r=(0,ye.generateColor)(r,o)),n.color=r,n.horzLinesVisible=this._pane===this._source.pane,n.vertLinesVisible=!0,n.lineWidth=e.childs().width.value(),n.lineStyle=e.childs().style.value(),n.drawCenter=s&&this._pane===this._source.pane}return n.w=this._pane.width(),n.h=this._pane.height(),n.x=void 0!==this._source.lockedX&&isFinite(this._source.lockedX)&&this._source.lockedX||this._source.x,n.y=this._source.y,this._renderer}}var rt=i(72095);const nt={backgroundColor:(0,ye.generateColor)(a.colorsPalette["color-tv-blue-500"],70),borderColor:(0,ye.generateColor)(a.colorsPalette["color-tv-blue-500"],20)};class ot{constructor(e){this._renderer=new rt.RectangleRenderer,this._rectangle=null,this._crosshair=e}update(){const e=this._crosshair.selection();null!==e&&null!==this._crosshair.pane?this._rectangle=this._crosshair.pane.logicalRectToPixels(e):this._rectangle=null}renderer(e,t){if(!this._rectangle)return null;const i={backcolor:nt.backgroundColor,color:nt.borderColor,fillBackground:!0,linewidth:1,points:[this._rectangle.min,this._rectangle.max],extendLeft:!1,extendRight:!1};return this._renderer.setData(i),this._renderer}}var at=i(76553),lt=i(62159),ct=i(85421),ht=i(1953),dt=i(76559),ut=i(6397),pt=i(44896),_t=i(87088),mt=i(71172);const gt=(0,oe.t)("{count} bars"),ft=(0,oe.t)("Vol"),vt=new lt.PercentageFormatter,St=new ht.TimeSpanFormatter,yt=new dt.VolumeFormatter,bt=(0,a.getHexColorByName)("color-tv-blue-500"),wt=(0,a.getHexColorByName)("color-ripe-red-400"),Pt={bgColorPositive:(0,ye.generateColor)(bt,80),bgColorNegative:(0,ye.generateColor)(wt,80),colorPositive:(0,a.getHexColorByName)("color-tv-blue-600"),colorNegative:(0,a.getHexColorByName)("color-ripe-red-400"),labelBgColorPositive:bt,labelBgColorNegative:wt};class Ct{ +constructor(e,t){this._pipFormatter=null,this._lastSymbolInfo=null,this._horzTrenRenderer=new ut.TrendLineRenderer,this._vertTrenRenderer=new ut.TrendLineRenderer,this._bgRenderer=new rt.RectangleRenderer,this._labelRenderer=new pt.TextRenderer,this._p1=null,this._p2=null,this._label=null,this._source=e,this._pane=t}update(){const[e,t]=this._source.measurePoints();if(void 0===t)return this._p1=null,void(this._p2=null);const i=(0,r.ensureNotNull)(this._source.measurePane()),s=e.price,o=t.price,a=t.price-s,l=t.index-e.index,c=(0,at.forceLTRStr)(""+l),h=(0,r.ensureNotNull)(i.mainDataSource());let d=(0,r.ensureNotNull)(h.formatter()).format(a);if(Math.abs(s)>1e-8){const e=a/Math.abs(s);d+=" ("+vt.format(100*e)+")"}const u=(0,at.forceLTRStr)(d);this._label=u+"\n"+gt.format({count:c});const p=(0,r.ensureNotNull)(h.firstValue()),_=this._source.model().timeScale().indexToCoordinate(e.index),m=this._source.model().timeScale().indexToCoordinate(t.index),g=i.defaultPriceScale().priceToCoordinate(s,p),f=i.defaultPriceScale().priceToCoordinate(o,p);this._p1=new n.Point(_,g),this._p2=new n.Point(m,f);const v=this._source.model().timeScale().indexToUserTime(e.index),S=this._source.model().timeScale().indexToUserTime(t.index);let y=null;if(null!==v&&null!==S){const e=this._pane.model().mainSeries().symbolInfo();null!==e&&e!==this._lastSymbolInfo&&(this._pipFormatter=new ct.PipFormatter(e.pricescale,e.minmov,e.type,e.minmove2),this._lastSymbolInfo=e),y=(S.valueOf()-v.valueOf())/1e3}const b=this._pipFormatter?this._pipFormatter.format(a):null,w=null!==b?" , "+b:"",P=null!==y?St.format(y):null,C=null!==P?", "+(0,at.startWithLTR)(P):"";this._label=(0,at.forceLTRStr)(u+w)+"\n"+gt.format({count:c})+C;const x=this._source.measureVolume();Number.isNaN(x)||(this._label+=`\n${ft} ${yt.format(x)}`);const I=o=50?mt.LineEnd.Arrow:mt.LineEnd.Normal};this._horzTrenRenderer.setData(s)}{const e=Math.round(k.x),t=new n.Point(e,this._p1.y),i=new n.Point(e,this._p2.y),s={points:[t,i],color:M,linewidth:1,linestyle:Je.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:mt.LineEnd.Normal,rightend:Math.abs(t.y-i.y)>=50?mt.LineEnd.Arrow:mt.LineEnd.Normal};this._vertTrenRenderer.setData(s)}const E={x:0,y:10},D=.5*(this._p1.x+this._p2.x),V=this._p2.y,B=new n.Point(D,V),N=(R=(0,r.ensureNotNull)(this._label),{points:[B],text:R,color:"#FFFFFF",horzAlign:"center",vertAlign:"middle",font:T.CHART_FONT_FAMILY,offsetX:E.x,offsetY:E.y,bold:!1,italic:!1,fontsize:12,padding:8,highlightBorder:!1,backgroundColor:L, +backgroundTransparency:10,backgroundVertInflate:5,backgroundHorzInflate:5,backgroundRoundRect:4});var R;this._labelRenderer.setData(N);const O=this._labelRenderer.measure(),F=(0,pt.calculateLabelPosition)(O,this._p1,this._p2,E,this._pane.height());this._labelRenderer.setPoints([F])}renderer(){if(null===this._p1||null===this._p2)return null;const e=new _t.CompositeRenderer;return e.append(this._bgRenderer),e.append(this._horzTrenRenderer),e.append(this._vertTrenRenderer),e.append(this._labelRenderer),e}}var Tt=i(58729);class xt extends Tt.ScaledPaneRenderer{constructor(e){super(),this._data=e}hitTest(e){return null}_drawImpl(e){e.translate(this._data.x-this._data.width/2,this._data.y-this._data.height/2),e.strokeStyle="rgba(153,153,153,.3)",e.lineWidth=2,e.beginPath(),this._drawShackle(e),e.stroke(),e.closePath(),e.strokeStyle="rgba(153,153,153,.7)",e.lineWidth=1,e.beginPath(),e.rect(0,this._data.height-this._data.bodyHeight+.5,this._data.width,this._data.bodyHeight),e.closePath(),e.stroke(),e.translate(0,-1),e.strokeStyle="#777",e.beginPath(),this._drawShackle(e),e.stroke(),e.closePath(),e.fillStyle="rgba(255,255,255,.7)",e.beginPath(),e.rect(1,this._data.height-this._data.bodyHeight+1.5,this._data.width-2,this._data.bodyHeight-2),e.fill(),e.beginPath(),e.rect(.5,this._data.height-this._data.bodyHeight+1,this._data.width-1,this._data.bodyHeight-1),e.stroke(),e.closePath(),e.fillStyle="#777",e.fillRect(this._data.width/2-.5,this._data.height-this._data.bodyHeight/2,1,2)}_drawShackle(e){const t=(this._data.width-3)/2,i=this._data.height-this._data.bodyHeight;e.moveTo(1.5,t),e.arc(this._data.width/2,t,t,Math.PI,2*Math.PI),i>t&&(e.moveTo(1.5,t),e.lineTo(1.5,i),e.moveTo(this._data.width-1.5,t),e.lineTo(this._data.width-1.5,i))}}class It{constructor(e,t,i){this._horzVisible=!1,this._source=e,this._pane=t,this._axis=i||"x"}update(){}renderer(e,t){const i=this._source.visible&&this._source.areLinesVisible,s=(0,ve.lockTimeAxis)().value(),n=i&&this._horzVisible,o=i||s;if("y"===this._axis&&!n||!o)return null;const a="y"===this._axis?this._pane.width()-4.5:(0,r.ensureDefined)(this._source.lockedX)+1,l="y"===this._axis?this._source.y:this._pane.height()-5.5-1;return new xt({x:a,y:l,width:9,height:11,bodyHeight:7})}}var Mt=i(43367),Lt=i(92932),At=i(62043);const kt=(0,oe.t)("n/a");class Et extends At.DataWindowView{constructor(e){super(),this._invalidated=!0,this._dateItem=new At.DataWindowItem((0,oe.t)("Date"),""),this._timeItem=new At.DataWindowItem((0,oe.t)("Time"),""),this._model=e,this._items.push(this._dateItem),this._items.push(this._timeItem)}update(){this._invalidated=!0}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}_updateImpl(){const e=this._model.mainSeries().isDWM();if(this._timeItem.setVisible(!e),this._timeItem.setValue(kt),this._dateItem.setValue(kt),this._model.timeScale().isEmpty())return;let t=this._model.crossHairSource().appliedIndex();if(!(0,xe.isNumber)(t)){const e=this._model.mainSeries().data().last();if(null===e)return;t=e.index} +const i=this._model.timeScale().indexToUserTime(t);null!==i&&(this._dateItem.setValue(this._model.dateFormatter().format(i)),e||this._timeItem.setValue(this._model.timeFormatter().format(i)))}}var Dt=i(87758);class Vt extends Dt.TimeAxisView{constructor(e,t,i=!1){super(e),this._indexProvider=t,this._highlighted=i,this._properties=e.properties().childs().scalesProperties}_getBgColor(){const e=this._model.isDark();return this._highlighted?this._properties.childs().axisLineToolLabelBackgroundColorCommon.value():e?a.colorsPalette["color-cold-gray-750"]:a.colorsPalette["color-cold-gray-900"]}_getIndex(){return this._model.crossHairSource().visible?this._indexProvider():null}_isVisible(){return this._properties.childs().showTimeScaleCrosshairLabel.value()}}var Bt=i(96370);const Nt={menuEnabled:!1,menuForMainSourceOnly:!1,disableTradingMenuActions:!1,disableDrawHorizLineMenuAction:!1};class Rt extends Ne.DataSource{constructor(e,t,i){super(),this.pane=null,this.price=NaN,this.index=NaN,this.visible=!0,this.areLinesVisible=!0,this.x=NaN,this.y=NaN,this._measuringEnabled=new(F()),this._measurePane=null,this._startMeasurePoint=null,this._endMeasurePoint=null,this._lastValidMeasurePoint=null,this._isOnHoveredChartWidget=!1,this._selectPointMode=new(H())(!1),this._selectionPane=null,this._selectionView=new ot(this),this._selectionStartPoint=null,this._measurePaneView=null,this._timeLockPaneView=null,this._priceAxisViews=new Map,this._panePriceAxisViews=new Map,this._startMeasurePriceAxisViews=new Map,this._endMeasurePriceAxisViews=new Map,this._originX=NaN,this._originY=NaN,this._subscribed=!1,this._movedDelegate=new(F()),this._pointSelectedDelegate=new(F()),this._requestedPoint=null,this._paneForRequestedPoint=null,this._selectLineColor=null,this._volumeCalculator=null,this._model=e,this._options=Object.assign({},Nt,i||{}),this._linesShouldBeHidden=this._model.readOnly(),this._dataWindowView=new Et(e),this.setSelectionEnabled(!1);const s=e=>t=>t===(0,r.ensureNotNull)(this._measurePane).defaultPriceScale()?e():null;this._currentPosPriceProvider=e=>{const t=(0,r.ensureNotNull)(this.pane);if(e===t.defaultPriceScale())return this.price;const i=(0,r.ensureNotNull)(t.defaultPriceScale().mainSource()).firstValue();if(null===i)return null;const s=t.defaultPriceScale().priceToCoordinate(this.price,i),n=(0,r.ensureNotNull)(e.mainSource()).firstValue();return null===n?null:e.coordinateToPrice(s,n)},this._startMeasurePriceProvider=s(()=>(0,r.ensureNotNull)(this._startMeasurePoint).price),this._endMeasurePriceProvider=s(()=>(0,r.ensureNotNull)(this._lastMeasurePoint()).price),this._properties=t;this._timeAxisView=new Vt(e,()=>this.appliedIndex(),!1),this._startMeasureTimeAxisView=new Vt(e,()=>(0,r.ensureNotNull)(this._startMeasurePoint).index,!0),this._endMeasureTimeAxisView=new Vt(e,()=>(0,r.ensureNotNull)(this._lastMeasurePoint()).index,!0),e.readOnly()||ve.cursorTool.subscribe(e=>this.areLinesVisible="arrow"!==e,{callWithLast:!0})}destroy(){null!==this._volumeCalculator&&this._volumeCalculator.destroy()}moved(){return this._movedDelegate +}originX(){return this._originX}originY(){return this._originY}saveOriginCoords(e,t){this._originX=e,this._originY=t}clearOriginCoords(){this._originX=NaN,this._originY=NaN}currentPoint(){return new n.Point(this.x,this.y)}model(){return this._model}appliedIndex(){return Number.isFinite(this.lockedIndex)?this.lockedIndex:this.index}startMeasurePoint(){return this._startMeasurePoint||null}endMeasurePoint(){return this._endMeasurePoint||null}measureVolume(){if(null===this._volumeCalculator)return NaN;const[e,t]=this.measurePoints();return void 0===t?NaN:this._volumeCalculator.volume(e.index,t.index)}measurePane(){return this._measurePane||null}startMeasuring(e,t){this._startMeasurePoint=e,this._measurePane=t,this._measuringEnabled.fire(!0),t.containsMainSeries()&&((0,r.assert)(null===this._volumeCalculator),this._volumeCalculator=new Bt.SeriesTimeRangeVolumeCalculator(this.model().mainSeries())),this._model.updatePane(t)}finishMeasure(e){this._endMeasurePoint=e}clearMeasure(){delete this._measurePane,delete this._startMeasurePoint,delete this._endMeasurePoint,delete this._lastValidMeasurePoint,this._model.lightUpdate(),null!==this._volumeCalculator&&(this._volumeCalculator.destroy(),this._volumeCalculator=null),this._measuringEnabled.fire(!1)}measuringEnabled(){return this._measuringEnabled}measurePoints(){this.updateAllViews();const e=[(0,r.ensureNotNull)(this._startMeasurePoint)],t=this._lastMeasurePoint();return null!==t&&e.push(t),e}startSelection(e){this._selectionStartPoint=this.currentLogicalPoint(),this._selectionPane=e}clearSelection(){this._selectionStartPoint=null,this._selectionPane=null}selection(){return this._selectionStartPoint?{p1:this._selectionStartPoint,p2:this.currentLogicalPoint()}:null}currentLogicalPoint(){return{index:this.appliedIndex(),price:this.price}}selectPointMode(){return this._selectPointMode}lineColor(){return this._selectLineColor}cancelRequestSelectPoint(){this._selectPointMode.value()&&this._setSelectPointModeState(!1)}requestSelectPoint(e){(0,r.assert)(!this._selectPointMode.value(),"Point already requested");const{pointType:t,pane:i,lineColor:s=null}=e;i&&((0,r.assert)(-1!==this._model.panes().indexOf(i),"Chartmodel doesn't contains specified pane"),this._paneForRequestedPoint=i,this._model.panesCollectionChanged().subscribe(this,this._paneCollectionChanged)),this._selectLineColor=s,this._requestedPoint=t,this._setSelectPointModeState(!0)}onPointSelected(){return this._pointSelectedDelegate}trySelectCurrentPoint(){const e=(0,r.ensureNotNull)(this._requestedPoint);if(!this._model.mainSeries().bars().contains(this.index)&&"price"!==e)return;const t=(0,r.ensureNotNull)(this.pane);if(this._paneForRequestedPoint&&this._paneForRequestedPoint!==t)return;let i,s;if("price"===e||(i=this._model.timeScale().indexToTimePoint(this.index),null!==i)){if("time"!==e){const e=t.mainDataSource();if(null===e)return;const i=e.firstValue(),r=e.priceScale();if(null===i||null===r)return;s=r.coordinateToPrice(this.y,i)}this._setSelectPointModeState(!1),this._pointSelectedDelegate.fire({time:i,price:s},t)} +}isOnHoveredChartWidget(){return this._isOnHoveredChartWidget}setOnHoveredChartWidget(e){this._isOnHoveredChartWidget=e}clearPosition(){this.visible=!1,this.index=NaN,this.price=NaN,this.x=NaN,this.y=NaN,this.pane=null,this.clearOriginCoords()}setPosition(e,t,i){return this._subscribed||(this._model.mainSeries().onRestarted().subscribe(this,this.clearMeasure),this._subscribed=!0),this.setLockedPosition(i),this.visible=!0,this._tryToUpdateViews(e,t,i)}setLinesShouldBeHidden(e){this._linesShouldBeHidden=e}linesShouldBeHidden(){return this._linesShouldBeHidden}handleContextMenuEvent(e){this._selectPointMode.value()&&this._setSelectPointModeState(!1)}properties(){return this._properties}priceAxisViews(e,t){const i=null===this._requestedPoint||"time"!==this._requestedPoint||!this._isOnHoveredChartWidget,s=[];return this.pane===e&&i&&s.push(this._createPriceAxisViewOnDemand(this._priceAxisViews,this._panePriceAxisViews,e,t,this._currentPosPriceProvider,qe,!0)[0]),this._startMeasurePoint&&s.push(this._createPriceAxisViewOnDemand(this._startMeasurePriceAxisViews,null,e,t,this._startMeasurePriceProvider,Ye)[0]),this._lastMeasurePoint()&&s.push(this._createPriceAxisViewOnDemand(this._endMeasurePriceAxisViews,null,e,t,this._endMeasurePriceProvider,Ye)[0]),s}timeAxisViews(){const e=[],t=null===this._requestedPoint||"price"!==this._requestedPoint||!this._isOnHoveredChartWidget;return!this._linesShouldBeHidden&&(this.visible||(0,ve.lockTimeAxis)().value())&&t&&e.push(this._timeAxisView),this._startMeasurePoint&&e.push(this._startMeasureTimeAxisView),this._lastMeasurePoint()&&e.push(this._endMeasureTimeAxisView),e}paneViews(e){if(void 0===e)return null;const t=[new st(this,e)];if(e===this._selectionPane&&t.push(this._selectionView),e===this._measurePane&&(null===this._measurePaneView&&(this._measurePaneView=new Ct(this,e)),this._measurePaneView.update(),t.push(this._measurePaneView)),Lt.addPlusButtonProperty.value()){const i=e===this.pane,s=!Mt.CheckMobile.any()||window.screen.width>=320,r=ve.tool.value(),n=(0,m.isLineToolName)(r),o=null!==this._model.lineBeingEdited()||null!==this._model.lineBeingCreated()||this._model.sourcesBeingMoved().length>0||null!==this._model.customSourceBeingMoved()||(0,ve.toolIsMeasure)(r);if(i&&this._isOnHoveredChartWidget&&!this._selectPointMode.value()&&s&&!n&&!o){const i=e.mainDataSource();if(null!==i){const s=i.priceScale();if(null!==s){const i=this._createPriceAxisViewOnDemand(this._priceAxisViews,this._panePriceAxisViews,e,s,this._currentPosPriceProvider,qe,!0)[1];null!==i&&t.push(i)}}}}return(0,ve.lockTimeAxis)().value()&&(null===this._timeLockPaneView&&(this._timeLockPaneView=new It(this,e)),t.push(this._timeLockPaneView)),t}dataWindowView(){return this._dataWindowView}updateAllViews(){this._priceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._panePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._startMeasurePoint&&(this._startMeasurePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._startMeasureTimeAxisView.update()), +this._lastMeasurePoint()&&(this._endMeasurePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._endMeasureTimeAxisView.update()),this._timeAxisView.update(),this._selectionView.update(),this._dataWindowView.update()}setLockedPosition(e){delete this.lockedIndex,delete this.lockedX,e!==this._measurePane&&(0,ve.lockTimeAxis)().value()&&(this.lockedIndex=this._model.timeScale().points().roughIndex(ve.lockTimeAxisTime.value()),null!==this.lockedIndex&&(this.lockedX=this._model.timeScale().indexToCoordinate(this.lockedIndex)))}isMenuEnabled(){return this._options.menuEnabled}isHoveredEnabled(){return Lt.addPlusButtonProperty.value()}isHovered(){return this._model.hoveredSource()===this}pointToSelect(){return this._requestedPoint}paneForPointSelect(){return this._paneForRequestedPoint}_lastMeasurePoint(){return this._endMeasurePoint?this._endMeasurePoint:(null!==this.pane&&this._measurePane===this.pane&&(this._lastValidMeasurePoint={price:this._model.magnet().align(this.price,this.index,this.pane),index:this.index}),this._lastValidMeasurePoint||null)}_createPriceAxisViewOnDemand(e,t,i,s,n,o,a=!1){let l=e.get(i),c=null!==t?t.get(i):void 0;void 0===l&&(l=new Map,e.set(i,l),this._options.menuEnabled&&null!==t&&(c=new Map,t.set(i,c)),a&&i.onDestroyed().subscribe(this,()=>this._onPaneDestroyed(i)));let h=l.get(s);if(void 0===h){if(h=new o(this,s,n),l.set(s,h),void 0!==c){const e=new Ze(h,this,s,this._model,this._options);c.set(s,e)}a&&s.lastSourceRemoved().subscribe(this,()=>this._onPriceScaleCleared(s))}let d=null;return void 0!==c&&(d=(0,r.ensureDefined)(c.get(s))),[h,d]}_onPaneDestroyed(e){e.onDestroyed().unsubscribeAll(this),this._priceAxisViews.delete(e),this._panePriceAxisViews.delete(e),this._startMeasurePriceAxisViews.delete(e),this._endMeasurePriceAxisViews.delete(e)}_onPriceScaleCleared(e){e.lastSourceRemoved().unsubscribeAll(this),this._priceAxisViews.forEach(t=>t.delete(e)),this._panePriceAxisViews.forEach(t=>t.delete(e)),this._startMeasurePriceAxisViews.forEach(t=>t.delete(e)),this._endMeasurePriceAxisViews.forEach(t=>t.delete(e))}_tryToUpdateViews(e,t,i){return!!this._tryToUpdateData(e,t,i)&&(this.updateAllViews(),this._movedDelegate.fire({index:this.index,price:this.price}),!0)}_tryToUpdateData(e,t,i){const s=this.x,n=this.y,o=this.price,a=this.index,l=this.pane,c=this._priceScaleByPane(i);if(this.index=e,this.x=isNaN(e)?NaN:this._model.timeScale().indexToCoordinate(e),null!==c&&null!==i){this.pane=i,this.price=t;const e=(0,r.ensureNotNull)(i.mainDataSource()).firstValue();this.y=null===e?NaN:c.priceToCoordinate(t,e)}else this.pane=null,this.price=NaN,this.y=NaN;return s!==this.x||n!==this.y||a!==this.index||o!==this.price||l!==this.pane}_priceScaleByPane(e){return e&&!e.defaultPriceScale().isEmpty()?e.defaultPriceScale():null}_setSelectPointModeState(e){e||(this._requestedPoint=null,this._selectLineColor=null,this._paneForRequestedPoint&&(this._paneForRequestedPoint=null,this._model.panesCollectionChanged().unsubscribe(this,this._paneCollectionChanged))),ve.isPointSelectedNow.setValue(e), +this._selectPointMode.setValue(e),this._model.lightUpdate()}_paneCollectionChanged(e){const t=this._paneForRequestedPoint;null!==t&&-1===e.indexOf(t)&&this.cancelRequestSelectPoint()}}var Ot=i(95975);const Ft=(0,G.getLogger)("Chart.ChartModel");function Wt(e,t){const i=e.indexOf(t);return-1!==i&&(e.splice(i,1),!0)}function Ht(e){var t,i;for(let s=e.length;s--;){const r=e[s].dataSources();for(let e=r.length;e--;)null===(t=r[e].dataWindowView())||void 0===t||t.update();const n=e[s].priceDataSources();for(let e=n.length;e--;)null===(i=n[e].legendView())||void 0===i||i.update()}}const zt={isSnapshot:!1,readOnly:!1,watermarkEnabled:!0,shiftVisibleRangeOnNewBar:!0,currencyConversionEnabled:!1,unitConversionEnabled:!1,countdownEnabled:!0,lastPriceAnimationEnabled:!0,onWidget:!1,hideIdeas:!1};class Ut{constructor(e,t,i,r,n,o,a,c,h,d){this._onRearrangePanes=new(F()),this._lineToolsGroupModel=new fe.LineToolsGroupModel,this._sourcesBeingMoved=[],this._activeItemBeingMoved=null,this._lineBeingEdited=null,this._linePointBeingEdited=null,this._linePointBeingChanged=null,this._customSourceBeingMovedHitTestData=null,this._customSourceBeingMoved=null,this._dataSourceCollectionChanged=new(F()),this._sourceProperitesChanged=new(F()),this._sourceZOrderChanged=new(F()),this._symbolSourceResolved=new(F()),this._symbolSourceResolvingActive=new(H())(!1),this._adjustForDividendsAvailability=new(H())(0),this._adjustForDividendsEnabled=new(H())(!1),this._sessions=null,this._currentTool="",this._lineBeingCreated=null,this._paneBeingCreatedLineOn=null,this._lineCancelled=new(F()),this._phantomSourceContainer=new Ie(this),this._destroyed=!1,this._isSettingsExternalPosition=!1,this._isTimeScrolling=!1,this._magnet=new ke,this._scrollingState=null,this._modelIntervals=[],this._rendererOptionsProvider=new x(this),this._cachedStudiesMaxOffset=0,this._panes=[],this._tagsChanged=new(F()),this._strategySources=[],this._strategySourcesChange=new(F()),this._activeStrategySource=new(H())(null),this._panesCollectionChanged=new(F()),this._scrollEnabled=E.enabled("chart_scroll"),this._zoomEnabled=E.enabled("chart_zoom"),this._isScalesResetAvailableChanged=new(F()),this._isScalesResetAvailable=!1,this._esdWatcher=null,this._alertsWatcher=null,this._hoveredSource=null,this._hoveredSourceChanged=new(F()),this._lastHoveredHittestData=null,this._lastSelectedHittestData=null,this._topmostCustomSources=[],this._fgCustomSources=[],this._bgCustomSources=[],this._allCustomSources=[],this._customSourcesMap=new Map,this._multiPaneSources=[],this._showLegendProperty=new(P()),this._id=(0,Se.guid)(),this._chartSaveTime=null,this._availableCurrenciesList=null,this._availableCurrencies=new Ce([]),this._availableUnitsObject=null,this._availableUnits=new Te({}),this._shouldBeSavedEvenIfHidden=!1,this._watchedThemeSpawn=l.watchedTheme.spawn(),this._gradientColorsCache=null,this._recalcVRStudiesParams={},this._recalcColorStudiesParams={},this._recalcVisibleRangeStudiesImplDebounced=(0,s.default)(this._recalcVisibleRangeStudiesImpl.bind(this,this._recalcVRStudiesParams),500), +this._recalcColorStudiesImplDebounced=(0,s.default)(this._recalcColorStudiesImpl.bind(this,this._recalcColorStudiesParams),250),this._width=0,this._resetScales=new(F()),this._chartThemeLoaded=new(F()),this._selection=new g,this._selectedSourceChanged=new(F()),this._symbolSourceCollectionChanged=new(F()),this._gridSource=new He,this._clearSelection=()=>{this._lastSelectedHittestData=null,this._selection.clear()},this._removeSourceFromSelection=e=>{this._selection.remove(e)},this._addSourceToSelection=(e,t)=>{const i=this._selection.isSelected(e);i&&this._lastSelectedHittestData===t||e&&!e.isSelectionEnabled()||(this._lastSelectedHittestData=t||null,i||this._selection.add(e))},this._recalcSymbolResolvingActive=()=>{for(const e of this._panes)if(e.symbolSourceResolvingActive().value())return void this._symbolSourceResolvingActive.setValue(!0);this._symbolSourceResolvingActive.setValue(!1)},this._recalcAdjustForDividendsAvailibility=()=>{var e,t,i,s;if(this._symbolSourceResolvingActive.value())return void this._adjustForDividendsAvailability.setValue(0);const r=this.mainSeries();switch(null!==(t=null===(e=r.symbolInfo())||void 0===e?void 0:e.allowed_adjustment)&&void 0!==t?t:"none"){case"dividends":return void this._adjustForDividendsAvailability.setValue(2);case"splits":return void this._adjustForDividendsAvailability.setValue(1);case"any":return void this._adjustForDividendsAvailability.setValue(3)}for(const e of this.symbolSources()){if(e.symbolHibernated().value()||e===r)continue;if("any"===(null!==(s=null===(i=e.symbolInfo())||void 0===i?void 0:i.allowed_adjustment)&&void 0!==s?s:"none"))return void this._adjustForDividendsAvailability.setValue(3)}this._adjustForDividendsAvailability.setValue(0)},this._recalcAdjustForDividendsEnabled=()=>{switch(this._adjustForDividendsAvailability.value()){case 2:return void this._adjustForDividendsEnabled.setValue(!0);case 0:case 1:return void this._adjustForDividendsEnabled.setValue(!1)}this._adjustForDividendsEnabled.setValue(this.mainSeries().properties().childs().dividendsAdjustment.value())},this._chartApi=e,this._invalidateHandler=t,this._undoModel=o,this._properties=i,this._options=(0,$.merge)((0,$.clone)(zt),c),this._collapsedWV=h,this._isAutoSaveEnabled=d,this._studiesMetaInfoRepository=n,this._readOnly=this._options.readOnly,this._isSnapshot=this._options.isSnapshot,this._chartSaveTime=(new Date).valueOf(),this._backgroundColor=new(H())(this._getBackgroundColor()),this._backgroundTopColor=new(H())(this._getBackgroundColor(!0)),this._properties.childs().paneProperties.childs().background.subscribe(this,this._updateBackgroundColor),this._properties.childs().paneProperties.childs().backgroundType.subscribe(this,this._updateBackgroundColor),this._properties.childs().paneProperties.childs().backgroundGradientStartColor.subscribe(this,this._updateBackgroundColor),this._properties.childs().paneProperties.childs().backgroundGradientEndColor.subscribe(this,this._updateBackgroundColor),this._backgroundColor.subscribe(this.recalcColorStudies.bind(this,!1)), +this._backgroundTopColor.subscribe(this.recalcColorStudies.bind(this,!1)),this._watchedThemeSpawn.subscribe(this._updateBackgroundColor.bind(this)),this._symbolSourceResolvingActive.subscribe(this._recalcAdjustForDividendsAvailibility),this.setStudiesMetaData(this._studiesMetaInfoRepository.getInternalMetaInfoArray(),this._studiesMetaInfoRepository.getMigrations()),(0,ve.init)();const u=this._readOnly?new(P())((0,A.defaults)("chartproperties.paneProperties.crossHairProperties")):this._properties.childs().paneProperties.childs().crossHairProperties;this.m_crossHairSource=new Rt(this,u,this._options.crossHair),this.m_crossHairSource.selectPointMode().subscribe(e=>{if(e&&this.lineBeingCreated()){const e=ve.tool.value();this.cancelCreatingLine(),ve.tool.setValue(e)}}),this._tagsChanged=new(F());const p=new b.DefaultProperty("chartproperties.mainSeriesProperties");p.addExclusion("minTick"),p.addExclusion("priceAxisProperties.lockScale"),p.addExclusion("priceAxisProperties.percentage"),p.addExclusion("priceAxisProperties.indexedTo100"),p.addExclusion("priceAxisProperties.isInverted"),p.addExclusion("priceAxisProperties.log"),p.addExclusion("priceAxisProperties.logDisabled"),p.addExclusion("priceAxisProperties.percentageDisabled"),p.addExclusion("priceAxisProperties.autoScaleDisabled"),p.merge(i.childs().mainSeriesProperties.state()),this._timeScale=new ue(this,this._options.timeScale);const _={countdownEnabled:this._options.countdownEnabled,lastPriceAnimationEnabled:this._options.lastPriceAnimationEnabled};this.m_mainSeries=new Ot.Series(this,p,_,r),this.m_mainSeries.onStyleChanged().subscribe(this._timeScale,this._timeScale.invalidateVisibleBars);const m=()=>this.fullUpdate();this.m_mainSeries.properties().childs().showCountdown.subscribe(this,()=>{this.m_mainSeries.updateAllViews(),m()});const f=i.childs().scalesProperties.childs();f.showCurrency.subscribe(this,m),f.showUnit.subscribe(this,m),this._timeScale.visibleBarsStrictRangeChanged().subscribe(this.m_mainSeries,this.m_mainSeries.clearHighLowAvgPriceCache),this.createPane(void 0,{axisProperties:p.childs().priceAxisProperties.state(["autoScale"])}),this._adjustForDividendsAvailability.subscribe(this._recalcAdjustForDividendsEnabled),this.mainSeries().properties().childs().dividendsAdjustment.subscribe(this,this._recalcAdjustForDividendsEnabled),this._recalcAdjustForDividendsEnabled(),this._boundUpdateStudiesMaxOffset=this._updateStudiesMaxOffset.bind(this)}setStudiesMetaData(e,t){this._studiesMetaData=e,this._studyVersioning=new(v())(this._studiesMetaData,t)}version(){return 3}collapsed(){return this._collapsedWV}chartSaveTime(){return this._chartSaveTime}setChartSaveTime(e){this._chartSaveTime=e}destroy(){this._phantomSourceContainer.destroy(),this._hoveredSourceChanged.destroy(),null!==this._watermarkSource&&(this._watermarkSource.destroy(),this._watermarkSource=null),Array.from(this._customSourcesMap.keys()).forEach(this._removeCustomSource,this),(0,r.assert)(0===this._topmostCustomSources.length),(0,r.assert)(0===this._fgCustomSources.length),(0, +r.assert)(0===this._bgCustomSources.length),(0,r.assert)(0===this._allCustomSources.length),(0,r.assert)(0===this._customSourcesMap.size),null!==this._esdWatcher&&(this._esdWatcher.destroy(),this._esdWatcher=null),null!==this._alertsWatcher&&(this._alertsWatcher.destroy(),this._alertsWatcher=null),this._properties.childs().paneProperties.childs().background.unsubscribeAll(this),this._properties.childs().paneProperties.childs().backgroundType.unsubscribeAll(this),this._properties.childs().paneProperties.childs().backgroundGradientEndColor.unsubscribeAll(this),this._properties.childs().paneProperties.childs().backgroundGradientStartColor.unsubscribeAll(this),this._watchedThemeSpawn.destroy(),this._lastHoveredHittestData=null,this._lastSelectedHittestData=null,this._destroyed=!0}undoModel(){return this._undoModel}addStrategySource(e,t){1!==t&&-1===this._strategySources.indexOf(e)&&(this._strategySources.push(e),this._strategySourcesChange.fire(t),this.setActiveStrategySource(e))}removeStrategySource(e,t){if(1===t)return;const i=this._strategySources.indexOf(e);if(-1!==i){if(this._strategySources.splice(i,1)[0]===this._activeStrategySource.value()&&this.unsetActiveStrategySource(),this._strategySources.length>0){const e=this._strategySources[this._strategySources.length-1];this.setActiveStrategySource(e)}this._strategySourcesChange.fire(t)}}setActiveStrategySource(e){-1!==this._strategySources.indexOf(e)&&this._activeStrategySource.setValue(e)}unsetActiveStrategySource(){this._activeStrategySource.setValue(null)}activeStrategySource(){return this._activeStrategySource}strategySources(){return this._strategySources}strategySourcesChange(){return this._strategySourcesChange}setScrollEnabled(e){this._scrollEnabled=e}scrollEnabled(){return this._scrollEnabled}setZoomEnabled(e){this._zoomEnabled=e}zoomEnabled(){return this._zoomEnabled}zoomToViewport(e,t,i,s,r){this.setTimeViewport(e,t);let n=Math.min(i,s),o=Math.max(i,s);const a=r.defaultPriceScale();a.isPercentage()||a.setMode({autoScale:!1}),a.isLog()&&(n=a.priceToLogical(n),o=a.priceToLogical(o)),a.setPriceRange(new Ee.PriceRange(n,o)),this.recalculateAllPanes(),this.invalidate(this._paneInvalidationMask(r,z.InvalidationLevel.Light)),this._setScalesResetAvailable(!0)}setTimeViewport(e,t){this.timeScale().zoomToBarsRange(e,t),this.recalculateAllPanes(),this.recalcVisibleRangeStudies(),this.lightUpdate()}onTagsChanged(){return this._tagsChanged}canZoomIn(){return this._timeScale.canZoomIn()&&this._zoomEnabled}canZoomOut(){return this._timeScale.canZoomOut()&&this._zoomEnabled}onPaneTagsChanged(){this._tagsChanged.fire()}panesCollectionChanged(){return this._panesCollectionChanged}dataSourceCollectionChanged(){return this._dataSourceCollectionChanged}symbolSourceCollectionChanged(){return this._symbolSourceCollectionChanged}symbolSourceResolved(){return this._symbolSourceResolved}symbolSourceResolvingActive(){return this._symbolSourceResolvingActive}adjustForDividendsAvailability(){return this._adjustForDividendsAvailability}adjustForDividendsEnabled(){ +return this._adjustForDividendsEnabled}sourcePropertiesChanged(){return this._sourceProperitesChanged}sourceZOrderChanged(){return this._sourceZOrderChanged}updateCrosshairPositionByOriginCoords(){const e=this.crossHairSource(),t=e.pane;let i=e.originX(),s=e.originY();if(Number.isFinite(i)||(i=e.x,s=e.y),null!==t&&Number.isFinite(i)&&Number.isFinite(s)){const e=this._timeScale.coordinateToVisibleIndex(i);let n=NaN;const o=t.defaultPriceScale();if(!o.isEmpty()){const e=(0,r.ensureNotNull)(t.mainDataSource()).firstValue();null!==e&&(n=o.coordinateToPrice(s,(0,r.ensureNotNull)(e)))}this.crossHairSource().setPosition(e,n,t)&&this._undoModel.chartWidget().isActive()&&this._syncCrosshair()}}zoomTime(e,t,i){if(!this._zoomEnabled)return;const s=this.timeScale();if(s.isEmpty()||0===t)return;const r=s.width();e=Math.max(1,Math.min(e,r-2)),s.zoom(e,t,i),this.recalculateAllPanes(),this.lightUpdate(),this.recalcVisibleRangeStudies(),this._setScalesResetAvailable(!0)}linePointBeingEdited(){return this._linePointBeingEdited}activeItemBeingMoved(){return this._activeItemBeingMoved}linePointBeingChanged(){return this._linePointBeingChanged}updateAllPaneViews(){for(const e of this._panes)e.updateAllViews();for(const e of this.barsMarksSources())e.updateAllViews()}dataSources(){const e=[this.crossHairSource()];for(const t of this._panes)for(const i of t.dataSources())e.push(i);return e}priceDataSources(){const e=[];for(const t of this._panes)for(const i of t.priceDataSources())e.push(i);return e}symbolSources(){const e=[];for(const t of this._panes)for(const i of t.symbolSources())e.push(i);return e}selection(){return this._selection}selectionMacro(e){const t=this.selection().allSources();e({removeSourceFromSelection:this._removeSourceFromSelection,addSourceToSelection:this._addSourceToSelection,clearSelection:this._clearSelection,selection:this.selection.bind(this)});const i=(0,_.subtract)(t,this.selection().allSources()),s=(0,_.subtract)(this.selection().allSources(),t);s.concat(t).forEach(e=>e.updateAllViews()),i.forEach(e=>{const t=(0,m.isLineTool)(e)&&e.hasAlert.value()&&e.getAlertSync();t&&t.set("selected",!1)}),s.forEach(e=>{const t=(0,m.isLineTool)(e)&&e.hasAlert&&e.hasAlert.value()&&e.getAlertSync();t&&t.set("selected",!0)}),this.lightUpdate(),(i.length>0||s.length>0)&&this._selectedSourceChanged.fire()}onSelectedSourceChanged(){return this._selectedSourceChanged}checkLineToolSelection(){this._selection.checkLineToolSelection()}lineToolsGroupModel(){return this._lineToolsGroupModel}restoreLineToolsGroups(e){this._lineToolsGroupModel=fe.LineToolsGroupModel.fromState(this,e)}realignLineTools(){for(const e of this._panes)e.realignLineTools()&&this._dataSourceCollectionChanged.fire(e)}isSnapshot(){return this._isSnapshot}onWidget(){return this._options.onWidget}hideIdeas(){return this._options.hideIdeas}updateSource(e){const t=this._invalidationMaskForSource(e);null!==t&&this.invalidate(t)}updateSourcePriceScale(e){const t=this._invalidationMaskForSourcePriceScale(e);null!==t&&this.invalidate(t)}updatePane(e){ +this.invalidate(this._paneInvalidationMask(e))}replaceStudyStub(e,t){const i=this.paneForSource(e);if(null===i)return!1;const s=e.priceScale(),r=e.zorder(),n=e.ownerSource();return this.paneForSource(e)===i?i.replaceSource(e,t,s):(i.insertDataSource(t,s,r),this.removeSource(e)),t.setOwnerSource(n),this.dataSources().forEach(i=>{i.ownerSource()===e&&i.setOwnerSource(t)}),t.start(),this.recalculatePane(i),this.fullUpdate(),!0}insertStudyStub(e){const t=this.mainSeries(),i=(0,r.ensureNotNull)(this.paneForSource(t)),s=new S.StudyStub(this,null,e),n=i.createPriceScaleAtPosition("overlay");return i.addDataSource(s,n,!1),this.recalculatePane(i),this.fullUpdate(),s}removeStudyStub(e){const t=this.dataSourceForId(e);return null===t?(Ft.logNormal("StudyStub id="+e+" is not found in chart model"),!1):(this.removeSource(t),!0)}setHoveredSource(e,t=null){const i=this._hoveredSource!==e;if(!i&&this._lastHoveredHittestData===t)return;this._lastHoveredHittestData=t;let s=null;if(this._hoveredSource){this._hoveredSource.updateAllViews(),s=new z.InvalidationMask(z.InvalidationLevel.Cursor);const e=this._invalidationMaskForSource(this._hoveredSource,z.InvalidationLevel.Light);null!==e&&s.merge(e)}if(this._hoveredSource=e,e){e.updateAllViews(),s||(s=new z.InvalidationMask(z.InvalidationLevel.Cursor));const t=this._invalidationMaskForSource(e,z.InvalidationLevel.Light);null!==t&&s.merge(t)}s&&this.invalidate(s),i&&this._hoveredSourceChanged.fire(e)}properties(){return this._properties}disconnect(){this.sessions().stop();for(const e of this.dataSources())e.disconnect&&e.disconnect();this._timeScale.disconnect()}gridSource(){return this._gridSource}hoveredSource(){return this._hoveredSource}hoveredSourceChanged(){return this._hoveredSourceChanged}lastHittestData(){return this._lastHoveredHittestData}lastSelectedHittestData(){return this._lastSelectedHittestData}syncTimeWithModel(e,t){const i=this.mainSeries().syncModel();if(null===i)return;const s=1e3*this.createSyncPoint((0,r.ensureNotNull)(e.mainSeries().syncModel()),i).sourceTimeToTargetTime(t/1e3),n=(0,De.get_timezone)(this.timezone());let o=(0,De.utc_to_cal)(n,s);this.mainSeries().isDWM()&&(o=i.getSession().spec.correctTradingDay(o),(0,De.set_hms)(o,0,0,0,0,(0,De.get_timezone)("Etc/UTC"))),this._gotoTimeImpl(o.getTime(),{centerIfVisible:!1})}gotoTime(e){return this._gotoTimeImpl(e,{centerIfVisible:!0})}paneForSource(e){if(!(0,p.isDataSource)(e))return Array.from(this._customSourcesMap.values()).includes(e)?this.paneForSource(this.mainSeries()):null;for(let t=this._panes.length-1;t>=0;t--)if(this._panes[t].hasDataSource(e))return this._panes[t];return e instanceof be.BarsMarksContainer?this.paneForSource(this.mainSeries()):null}removeSource(e,t){this.selectionMacro(t=>t.removeSourceFromSelection(e)),this._hoveredSource===e&&(this._hoveredSource=null,this._lastHoveredHittestData=null),this._sourcesBeingMoved.includes(e)&&(this._sourcesBeingMoved=this._sourcesBeingMoved.filter(t=>t!==e),this._sourcesBeingMoved.length||(this._activeItemBeingMoved=null)), +e===this._lineBeingEdited&&(this._lineBeingEdited=null,ve.isToolEditingNow.setValue(!1)),e===this._lineBeingCreated&&(this._lineBeingCreated=null,ve.isToolCreatingNow.setValue(!1)),e.stop&&e.stop();const i=this.detachSource(e),s=this.mainSeries().priceScale();return(0,R.isStudy)(e)&&(0,Be.isSymbolSource)(e)&&e.priceScale()===s&&s.isPercentage()&&1===s.seriesLikeSources().length&&s.setMode({percentage:!1}),this.fullUpdate(),this._invalidateBarColorerCaches(),(0,R.isStudy)(e)&&((0,d.emit)("study_event",e.id(),"remove"),e.isChildStudy()&&e.parentSource().unsetChild(e),e.maxOffset().unsubscribe(this._boundUpdateStudiesMaxOffset)),e.destroy&&e.destroy(),(0,m.isLineTool)(e)&&(e.removeAlert(),(0,d.emit)("drawing_event",e.id(),"remove")),i}allStudies(e){const t=e?e=>(0,R.isStudy)(e)&&!(0,R.isESDStudy)(e):R.isStudy;return this._getAllSources(t)}findNonOverlayStudyWithGroupingKey(e,t){const i=void 0!==t?[t]:this._panes;for(const t of i){const i=t.dataSources().find(i=>(0,R.isStudy)(i)&&i.metaInfo().groupingKey===e&&!t.isOverlay(i));if(void 0!==i)return{pane:t,study:i}}return null}movePaneUp(e){this.movePane(e,e-1)}movePaneDown(e){this.movePane(e,e+1)}movePane(e,t){const i=this._panes[e];this._panes.splice(e,1),this._panes.splice(t,0,i),this._panesCollectionChanged.fire(this._panes),this._onRearrangePanes.fire(),this.invalidate(z.InvalidationMask.panesOrder())}backgroundColor(){return this._backgroundColor}backgroundTopColor(){return this._backgroundTopColor}backgroundColorAtYPercentFromTop(e){const t=this.backgroundColor().value(),i=this.backgroundTopColor().value();if(t===i)return t;if(e=Math.max(0,Math.min(100,Math.round(100*e))),null===this._gradientColorsCache||this._gradientColorsCache.topColor!==i||this._gradientColorsCache.bottomColor!==t)this._gradientColorsCache={topColor:i,bottomColor:t,colors:new Map};else{const t=this._gradientColorsCache.colors.get(e);if(void 0!==t)return t}const s=(0,ye.gradientColorAtPercent)(i,t,e/100);return this._gradientColorsCache.colors.set(e,s),s}backgroundCounterColor(){const e=this.backgroundColor().value();if(void 0===this._lastBackgroundColor||void 0===this._lastOriginalColor||e!==this._lastBackgroundColor){const t=(0,o.rgbToBlackWhiteString)((0,o.parseRgb)(e),150);this._lastBackgroundColor=e,this._lastOriginalColor="black"===t?"white":"black"}return this._lastOriginalColor}isDark(){return"white"===this.backgroundCounterColor()}defaultResolutions(){return this.chartApi().defaultResolutions()}availableCurrencies(){const e=this._getAvailableCurrencies();return e.length!==this._availableCurrencies.size()&&(this._availableCurrencies=new Ce(e)),this._availableCurrencies}currencyConversionEnabled(){return this._options.currencyConversionEnabled}availableUnits(){const e=this._getAvailableUnits();return this._availableUnits.unitsChanged(e)&&(this._availableUnits=new Te(e)),this._availableUnits}unitConversionEnabled(){return this._options.unitConversionEnabled}studyTemplate(e,t,i){const s={panes:[],version:this.version()};for(const e of this.panes())s.panes.push(e.state(!0,!1,!0)) +;const r=this.mainSeries();return e&&(s.symbol=r.symbol(),i&&(s.currency=r.currency()),i&&(s.unit=r.unit())),t&&(s.interval=r.interval()),s}restoreLineToolState(e,t){e.restorePoints(t.points,t.indexes||[]),e.properties().merge(t.state),e.restoreData&&e.restoreData(t),e.linkKey().setValue(t.linkKey||null),e.createServerPoints(),this.fullUpdate();const i=e.linkKey().value();null!==i&&(0,ve.restoreLineToolState)({model:this,linkKey:i,state:t})}updateLineTools(){for(const e of this.dataSources())(0,m.isLineTool)(e)&&(e.tryCreateServerPoints(),e.checkAlert&&e.checkAlert())}onResetScales(){return this._resetScales}startMovingSources(e,t,i,s,n,o){this._sourcesBeingMoved=e,this._activeItemBeingMoved=i;let a=!1;if(this._sourcesBeingMoved.forEach(e=>{!a&&(0,R.isStudy)(e)&&(a=!0);const l=(0,r.ensureNotNull)(this.paneForSource(e)),c=(0,m.isLineTool)(e),h=c&&e.linkKey().value();if(!1!==h&&null!==h&&s.has(h)&&c&&e.isFixed()){const t=(0,r.ensureDefined)(s.get(h)),a={screen:this._percentPositionToPoint(t,l)};e.startMoving(a,i,n,o)}else e.startMoving(t,i,n,o);const d=this._paneInvalidationMask(l,z.InvalidationLevel.Light);this.invalidate(d)}),!o){const s=e.filter(m.isLineTool).filter(e=>e.linkKey().value()&&e.isSynchronizable()).map(e=>e.linkKey().value());if(s.length&&t.logical){const o=this.externalTimeStamp(t.logical.index),a={linkKeys:s,model:this,symbol:this.mainSeries().symbol(),point:{price:t.logical.price,timeStamp:o},activeItem:null!==i?i:void 0,envState:n,pointPositionPercents:new Map};e.forEach(e=>{if((0,m.isLineTool)(e)){const i=e.linkKey().value();if(i&&e.isSynchronizable()&&e.isFixed()){const s=(0,r.ensureNotNull)(this.paneForSource(e));a.pointPositionPercents.set(i,this._pointToPercentPosition((0,r.ensureDefined)(t.screen),s))}}}),(0,ve.startMovingLineTool)(a)}}ve.isToolMovingNow.setValue(!0),a&&ve.isStudyEditingNow.setValue(!0)}moveSources(e,t,i,s){if(this._sourcesBeingMoved.filter(e=>!e.isLocked||!e.isLocked()).forEach(n=>{const o=(0,m.isLineTool)(n)?n.linkKey().value():null;if(null!==o&&t.has(o)){const e=(0,r.ensureNotNull)(this.paneForSource(n)),a=(0,r.ensureDefined)(t.get(o)),l={screen:this._percentPositionToPoint(a,e)};n.move(l,this._activeItemBeingMoved,i,s)}else n.move(e,this._activeItemBeingMoved,i,s)}),this.lightUpdate(),!s&&e.logical){const t=this._sourcesBeingMoved.filter(m.isLineTool).filter(e=>e.isSynchronizable()&&!!e.linkKey().value()).map(e=>e.linkKey().value()),s=this.externalTimeStamp(e.logical.index),n={linkKeys:t,model:this,point:{price:e.logical.price,timeStamp:s},envState:i,pointPositionPercents:new Map};this._sourcesBeingMoved.filter(m.isLineTool).forEach(t=>{if(t.linkKey().value()&&t.isSynchronizable()&&t.isFixed()){const i=(0,r.ensureNotNull)(this.paneForSource(t));n.pointPositionPercents.set(t.linkKey().value(),this._pointToPercentPosition((0,r.ensureDefined)(e.screen),i))}}),(0,ve.moveLineTool)(n)}}endMovingSources(e,t,i){const s=this._sourcesBeingMoved.map(s=>{const n=(0,r.ensureNotNull)(this.paneForSource(s)),o=s.endMoving(e,t,i),a=this._paneInvalidationMask(n,z.InvalidationLevel.Light) +;return a.invalidateAll(z.InvalidationLevel.Light),this.invalidate(a),o}),n=this._sourcesBeingMoved.filter(m.isLineTool).filter(e=>e.isSynchronizable()&&!!e.linkKey().value()).map(e=>e.linkKey().value()),o=this._sourcesBeingMoved.filter(m.isLineTool).filter(e=>e.isSynchronizable()&&!!e.linkKey).map(e=>{const t={points:e.normalizedPoints(),interval:this.mainSeries().interval()};return e.isFixed()&&(t.pointPositionPercents=e.calcPositionPercents()),t});n.length&&(0,ve.finishMovingLineTool)({linkKeys:n,model:this,finalStates:o,changes:s}),this._sourcesBeingMoved=[],this._activeItemBeingMoved=null,ve.isToolMovingNow.setValue(!1),ve.isStudyEditingNow.setValue(!1)}sourcesBeingMoved(){return this._sourcesBeingMoved}setMovingCustomSource(e,t){this._customSourceBeingMoved=e,this._customSourceBeingMovedHitTestData=null!==t?{beingMoved:!1,...t}:null}processingCustomSourceMove(){null!==this._customSourceBeingMovedHitTestData&&(this._customSourceBeingMovedHitTestData.beingMoved=!0)}customSourceMovingHitTestData(){return this._customSourceBeingMovedHitTestData}customSourceBeingMoved(){return null!==this._customSourceBeingMovedHitTestData&&this._customSourceBeingMovedHitTestData.beingMoved?this._customSourceBeingMoved:null}width(){return this._width}setWidth(e,t){this._width=e,this._timeScale.setWidth(e,t);for(const t of this._panes)t.setWidth(e);this.recalculateAllPanes(),this.recalcVisibleRangeStudies()}setPaneHeight(e,t){e.setHeight(t),this.recalculateAllPanes(),this.lightUpdate()}isScalesResetAvailableChanged(){return this._isScalesResetAvailableChanged}isScalesResetAvailable(){return this._isScalesResetAvailable}panes(){return this._panes}paneForId(e){return this._panes.find(t=>t.id()===e)||null}createPane(e,t,i){const s=this._undoModel.chartWidget();s.isMaximizedPane()&&s.toggleMaximizePane();const r=this._properties.childs().paneProperties;t&&r.merge(t);const n=new U.Pane(this._timeScale,r,this,i);return void 0!==e?this._panes.splice(e,0,n):this._panes.push(n),n.onTagsChanged().subscribe(this,Ut.prototype.onPaneTagsChanged),n.dataSourcesCollectionChanged().subscribe(this,()=>this._dataSourceCollectionChanged.fire(n)),n.symbolSourceCollectionChanged().subscribe(this,()=>this._onSymbolSourceCollectionChanged(n)),n.sourcePropertiesChanged().subscribe(this,e=>this._sourceProperitesChanged.fire(n,e)),n.sourceZOrderChanged().subscribe(this,e=>this._sourceZOrderChanged.fire(n,e)),n.symbolSourceResolved().subscribe(this,e=>this._symbolSourceResolved.fire(n,e)),n.symbolSourceResolvingActive().subscribe(this._recalcSymbolResolvingActive),this._panesCollectionChanged.fire(this._panes),this.invalidate(z.InvalidationMask.panesOrder()),n}removePane(e){const t=this._undoModel.chartWidget();t.isMaximizedPane()&&t.toggleMaximizePane();const i=e;i.destroy();const s=this._panes.indexOf(i);-1!==s&&(this._panes.splice(s,1),e.dataSourcesCollectionChanged().unsubscribeAll(this),e.symbolSourceCollectionChanged().unsubscribeAll(this),e.sourcePropertiesChanged().unsubscribeAll(this),e.onTagsChanged().unsubscribeAll(this), +e.symbolSourceResolved().unsubscribeAll(this),i.symbolSourceResolvingActive().unsubscribe(this._recalcSymbolResolvingActive));this.crossHairSource().pane===e&&this.clearCurrentPosition(),this._panesCollectionChanged.fire(this._panes),this.invalidate(z.InvalidationMask.panesOrder())}changePanesHeight(e,t){if(this._panes.length<2)return;(0,r.assert)(e>=0&&ee+t.stretchFactor(),0),n=this._panes.reduce((e,t)=>e+t.height(),0),o=n-30*(this._panes.length-1);t=Math.min(o,Math.max(30,t));const a=s/n,l=i.height();i.setStretchFactor(t*a);let c=t-l,h=this._panes.length-1;for(const e of this._panes)if(e!==i){const t=Math.min(o,Math.max(30,e.height()-c/h));c-=e.height()-t,h-=1;const i=t*a;e.setStretchFactor(i)}this.fullUpdate()}clearCurrentPosition(){const e=this.crossHairSource();e.clearPosition(),(0,r.ensureNotNull)(e.dataWindowView()).update(),Ht(this._panes),this.invalidate(z.InvalidationMask.cursor());const t=this._undoModel.chartWidget();t.chartWidgetCollection().syncCrosshair(null,t),this._phantomSourceContainer.onCursorPositionUpdated()}setAndSaveCurrentPosition(e,t,i,s){this.crossHairSource().saveOriginCoords(e,t),this.setCurrentPosition(e,t,i,s)}setCurrentPosition(e,t,i,s){let n=NaN;const o=this._timeScale.coordinateToVisibleIndex(e),a=i.defaultPriceScale();let l=null;!a.isEmpty()&&Number.isFinite(t)&&(l=(0,r.ensureNotNull)(i.mainDataSource()).firstValue(),null!==l&&(n=a.coordinateToPrice(t,l)));const c=this.crossHairSource(),h=c.selectPointMode().value(),d=this.currentTool(),u=this.mainSeries(),p=h||ve.isStudyEditingNow.value(),_=this._lineBeingCreated||this._lineBeingEdited||(0,m.isLineToolName)(d)||(0,ve.toolIsMeasure)(d)||p;!this._isSettingsExternalPosition&&_&&(n=this._magnet.align(n,o,i),null!==l&&c.saveOriginCoords(c.originX(),a.priceToCoordinate(n,l)));let g=null;if(isNaN(n)||(g=i),this._isTimeScrolling){if(!this._isSettingsExternalPosition&&h){const e=u.bars().firstIndex(),t=u.bars().lastIndex();if(null!==e&&null!==t){const s=Math.min(Math.max(o,e),t);s!==o&&this._setCorrectedPositionToCrosshair(s,n,l,i)}}else c.setPosition(c.index,n,g);return}c.setOnHoveredChartWidget(!0),c.setPosition(o,n,g),(0,r.ensureNotNull)(c.dataWindowView()).update(),Ht(this._panes);const f=u.syncModel();if(this.crossHairSource().startMeasurePoint()||this._lineBeingCreated?this.lightUpdate():this.invalidate(z.InvalidationMask.cursor()),this._lineBeingCreated){const e=this._lineBeingCreated.linkKey().value();if(!this._isSettingsExternalPosition){const t=this._lineBeingCreated.setLastPoint({index:o,price:n},s);if(this._lineBeingCreated.updateAllViews(),t.price===n&&t.index===o||this._setCorrectedPositionToCrosshair(t.index,t.price,l,i),f&&e){const i=this._timeScale.points().roughTime(t.index,f.projectTime.bind(f));(0,ve.setLineToolLastPoint)({model:this,linkKey:e,point:{timeStamp:(0,r.ensureNotNull)(i),price:t.price}})}}}if(!this._isSettingsExternalPosition&&null!==this._lineBeingEdited&&null!==this._linePointBeingEdited){const e={index:o,price:n} +;this.changeLinePoint(e,s);const t=this._lineBeingEdited.alignCrossHairToAnchor(this._linePointBeingEdited)?this._lineBeingEdited.getPoint(this._linePointBeingEdited):e;null!==t&&this._setCorrectedPositionToCrosshair(t.index,t.price,l,i)}if(!this._isSettingsExternalPosition&&p){const e=u.bars().firstIndex(),t=u.bars().lastIndex();if(null!==e&&null!==t){const s=Math.min(Math.max(o,e),t);s!==o&&this._setCorrectedPositionToCrosshair(s,n,l,i)}}this._syncCrosshair(s)}setExternalPosition(e,t){let i;const s=this.crossHairSource();if(s.setOnHoveredChartWidget(!1),null!==e&&(0,$.isNumber)(e.timeStamp)){const t=this.mainSeries().syncModel();if(t){const s=this.createSyncPoint(e.syncModel,t).sourceTimeToTargetTime(e.timeStamp);i=this._timeScale.points().roughIndex(s,t.distance.bind(t))}}if(null!==e&&null!=i&&Number.isFinite(i)){this._isSettingsExternalPosition=!0;const n=(0,r.ensureNotNull)(this.paneForSource(this.mainSeries())),o=this._timeScale.indexToCoordinate(i),a=(0,r.ensureNotNull)(n.mainDataSource()).firstValue();if(null!==a){let i=NaN;void 0!==e.price&&Number.isFinite(e.price)&&(i=this.mainSeries().priceScale().priceToCoordinate(e.price,a)),s.clearOriginCoords(),this.setCurrentPosition(o,i,n,t)}return s.setOnHoveredChartWidget(!1),void(this._isSettingsExternalPosition=!1)}s.clearPosition(),(0,r.ensureNotNull)(s.dataWindowView()).update(),Ht(this._panes),this.invalidate(z.InvalidationMask.cursor())}startScaleTime(e){this._timeScale.startScale(e)}scaleTimeTo(e){this._timeScale.scaleTo(e),this.recalculateAllPanes(),this.lightUpdate(),this._setScalesResetAvailable(!0)}endScaleTime(){this._timeScale.endScale(),this.lightUpdate(),this.recalcVisibleRangeStudies()}resetTimeScale(){this._timeScale.restoreDefault(),this.recalculateAllPanes(),this.recalcVisibleRangeStudies(),this.lightUpdate(),this._resetScales.fire(),this._setScalesResetAvailable(!1)}startScalePrice(e,t,i){e.startScalePrice(t,i)}scalePriceTo(e,t,i){e.scalePriceTo(t,i),this.mainSeries().priceScale().isLockScale()?this.lightUpdate():this.invalidate(this._paneInvalidationMask(e,z.InvalidationLevel.Light)),this._setScalesResetAvailable(!0)}endScalePrice(e,t){e.endScalePrice(t),this.invalidate(this._paneInvalidationMask(e,z.InvalidationLevel.Light))}startTwoPointsScalePrice(e,t,i,s){t.startTwoPointsScale(i,s)}twoPointsScalePriceTo(e,t,i,s){t.twoPointsScale(i,s),this.invalidate(this._paneInvalidationMask(e)),this._setScalesResetAvailable(!0)}endTwoPointsScalePrice(e,t){t.endTwoPointsScale(),this.invalidate(this._paneInvalidationMask(e))}resetPriceScale(e,t){this._setScalesResetAvailable(!1),e.resetPriceScale(t),this.invalidate(this._paneInvalidationMask(e,z.InvalidationLevel.Light))}restorePriceScaleState(e,t,i){e.restorePriceScaleState(t,i),this.invalidate(this._paneInvalidationMask(e,z.InvalidationLevel.Light))}currentTool(){return this._currentTool}setCurrentTool(e){this._currentTool!==e&&((0,m.isLineToolName)(e)&&this.selectionMacro(e=>{e.clearSelection()}),this._currentTool=e,this._phantomSourceContainer.onToolChanged())}detachSource(e){ +const t=this.paneForSource(e);return!!t&&(t.removeDataSource(e),t.isEmpty()?(this._lineBeingCreated&&t===this._paneBeingCreatedLineOn&&this.cancelCreatingLine(),this.removePane(t),!0):(this.fullUpdate(),!1))}onRearrangePanes(){return this._onRearrangePanes}finishLineTool(e){const t=e.linkKey().value();(0,ve.drawOnAllCharts)().value()&&null!==t&&e.isSynchronizable()&&(0,ve.finishLineTool)({linkKey:t,model:this})}startChangingLinetool(e,t,i,s,n){this._lineBeingEdited=e,this._linePointBeingChanged=t||null,this._linePointBeingEdited=void 0===i?null:i,this._lineBeingEdited.startChanging(i,t,n),ve.isToolEditingNow.setValue(!0);const o=(0,r.ensureNotNull)(this.paneForSource(e));this._lineBeingEdited.startDragPoint&&void 0!==i&&void 0!==t&&this._lineBeingEdited.startDragPoint(i,t),n||void 0===i||void 0===t||this._lineBeingEdited.setPoint(i,t,s,n),this._lineBeingEdited.updateAllViews();const a=this._paneInvalidationMask(o,z.InvalidationLevel.Light);this.invalidate(a);const l=e.linkKey().value();if(l&&e.isSynchronizable()&&void 0!==i&&void 0!==t){const e=(0,r.ensureNotNull)(this.externalTimeStamp(t.index));(0,ve.startChangingLineTool)({linkKey:l,model:this,symbol:this.mainSeries().symbol(),point:{price:t.price,timeStamp:e},pointIndex:i,envState:s||null})}}createLineTool(e,t,i,s,o,a){if((0,r.assert)((0,m.isLineToolName)(i),"Cannot create unknown line tool: "+i),"LineToolExecution"!==i&&(0,c.trackEvent)("drawings","Study_Drawing_"+i),s){const e=s.state();s=(0,m.createLineToolProperties)(i,e,this)}const l=(0,m.createLineTool)(i,this,s,null),h=!l.linkKey().value()&&!o;a=(0,r.ensureDefined)(a||(0,r.ensureNotNull)(e.mainDataSource())),s||(0,m.prepareLineToolPropertiesByOwnerSource)(l.properties(),a),l.setOwnerSource(a);const d=a.priceScale();if(e.addDataSource(l,d,!1),(0,ve.drawOnAllCharts)().value()){const e=l.isSynchronizable()?o||(0,Se.randomHash)():null;l.linkKey().setValue(e)}else l.linkKey().setValue(o);let u;if(l.isFixed()){const i=(0,r.ensureNotNull)((0,r.ensureNotNull)(e.mainDataSource()).firstValue()),s=this._timeScale.indexToCoordinate(t.index),o=(0,r.ensureNotNull)(d).priceToCoordinate(t.price,i);u=l.addFixedPoint(new n.Point(s,o))}else u=l.addPoint(t);return u||(this._lineBeingCreated=l,this._paneBeingCreatedLineOn=e,ve.isToolCreatingNow.setValue(!0)),h&&l.enableCurrentIntervalVisibility(),this.fullUpdate(),l}endChangingLinetool(e,t){const i=(0,r.ensureNotNull)(this._lineBeingEdited),s=i.endChanging(!1,e,t);this._lineBeingEdited=null,ve.isToolEditingNow.setValue(!1),this._linePointBeingEdited=null,this._linePointBeingChanged=null,this.lightUpdate();const n={points:i.normalizedPoints(),interval:this.mainSeries().interval()},o=i.linkKey().value();null!==o&&i.isSynchronizable()&&!t&&(0,ve.finishChangingLineTool)({model:this,linkKey:o,symbol:this.mainSeries().symbol(),finalState:n,changes:s})}continueCreatingLine(e,t,i,s){const n=(0,r.ensureNotNull)(this._lineBeingCreated),o=n.addPoint(e,t,i);n.updateAllViews();const a=new z.InvalidationMask(z.InvalidationLevel.Light);return o&&(this._paneBeingCreatedLineOn=null, +this._lineBeingCreated=null,ve.isToolCreatingNow.setValue(!1)),this.invalidate(a),o}cancelCreatingLine(){if(!this._lineBeingCreated)return;const e=this._lineBeingCreated;this.removeSource(this._lineBeingCreated),this._lineBeingCreated=null,this._lineCancelled.fire(),ve.isToolCreatingNow.setValue(!1),(0,ve.drawOnAllCharts)().value()&&e.isSynchronizable()&&(0,ve.cancelLineTool)({model:this})}lineBeingCreated(){return this._lineBeingCreated}paneBeingCreatedLineOn(){return this._paneBeingCreatedLineOn}lineCancelled(){return this._lineCancelled}isPhantomLine(e){return this._phantomSourceContainer.source()===e}changeLinePoint(e,t,i){const s=(0,r.ensureNotNull)(this._lineBeingEdited),n=(0,r.ensureNotNull)(this._linePointBeingEdited);let o=e.price,a=e.index;if(s.setPoint(n,e,t,i),!i){const t=s.alignCrossHairToAnchor(n)?s.getPoint(n):e;null!==t&&(a=t.index,o=t.price)}s.updateAllViews(),this.lightUpdate();const l=s.linkKey().value();if(!i&&null!==l&&s.isSynchronizable()){const e=(0,r.ensureNotNull)(this._linePointBeingChanged),i={indexesChanged:a!==e.index,pricesChanged:o!==e.price},c=s.getChangePointForSync(n);if(null!==c){const e=this.externalTimeStamp(a);null!==e&&(o=c.price,(0,ve.changeLineTool)({linkKey:l,model:this,symbol:this.mainSeries().symbol(),point:{price:o,timeStamp:e},envState:t,changes:i}))}}}changeLinePoints(e,t,i){const s=e.points(),n=e.linkKey().value();!i&&n&&e.isSynchronizable()&&t.forEach((t,i)=>{const o=s[i],a=o.price!==t.price,l=o.index!==t.index;if(e.getChangePointForSync(i)){const e=(0,r.ensureNotNull)(this.externalTimeStamp(t.index));(0,ve.changeLineTool)({linkKey:n,model:this,symbol:this.mainSeries().symbol(),point:{price:t.price,timeStamp:e},changes:{pricesChanged:a,indexesChanged:l}})}}),e.setPoints(t),e.updateAllViews(),this.lightUpdate()}addCustomSource(e,t,i=u.CustomSourceLayer.Foreground){this._customSourcesMap.has(e)&&Ft.logWarn(`Attempt to add the same custom source multiple time "${e}"`),Ft.logNormal(`Adding custom source "${e}"`);const s=t(e,this);switch(i){case u.CustomSourceLayer.Background:this._bgCustomSources.push(s);break;case u.CustomSourceLayer.Foreground:this._fgCustomSources.push(s);break;case u.CustomSourceLayer.Topmost:this._topmostCustomSources.push(s);break;default:throw new Error("Unknown custom sources layer "+i)}this._allCustomSources.push(s),this._customSourcesMap.set(e,s),this.lightUpdate()}removeCustomSource(e){this._removeCustomSource(e),this.lightUpdate()}hasCustomSource(e){return this._customSourcesMap.has(e)}customSourceForName(e){return this._customSourcesMap.get(e)||null}customSourceName(e){let t=null;return this._customSourcesMap.forEach((i,s)=>{i===e&&(t=s)}),t}customSources(e){switch(e){case u.CustomSourceLayer.Background:return this._bgCustomSources;case u.CustomSourceLayer.Foreground:return this._fgCustomSources;case u.CustomSourceLayer.Topmost:return this._topmostCustomSources;default:return this._allCustomSources}}addMultiPaneSource(e){this._multiPaneSources.push(e),this.lightUpdate()}removeMultiPaneSource(e){const t=this._multiPaneSources.indexOf(e) +;-1===t?Ft.logWarn("Attempt to remove multi-pane source which does not exist in the model"):this._multiPaneSources.splice(t,1),this.lightUpdate()}multiPaneSources(e){return this._multiPaneSources.filter(t=>!e.hasDataSource(t))}dateTimeFormatter(){return this._dateTimeFormatter}dateFormatter(){return this._dateFormatter}timeFormatter(){return this._timeFormatter}sessions(){return(0,r.ensureNotNull)(this._sessions)}createSessions(e){(0,r.assert)(null===this._sessions,"Sessions are already created"),this.addCustomSource("sessions",(t,i)=>(this._sessions=new N(t,i,e),this._sessions.start(),this._sessions),u.CustomSourceLayer.Background)}createPrePostMarket(e){this.addCustomSource("prePostMarket",(t,i)=>new PrePostMarket(t,i,e))}theme(){const e=this.properties().childs().paneProperties.state();delete e.topMargin,delete e.bottomMargin;const t=this.mainSeries().state().state;t&&(delete t.symbol,delete t.interval,delete t.currencyId,delete t.unitId);const i={mainSourceProperties:t,sessions:this.sessions().properties().state(),chartProperties:{paneProperties:e,scalesProperties:this.properties().childs().scalesProperties.state()}};return i.version=this.version(),i}onChartThemeLoaded(){return this._chartThemeLoaded}chartThemeLoaded(){this._chartThemeLoaded.fire()}shouldBeSavedEvenIfHidden(){return this._shouldBeSavedEvenIfHidden}setShouldBeSavedEvenIfHidden(e){this._shouldBeSavedEvenIfHidden=e}externalTimeStamp(e){const t=this.mainSeries().syncModel();return this.timeScale().points().roughTime(e,t&&t.projectTime.bind(t))}syncESD(){null!==this._esdWatcher&&this._esdWatcher.syncESDStudies()}recalcVisibleRangeStudies(e){this._recalcVRStudiesParams.force=this._recalcVRStudiesParams.force||Boolean(e),this._recalcVisibleRangeStudiesImplDebounced()}recalcColorStudies(e){this._recalcColorStudiesParams.force=this._recalcColorStudiesParams.force||Boolean(e),this._recalcColorStudiesImplDebounced()}alertsWatcher(){return this._alertsWatcher}showLegend(){return this._showLegendProperty}id(){return this._id}recalculatePriceRangeOnce(){const e=this.mainSeries();for(const t of this._panes)for(const i of t.priceDataSources())i.symbolSource()===e&&i.disablePriceRangeReady()}invalidate(e){var t;null===(t=this._invalidateHandler)||void 0===t||t.call(this,e)}appliedTimeFrame(){return this._appliedTimeFrame.appliedTimeFrame()}barsMarksSources(){return this._barsMarksSources}barMarksSourceForId(e){for(const t of this._barsMarksSources)if(t.id()===e)return t;return null}isAutoSaveEnabled(){return this._isAutoSaveEnabled}studyAwareDefaultRightOffset(){return Math.max(this._timeScale.defaultRightOffset().value(),this._cachedStudiesMaxOffset)}_updateStudiesMaxOffset(){const e=Math.max(...this.allStudies().map(e=>e.maxOffset().value()));this._cachedStudiesMaxOffset=e;const t=this._timeScale.rightOffset();t<0||this._timeScale.setRightOffset(Math.max(t,e))}_updateBaseIndex(e,t){const i=this._timeScale,s=i.baseIndex(),r=i.visibleBarsStrictRange(),n=i.logicalRange();if(null!==n&&t){const t=n.contains(s),o=e-s;let a=t?null:i.rightOffset()-o +;if(!this._options.shiftVisibleRangeOnNewBar&&t){const e=i.indexToCoordinate(s)+i.barSpacing()/2+1,t=s-n.left()+o,l=e/t;if(l>=i.minBarSpacing()){i.setBarSpacing(l);a=i.width()/l-t}else(null==r?void 0:r.lastBar())!==s&&(a=i.rightOffset()-o)}null!==a&&i.setRightOffset(a)}i.setBaseIndex(e)}_createESDWatcher(){}_updateDateTimeFormatter(){const e=me.dateFormatProperty.value(),t=new _e.DateFormatter(e);if(this._dateFormatter=t,this.mainSeries().isDWM())this._dateTimeFormatter=t,this._timeFormatter=new ge.TimeFormatter("%h:%m");else{const t=y.Interval.parse(this.mainSeries().interval()),i=t.isSeconds()||t.isTicks()?"%h:%m:%s":"%h:%m";this._dateTimeFormatter=new pe.DateTimeFormatter({dateFormat:e,timeFormat:i,dateTimeSeparator:" "}),this._timeFormatter=new ge.TimeFormatter(i)}}_setScalesResetAvailable(e){this._isScalesResetAvailable!==e&&(this._isScalesResetAvailable=e,this._isScalesResetAvailableChanged.fire())}_invalidationMaskForSource(e,t=z.InvalidationLevel.Light){if(e===this.crossHairSource())return z.InvalidationMask.cursor();if(this._watermarkSource===e)return this._paneInvalidationMask((0,r.ensureNotNull)(this.paneForSource(this.mainSeries())),t);if(-1!==this._allCustomSources.indexOf(e)){const e=new z.InvalidationMask;return e.invalidateAll(t),e}if(!(0,p.isDataSource)(e))return null;if(e.isMultiPaneEnabled())return new z.InvalidationMask(t);const i=this.paneForSource(e);return null!==i?this._paneInvalidationMask(i,t):null}_paneInvalidationMask(e,t=z.InvalidationLevel.Light){const i=new z.InvalidationMask,s=this._panes.indexOf(e);return i.invalidateAllPane(s,t),i}_invalidationMaskForSourcePriceScale(e,t=z.InvalidationLevel.Light){if(!(0,p.isDataSource)(e))return new z.InvalidationMask(t);const i=this.paneForSource(e);if(null===i)return null;let s=e.priceScale();if(null===s)return null;const r=this._panes.indexOf(i);let n=i.priceScalePosition(s);if("overlay"===n){const e=this._panes[r].defaultPriceScale();s=e,n=i.priceScalePosition(e)}const o=i.priceScaleIndex(s,n);if(void 0===o)return null;const a=new z.InvalidationMask;return a.invalidatePriceScale(r,n,o,t),a}_removeCustomSource(e){const t=this._customSourcesMap.get(e);if(void 0===t)return void Ft.logWarn(`Attempt to remove custom source which does not exist in the model - "${e}"`);Ft.logNormal(`Removing custom source "${e}"`),this.selectionMacro(e=>{e.removeSourceFromSelection(t)}),this._hoveredSource===t&&this.setHoveredSource(null),this._customSourceBeingMoved===t&&this.setMovingCustomSource(null,null);const i=Wt(this._bgCustomSources,t),s=Wt(this._fgCustomSources,t),n=Wt(this._topmostCustomSources,t),o=Wt(this._allCustomSources,t);(0,r.assert)(i||s||n,"Source should be presented in one of the layers"),(0,r.assert)(o,"Source should be presented in the array"),this._customSourcesMap.delete(e),t.destroy()}_updateShowLegendProperty(){const e=this._properties.childs().paneProperties.childs().legendProperties.childs().showLegend,t=this._showLegendProperty;if(e.value())t.setValue(!0);else{for(const e of this._panes){let i=0 +;for(const s of e.priceDataSources())if(s!==this.mainSeries()&&null!==s.statusView()&&(i++,i>1))return void t.setValue(!1)}t.setValue(!0)}}_pointToPercentPosition(e,t){return{x:e.x/this._timeScale.width(),y:e.y/(0,r.ensureNotNull)((0,r.ensureNotNull)(t.mainDataSource()).priceScale()).height()}}_percentPositionToPoint(e,t){const i=e.x*this._timeScale.width(),s=e.y*(0,r.ensureNotNull)((0,r.ensureNotNull)(t.mainDataSource()).priceScale()).height();return new n.Point(i,s)}_recalcVisibleRangeStudiesImpl(e){var t;if(e.timerId=null,this.timeScale().isEmpty())return;const i=this.timeScale().visibleBarsStrictRange();if(null===i)return;const s=this.mainSeries().nearestData(i.firstBar(),Me.PlotRowSearchMode.NearestRight),r=this.mainSeries().nearestData(i.lastBar(),Me.PlotRowSearchMode.NearestLeft),n=this.mainSeries().bars().lastIndex(),o=s?s.index:void 0,a=r?r.index:void 0,l=o===e.oldStartVisibleIndex,c=a===e.oldEndVisibleIndex;if(l&&c&&!e.force)return;e.force=!1,e.oldStartVisibleIndex=void 0!==o?o:NaN,e.oldEndVisibleIndex=void 0!==a?a:NaN;const h={first_visible_bar_time:1e3*Math.floor(s&&s.value?s.value[0]:0),last_visible_bar_time:1e3*Math.floor(r&&r.value?r.value[0]:0),subscribeRealtime:r&&r.index===n},d=null!==(t=e.studies)&&void 0!==t?t:this.priceDataSources();e.studies=void 0;for(const e of d)if((0,R.isStudy)(e)){const t=e.metaInfo().inputs,i=[];for(const e of t)h.hasOwnProperty(e.id)&&i.push(e.id);const s=e.properties().inputs;for(const e of i)s[e].setValueSilently(h[e]);i.length>0&&s.listeners().fire(s)}}_recalcColorStudiesImpl(e){var t;e.timerId=null;const i=this.backgroundColorAtYPercentFromTop(.5),s=this.isDark()?a.colorsPalette["color-cold-gray-200"]:a.colorsPalette["color-cold-gray-900"],r=i===e.oldBgColor,n=s===e.oldFgColor;if(r&&n&&!e.force)return;e.force=!1,e.oldBgColor=i,e.oldFgColor=s;const o={__chart_bgcolor:i,__chart_fgcolor:s},l=null!==(t=e.studies)&&void 0!==t?t:this.priceDataSources();e.studies=void 0;for(const e of l)if((0,R.isStudy)(e)){const t=e.metaInfo().inputs,i=[];for(const e of t)o.hasOwnProperty(e.id)&&i.push(e.id);const s=e.properties().inputs;for(const e of i)s[e].setValueSilently(o[e]);i.length>0&&s.listeners().fire(s)}}_getAllSources(e){const t=[];for(const i of this._panes){const s=i.sourcesByGroup().all();for(const i of s)e(i)&&t.push(i)}return t}_invalidateBarColorerCaches(){this.mainSeries().invalidateBarColorerCache()}_getAvailableCurrencies(){return this._options.currencyConversionEnabled?(0,$.isArray)(this._availableCurrenciesList)?this._availableCurrenciesList:(null!==this._availableCurrenciesList||(this._availableCurrenciesList=this.chartApi().availableCurrencies(),this._availableCurrenciesList.then(e=>{this._destroyed||(this._availableCurrenciesList=e,this.fullUpdate())}).catch(e=>{Ft.logWarn("An error occurred while getting currencies config: "+e)})),[]):[]}_getAvailableUnits(){ +return this._options.unitConversionEnabled?this._availableUnitsObject instanceof Promise||null===this._availableUnitsObject?(null!==this._availableUnitsObject||(this._availableUnitsObject=this.chartApi().availableUnits(),this._availableUnitsObject.then(e=>{this._destroyed||(this._availableUnitsObject=e,this.fullUpdate())}).catch(e=>{Ft.logWarn("An error occurred while getting units config: "+e)})),{}):this._availableUnitsObject:{}}_getBackgroundColor(e){const t=this._properties.childs().paneProperties.childs();if(t.backgroundType.value()===we.ColorType.Gradient){const i=t.backgroundGradientStartColor.value(),s=t.backgroundGradientEndColor.value();return e?i:s}return t.background.value()}_updateBackgroundColor(){this._backgroundColor.setValue(this._getBackgroundColor()),this._backgroundTopColor.setValue(this._getBackgroundColor(!0))}_syncCrosshair(e){if(!this._isSettingsExternalPosition){const t=this._undoModel.chartWidget(),i=this._undoModel.mainSeries(),s=i.syncModel(),r=this._undoModel.crossHairSource(),n=r.pane;if(null!==s&&null!==n){const o={timeStamp:this._timeScale.points().roughTime(r.index,s.projectTime.bind(s)),syncModel:s};n.mainDataSource()===i&&(o.price=r.price,o.symbol=i.symbol()),o.syncModel=s;let a=this._lineBeingCreated||null!==this._linePointBeingEdited||Boolean(this._sourcesBeingMoved.length);a=a&&(0,ve.drawOnAllCharts)().value(),t.chartWidgetCollection().syncCrosshair(o,t,a,e)}this._phantomSourceContainer.onCursorPositionUpdated()}}_gotoTimeImpl(e,t){const i=this.timeScale(),s=this.mainSeries();let n;if(void 0!==e){if(this._scrollingState&&this._scrollingState.deferred.reject(),n=(0,h.createDeferredPromise)(),!s.isDWM()){const t=s.symbolInfo();if(null!==t){let i=this.properties().childs().timezone.value();"exchange"===i&&(i=t.timezone);const r=(0,De.cal_to_utc)((0,De.get_timezone)(i),new Date(e)),n=(0,Ve.createTimeToBarTimeAligner)(s.interval(),t)(r);e=(0,De.utc_to_cal)((0,De.get_timezone)(i),n).getTime()}}this._scrollingState={targetDate:e,deferred:n,centerIfVisible:t.centerIfVisible}}else{if(!this._scrollingState)return Ft.logError("scrollTo called without an argument"),Promise.reject();e=this._scrollingState.targetDate,n=this._scrollingState.deferred}if(void 0===i.tickMarks().minIndex)return n.resolve(void 0),n.promise;let o=((e,t)=>{if((e=>(0,r.ensureNotNull)(i.tickMarks().indexToTime((0,r.ensureDefined)(i.tickMarks().minIndex))).valueOf()-e)(t)<0){let n=i.tickMarks().nearestIndex(t);const o=s.bars().lastIndex();if(null===o)return null;n=Math.min(n,o);let a=(0,r.ensureNotNull)(i.tickMarks().indexToTime(n)).valueOf();for(;a{"use strict";i.d(t,{japaneseChartStyles:()=>r,commonChartStyles:()=>n,allChartStyles:()=>o});var s=i(27490);function r(){return s.enabled("japanese_chart_styles"),[8]}function n(){const e=[0,1,9,2,3,10];return s.enabled("chart_style_hilo")&&e.push(12),e}function o(){return n().concat(r())}},34854:(e,t,i)=>{"use strict";i.d(t,{ChartUndoModelBase:()=>ui});var s=i(94795),r=i.n(s),n=i(55663),o=i(16282),a=i(72927),l=i(79881),c=i(90963),h=i(83939),d=i(97102),u=i(85062),p=i.n(u),_=i(65447);const m=new c.TranslatedString("move all scales to left",(0,l.t)("move all scales to left")),g=new c.TranslatedString("move all scales to right",(0,l.t)("move all scales to right")),f=(0,_.getLogger)("Chart.MergeAllScales");var v=i(27850),S=i(5980);class y extends S.UndoCommand{constructor(e,t,i,s,r,n){super(n),this._model=e,this._paneIndex=e.panes().indexOf(t),this._targetPosition=s,this._targetIndex=r,this._scaleId=i.id(),this._sourcePosition=t.priceScalePosition(i),"overlay"!==this._sourcePosition&&(this._sourceIndex=t.priceScaleIndex(i,this._sourcePosition))}redo(){const e=this._model.panes()[this._paneIndex],t=(0,o.ensureNotNull)(e.getPriceScaleById(this._scaleId));e.movePriceScale(t,this._targetPosition,this._targetIndex),this._model.fullUpdate()}undo(){const e=this._model.panes()[this._paneIndex],t=(0,o.ensureNotNull)(e.getPriceScaleById(this._scaleId));e.movePriceScale(t,this._sourcePosition,this._sourceIndex),this._model.fullUpdate()}}var b=i(67945);class w extends S.UndoCommand{constructor(e,t,i,s){super(s),this._createdIds=[],this._model=e,this._withoutShift=i,this._origStates=t.map(e=>e.state(!0));const r=e.lineToolsGroupModel();this._origGroups=t.map(e=>{const t=r.groupForLineTool(e);return t&&t.id})}redo(){const e=this._model.lineToolsGroupModel(),t=this._origStates.map((t,i)=>{const s=(0,o.ensureNotNull)(this._model.dataSourceForId(t.id)),r=0===this._createdIds.length?void 0:(0,o.ensureDefined)(this._createdIds[i]),n=(0,b.cloneLineTool)(this._model,s,!this._withoutShift,r),a=(0,o.ensureNotNull)(s.priceScale());(0,o.ensureNotNull)(this._model.paneForSource(s)).addDataSource(n,a,!1);const l=this._origGroups[i];if(null!==l){const t=e.groupForId(l);t&&t.addLineTools([n])}return this._model.updateSource(n),n});0===this._createdIds.length&&(this._createdIds=t.map(e=>e.id())),this._model.selectionMacro(e=>{ +e.clearSelection(),t.forEach(t=>{e.addSourceToSelection(t)})}),this._model.setShouldBeSavedEvenIfHidden(!0)}undo(){const e=this._model.lineToolsGroupModel();this._createdIds.forEach(t=>{const i=(0,o.ensureNotNull)(this._model.dataSourceForId(t)),s=e.groupForLineTool(i);null!==s&&s.excludeLineTool(i),this._model.removeSource(i)})}newIds(){return this._createdIds}}var P=i(40597),C=i(52201),T=i(47903),x=i(17e3);class I extends S.UndoCommand{constructor(e,t,i,s=!0){super(i,s),this._newStates=[],this._model=e,this._savedStates=t.map(e=>e.state(!1))}redo(){this._applyState(this._newStates)}undo(){0===this._newStates.length&&this.saveNewState(),this._applyState(this._savedStates)}saveNewState(){const e=this._savedStates.filter(T.notNull).map(e=>(0,o.ensureNotNull)(this._model.dataSourceForId(e.id)));this._newStates=e.map(e=>e.state(!1))}_applyState(e){for(const t of e)if(null!==t){const e=this._model.dataSourceForId(t.id);if(null!==e)if((0,x.isStudy)(e)){const i=t.state.inputs,s=e.properties().inputs;for(const e in i)s[e]&&s[e].setValue(i[e])}else this._model.restoreLineToolState(e,t)}}}var M=i(3062),L=i(31495),A=i(36512),k=i(58761);const E=new c.TranslatedString("create {tool}",(0,l.t)("create {tool}"));class D extends S.UndoCommand{constructor(e,t,i,s,r=!0){super(E.format({tool:new c.TranslatedString(i,k.lineToolsLocalizedNames[i])}),!1),this._lineId=null,this._lineState=null,this._model=e,this._paneIndex=e.panes().indexOf(t),this._lineTool=i,this._ownerSourceId=s.id(),this._drawOnAllCharts=r}startCreatingLine(e,t,i){const s=this._model.panes()[this._paneIndex],r=this._model.dataSourceForId(this._ownerSourceId),n=this._model.createLineTool(s,e,this._lineTool,t,i,r);return this._lineId=n.id(),!this._model.lineBeingCreated()}continueCreatingLine(e,t,i,s){const r=this._model.continueCreatingLine(e,t,i,s);return r&&this._model.setShouldBeSavedEvenIfHidden(!0),r}line(){return null===this._lineId?null:this._model.dataSourceForId(this._lineId)}undo(){const e=this.line();null!==e&&(this._lineState=e.state(!1),this._model.removeSource(e),this._lineId=null)}redo(){if(null===this._lineState)return;const e=this._model.restoreSource(!1,this._paneIndex,null,(0,o.ensureNotNull)(this._lineState),null);null!==e&&(this._lineId=e.id(),this._lineState=null)}drawOnAllCharts(){return this._drawOnAllCharts}}var V=i(95316);const B=new c.TranslatedString("bring {title} to front",(0,l.t)("bring {title} to front")),N=new c.TranslatedString("send {title} to back",(0,l.t)("send {title} to back")),R=new c.TranslatedString("insert {title} after {targetTitle}",(0,l.t)("insert {title} after {targetTitle}")),O=new c.TranslatedString("insert {title} before {targetTitle}",(0,l.t)("insert {title} before {targetTitle}")),F=new c.TranslatedString("send {title} backward",(0,l.t)("send {title} backward")),W=new c.TranslatedString("bring {title} forward",(0,l.t)("bring {title} forward")),H=new c.TranslatedString("send group {title} backward",(0,l.t)("send group {title} backward")),z=new c.TranslatedString("bring group {title} forward",(0, +l.t)("bring group {title} forward"));function U(e){return new c.TranslatedString(e.name(),e.title())}class j extends S.UndoCommand{constructor(e,t,i){super(i),this._sourcesByPanes=new Map,this._originalState=new Map,this._model=e,t.forEach(t=>{const i=(0,o.ensureNotNull)(e.paneForSource(t)),s=e.panes().indexOf(i),r=this._sourcesByPanes.get(s)||[];r.push(t.id()),this._sourcesByPanes.set(s,r)}),Array.from(this._sourcesByPanes.keys()).forEach(t=>{const i=e.panes()[t],s=new Map;i.sourcesByGroup().allIncludingHidden().forEach(e=>{s.set(e.id(),e.zorder())}),this._originalState.set(t,s)})}undo(){this._originalState.forEach((e,t)=>{const i=this._model.panes()[t],s=new Map;e.forEach((e,t)=>{const r=(0,o.ensureNotNull)(i.dataSourceForId(t));s.set(r,e)}),i.setZOrders(s)})}redo(){this._sourcesByPanes.forEach((e,t)=>{const i=this._model.panes()[t],s=e.map(e=>(0,o.ensureNotNull)(i.dataSourceForId(e)));this._paneOperation(i,s)})}}class G extends j{constructor(e,t){super(e,t,B.format({title:U(t[0])}))}_paneOperation(e,t){e.bringToFront(t)}}class q extends j{constructor(e,t){super(e,t,N.format({title:U(t[0])}))}_paneOperation(e,t){e.sendToBack(t)}}class Y extends j{constructor(e,t,i,s){super(e,t,s),this._targetSource=i}_paneOperation(e,t){e.insertAfter(t,this._targetSource)}}class $ extends Y{constructor(e,t,i){super(e,t,i,R.format({title:U(t[0]),targetTitle:U(i)}))}}class K extends j{constructor(e,t,i,s){super(e,t,s),this._targetSource=i}_paneOperation(e,t){e.insertBefore(t,this._targetSource)}}class X extends K{constructor(e,t,i){super(e,t,i,O.format({title:U(t[0]),targetTitle:U(i)}))}}function Z(e,t){const i=t[0],s=e.sourcesByGroup().all().filter(e=>e.zorder()e.zorder()>i.zorder());if(0===s.length)throw new Error("Cannot bring forward source that alreadt on back");let r=s[0];if((0,b.isLineTool)(r)){const t=e.model().lineToolsGroupModel().groupForLineTool(r);if(null!==t){const e=t.lineTools();r=e[e.length-1]}}return r}class ee extends Y{constructor(e,t,i){super(e,i,Q(t,i),W.format({title:U(i[0])}))}}function te(e,t){return(0,o.ensureNotNull)(e.paneForSource(t.lineTools()[0]))}class ie extends K{constructor(e,t){super(e,t.lineTools(),Z(te(e,t),t.lineTools()),H.format({title:t.name()}))}}class se extends Y{constructor(e,t){super(e,t.lineTools(),Q(te(e,t),t.lineTools()),z.format({title:t.name()}))}}const re=new c.TranslatedString("rearrange panes",(0,l.t)("rearrange panes"));class ne extends S.UndoCommand{constructor(e,t,i){super(re),this._chartModel=e,this._index=t,(0,T.isNumber)(i)?this._dstIndex=i:this._dstIndex="up"===i?t-1:t+1}redo(){this._checkIndices()&&this._chartModel.movePane(this._index,this._dstIndex)}undo(){ +this._checkIndices()&&this._chartModel.movePane(this._dstIndex,this._index)}_checkIndices(){const e=this._chartModel.panes().length;return this._index>=0&&this._index=0&&this._dstIndexe.id())}redo(){const e=(0,o.ensureNotNull)(this._model.lineToolsGroupModel().groupForId(this._groupId));this._model.lineToolsGroupModel().removeGroup(e)}undo(){const e=this._lineToolsIds.map(e=>this._model.dataSourceForId(e)),t=new ve.LineToolsGroup(e,this._groupName,this._groupId);this._model.lineToolsGroupModel().addGroup(t)}}const ye=new c.TranslatedString("create line tools group",(0,l.t)("create line tools group"));class be extends S.UndoCommand{constructor(e,t){super(ye),this._groupId=null,this._model=e,this._sourcesIds=t.map(e=>e.id())}redo(){const e=this._sourcesIds.map(e=>this._model.dataSourceForId(e)),t=null===this._groupId?void 0:this._groupId;this._groupId=this._model.lineToolsGroupModel().createGroup(e,this._title,t).id}undo(){const e=(0,o.ensureNotNull)(this._model.lineToolsGroupModel().groupForId((0,o.ensureNotNull)(this._groupId)));this._model.lineToolsGroupModel().removeGroup(e)}createdGroupId(){return this._groupId}}const we=new c.TranslatedString("add line tool(s) to group {group}",(0,l.t)("add line tool(s) to group {group}"));class Pe extends S.UndoCommand{constructor(e,t,i){super(we.format({group:t.name()})),this._model=e,this._groupId=t.id,this._lineToolsIds=i.map(e=>e.id())}redo(){const e=(0,o.ensureNotNull)(this._model.lineToolsGroupModel().groupForId(this._groupId)),t=this._lineToolsIds.map(e=>this._model.dataSourceForId(e));e.addLineTools(t)}undo(){const e=this._lineToolsIds.map(e=>this._model.dataSourceForId(e));(0,o.ensureNotNull)(this._model.lineToolsGroupModel().groupForId(this._groupId)).excludeLineTools(e)}}var Ce=i(85103);class Te extends S.UndoCommand{constructor(e,t,i,s,r){super(i),this._targetObj=e,this._newValue=t,this._oldValue=this._targetObj.value(),this._model=s,r&&this.setCustomFlag("doesnt_affect_save",!0)}redo(){(0,le.saveDefaultProperties)(!0),this._targetObj.setValue(this._newValue),(0,le.saveDefaultProperties)(!1),this._model.recalculateAllPanes(),this._model.lightUpdate()}undo(){(0,le.saveDefaultProperties)(!0),this._targetObj.setValue(this._oldValue),(0,le.saveDefaultProperties)(!1),this._model.recalculateAllPanes(),this._model.lightUpdate()}}class xe extends S.UndoCommand{constructor(e,t,i,s){super(s),this._chartModel=e,this._groupId=t.id,this._oldName=t.name(),this._newName=i}redo(){(0,o.ensureNotNull)(this._chartModel.lineToolsGroupModel().groupForId(this._groupId)).setName(this._newName)}undo(){(0,o.ensureNotNull)(this._chartModel.lineToolsGroupModel().groupForId(this._groupId)).setName(this._oldName)}}var Ie=i(15521);const Me=new c.TranslatedString("create line tools group from selection",(0,l.t)("create line tools group from selection")),Le=new c.TranslatedString("removing line tools group {name}",(0, +l.t)("removing line tools group {name}")),Ae=new c.TranslatedString("add line tool {lineTool} to group {name}",(0,l.t)("add line tool {lineTool} to group {name}")),ke=new c.TranslatedString("make group {group} visible",(0,l.t)("make group {group} visible")),Ee=new c.TranslatedString("make group {group} invisible",(0,l.t)("make group {group} invisible")),De=new c.TranslatedString("lock group {group}",(0,l.t)("lock group {group}")),Ve=new c.TranslatedString("unlock group {group}",(0,l.t)("unlock group {group}")),Be=new c.TranslatedString("rename group {group} to {newName}",(0,l.t)("rename group {group} to {newName}"));class Ne{constructor(e){this._lineToolsAffectChartInvalidation=new Ce.FeatureToggleWatchedValue("do_not_invalidate_chart_on_changing_line_tools",!1),this._environment=e}createGroupFromSelection(){const e=this._environment.model();(0,o.assert)(!e.selection().isEmpty(),"Cannot create group from empty selection");const t=(0,A.sortSources)(e.selection().lineDataSources());(0,o.assert)(t.length===e.selection().allSources().length,"A group could contain line tools only");const i=t.length>1||null!==this._environment.model().lineToolsGroupModel().groupForLineTool(t[0]),s=t.reduce((e,t)=>e.zorder()>t.zorder()?e:t,t[0]);let r=s;const n=e.lineToolsGroupModel().groupForLineTool(s);if(null!==n){const e=n.lineTools();r=e[e.length-1]}this._environment.beginUndoMacro(Me,this._lineToolsAffectChartInvalidation.value());const a=new Map,l=new Set;t.forEach(t=>{const i=this._groupForLineTool(t);if(null===i)return;const s=a.get(i)||[];s.push(t),a.set(i,s);const r=(0,o.ensureNotNull)(e.paneForSource(t));l.add(r)}),(0,o.assert)(l.size<=1,"All selected sources should be on the same pane"),a.forEach((t,i)=>{const s=new C.ExcludeLineToolsFromGroupUndoCommand(e,i,t);this._environment.pushUndoCommand(s)});const c=new be(e,(0,A.sortSources)(t));if(this._environment.pushUndoCommand(c),i){const i=new $(e,t,r);this._environment.pushUndoCommand(i)}this._environment.endUndoMacro();const h=(0,o.ensureNotNull)(c.createdGroupId());return(0,o.ensureNotNull)(e.lineToolsGroupModel().groupForId(h))}removeGroup(e){const t=this._environment.model(),i=e.lineTools();this._environment.beginUndoMacro(Le.format({name:e.name()}),this._lineToolsAffectChartInvalidation.value());const s=new Se(t,e,null);this._environment.pushUndoCommand(s);const r=new P.RemoveSourcesCommand(t,i,null);this._environment.pushUndoCommand(r);const n=t.mainSeries().symbol();i.forEach(e=>{null!==e.linkKey().value()&&(0,Ie.removeLineTool)({withUndo:!0,model:t,symbol:n,sourceTitle:new c.TranslatedString(e.name(),e.title()),lineToolState:e.state(!1),linkKey:(0,o.ensureNotNull)(e.linkKey().value())})}),this._environment.endUndoMacro()}groups(){return this._environment.model().lineToolsGroupModel().groups()}excludeLineToolFromGroup(e,t){const i=this._environment.model(),s=new C.ExcludeLineToolsFromGroupUndoCommand(i,e,[t]);s.setCustomFlag("doesnt_affect_save",this._lineToolsAffectChartInvalidation.value()),this._environment.pushUndoCommand(s)}addLineToolToGroup(e,t){ +const i=this._environment.model(),s=i.lineToolsGroupModel().groupForLineTool(t);if(s===e)return;const r=Ae.format({lineTool:new c.TranslatedString(t.name(),t.title()),name:e.name()});this._environment.beginUndoMacro(r,this._lineToolsAffectChartInvalidation.value()),null!==s&&this._environment.pushUndoCommand(new C.ExcludeLineToolsFromGroupUndoCommand(i,s,[t])),this._environment.pushUndoCommand(new Pe(i,e,[t])),this._environment.endUndoMacro()}bringToFront(e){const t=this._environment.model(),i=new G(t,e.lineTools());i.setCustomFlag("doesnt_affect_save",this._lineToolsAffectChartInvalidation.value()),this._environment.pushUndoCommand(i),this._environment.emitEvent("changeZOrder",[e.lineTools()])}sendToBack(e){const t=this._environment.model(),i=new q(t,e.lineTools());i.setCustomFlag("doesnt_affect_save",this._lineToolsAffectChartInvalidation.value()),this._environment.pushUndoCommand(i),this._environment.emitEvent("changeZOrder",[e.lineTools()])}bringForward(e){const t=this._environment.model(),i=new se(t,e);i.setCustomFlag("doesnt_affect_save",this._lineToolsAffectChartInvalidation.value()),this._environment.pushUndoCommand(i),this._environment.emitEvent("changeZOrder",[e.lineTools()])}sendBackward(e){const t=this._environment.model(),i=new ie(t,e);i.setCustomFlag("doesnt_affect_save",this._lineToolsAffectChartInvalidation.value()),this._environment.pushUndoCommand(i),this._environment.emitEvent("changeZOrder",[e.lineTools()])}insertAfter(e,t){const i=this._environment.model();let s;if(t instanceof ve.LineToolsGroup){const e=t.lineTools();s=e[e.length-1]}else s=t;const r=new $(i,e.lineTools(),s);this._environment.pushUndoCommand(r),this._environment.emitEvent("changeZOrder",[e.lineTools()])}insertBefore(e,t){const i=this._environment.model();let s;if(t instanceof ve.LineToolsGroup){s=t.lineTools()[0]}else s=t;const r=new X(i,e.lineTools(),s);this._environment.pushUndoCommand(r),this._environment.emitEvent("changeZOrder",[e.lineTools()])}availableZOrderOperations(e){const t=this._environment.model(),i=e.lineTools(),s=i[0],r=i[i.length-1],n=(0,o.ensureNotNull)(t.paneForSource(i[0])).sourcesByGroup().allExceptSpecialSources(),a=n[0],l=n[n.length-1];return{bringForwardEnabled:r!==l,bringToFrontEnabled:r!==l,sendBackwardEnabled:s!==a,sendToBackEnabled:s!==a}}setGroupVisibility(e,t){const i=(t?ke:Ee).format({group:e.name()}),s=this._environment.model();this._environment.beginUndoMacro(i,this._lineToolsAffectChartInvalidation.value()),e.lineTools().forEach(e=>{const i=e.properties().visible,r=new Te(i,t,null,s);this._environment.pushUndoCommand(r)}),this._environment.endUndoMacro()}setGroupLock(e,t){const i=(t?De:Ve).format({group:e.name()}),s=this._environment.model();this._environment.beginUndoMacro(i,this._lineToolsAffectChartInvalidation.value()),e.lineTools().forEach(e=>{const i=e.properties().frozen,r=new Te(i,t,null,s);this._environment.pushUndoCommand(r)}),this._environment.endUndoMacro()}setGroupName(e,t){const i=this._environment.model(),s=Be.format({group:e.name(),newName:t}),r=new xe(i,e,t,s) +;r.setCustomFlag("doesnt_affect_save",this._lineToolsAffectChartInvalidation.value()),this._environment.pushUndoCommand(r)}canBeGroupped(e){const t=this._environment.model();return new Set(e.map(e=>t.paneForSource(e))).size<=1}_groupForLineTool(e){return this._environment.model().lineToolsGroupModel().groups().find(t=>t.containsLineTool(e))||null}}var Re=i(72236),Oe=i(58921),Fe=i(40315);const We=new c.TranslatedString("apply study template {template}",(0,l.t)("apply study template {template}"));class He extends S.UndoCommand{constructor(e,t,i){super(We.format({template:i})),this._model=e,this._templateContent=t,this._initialState=e.studyTemplate(!0,!0,!0),this._initialGroupsState=e.lineToolsGroupModel().state()}redo(){const e=this._merge(this._templateContent).filter(b.isLineTool);this._model.lineToolsGroupModel().removeLineTools(e),this._model.mainSeries().onChartStyleChanged();const t=this._model.mainSeries().properties();(0,ce.preparePriceAxisProperties)(t),this._model.recalcVisibleRangeStudies(!0),this._model.setShouldBeSavedEvenIfHidden(!0)}undo(){this._merge(this._initialState),this._model.mainSeries().onChartStyleChanged()}_merge(e){const t=e.version||0,i=this._model,s=i.mainSeries(),r=s.id();s.priceScale().properties().childs().lockScale.setValue(!1);const n=s.properties().childs();if(this._initialState.symbol&&e.symbol&&(n.currencyId.setValue(e.currency||null),n.unitId.setValue(e.unit||null),n.symbol.setValue(e.symbol)),this._initialState.symbol&&e.interval){const t=(0,ce.getChartStyleByResolution)(e.interval,n.style.value());s.setChartStyleWithIntervalIfNeeded(t,e.interval)}const a=i.panes(),l=[];for(let e=a.length;e--;){const t=a[e],i=t.containsMainSeries(),s=t.dataSources();for(let e=s.length;e--;){const t=s[e];(!i||(0,x.isStudy)(t)&&t.isRemovedByStudyTemplates())&&l.push(t)}}i.resetDeferredStudies();const c=(0,Re.closeSourcesSet)(i,l);for(let e=0;ee.zorder-t.zorder);for(let e=0;e-1,o=n?a[e]:i.createPane(e);n&&t<3&&(0,Fe.reorderDataSourcesStateZOrder)(r.sources),o.restoreState(r,!1,t),null!==o.mainDataSource()||i.removePane(o)}return(0,o.ensureNotNull)(i.paneForSource(s)).changeSourceId(s,r),i.syncESD(),s.priceScale().setMode({autoScale:!0}),i.startNotStartedStudies(),i.recalculateAllPanes(),i.fullUpdate(),c}}var ze=i(45259),Ue=i(58007);const je=(0,_.getLogger)("Chart.ChartUndoModel"),Ge=new c.TranslatedString("paste drawing",(0,l.t)("paste drawing"));class qe extends S.UndoCommand{constructor(e,t,i,s,r){super(Ge),this._needCopyToOtherCharts=!1,this._sourceState=null,this._model=e,this._clipboardData=t,this._paneIndex=this._model.panes().indexOf(i||(0,o.ensureNotNull)(this._model.paneForSource(this._model.mainSeries()))),this._pasteWithData=!!s,this._keepZIndex=!!r}redo(){const e=this._model.panes()[this._paneIndex],t=(0, +o.ensureNotNull)(e.clipboardLineToolOwnerSource(this._clipboardData.source.id));null===this._sourceState&&(this._sourceState=this._getSourceState(t));const i=e.restoreLineTool(this._sourceState,this._pasteWithData,this._keepZIndex);this._clipboardData.centeredOnChart&&i.centerPosition&&i.centerPosition();const s=(0,o.ensureNotNull)(t.priceScale());i.setOwnerSource(t),i.setPriceScale(s),s.addDataSource(i),i.restoreFixedPoints(),(0,b.prepareLineToolPropertiesByOwnerSource)(i.properties(),t),i.calcIsActualSymbol(),i.createServerPoints();const r=(0,Ue.isSymbolSource)(t)||t.metaInfo().is_price_study;this._needCopyToOtherCharts=Boolean(r&&((0,Ie.drawOnAllCharts)().value()||i.linkKey().value()&&i.isSynchronizable())),this._model.setShouldBeSavedEvenIfHidden(!0)}undo(){if(!this._sourceState)return void je.logError("This command was never executed - nothing to undo");const e=this.source();this._clipboardData.centeredOnChart&&(this._clipboardData.centeredOnChart=!1,this._sourceState.points=e.normalizedPoints()),this._model.removeSource(e)}source(){return(0,o.ensureNotNull)(this._model.dataSourceForId((0,o.ensureNotNull)(this._sourceState).id))}needCopyToOtherCharts(){return this._needCopyToOtherCharts}_getSourceState(e){const t=(0,T.clone)(this._clipboardData.source);delete t.state.symbol,null!=t.linkKey&&(t.linkKey=(0,ze.randomHash)());const i=(0,o.ensureNotNull)(e.priceScale()),s=this._model,{symbol:r,currencyId:n,unitId:l}=this._clipboardData.source.state,c=(0,o.ensureNotNull)(e.symbolSource());let h=!1;!c.symbolSameAsCurrent(r)||(null!==n?n!==(0,ce.symbolCurrency)(c.symbolInfo(),void 0,!0):c.isConvertedToOtherCurrency())||(null!==l?l!==(0,ce.symbolUnit)(c.symbolInfo()):c.isConvertedToOtherUnit())||((0,Ue.isSymbolSource)(e)?h=!0:(0,x.isStudy)(e)&&(h=Boolean(e.metaInfo().is_price_study)));const d=e=>{const t=e.x*s.timeScale().width(),r=e.y*i.height()-40;return new a.Point(t,r)},u=(0,o.ensureNotNull)(e.firstValue());if(this._model.id()===this._clipboardData.modelId||!h)for(let e=0;e(0,Je.trackEvent)("SOS","Apply SOS","Rebind SOS")),this._chartModel.setShouldBeSavedEvenIfHidden(!0),null!==this._paneState){(0,o.ensureNotNull)(this._chartModel.paneForSource(t)).restoreState(this._paneState,!1,this._chartModel.version()),this._paneState=null}}undo(){const e=(0,o.ensureNotNull)(this._chartModel.dataSourceForId((0,o.ensureNotNull)(this._studyId))),t=(0,o.ensureNotNull)(this._chartModel.paneForSource(e)).state();this._chartModel.removeSource(e)&&(this._paneState=t)}insertedStudy(){return this._chartModel.dataSourceForId((0,o.ensureNotNull)(this._studyId))}}var lt=i(18174),ct=i(16389),ht=i.n(ct),dt=i(42010),ut=i(36292),pt=i(27490);const _t=new c.TranslatedString("zoom",(0,l.t)("zoom"));class mt extends S.UndoCommand{constructor(e,t,i,s,r,n){super(_t),this._barSpacing=null,this._rightBarsOffset=null,this._leftBarsOffset=null,this._priceMode=null,this._model=e,this._startBar=t,this._endBar=i,this._startPrice=s,this._endPrice=r,this._pane=n}redo(){const e=(0,o.ensureNotNull)(this._model.timeScale().visibleBarsStrictRange());this._leftBarsOffset=e.firstBar()-this._startBar,this._rightBarsOffset=e.lastBar()-this._endBar,this._barSpacing=this._model.timeScale().barSpacing(),this._priceMode=this._pane.defaultPriceScale().mode(),this._model.zoomToViewport(this._startBar,this._endBar,this._startPrice,this._endPrice,this._pane)}undo(){const e=this._model.timeScale(),t=this._pane.defaultPriceScale(),i=(0,o.ensureNotNull)(e.visibleBarsStrictRange());e.setBarSpacing((0,o.ensureNotNull)(this._barSpacing)),e.zoomToBarsRange(i.firstBar()+(0,o.ensureNotNull)(this._leftBarsOffset),i.lastBar()+(0,o.ensureNotNull)(this._rightBarsOffset)),t.setMode((0,o.ensureNotNull)(this._priceMode)),t.recalculatePriceRange((0,o.ensureNotNull)(e.visibleBarsStrictRange())),this._model.recalculateAllPanes(),this._model.lightUpdate()}}const gt=(0,_.getLogger)("Chart.ChartUndoModel"),ft=new c.TranslatedString("zoom",(0,l.t)("zoom"));class vt extends S.UndoCommand{constructor(e,t,i){super(ft),this._baseCmd=e,this._zoomStack=t,this._inOut=i}undo(){if(this._inOut){if(this._baseCmd!==this._zoomStack.head())return void gt.logDebug("zoom stack inconsistency");this._baseCmd.undo(),this._zoomStack.pop()}else this._baseCmd.redo(),this._zoomStack.push(this._baseCmd)}redo(){if(this._inOut)this._baseCmd.redo(),this._zoomStack.push(this._baseCmd);else{if(this._baseCmd!==this._zoomStack.head())return void gt.logDebug("zoom stack inconsistency");this._baseCmd.undo(),this._zoomStack.pop()}}}const St=new c.TranslatedString("stop syncing drawing",(0,l.t)("stop syncing drawing"));class yt extends S.UndoCommand{constructor(e,t){super(St),this._model=e, +this._sourceId=t.id(),this._linkKey=t.linkKey().value()}redo(){(0,o.ensureNotNull)(this._model.dataSourceForId(this._sourceId)).linkKey().setValue(null)}undo(){(0,o.ensureNotNull)(this._model.dataSourceForId(this._sourceId)).linkKey().setValue(this._linkKey)}}const bt=new c.TranslatedString("restore defaults",(0,l.t)("restore defaults"));class wt extends S.UndoCommand{constructor(e,t,i=bt){super(i),this._chartModel=e,this._defaultProperty=t,this._state=t.state()}redo(){this._chartModel.restoreFactoryDefaults(this._defaultProperty)}undo(){this._defaultProperty.mergeAndFire(this._state),this._chartModel.mainSeries().onChartStyleChanged()}}var Pt=i(25220);class Ct extends wt{redo(){this._defaultProperty.hasChild("intervalsVisibilities")&&this._defaultProperty.childs().intervalsVisibilities.mergeAndFire(Pt.intervalsVisibilitiesDefaults),super.redo()}}class Tt extends Ct{redo(){super.redo(),this._chartModel.recalcColorStudies(!0)}undo(){super.undo(),this._chartModel.recalcColorStudies(!0)}}var xt=i(89537);const It=new c.TranslatedString("send {title} backward",(0,l.t)("send {title} backward")),Mt=new c.TranslatedString("bring {title} forward",(0,l.t)("bring {title} forward")),Lt=new c.TranslatedString("insert {title} after {target}",(0,l.t)("insert {title} after {target}")),At=new c.TranslatedString("insert {title} before {target}",(0,l.t)("insert {title} before {target}")),kt=new c.TranslatedString("cut {title}",(0,l.t)("cut {title}")),Et=new c.TranslatedString("cut sources",(0,l.t)("cut sources")),Dt=new c.TranslatedString("remove {title}",(0,l.t)("remove {title}")),Vt=new c.TranslatedString("remove drawings group",(0,l.t)("remove drawings group")),Bt=new c.TranslatedString("move scale",(0,l.t)("move scale")),Nt=new c.TranslatedString("stop syncing line tool(s)",(0,l.t)("stop syncing line tool(s)")),Rt=new c.TranslatedString("zoom out",(0,l.t)("zoom out")),Ot=new c.TranslatedString("zoom in",(0,l.t)("zoom in")),Ft=new c.TranslatedString("move drawing(s)",(0,l.t)("move drawing(s)")),Wt=new c.TranslatedString("load default drawing template",(0,l.t)("load default drawing template")),Ht=new c.TranslatedString("change currency",(0,l.t)("change currency")),zt=new c.TranslatedString("change unit",(0,l.t)("change unit")),Ut=new c.TranslatedString("clone line tools",(0,l.t)("clone line tools")),jt=new c.TranslatedString("merge up",(0,l.t)("merge up")),Gt=new c.TranslatedString("merge down",(0,l.t)("merge down")),qt=new c.TranslatedString("merge to pane",(0,l.t)("merge to pane")),Yt=new c.TranslatedString("unmerge up",(0,l.t)("unmerge up")),$t=new c.TranslatedString("unmerge down",(0,l.t)("unmerge down")),Kt=new c.TranslatedString("unmerge to new bottom pane",(0,l.t)("unmerge to new bottom pane")),Xt=new c.TranslatedString("move {title} to new right scale",(0,l.t)("move {title} to new right scale")),Zt=new c.TranslatedString("move {title} to new left scale",(0,l.t)("move {title} to new left scale")),Jt=new c.TranslatedString("make {title} no scale (Full screen)",(0, +l.t)("make {title} no scale (Full screen)")),Qt=new c.TranslatedString("scroll time",(0,l.t)("scroll time")),ei=new c.TranslatedString("scale time",(0,l.t)("scale time")),ti=new c.TranslatedString("reset time scale",(0,l.t)("reset time scale")),ii=new c.TranslatedString("reset scales",(0,l.t)("reset scales")),si=new c.TranslatedString("create {tool}",(0,l.t)("create {tool}")),ri=new c.TranslatedString("change {pointIndex} point",(0,l.t)("change {pointIndex} point")),ni=new c.TranslatedString("paste {title}",(0,l.t)("paste {title}")),oi=new c.TranslatedString("insert {title}",(0,l.t)("insert {title}")),ai=new c.TranslatedString("remove all studies",(0,l.t)("remove all studies")),li=new c.TranslatedString("remove drawings",(0,l.t)("remove drawings")),ci=new c.TranslatedString("remove all studies and drawing tools",(0,l.t)("remove all studies and drawing tools"));function hi(e,t){return{bringForwardEnabled:e.bringForwardEnabled||t.bringForwardEnabled,bringToFrontEnabled:e.bringToFrontEnabled||t.bringToFrontEnabled,sendBackwardEnabled:e.sendBackwardEnabled||t.sendBackwardEnabled,sendToBackEnabled:e.sendToBackEnabled||t.sendToBackEnabled}}function di(e){return new c.TranslatedString(e.name(),e.title())}class ui extends(r()){constructor(e,t,i,s,r,n,o,a,l,c,h){super(),this._createLineCommand=null,this._initialTimeScrollState=null,this._initialTimeScrollPos=null,this._scalePriceInfo=null,this._currentSourceMoveCommand=null,this._currentLineChangeCommand=null,this._currentCustomMoveCommand=null,this._zoomStack=new v.UndoStack,this._lineToolsDoNotAffectChartInvalidation=new Ce.FeatureToggleWatchedValue("do_not_invalidate_chart_on_changing_line_tools",!1),this._chartWidget=n,this.m_model=new(ht())(e,t,i,s,r,this,a,l,c,h),this._undoHistory=o,this._lineToolsGroupController=new Ne({model:this._model.bind(this),pushUndoCommand:this._pushUndoCommand.bind(this),beginUndoMacro:(e,t)=>{this._undoHistory.beginUndoMacro(e).setCustomFlag("doesnt_affect_save",!!t)},endUndoMacro:this._undoHistory.endUndoMacro.bind(this._undoHistory),emitEvent:this.emitEvent.bind(this)})}undoHistory(){return this._undoHistory}setWatchedValue(e,t,i){this._undoHistory.setWatchedValue(e,t,i)}lineToolsGroupController(){return this._lineToolsGroupController}mergeAllScales(e){!function(e,t){e.beginUndoMacro("left"===t?m:g),e.model().panes().forEach(i=>{const s="left"===t?i.rightPriceScales():i.leftPriceScales(),r=("left"===t?i.leftPriceScales():i.rightPriceScales()).concat(s),n="overlay"===i.priceScalePosition(i.defaultPriceScale())?r[0]:i.defaultPriceScale();e.movePriceScale(i,n,t,0),r.forEach(t=>{if(t===n)return;let s=t.mainSource();for(;null!==s;){e.moveToScale(s,i,n,null,!0);const r=t.mainSource();if(r===s){f.logError("Loop detected while trying to merge scales");break}s=r}})}),e.endUndoMacro(),e.model().fullUpdate()}(this,e)}movePriceScale(e,t,i,s){const r=new y(this._model(),e,t,i,s,Bt);this._pushUndoCommand(r)}createLineTool(e,t,i,s,r,n,a){if(("LineToolRegressionTrend"===i||"LineToolAnchoredVWAP"===i)&&!this.canCreateStudy())return(0, +d.showTooManyStudiesNotice)(),null;const l=si.format({tool:new c.TranslatedString(i,k.lineToolsLocalizedNames[i])});this.beginUndoMacro(l,this._lineToolsDoNotAffectChartInvalidation.value());const h=!a;this._createLineCommand=new D(this._model(),e,i,n||(0,o.ensureNotNull)(e.mainDataSource()),(0,Ie.drawOnAllCharts)().value());const u=this._createLineCommand.startCreatingLine(t,s,r||null),p=(0,o.ensureNotNull)(this._createLineCommand.line());let _=null;if(u&&(h&&this.finishLineTool(p),this._pushUndoCommand(this._createLineCommand),this._createLineCommand=null,_={points:p.normalizedPoints(),interval:this.mainSeries().interval()}),h&&void 0===r&&(0,Ie.drawOnAllCharts)().value()&&p.isSynchronizable()){const e=(0,o.ensureNotNull)(this.model().externalTimeStamp(t.index)),s={point:{price:t.price,timeStamp:e},linetool:i,properties:p.properties(),symbol:this.mainSeries().symbol(),model:this.model(),linkKey:(0,o.ensureNotNull)(p.linkKey().value()),finalState:_};p.isFixed()&&(s.pointPositionPercents=p.calcPositionPercents()[0]),(0,Ie.createLineTool)(s)}return this.endUndoMacro(),p}continueCreatingLine(e,t,i,s){const r=(0,o.ensureNotNull)(this._createLineCommand);this.beginUndoMacro(r.text(),this._lineToolsDoNotAffectChartInvalidation.value());const n=(0,o.ensureNotNull)(this._model().lineBeingCreated()),a=r.continueCreatingLine(e,t,i,s);let l=null;if(a&&(this.finishLineTool(n),this._pushUndoCommand(r),this._createLineCommand=null,l={points:n.normalizedPoints(),interval:this.mainSeries().interval()}),r.drawOnAllCharts()&&n.isSynchronizable()){const i=(0,o.ensureNotNull)(this._model().externalTimeStamp(e.index));(0,Ie.continueLineTool)({point:{price:e.price,timeStamp:i},envState:t,finalState:l,model:this._model()})}return this.endUndoMacro(),a}continueExternalLine(e,t,i){const s=(0,o.ensureNotNull)(this._createLineCommand),r=s.continueCreatingLine(e,t,i);return r&&(this._pushUndoCommand(s),this._createLineCommand=null),r}finishLineTool(e){this._model().finishLineTool(e)}pasteImageAsLineTool(e,t,i){return null}loadRange(e){this._pushUndoCommand(new ge(this._model(),e))}unlinkLines(e){const t=this.model();this.beginUndoMacro(Nt,this._lineToolsDoNotAffectChartInvalidation.value());for(const i of e)null!==i.linkKey().value()&&(0,Ie.removeLineTool)({withUndo:!0,model:this.model(),symbol:i.symbol(),linkKey:(0,o.ensureNotNull)(i.linkKey().value()),sourceTitle:di(i),lineToolState:i.state(!1),unlink:!0}),this._pushUndoCommand(new yt(t,i));this.endUndoMacro()}zoomFromViewport(){const e=new vt((0,o.ensureDefined)(this._zoomStack.head()),this._zoomStack,!1);this._pushUndoCommand(e)}zoomToViewport(e,t,i,s,r){const n=new mt(this.m_model,e,t,i,s,r),o=new vt(n,this._zoomStack,!0);this._pushUndoCommand(o)}zoomStack(){return this._zoomStack}hoveredSource(){return this.m_model.hoveredSource()}setProperty(e,t,i,s){if(e&&e.value()!==t){const r=new Te(e,t,i,this.m_model,s);this._pushUndoCommand(r),this.emitEvent("setProperty")}}withMacro(e,t,i){const s=this.beginUndoMacro(e,i);try{t()}finally{this.endUndoMacro()}return s}barsMarksSources(){ +return this.m_model.barsMarksSources()}barMarksSourceForId(e){return this.m_model.barMarksSourceForId(e)}removeAllDrawingTools(){this.beginUndoMacro(li,!0),this._removeAllDrawingToolsImpl(),this.endUndoMacro()}removeAllStudiesAndDrawingTools(){this.beginUndoMacro(ci),this._removeAllDrawingToolsImpl(),this._removeAllStudiesImpl(),this.endUndoMacro()}removeAllStudies(){this.beginUndoMacro(ai),this._removeAllStudiesImpl(),this.endUndoMacro()}canZoomIn(){return this.model().canZoomIn()}canZoomOut(){return this.model().canZoomOut()}zoomOut(){const e=this.timeScale().width();if(this.canZoomOut()){try{this.beginUndoMacro(Rt)}catch(e){return}(0,fe.doAnimate)({to:e/5,onStep:e=>{this.startScaleTime(0),this.scaleTimeTo(e),this.endScaleTime()},onComplete:()=>this.endUndoMacro()})}}zoomIn(){const e=this.timeScale().width();if(this.canZoomIn()){try{this.beginUndoMacro(Ot)}catch(e){return}(0,fe.doAnimate)({to:e/5,onStep:e=>{this.startScaleTime(e),this.scaleTimeTo(0),this.endScaleTime()},onComplete:()=>this.endUndoMacro()})}}startMovingSources(e,t,i,s){e.filter(e=>e.doesMovingAffectsUndo()).length&&(this._currentSourceMoveCommand=new I(this.model(),e,Ft,!1),e.every(b.isLineTool)&&this._currentSourceMoveCommand.setCustomFlag("doesnt_affect_save",this._lineToolsDoNotAffectChartInvalidation.value())),this.model().startMovingSources(e,t,i,new Map,s)}moveSources(e,t){this.model().moveSources(e,new Map,t)}endMovingSource(e,t){this.model().endMovingSources(e,void 0,t),null!==this._currentSourceMoveCommand&&(this._currentSourceMoveCommand.saveNewState(),this._pushUndoCommand(this._currentSourceMoveCommand)),this._currentSourceMoveCommand=null}startChangingLinetool(e,t,i,s,r){this._currentLineChangeCommand=new I(this.model(),[e],ri.format({pointIndex:i}),!1),this._currentLineChangeCommand.setCustomFlag("doesnt_affect_save",this._lineToolsDoNotAffectChartInvalidation.value()),this.model().startChangingLinetool(e,t,i,s,r)}changeLinePoint(e,t){this.model().changeLinePoint(e,t)}endChangingLinetool(e){this.model().endChangingLinetool(e),null!==this._currentLineChangeCommand&&(this._currentLineChangeCommand.saveNewState(),this._pushUndoCommand(this._currentLineChangeCommand)),this._currentLineChangeCommand=null}setChartStyleProperty(e,t,i){if(e.value()!==t){const s=new ue(e,t,this.mainSeries(),i,this.model(),this.chartWidget());this._pushUndoCommand(s),this.emitEvent("setChartStyleProperty"),(0,ae.trackChartStyleChanged)(e.value())}}restorePropertiesForSource(e){(0,b.isLineTool)(e)?this._restoreLineToolFactoryDefaults(e):this._restoreStudyFactoryDefaults(e)}restoreState(e,t,i){return this.m_model.restoreState(e,t,i)}async clipboardCopy(e,t=this.selection().dataSources()){if(!(0,pt.enabled)("datasource_copypaste"))return;const i=t.filter(e=>e.copiable());if(0===i.length)return;for(const e of i)if((0,x.isStudy)(e)&&e.isChildStudy())throw new Error("Can not copy child study");const s=(0,V.clipboardDataForSources)(this._model().id(),i);return null!==s?e.write({app:JSON.stringify(s),text:s.title}):void 0} +async clipboardCut(e,t=this.selection().dataSources()){if(!(0,pt.enabled)("datasource_copypaste"))return;const i=t.filter(e=>e.copiable());if(0===i.length)return;await this.clipboardCopy(e,i);const s=i.filter(e=>e.isUserDeletable());if(0===s.length)return;const r=(1===s.length?kt:Et).format({title:di(s[0])});this.beginUndoMacro(r),this.m_model.selectionMacro(()=>{this.removeSources(s,!1,r)}),this.endUndoMacro()}async clipboardPaste(e,t){let i=null;if((0,pt.enabled)("datasource_copypaste")&&(i=i||await e.read(),i.app)){const e=JSON.parse(i.app);if(null!==this.pasteSourceFromClip(t,e))return}await this._processSpecialLineToolsContents(e,i,t)}applyStudyTemplate(e,t){const i=new He(this._model(),e,t);this._pushUndoCommand(i)}startCustomMoving(e,t,i){this._currentCustomMoveCommand=new ot(this.model(),e,t,i)}customMoveBeingProcessed(){return null!==this._currentCustomMoveCommand}processCustomMove(e){(0,o.ensureNotNull)(this._currentCustomMoveCommand).move(e)}endCustomMoving(){null!==this._currentCustomMoveCommand&&this._currentCustomMoveCommand.hasChanges()&&(this._pushUndoCommand(this._currentCustomMoveCommand),this._currentCustomMoveCommand=null)}cloneLineTools(e,t){for(let t=0;t(0,o.ensureNotNull)(this.model().dataSourceForId(e)));this.copyToOtherCharts(e)}return this.endUndoMacro(),this.emitEvent("cloneLineTools"),i.newIds()}removeSource(e,t,i){this.lineBeingCreated()!==e?this.removeSources([e],t,Dt.format({title:di(e)}),i):this.cancelCreatingLine()}removeSelectedSources(){const e=this._model().selection().dataSources();if(!e.length)return;const t=(e.length>1?Vt:Dt).format({title:di(e[0])});this.removeSources(e,!1,t)}removeSources(e,t,i,s){s||(e=e.filter(e=>e.isUserDeletable()));const r=this._model(),n=r.lineToolsGroupModel(),a=e.every(b.isLineTool)&&this._lineToolsDoNotAffectChartInvalidation.value();this.beginUndoMacro(i,a),r.selectionMacro(s=>{const a=new Map;e.forEach(e=>{if((0,b.isLineTool)(e)){const t=n.groupForLineTool(e);if(null!==t){const i=a.get(t)||[];i.push(e),a.set(t,i)}null!==e.linkKey().value()&&(0,Ie.removeLineTool)({withUndo:!0,model:this.model(),linkKey:(0,o.ensureNotNull)(e.linkKey().value()),symbol:this.model().mainSeries().symbol(),lineToolState:e.state(!1),sourceTitle:di(e)})}}),a.forEach((e,t)=>{const i=new C.ExcludeLineToolsFromGroupUndoCommand(r,t,e);this._pushUndoCommand(i)});const l=new P.RemoveSourcesCommand(r,e,i),c=l.removedIds();this._pushUndoCommand(l),!t&&c.length>0&&(1===c.length?this.emitEvent("removeSource",[c[0]]):this.emitEvent("removeSources",[c]))}),this.endUndoMacro()}removeUnloadedLineTool({lineToolsSynchronizer:e,sourceTitle:t,linkKey:i,symbol:s,state:r,withUndo:n,unlink:o}){}async scrollToLineTool(e){const t=this.timeScale().logicalRange();if(null===t)return;const i=this.timeScale().barSpacing();let s=t.left() +;const r=e.points().map(e=>e.index);let n=this.timeScale().points().firstIndex();const a=this.timeScale().points().lastIndex();if(null===n||null===a)return;const l=t.length()/2;if(0===r.length||r.some(e=>t.contains(e)))return;const c=()=>{const t=e.points().map(e=>e.index),i=t.filter(e=>e<=a).reduce((e,t)=>null===e?t:Math.max(e,t),null);return null!==i?i:t.reduce((e,t)=>Math.min(e,t))};let d,u=c();if(n-l>u){const t=e.points().map(e=>e.time).filter(T.notUndefined).map(e=>e.valueOf()/1e3);if(0===t.length)return;const i=t.reduce((e,t)=>Math.min(e,t),t[0]);await this.model().gotoTime(i),u=c();s=(0,o.ensureNotNull)(this.timeScale().logicalRange()).left(),n=(0,o.ensureNotNull)(this.timeScale().points().firstIndex())}n-l>u?(d=(s-n+l)*i,this.mainSeries().setGotoDateResult({timestamp:(0,o.ensureNotNull)(this.timeScale().points().valueAt(n)),eod:!0})):d=(s-u+1+l)*i,this.startScrollTime(0),(0,fe.doAnimate)({onStep:(e,t)=>this.scrollTimeTo(t),from:0,to:Math.round(d),easing:h.easingFunc.easeInOutCubic,duration:h.dur,onComplete:()=>this.endScrollTime()})}mergeSourceUp(e){const t=new L.MergeUpUndoCommand(this._model(),e,jt);this._mergeUnmergeSource(e,t)}mergeSourceDown(e){const t=new L.MergeDownUndoCommand(this._model(),e,Gt);this._mergeUnmergeSource(e,t)}mergeToPane(e,t){const i=this._model().panes().indexOf(t),s=new L.MergeToTargetPane(this._model(),e,i,qt);this._mergeUnmergeSource(e,s)}unmergeSourceUp(e){const t=new M.UnmergeUpUndoCommand(this._model(),e,Yt);this._mergeUnmergeSource(e,t)}unmergeSourceDown(e){const t=new M.UnmergeDownUndoCommand(this._model(),e,$t);this._mergeUnmergeSource(e,t)}unmergeToNewBottomPane(e){const t=new M.UnmergeToNewBottomPane(this._model(),e,Kt);this._mergeUnmergeSource(e,t)}availableZOrderOperations(e){const t=this._model().lineToolsGroupModel(),i=e.filter(b.isLineTool),s=i.map(e=>t.groupForLineTool(e));(0,o.assert)(new Set(s).size<=1,"Cannot move line tools from different group");const r=0===s.length?null:s[0];let n={bringForwardEnabled:!1,bringToFrontEnabled:!1,sendBackwardEnabled:!1,sendToBackEnabled:!1};const a=new Set(i);for(const t of(0,A.sortSources)(e)){if((0,b.isLineTool)(t)&&null!==r){const e=(0,A.sortSources)(r.lineTools().filter(e=>!a.has(e)||e===t));n=hi(n,{bringForwardEnabled:t!==e[e.length-1],bringToFrontEnabled:t!==e[e.length-1],sendBackwardEnabled:t!==e[0],sendToBackEnabled:t!==e[0]});continue}const e=(0,o.ensureNotNull)(this._model().paneForSource(t)).sourcesByGroup().allExceptSpecialSources();if(0===e.length)continue;const i=t.zorder(),s=e[0].zorder(),l=e[e.length-1].zorder();n=hi(n,{bringForwardEnabled:i!==l,bringToFrontEnabled:i!==l,sendBackwardEnabled:i!==s,sendToBackEnabled:i!==s})}return n}sendToBack(e){if(!this.availableZOrderOperations(e).sendToBackEnabled)throw new Error("Send to back operation is unavailable");let t=null;const i=e[0];if((0,b.isLineTool)(i)){const s=this._model().lineToolsGroupModel().groupForLineTool(i);if(null!==s){const i=s.lineTools();t=new X(this.model(),(0,A.sortSources)(e),i[0])}}null===t&&(t=new q(this.model(),(0,A.sortSources)(e))), +this._pushUndoCommand(t),this.emitEvent("changeZOrder",[e])}bringToFront(e){if(!this.availableZOrderOperations(e).bringToFrontEnabled)throw new Error("Bring to front operation is unavailable");let t=null;const i=e[0];if((0,b.isLineTool)(i)){const s=this._model().lineToolsGroupModel().groupForLineTool(i);if(null!==s){const i=s.lineTools();t=new $(this.model(),(0,A.sortSources)(e),i[i.length-1])}}null===t&&(t=new G(this.model(),(0,A.sortSources)(e))),this._pushUndoCommand(t),this.emitEvent("changeZOrder",[e])}sendBackward(e){if(!this.availableZOrderOperations(e).sendBackwardEnabled)throw new Error("Send backward operation is unavailable");const t=It.format({title:di(e[0])});this._sendBackOrBringForward(t,(0,A.sortSources)(e),(e,t)=>new J(this.model(),e,t))}bringForward(e){if(!this.availableZOrderOperations(e).bringForwardEnabled)throw new Error("Bring forward operation is unavailable");const t=Mt.format({title:di(e[0])});this._sendBackOrBringForward(t,(0,A.sortSources)(e),(e,t)=>new ee(this.model(),e,t))}insertAfter(e,t){e=(0,A.sortSources)(e);const i=Lt.format({title:di(e[0]),target:di(t)});this._insertAfterOrBefore(i,e,t,()=>new $(this.model(),e,t))}insertBefore(e,t){e=(0,A.sortSources)(e);const i=At.format({title:di(e[0]),target:di(t)});this._insertAfterOrBefore(i,e,t,()=>new X(this.model(),e,t))}detachToRight(e,t){(0,Je.trackEvent)("Chart","Move to new right scale");const i=Xt.format({title:di(e)}),s=new Ke.MoveToNewPriceScaleUndoCommand(this.model(),e,t,"right",i);this._pushUndoCommand(s),this.emitEvent("moveSource",[e])}detachToLeft(e,t){(0,Je.trackEvent)("Chart","Move to new left scale");const i=Zt.format({title:di(e)}),s=new Ke.MoveToNewPriceScaleUndoCommand(this.model(),e,t,"left",i);this._pushUndoCommand(s),this.emitEvent("moveSource",[e])}detachNoScale(e,t){(0,Je.trackEvent)("Chart","Make source no scale");const i=Jt.format({title:di(e)}),s=new Ke.MoveToNewPriceScaleUndoCommand(this.model(),e,t,"overlay",i);this._pushUndoCommand(s),this.emitEvent("moveSource",[e])}moveToScale(e,t,i,s,r){(0,Je.trackEvent)("Chart","Move source to target scale"),this.beginUndoMacro(s);const n=new Ke.MoveToExistingPriceScaleUndoCommand(this.model(),e,t,i,s),o=r?null:(0,Qe.sourceNewCurrencyOnPinningToPriceScale)(e,i,this._model()),a=r?null:(0,dt.sourceNewUnitOnPinningToPriceScale)(e,i,this._model());this._pushUndoCommand(n),null!==o&&this.setPriceScaleCurrency(i,o),null!==a&&this.setPriceScaleUnit(i,a),this.endUndoMacro(),this.emitEvent("moveSource",[e])}startScrollTime(e){const t=this.timeScale();this._initialTimeScrollState={rightOffset:t.rightOffset(),barSpacing:t.barSpacing()},this._initialTimeScrollPos=e,this.model().startScrollTime(e)}scrollTimeTo(e){let t=!1;return null!==this._initialTimeScrollPos&&null!==this._initialTimeScrollState&&Math.abs(e-this._initialTimeScrollPos)>20&&(this._pushUndoCommand(new oe.TimeScaleChangeUndoCommand(this.model(),this._initialTimeScrollState,Qt)),this._initialTimeScrollPos=null,this._initialTimeScrollState=null,t=!0),this.model().scrollTimeTo(e),t}endScrollTime(){ +this.model().endScrollTime(),this._initialTimeScrollPos=null,this._initialTimeScrollState=null}startScaleTime(e){const t=this.timeScale(),i={rightOffset:t.rightOffset(),barSpacing:t.barSpacing()};this._pushUndoCommand(new oe.TimeScaleChangeUndoCommand(this.model(),i,ei)),this.model().startScaleTime(e)}scaleTimeTo(e){this.model().scaleTimeTo(e)}endScaleTime(){this.model().endScaleTime()}resetTimeScale(){const e=this.timeScale(),t={rightOffset:e.rightOffset(),barSpacing:e.barSpacing()};this._pushUndoCommand(new oe.TimeScaleChangeUndoCommand(this.model(),t,ti)),this.model().resetTimeScale()}startScalePrice(e,t,i,s){this._scalePriceInfo={priceScaleState:t.state(),tryMergeConsecutiveScales:s},this.model().startScalePrice(e,t,i)}scalePriceTo(e,t,i){this.model().scalePriceTo(e,t,i)}endScalePrice(e,t){this.model().endScalePrice(e,t);const i=(0,o.ensureNotNull)(this._scalePriceInfo);(0,n.default)(i.priceScaleState,t.state())||this._pushUndoCommand(new ut.PriceScaleChangeUndoCommand(this.model(),e,t,i.priceScaleState,i.tryMergeConsecutiveScales)),this._scalePriceInfo=null}startTwoPointsScalePrice(e,t,i,s,r){this._scalePriceInfo={priceScaleState:t.state(),tryMergeConsecutiveScales:r},this.model().startTwoPointsScalePrice(e,t,i,s)}twoPointsScalePriceTo(e,t,i,s){this.model().twoPointsScalePriceTo(e,t,i,s)}endTwoPointsScalePrice(e,t){this.model().endTwoPointsScalePrice(e,t);const i=(0,o.ensureNotNull)(this._scalePriceInfo);(0,n.default)(i.priceScaleState,t.state())||this._pushUndoCommand(new ut.PriceScaleChangeUndoCommand(this.model(),e,t,i.priceScaleState,i.tryMergeConsecutiveScales)),this._scalePriceInfo=null}resetPriceScale(e,t){const i=t.state();this.model().resetPriceScale(e,t),(0,n.default)(i,t.state())||this._pushUndoCommand(new ut.PriceScaleChangeUndoCommand(this.m_model,e,t,i))}rearrangePanes(e,t){const i=new ne(this._model(),e,t);this._pushUndoCommand(i)}movePane(e,t){const i=new ne(this._model(),e,t);this._pushUndoCommand(i)}pasteSourceFromClip(e,t,i){const s=t;if(!s||0===s.sources.length)return null;const r=e||(0,o.ensureNotNull)(this.model().paneForSource(this.mainSeries()));if(!s.sources.some(e=>"drawing"!==e.type||null!==r.clipboardLineToolOwnerSource(e.source.id)))return null;this.beginUndoMacro(ni.format({title:s.title}));let n=0;const a=[],l=[];for(const t of s.sources)if("drawing"===t.type&&null!==r.clipboardLineToolOwnerSource(t.source.id)){const e=this.pasteLineTool(r,t);n<5&&((0,ae.trackDrawingPasted)(e),n+=1),l.push(e),a.push(e)}else"study"===t.type&&t.source&&t.source.metaInfo&&this.checkIfFeatureAvailable(new(p())(t.source.metaInfo))&&a.push(this.pasteStudy(t,i?e:void 0));return l.length&&this.selectionMacro(e=>{e.clearSelection(),l.forEach(t=>{e.addSourceToSelection(t,null)})}),this.endUndoMacro(),a}pasteLineTool(e,t,i,s){t.source.state.intervalsVisibilities=(0,xt.mergeIntervalVisibilitiesDefaults)(t.source.state.intervalsVisibilities),(0,xt.makeIntervalsVisibilitiesVisibleAtInterval)(t.source.state.intervalsVisibilities,_e.Interval.parse(this.model().mainSeries().interval())) +;const r=new qe(this.model(),t,e,i,s);this._pushUndoCommand(r);const n=r.source();return r.needCopyToOtherCharts()&&this.copyToOtherCharts([n]),this.selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection(n,null)}),n}pasteStudy(e,t){const i=new it(this.model(),e,null==t?void 0:t.id());this._pushUndoCommand(i);const s=(0,o.ensureNotNull)(i.state()).id;return(0,o.ensureNotNull)(this._model().dataSourceForId(s))}setPriceScaleCurrency(e,t){const i=new Ye.SetPriceScaleCurrencyUndoCommand(e,t,this.chartWidget(),Ht);this._pushUndoCommand(i)}setPriceScaleUnit(e,t){const i=new $e.SetPriceScaleUnitUndoCommand(e,t,this.chartWidget(),zt);this._pushUndoCommand(i)}setSymbol(e,t){e.symbol()!==t&&this._pushUndoCommand(new Ze(e,t,this.chartWidget()))}copyToOtherCharts(e){const t=this.mainSeries(),i=t.syncModel(),s=this.timeScale();if(i)for(const r of e){if(!r.isSynchronizable())continue;const e=r.linkKey().value()||(0,ze.randomHash)();r.linkKey().setValue(e);const n=r.state(!1),a=r.normalizedPoints(),l=r.properties().interval.value(),c=t.interval();let h;if(_e.Interval.isEqual(l,c))h=a.map(e=>{const t=(0,o.ensureNotNull)(s.timePointToIndex(e.time_t))+e.offset;return{price:e.price,timeStamp:(0,o.ensureNotNull)(this.model().externalTimeStamp(t))}});else{const e=i.createNewModelWithResolution(l);h=a.map(t=>({price:t.price,timeStamp:0===t.offset?t.time_t:e.projectTime(t.time_t,t.offset)}))}const d={...n,linkKey:e,points:h,linetool:r.toolname,model:this.model(),symbol:t.symbol(),finalState:{points:a,interval:l}};r.isFixed()&&(d.pointPositionPercents=r.calcPositionPercents()),(0,Ie.copyLineTool)(d)}}addPaneStretchFactorUndoCommand(e,t,i,s){const r=new st(this.model(),e,t,i,s);this._pushUndoCommand(r)}paneForSource(e){return this.m_model.paneForSource(e)}destroy(){this._lineToolsDoNotAffectChartInvalidation.destroy(),this.m_model.destroy()}moveSelectedToolsLeft(){return this._moveSelectedTools(2)}moveSelectedToolsUp(){return this._moveSelectedTools(0)}moveSelectedToolsRight(){return this._moveSelectedTools(3)}moveSelectedToolsDown(){return this._moveSelectedTools(1)}insertStudyWithoutCheck(e,t){return this._insertStudy(e,t,{},!1,void 0,void 0,void 0,void 0,void 0,null,void 0)}saveLineToolState(e,t){this._pushUndoCommand(new I(this.m_model,[e],t))}resetScales(){this.beginUndoMacro(ii),this.resetTimeScale();for(const e of this.m_model.panes()){for(const t of e.leftPriceScales())this.resetPriceScale(e,t);for(const t of e.rightPriceScales())this.resetPriceScale(e,t)}this.endUndoMacro(),this.m_model.recalculateAllPanes()}_mergeUnmergeSource(e,t){this.beginUndoMacro(t.text());const i=(0,o.ensureNotNull)(this._model().paneForSource(e)),s=new Set(i.sourcesByGroup().lineSources().filter(t=>t.ownerSource()===e));this._model().lineToolsGroupModel().groups().filter(e=>{const t=e.lineTools().some(e=>s.has(e)),i=e.lineTools().some(e=>!s.has(e));return t&&i}).forEach(e=>{this._pushUndoCommand(new C.ExcludeLineToolsFromGroupUndoCommand(this._model(),e,e.lineTools()))}),this._pushUndoCommand(t),this.endUndoMacro()}_insertStudy(e,t,i,s,r,n,a,l,c,h,d){ +const u=oi.format({title:e.description});this.beginUndoMacro(u);const p=new at(this.model(),e,t,i,s,r,n,a,l,c,h||null,u);this._pushUndoCommand(p);const _=p.insertedStudy();if(void 0!==d){const e=new lt.SetPriceScaleModeCommand(d,(0,o.ensureNotNull)(_.priceScale()),null,this.model());this._pushUndoCommand(e)}return this.endUndoMacro(),_}async _processSpecialLineToolsContents(e,t,i){0}_insertAfterOrBefore(e,t,i,s){const r=(0,o.ensureNotNull)(this._model().paneForSource(i));if(t.some(e=>(0,b.isLineTool)(e)&&this._model().paneForSource(e)!==r))throw new Error("Cannot insert line tool after target on another pane");this.beginUndoMacro(e),t.forEach(e=>{(0,o.ensureNotNull)(this.model().paneForSource(e))!==r&&this.mergeToPane(e,r)});const n=s();this._pushUndoCommand(n),this.emitEvent("changeZOrder",[t]),this.endUndoMacro()}_sendBackOrBringForward(e,t,i){const s=new Map;t.forEach(e=>{const t=(0,o.ensureNotNull)(this._model().paneForSource(e)),i=s.get(t)||[];i.push(e),s.set(t,i)}),this.beginUndoMacro(e),s.forEach((e,t)=>{this._pushUndoCommand(i(t,e))}),this.endUndoMacro(),this.emitEvent("changeZOrder",[t])}_moveSelectedTools(e){const t=this.model().selection().lineDataSources();if(0===t.length)return!1;if((0,Ie.lockDrawings)().value())return!0;const i=this.timeScale().visibleBarsStrictRange();if(null===i)return!1;const s=function(e){const t=new Map;for(const i of e){const e=i.ownerSource();if(null===e)continue;let s=t.get(e);if(void 0===s){const r=e.priceScale(),n=e.priceStep(),o=e.firstValue();if(null===r||null===n||null===o)continue;if(null===r.priceRange())continue;s={sources:[],priceScale:r,priceStep:n,startPrice:i.points()[0].price,firstValue:o},t.set(e,s)}s.sources.push(i)}return t}(t);if(0===s.size)return!1;this.beginUndoMacro(Ft,this._lineToolsDoNotAffectChartInvalidation.value());const r=i.firstBar(),n=this.timeScale().indexToCoordinate(r),o=r+(3===e?1:2===e?-1:0),l=this.timeScale().indexToCoordinate(o);return Ie.isDirectionalMovementActive.setValue(!0),s.forEach(t=>{const{startPrice:i,priceStep:s,priceScale:c,firstValue:h}=t,d=i+(0===e?s:1===e?-s:0),u=c.priceToCoordinate(i,h),p=c.priceToCoordinate(d,h),_={logical:{index:r,price:i},screen:new a.Point(n,u)},m={logical:{index:o,price:d},screen:new a.Point(l,p)};this.startMovingSources(t.sources,_,null),this.moveSources(m),this.endMovingSource(!1,!0)}),Ie.isDirectionalMovementActive.setValue(!1),this.endUndoMacro(),!0}_restoreStudyFactoryDefaults(e){const t=new Tt(this.m_model,e.properties());this._pushUndoCommand(t)}_restoreLineToolFactoryDefaults(e){this.beginUndoMacro(Wt,this._lineToolsDoNotAffectChartInvalidation.value()),this.saveLineToolState(e,Wt);const t=new Ct(this.m_model,e.properties(),Wt);this._pushUndoCommand(t),this.saveLineToolState(e,Wt),this.endUndoMacro(),this.model().updateSource(e)}_removeAllDrawingToolsImpl(e){this.selectionMacro(()=>{this.lineBeingCreated()&&this.cancelCreatingLine();this.dataSources().filter(b.isLineTool).filter(e=>e.isActualSymbol()&&e.isUserDeletable()).filter(t=>!e||e===t.toolname).forEach(e=>this.removeSource(e,!1))})} +_removeAllStudiesImpl(){const e=this.dataSources(),t=e.filter(x.isStudy).filter(e=>!e.isChildStudy()&&e.removeByRemoveAllStudies()),i=e.filter(x.isStudyStub);t.concat(i).forEach(e=>this.removeSource(e,!1))}}},16389:(e,t,i)=>{"use strict";var s=i(5729),r=i(16282).ensureNotNull,n=i(64222),o=i(31707).ChartModelBase,a=i(67945),l=a.isLineTool,c=a.isStudyLineTool,h=i(75066).Watermark,d=i(43367).CheckMobile,u=i(47329).InvalidationMask,p=i(47329).InvalidationLevel,_=i(39951),m=_.Study,g=i(58891).NonSeriesStudy,f=i(17e3),v=f.createStudy,S=f.isStudy,y=f.isFundamentalStudy,b=_.prepareStudyProperties,w=i(15521),P=i(11092).saveDefaultProperties,C=i(71090).TimeSynchronizer,T=i(65447).getLogger("Chart.ChartModel"),x=i(27089).MainSeriesScaleRatioProperty,I=i(2397).scaleRatio,M=i(62311).StudyInserter,L=i(23930).dateFormatProperty,A=i(58007).isSymbolSource,k=i(32158).sourceNewCurrencyOnPinningToPriceScale,E=i(42010).sourceNewUnitOnPinningToPriceScale,D=i(18437),V=i(20984).StudyColorRotatorFactory,B=i(27490),N=i(63103).AppliedTimeFrame,R=B.enabled("auto_enable_symbol_labels");B.enabled("fix_left_edge");class O extends o{constructor(e,t,i,r,n,o,a,l,c,d){super(e,t,i,r,n,o,a,l,c,d);var u=this,p=this.m_mainSeries.properties(),_=this._panes[0];_.setStretchFactor(2*_.stretchFactor()),this._properties.listeners().subscribe(this,O.prototype.propertyChangeHandler),this._properties.timezone.listeners().subscribe(null,(function(){u._chartApi&&u._chartApi.isConnected().value()&&u._chartApi.switchTimezone(u.timezone())})),_.addDataSource(this.m_mainSeries,this._panes[0].findSuitableScale(this.m_mainSeries)),this._mainSeriesScaleRatioProperty=new x(this),this.m_mainSeries.dataEvents().completed().subscribe(this,function(){this._scrollingState&&this.gotoTime()}.bind(this)),this.m_mainSeries.onIntervalChanged().subscribe(this,(function(){this._recalcVRStudiesParams.oldStartVisibleIndex=NaN,this._recalcVRStudiesParams.oldEndVisibleIndex=NaN})),this._readOnly||(p.addChild("priceAxisProperties",this.m_mainSeries.m_priceScale.properties()),this._properties.paneProperties.legendProperties.showStudyTitles.listeners().subscribe(this,(function(e){e.value()||u._properties.paneProperties.legendProperties.showStudyArguments.setValue(!1)}))),this._barsMarksSources=a(this);for(var m=0;m0),n?{left:0,right:1,totallySlots:i}:{left:1,right:0,totallySlots:i}}return{left:e,right:t,totallySlots:e+t}}startScrollPrice(e,t,i){ +e.startScrollPrice(t,i)}scrollPriceTo(e,t,i){e.scrollPriceTo(t,i),this.invalidate(this._paneInvalidationMask(e,p.Light))}endScrollPrice(e,t){e.endScrollPrice(t),this.invalidate(this._paneInvalidationMask(e,p.Light))}setPriceAutoScale(e,t,i){e.setPriceAutoScale(t,i),this.invalidate(this._paneInvalidationMask(e,p.Light))}updateScales(e,t){this._undoModel._chartWidget._updateScalesActions()}mainSeriesScaleRatioProperty(){return this._mainSeriesScaleRatioProperty}mainSeriesScaleRatioPropertyOnChanged(){this._mainSeriesScaleRatioProperty.listeners().fire(this._mainSeriesScaleRatioProperty)}mainSeriesScaleRatio(){return I(this._timeScale,this.m_mainSeries.priceScale())}setMainSeriesScaleRatio(e){this.paneForSource(this.m_mainSeries).applyPriceScaleRatio(this.m_mainSeries.priceScale(),e)}startScrollTime(e){this._timeScale.startScroll(e),this._isTimeScrolling=!0}scrollTimeTo(e){this._timeScale.scrollTo(e),this.recalculateAllPanes(),this.lightUpdate(),this._setScalesResetAvailable(!0)}endScrollTime(){this._timeScale.endScroll(),this.lightUpdate(),this.recalcVisibleRangeStudies(),this._isTimeScrolling=!1}recalcStudyBasedLineTools(){this.dataSources().forEach((function(e){c(e)&&e.recalcStudyIfNeeded&&e.recalcStudyIfNeeded()}))}restoreTimeScaleState(e){this._timeScale.restoreState(e),this.recalculateAllPanes(),this.lightUpdate(),this._setScalesResetAvailable(!0)}restoreFactoryDefaults(e){e.restoreFactoryDefaults(),this.recalcVisibleRangeStudies(!0)}orderedDataSources(e){var t=[];t.push(this.m_crossHairSource);for(var i=0;i0)for(a=this.dataSources(),l=0;lc;this._updateBaseIndex(r,t)}T.logDebug(h),this.recalculateAllPanes(),this.lightUpdate()}updateTimeScaleBaseIndex(e){var t=this.mainSeries().bars();t.isEmpty()||this._updateBaseIndex(r(t.lastIndex()),e&&e.index>0)}_updateBaseIndex(e,t){var i=this.timeScale(),s=i.baseIndex(),r=i.visibleBarsStrictRange(),n=i.logicalRange();if(null!==n&&t){var o=n.contains(s),a=e-s,l=o?null:i.rightOffset()-a;if(!this._options.shiftVisibleRangeOnNewBar&&o){var c=i.indexToCoordinate(s)+i.barSpacing()/2+1,h=s-n.left()+a,d=c/h;if(d>=i.minBarSpacing())i.setBarSpacing(d),l=i.width()/d-h;else r.lastBar()!==s&&(l=i.rightOffset()-a)}null!==l&&i.setRightOffset(l)}i.setBaseIndex(e)}recalculatePane(e){e&&e.recalculate()}recalculateAllPanes(){for(var e=0;e1}lineBeingEdited(){return this._lineBeingEdited}linePointBeingEdited(){return this._linePointBeingEdited}calculateDefaultTags(){for(var e=[],t=this.dataSources(),i=0;i-1&&this._modelIntervals.splice(t,1)}clearIntervals(){for(var e=0;e{"use strict";var s=i(73395).makeFont,r=i(73395).parseFont,n=(0,i(65447).getLogger)("Model.ChartTradingUtils"),o={_fontHeightCache:{},_parsedColorCache:{},_parseColor:function(e){if(this._parsedColorCache[e])return this._parsedColorCache[e];var t=document.createElement("div");t.style.color=e;var i=t.style.color.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i)||t.style.color.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d*\.?\d+)\s*\)$/i),s={r:i[1],g:i[2],b:i[3],a:i[4]||"1"};return this._parsedColorCache[e]=s,s},getColorFromProperties:function(e,t){var i=1-t.value()/100,s=this._parseColor(e.value());return"rgba("+s.r+","+s.g+","+s.b+","+i+")"},setColorToProperties:function(e,t,i){var s=this._parseColor(e);t.setValue("rgb("+s.r+","+s.g+","+s.b+")");var r=100*(1-s.a);i.setValue(Math.max(0,Math.min(r,100)))},getFontFromProperties:function(e,t,i,r){return s(t.value(),e.value(),r.value()?"italic":"",i.value()?"bold":"")},setFontToProperties:function(e,t,i,s,o){var a=r(e);null!==a?(a.family.length>0&&t.setValue(a.family),i.setValue(a.size),s.setValue(a.bold),o.setValue(a.italic)):n.logError("Invalid font: "+e)},fontHeight:function(e){if(!this._fontHeightCache[e]){var t=document.createElement("span");t.appendChild(document.createTextNode("height")),document.body.appendChild(t),t.style.cssText="font: "+e+"; white-space: nowrap; display: inline;";var i=t.offsetHeight;document.body.removeChild(t),this._fontHeightCache[e]=Math.ceil(i)}return this._fontHeightCache[e]},drawPolyHoverOrPress:function(e,t,i,s){s?(e.save(),e.fillStyle="rgba(0, 0, 0, 0.15)",CanvasEx.drawPoly(e,t,!0),e.restore()):i&&(e.save(),e.fillStyle="rgba(0, 0, 0, 0.1)",CanvasEx.drawPoly(e,t,!0),e.restore())},repaint:function(e){e.lightUpdate()},roundToMinTick:function(e,t){var i=1/e.mainSource().base();return i*Math.round(t/i)}};e.exports=o},2073:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(99432).doAnimate,o=i(34854).ChartUndoModelBase,a=(i(11092).saveDefaultProperties,i(39951).Study),l=i(97102).showTooManyStudiesNotice,c=(i(5980).UndoCommand, +i(64934).ApplyLineToolTemplateUndoCommand),h=i(81241).SetResolutionUndoCommand,d=i(86277).SetPriceScaleSelectionStrategyCommand,u=i(7346).SetScaleRatioPropertiesCommand,p=i(62311).StudyInserter,_=i(87438).trackEvent,m=i(65447).getLogger("Chart.ChartUndoModel"),g=i(56456).RestoreDefaultsPreferencesUndoCommand,f=i(18174).SetPriceScaleModeCommand,v=i(36292).PriceScaleChangeUndoCommand,S=i(35001).Interval,y=i(65105).ChartLoadThemeUndoCommand,b=new r("move left",s("move left")),w=new r("move right",s("move right")),P=new r("toggle auto scale",s("toggle auto scale")),C=new r("toggle lock scale",s("toggle lock scale")),T=new r("toggle regular scale",s("toggle regular scale")),x=new r("toggle indexed to 100 scale",s("toggle indexed to 100 scale")),I=new r("toggle percentage scale",s("toggle percentage scale")),M=new r("toggle log scale",s("toggle log scale")),L=new r("invert scale",s("invert scale")),A=new r("remove pane",s("remove pane")),k=(new r("apply all chart properties",s("apply all chart properties")),new r("set price scale selection strategy to {title}",s("set price scale selection strategy to {title}")));s("Cheers");t.ChartUndoModel=class extends o{constructor(e,t,i,s,r,n,o,a,l,c,h){super(e,t,i,s,r,n,o,a,l,c,h),this.beginUndoMacro=(e,t)=>{var i=o.beginUndoMacro(e);return i.setCustomFlag("doesnt_affect_save",t),i},this.endUndoMacro=o.endUndoMacro.bind(o),this.createUndoCheckpoint=o.createUndoCheckpoint.bind(o),this.undoToCheckpoint=o.undoToCheckpoint.bind(o)}version(){return this.m_model.version()}onData(e){switch(e.method){case"timescale_update":var t=e.params;this.m_model.updateTimeScale(t.index,t.zoffset,t.changes,t.index_diff,t.baseIndex,t.marks,t.clear);break;case"timescale_completed":var i=e.params[0];this.m_model.timeScale().onTimeScaleCompleted(i)}}createPane(e){return this.m_model.createPane(e)}readOnly(){return this.m_model.readOnly()}restart(){this.m_model.restart()}disconnect(){this.m_model.disconnect()}studiesMetaData(){return this.m_model.studiesMetaData()}studyVersioning(){return this.m_model.studyVersioning()}chartModel(){return this._model()}_model(){return this.m_model}pushUndoCommand(e){this._pushUndoCommand(e)}_pushUndoCommand(e){this._undoHistory.pushUndoCommand(e)}startScrollPrice(e,t,i){t.isAutoScale()||(this._initialPriceScrollState=t.state(),this._initialPriceScrollPos=i,this.chartModel().startScrollPrice(e,t,i))}scrollPriceTo(e,t,i){t.isAutoScale()||(this._initialPriceScrollPos&&Math.abs(this._initialPriceScrollPos-i)>20&&(this.pushUndoCommand(new v(this.m_model,e,t,this._initialPriceScrollState)),delete this._initialPriceScrollState,delete this._initialPriceScrollPos),this.chartModel().scrollPriceTo(e,t,i))}endScrollPrice(e,t){t.isAutoScale()||(delete this._initialPriceScrollState,delete this._initialPriceScrollPos,this.chartModel().endScrollPrice(e,t))}setPriceAutoScale(e,t,i){this.pushUndoCommand(new v(this.m_model,e,t,t.state())),this.chartModel().setPriceAutoScale(e,t,i)}setWidth(e){this.m_model.setWidth(e)}setPaneHeight(e,t){this.m_model.setPaneHeight(e,t)}gridSource(){ +return this.m_model.gridSource()}watermarkSource(){return this.m_model.watermarkSource()}addAlertsSource(e){return this.m_model.addAlertsSource(e)}alertsSources(){return this.m_model.alertsSources()}publishedChartsTimelineSource(){return this.m_model.publishedChartsTimelineSource()}crossHairSource(){return this.m_model.crossHairSource()}model(){return this.m_model}chartWidget(){return this._chartWidget}mainSeries(){return this.m_model.m_mainSeries}mainSeriesScaleRatioProperty(){return this.m_model.mainSeriesScaleRatioProperty()}panes(){return this.m_model.panes()}timeScale(){return this.m_model.timeScale()}selectionMacro(e){return this.m_model.selectionMacro(e)}setHoveredSource(e,t){this.m_model.setHoveredSource(e,t)}selection(){return this.m_model.selection()}onSelectedSourceChanged(){return this.m_model.onSelectedSourceChanged()}activeStrategySource(){return this.m_model.activeStrategySource()}invalidate(e){this.m_model.invalidate(e)}setCurrentPosition(e,t,i,s){this.m_model.setCurrentPosition(e,t,i,s)}setAndSaveCurrentPosition(e,t,i,s){this.m_model.setAndSaveCurrentPosition(e,t,i,s)}canCreateStudy(e){return this.model().chartApi().chartApi().isCanCreateStudy(e)}_isCountedStudy(e){throw new Error("Not implemented")}checkIfFeatureAvailable(e,t){var i=this.canCreateStudy(),s=t&&t instanceof a;return!this.readOnly()&&s&&(i=this.canCreateStudy(!0)),!!i||(s||l(),!1)}createStudyInserter(e,t,i){var s=this,r=null,n={createStudy:function(e,t,i,n,o,a,l,c,h,d,u){return s.checkIfFeatureAvailable(e,a)?(_("studies","Study_"+e.id),"Compare@tv-basicstudies"===e.id&&_("compare","symbol:"+t.symbol),s._insertStudy(e,t,n,o,a,l,c,h,d,r,u)):(m.logNormal("Cannot insert study "+e.id),null)}};void 0!==i&&(n.createStub=function(){var e=s.m_model.insertStudyStub(i);return r={targetPaneId:s.m_model.paneForSource(e).id(),targetZOrder:e.zorder()},e.id()},n.removeStub=function(e){return s.m_model.removeStudyStub(e)});var o=new p(e,this.m_model._studiesMetaInfoRepository,n);return o.setParentSource(t),o}setProperties(e,t,i){var s=this;this.beginUndoMacro(i),this.m_model.selectionMacro((function(){for(var r=0;r{"use strict";var s;i.d(t,{ColorType:()=>s}),function(e){e.Solid="solid",e.Gradient="gradient"}(s||(s={}))},32158:(e,t,i)=>{"use strict";i.d(t,{sourceNewCurrencyOnPinningToPriceScale:()=>r});var s=i(58007);function r(e,t,i,r){let n=null;if(i.currencyConversionEnabled()&&(0,s.isSymbolSource)(e)){ +const s=i.availableCurrencies(),o=t.currency(s),a=e.currency();null!==o&&null!==o.selectedCurrency&&!o.allCurrenciesAreOriginal&&o.selectedCurrency!==a&&(r&&null===a||null!==a&&s.convertible(a))&&(n=o.selectedCurrency)}return n}},73853:(e,t,i)=>{"use strict";i.d(t,{CustomSourceBase:()=>s});class s{constructor(e,t){this._id=e,this._model=t}id(){return this._id}isHoveredEnabled(){return!0}isSelectionEnabled(){return!1}priceScale(){return null}paneViews(e){return[]}labelPaneViews(e){return[]}priceAxisViews(e,t){return[]}updateViewsForPane(e){e.containsMainSeries()&&this.updateAllViews()}}},58921:(e,t,i)=>{"use strict";i.r(t),i.d(t,{isMainSeriesState:()=>r,isStudyState:()=>n,isLineToolState:()=>o,isZOrderedSourceState:()=>a});var s=i(67945);function r(e){return"MainSeries"===e.type}function n(e){return Boolean(e.type)&&e.type.toLowerCase().startsWith("study")}function o(e){return Boolean(e.type)&&(0,s.isLineToolName)(e.type)}function a(e){return r(e)||n(e)||o(e)}},46015:(e,t,i)=>{"use strict";i.d(t,{DataSource:()=>l});i(27490);var s=i(32856),r=i.n(s),n=i(45259),o=i(5729),a=i.n(o);class l{constructor(){this.hasAlert=new(r())(!1),this._zorder=0,this.m_priceScale=null,this._id=(0,n.randomHashN)(6),this._ownerSource=null,this._userEditEnabled=!0,this._onPriceScaleChanged=new(a()),this._isSelectionEnabled=!0,this._instanceId=(0,n.randomHashN)(6),this._ownerSourceChanged=new(a()),this._zOrderChanged=new(a())}id(){return this._id}instanceId(){return this._instanceId}preferNoScale(){return!1}setId(e){this._id=e}zorder(){return this._zorder}setZorder(e){"number"==typeof e&&this._zorder!==e&&(this._zorder=e,this._zOrderChanged.fire(e))}isSpeciallyZOrderedSource(){return!1}title(){throw new Error("Implement this fun in a subclass")}name(){throw new Error("Implement this fun in a subclass")}priceScale(){return this.m_priceScale}setPriceScale(e){this.m_priceScale=e,this._onPriceScaleChanged.fire()}ownerSource(){return this._ownerSource}setOwnerSource(e){this._ownerSource=e,this._ownerSourceChanged.fire()}ownerSourceChanged(){return this._ownerSourceChanged}zOrderChanged(){return this._zOrderChanged}isSavedInChart(e){return!0}isSavedInStudyTemplates(){return!0}isRemovedByStudyTemplates(){return!0}hasContextMenu(){return!0}showInObjectTree(){return!0}setUserEditEnabled(e){this._userEditEnabled=e}userEditEnabled(){return this._userEditEnabled}canBeHidden(){return this.userEditEnabled()}isUserDeletable(){return this.userEditEnabled()}properties(){throw new Error("Implement this fun in a subclass")}isVisible(){return this.properties().visible.value()}dataWindowView(){return null}priceAxisViews(e,t){return null}timeAxisViews(){return null}updateAllViews(){}paneViews(e){return null}labelPaneViews(){return null}isFailed(){return!1}isLoading(){return!1}isPhantom(){return!1}isChildStudy(){return!1}hasChildren(){return!1}canHaveChildren(){return!1}onClickOutside(){}getSourceIcon(){return null}state(e){throw new Error("Implement this fun in a subclass")}onPriceScaleChanged(){return this._onPriceScaleChanged}doesMovingAffectsUndo(){return!0} +isMultiPaneAvailable(){return!1}isMultiPaneEnabled(){return!1}copiable(){return!1}cloneable(){return!1}movable(){return!1}isIncludedInAutoScale(){return!1}isHoveredEnabled(){return this.isSelectionEnabled()}isSelectionEnabled(){return this._isSelectionEnabled}setSelectionEnabled(e){this._isSelectionEnabled=e}firstValue(){return null}priceRange(e,t){return null}autoScaleInfo(e,t){return{range:this.priceRange(e,t)}}stateForAlert(){return null}canHasAlert(){return!1}alertCreationAvailable(){return this.hasStateForAlert()}hasStateForAlert(){return!1}idForAlert(){return this._id}}},62043:(e,t,i)=>{"use strict";i.d(t,{DataWindowItem:()=>s,DataWindowView:()=>r});class s{constructor(e,t){this._visible=!0,this._title=e,this._value=t}title(){return this._title}setTitle(e){this._title=e}text(){return this._value}value(){return this._value}setValue(e){this._value=e}visible(){return this._visible}setVisible(e){this._visible=e}color(){return this._color}setColor(e){this._color=e}}class r{constructor(){this._items=[],this._header="",this._title=""}header(){return this._header}title(){return this._title}items(){return this._items}update(){}}},23930:(e,t,i)=>{"use strict";i.d(t,{dateFormatProperty:()=>a,restoreDateFormatSettingsValue:()=>l});var s=i(64222),r=i(68137),n=i(96284);function o(){return s.getValue("date_format",(0,n.defaultDateFormat)())}const a=(0,r.createPrimitiveProperty)(o());function l(){a.setValue((0,n.defaultDateFormat)()),s.remove("date_format")}s.onSync.subscribe(null,()=>a.setValue(o())),a.listeners().subscribe(null,()=>s.setValue("date_format",a.value()))},11092:(e,t,i)=>{"use strict";var s=i(5729),r=i(76190).default,n=i(18130),o=i(674);function a(e,t,i,s){var r=e?n.defaults:n.factoryDefaults,o=t.startsWith("study_")?TradingView.clone(r("study")):{},a=TradingView.clone(r(t,s));return t.startsWith("study_")&&a.inputs&&delete a.inputs.symbol,"linetoolicon"===t&&e&&(a.icon=n.defaults(t).icon),a=l(a,i),TradingView.merge(o,a),o}function l(e,t){const i=TradingView.clone(e);return t.forEach(e=>r(i,e.split("."))),i}function c(e,t,i,r){var n;void 0===r&&(r=!0),this._defaultName=e,i?n=t:(n=a(r,e,[],null),t&&TradingView.merge(n,t)),o.call(this,n),this._defaultName=e,this._useUserPreferences=r,this.listeners().subscribe(this,c.prototype.onPropertyChanged),this._exclusions=[],this._restoreFactoryDefaultsEvent=new s}inherit(c,o),c._saveDefaults=!1,c.prototype.preferences=function(){return this.state(this._exclusions)},c.prototype.mergePreferences=function(e){this.mergeAndFire(l(e,this._exclusions))},c.prototype.addExclusion=function(e){this._exclusions.indexOf(e)<0&&this._exclusions.push(e)},c.prototype.restoreFactoryDefaults=function(){var e=a(!1,this._defaultName,this._exclusions,null);this.mergeAndFire(e),this._defaultName.startsWith("study_")&&!this._defaultName.startsWith("study_VbPFixed")||this.saveDefaults(),this._restoreFactoryDefaultsEvent.fire()},c.prototype.onRestoreFactoryDefaults=function(){return this._restoreFactoryDefaultsEvent},c.prototype.onPropertyChanged=function(){ +!c._saveDefaults||this._defaultName.startsWith("study_")&&!this._defaultName.startsWith("study_VbPFixed")||this.saveDefaults()},c.prototype.saveDefaults=function(){this._useUserPreferences&&n.saveDefaults(this._defaultName,this.preferences())},c.prototype.clone=function(e){for(var t=new c(this._defaultName,this.state(),e&&e.replaceByState,this._useUserPreferences),i=0;i{"use strict";var s=i(23221).PositionPLDisplay;const{getHexColorByName:r}=i(53312),{generateColor:n}=i(50968);var o=i(23221).TradingSourcesHorizontalAlignment,a=i(74645),l=i(13953).LineToolPitchforkStyle,c=i(83641).LineToolBarsPatternMode,h=i(77455).LineStudyPlotStyle,d=i(58252),u=i(84995).PriceAxisLastValueMode,p=i(79739).StoriesTimeLineItemType,_=i(38536).MagnetMode,m=i(71172).LineEnd,g=i(26254).ColorType,f=i(98678).StatsPosition,v=i(18742).sessionsPreferencesDefault,S=i(28417).axisLabelBackgroundColor,y=i(65447).getLogger("Chart.Defaults");const b=r("color-tv-blue-500"),w=r("color-tv-blue-600"),P=r("color-ripe-red-200"),C=r("color-ripe-red-300"),T=r("color-ripe-red-400"),x=r("color-ripe-red-500"),I=r("color-ripe-red-600"),M=r("color-minty-green-100"),L=r("color-minty-green-400"),A=r("color-minty-green-500"),k=r("color-tan-orange-500"),E=n(r("color-tv-blue-500"),75);var D=function(e){var t=function(e,t){return{color:e,visible:t}},i=function(e,t,i){return{coeff:e,color:t,visible:i}},r=function(e,t,i,s,r){return{coeff:e,color:t,visible:i,linestyle:void 0===s?CanvasEx.LINESTYLE_SOLID:s,linewidth:void 0===r?1:r}},y=function(e,t,i){return{color:e,width:i,visible:t}},D=function(e,t,i,s,r){return{color:e,visible:t,width:i,x:s,y:r}},V=function(e,t,i,s,r,n){return{coeff1:e,coeff2:t,color:i,visible:s,linestyle:void 0===r?CanvasEx.LINESTYLE_SOLID:r,linewidth:void 0===n?1:n}};if(void 0===TradingView.defaultProperties){var N;switch(window.locale){case"ar_AE":N="Asia/Dubai";break;case"au":N="Australia/Sydney";break;case"br":N="America/Sao_Paulo";break;case"ca":N="America/Toronto";break;case"de_DE":case"it":N="Europe/Berlin";break;case"es":N="Europe/Madrid";break;case"fa_IR":N="Asia/Tehran";break;case"fr":case"sv_SE":N="Europe/Paris";break;case"he_IL":case"tr":N="Europe/Athens";break;case"hu_HU":case"pl":N="Europe/Warsaw";break;case"id":case"th_TH":case"vi_VN":N="Asia/Bangkok";break;case"in":N="Asia/Kolkata";break;case"ja":case"kr":N="Asia/Tokyo";break;case"ms_MY":N="Asia/Singapore";break;case"ru":N="Europe/Moscow";break;case"uk":N="Europe/London";break;case"zh_CN":case"zh_TW":N="Asia/Shanghai";break;default:N="Etc/UTC"}TradingView.defaultProperties={chartproperties:{timezone:N,priceScaleSelectionStrategyName:"auto",dataWindowProperties:{background:"rgba( 255, 254, 206, 0.2)",border:"rgba( 96, 96, 144, 1)",font:"Verdana",fontBold:!1,fontItalic:!1,fontSize:10,transparency:80,visible:!0},paneProperties:{backgroundType:g.Solid,background:"#ffffff", +backgroundGradientStartColor:"#ffffff",backgroundGradientEndColor:"#ffffff",vertGridProperties:{color:"rgba(42, 46, 57, 0.06)",style:CanvasEx.LINESTYLE_SOLID},horzGridProperties:{color:"rgba(42, 46, 57, 0.06)",style:CanvasEx.LINESTYLE_SOLID},crossHairProperties:{color:"#9598A1",style:CanvasEx.LINESTYLE_DASHED,transparency:0,width:1},topMargin:10,bottomMargin:8,axisProperties:{autoScale:!0,autoScaleDisabled:!1,lockScale:!1,percentage:!1,percentageDisabled:!1,indexedTo100:!1,log:!1,logDisabled:!1,alignLabels:!0,isInverted:!1},legendProperties:{showStudyArguments:!0,showStudyTitles:!0,showStudyValues:!0,showSeriesTitle:!0,showSeriesOHLC:!0,showLegend:!0,showBarChange:!0,showVolume:!1,showBackground:!0,backgroundTransparency:50}},scalesProperties:{backgroundColor:"#ffffff",lineColor:"rgba(42, 46, 57, 0.14)",textColor:"#131722",fontSize:12,scaleSeriesOnly:!1,showSeriesLastValue:!0,seriesLastValueMode:u.LastValueAccordingToScale,showSeriesPrevCloseValue:!1,showStudyLastValue:!0,showSymbolLabels:!1,showStudyPlotLabels:!1,showBidAskLabels:!1,showPrePostMarketPriceLabel:!0,showFundamentalNameLabel:!1,showFundamentalLastValue:!0,barSpacing:d.DEFAULT_BAR_SPACING,showCurrency:!0,showUnit:!0,axisHighlightColor:E,axisLineToolLabelBackgroundColorCommon:S.common,axisLineToolLabelBackgroundColorActive:S.active,showPriceScaleCrosshairLabel:!0,showTimeScaleCrosshairLabel:!0},mainSeriesProperties:{style:a.STYLE_CANDLES,esdShowDividends:!0,esdShowSplits:!0,esdShowEarnings:!0,esdShowBreaks:!1,esdFlagSize:2,showCountdown:!0,bidAsk:{visible:!1,lineStyle:CanvasEx.LINESTYLE_DOTTED,lineWidth:1,bidLineColor:b,askLineColor:T},prePostMarket:{visible:!0,lineStyle:CanvasEx.LINESTYLE_DOTTED,lineWidth:1,preMarketColor:"#fb8c00",postMarketColor:b},highLowAvgPrice:{highLowPriceLinesVisible:!1,highLowPriceLabelsVisible:!1,averageClosePriceLineVisible:!1,averageClosePriceLabelVisible:!1},showInDataWindow:!0,visible:!0,showPriceLine:!0,priceLineWidth:1,priceLineColor:"",baseLineColor:"#B2B5BE",showPrevClosePriceLine:!1,prevClosePriceLineWidth:1,prevClosePriceLineColor:"rgba( 85, 85, 85, 1)",minTick:"default",dividendsAdjustment:void 0,backAdjustment:!1,settlementAsClose:!0,sessionId:"regular",sessVis:!1,statusViewStyle:{fontSize:16,showExchange:!0,showInterval:!0,symbolTextSource:"description"},candleStyle:{upColor:L,downColor:T,drawWick:!0,drawBorder:!0,borderColor:"#378658",borderUpColor:L,borderDownColor:T,wickColor:"#737375",wickUpColor:L,wickDownColor:T,barColorsOnPrevClose:!1,drawBody:!0},hollowCandleStyle:{upColor:L,downColor:T,drawWick:!0,drawBorder:!0,borderColor:"rgba( 55, 134, 88, 1)",borderUpColor:L,borderDownColor:T,wickColor:"rgba( 115, 115, 117, 1)",wickUpColor:L,wickDownColor:T,drawBody:!0},haStyle:{upColor:L,downColor:T,drawWick:!0,drawBorder:!0,borderColor:"rgba( 55, 134, 88, 1)",borderUpColor:L,borderDownColor:T,wickColor:"rgba( 115, 115, 117, 1)",wickUpColor:L,wickDownColor:T,showRealLastPrice:!1,barColorsOnPrevClose:!1,inputs:{},inputInfo:{},drawBody:!0},barStyle:{upColor:L,downColor:T,barColorsOnPrevClose:!1,dontDrawOpen:!1, +thinBars:!0},hiloStyle:{color:b,showBorders:!0,borderColor:b,showLabels:!0,labelColor:b,fontSize:7,drawBody:!0},lineStyle:{color:b,linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:2,priceSource:"close",styleType:a.STYLE_LINE_TYPE_SIMPLE},areaStyle:{color1:n(b,72),color2:b,linecolor:b,linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:2,priceSource:"close",transparency:100},priceAxisProperties:{autoScale:!0,autoScaleDisabled:!1,lockScale:!1,percentage:!1,percentageDisabled:!1,indexedTo100:!1,log:!1,logDisabled:!1,isInverted:!1,alignLabels:!0},renkoStyle:{upColor:L,downColor:T,borderUpColor:L,borderDownColor:T,upColorProjection:"rgba( 169, 220, 195, 1)",downColorProjection:"rgba( 245, 166, 174, 1)",borderUpColorProjection:"rgba( 169, 220, 195, 1)",borderDownColorProjection:"rgba( 245, 166, 174, 1)",wickUpColor:L,wickDownColor:T,inputs:{source:"close",sources:"Close",boxSize:3,style:"ATR",atrLength:14,wicks:!0},inputInfo:{source:{name:"Source"},sources:{name:"Source"},boxSize:{name:"Box size"},style:{name:"Style"},atrLength:{name:"ATR length"},wicks:{name:"Wicks"}}},pbStyle:{upColor:L,downColor:T,borderUpColor:L,borderDownColor:T,upColorProjection:"rgba( 169, 220, 195, 1)",downColorProjection:"rgba( 245, 166, 174, 1)",borderUpColorProjection:"rgba( 169, 220, 195, 1)",borderDownColorProjection:"rgba( 245, 166, 174, 1)",inputs:{source:"close",lb:3},inputInfo:{source:{name:"Source"},lb:{name:"Number of line"}}},kagiStyle:{upColor:L,downColor:T,upColorProjection:"rgba( 169, 220, 195, 1)",downColorProjection:"rgba( 245, 166, 174, 1)",inputs:{source:"close",style:"ATR",atrLength:14,reversalAmount:1},inputInfo:{source:{name:"Source"},style:{name:"Style"},atrLength:{name:"ATR length"},reversalAmount:{name:"Reversal amount"}}},pnfStyle:{upColor:L,downColor:T,upColorProjection:"rgba( 169, 220, 195, 1)",downColorProjection:"rgba( 245, 166, 174, 1)",inputs:{sources:"Close",reversalAmount:3,boxSize:1,style:"ATR",atrLength:14,oneStepBackBuilding:!1},inputInfo:{sources:{name:"Source"},boxSize:{name:"Box size"},reversalAmount:{name:"Reversal amount"},style:{name:"Style"},atrLength:{name:"ATR length"},oneStepBackBuilding:{name:"One step back building"}}},baselineStyle:{baselineColor:"rgba( 117, 134, 150, 1)",topFillColor1:n(L,72),topFillColor2:n(L,95),bottomFillColor1:n(T,95),bottomFillColor2:n(T,72),topLineColor:L,bottomLineColor:T,topLineWidth:2,bottomLineWidth:2,priceSource:"close",transparency:50,baseLevelPercentage:50},rangeStyle:{upColor:L,downColor:T,thinBars:!0,upColorProjection:"rgba( 169, 220, 195, 1)",downColorProjection:"rgba( 245, 166, 174, 1)",inputs:{range:10,phantomBars:!1},inputInfo:{range:{name:"Range"},phantomBars:{name:"Phantom bars"}}}},chartEventsSourceProperties:{visible:!0,futureOnly:!0,breaks:{color:"rgba(85, 85, 85, 1)",visible:!1,style:CanvasEx.LINESTYLE_DASHED,width:1}},tradingProperties:{showPositions:!0,positionPL:{visibility:!0,display:s.Money},showOrders:!0,showExecutions:!0,showReverse:!0,horizontalAlignment:o.Right,extendLeft:!0,lineLength:5,lineWidth:1,lineStyle:CanvasEx.LINESTYLE_SOLID}, +editorFontsList:["Verdana","Courier New","Times New Roman","Arial"],volumePaneSize:"large"},sessions:v,drawings:{magnet:!1,magnetMode:_.WeakMagnet,stayInDrawingMode:!1,drawOnAllCharts:!0},linetoolorder:{extendLeft:"inherit",lineLength:"inherit",lineColor:"rgba( 255, 0, 0, 1)",lineActiveBuyColor:"rgb(64,148,232)",lineInactiveBuyColor:"rgba(64,148,232,.5)",lineActiveSellColor:"rgb(231,86,86)",lineInactiveSellColor:"rgba(231,86,86,.5)",lineStyle:"inherit",lineWidth:"inherit",bodyBorderActiveBuyColor:"rgb(64,148,232)",bodyBorderInactiveBuyColor:"rgba(64,148,232,.5)",bodyBorderActiveSellColor:"rgb(231,86,86)",bodyBorderInactiveSellColor:"rgba(231,86,86,.5)",bodyBackgroundColor:"rgba( 255, 255, 255, 0.75)",bodyBackgroundTransparency:25,bodyTextInactiveLimitColor:"rgba(38,140,2,.5)",bodyTextActiveLimitColor:"rgb(38,140,2)",bodyTextInactiveStopColor:"rgba(231,86,86,.5)",bodyTextActiveStopColor:"rgb(231,86,86)",bodyTextInactiveBuyColor:"rgba(64,148,232,.5)",bodyTextActiveBuyColor:"rgb(64,148,232)",bodyTextInactiveSellColor:"rgba(231,86,86,.5)",bodyTextActiveSellColor:"rgb(231,86,86)",bodyFontFamily:"Verdana",bodyFontSize:9,bodyFontBold:!0,bodyFontItalic:!1,quantityBorderActiveBuyColor:"rgb(64,148,232)",quantityBorderInactiveBuyColor:"rgba(64,148,232,.5)",quantityBorderActiveSellColor:"rgb(231,86,86)",quantityBorderInactiveSellColor:"rgba(231,86,86,.5)",quantityBackgroundInactiveBuyColor:"rgba(64,148,232,.5)",quantityBackgroundActiveBuyColor:"rgb(64,148,232)",quantityBackgroundInactiveSellColor:"rgba(231,86,86,.5)",quantityBackgroundActiveSellColor:"rgb(231,86,86)",quantityTextColor:"rgba( 255, 255, 255, 1)",quantityTextTransparency:0,quantityFontFamily:"Verdana",quantityFontSize:9,quantityFontBold:!0,quantityFontItalic:!1,cancelButtonBorderActiveBuyColor:"rgb(64,148,232)",cancelButtonBorderInactiveBuyColor:"rgba(64,148,232,.5)",cancelButtonBorderActiveSellColor:"rgb(231,86,86)",cancelButtonBorderInactiveSellColor:"rgba(231,86,86,.5)",cancelButtonBackgroundColor:"rgba( 255, 255, 255, 0.75)",cancelButtonBackgroundTransparency:25,cancelButtonIconActiveBuyColor:"rgb(64,148,232)",cancelButtonIconInactiveBuyColor:"rgba(64,148,232,.5)",cancelButtonIconActiveSellColor:"rgb(231,86,86)",cancelButtonIconInactiveSellColor:"rgba(231,86,86,.5)",tooltip:"",modifyTooltip:"",cancelTooltip:""},linetoolposition:{extendLeft:"inherit",lineLength:"inherit",lineBuyColor:"rgb(64,148,232)",lineSellColor:"rgb(231,86,86)",lineStyle:"inherit",lineWidth:"inherit",bodyBorderBuyColor:"rgb(64,148,232)",bodyBorderSellColor:"rgb(231,86,86)",bodyBackgroundColor:"rgba( 255, 255, 255, 0.75)",bodyBackgroundTransparency:25,bodyTextPositiveColor:"rgb(38,140,2)",bodyTextNeutralColor:"rgb(100,100,100)",bodyTextNegativeColor:"rgb(231,86,86)",bodyFontFamily:"Verdana",bodyFontSize:9,bodyFontBold:!0,bodyFontItalic:!1,quantityBorderBuyColor:"rgb(64,148,232)",quantityBorderSellColor:"rgb(231,86,86)",quantityBackgroundBuyColor:"rgb(64,148,232)",quantityBackgroundSellColor:"rgb(231,86,86)",quantityTextColor:"rgba( 255, 255, 255, 1)",quantityTextTransparency:0, +quantityFontFamily:"Verdana",quantityFontSize:9,quantityFontBold:!0,quantityFontItalic:!1,reverseButtonBorderBuyColor:"rgb(64,148,232)",reverseButtonBorderSellColor:"rgb(231,86,86)",reverseButtonBackgroundColor:"rgba( 255, 255, 255, 0.75)",reverseButtonBackgroundTransparency:25,reverseButtonIconBuyColor:"rgb(64,148,232)",reverseButtonIconSellColor:"rgb(231,86,86)",closeButtonBorderBuyColor:"rgb(64,148,232)",closeButtonBorderSellColor:"rgb(231,86,86)",closeButtonBackgroundColor:"rgba( 255, 255, 255, 0.75)",closeButtonBackgroundTransparency:25,closeButtonIconBuyColor:"rgb(64,148,232)",closeButtonIconSellColor:"rgb(231,86,86)",tooltip:"",protectTooltip:"",closeTooltip:"",reverseTooltip:""},linetoolexecution:{direction:"buy",arrowHeight:8,arrowSpacing:1,arrowBuyColor:"#4094e8",arrowSellColor:"#e75656",text:"",textColor:"rgba( 0, 0, 0, 1)",textTransparency:0,fontFamily:"Verdana",fontSize:10,fontBold:!1,fontItalic:!1,tooltip:""},linetoolicon:{color:b,size:40,icon:61720,angle:.5*Math.PI,scale:1},linetoolimage:{transparency:0,cssWidth:0,cssHeight:0,angle:0},linetoolbezierquadro:{linecolor:b,linewidth:1,fillBackground:!1,backgroundColor:n(b,80),transparency:50,linestyle:CanvasEx.LINESTYLE_SOLID,extendLeft:!1,extendRight:!1,leftEnd:m.Normal,rightEnd:m.Normal},linetoolbeziercubic:{linecolor:"#00bcd4",linewidth:1,fillBackground:!1,backgroundColor:"rgba(0, 188, 212, 0.2)",transparency:50,linestyle:CanvasEx.LINESTYLE_SOLID,extendLeft:!1,extendRight:!1,leftEnd:m.Normal,rightEnd:m.Normal},linetooltrendline:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,extendLeft:!1,extendRight:!1,leftEnd:m.Normal,rightEnd:m.Normal,showLabel:!1,horzLabelsAlign:"center",vertLabelsAlign:"bottom",textcolor:b,fontsize:14,bold:!1,italic:!1,alwaysShowStats:!1,showMiddlePoint:!1,showPriceLabels:!1,showPriceRange:!1,showBarsRange:!1,showDateTimeRange:!1,showDistance:!1,showAngle:!1,statsPosition:f.Right},linetoolinfoline:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,extendLeft:!1,extendRight:!1,leftEnd:m.Normal,rightEnd:m.Normal,showLabel:!1,horzLabelsAlign:"center",vertLabelsAlign:"bottom",textcolor:b,fontsize:14,bold:!1,italic:!1,alwaysShowStats:!0,showMiddlePoint:!1,showPriceLabels:!1,showPriceRange:!0,showBarsRange:!0,showDateTimeRange:!0,showDistance:!0,showAngle:!0,statsPosition:f.Center},linetooltimecycles:{linecolor:"rgba(21, 153, 128, 1)",linewidth:1,fillBackground:!0,backgroundColor:"rgba(106, 168, 79, 0.5)",transparency:50,linestyle:CanvasEx.LINESTYLE_SOLID},linetoolsineline:{linecolor:"rgba( 21, 153, 128, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},linetooltrendangle:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,textcolor:b,fontsize:12,bold:!1,italic:!1,alwaysShowStats:!1,showMiddlePoint:!1,showPriceLabels:!1,showPriceRange:!1,showBarsRange:!1,extendRight:!1,extendLeft:!1,statsPosition:f.Right},linetooldisjointangle:{linecolor:A,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,fillBackground:!0,backgroundColor:n(A,80),transparency:20,extendLeft:!1,extendRight:!1,leftEnd:m.Normal,rightEnd:m.Normal, +textcolor:A,fontsize:12,bold:!1,italic:!1,showPrices:!1,showPriceRange:!1,showDateTimeRange:!1,showBarsRange:!1},linetoolflatbottom:{linecolor:"rgba(171, 71, 188, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,fillBackground:!0,backgroundColor:"rgba(171, 71, 188, 0.2)",transparency:20,extendLeft:!1,extendRight:!1,leftEnd:m.Normal,rightEnd:m.Normal,textcolor:"rgba(171, 71, 188, 1)",fontsize:12,bold:!1,italic:!1,showPrices:!1,showPriceRange:!1,showDateTimeRange:!1,showBarsRange:!1},linetoolfibspiral:{counterclockwise:!1,linecolor:A,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},linetooldaterange:{linecolor:b,linewidth:1,textcolor:"rgba( 255, 255, 255, 1)",fontsize:12,fillLabelBackground:!0,labelBackgroundColor:n(b,10),fillBackground:!0,backgroundColor:n(b,80),backgroundTransparency:60,drawBorder:!1,borderColor:n(b,10),extendTop:!1,extendBottom:!1,showLabel:!0},linetoolpricerange:{linecolor:b,linewidth:1,textcolor:"rgba( 255, 255, 255, 1)",fontsize:12,fillLabelBackground:!0,labelBackgroundColor:n(b,10),fillBackground:!0,backgroundColor:n(b,80),backgroundTransparency:60,drawBorder:!1,borderColor:n(b,10),extendLeft:!1,extendRight:!1,showLabel:!0},linetooldateandpricerange:{linecolor:b,linewidth:1,textcolor:"rgba( 255, 255, 255, 1)",fontsize:12,fillLabelBackground:!0,labelBackgroundColor:n(b,10),fillBackground:!0,backgroundColor:n(b,80),backgroundTransparency:60,borderWidth:1,drawBorder:!1,borderColor:b,showLabel:!0},linetoolriskrewardshort:{linecolor:"rgba(120, 123, 134, 1)",linewidth:1,textcolor:"rgba(255, 255, 255, 1)",fontsize:12,fillLabelBackground:!0,labelBackgroundColor:"rgba( 88, 88, 88, 1)",fillBackground:!0,stopBackground:n(x,80),profitBackground:n(A,80),stopBackgroundTransparency:80,profitBackgroundTransparency:80,drawBorder:!1,borderColor:"rgba( 102, 123, 139, 1)",compact:!1,riskDisplayMode:"percents",accountSize:1e3,lotSize:1,risk:25,alwaysShowStats:!1,showPriceLabels:!0},linetoolriskrewardlong:{linecolor:"rgba(120, 123, 134, 1)",linewidth:1,textcolor:"rgba(255, 255, 255, 1)",fontsize:12,fillLabelBackground:!0,labelBackgroundColor:"rgba( 88, 88, 88, 1)",fillBackground:!0,stopBackground:n(x,80),profitBackground:n(A,80),stopBackgroundTransparency:80,profitBackgroundTransparency:80,drawBorder:!1,borderColor:"rgba( 102, 123, 139, 1)",compact:!1,riskDisplayMode:"percents",accountSize:1e3,lotSize:1,risk:25,alwaysShowStats:!1,showPriceLabels:!0},linetoolarrow:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,extendLeft:!1,extendRight:!1,leftEnd:m.Normal,rightEnd:m.Arrow,showLabel:!1,horzLabelsAlign:"center",vertLabelsAlign:"bottom",textcolor:b,fontsize:14,bold:!1,italic:!1,alwaysShowStats:!1,showMiddlePoint:!1,showPriceLabels:!1,showPriceRange:!1,showBarsRange:!1,showDateTimeRange:!1,showDistance:!1,showAngle:!1,statsPosition:f.Right},linetoolray:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,extendLeft:!1,extendRight:!0,leftEnd:m.Normal,rightEnd:m.Normal,showLabel:!1,horzLabelsAlign:"center",vertLabelsAlign:"bottom",textcolor:b,fontsize:14,bold:!1,italic:!1,alwaysShowStats:!1, +showMiddlePoint:!1,showPriceLabels:!1,showPriceRange:!1,showBarsRange:!1,showDateTimeRange:!1,showDistance:!1,showAngle:!1,statsPosition:f.Right},linetoolextended:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,extendLeft:!0,extendRight:!0,leftEnd:m.Normal,rightEnd:m.Normal,showLabel:!1,horzLabelsAlign:"center",vertLabelsAlign:"bottom",textcolor:b,fontsize:14,bold:!1,italic:!1,alwaysShowStats:!1,showMiddlePoint:!1,showPriceLabels:!1,showPriceRange:!1,showBarsRange:!1,showDateTimeRange:!1,showDistance:!1,showAngle:!1,statsPosition:f.Right},linetoolhorzline:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,showPrice:!0,showLabel:!1,textcolor:b,fontsize:12,bold:!1,italic:!1,horzLabelsAlign:"center",vertLabelsAlign:"top"},linetoolhorzray:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,showPrice:!0,showLabel:!1,textcolor:b,fontsize:12,bold:!1,italic:!1,horzLabelsAlign:"center",vertLabelsAlign:"top"},linetoolvertline:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,extendLine:!0,showTime:!0,showLabel:!1,horzLabelsAlign:"right",vertLabelsAlign:"top",textcolor:b,textOrientation:"vertical",fontsize:14,bold:!1,italic:!1},linetoolcrossline:{linecolor:b,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,showPrice:!0,showTime:!0},linetoolcirclelines:{trendline:{visible:!0,color:"rgba( 128, 128, 128, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_DASHED},linecolor:"rgba( 128, 204, 219, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},linetoolfibtimezone:{horzLabelsAlign:"right",vertLabelsAlign:"bottom",baselinecolor:"rgba( 128, 128, 128, 1)",linecolor:"rgba( 0, 85, 219, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,showLabels:!0,fillBackground:!1,transparency:80,trendline:{visible:!0,color:"rgba( 128, 128, 128, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_DASHED},level1:r(0,"rgba(120, 123, 134, 1)",!0),level2:r(1,b,!0),level3:r(2,b,!0),level4:r(3,b,!0),level5:r(5,b,!0),level6:r(8,b,!0),level7:r(13,b,!0),level8:r(21,b,!0),level9:r(34,b,!0),level10:r(55,b,!0),level11:r(89,b,!0)},linetooltext:{color:b,fontsize:14,fillBackground:!1,backgroundColor:"rgba( 91, 133, 191, 0.3)",backgroundTransparency:70,drawBorder:!1,borderColor:"rgba( 102, 123, 139, 1)",bold:!1,italic:!1,fixedSize:!0,wordWrap:!1,wordWrapWidth:200},linetooltextabsolute:{color:b,fontsize:14,fillBackground:!1,backgroundColor:"rgba( 155, 190, 213, 0.3)",backgroundTransparency:70,drawBorder:!1,borderColor:"rgba( 102, 123, 139, 1)",bold:!1,italic:!1,fixedSize:!1,wordWrap:!1,wordWrapWidth:200},linetoolballoon:{color:"#ffffff",backgroundColor:"rgba(156, 39, 176, 0.7)",borderColor:"rgba(156, 39, 176, 0.0)",fontsize:14,transparency:30},linetoolbrush:{linecolor:"#00bcd4",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,smooth:5,fillBackground:!1,backgroundColor:"rgba(0, 188, 212, 0.5)",transparency:50,leftEnd:m.Normal,rightEnd:m.Normal},linetoolhighlighter:{linecolor:"rgba(236, 64, 122, 0.15)",smooth:5,transparency:85},linetoolpolyline:{linecolor:"#7e57c2",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,fillBackground:!0, +backgroundColor:"rgba(126, 87, 194, 0.2)",transparency:50,filled:!1},linetoolsignpost:{itemType:p.Emoji,emoji:"🙂",showImage:!1,plateColor:b,fontSize:12,bold:!1,italic:!1},linetoolpath:{lineColor:b,lineWidth:2,lineStyle:CanvasEx.LINESTYLE_SOLID,leftEnd:m.Normal,rightEnd:m.Arrow},linetoolarrowmarkleft:{color:b,arrowColor:b,fontsize:14,bold:!1,italic:!1,showLabel:!0},linetoolarrowmarkup:{color:A,arrowColor:A,fontsize:14,bold:!1,italic:!1,showLabel:!0},linetoolarrowmarkright:{color:b,arrowColor:b,fontsize:14,bold:!1,italic:!1,showLabel:!0},linetoolarrowmarkdown:{color:I,arrowColor:I,fontsize:14,bold:!1,italic:!1,showLabel:!0},linetoolflagmark:{flagColor:b},linetoolnote:{markerColor:b,textColor:"#ffffff",backgroundColor:n(b,30),backgroundTransparency:0,borderColor:b,fontSize:14,bold:!1,italic:!1,fixedSize:!0},linetoolnoteabsolute:{markerColor:b,textColor:"#ffffff",backgroundColor:n(b,30),backgroundTransparency:0,borderColor:b,fontSize:14,bold:!1,italic:!1,fixedSize:!0},linetoolpricelabel:{color:"#ffffff",backgroundColor:b,borderColor:b,fontWeight:"bold",fontsize:14,transparency:0},linetoolpricenote:{showLabel:!1,horzLabelsAlign:"center",vertLabelsAlign:"bottom",textColor:b,fontSize:14,bold:!1,italic:!1,lineColor:b,priceLabelBackgroundColor:b,priceLabelBorderColor:b,priceLabelTextColor:"#ffffff",priceLabelFontSize:12,priceLabelBold:!1,priceLabelItalic:!1},linetoolarrowmarker:{backgroundColor:w,textColor:w,bold:!0,italic:!1,fontsize:16,showLabel:!0},linetoolrectangle:{color:"#9c27b0",fillBackground:!0,backgroundColor:"rgba(156, 39, 176, 0.2)",linewidth:1,transparency:50,showLabel:!1,horzLabelsAlign:"left",vertLabelsAlign:"bottom",textColor:"#9c27b0",fontSize:14,bold:!1,italic:!1,extendLeft:!1,extendRight:!1},linetoolrotatedrectangle:{color:"#4caf50",fillBackground:!0,backgroundColor:"rgba(76, 175, 80, 0.2)",transparency:50,linewidth:1},linetoolcircle:{color:k,backgroundColor:n(k,80),fillBackground:!0,linewidth:1},linetoolellipse:{color:"#e91e63",fillBackground:!0,backgroundColor:"rgba(233, 30, 99, 0.2)",transparency:50,linewidth:1},linetoolarc:{color:"#ab47bc",fillBackground:!0,backgroundColor:"rgba(171, 71, 188, 0.2)",transparency:50,linewidth:1},linetoolprediction:{linecolor:b,linewidth:1,sourceBackColor:b,sourceTextColor:"rgba(255, 255, 255, 1)",sourceStrokeColor:b,targetStrokeColor:b,targetBackColor:b,targetTextColor:"rgba(255, 255, 255, 1)",successBackground:"rgba(76, 175, 80, 1)",successTextColor:"rgba(255, 255, 255, 1)",failureBackground:x,failureTextColor:"rgba(255, 255, 255, 1)",intermediateBackColor:"rgba(234, 210, 137, 1)",intermediateTextColor:"rgba(109, 77, 34, 1)",transparency:10,centersColor:"rgba( 32, 32, 32, 1)"},linetooltriangle:{color:"#f57c00",fillBackground:!0,backgroundColor:"rgba(245, 124, 0, 0.2)",transparency:50,linewidth:1},linetoolcallout:{color:"#ffffff",backgroundColor:"rgba(0, 151, 167, 0.7)",transparency:50,linewidth:1,fontsize:14,bordercolor:"rgba(0, 151, 167, 1)",bold:!1,italic:!1,wordWrap:!1,wordWrapWidth:200},linetoolparallelchannel:{linecolor:b,linewidth:1, +linestyle:CanvasEx.LINESTYLE_SOLID,extendLeft:!1,extendRight:!1,fillBackground:!0,backgroundColor:n(b,80),transparency:20,showMidline:!0,midlinecolor:b,midlinewidth:1,midlinestyle:CanvasEx.LINESTYLE_DASHED},linetoolelliottimpulse:{degree:7,showWave:!0,color:"rgba( 61, 133, 198, 1)",linewidth:1},linetoolelliotttriangle:{degree:7,showWave:!0,color:"rgba( 255, 152, 0, 1)",linewidth:1},linetoolelliotttriplecombo:{degree:7,showWave:!0,color:"rgba( 106, 168, 79, 1)",linewidth:1},linetoolelliottcorrection:{degree:7,showWave:!0,color:"rgba( 61, 133, 198, 1)",linewidth:1},linetoolelliottdoublecombo:{degree:7,showWave:!0,color:"rgba( 106, 168, 79, 1)",linewidth:1},linetoolbarspattern:{color:b,mode:c.Bars,mirrored:!1,flipped:!1},linetoolghostfeed:{averageHL:20,variance:50,candleStyle:{upColor:M,downColor:P,drawWick:!0,drawBorder:!0,borderColor:"#378658",borderUpColor:A,borderDownColor:x,wickColor:"rgba(120, 123, 134, 1)"},transparency:50},study:{inputs:{},styles:{},palettes:{},bands:{},area:{},graphics:{},showInDataWindow:!0,visible:!0,showLegendValues:!0,showLabelsOnPriceScale:!0,precision:"default"},linetoolpitchfork:{fillBackground:!0,transparency:80,style:l.Original,median:{visible:!0,color:x,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},extendLines:!1,level0:r(.25,"rgba(255, 183, 77, 1)",!1),level1:r(.382,"rgba(129, 199, 132, 1)",!1),level2:r(.5,"rgba(76, 175, 80, 1)",!0),level3:r(.618,A,!1),level4:r(.75,"rgba(100, 181, 246, 1)",!1),level5:r(1,b,!0),level6:r(1.5,"rgba(156, 39, 176, 1)",!1),level7:r(1.75,"rgba(233, 30, 99, 1)",!1),level8:r(2,C,!1)},linetoolpitchfan:{fillBackground:!0,transparency:80,median:{visible:!0,color:x,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},level0:r(.25,"rgba(255, 183, 77, 1)",!1),level1:r(.382,"rgba(129, 199, 132, 1)",!1),level2:r(.5,"rgba(76, 175, 80, 1)",!0),level3:r(.618,A,!1),level4:r(.75,"rgba(100, 181, 246, 1)",!1),level5:r(1,b,!0),level6:r(1.5,"rgba(156, 39, 176, 1)",!1),level7:r(1.75,"rgba(233, 30, 99, 1)",!1),level8:r(2,C,!1)},linetoolgannfan:{showLabels:!0,fillBackground:!0,transparency:80,level1:V(1,8,"rgba(255, 183, 77, 1)",!0),level2:V(1,4,"rgba(129, 199, 132, 1)",!0),level3:V(1,3,"rgba(76, 175, 80, 1)",!0),level4:V(1,2,A,!0),level5:V(1,1,"rgba(100, 181, 246, 1)",!0),level6:V(2,1,b,!0),level7:V(3,1,"rgba(156, 39, 176, 1)",!0),level8:V(4,1,"rgba(233, 30, 99, 1)",!0),level9:V(8,1,C,!0)},linetoolganncomplex:{fillBackground:!1,arcsBackground:{fillBackground:!0,transparency:80},reverse:!1,scaleRatio:"",showLabels:!0,labelsStyle:{fontSize:12,bold:!1,italic:!1},levels:[y("rgba(120, 123, 134, 1)",!0,1),y("rgba(255, 152, 0, 1)",!0,1),y("rgba(129, 199, 132, 1)",!0,1),y("rgba(76, 175, 80, 1)",!0,1),y(A,!0,1),y("rgba(120, 123, 134, 1)",!0,1)],fanlines:[D("rgba(179, 157, 219, 1)",!1,1,8,1),D(x,!1,1,5,1),D("rgba(120, 123, 134, 1)",!1,1,4,1),D("rgba(255, 152, 0, 1)",!1,1,3,1),D("rgba(129, 199, 132, 1)",!0,1,2,1),D("rgba(76, 175, 80, 1)",!0,1,1,1),D(A,!0,1,1,2),D(A,!1,1,1,3),D(b,!1,1,1,4),D("rgba(149, 117, 205, 1)",!1,1,1,5),D("rgba(179, 157, 219, 1)",!1,1,1,8)], +arcs:[D("rgba(255, 152, 0, 1)",!0,1,1,0),D("rgba(255, 152, 0, 1)",!0,1,1,1),D("rgba(255, 152, 0, 1)",!0,1,1.5,0),D("rgba(129, 199, 132, 1)",!0,1,2,0),D("rgba(129, 199, 132, 1)",!0,1,2,1),D("rgba(76, 175, 80, 1)",!0,1,3,0),D("rgba(76, 175, 80, 1)",!0,1,3,1),D(A,!0,1,4,0),D(A,!0,1,4,1),D(b,!0,1,5,0),D(b,!0,1,5,1)]},linetoolgannfixed:{fillBackground:!1,arcsBackground:{fillBackground:!0,transparency:80},reverse:!1,levels:[y("rgba(120, 123, 134, 1)",!0,1),y("rgba(255, 152, 0, 1)",!0,1),y("rgba(129, 199, 132, 1)",!0,1),y("rgba(76, 175, 80, 1)",!0,1),y(A,!0,1),y("rgba(120, 123, 134, 1)",!0,1)],fanlines:[D("rgba(179, 157, 219, 1)",!1,1,8,1),D(x,!1,1,5,1),D("rgba(120, 123, 134, 1)",!1,1,4,1),D("rgba(255, 152, 0, 1)",!1,1,3,1),D("rgba(129, 199, 132, 1)",!0,1,2,1),D("rgba(76, 175, 80, 1)",!0,1,1,1),D(A,!0,1,1,2),D(A,!1,1,1,3),D(b,!1,1,1,4),D("rgba(149, 117, 205, 1)",!1,1,1,5),D("rgba(179, 157, 219, 1)",!1,1,1,8)],arcs:[D("rgba(255, 152, 0, 1)",!0,1,1,0),D("rgba(255, 152, 0, 1)",!0,1,1,1),D("rgba(255, 152, 0, 1)",!0,1,1.5,0),D("rgba(129, 199, 132, 1)",!0,1,2,0),D("rgba(129, 199, 132, 1)",!0,1,2,1),D("rgba(76, 175, 80, 1)",!0,1,3,0),D("rgba(76, 175, 80, 1)",!0,1,3,1),D(A,!0,1,4,0),D(A,!0,1,4,1),D(b,!0,1,5,0),D(b,!0,1,5,1)]},linetoolgannsquare:{color:"rgba( 21, 56, 153, 0.8)",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,showTopLabels:!0,showBottomLabels:!0,showLeftLabels:!0,showRightLabels:!0,fillHorzBackground:!0,horzTransparency:80,fillVertBackground:!0,vertTransparency:80,reverse:!1,fans:t("rgba(149, 152, 161, 1)",!1),hlevel1:i(0,"rgba(120, 123, 134, 1)",!0),hlevel2:i(.25,"rgba(245, 124, 0, 1)",!0),hlevel3:i(.382,"rgba(129, 199, 132, 1)",!0),hlevel4:i(.5,"rgba(76, 175, 80, 1)",!0),hlevel5:i(.618,A,!0),hlevel6:i(.75,b,!0),hlevel7:i(1,"rgba(120, 123, 134, 1)",!0),vlevel1:i(0,"rgba(120, 123, 134, 1)",!0),vlevel2:i(.25,"rgba(245, 124, 0, 1)",!0),vlevel3:i(.382,"rgba(129, 199, 132, 1)",!0),vlevel4:i(.5,"rgba(76, 175, 80, 1)",!0),vlevel5:i(.618,A,!0),vlevel6:i(.75,b,!0),vlevel7:i(1,"rgba(120, 123, 134, 1)",!0)},linetoolfibspeedresistancefan:{fillBackground:!0,transparency:80,grid:{color:"rgba( 21, 56, 153, 0.8)",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,visible:!0},linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,showTopLabels:!0,showBottomLabels:!0,showLeftLabels:!0,showRightLabels:!0,reverse:!1,hlevel1:i(0,"rgba(120, 123, 134, 1)",!0),hlevel2:i(.25,"rgba(245, 124, 0, 1)",!0),hlevel3:i(.382,"rgba(129, 199, 132, 1)",!0),hlevel4:i(.5,"rgba(76, 175, 80, 1)",!0),hlevel5:i(.618,A,!0),hlevel6:i(.75,b,!0),hlevel7:i(1,"rgba(120, 123, 134, 1)",!0),vlevel1:i(0,"rgba(120, 123, 134, 1)",!0),vlevel2:i(.25,"rgba(245, 124, 0, 1)",!0),vlevel3:i(.382,"rgba(129, 199, 132, 1)",!0),vlevel4:i(.5,"rgba(76, 175, 80, 1)",!0),vlevel5:i(.618,A,!0),vlevel6:i(.75,b,!0),vlevel7:i(1,"rgba(120, 123, 134, 1)",!0)},linetoolfibretracement:{showCoeffs:!0,showPrices:!0,fillBackground:!0,transparency:80,extendLines:!1,extendLinesLeft:!1,horzLabelsAlign:"left",vertLabelsAlign:"bottom",reverse:!1,coeffsAsPercents:!1,fibLevelsBasedOnLogScale:!1,trendline:{visible:!0, +color:"rgba(120, 123, 134, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_DASHED},levelsStyle:{linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},level1:i(0,"rgba(120, 123, 134, 1)",!0),level2:i(.236,x,!0),level3:i(.382,"rgba(129, 199, 132, 1)",!0),level4:i(.5,"rgba(76, 175, 80, 1)",!0),level5:i(.618,A,!0),level6:i(.786,"rgba(100, 181, 246, 1)",!0),level7:i(1,"rgba(120, 123, 134, 1)",!0),level8:i(1.618,b,!0),level9:i(2.618,x,!0),level10:i(3.618,"rgba(156, 39, 176, 1)",!0),level11:i(4.236,"rgba(233, 30, 99, 1)",!0),level12:i(1.272,"rgba(129, 199, 132, 1)",!1),level13:i(1.414,x,!1),level16:i(2,A,!1),level14:i(2.272,"rgba(129, 199, 132, 1)",!1),level15:i(2.414,"rgba(76, 175, 80, 1)",!1),level17:i(3,"rgba(100, 181, 246, 1)",!1),level18:i(3.272,"rgba(120, 123, 134, 1)",!1),level19:i(3.414,b,!1),level20:i(4,"rgba( 204, 40, 40, 1)",!1),level21:i(4.272,"rgba(156, 39, 176, 1)",!1),level22:i(4.414,"rgba(233, 30, 99, 1)",!1),level23:i(4.618,"rgba(129, 199, 132, 1)",!1),level24:i(4.764,A,!1)},linetoolfibchannel:{showCoeffs:!0,showPrices:!0,fillBackground:!0,transparency:80,extendLeft:!1,extendRight:!1,horzLabelsAlign:"left",vertLabelsAlign:"middle",coeffsAsPercents:!1,levelsStyle:{linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},level1:i(0,"rgba(120, 123, 134, 1)",!0),level2:i(.236,x,!0),level3:i(.382,"rgba(129, 199, 132, 1)",!0),level4:i(.5,"rgba(76, 175, 80, 1)",!0),level5:i(.618,A,!0),level6:i(.786,"rgba(100, 181, 246, 1)",!0),level7:i(1,"rgba(120, 123, 134, 1)",!0),level8:i(1.618,b,!0),level9:i(2.618,x,!0),level10:i(3.618,"rgba(156, 39, 176, 1)",!0),level11:i(4.236,"rgba(233, 30, 99, 1)",!0),level12:i(1.272,"rgba(129, 199, 132, 1)",!1),level13:i(1.414,x,!1),level16:i(2,A,!1),level14:i(2.272,"rgba(129, 199, 132, 1)",!1),level15:i(2.414,"rgba(76, 175, 80, 1)",!1),level17:i(3,"rgba(100, 181, 246, 1)",!1),level18:i(3.272,"rgba(120, 123, 134, 1)",!1),level19:i(3.414,b,!1),level20:i(4,"rgba( 204, 40, 40, 1)",!1),level21:i(4.272,"rgba(156, 39, 176, 1)",!1),level22:i(4.414,"rgba(233, 30, 99, 1)",!1),level23:i(4.618,"rgba(129, 199, 132, 1)",!1),level24:i(4.764,A,!1)},linetoolprojection:{showCoeffs:!0,fillBackground:!0,transparency:80,color1:n(b,80),color2:"rgba(156, 39, 176, 0.2)",linewidth:1,trendline:{visible:!0,color:"rgba(149, 152, 161, 1)",linestyle:CanvasEx.LINESTYLE_SOLID},level1:r(1,"rgba( 128, 128, 128, 1)",!0)},linetool5pointspattern:{color:b,textcolor:"rgba( 255, 255, 255, 1)",fillBackground:!0,backgroundColor:b,fontsize:12,bold:!1,italic:!1,transparency:85,linewidth:1},linetoolcypherpattern:{color:b,textcolor:"#FFFFFF",fillBackground:!0,backgroundColor:b,fontsize:12,bold:!1,italic:!1,transparency:85,linewidth:1},linetooltrianglepattern:{color:"#673AB7",textcolor:"#FFFFFF",fillBackground:!0,backgroundColor:"#673AB7",fontsize:12,bold:!1,italic:!1,transparency:85,linewidth:1},linetoolabcd:{color:A,textcolor:"rgba( 255, 255, 255, 1)",fontsize:12,bold:!1,italic:!1,linewidth:1},linetoolthreedrivers:{color:"#673AB7",textcolor:"rgba( 255, 255, 255, 1)",fillBackground:!0,backgroundColor:"rgba( 149, 40, 204, 0.5)",fontsize:12,bold:!1, +italic:!1,transparency:50,linewidth:1},linetoolheadandshoulders:{color:A,textcolor:"rgba( 255, 255, 255, 1)",fillBackground:!0,backgroundColor:A,fontsize:12,bold:!1,italic:!1,transparency:85,linewidth:1},linetoolfibwedge:{showCoeffs:!0,fillBackground:!0,transparency:80,trendline:{visible:!0,color:"rgba( 128, 128, 128, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},level1:r(.236,x,!0),level2:r(.382,"rgba(129, 199, 132, 1)",!0),level3:r(.5,"rgba(76, 175, 80, 1)",!0),level4:r(.618,A,!0),level5:r(.786,"rgba(100, 181, 246, 1)",!0),level6:r(1,"rgba(120, 123, 134, 1)",!0),level7:r(1.618,b,!1),level8:r(2.618,x,!1),level9:r(3.618,"rgba(103, 58, 183, 1)",!1),level10:r(4.236,"rgba(233, 30, 99, 1)",!1),level11:r(4.618,"rgba(233, 30, 99, 1)",!1)},linetoolfibcircles:{showCoeffs:!0,fillBackground:!0,transparency:80,coeffsAsPercents:!1,trendline:{visible:!0,color:"rgba(120, 123, 134, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_DASHED},level1:r(.236,x,!0),level2:r(.382,"rgba(129, 199, 132, 1)",!0),level3:r(.5,"rgba(76, 175, 80, 1)",!0),level4:r(.618,A,!0),level5:r(.786,"rgba(100, 181, 246, 1)",!0),level6:r(1,"rgba(120, 123, 134, 1)",!0),level7:r(1.618,b,!0),level8:r(2.618,x,!0),level9:r(3.618,"rgba(103, 58, 183, 1)",!0),level10:r(4.236,"rgba(233, 30, 99, 1)",!0),level11:r(4.618,"rgba(233, 30, 99, 1)",!0)},linetoolfibspeedresistancearcs:{showCoeffs:!0,fillBackground:!0,transparency:80,fullCircles:!1,trendline:{visible:!0,color:"rgba(120, 123, 134, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_DASHED},level1:r(.236,x,!0),level2:r(.382,"rgba(129, 199, 132, 1)",!0),level3:r(.5,"rgba(76, 175, 80, 1)",!0),level4:r(.618,A,!0),level5:r(.786,"rgba(100, 181, 246, 1)",!0),level6:r(1,"rgba(120, 123, 134, 1)",!0),level7:r(1.618,b,!0),level8:r(2.618,x,!0),level9:r(3.618,"rgba(103, 58, 183, 1)",!0),level10:r(4.236,"rgba(233, 30, 99, 1)",!0),level11:r(4.618,"rgba(233, 30, 99, 1)",!0)},linetooltrendbasedfibextension:{showCoeffs:!0,showPrices:!0,fillBackground:!0,transparency:80,extendLines:!1,extendLinesLeft:!1,horzLabelsAlign:"left",vertLabelsAlign:"bottom",reverse:!1,coeffsAsPercents:!1,fibLevelsBasedOnLogScale:!1,trendline:{visible:!0,color:"rgba(120, 123, 134, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_DASHED},levelsStyle:{linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},level1:i(0,"rgba(120, 123, 134, 1)",!0),level2:i(.236,x,!0),level3:i(.382,"rgba(129, 199, 132, 1)",!0),level4:i(.5,"rgba(76, 175, 80, 1)",!0),level5:i(.618,A,!0),level6:i(.786,"rgba(100, 181, 246, 1)",!0),level7:i(1,"rgba(120, 123, 134, 1)",!0),level8:i(1.618,b,!0),level9:i(2.618,x,!0),level10:i(3.618,"rgba(156, 39, 176, 1)",!0),level11:i(4.236,"rgba(233, 30, 99, 1)",!0),level12:i(1.272,"rgba(129, 199, 132, 1)",!1),level13:i(1.414,x,!1),level16:i(2,A,!1),level14:i(2.272,"rgba(129, 199, 132, 1)",!1),level15:i(2.414,"rgba(76, 175, 80, 1)",!1),level17:i(3,"rgba(100, 181, 246, 1)",!1),level18:i(3.272,"rgba(120, 123, 134, 1)",!1),level19:i(3.414,b,!1),level20:i(4,"rgba( 204, 40, 40, 1)",!1),level21:i(4.272,"rgba(156, 39, 176, 1)",!1),level22:i(4.414,"rgba(233, 30, 99, 1)",!1), +level23:i(4.618,"rgba(129, 199, 132, 1)",!1),level24:i(4.764,A,!1)},linetooltrendbasedfibtime:{showCoeffs:!0,fillBackground:!0,transparency:80,horzLabelsAlign:"right",vertLabelsAlign:"bottom",trendline:{visible:!0,color:"rgba(120, 123, 134, 1)",linewidth:1,linestyle:CanvasEx.LINESTYLE_DASHED},level1:r(0,"rgba(120, 123, 134, 1)",!0),level2:r(.382,x,!0),level3:r(.5,"rgba(129, 199, 132, 1)",!1),level4:r(.618,"rgba(76, 175, 80, 1)",!0),level5:r(1,A,!0),level6:r(1.382,"rgba(100, 181, 246, 1)",!0),level7:r(1.618,"rgba(120, 123, 134, 1)",!0),level8:r(2,b,!0),level9:r(2.382,x,!0),level10:r(2.618,"rgba(156, 39, 176, 1)",!0),level11:r(3,"rgba(233, 30, 99, 1)",!0)},linetoolschiffpitchfork:{fillBackground:!0,transparency:80,style:l.Schiff,median:{visible:!0,color:x,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},extendLines:!1,level0:r(.25,"rgba(255, 183, 77, 1)",!1),level1:r(.382,"rgba(129, 199, 132, 1)",!1),level2:r(.5,"rgba(76, 175, 80, 1)",!0),level3:r(.618,A,!1),level4:r(.75,"rgba(100, 181, 246, 1)",!1),level5:r(1,b,!0),level6:r(1.5,"rgba(156, 39, 176, 1)",!1),level7:r(1.75,"rgba(233, 30, 99, 1)",!1),level8:r(2,C,!1)},linetoolschiffpitchfork2:{fillBackground:!0,transparency:80,style:l.Schiff2,median:{visible:!0,color:x,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},extendLines:!1,level0:r(.25,"rgba(255, 183, 77, 1)",!1),level1:r(.382,"rgba(129, 199, 132, 1)",!1),level2:r(.5,"rgba(76, 175, 80, 1)",!0),level3:r(.618,A,!1),level4:r(.75,"rgba(100, 181, 246, 1)",!1),level5:r(1,b,!0),level6:r(1.5,"rgba(156, 39, 176, 1)",!1),level7:r(1.75,"rgba(233, 30, 99, 1)",!1),level8:r(2,C,!1)},linetoolinsidepitchfork:{fillBackground:!0,transparency:80,style:l.Inside,median:{visible:!0,color:x,linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID},extendLines:!1,level0:r(.25,"rgba(255, 183, 77, 1)",!1),level1:r(.382,"rgba(129, 199, 132, 1)",!1),level2:r(.5,"rgba(76, 175, 80, 1)",!0),level3:r(.618,A,!1),level4:r(.75,"rgba(100, 181, 246, 1)",!1),level5:r(1,b,!0),level6:r(1.5,"rgba(156, 39, 176, 1)",!1),level7:r(1.75,"rgba(233, 30, 99, 1)",!1),level8:r(2,C,!1)},linetoolregressiontrend:{linewidth:1,linestyle:CanvasEx.LINESTYLE_SOLID,styles:{upLine:{visible:!0,color:n(b,70),linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1},downLine:{visible:!0,color:n(b,70),linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1},baseLine:{visible:!0,color:n(x,70),linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1},extendLines:!1,showPearsons:!0,transparency:70}}},B(TradingView.defaultProperties.chartproperties),R()}if(void 0===TradingView.defaultProperties["study_MA@tv-basicstudies"]&&(TradingView.defaultProperties["study_MA@tv-basicstudies"]={description:"Moving Average",shortDescription:"MA",inputs:{length:9,source:"close"},styles:{MovAvg:{visible:!0,color:b,linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1,plottype:h.Line,histogramBase:0,title:"MA"}}}),void 0===TradingView.defaultProperties["study_PivotPointsHighLow@tv-basicstudies"]&&(TradingView.defaultProperties["study_PivotPointsHighLow@tv-basicstudies"]={fontsize:10,borderColor:b,backColor:"#E3EFFD",textColor:"#131722"}), +void 0===TradingView.defaultProperties["study_PivotPointsStandard@tv-basicstudies"]){TradingView.defaultProperties["study_PivotPointsStandard@tv-basicstudies"]={_hardCodedDefaultsVersion:1,fontsize:11,levelsStyle:{showLabels:!0,visibility:{P:!0,"S1/R1":!0,"S2/R2":!0,"S3/R3":!0,"S4/R4":!0,"S5/R5":!0},colors:{P:"#FB8C00","S1/R1":"#FB8C00","S2/R2":"#FB8C00","S3/R3":"#FB8C00","S4/R4":"#FB8C00","S5/R5":"#FB8C00"},widths:{P:1,"S1/R1":1,"S2/R2":1,"S3/R3":1,"S4/R4":1,"S5/R5":1}}}}if(void 0===TradingView.defaultProperties["study_ZigZag@tv-basicstudies"]&&(TradingView.defaultProperties["study_ZigZag@tv-basicstudies"]={color:b,linewidth:2}),void 0===TradingView.defaultProperties["study_ElliottWave@tv-basicstudies"]&&(TradingView.defaultProperties["study_ElliottWave@tv-basicstudies"]={inputs:{},level0:t("rgba( 255, 0, 0, 1)",!1),level1:t("rgba( 0, 128, 0, 1)",!1),level2:t("rgba( 0, 0, 255, 1)",!1),level3:t("rgba( 255, 0, 255, 1)",!1),level4:t("rgba( 0, 128, 255, 1)",!0),level5:t("rgba( 255, 0, 0, 1)",!0),level6:t("rgba( 0, 128, 0, 1)",!0),level7:t("rgba( 0, 0, 255, 1)",!0),level8:t("rgba( 255, 0, 255, 1)",!0)}),void 0===TradingView.defaultProperties["study_LinearRegression@tv-basicstudies"]&&(TradingView.defaultProperties["study_LinearRegression@tv-basicstudies"]={styles:{upLine:{visible:!0,color:n(b,70),linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1},downLine:{visible:!0,color:n(b,70),linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1},baseLine:{visible:!0,color:n(x,70),linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1},extendLines:!0,showPearsons:!0,backgroundColor:"rgba( 153, 21, 21, 0.3)",transparency:70}}),void 0===TradingView.defaultProperties["study_Compare@tv-basicstudies"]&&(TradingView.defaultProperties["study_Compare@tv-basicstudies"]={minTick:"default"}),void 0===TradingView.defaultProperties["study_Overlay@tv-basicstudies"]){TradingView.defaultProperties["study_Overlay@tv-basicstudies"]={style:a.STYLE_LINE,allowExtendTimeScale:!1,showPriceLine:!1,minTick:"default",candleStyle:{upColor:"rgba( 107, 165, 131, 1)",downColor:"rgba( 215, 84, 66, 1)",drawWick:!0,drawBorder:!0,drawBody:!0,borderColor:"rgba( 55, 134, 88, 1)",borderUpColor:"rgba( 34, 84, 55, 1)",borderDownColor:"rgba( 91, 26, 19, 1)",wickColor:"rgba( 115, 115, 117, 1)",wickUpColor:"rgba( 115, 115, 117, 1)",wickDownColor:"rgba( 115, 115, 117, 1)",barColorsOnPrevClose:!1},hollowCandleStyle:{upColor:"rgba( 107, 165, 131, 1)",downColor:"rgba( 215, 84, 66, 1)",drawWick:!0,drawBorder:!0,drawBody:!0,borderColor:"rgba( 55, 134, 88, 1)",borderUpColor:"rgba( 34, 84, 55, 1)",borderDownColor:"rgba( 91, 26, 19, 1)",wickColor:"rgba( 115, 115, 117, 1)",wickUpColor:"rgba( 115, 115, 117, 1)",wickDownColor:"rgba( 115, 115, 117, 1)",barColorsOnPrevClose:!1},barStyle:{upColor:"rgba( 107, 165, 131, 1)",downColor:"rgba( 215, 84, 66, 1)",barColorsOnPrevClose:!1,dontDrawOpen:!1,thinBars:!0},lineStyle:{color:"#FF6D00",linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:2,priceSource:"close",styleType:a.STYLE_LINE_TYPE_SIMPLE},areaStyle:{color1:b,color2:b,linecolor:b, +linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:2,priceSource:"close",transparency:95},baselineStyle:{baselineColor:"rgba( 117, 134, 150, 1)",topFillColor1:"rgba( 83, 185, 135, 0.05)",topFillColor2:"rgba( 83, 185, 135, 0.05)",bottomFillColor1:"rgba( 235, 77, 92, 0.05)",bottomFillColor2:"rgba( 235, 77, 92, 0.05)",topLineColor:"rgba( 83, 185, 135, 1)",bottomLineColor:"rgba( 235, 77, 92, 1)",topLineWidth:2,bottomLineWidth:2,priceSource:"close",transparency:50,baseLevelPercentage:50},styles:{open:{visible:!0,color:"rgba( 255, 0, 0, 1)",linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1,plottype:h.Line,histogramBase:0},high:{visible:!0,color:"rgba( 255, 0, 0, 1)",linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1,plottype:h.Line,histogramBase:0},low:{visible:!0,color:"rgba( 255, 0, 0, 1)",linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1,plottype:h.Line,histogramBase:0},close:{visible:!0,color:"rgba( 255, 0, 0, 1)",linestyle:CanvasEx.LINESTYLE_SOLID,linewidth:1,plottype:h.Line,histogramBase:0}}}}for(var O=e.split("."),F=TradingView.defaultProperties,W=0;W1?h(e[r],t.slice(1),i):(e[r]&&e[r].setValue?e[r].setValue(i):e[r]=i,!0))}function d(e){i||y.logWarn("Path `"+e+"` does not exist.")}}function B(e,t,i,s){window.__defaultsOverrides&&V(e,t,i,window.__defaultsOverrides,s)}function N(e,t){window.__settingsOverrides&&V(e,null,!1,window.__settingsOverrides,t)}function R(){var e=/^linetool.+/;Object.keys(TradingView.defaultProperties).forEach((function(t){e.test(t)&&B(TradingView.defaultProperties[t],null,!1,t)}))}function O(e,t){return t?function(e,t){var i=D(e);if(!window._UNIT_TESTS){var s=TradingView.clone(TVSettings.getJSON(e,null));if(function(e){var t=new Set(["linetoolregressiontrend"]);return e.startsWith("study_")||t.has(e)}(e)&&s&&function(e){if(!e)return!1;e=e.toString();var t=new RegExp("\\d+").exec(e);return null!==t&&t[0]===e}(s.version)){var r=s.inputs,n=t.updateStudyInputs(s.id,s.version,"last",r,null);s.inputs=n;var o=t.updateStudyState(s,s);s=o}TradingView.merge(i,s),N(i,e)}return i}(e,t):function(e){var t=D(e);if(!window._UNIT_TESTS){var i=TradingView.clone(TVSettings.getJSON(e,null));if(i){TradingView.merge(t,i);const s=e.split(".");N(t,void 0===s[1]?e:s[1])}}return t}(e)}O.create=function(e,t){if(t){var i=D(e);TradingView.defaultProperties[e]=Object.assign(t,i)}},O.remove=function(e){TradingView.defaultProperties[e]=void 0},TradingView.saveDefaults=function(e,t){TVSettings.setJSON(e,t)},TradingView.factoryDefaults=D,window.applyDefaultOverridesToLinetools=R,window.applyDefaultsOverrides=B,window.applyPropertiesOverrides=V,window.defaults=O,t.applyDefaultOverridesToLinetools=R,t.applyDefaultsOverrides=B,t.applyPropertiesOverrides=V,t.defaults=O, +t.factoryDefaults=D,t.saveDefaults=TradingView.saveDefaults},15521:(e,t,i)=>{"use strict";i.r(t),i.d(t,{toolIsCursor:()=>u,toolIsMeasure:()=>p,resetToCursor:()=>_,lockTimeAxisTime:()=>b,tool:()=>w,iconTool:()=>P,cursorTool:()=>C,isToolCreatingNow:()=>T,isToolEditingNow:()=>x,isToolMovingNow:()=>I,isDirectionalMovementActive:()=>M,createdLineTool:()=>L,continuedLineTool:()=>A,cancelledLineTool:()=>k,beenSetLineToolLastPoint:()=>E,startedMovingLineTool:()=>D,movedLineTool:()=>V,finishedMovingLineTool:()=>B,startedChangingLineTool:()=>N,changedLineTool:()=>R,finishedChangingLineTool:()=>O,removedLineTool:()=>F,finishedLineTool:()=>W,changedLineStyle:()=>H,copiedLineTool:()=>z,restoredLineTool:()=>U,restoredLineToolState:()=>j,isPointSelectedNow:()=>G,isStudyEditingNow:()=>q,createLineTool:()=>K,continueLineTool:()=>X,cancelLineTool:()=>Z,setLineToolLastPoint:()=>J,startMovingLineTool:()=>Q,moveLineTool:()=>ee,finishMovingLineTool:()=>te,startChangingLineTool:()=>ie,changeLineTool:()=>se,finishChangingLineTool:()=>re,removeLineTool:()=>ne,finishLineTool:()=>oe,changeLineStyle:()=>ae,copyLineTool:()=>le,restoreLineTool:()=>ce,restoreLineToolState:()=>he,init:()=>pe,runOnDrawingStateReady:()=>_e,properties:()=>me,hideAllDrawings:()=>ge,hideAllIndicators:()=>fe,lockDrawings:()=>ve,hideMarksOnBars:()=>Se,drawOnAllCharts:()=>ye,lockTimeAxis:()=>be});var s=i(16282),r=i(68137),n=i(11092),o=i(32856),a=i.n(o),l=i(5729),c=i.n(l),h=i(64222),d=i(18437);function u(e){return"cursor"===e||"arrow"===e||"dot"===e}function p(e){return"measure"===e}function _(e=!1){if(!e&&m){if(m.childs().stayInDrawingMode.value())return}w.setValue(C.value())}let m=null,g=null,f=null,v=null,S=null,y=null;const b=new(a()),w=new(a()),P=new(a()),C=new(a()),T=new(a())(!1),x=new(a())(!1),I=new(a())(!1),M=new(a())(!1),L=new(c()),A=new(c()),k=new(c()),E=new(c()),D=new(c()),V=new(c()),B=new(c()),N=new(c()),R=new(c()),O=new(c()),F=new(c()),W=new(c()),H=new(c()),z=new(c()),U=new(c()),j=new(c()),G=new(a())(!1),q=new(a())(!1);function Y(e,t){const i=t||{value:!1};return t=>{i.value||(i.value=!0,e.fire(t),i.value=!1)}}const $={value:!1},K=Y(L,$),X=Y(A,$),Z=Y(k,$),J=Y(E,$),Q=Y(D),ee=Y(V),te=Y(B),ie=Y(N),se=Y(R),re=Y(O),ne=Y(F),oe=Y(W),ae=Y(H,$),le=Y(z,$),ce=Y(U),he=Y(j);let de=!1,ue=[];function pe(){de||(w.setValue(h.getValue("chart.cursorPreference","cursor")),w.subscribe(e=>u(e)&&C.setValue(e),{callWithLast:!0}),C.subscribe(e=>{e&&h.setValue("chart.cursorPreference",e)}),m=new n.DefaultProperty("drawings"),g=(0,r.createPrimitiveProperty)(),f=(0,r.createPrimitiveProperty)(),v=(0,r.createPrimitiveProperty)(),S=(0,r.createPrimitiveProperty)(),y=(0,r.createPrimitiveProperty)(),g.setValue(!1),f.setValue(!1),v.setValue(!1),S.setValue(!1),y.setValue(!1),w.subscribe(()=>{(0,d.emit)("onSelectedLineToolChanged")}),de=!0,ue.forEach(e=>e()),ue=[])}function _e(e){de?e():ue.push(e)}function me(){return(0,s.ensureNotNull)(m)}function ge(){return(0,s.ensureNotNull)(g)}function fe(){return(0,s.ensureNotNull)(f)}function ve(){return(0,s.ensureNotNull)(v)}function Se(){return(0, +s.ensureNotNull)(S)}function ye(){return me().childs().drawOnAllCharts}function be(){return(0,s.ensureNotNull)(y)}},57296:(e,t,i)=>{"use strict";i.d(t,{EnvironmentState:()=>r});var s=i(43367);class r{constructor(e){this._shift=!1,this._control=!1,this._alt=!1,void 0!==e&&(this._shift=Boolean(e.shiftKey),this._control=Boolean((0,s.isMac)()?e.metaKey:e.ctrlKey),this._alt=Boolean(e.altKey))}shift(){return this._shift}control(){return this._control}alt(){return this._alt}shiftOnly(){return this._shift&&!this._control&&!this._alt}controlOnly(){return this._control&&!this._shift&&!this._alt}altOnly(){return this._alt&&!this._shift&&!this._control}controlShift(){return this._shift&&this._control&&!this._alt}static create(e=!1,t=!1,i=!1){return new r({shiftKey:e,ctrlKey:t,metaKey:t,altKey:i})}}},89164:(e,t,i)=>{"use strict";function s(e){return function(e){return"="+JSON.stringify(e)}(e)}function r(e){return"="===e[0]}function n(e){if(!r(e))return{symbol:e};try{return JSON.parse(e.slice(1))}catch(t){return{symbol:e}}}function o(e){return"string"==typeof e?e:o(e.symbol)}i.r(t),i.d(t,{encodeExtendedSymbolOrGetSimpleSymbolString:()=>s,isEncodedExtendedSymbol:()=>r,decodeExtendedSymbol:()=>n,unwrapSimpleSymbol:()=>o})},62737:(e,t,i)=>{"use strict";i.d(t,{customFormatters:()=>s});const s={dateFormatter:null,timeFormatter:null,tickMarkFormatter:null}},96284:(e,t,i)=>{"use strict";i.d(t,{dateFormatFunctions:()=>p,availableDateFormats:()=>_,defaultDateFormat:()=>m});var s=i(79881),r=i(59104);const n={1:()=>(0,s.t)("Jan"),2:()=>(0,s.t)("Feb"),3:()=>(0,s.t)("Mar"),4:()=>(0,s.t)("Apr"),5:()=>(0,s.t)("May",{context:"short"}),6:()=>(0,s.t)("Jun"),7:()=>(0,s.t)("Jul"),8:()=>(0,s.t)("Aug"),9:()=>(0,s.t)("Sep"),10:()=>(0,s.t)("Oct"),11:()=>(0,s.t)("Nov"),12:()=>(0,s.t)("Dec")},o=(e,t)=>(t?e.getMonth():e.getUTCMonth())+1,a=(e,t)=>t?e.getFullYear():e.getUTCFullYear(),l=(e,t)=>(0,r.numberToStringWithLeadingZero)(((e,t)=>t?e.getDate():e.getUTCDate())(e,t),2),c=(e,t)=>n[o(e,t)](),h=(e,t)=>(0,r.numberToStringWithLeadingZero)(o(e,t),2),d=(e,t)=>(0,r.numberToStringWithLeadingZero)(a(e,t)%100,2),u=(e,t)=>(0,r.numberToStringWithLeadingZero)(a(e,t),4),p={"dd MMM 'yy":(e,t)=>`${l(e,t)} ${c(e,t)} '${d(e,t)}`,"MMM dd, yyyy":(e,t)=>`${c(e,t)} ${l(e,t)}, ${u(e,t)}`,"MMM dd":(e,t)=>`${c(e,t)} ${l(e,t)}`,"yyyy-MM-dd":(e,t)=>`${u(e,t)}-${h(e,t)}-${l(e,t)}`,"yy-MM-dd":(e,t)=>`${d(e,t)}-${h(e,t)}-${l(e,t)}`,"yy/MM/dd":(e,t)=>`${d(e,t)}/${h(e,t)}/${l(e,t)}`,"yyyy/MM/dd":(e,t)=>`${u(e,t)}/${h(e,t)}/${l(e,t)}`,"dd-MM-yyyy":(e,t)=>`${l(e,t)}-${h(e,t)}-${u(e,t)}`,"dd-MM-yy":(e,t)=>`${l(e,t)}-${h(e,t)}-${d(e,t)}`,"dd/MM/yy":(e,t)=>`${l(e,t)}/${h(e,t)}/${d(e,t)}`,"dd/MM/yyyy":(e,t)=>`${l(e,t)}/${h(e,t)}/${u(e,t)}`,"MM/dd/yy":(e,t)=>`${h(e,t)}/${l(e,t)}/${d(e,t)}`,"MM/dd/yyyy":(e,t)=>`${h(e,t)}/${l(e,t)}/${u(e,t)}`},_=Object.keys(p),m=()=>-1!==["ja","ko","zh","zh_TW"].indexOf(window.language||"")?"yyyy-MM-dd":"dd MMM 'yy"},54041:(e,t,i)=>{"use strict";i.d(t,{DateFormatter:()=>n});var s=i(62737),r=i(96284);class n{constructor(e="yyyy-MM-dd"){ +this._dateFormatFunc=r.dateFormatFunctions[e]}format(e){return s.customFormatters&&s.customFormatters.dateFormatter?s.customFormatters.dateFormatter.format(e):this._dateFormatFunc(e,!1)}formatLocal(e){return s.customFormatters.dateFormatter?s.customFormatters.dateFormatter.formatLocal?s.customFormatters.dateFormatter.formatLocal(e):s.customFormatters.dateFormatter.format(e):this._dateFormatFunc(e,!0)}}},74796:(e,t,i)=>{"use strict";i.d(t,{DateTimeFormatter:()=>o});var s=i(18675),r=i(54041);const n={dateFormat:"yyyy-MM-dd",timeFormat:"%h:%m:%s",dateTimeSeparator:" "};class o{constructor(e={}){const t=Object.assign({},n,e);this._dateFormatter=new r.DateFormatter(t.dateFormat),this._timeFormatter=new s.TimeFormatter(t.timeFormat),this._separator=t.dateTimeSeparator}format(e){return`${this._dateFormatter.format(e)}${this._separator}${this._timeFormatter.format(e)}`}formatLocal(e){return`${this._dateFormatter.formatLocal(e)}${this._separator}${this._timeFormatter.formatLocal(e)}`}}},43434:(e,t,i)=>{"use strict";i.d(t,{LimitedPrecisionNumericFormatter:()=>r});var s=i(47903);class r{constructor(e=1){this._precision=e}format(e){(0,s.isNumber)(e)||(e=parseFloat(e));const t=e.toFixed(this._precision),i=Math.pow(10,-this._precision);return Math.max(parseFloat(t),i)+""}parse(e){const t=parseFloat(e);return isNaN(t)?{res:!1}:{res:!0,value:t,suggest:this.format(t)}}}},57649:(e,t,i)=>{"use strict";i.d(t,{NumericFormatter:()=>n});var s=i(59104),r=i(93302);class n{constructor(e){this._precision=e}format(e){return(void 0!==this._precision?e.toFixed(this._precision):n.formatNoE(e)).replace(".",s.formatterOptions.decimalSign)}parse(e){const t=e.replace(s.formatterOptions.decimalSign,".");let i=parseFloat(t);return this._precision&&(i=+i.toFixed(this._precision)),i}static formatNoE(e){if(!Number.isFinite(e))return String(e);const t=new r.Big(e);return t.lt(1)?t.toFixed():t.toString()}}},62159:(e,t,i)=>{"use strict";i.d(t,{PercentageFormatter:()=>n});var s=i(59104),r=i(76553);class n extends s.PriceFormatter{constructor(e){super(e),this.type="percentage"}state(){const e=s.PriceFormatter.prototype.state.call(this);return e.percent=!0,e}parse(e){return e=e.replace("%",""),super.parse(e)}format(e,t,i,s,n=!0){const o=super.format(e,t,i,s,!1)+"%";return n?(0,r.forceLTRStr)(o):o}static serialize(e){return e.state()}static deserialize(e){return new n(e.priceScale)}}},85421:(e,t,i)=>{"use strict";i.d(t,{PipFormatter:()=>r});var s=i(59104);class r extends s.PriceFormatter{constructor(e,t,i,s){t||(t=1),"forex"!==i&&"cfd"!==i||!s?(super(1),this._isForex=!1):(super(s),this._isForex=!0),this._pipPriceScale=e,this._pipMinMove=t,this._pipMinMove2=s}format(e,t,i){let s=this._isForex?this._pipMinMove2:this._pipMinMove;return void 0===s&&(s=NaN),super.format(e*this._pipPriceScale/s,t,i)}}},59104:(e,t,i)=>{"use strict";i.r(t),i.d(t,{formatterOptions:()=>l,numberToStringWithLeadingZero:()=>c,isFormatterHasForexAdditionalPrecision:()=>h,PriceFormatter:()=>d});var s=i(79881),r=i(47903),n=i(76553);const o=(0, +i(65447).getLogger)("Chart.PriceFormatter"),a=new RegExp(/^(-?)[0-9]+$/),l={decimalSign:".",decimalSignFractional:"'"};function c(e,t){if(!(0,r.isNumber)(e))return"n/a";if(!(0,r.isInteger)(t))throw new TypeError("invalid length");if(t<0||t>16)throw new TypeError("invalid length");if(0===t)return e.toString();return("0000000000000000"+e.toString()).slice(-t)}function h(e){return"hasForexAdditionalPrecision"in e}class d{constructor(e,t,i,n){if(this.type="price",this._formatterErrors={custom:(0,s.t)("Price format is invalid."),fraction:(0,s.t)("Fraction part is invalid."),secondFraction:(0,s.t)("Second fraction part is invalid.")},t||(t=1),(0,r.isNumber)(e)&&(0,r.isInteger)(e)||(e=100),e<0)throw new TypeError("invalid base");this._priceScale=e,this._minMove=t,this._minMove2=n,i&&void 0!==n&&n>0&&2!==n&&4!==n&&8!==n?o.logDebug("invalid minmove2"):(this._fractional=i,this.calculateDecimal())}isFractional(){return!!this._fractional}state(){return{fractional:this._fractional,fractionalLength:this._fractionalLength,minMove:this._minMove,minMove2:this._minMove2,priceScale:this._priceScale}}calculateDecimal(){if(this._fractionalLength=0,this._priceScale>0&&this._minMove>0){let e=this._priceScale;for(this._fractional&&this._minMove2&&(e/=this._minMove2);e>1;)e/=10,this._fractionalLength++}}format(e,t,i,s=!0,r=!0){let o,a="";return e<0?(a=!1===s?"":"−",e=-e):e&&!0===t&&(a="+"),o=this._fractional?a+this._formatAsFractional(e,i):a+this._formatAsDecimal(e,i),r?(0,n.forceLTRStr)(o):o}parse(e){return e=(e=(0,n.stripLTRMarks)(e)).replace("−","-"),this._fractional?this._minMove2?this._parseAsDoubleFractional(e):this._parseAsSingleFractional(e):this._parseAsDecimal(e)}hasForexAdditionalPrecision(){return!this._fractional&&10===this._minMove2}static serialize(e){return e.state()}static deserialize(e){return new d(e.priceScale,e.minMove,e.fractional,e.minMove2)}_formatAsDecimal(e,t){let i;t=t||0,i=this._fractional?Math.pow(10,this._fractionalLength||0):Math.pow(10,t)*this._priceScale/this._minMove;const s=1/i;let r;if(i>1)r=Math.floor(e);else{const t=Math.floor(Math.round(e/s)*s);r=0===Math.round((e-t)/s)?t:t+s}let n="";if(i>1){let s=parseFloat((Math.round(e*i)-r*i).toFixed(this._fractionalLength));s>=i&&(s-=i,r+=1);const o=void 0!==this._fractionalLength?this._fractionalLength:NaN;n=l.decimalSign+c(parseFloat(s.toFixed(this._fractionalLength))*this._minMove,o+t),n=this._removeEndingZeros(n,t)}return r.toString()+n}_getFractPart(e,t){const i=[0,5],s=[0,2,5,7];return 2===t?void 0===i[e]?-1:i[e]:4===t?void 0===s[e]?-1:s[e]:e}_formatAsFractional(e,t){const i=this._priceScale/this._minMove;let s=Math.floor(e),r=t?Math.floor(e*i)-s*i:Math.round(e*i)-s*i;r===i&&(r=0,s+=1);let n="";if(t){let o=(e-s-r/i)*i;o=Math.round(o*Math.pow(10,t)),n=c(o,t),n=this._removeEndingZeros(n,t)}if(!this._fractionalLength)throw new Error("_fractionalLength is not calculated");let o="";if(this._minMove2){const e=r%this._minMove2;r=(r-e)/this._minMove2;const t=c(r,this._fractionalLength),i=this._getFractPart(e,this._minMove2);o=t+l.decimalSignFractional+i +}else r=this._getFractPart(r,this._priceScale),o=c(r*this._minMove,this._fractionalLength);return s.toString()+l.decimalSignFractional+o+n}_removeEndingZeros(e,t){for(let i=0;i=s||r<0)return{error:this._formatterErrors.fraction,res:!1};let n=i+r/s;return e&&(n=-n),{value:n,res:!0,suggest:this.format(n)}}return{error:this._formatterErrors.custom,res:!1}}_parseAsDoubleFractional(e){let t=a.exec(e);if(t){const t=parseFloat(e);return{value:t,res:!0,suggest:this.format(t)}}if(t=new RegExp("^(-?)([0-9]+)\\"+l.decimalSignFractional+"([0-9]+)\\"+l.decimalSignFractional+"([0-9]+)$").exec(e),t){const e=!!t[1],i=parseInt(t[2]),s=void 0!==this._minMove2?this._minMove2:NaN,r=this._priceScale/s,n=this._minMove2,o=this._patchFractPart(parseInt(t[3]),r),a=this._patchFractPart(parseInt(t[4]),n);if(o>=r||o<0)return{error:this._formatterErrors.fraction,res:!1};if(void 0!==n&&a>=n||a<0)return{error:this._formatterErrors.secondFraction,res:!1};let l=void 0!==n?i+o/r+a/(r*n):NaN;return e&&(l=-l),{value:l,res:!0,suggest:this.format(l)}}return{error:this._formatterErrors.custom,res:!1}}}},18675:(e,t,i)=>{"use strict";i.d(t,{TimeFormatter:()=>n});var s=i(62737),r=i(59104);class n{constructor(e){this._formatStr=e||"%h:%m:%s"}format(e){return s.customFormatters.timeFormatter?s.customFormatters.timeFormatter.format(e):this._formatStr.replace("%h",(0,r.numberToStringWithLeadingZero)(e.getUTCHours(),2)).replace("%m",(0,r.numberToStringWithLeadingZero)(e.getUTCMinutes(),2)).replace("%s",(0,r.numberToStringWithLeadingZero)(e.getUTCSeconds(),2))}formatLocal(e){return s.customFormatters.timeFormatter?s.customFormatters.timeFormatter.formatLocal?s.customFormatters.timeFormatter.formatLocal(e):s.customFormatters.timeFormatter.format(e):this._formatStr.replace("%h",(0,r.numberToStringWithLeadingZero)(e.getHours(),2)).replace("%m",(0,r.numberToStringWithLeadingZero)(e.getMinutes(),2)).replace("%s",(0,r.numberToStringWithLeadingZero)(e.getSeconds(),2))}}},1953:(e,t,i)=>{"use strict";i.d(t,{TimeSpanFormatter:()=>r});var s=i(79881);class r{format(e){const t=e<0;e=Math.abs(e);const i=Math.floor(e/86400);e-=86400*i;const r=Math.floor(e/3600);e-=3600*r;const n=Math.floor(e/60);e-=60*n;let o="";return i&&(o+=i+(0,s.t)("d",{context:"dates"})+" "),r&&(o+=r+(0,s.t)("h",{ +context:"dates"})+" "),n&&(o+=n+(0,s.t)("m",{context:"dates"})+" "),e&&(o+=e+(0,s.t)("s",{context:"dates"})+" "),t&&(o="-"+o),o.trim()}}},76559:(e,t,i)=>{"use strict";i.d(t,{VolumeFormatter:()=>a});var s=i(79881),r=i(57649),n=i(47903),o=i(75496);class a{constructor(e){this.type="volume",this._numericFormatter=new r.NumericFormatter,this._fractionalValues=void 0!==e&&e>0,this._precision=e}state(){return{precision:this._precision}}format(e,t){if(!(0,n.isNumber)(e))return"---";let i="";return e<0?(i="−",e=-e):e>0&&t&&(i="+"),e>=1e100?(0,s.t)("N/A"):(!this._fractionalValues||e>=995?e=Math.round(e):this._fractionalValues&&(e=+e.toFixed(this._precision)),e<995?i+this._formatNumber(e):e<999995?i+this._formatNumber(e/1e3)+"K":e<999999995?(e=1e3*Math.round(e/1e3),i+this._formatNumber(e/1e6)+"M"):e<999999999995?(e=1e6*Math.round(e/1e6),i+this._formatNumber(e/1e9)+"B"):(e=1e9*Math.round(e/1e9),i+this._formatNumber(e/1e12)+"T"))}parse(e){if("---"===e)return{error:"not a number",res:!1,value:NaN};const t={K:1e3,M:1e6,B:1e9},i=e.slice(-1);if(t.hasOwnProperty(i)){const s=this._numericFormatter.parse(e.slice(0,-1));return(0,n.isNumber)(s)?{res:!0,value:s*t[i]}:{error:"not a number",res:!1,value:NaN}}{const t=this._numericFormatter.parse(e);return(0,n.isNumber)(t)?{res:!0,value:t}:{error:"not a number",res:!1,value:NaN}}}static serialize(e){return e.state()}static deserialize(e){return new a(e.precision)}_formatNumber(e){return this._fractionalValues&&(e=(0,o.fixComputationError)(e)),this._numericFormatter.format(e).replace(/(\.[1-9]*)0+$/,(e,t)=>t)}}},7518:(e,t,i)=>{"use strict";i.d(t,{shouldBeFormattedAsPercent:()=>n,getPriceValueFormatterForSource:()=>o});var s=i(25436),r=i(58007);function n(e){const t=e.priceScale();return!(null===t||!t.isPercentage())&&(!(0,r.isSymbolSource)(e)||(0,s.isPriceSourceStyle)(e.style()))}function o(e){const t=e.priceScale();if(n(e)&&null!==t)return i=>{var s;return t.formatPricePercentage(i,null!==(s=e.firstValue())&&void 0!==s?s:100)};const i=e.formatter();return i.format.bind(i)}},10288:(e,t,i)=>{"use strict";function s(e,t,i){if(e.isTouch){if(void 0!==i)return i(e),!0}else if(void 0!==t)return t(e),!0;return!1}function r(e,t,i,s){return void 0!==t.executeDefaultAction&&(e.isTouch?Boolean(t.executeDefaultAction[s]):Boolean(t.executeDefaultAction[i]))}var n;i.d(t,{tryCallHandler:()=>s,shouldDefaultActionBeExecuted:()=>r,AreaName:()=>n,HitTestResult:()=>o}),function(e){e.Style="Style",e.Text="Text",e.SourceItemMove="SourceItemMove"}(n||(n={}));class o{constructor(e,t,i){this._result=e,this._data=t||null,this._eraseMarker=i}result(){return this._result}data(){return this._data}hasPressedMoveHandler(e){return null!==this._data&&function(e,t,i){if(e.isTouch){if(void 0!==i)return!0}else if(void 0!==t)return!0;return!1}(e,this._data.pressedMouseMoveHandler,this._data.touchMoveHandler)}tryCallMouseDownOrTouchStartHandler(e){return null!==this._data&&s(e,this._data.mouseDownHandler,this._data.touchStartHandler)}tryCallMouseUpOrTouchEndHandler(e){ +return null!==this._data&&s(e,this._data.mouseUpHandler,this._data.touchEndHandler)}tryCallMouseEnterHandler(e){return null!==this._data&&s(e,this._data.mouseEnterHandler)}tryCallMouseLeaveHandler(e){return null!==this._data&&s(e,this._data.mouseLeaveHandler)}tryCallMouseMoveHandler(e){return null!==this._data&&s(e,this._data.mouseMoveHandler)}tryCallClickOrTapHandler(e){return null!==this._data&&s(e,this._data.clickHandler,this._data.tapHandler)}tryCallDblClickOrDblTapHandler(e){return null!==this._data&&s(e,this._data.doubleClickHandler,this._data.doubleTapHandler)}tryCallContextMenuHandler(e){return null!==this._data&&s(e,this._data.contextMenuHandler,this._data.touchContextMenuHandler)}eraseMarker(){return this._eraseMarker}}o.MOVEPOINT_BACKGROUND=1,o.REGULAR=2,o.MOVEPOINT=3,o.CHANGEPOINT=4,o.CUSTOM=5},42225:(e,t,i)=>{"use strict";i.d(t,{HorizontalLinePaneView:()=>n});var s=i(29982),r=i(33420);class n{constructor(){this._lineRendererData={y:0,color:"rgba(0, 0, 0, 0)",linewidth:1,linestyle:r.LINESTYLE_SOLID,visible:!1},this._lineRenderer=new s.HorizontalLineRenderer,this._invalidated=!0,this._lineRenderer.setData(this._lineRendererData)}update(){this._invalidated=!0}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._lineRenderer}}},23221:(e,t,i)=>{"use strict";var s,r;i.d(t,{PositionPLDisplay:()=>s,TradingSourcesHorizontalAlignment:()=>r,tradingPreferencesDefault:()=>n,CustomSourceLayer:()=>o}),function(e){e[e.Money=0]="Money",e[e.Pips=1]="Pips",e[e.Percentage=2]="Percentage"}(s||(s={})),function(e){e[e.Left=0]="Left",e[e.Center=1]="Center",e[e.Right=2]="Right"}(r||(r={}));const n={showPositions:!1,positionPL:{visibility:!1,display:s.Money},showOrders:!1,showExecutions:!1,showReverse:!1,extendLeft:!1,lineLength:0,horizontalAlignment:r.Right,lineWidth:0,lineStyle:0};var o;!function(e){e[e.Background=0]="Background",e[e.Foreground=1]="Foreground",e[e.Topmost=2]="Topmost"}(o||(o={}))},35001:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ResolutionKind:()=>n,SpecialResolutionKind:()=>o,Interval:()=>h,isHour:()=>u});const s=/^(\d*)([TSHDWMR])$/,r=/^(\d+)$/;var n,o;!function(e){e.Ticks="ticks",e.Seconds="seconds",e.Minutes="minutes",e.Days="days",e.Weeks="weeks",e.Months="months",e.Range="range",e.Invalid="invalid"}(n||(n={})),function(e){e.Hours="hours"}(o||(o={}));const a={};a[n.Ticks]=1e3,a[n.Seconds]=1e3,a[n.Minutes]=60*a[n.Seconds],a[n.Days]=1440*a[n.Minutes],a[n.Weeks]=7*a[n.Days];const l={T:n.Ticks,S:n.Seconds,D:n.Days,W:n.Weeks,M:n.Months,R:n.Range},c=new Set([n.Ticks,n.Seconds,n.Minutes]);class h{constructor(e,t){this._kind=n.Invalid,this._multiplier=0,e!==n.Invalid&&t>0&&(this._kind=e,this._multiplier=t)}kind(){return this._kind}multiplier(){return this._multiplier}isValid(){return this.kind()!==n.Invalid&&this.multiplier()>0}isDWM(){return this.isValid()&&!this.isRange()&&!this.isIntraday()&&!this.isTicks()}isIntraday(){const e=c.has(this.kind());return this.isValid()&&e}isSeconds(){return this.kind()===n.Seconds}isMinutes(){return this.kind()===n.Minutes}isMinuteHours(){ +return this.kind()===n.Minutes&&u(this.multiplier())}isDays(){return this.kind()===n.Days}isWeeks(){return this.kind()===n.Weeks}isMonths(){return this.kind()===n.Months}isRange(){return this.kind()===n.Range}isTicks(){return this.kind()===n.Ticks}isTimeBased(){return!this.isRange()}letter(){return this.isValid()&&this.kind()!==n.Minutes?this.kind()[0].toUpperCase():""}value(){return this.isValid()?this.kind()===n.Minutes?this.multiplier()+"":this.multiplier()+this.letter():""}isEqualTo(e){if(!(e instanceof h))throw new Error("Argument is not an Interval");return!(!this.isValid()||!e.isValid())&&(this.kind()===e.kind()&&this.multiplier()===e.multiplier())}inMilliseconds(e=Date.now()){if(!this.isValid()||this.isRange())return NaN;if(this.isMonths()){const t=new Date(e);t.setUTCMonth(t.getUTCMonth()+(this.multiplier()||1));return+t-e}const t=this.multiplier();return a[this.kind()]*t}static isEqual(e,t){return e===t||h.parse(e).isEqualTo(h.parse(t))}static parseExt(e){e=(e+"").toUpperCase().split(",")[0];let t=s.exec(e);return null!==t?"H"===t[2]?{interval:new h(n.Minutes,60*d(t[1])),guiResolutionKind:o.Hours}:{interval:new h(l[t[2]],d(t[1])),guiResolutionKind:l[t[2]]}:(t=r.exec(e),null!==t?{interval:new h(n.Minutes,d(t[1])),guiResolutionKind:n.Minutes}:{interval:new h(n.Invalid,0),guiResolutionKind:n.Invalid})}static parse(e){return h.parseExt(e).interval}static kind(e){return h.parse(e).kind()}static isValid(e){return h.parse(e).isValid()}static isDWM(e){return h.parse(e).isDWM()}static isIntraday(e){return h.parse(e).isIntraday()}static isSeconds(e){return h.parse(e).isSeconds()}static isMinutes(e){return h.parse(e).isMinutes()}static isMinuteHours(e){return h.parse(e).isMinuteHours()}static isDays(e){return h.parse(e).isDays()}static isWeeks(e){return h.parse(e).isWeeks()}static isMonths(e){return h.parse(e).isMonths()}static isRange(e){return h.parse(e).isRange()}static isTicks(e){return h.parse(e).isTicks()}static isTimeBased(e){return h.parse(e).isTimeBased()}static normalize(e){const t=h.parse(e);return t.isValid()?t.value():null}}function d(e){return 0===e.length?1:parseInt(e,10)}function u(e){return e>=60&&!(e%60)}},25220:(e,t,i)=>{"use strict";i.d(t,{intervalsVisibilitiesDefaults:()=>s});const s={ticks:!0,seconds:!0,secondsFrom:1,secondsTo:59,minutes:!0,minutesFrom:1,minutesTo:59,hours:!0,hoursFrom:1,hoursTo:24,days:!0,daysFrom:1,daysTo:366,weeks:!0,weeksFrom:1,weeksTo:52,months:!0,monthsFrom:1,monthsTo:12,ranges:!0}},81694:(e,t,i)=>{"use strict";i.d(t,{IntervalsVisibilitiesProperty:()=>n});var s=i(674),r=i.n(s);i(89537);class n extends(r()){state(e){return super.state(e)}storeStateIfUndefined(){return!1}}},89537:(e,t,i)=>{"use strict";i.d(t,{makeIntervalsVisibilitiesVisibleAtInterval:()=>a,isActualInterval:()=>c,nonDefaultIntervalsVisibilities:()=>h,mergeIntervalVisibilitiesDefaults:()=>d});var s=i(16282),r=i(35001),n=i(25220),o=i(47903);function a(e,t){let i=t.multiplier();if(t.isTicks()&&(e.ticks=!0),t.isSeconds()&&(i<60?(e.seconds=!0,e.secondsFrom=Math.min(e.secondsFrom,i), +e.secondsTo=Math.max(e.secondsTo,i)):(i/=60,t=new r.Interval(r.ResolutionKind.Minutes,i))),t.isMinutes())if(i<60)e.minutes=!0,e.minutesFrom=Math.min(e.minutesFrom,i),e.minutesTo=Math.max(e.minutesTo,i);else{const t=Math.floor(i/60);e.hours=!0,e.hoursFrom=Math.min(e.hoursFrom,t),e.hoursTo=Math.max(e.hoursTo,t)}t.isDays()&&(e.days=!0,e.daysFrom=Math.min(e.daysFrom,i),e.daysTo=Math.max(e.daysTo,i)),t.isWeeks()&&(e.weeks=!0,e.weeksFrom=Math.min(e.weeksFrom,i),e.weeksTo=Math.max(e.weeksTo,i)),t.isMonths()&&(e.months=!0,e.monthsFrom=Math.min(e.monthsFrom,i),e.monthsTo=Math.max(e.monthsTo,i)),t.isRange()&&(e.ranges=!0)}function l(e,t,i,s){return e&&s>=t&&s<=i}function c(e,t){const i=t.childs();switch(e.kind()){case r.ResolutionKind.Ticks:return i.ticks.value();case r.ResolutionKind.Seconds:if(e.multiplier()<60)return l(i.seconds.value(),i.secondsFrom.value(),i.secondsTo.value(),e.multiplier());{const t=Math.floor(e.multiplier()/60);return l(i.minutes.value(),i.minutesFrom.value(),i.minutesTo.value(),t)}case r.ResolutionKind.Minutes:if(e.multiplier()<60)return l(i.minutes.value(),i.minutesFrom.value(),i.minutesTo.value(),e.multiplier());{const t=Math.floor(e.multiplier()/60);return l(i.hours.value(),i.hoursFrom.value(),i.hoursTo.value(),t)}case r.ResolutionKind.Days:return l(i.days.value(),i.daysFrom.value(),i.daysTo.value(),e.multiplier());case r.ResolutionKind.Weeks:return l(i.weeks.value(),i.weeksFrom.value(),i.weeksTo.value(),e.multiplier());case r.ResolutionKind.Months:return l(i.months.value(),i.monthsFrom.value(),i.monthsTo.value(),e.multiplier());case r.ResolutionKind.Range:return i.ranges.value()}return(0,s.assert)(!1,"Unsupported resolution: "+e.value()),!1}function h(e){const t=Object.keys(e).filter(t=>n.intervalsVisibilitiesDefaults[t]!==e[t]);return 0===t.length?null:t.reduce((t,i)=>(t[i]=e[i],t),{})}function d(e){return(0,o.merge)((0,o.clone)(n.intervalsVisibilitiesDefaults),null!=e?e:{})}},21698:(e,t,i)=>{"use strict";function s(e){return Boolean(e.showInObjectTree)}i.d(t,{isDataSource:()=>s})},60183:(e,t,i)=>{"use strict";var s;i.d(t,{SymbolErrorPermissionDeniedReason:()=>s,permissionDenied:()=>r}),function(e){e.Symbol="symbol",e.GroupPermission="group"}(s||(s={}));const r="permission denied"},58007:(e,t,i)=>{"use strict";function s(e){return e.symbolSource&&e.symbolSource()===e}i.d(t,{isSymbolSource:()=>s})},81773:(e,t,i)=>{"use strict";var s=i(674),r=i(47903).isSameType,n=i(11092).DefaultProperty;function o(e,t,i,s){this._map=Object.assign({},this._map,s),t&&(t=this.unpackLevels(t)),n.call(this,e,t,i)}inherit(o,n),o.prototype.state=function(e,t){e=e||[];var i=s.prototype.state.call(this,e);return t?i:this.packLevels(i)},o.prototype.clone=function(){for(var e=this.state(),t=new o(this._defaultName,e),i=0;i{"use strict";i.d(t,{LineToolsGroupModel:()=>o});var s=i(5729),r=i.n(s),n=i(85285);class o{constructor(e){this._onChanged=new(r()),this._groups=[],this._groups=e||[],this._groups.forEach(e=>{e.onChanged().subscribe(null,t=>this._onChanged.fire(e.id,t))})}groups(){return this._groups.filter(e=>e.isActualSymbol())}groupsForAllSymbols(){return this._groups}createGroup(e,t,i){t=t||this._generateNextName();const s=new n.LineToolsGroup(e,t,i);this._groups.push(s),s.onChanged().subscribe(null,e=>this._onChanged.fire(s.id,e));const r={visibilityChanged:!1,lockedChanged:!1,titleChanged:!1,isActualIntervalChanged:!1,affectedLineTools:e.map(e=>e.id())};return this._onChanged.fire(s.id,r),s}addGroup(e){this._groups.push(e),e.onChanged().subscribe(null,t=>this._onChanged.fire(e.id,t)),this._onChanged.fire(e.id)}removeGroup(e){const t=this._groups.findIndex(t=>t.id===e.id);this._groups.splice(t,1),this._onChanged.fire(e.id)}groupForId(e){return this._groups.find(t=>t.id===e)||null}groupForLineTool(e){return this._groups.find(t=>t.containsLineTool(e))||null}removeLineTools(e){this._groups.forEach(t=>{const i=e.filter(t.containsLineTool.bind(t));i.length&&t.excludeLineTools(i)});this._groups.filter(e=>0===e.lineTools().length).forEach(e=>this.removeGroup(e))}state(e){return{groups:(e?this._groups.filter(e=>e.isActualSymbol()):this._groups).map(e=>e.state())}}onChanged(){return this._onChanged}fireChangedAll(){this._groups.forEach(e=>{this._onChanged.fire(e.id)})}static fromState(e,t){const i=[];for(const s of t.groups){const t=n.LineToolsGroup.fromState(e,s);null!==t&&i.push(t)}return new o(i)}_generateNextName(){const e=new Set(this.groups().map(e=>e.name()));for(let t=1;;t++){const i="Group "+t,s="Group_"+t;if(!e.has(i)&&!e.has(s))return i}}}},85285:(e,t,i)=>{"use strict";i.d(t,{LineToolsGroup:()=>l});var s=i(5729),r=i.n(s),n=i(45259);function o(e){return e.properties().visible.value()}function a(e){return!o(e)}class l{constructor(e,t,i){this._instanceId=(0,n.randomHashN)(6),this._onChanged=new(r()),this._lineToolsSet=new Set,this._lineTools=[...e], +this._lineToolsSet=new Set(this._lineTools),this._name=t,this.id=i||(0,n.randomHashN)(6)}instanceId(){return this._instanceId}lineTools(){return this._lineTools}name(){return this._name}setName(e){this._doAndFireOnChange(()=>{this._name=e})}isActualSymbol(){return this._lineTools.length>0&&this._lineTools[0].isActualSymbol()&&this._lineTools[0].isActualCurrency()&&this._lineTools[0].isActualUnit()}symbol(){return this._lineTools[0].symbol()}currencyId(){var e;return null!==(e=this._lineTools[0].properties().childs().currencyId.value())&&void 0!==e?e:null}unitId(){var e;return null!==(e=this._lineTools[0].properties().childs().unitId.value())&&void 0!==e?e:null}sharingMode(){return this._lineTools[0].sharingMode()}share(e){this._lineTools.forEach(t=>t.share(e))}containsLineTool(e){return this._lineToolsSet.has(e)}addLineTools(e){this._doAndFireOnChange(t=>{e.forEach(e=>this._lineToolsSet.add(e)),this._lineTools.push(...e),t.push(...e.map(e=>e.id()))})}excludeLineTool(e){this._doAndFireOnChange(t=>{this._lineToolsSet.delete(e);const i=this._lineTools.indexOf(e);this._lineTools.splice(i,1),t.push(e.id())})}excludeLineTools(e){this._doAndFireOnChange(t=>{const i=new Set(e);e.forEach(e=>this._lineToolsSet.delete(e)),this._lineTools=this._lineTools.filter(e=>!i.has(e)),t.push(...e.map(e=>e.id()))})}state(){return{id:this.id,name:this._name,tools:this._lineTools.map(e=>e.id())}}visibility(){const e=this._lineTools.some(o),t=this._lineTools.some(a);return e&&!t?"Visible":t&&!e?"Invisible":"Partial"}locked(){const e=this._lineTools.some(e=>e.properties().frozen.value()),t=this._lineTools.some(e=>!e.properties().frozen.value());return e&&!t?"Locked":t&&!e?"Unlocked":"Partial"}isActualInterval(){const e=this._lineTools.some(e=>e.isActualInterval()),t=this._lineTools.some(e=>!e.isActualInterval());return e&&!t?"IsActualInterval":t&&!e?"IsNotActualInterval":"Partial"}onChanged(){return this._onChanged}static fromState(e,t){const i=[];for(const s of t.tools){const t=e.dataSourceForId(s);null!==t&&i.push(t)}return i.length>0?new l(i,t.name,t.id):null}_doAndFireOnChange(e){const t=[],i=this.visibility(),s=this.locked(),r=this.name(),n=this.isActualInterval();e(t),this._onChanged.fire({affectedLineTools:t,visibilityChanged:i!==this.visibility(),lockedChanged:s!==this.locked(),titleChanged:r!==this.name(),isActualIntervalChanged:n!==this.isActualInterval()})}}},98127:(e,t,i)=>{"use strict";i.d(t,{LineTool5PointsPattern:()=>a});var s=i(16282),r=i(11092),n=i(76117),o=i(39096);class a extends n.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._loadPaneViews(e)}pointsCount(){return 5}name(){return"XABCD Pattern"}static createProperties(e){const t=new r.DefaultProperty("linetool5pointspattern",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,84377)).then(e=>e.PatternWithBackgroundDefinitionViewModel)}_loadPaneViews(e){i.e(1583).then(i.bind(i,55913)).then(t=>{this._setPaneViews([new t.Pattern5pointsPaneView(this,e)])})} +static _configureProperties(e){n.LineDataSource._configureProperties(e),e.addChild("linesColors",new o.LineToolColorsProperty([(0,s.ensureDefined)(e.child("color"))])),e.addChild("textsColors",new o.LineToolColorsProperty([(0,s.ensureDefined)(e.child("textcolor"))]))}}},95026:(e,t,i)=>{"use strict";i.d(t,{LineToolABCD:()=>a});var s=i(16282),r=i(11092),n=i(76117),o=i(39096);class a extends n.LineDataSource{constructor(e,t){const s=t||a.createProperties();super(e,s),i.e(1583).then(i.bind(i,31017)).then(t=>{this._setPaneViews([new t.ABCDPaneView(this,e)])})}pointsCount(){return 4}name(){return"ABCD Pattern"}static createProperties(e){const t=new r.DefaultProperty("linetoolabcd",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,39942)).then(e=>e.PatternWithoutBackgroundDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e),e.addChild("linesColors",new o.LineToolColorsProperty([(0,s.ensureDefined)(e.child("color"))])),e.addChild("textsColors",new o.LineToolColorsProperty([(0,s.ensureDefined)(e.child("textcolor"))]))}}},93750:(e,t,i)=>{"use strict";i.d(t,{LineToolArc:()=>h});var s=i(16282),r=i(89684),n=i(72927),o=i(51102),a=i(11092),l=i(76117),c=i(39096);class h extends l.LineDataSource{constructor(e,t){const s=t||h.createProperties();super(e,s),this.version=2,this._dist=null,i.e(1583).then(i.bind(i,35049)).then(({ArcPaneView:t})=>{const i=[new t(this,e)];this._setPaneViews(i)})}startChanging(e,t){if(super.startChanging(e,t),0===e||1===e){const e=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),t=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[1])),i=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[2]));this._dist=(0,r.distanceToLine)(e,t,i).distance;const o=t.subtract(e),a=new n.Point(-o.y,o.x),l=e.add(t).scaled(.5);i.subtract(l).dotProduct(a)<0&&(this._dist=-this._dist)}}endChanging(e,t){return this._dist=null,super.endChanging(e,t)}pointsCount(){return 3}name(){return"Arc"}hasEditableCoordinates(){return!1}setPoint(e,t){const i={...t},a=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),l=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[1]));switch(e){case 0:{const e=(0,s.ensureNotNull)(this._dist),t=(0,s.ensureNotNull)(this.pointToScreenPoint(i)),r=l.subtract(t),o=t.add(l).scaled(.5);let a=new n.Point(-r.y,r.x);a=a.normalized();const c=o.add(a.scaled(e));this._points[0]=i,this._points[2]=(0,s.ensureNotNull)(this.screenPointToPoint(c));break}case 1:{const e=(0,s.ensureNotNull)(this._dist),t=(0,s.ensureNotNull)(this.pointToScreenPoint(i)),r=t.subtract(a),o=a.add(t).scaled(.5),l=new n.Point(-r.y,r.x).normalized(),c=o.add(l.scaled(e));this._points[1]=i,this._points[2]=(0,s.ensureNotNull)(this.screenPointToPoint(c));break}case 2:{let e=(0,s.ensureNotNull)(this.pointToScreenPoint(i));const t=(0, +r.distanceToLine)(a,l,e).distance,c=l.subtract(a),h=a.add(l).scaled(.5),d=new n.Point(-c.y,c.x).normalized(),u=h.add(d.scaled(t)),p=h.add(d.scaled(-t)),_=c.length(),m=c.x/_,g=c.y/_;let f=Math.acos(m);g<0&&(f=-f);let v=(0,o.translationMatrix)(-h.x,-h.y);e=(0,o.transformPoint)(v,e);let S=(0,o.transformPoint)(v,u);v=(0,o.rotationMatrix)(-f),e=(0,o.transformPoint)(v,e),S=(0,o.transformPoint)(v,S),v=(0,o.scalingMatrix)(1,_/(2*t)),e=(0,o.transformPoint)(v,e),S=(0,o.transformPoint)(v,S);const y=e.y*S.y>=0?new n.Point(u.x,u.y):new n.Point(p.x,p.y);this._points[2]=(0,s.ensureNotNull)(this.screenPointToPoint(y));break}}this.normalizePoints()}migrateVersion(e,t,i){if(1===e&&2===this._points.length){const e=(2*this._points[0].price+3*this._points[1].price)/5;this._points.push({price:e,index:this._points[1].index})}if(1===e&&2===this._timePoint.length){const e={price:(2*this._timePoint[0].price+3*this._timePoint[1].price)/5,offset:this._timePoint[1].offset,time_t:this._timePoint[1].time_t};this._timePoint.push(e)}}static createProperties(e){const t=new a.DefaultProperty("linetoolarc",e);return h._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,32454))).GeneralFiguresDefinitionsViewModelBase}static _configureProperties(e){l.LineDataSource._configureProperties(e),e.addChild("linesColors",new c.LineToolColorsProperty([e.childs().color]))}}},35320:(e,t,i)=>{"use strict";i.d(t,{LineToolArrowMark:()=>l,LineToolArrowMarkLeft:()=>c,LineToolArrowMarkUp:()=>h,LineToolArrowMarkRight:()=>d,LineToolArrowMarkDown:()=>u});var s=i(11092),r=i(76117),n=i(674),o=i.n(n),a=i(39096);class l extends r.LineDataSource{constructor(e,t,s){const r=t||l.createProperties(null,s);super(e,r),this._textPaneView=null,i.e(1583).then(i.bind(i,92713)).then(({ArrowMarkPaneView:t})=>{const i=[new t(this,e)];this._setPaneViews(i)})}paneViews(e){const t=super.paneViews();return null!==t&&this._textPaneView&&t.push(this._textPaneView),t}pointsCount(){return 1}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}static createProperties(e,t){const i=new s.DefaultProperty(t,e);return l._configureProperties(i),i}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,68854)).then(e=>e.ArrowMarkDefinitionsViewModel)}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new a.LineToolColorsProperty([e.childs().arrowColor])),e.addChild("textsColors",new a.LineToolColorsProperty([e.childs().color])),e.hasChild("text")||e.addChild("text",new(o())("")),e.addExclusion("text")}}l.version=2;class c extends l{constructor(e,t){super(e,t,"linetoolarrowmarkleft")}direction(){return"left"}name(){return"Arrow Mark Left"}textAlignParams(){return{horzAlign:"left",vertAlign:"middle",offsetX:22,offsetY:3}}static createProperties(e){ +return l.createProperties(e,"linetoolarrowmarkleft")}}class h extends l{constructor(e,t){super(e,t,"linetoolarrowmarkup")}direction(){return"up"}name(){return"Arrow Mark Up"}textAlignParams(){return{horzAlign:"center",vertAlign:"top",offsetX:0,offsetY:20}}static createProperties(e){return l.createProperties(e,"linetoolarrowmarkup")}}class d extends l{constructor(e,t){super(e,t,"linetoolarrowmarkright")}direction(){return"right"}name(){return"Arrow Mark Right"}textAlignParams(){return{horzAlign:"right",vertAlign:"middle",offsetX:22,offsetY:3,forceTextAlign:!0}}static createProperties(e){return l.createProperties(e,"linetoolarrowmarkright")}}class u extends l{constructor(e,t){super(e,t,"linetoolarrowmarkdown")}direction(){return"down"}name(){return"Arrow Mark Down"}textAlignParams(){return{horzAlign:"center",vertAlign:"bottom",offsetX:0,offsetY:20}}static createProperties(e){return l.createProperties(e,"linetoolarrowmarkdown")}}},76292:(e,t,i)=>{"use strict";i.d(t,{LineToolArrowMarker:()=>a});var s=i(76117),r=i(11092),n=i(674),o=i.n(n);class a extends s.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),i.e(1583).then(i.bind(i,3305)).then(({ArrowMarkerPaneView:e})=>{this._setPaneViews([new e(this,this.model())])})}pointsCount(){return 2}name(){return"Trend Line"}static createProperties(e){const t=new r.DefaultProperty("linetoolarrowmarker",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,60810)).then(e=>e.ArrowMarkerDefinitionsViewModel)}static _configureProperties(e){s.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new(o())("")),e.addExclusion("text")}}},26478:(e,t,i)=>{"use strict";var s=i(12565).LineToolTrendLine,r=i(11092).DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties())}name(){return"Arrow"}static createProperties(e){var t=new r("linetoolarrow",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolArrow=n},25830:(e,t,i)=>{"use strict";i.d(t,{LineToolBalloon:()=>h});var s=i(79881),r=i(11092),n=i(76117),o=i(674),a=i.n(o),l=i(39096);const c=(0,s.t)("Comment");class h extends n.LineDataSource{constructor(e,t){const s=t||h.createProperties();super(e,s),i.e(1583).then(i.bind(i,73955)).then(t=>{this._setPaneViews([new t.BalloonPaneView(this,e)])})}pointsCount(){return 1}name(){return"Balloon"}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}static createProperties(e){const t=new r.DefaultProperty("linetoolballoon",e);return h._configureProperties(t),t}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,27340)).then(e=>e.BalloonDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new(a())(c)),e.addExclusion("text"), +e.addChild("linesColors",new l.LineToolColorsProperty([e.childs().borderColor])),e.addChild("textsColors",new l.LineToolColorsProperty([e.childs().color]))}}},43492:(e,t,i)=>{"use strict";i.d(t,{BarsMarksContainer:()=>T});var s=i(16282),r=i(65447),n=i(64222),o=i.n(n),a=i(27490),l=i(76117),c=i(5729),h=i.n(c),d=i(35001),u=i(47903),p=i(25436);class _{constructor(e,t){this.source=e,this._rendererFactory=t}update(){}renderer(e,t){return this._rendererFactory(this.source)}}var m=i(58729),g=i(54837),f=i(72927),v=i(10288),S=i(71044);const y={green:{border:"#78C143",background:"#8DDD54"},red:{border:"#CC4545",background:"#ED5A5A"},neutral:{border:"#EAC300",background:"#FFD400"},yellow:{border:"#EAC300",background:"#FFD400"},blue:{border:"#047ACE",background:"#0496FF"}};class b extends m.ScaledPaneRenderer{constructor(e,t){super(),this._highlightByAuthor=!1,this._barWidth=e.barWidth,this._plates=e.plates,this._tooltip=e.tooltip,this._model=t}hitTest(e){for(let t=this._plates.length-1;t>=0;--t){const i=this._hitTestDot(this._plates[t],e);if(i)return i}return null}_drawImpl(e){var t,i;e.save();for(let e=0;ethis._plateTransform(e));null===(t=this._tooltip)||void 0===t||t.draw(s,e),null===(i=this._tooltip)||void 0===i||i.endDraw(),e.restore()}_drawItem(e,t){e.save(),this._highlightByAuthor&&!t.highlightByAuthor&&(e.globalAlpha=.4);const i=this._dotTransform(t);i.mine?this._drawTriangle(e,i):this._drawDot(e,i),e.restore()}_commonTransform(e){const t=Math.max(1.4*e.minSize,this._barWidth+4),i={up:-1,down:1}[e.direction]*(e.yInverted?-1:1)*(t*(e.order+.6)+.25*t),s=e.y+i,r=(0,u.clone)(e.overridedTheme||y[e.theme]);return r.dotBorderWidth=e.hovered||e.highlightByAuthor?4:2,{id:e.id,theme:r,themeName:e.theme,x:Math.round(e.x+1),y:Math.round(s),yInverted:e.yInverted,pinned:Boolean(e.pinned),hovered:Boolean(e.hovered)}}_dotTransform(e){const t=Math.max(e.minSize/2,.4*this._barWidth),i={...this._commonTransform(e),radius:t,label:e.label,labelFontColor:e.labelFontColor,labelFontSize:Math.ceil(Math.max(10,Math.min(t,20)))};return this._model.updateDotData(e,i)}_plateTransform(e){const t=this._commonTransform(e);return this._model.updatePlateData(e,t)}_drawTriangle(e,t){e.strokeStyle=t.theme.border,e.fillStyle=t.theme.background,e.lineWidth=t.theme.dotBorderWidth||2;const i=t,s=t.radius,r=Math.cos(Math.PI/6)*s,n=Math.sin(Math.PI/6)*s;e.translate(i.x,i.y);"up"===t.direction!==t.yInverted&&e.rotate(Math.PI),t.public||(e.lineWidth/=2),e.beginPath(),e.moveTo(0,-s),e.lineTo(r,n),e.lineTo(-r,n),e.lineTo(0,-s),e.closePath(),e.stroke(),t.public&&e.fill()}_drawDot(e,t){e.strokeStyle=t.theme.border,e.fillStyle=t.theme.background,e.lineWidth=t.theme.dotBorderWidth||2,e.beginPath(),e.arc(t.x,t.y,t.radius,0,2*Math.PI,!0),e.closePath(),e.stroke(),e.fill(),t.label&&t.radius>=7&&(e.textAlign="center",e.textBaseline="middle",e.font="bold "+t.labelFontSize+"px "+g.CHART_FONT_FAMILY, +e.fillStyle=t.labelFontColor,e.fillText(t.label,t.x,t.y))}_hitTestDot(e,t){const i=this._dotTransform(e),s=new f.Point(i.x,i.y);return(0,S.pointInCircle)(t,s,Math.max(i.radius,8))?new v.HitTestResult(v.HitTestResult.REGULAR,{activeItem:e}):null}}var w=i(11092);const P=(0,r.getLogger)("Chart.BarsMarksContainer"),C=Math.round(new Date(2037,0,1).getTime()/1e3);class T extends l.LineDataSource{constructor(e,t){const i=e.onWidget();let r;if(r=i?!e.hideIdeas():!!a.enabled("bars_marks")&&o().getBool("BarsMarksContainer.visibile",!1),t)t.merge({visible:r,frozen:!1});else{t=new w.DefaultProperty("barmarks",{visible:r,frozen:!1})}t.childs().visible.listeners().subscribe(null,t=>{i||e.isSnapshot()||!a.enabled("bars_marks")||o().setValue("BarsMarksContainer.visibile",!!t.value()),this._tooltip&&this._tooltip.removeAll()}),l.LineDataSource._configureProperties(t),super(e,t),this.onNeedRepaint=new(h()),this._requests=[],this._marks={},this._loadedRange=null,this._getDataTimeout=null,this._collectedRange=null,this._lastRange=null,this._model.mainSeries().onSymbolIntervalChanged().subscribe(this,this.clearMarks),this._model.mainSeries().dataEvents().symbolResolved().subscribe(this,this.clearMarks),this._model.mainSeries().dataEvents().completed().subscribe(this,()=>{var e,t;const i=this._model.mainSeries().data();if(0===i.size())return;const r=(0,s.ensureNotNull)(i.first()).index,n=(0,s.ensureNotNull)(i.last()).index,o=this.timeScale();this.getData({start:null!==(e=o.indexToTimePoint(r))&&void 0!==e?e:1/0,end:null!==(t=o.indexToTimePoint(n))&&void 0!==t?t:-1/0})}),this._initialize(),this._pinnedTooltips={},this._tooltip=this._createTooltipRenderer()}marks(){return this._marks}updateDotData(e,t){return t}isAvailableInFloatingWidget(){return!1}pinTooltip(e,t){this._pinnedTooltips[e]=t}timeScale(){return this._model.timeScale()}getIntervalInTicks(){const e=this._model.mainSeries().properties().childs().interval.value(),t=d.Interval.parse(e);if(!t.isValid())throw new TypeError("Unexpected interval");return t.isRange()?60:t.inMilliseconds()/1e3}getVisibleTickMarksRange(){var e,t;if(this.timeScale().isEmpty())return{start:0,end:0};const i=(0,s.ensureNotNull)(this.timeScale().visibleBarsStrictRange()),r=(0,s.ensureNotNull)(this.timeScale().points().firstIndex()),n=(0,s.ensureNotNull)(this.timeScale().points().lastIndex());if(!(i.lastBar()>r&&i.firstBar(){var r,n;const o=this._marks[s],a=o.tickmark;a>=(null!==(r=t.start)&&void 0!==r?r:1/0)&&a<=(null!==(n=t.end)&&void 0!==n?n:-1/0)+i&&e.push(o)}),e}getPublishedPlates(){const e={};return window.is_authenticated?(this.getVisibleRangePlates().forEach(t=>{ +t.is_public&&(this._pinnedTooltips[t.id]||t.user__id===window.user.id)&&(e[t.id]=t)}),e):e}filterDisplayedPlates(e){const t=e.reduce((e,t)=>{const i=this._getIndex(t.tickmark);return null!==i&&(e[i]=e[i]||[],e[i].push(t)),e},{});return Object.keys(t).reduce((e,i)=>{let s=t[i];return s=s.sort((e,t)=>t.views_count-e.views_count),s=s.slice(0,10),e.concat(s)},[])}getViewData(){return{barWidth:this.barWidth(),plates:this.getPlatesViewData(),tooltip:this._tooltip}}barWidth(){return this.timeScale().barSpacing()}getPlatesViewData(){var e,t,i;const r=this._model.mainSeries();if(r.data().isEmpty())return[];const n=(0,p.isPriceSourceStyle)(r.style())?r.barFunction():null,o=this.filterDisplayedPlates(this.getVisibleRangePlates()),a={},l=null!==(e=this._model.lastHittestData())&&void 0!==e?e:this._model.lastSelectedHittestData(),c=[];for(const e of o){const i=(0,s.ensureNotNull)(this._getIndex(e.tickmark)),r=this._getBar(i);if(null===r)continue;const o=this._layout(e.direction),h=this._theme(e.direction);let d=null;null!==l&&this._model.hoveredSource()===this&&(d=null!==(t=l.activeItem)&&void 0!==t?t:null);const p=null!==d&&d.id===e.id,_=this.timeScale().indexToCoordinate(i),m=this._offset(o,r,n),g=(0,s.ensureNotNull)(this.priceScale()).isInverted();let f=0;i in a||(a[i]={up:0,down:0}),f=a[i][o]++,c.push((0,u.merge)({id:e.id,x:_,y:m,yInverted:g,order:f,direction:o,theme:h,hovered:p,pinned:!0===this._pinnedTooltips[e.id],user__id:e.user__id,label:e.label,labelFontColor:e.labelFontColor||"#444",minSize:e.minSize||5},this._plateViewData(e)))}const h=c.filter(e=>!0===e.hovered);for(let e=0;ee.hovered&&!t.hovered?1:0),c}paneViews(){return this._properties.childs().visible.value()?[new _(this,e=>new b(e.getViewData(),this))]:[]}priceAxisViews(){return null}updateAllViews(){}pointsCount(){return 0}roundRange(e){return{start:Math.round(e.start),end:Math.round(e.end)}}refreshData(){null!==this._lastRange&&this.getData(this._lastRange)}getData(e){(0,u.isNumber)(e.start)&&(0,u.isNumber)(e.end)?(this._lastRange=e,e.end=C,this._pushGetDataStack(Object.assign({},e))):P.logError("Wrong range")}clearMarks(){this._abortAllRequests(),this._marks={},this._loadedRange=null}isUserDeletable(){return!1}_plateViewData(e){return{}}_layout(e){switch(e){default:case 0:return"up";case 1:return"down";case 2:return"up";case 3:case 4:case 5:case 6:return"up"}}_theme(e){switch(e){default:case 0:return"neutral";case 1:return"green";case 2:return"red";case 3:return"yellow";case 4:return"blue";case 5:return"green";case 6:return"red"}}_offset(e,t,i){let r;switch(e){default:case"up":r=null===i?t[2]:i(t);break;case"down":r=null===i?t[3]:i(t)}return(0,s.ensureNotNull)(this.priceScale()).priceToCoordinate(r,(0,s.ensureNotNull)((0,s.ensureNotNull)(this.ownerSource()).firstValue()))}_getIndex(e){return this.timeScale().timePointToIndex(e)}_getBar(e){return this._model.mainSeries().data().valueAt(e)}_rangeDifference(e){return e=Object.assign({ +start:1/0,end:-1/0},e),this._loadedRange&&(e.startthis._loadedRange.end&&(e.start=this._loadedRange.end)),e}_rangeUnion(e,t){return e=Object.assign({start:1/0,end:-1/0},e),t&&(e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end)),e}_pushGetDataStack(e){(0,u.isNumber)(e.start)&&(0,u.isNumber)(e.end)?(this._getDataTimeout&&clearTimeout(this._getDataTimeout),this._collectedRange=this._rangeUnion(e,this._collectedRange),this._getDataTimeout=setTimeout(()=>{this._getData(this._collectedRange),this._getDataTimeout=this._collectedRange=null},300)):P.logError("Wrong tickmark range")}_abortAllRequests(){this._requests.forEach(e=>{e.cancel()}),this._requests=[],this._getDataTimeout&&clearTimeout(this._getDataTimeout),this._getDataTimeout=this._collectedRange=null}}},83641:(e,t,i)=>{"use strict";var s;i.d(t,{LineToolBarsPatternMode:()=>s}),function(e){e[e.Bars=0]="Bars",e[e.Line=1]="Line",e[e.OpenClose=2]="OpenClose",e[e.LineOpen=3]="LineOpen",e[e.LineHigh=4]="LineHigh",e[e.LineLow=5]="LineLow",e[e.LineHL2=6]="LineHL2"}(s||(s={}))},21827:(e,t,i)=>{"use strict";i.d(t,{LineToolBarsPattern:()=>v});var s=i(16282),r=i(79881),n=i(90963),o=i(47903),a=i(46374),l=i(11092),c=i(61627),h=i(76117),d=i(83641);const u=new n.TranslatedString("mirror bars pattern",(0,r.t)("mirror bars pattern")),p=new n.TranslatedString("flip bars pattern",(0,r.t)("flip bars pattern")),_=(0,r.t)("Mirrored"),m=(0,r.t)("Flipped"),g={0:2,1:4,2:1,3:1,4:2,5:3,6:-1},f={0:3,1:4,2:4,3:1,4:2,5:3,6:-1};class v extends h.LineDataSource{constructor(e,t=v.createProperties()){super(e,t),this._pattern=[],this._lastPriceCoeff=1;const s=t.childs().mode.value();(0,o.isString)(s)&&t.childs().mode.setValue(parseInt(s)),t.childs().mirrored.listeners().subscribe(this,this._mirror),t.childs().flipped.listeners().subscribe(this,this._flip),t.childs().mode.subscribe(this,this._updatePoints),this.version=2,i.e(1583).then(i.bind(i,25009)).then(t=>{this._setPaneViews([new t.BarsPatternPaneView(this,e)])})}pattern(){return this._pattern}isSynchronizable(){return!1}additionalActions(e){return[new a.Action({actionId:"Chart.LineTool.BarsPattern.ToggleMirrored",checked:this.properties().childs().mirrored.value(),checkable:!0,label:_,onExecute:()=>{e.setProperty(this.properties().childs().mirrored,!this.properties().childs().mirrored.value(),u),this.updateAllViews(),this._model.updateSource(this)}}),new a.Action({actionId:"Chart.LineTool.BarsPattern.ToggleFlipped",checked:this.properties().childs().flipped.value(),checkable:!0,label:m,onExecute:()=>{e.setProperty(this.properties().childs().flipped,!this.properties().childs().flipped.value(),p),this.updateAllViews(),this._model.updateSource(this)}})]}pointsCount(){return 2}state(e){return{...super.state(e),pattern:this._pattern}}restoreData(e){e.pattern&&(this._pattern=e.pattern)}name(){return"Bars Pattern"}hasEditableCoordinates(){return!1}cloneData(e){this._pattern=(0,o.clone)(e._pattern)}firstPatternPrice(){ +const{mode:e,flipped:t}=this.properties().childs(),i=this._pattern[0];return e.value()===d.LineToolBarsPatternMode.LineHL2?(i[2]+i[3])/2:t.value()?i[f[e.value()]]:i[g[e.value()]]}lastPatternPrice(){const{mode:e,flipped:t}=this.properties().childs(),i=this._pattern[this._pattern.length-1];return e.value()===d.LineToolBarsPatternMode.LineHL2?(i[2]+i[3])/2:t.value()?i[g[e.value()]]:i[f[e.value()]]}addPoint(e,t,i){const r=super.addPoint(e,t,!0);if(r){const e=this._model.mainSeries(),[{index:t},{index:i}]=this.points(),r=(0,s.ensureDefined)(e.nearestIndex(Math.min(t,i),c.PlotRowSearchMode.NearestRight)),n=(0,s.ensureDefined)(e.nearestIndex(Math.max(t,i),c.PlotRowSearchMode.NearestLeft));this._pattern=this._createPattern(r,n),this._pattern.length>0&&(t>i&&this._points.reverse(),this._points[1].price=this._points[0].price+this._patternPriceDiff(),this._points[1].index=this._points[0].index+(n-r),this.normalizePoints(),this.createServerPoints())}return r}setPoint(e,t,i,s){1===e&&t.index<=this._points[0].index&&(t.index=this._points[0].index+1),0===e&&t.index>=this._points[1].index&&(t.index=this._points[1].index-1),super.setPoint(e,t,i)}migrateVersion(e,t,i){if(1===e&&this._pattern.length>0){const e=this._patternPriceDiff();2===this._timePoint.length&&(this._timePoint[1].price=this._timePoint[0].price+e),2===this._points.length&&(this._points[1].price=this._points[0].price+e)}}getPressCoeff(){return this._lastPriceCoeff=this._caclPressCoeff()}static createProperties(e){const t=new l.DefaultProperty("linetoolbarspattern",e);return v._configureProperties(t),t}_preparePoint(e,t){var i;const r=this._alignPointToRangeOfActualData(e),n=this._model.mainSeries(),o=(0,s.ensureNotNull)(n.bars().valueAt(r.index));this.properties().childs().mode.value()===d.LineToolBarsPatternMode.Bars?r.price=(0,s.ensure)(o[2]):r.price=(0,s.ensure)(o[4]);const a=(0,s.ensureNotNull)(this.priceScale()),l=(0,s.ensure)(null===(i=this.ownerSource())||void 0===i?void 0:i.firstValue()),c=.05*a.height(),h=a.priceToCoordinate(r.price,l)-c;return r.price=a.coordinateToPrice(h,l),super._preparePoint(r,t)}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,23478))).BarsPatternDefinitionsViewModel}static _configureProperties(e){h.LineDataSource._configureProperties(e),e.addExclusion("mirrored"),e.addExclusion("flipped")}_createPattern(e,t){const i=this._model.mainSeries().data(),r=[];for(let n=e;n<=t;n++)r.push((0,o.clone)((0,s.ensureNotNull)(i.valueAt(n))));return r}_switchPointsPrice(){const e=this._points[0].price;this._timePoint[0].price=this._points[0].price=this._points[1].price,this._timePoint[1].price=this._points[1].price=e}_mirror(){const e=this._pattern;let t=Math.min(e[0][3],e[0][2]),i=Math.max(e[0][3],e[0][2]);for(let s=1;ss-(e-s);for(let t=0;ts.priceToCoordinate(e,r))}_priceCoordinateDiff(e){const t=this._pricesToCoordinates(e);if(t)return t[1]-t[0]}_caclPressCoeff(){if(2===this._points.length){const[{price:e},{price:t}]=this.points(),i=this._priceCoordinateDiff([this.firstPatternPrice(),this.lastPatternPrice()]),s=this._priceCoordinateDiff([e,t]);if(i&&void 0!==s)return s/i}return 1}_updatePoints(){var e,t;if(this._points.length<2)return;const i=this.priceScale(),s=null!==(t=null===(e=this.ownerSource())||void 0===e?void 0:e.firstValue())&&void 0!==t?t:null;if(null===s||null===i||i.isEmpty())return;const r=this._priceCoordinateDiff([this.firstPatternPrice(),this.lastPatternPrice()]),n=this._pricesToCoordinates([this.points()[0].price]);void 0!==r&&n&&(this._timePoint[1].price=this._points[1].price=i.coordinateToPrice(this._lastPriceCoeff*r+n[0],s))}}},59376:(e,t,i)=>{"use strict";i.d(t,{LineToolBezierCubic:()=>o});var s=i(16282),r=i(11092),n=i(76117);class o extends n.LineDataSource{constructor(e,t){const s=t||o.createProperties();super(e,s),this._controlPoints=null,i.e(1583).then(i.bind(i,56095)).then(t=>{this._setPaneViews([new t.BezierCubicPaneView(this,e)])})}pointsCount(){return 2}name(){return"Double Curve"}setLastPoint(e,t){const i=super.setLastPoint(e,t);return this._controlPoints=this._calculateControlPoints(),i}addPoint(e,t,i){const s=super.addPoint(e,t,i);if(s){const e=this._calculateControlPoints();this._controlPoints=null,this._points.push(e[0]),this._points.push(e[1]),i||(this.normalizePoints(),this.createServerPoints()),this._createPointProperty(2),this._createPointProperty(3)}return s}restorePoints(e,t,i){super.restorePoints(e,t,i),this._createPointProperty(2),this._createPointProperty(3)}controlPoints(){return this._controlPoints}static createProperties(e){const t=new r.DefaultProperty("linetoolbeziercubic",e);return o._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,28415)).then(e=>e.GeneralBezierDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e)}_calculateControlPoints(){const e=(0,s.ensureNotNull)(this.pointToScreenPoint(this.points()[0])),t=(0,s.ensureNotNull)(this.pointToScreenPoint(this.points()[1])),i=t.subtract(e).scaled(.5).transposed().scaled(.3),r=e.add(t).scaled(.33),n=e.add(t).scaled(.67),o=r.add(i),a=n.subtract(i);return[(0,s.ensureNotNull)(this.screenPointToPoint(o)),(0,s.ensureNotNull)(this.screenPointToPoint(a))]}}},6016:(e,t,i)=>{"use strict";i.d(t,{LineToolBezierQuadro:()=>o});var s=i(16282),r=i(11092),n=i(76117);class o extends n.LineDataSource{constructor(e,t){ +const s=t||o.createProperties();super(e,s),this._controlPoint=null,i.e(1583).then(i.bind(i,60809)).then(t=>{this._setPaneViews([new t.BezierQuadroPaneView(this,e)])})}pointsCount(){return 2}name(){return"Curve"}setLastPoint(e,t){const i=super.setLastPoint(e,t);return this._controlPoint=this._calculateControlPoint(),i}addPoint(e,t,i){const s=super.addPoint(e,t,i);if(s){const e=this._calculateControlPoint();this._points.push(e),this._controlPoint=null,i||(this.normalizePoints(),this.createServerPoints()),this._createPointProperty(2)}return s}restorePoints(e,t,i){super.restorePoints(e,t,i),this._createPointProperty(2)}controlPoint(){return this._controlPoint}static createProperties(e){const t=new r.DefaultProperty("linetoolbezierquadro",e);return o._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,28415)).then(e=>e.GeneralBezierDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e)}_calculateControlPoint(){const e=(0,s.ensureNotNull)(this.pointToScreenPoint(this.points()[0])),t=(0,s.ensureNotNull)(this.pointToScreenPoint(this.points()[1])),i=t.subtract(e).scaled(.5).transposed().scaled(.3),r=e.add(t).scaled(.5).add(i);return(0,s.ensureNotNull)(this.screenPointToPoint(r))}}},47324:(e,t,i)=>{"use strict";i.d(t,{LineToolBrushBase:()=>n});var s=i(16282),r=i(76117);class n extends r.LineDataSource{constructor(){super(...arguments),this._finished=!1}pointsCount(){return-1}finished(){return this._finished}finish(){this._finished=!0,this._lastPoint=null,this.normalizePoints(),this.createServerPoints()}hasEditableCoordinates(){return!1}addPoint(e,t,i){if(this._finished)return!0;if(this._lastPoint=null,this._points.length>0){const t=this._points[this._points.length-1],i=(0,s.ensureNotNull)(this.pointToScreenPoint(t));if((0,s.ensureNotNull)(this.pointToScreenPoint(e)).subtract(i).length()<2)return this._finished}return super.addPoint(e),this._finished}restorePoints(e,t,i){super.restorePoints(e,t,i),this._finished=!0}}},66842:(e,t,i)=>{"use strict";i.d(t,{LineToolBrush:()=>o});var s=i(11092),r=i(47324),n=i(39096);class o extends r.LineToolBrushBase{constructor(e,t){super(e,t||o.createProperties()),this._loadPaneViews(e)}smooth(){return this.properties().childs().smooth.value()}name(){return"Brush"}hasEditableCoordinates(){return!1}static createProperties(e){const t=new s.DefaultProperty("linetoolbrush",e);return o._configureProperties(t),t}_loadPaneViews(e){i.e(1583).then(i.bind(i,54414)).then(t=>{this._setPaneViews([new t.BrushPaneView(this,e)])})}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,72862)).then(e=>e.BrushDefinitionsViewModel)}static _configureProperties(e){r.LineToolBrushBase._configureProperties(e),e.addChild("backgroundsColors",new n.LineToolColorsProperty([e.childs().backgroundColor],e.childs().fillBackground))}}},33682:(e,t,i)=>{"use strict";var s;i.d(t,{CalloutConsts:()=>s}),function(e){e[e.RoundRadius=8]="RoundRadius", +e[e.TextMargins=2]="TextMargins",e[e.MinWidth=100]="MinWidth"}(s||(s={}))},20766:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(76117).LineDataSource,n=i(46015).DataSource,o=i(674),a=i(11092).DefaultProperty,l=i(33682).CalloutConsts,c=i(39096).LineToolColorsProperty;class h extends r{constructor(e,t){super(e,t||h.createProperties()),this._barOffset=0,this._timeScale=e.timeScale(),i.e(1583).then(i.t.bind(i,58535,19)).then(({CalloutPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 2}name(){return"Callout"}_correctPoints(e,t){var i=this._currentMovingPoint.logical.index-this._startMovingPoint.logical.index,s=this._currentMovingPoint.logical.price-this._startMovingPoint.logical.price,r=e[1];r.index+=i,r.price+=s,e[1]=r}addPoint(e){var t=r.prototype.addPoint.call(this,e);return t&&this._calculateBarOffset(),t}_calculateBarOffset(){this.points().length>1&&(this._barOffset=this.points()[1].index-this.points()[0].index)}setLastPoint(e){var t=super.setLastPoint(e);return 2===this.points().length&&this._calculateBarOffset(),t}setPoint(e,t){switch(e){case 0:super.setPoint(e,t),this._calculateBarOffset();break;case 1:var i=this.properties();if(!i.wordWrapWidth)return;var s=this._points,r=this._dragStartLeftEdgeIndex,n=Math.round((t.index-r)/2);if(isFinite(r)&&isFinite(n)){s[1]={index:r+n,price:s[1].price},this._calculateBarOffset(),this.normalizePoints();var o=this._timeScale.indexToCoordinate(r+2*n)-this._timeScale.indexToCoordinate(r)-l.RoundRadius-l.TextMargins;if(!isFinite(o))return;i.wordWrapWidth.setValue(Math.max(l.MinWidth,o));break}s[1]=t,this._calculateBarOffset(),this.normalizePoints()}}setPoints(e){super.setPoints(e);var t=this.properties();if(t.wordWrapWidth){var i=this._dragStartLeftEdgeIndex,s=Math.round((e[1].index-i)/2);if(this._calculateBarOffset(),this.normalizePoints(),isFinite(i)&&isFinite(s)){var r=this._timeScale.indexToCoordinate(i+2*s)-this._timeScale.indexToCoordinate(i)-l.RoundRadius-l.TextMargins;if(!isFinite(r))return;t.wordWrapWidth.setValue(Math.max(l.MinWidth,r))}}}_onPointsetUpdated(e){super._onPointsetUpdated(e),0!==e.length&&(this._dragStartLeftEdgeIndex=this.points()[1].index)}move(e,t,i){super.move(e,t,i),this._calculateBarOffset()}state(e){var t=r.prototype.state.call(this,e);return t.barOffset=this._barOffset,t}restoreData(e){e.barOffset?this._barOffset=e.barOffset:this._calculateBarOffset(),this._calculatePoint2()}setPriceScale(e){n.prototype.setPriceScale.call(this,e),e&&e.priceRange()&&this._calculatePoint2()}template(){var e=r.prototype.template.call(this);return e.text=this.properties().childs().text.value(),e}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}_calculatePoint2(){if(!(this._model.lineBeingEdited()===this||this._model.sourcesBeingMoved().includes(this)||this._points.length<2)){var e=this.points()[0],t=this.points()[1];this._points[1]={price:t.price,index:e.index+this._barOffset}}}async _getPropertyDefinitionsViewModelClass(){ +return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,58023))).CalloutDefinitionsViewModel}static createProperties(e){var t=new a("linetoolcallout",e);return h._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e),e.hasChild("text")||e.addChild("text",new o(s("Text"))),e.addExclusion("text"),e.addChild("textsColors",new c([e.childs().color]))}}t.LineToolCallout=h},96007:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(11092).DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),i.e(1583).then(i.t.bind(i,95636,19)).then(({LineToolCircleLinesPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 2}name(){return"Cyclic Lines"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,60468))).CyclicAndSineLinesPatternDefinitionsViewModel}static createProperties(e){var t=new r("linetoolcirclelines",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolCircleLines=n},77198:(e,t,i)=>{"use strict";i.d(t,{LineToolCircle:()=>o});var s=i(11092),r=i(76117),n=i(39096);class o extends r.LineDataSource{constructor(e,t){const s=t||o.createProperties();super(e,s),i.e(1583).then(i.bind(i,18004)).then(({CirclePaneView:t})=>{const i=[new t(this,e)];this._setPaneViews(i)})}pointsCount(){return 2}name(){return"Circle"}static createProperties(e){const t=new s.DefaultProperty("linetoolcircle",e);return o._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,32454))).GeneralFiguresDefinitionsViewModel}_snapTo45DegreesAvailable(){return!0}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new n.LineToolColorsProperty([e.childs().color])),e.addChild("linesWidths",new n.LineToolWidthsProperty([e.childs().linewidth])),e.addChild("backgroundsColors",new n.LineToolColorsProperty([e.childs().backgroundColor])),e.addExclusion("linesColors"),e.addExclusion("linesWidths"),e.addExclusion("backgroundsColors")}}},56702:(e,t,i)=>{"use strict";i.d(t,{LineToolCrossLine:()=>a});var s=i(11092),r=i(58292),n=i(22086),o=i(76117);class a extends o.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._priceAxisView=new r.LineToolHorzLinePriceAxisView(this),this._timeAxisView=new n.LineToolVertLineTimeAxisView(this),i.e(1583).then(i.bind(i,78866)).then(({CrossLinePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 1}name(){return"Cross Line"}priceAxisViews(e,t){return this.isSourceHidden()?null:t===this.priceScale()&&this.properties().childs().showPrice.value()&&this._model.paneForSource(this)===e?[this._priceAxisView]:null}timeAxisViews(){return this.isSourceHidden()?null:this.properties().childs().showTime.value()?[this._timeAxisView]:null}updateAllViews(){super.updateAllViews(),this._priceAxisView.update(),this._timeAxisView.update()}canHasAlert(){return!1} +lineColor(){return this.properties().childs().linecolor.value()}lineWidth(){return this.properties().childs().linewidth.value()}lineStyle(){return this.properties().childs().linestyle.value()}static createProperties(e){const t=new s.DefaultProperty("linetoolcrossline",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,82781)).then(e=>e.CrossLineDefinitionsViewModel)}static _configureProperties(e){o.LineDataSource._configureProperties(e)}}},3913:(e,t,i)=>{"use strict";i.d(t,{LineToolCypherPattern:()=>n});var s=i(98127),r=i(11092);class n extends s.LineTool5PointsPattern{constructor(e,t){super(e,t||n.createProperties())}name(){return"Cypher Pattern"}static createProperties(e){const t=new r.DefaultProperty("linetoolcypherpattern",e);return n._configureProperties(t),t}_loadPaneViews(e){i.e(1583).then(i.bind(i,41308)).then(t=>{this._setPaneViews([new t.CypherPaneView(this,e)])})}static _configureProperties(e){s.LineTool5PointsPattern._configureProperties(e)}}},97867:(e,t,i)=>{"use strict";i.d(t,{LineToolDateAndPriceRange:()=>a});var s=i(16282),r=i(11092),n=i(76117),o=i(96370);class a extends n.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._volumeCalculator=null,i.e(1583).then(i.bind(i,99178)).then(e=>{this._setPaneViews([new e.DateAndPriceRangePaneView(this,this._model)])})}destroy(){super.destroy(),null!==this._volumeCalculator&&this._volumeCalculator.destroy()}pointsCount(){return 2}name(){return"Date and Price Range"}volume(){if(null===this._volumeCalculator)return NaN;const e=this.points();return this._volumeCalculator.volume(e[0].index,e[1].index)}setOwnerSource(e){e===this._model.mainSeries()&&((0,s.assert)(null===this._volumeCalculator),this._volumeCalculator=new o.SeriesTimeRangeVolumeCalculator(this._model.mainSeries())),super.setOwnerSource(e)}static createProperties(e){const t=new r.DefaultProperty("linetooldateandpricerange",e);return a._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,44558))).GeneralDatePriceRangeDefinitionsViewModel}static _configureProperties(e){n.LineDataSource._configureProperties(e)}}},65833:(e,t,i)=>{"use strict";i.d(t,{LineToolDateRange:()=>a});var s=i(16282),r=i(11092),n=i(76117),o=i(96370);class a extends n.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._volumeCalculator=null,i.e(1583).then(i.bind(i,34286)).then(e=>{this._setPaneViews([new e.DateRangePaneView(this,this._model)])})}destroy(){super.destroy(),null!==this._volumeCalculator&&this._volumeCalculator.destroy()}pointsCount(){return 2}name(){return"Date Range"}volume(){if(null===this._volumeCalculator)return NaN;const e=this.points();return this._volumeCalculator.volume(e[0].index,e[1].index)}setOwnerSource(e){e===this._model.mainSeries()&&((0,s.assert)(null===this._volumeCalculator),this._volumeCalculator=new o.SeriesTimeRangeVolumeCalculator(this._model.mainSeries())),super.setOwnerSource(e)} +static createProperties(e){const t=new r.DefaultProperty("linetooldaterange",e);return a._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,44558))).GeneralDatePriceRangeDefinitionsViewModel}static _configureProperties(e){n.LineDataSource._configureProperties(e)}}},2683:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(11092).DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),this.version=n.version,i.e(1583).then(i.t.bind(i,41065,19)).then(({DisjointChannelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 3}name(){return"Disjoint Channel"}hasEditableCoordinates(){return!1}addPoint(e,t){return t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[this.points().length-2]),s.prototype.addPoint.call(this,e)}setLastPoint(e,t){return t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[this.points().length-2]),s.prototype.setLastPoint.call(this,e)}setPoint(e,t,i){var s=.5*(this._points[1].price+this._points[2].price);if(i&&i.shift()&&1===e){this._snapPoint45Degree(t,this.points()[0])}if(e<3&&super.setPoint(e,t),0!==e&&2!==e){if(1===e){var r=this._points[1].price-s;this._points[2].price=this._points[1].price-2*r}else if(3===e){r=t.price-this._points[2].price;this._points[0].price=this._points[1].price-r,this._points[0].index=t.index}this.normalizePoints()}}getPoint(e){if(e<3)return s.prototype.getPoint.call(this,e);var t=this._points[0].price-this._points[2].price;return{index:this._points[0].index,price:this._points[1].price-t}}canHasAlert(){return!0}_getAlertPlots(){var e=this._points[0],t=this._points[1],i=[];e.index<=t.index?(i.push(e),i.push(t)):(i.push(t),i.push(e));var s=this._points[2];s.time=t.time,s.index=t.index;var r,n,o,a,l={price:s.price+(t.price-e.price),time:e.time,index:e.index},c=[];s.index<=l.index?(c.push(s),c.push(l)):(c.push(l),c.push(s)),i[0].price>c[0].price?(r=i,n=c):c[0].price>i[0].price||c[1].price>i[1].price?(r=c,n=i):(r=i,n=c);var h=this.properties().extendLeft.value(),d=this.properties().extendRight.value();return e.index<=t.index?(o=h,a=d):(o=d,a=h),[this._linePointsToAlertPlot(r,"Upper",o,a),this._linePointsToAlertPlot(n,"Lower",o,a)]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,44150))).GeneralTrendFiguresDefinitionsViewModel}static createProperties(e){var t=new r("linetooldisjointangle",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}n.version=1,t.LineToolDisjointChannel=n},74168:(e,t,i)=>{"use strict";i.d(t,{LineToolElliott:()=>u,LineToolElliottImpulse:()=>m,LineToolElliottTriangle:()=>f,LineToolElliottTripleCombo:()=>S,LineToolElliottCorrection:()=>w,LineToolElliottDoubleCombo:()=>C});var s=i(79881),r=i(90963),n=i(76117),o=i(46374),a=i(11092),l=i(39096);const c=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],h=new r.TranslatedString("change Elliott degree",(0, +s.t)("change Elliott degree")),d=[{value:0,title:(0,s.t)("Supermillennium")},{value:1,title:(0,s.t)("Millennium")},{value:2,title:(0,s.t)("Submillennium")},{value:3,title:(0,s.t)("Grand supercycle")},{value:4,title:(0,s.t)("Supercycle")},{value:5,title:(0,s.t)("Cycle")},{value:6,title:(0,s.t)("Primary")},{value:7,title:(0,s.t)("Intermediate")},{value:8,title:(0,s.t)("Minor",{context:"wave"})},{value:9,title:(0,s.t)("Minute",{context:"wave"})},{value:10,title:(0,s.t)("Minuette")},{value:11,title:(0,s.t)("Subminuette")},{value:12,title:(0,s.t)("Micro")},{value:13,title:(0,s.t)("Submicro")},{value:14,title:(0,s.t)("Minuscule")}];class u extends n.LineDataSource{constructor(e,t){super(e,null!=t?t:u.createProperties()),this.version=4,i.e(1583).then(i.bind(i,81277)).then(e=>{this._setPaneViews([new e.ElliottLabelsPaneView(this,this._model)])})}migrateVersion(e,t,i){if(i.properties.hasChild("background")&&i.properties.removeProperty("background"),i.properties.hasChild("backgroundColor")&&i.properties.removeProperty("backgroundColor"),i.properties.hasChild("showBackground")&&i.properties.removeProperty("showBackground"),1===e){const e=Object.assign({},this._timePoint[0]);if(this._timePoint.unshift(e),this._points.length>0){const e=Object.assign({},this._points[0]);this._points.unshift(e)}}}applyTemplate(e){const t=e;delete t.background,delete t.backgroundColor,delete t.showBackground,super.applyTemplate(e)}name(){return"Elliott Labels"}additionalActions(e){return[new o.Action({actionId:"Chart.LineTool.Elliot.ChangeDegreeProperty",label:(0,s.t)("Degree"),subItems:c.map(t=>{const i=d.filter(e=>e.value===t)[0];return new o.Action({actionId:"Chart.LineTool.Elliot.ChangeDegreeProperty",label:i.title,checkable:!0,checked:this.properties().childs().degree.value()===t,onExecute:()=>{e.setProperty(this.properties().childs().degree,t,h)}})})})]}label(e){const t=c.length-this.properties().childs().degree.value()-1,i=Math.floor(t/3);return{group:i,bold:!!(i%2),decoration:["","brackets","circle"][t%3],label:this.labelsGroup()[i][e]}}availableDegreesValues(){return d}static createProperties(e){const t=new a.DefaultProperty("linetoolelliott",e);return u._configureProperties(t),t}static migrateState(e){const t={0:11,1:10,2:9,3:8,4:7,5:6,6:5,7:4,8:3},i={0:11,1:8};"LineToolElliottSubminuette"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottMinor"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottCircle"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottMinorRetr"===e.type&&(e.type="LineToolElliottCorrection",e.state.degree=i[e.state.wavesize]),"LineToolElliottMajorRetr"===e.type&&(e.type="LineToolElliottCorrection",e.state.degree=i[e.state.wavesize])}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,60312))).ElliottPatternDefinitionsViewModel}static _configureProperties(e){n.LineDataSource._configureProperties(e), +e.addChild("linesColors",new l.LineToolColorsProperty([e.childs().color])),e.addExclusion("linesColors")}}class p extends u{pointsCount(){return 6}static _configureProperties(e){u._configureProperties(e)}}const _=[["0","1","2","3","4","5"],["0","i","ii","iii","iv","v"],["0","1","2","3","4","5"],["0","I","II","III","IV","V"],["0","1","2","3","4","5"]];class m extends p{constructor(e,t){super(e,t||m.createProperties())}name(){return"Elliott Impulse Wave (12345)"}labelsGroup(){return _}static createProperties(e){const t=new a.DefaultProperty("linetoolelliottimpulse",e);return m._configureProperties(t),t}static _configureProperties(e){p._configureProperties(e)}}const g=[["0","A","B","C","D","E"],["0","a","b","c","d","e"],["0","A","B","C","D","E"],["0","a","b","c","d","e"],["0","A","B","C","D","E"]];class f extends p{constructor(e,t){super(e,t||f.createProperties())}name(){return"Elliott Triangle Wave (ABCDE)"}labelsGroup(){return g}static createProperties(e){const t=new a.DefaultProperty("linetoolelliotttriangle",e);return f._configureProperties(t),t}static _configureProperties(e){p._configureProperties(e)}}const v=[["0","W","X","Y","X","Z"],["0","w","x","y","x","z"],["0","W","X","Y","X","Z"],["0","w","x","y","x","z"],["0","W","X","Y","X","Z"]];class S extends p{constructor(e,t){super(e,null!=t?t:S.createProperties())}name(){return"Elliott Triple Combo Wave (WXYXZ)"}labelsGroup(){return v}static createProperties(e){const t=new a.DefaultProperty("linetoolelliotttriplecombo",e);return S._configureProperties(t),t}static _configureProperties(e){p._configureProperties(e)}}class y extends u{pointsCount(){return 4}static _configureProperties(e){u._configureProperties(e)}}const b=[["0","A","B","C"],["0","a","b","c"],["0","A","B","C"],["0","a","b","c"],["0","A","B","C"]];class w extends y{constructor(e,t){super(e,null!=t?t:w.createProperties())}name(){return"Elliott Correction Wave (ABC)"}labelsGroup(){return b}static createProperties(e){const t=new a.DefaultProperty("linetoolelliottcorrection",e);return w._configureProperties(t),t}static _configureProperties(e){y._configureProperties(e)}}const P=[["0","W","X","Y"],["0","w","x","y"],["0","W","X","Y"],["0","w","x","y"],["0","W","X","Y"]];class C extends y{constructor(e,t){super(e,null!=t?t:C.createProperties())}name(){return"Elliott Double Combo Wave (WXY)"}labelsGroup(){return P}static createProperties(e){const t=new a.DefaultProperty("linetoolelliottdoublecombo",e);return C._configureProperties(t),t}static _configureProperties(e){y._configureProperties(e)}}},56686:(e,t,i)=>{"use strict";i.d(t,{LineToolEllipse:()=>c});var s=i(16282),r=i(89684),n=i(72927),o=i(76117),a=i(11092),l=i(39096);class c extends o.LineDataSource{constructor(e,t){super(e,t||c.createProperties()),this.version=2,this._dist=null,this._fakePointAdded=!1,i.e(1583).then(i.bind(i,72133)).then(({EllipsePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}startChanging(e,t){if(super.startChanging(e,t),0===e||1===e){const e=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),t=(0, +s.ensureNotNull)(this.pointToScreenPoint(this._points[1])),i=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[2]));this._dist=(0,r.distanceToLine)(e,t,i).distance||0}}addPoint(e,t,i){const s=o.LineDataSource.prototype.addPoint.call(this,e,t,i);return s&&(this._fakePointAdded=!1),s}setPoint(e,t,i,o){const a={...t};let l=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),c=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[1])),h=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[2]));switch(e){case 0:{if(i&&i.shift()){this._snapPoint45Degree(a,this._points[1]),this._points[0]=a,this._points[2]=this._preparePointInternal(this._points[2],i,!0),this._points[0].index===this._points[1].index&&this._fixVerticalDiameterPoints(this._points[0],this._points[1],this._points[2]);break}l=(0,s.ensureNotNull)(this.pointToScreenPoint(a));const e=c.subtract(l),t=l.add(c).scaled(.5),r=new n.Point(-e.y,e.x).normalized();h=t.add(r.scaled((0,s.ensureNotNull)(this._dist))),this._points[0]=a,this._points[2]=(0,s.ensureNotNull)(this.screenPointToPoint(h));break}case 1:{if(i&&i.shift()){this._snapPoint45Degree(a,this._points[0]),this._points[1]=a,this._points[2]=this._preparePointInternal(this._points[2],i,!0),this._points[0].index===this._points[1].index&&this._fixVerticalDiameterPoints(this._points[1],this._points[0],this._points[2]);break}c=(0,s.ensureNotNull)(this.pointToScreenPoint(a));const e=c.subtract(l),t=l.add(c).scaled(.5),r=new n.Point(-e.y,e.x).normalized();h=t.add(r.scaled((0,s.ensureNotNull)(this._dist))),this._points[1]=a,this._points[2]=(0,s.ensureNotNull)(this.screenPointToPoint(h));break}case 2:{const e=(0,s.ensureNotNull)(this.pointToScreenPoint(a)),t=(0,r.distanceToLine)(l,c,e).distance,i=c.subtract(l),o=l.add(c).scaled(.5),d=new n.Point(-i.y,i.x).normalized();h=o.add(d.scaled(t)),this._points[2]=(0,s.ensureNotNull)(this.screenPointToPoint(h));break}case 3:{const e=(0,s.ensureNotNull)(this.pointToScreenPoint(a)),t=(0,r.distanceToLine)(l,c,e).distance,i=c.subtract(l),o=l.add(c).scaled(.5),d=new n.Point(-i.y,i.x).normalized();h=o.add(d.scaled(t)),this._points[2]=(0,s.ensureNotNull)(this.screenPointToPoint(h));break}}this.normalizePoints()}pointsCount(){return 3}name(){return"Ellipse"}hasEditableCoordinates(){return!1}migrateVersion(e,t,i){if(1===e&&2===this._points.length){const e=this._points[0].price,t=.5*(this._points[0].price+this._points[1].price);this._points[0]={price:t,index:this._points[0].index},this._points[1]={price:t,index:this._points[1].index},this._points.push({price:e,index:this._points[0].index})}if(1===e&&2===this._timePoint.length){const e=this._timePoint[0].price,t=.5*(this._timePoint[0].price+this._timePoint[1].price);this._timePoint[0].price=t,this._timePoint[1].price=t;const i={price:e,offset:this._timePoint[0].offset,time_t:this._timePoint[0].time_t};this._timePoint.push(i)}}static createProperties(e){const t=new a.DefaultProperty("linetoolellipse",e);return c._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){ +return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,32454))).GeneralFiguresDefinitionsViewModelBase}_preparePoint(e,t){const i=this._preparePointInternal(e,t,!1);return t&&t.shift()&&this._points[0].index===this._points[1].index&&this._fixVerticalDiameterPoints(this._points[1],this._points[0],i),i}static _configureProperties(e){o.LineDataSource._configureProperties(e),e.addChild("linesColors",new l.LineToolColorsProperty([e.childs().color]))}_preparePointInternal(e,t,i){let r={...e};if(t&&t.shift()){const t=this.points().length;if(!this._fakePointAdded&&3===t&&!i)return r;if(this._fakePointAdded||2===t||i){this._snapPoint45Degree(e,this._points[0]),this._fakePointAdded?this._points[1]=e:i||(this._fakePointAdded=!0,super._addPointIntenal(e));const t=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),o=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[1])),a=o.x-t.x,l=o.y-t.y,c=Math.sqrt(a*a+l*l)/2,h=o.subtract(t),d=t.add(o).scaled(.5),u=new n.Point(-h.y,h.x).normalized(),p=d.add(u.scaled(c));r=(0,s.ensureNotNull)(this.screenPointToPoint(p)),(isNaN(r.price)||isNaN(r.index))&&(r=(0,s.ensureNotNull)(this.screenPointToPoint(d)))}}else this._fakePointAdded&&(this._points.splice(1,1),this._fakePointAdded=!1);return r}_fixVerticalDiameterPoints(e,t,i){const r=(0,s.ensureNotNull)(this.pointToScreenPoint(e)),o=(0,s.ensureNotNull)(this.pointToScreenPoint(t)),a=this._model.timeScale(),l=a.indexToCoordinate(e.index),c=a.indexToCoordinate(i.index);let h=2*Math.abs(l-c);h*=t.price>e.price?1:-1,e.price=(0,s.ensureNotNull)(this.screenPointToPoint(new n.Point(r.x,o.y+h))).price}}},22769:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(55752),n=i(11092).DefaultProperty,o=i(61627).PlotRowSearchMode;const a=i(27490);var l=i(36512).sortSourcesPreOrdered.LineToolExecution;class c{constructor(e,t){this._pane=e,this._timeScale=t}static recreateOrderedByBarsSourcesCache(e){c.clearOrderedByBarsSourcesCache();for(var t=c.prototype,i=e.sourcesByGroup().all(),s=0;s_.lastBar()||i<_.firstBar())return{x:-1,y:-1};for(var m=this._cachedByBarIndexOrderedExecutions[i]||this._pane.sourcesByGroup().all(),g=m.length-1;g>=0;--g){var f=m[g];if(f instanceof d&&f._adapter._index===i&&f._adapter.getDirection()===r){if(f===e._line)break;var v=f._adapter._height();s=n?s+v:s-v}}return{ +x:t.indexToCoordinate(i),y:s}}}c.prototype._cachedByBarIndexOrderedExecutions={};class h{constructor(e){this._line=e}_height(){var e=this.getArrowHeight(),t=this.getArrowSpacing();this.getText()&&r.fontHeight(this.getFont());return e+t+0+10}getIndex(){return this._line._model.timeScale().baseIndex()-this._line.points()[0].index}setIndex(e){var t=this._line._model.timeScale().baseIndex()-Math.abs(e);this._line.startMoving({logical:this._line.points()[0]});var i=TradingView.merge({},this._line.points()[0]);return i.index=t,this._line.move({logical:i}),this._line.endMoving(),this}getTime(){return this._unixtime}setTime(e){return this._unixtime=e,this._line.restorePoints([{offset:0,price:this.getPrice(),time_t:this._unixtime}],[]),this._line.createServerPoints(),this}getPrice(){return this._line.points().length>0?this._line.points()[0].price:this._line._timePoint.length>0?this._line._timePoint[0].price:void 0}setPrice(e){return this._line.points().length>0&&(this._line.points()[0].price=e),this._line._timePoint.length>0&&(this._line._timePoint[0].price=e),this}getText(){return this._line.properties().text.value()}setText(e){return this._line.properties().text.setValue(e||""),this._line.updateAllViewsAndRedraw(),this}getArrowHeight(){return this._line.properties().arrowHeight.value()}setArrowHeight(e){return this._line.properties().arrowHeight.setValue(e||5),this}getArrowSpacing(){return this._line.properties().arrowSpacing.value()}setArrowSpacing(e){return this._line.properties().arrowSpacing.setValue(e||1),this}getDirection(){return this._line.properties().direction.value()}setDirection(e){return this._line.properties().direction.setValue(e||"buy"),this}getArrowColor(){var e=this._line.properties();return"buy"===this.getDirection()?e.arrowBuyColor.value():e.arrowSellColor.value()}setArrowColor(e){return"buy"===this.getDirection()?this.setArrowBuyColor(e):this.setArrowSellColor(e),this}setArrowBuyColor(e){return this._line.properties().arrowBuyColor.setValue(e),this}setArrowSellColor(e){return this._line.properties().arrowSellColor.setValue(e),this}getTextColor(){return r.getColorFromProperties(this._line.properties().textColor,this._line.properties().textTransparency)}setTextColor(e){return r.setColorToProperties(e,this._line.properties().textColor,this._line.properties().textTransparency),this}getFont(){return r.getFontFromProperties(this._line.properties().fontFamily,this._line.properties().fontSize,this._line.properties().fontBold,this._line.properties().fontItalic)}setFont(e){return r.setFontToProperties(e,this._line.properties().fontFamily,this._line.properties().fontSize,this._line.properties().fontBold,this._line.properties().fontItalic),this}setTooltip(e){return null==e?e="":e+="",this._line.properties().tooltip.setValue(e),this}getTooltip(){return this._line.properties().tooltip.value()}remove(){this._line._model.removeSource(this._line),delete this._line}getPoints(){return this._line.points()}}class d extends s{constructor(e,t){super(e,t||d.createProperties()),this._adapter=new h(this), +this.customization.forcePriceAxisLabel=!1,this.customization.disableErasing=!0,this.customization.showInObjectTree=!1,this.setSelectionEnabled(!1),i.e(1583).then(i.t.bind(i,34810,19)).then(({ExecutionPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}zorder(){return l}isSpeciallyZOrderedSource(){return!0}pointsCount(){return d.POINTS_COUNT}name(){return"Execution"}hasContextMenu(){return!1}state(){return null}updateAllViews(){return this._isVisible()?s.prototype.updateAllViews.call(this):null}priceAxisViews(e,t){return this._isVisible()?s.prototype.priceAxisViews.call(this,e,t):null}_isVisible(){return this._model.properties().tradingProperties.showExecutions.value()}paneViews(){return TradingView.printing&&!a.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showExecutions.value()?s.prototype.paneViews.call(this):null}userEditEnabled(){return!1}showInObjectTree(){return!1}cloneable(){return!1}copiable(){return!1}isSynchronizable(){return!1}static createProperties(e){var t=new n("linetoolexecution",e,!1,!1);return d._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}d.POINTS_COUNT=1,t.ExecutionsPositionController=c,t.LineToolExecution=d},66163:(e,t,i)=>{"use strict";var s=i(12565).LineToolTrendLine,r=i(11092).DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties())}name(){return"Extended Line"}static createProperties(e){var t=new r("linetoolextended",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolExtended=n},40861:(e,t,i)=>{"use strict";i.d(t,{LineToolFibChannel:()=>d});var s=i(16282),r=i(79881),n=i(90963),o=i(76117),a=i(81773),l=i.n(a),c=i(39096);const h=new n.TranslatedString("erase level line",(0,r.t)("erase level line"));class d extends o.LineDataSource{constructor(e,t){super(e,t||d.createProperties()),this.version=2,i.e(1583).then(i.bind(i,89436)).then(({FibChannelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return 24}migrateVersion(e,t,i){i.properties.removeProperty("reverse")}pointsCount(){return 3}name(){return"Fib Channel"}processErase(e,t){const i="level"+t,s=this.properties().child(i).childs().visible;e.setProperty(s,!1,h)}static createProperties(e){const t=new(l())("linetoolfibchannel",e,!1,{range:[1,24],names:["coeff","color","visible"]});return d._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,58481))).FibDrawingsWith24LevelsDefinitionsViewModel}static _configureProperties(e){o.LineDataSource._configureProperties(e);const t=[];for(let i=1;i<=24;i++){const r=(0,s.ensureDefined)(e.child("level"+i));t.push((0,s.ensureDefined)(r.child("color")))}e.addChild("linesColors",new c.LineToolColorsProperty(t))}}},90763:(e,t,i)=>{"use strict" +;var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends n{constructor(e,t){super(e,t||d.createProperties()),i.e(1583).then(i.t.bind(i,1509,19)).then(({FibCirclesPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return d.LevelsCount}pointsCount(){return 2}name(){return"Fib Circles"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}static createProperties(e){var t=new o("linetoolfibcircles",e,!1,{range:[1,11]});return d._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,40804))).FibCirclesDefinitionsViewModel}_snapTo45DegreesAvailable(){return!0}static _configureProperties(e){n._configureProperties(e);for(var t=[e.child("trendline").child("linewidth")],i=[e.child("trendline").child("color")],s=1;s<=d.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}}d.LevelsCount=11,t.LineToolFibCircles=d},88376:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(81773),o=i(76117).LineDataSource,a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends o{constructor(e,t){super(e,t||d.createProperties()),this.version=d.version,this._properties._stateVersion=1,i.e(1583).then(i.t.bind(i,81247,19)).then(({FibRetracementPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return d.LevelsCount}pointsCount(){return 2}name(){return"Fib Retracement"}migrateVersion(e,t,i){1===e&&this.properties().extendLines.setValue(!0)}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,58481))).FibDrawingsWith24LevelsDefinitionsViewModel}static createProperties(e){var t=new n("linetoolfibretracement",e,!1,{range:[1,24],names:["coeff","color","visible"]});return d._configureProperties(t),t}static _configureProperties(e){o._configureProperties(e);for(var t=[e.child("trendline").child("linewidth"),e.child("levelsStyle").child("linewidth")],i=[e.child("trendline").child("color")],s=1;s<=d.LevelsCount;s++)i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}fibLevelsBasedOnLogScale(){return this.properties().fibLevelsBasedOnLogScale.value()&&this.priceScale().isLog()}}d.version=2,d.LevelsCount=24,t.LineToolFibRetracement=d},77268:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends n{constructor(e,t){ +super(e,t||d.createProperties()),i.e(1583).then(i.bind(i,43900)).then(({FibSpeedResistanceArcsPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return d.LevelsCount}pointsCount(){return 2}name(){return"Fib Speed Resistance Arcs"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}static createProperties(e){var t=new o("linetoolfibspeedresistancearcs",e,!1,{range:[1,11]});return d._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,8545))).FibSpeedResistanceArcsDefinitionsViewModel}static _configureProperties(e){n._configureProperties(e);for(var t=[e.child("trendline").child("linewidth")],i=[e.child("trendline").child("color")],s=1;s<=d.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}}d.LevelsCount=11,t.LineToolFibSpeedResistanceArcs=d},19832:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(39096).LineToolColorsProperty,l=new r("erase level line",s("erase level line"));class c extends n{constructor(e,t){super(e,t||c.createProperties()),i.e(1583).then(i.bind(i,95292)).then(({FibSpeedResistanceFanPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}hLevelsCount(){return c.HLevelsCount}vLevelsCount(){return c.VLevelsCount}pointsCount(){return 2}name(){return"Fib Speed Resistance Fan"}processErase(e,t){var i="h"===t.type?"hlevel"+t.index:"vlevel"+t.index,s=this.properties()[i].visible;e.setProperty(s,!1,l)}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,84061))).FibSpeedResistanceFanDefinitionsViewModel}_snapTo45DegreesAvailable(){return!0}static createProperties(e){void 0!==e&&void 0===e.reverse&&(e.reverse=!0);var t=new o("linetoolfibspeedresistancefan",e,!1,{range:[1,7],prefixes:["h","v"],names:["coeff","color","visible"]});return c._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e);var t=[e.child("grid").child("color")];for(let i=1;i<=c.HLevelsCount;i++)t.push(e.child("hlevel"+i).child("color"));for(let i=1;i<=c.VLevelsCount;i++)t.push(e.child("vlevel"+i).child("color"));e.addChild("linesColors",new a(t)),e.addExclusion("linesColors")}}c.HLevelsCount=7,c.VLevelsCount=7,t.LineToolFibSpeedResistanceFan=c},34067:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(11092).DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),i.e(1583).then(i.bind(i,33732)).then(({FibSpiralPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 2}name(){return"Fib Spiral"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,73546))).FibSpiralDefinitionsViewModel}static createProperties(e){var t=new r("linetoolfibspiral",e);return n._configureProperties(t),t} +static _configureProperties(e){s._configureProperties(e)}}t.LineToolFibSpiral=n},26452:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends n{constructor(e,t){super(e,t||d.createProperties()),this.version=d.version,i.e(1583).then(i.t.bind(i,62585,19)).then(({FibTimeZonePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return d.LevelsCount}migrateVersion(e,t,i){if(1===e){i.properties.level1.color.setValue(i.properties.baselinecolor.value());for(var s=2;s<=11;s++)i.properties["level"+s].color.setValue(i.properties.linecolor.value());for(s=1;s<=11;s++)i.properties["level"+s].linewidth.setValue(i.properties.linewidth.value()),i.properties["level"+s].linestyle.setValue(i.properties.linestyle.value())}}pointsCount(){return 2}name(){return"Fib Time Zone"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,46446))).FibTimezoneDefinitionsViewModel}static createProperties(e){var t=new o("linetoolfibtimezone",e,!1,{range:[1,11]});return d._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e);for(var t=[],i=[],s=1;s<=d.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));for(t=[],i=[],s=1;s<=d.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}}d.version=2,d.LevelsCount=11,t.LineToolFibTimeZone=d},55977:(e,t,i)=>{"use strict";i.d(t,{LineToolFibWedgeBase:()=>o});var s=i(16282),r=i(72927),n=i(76117);class o extends n.LineDataSource{pointsCount(){return 3}hasEditableCoordinates(){return!1}setPoint(e,t){if(super.setPoint(e,t),!this._recursiveGuard)try{if(this._recursiveGuard=!0,2===e){const e=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0]));let t=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[1]));const i=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[2])).subtract(e).length();let n=t.subtract(e);n.length()<=0&&(n=new r.Point(1,0)),t=e.add(n.normalized().scaled(i));const o=(0,s.ensureNotNull)(this.screenPointToPoint(t)),a=this._pointsProperty.childs().points[1];a.childs().price.setValue(o.price),a.childs().bar.setValue(o.index)}else{const e=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),t=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[1]));let i=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[2]));const n=t.subtract(e).length();let o=i.subtract(e);o.length()<=0&&(o=new r.Point(1,0)),i=e.add(o.normalized().scaled(n));const a=(0,s.ensureNotNull)(this.screenPointToPoint(i)),l=this._pointsProperty.childs().points[2];l.childs().price.setValue(a.price),l.childs().bar.setValue(a.index)}}finally{this._recursiveGuard=!1} +}addPoint(e){if(2===this._points.length){const t=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),i=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[1]));let r=(0,s.ensureNotNull)(this.pointToScreenPoint(e));const n=i.subtract(t).length(),o=r.subtract(t).normalized();r=t.add(o.scaled(n));const a=(0,s.ensureNotNull)(this.ownerSource()),l=(0,s.ensureNotNull)(a.firstValue()),c=(0,s.ensureNotNull)(this.priceScale()).coordinateToPrice(r.y,l);e={index:Math.round(this._model.timeScale().coordinateToIndex(r.x)),price:c}}return n.LineDataSource.prototype.addPoint.call(this,e)}}},64794:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(55977).LineToolFibWedgeBase,o=i(81773),a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends n{constructor(e,t){super(e,t||d.createProperties()),i.e(1583).then(i.t.bind(i,19027,19)).then(({FibWedgePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}isSynchronizable(){return!1}levelsCount(){return d.LevelsCount}name(){return"Fib Wedge"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}static createProperties(e){var t=new o("linetoolfibwedge",e,!1,{range:[1,11]});return d._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,82731))).FibWedgeDefinitionsViewModel}static _configureProperties(e){n._configureProperties(e);for(var t=[e.child("trendline").child("linewidth")],i=[e.child("trendline").child("color")],s=1;s<=d.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}}d.LevelsCount=11,t.LineToolFibWedge=d},59954:(e,t,i)=>{"use strict";i.d(t,{LineToolFlagMark:()=>a});var s=i(72927),r=i(76117),n=i(11092),o=i(39096);class a extends r.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),i.e(1583).then(i.bind(i,16399)).then(({FlagMarkPaneView:e})=>{const t=new e(this,this.model());t.setAnchors(new s.Point(0,0)),this._setPaneViews([t])})}pointsCount(){return 1}name(){return"Flag Mark"}static createProperties(e){e&&void 0===e.flagColor&&(e.flagColor="#318757");const t=new n.DefaultProperty("linetoolflagmark",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,84017)).then(e=>e.FlagMarkDefinitionsViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("backgroundsColors",new o.LineToolColorsProperty([e.childs().flagColor])),e.addExclusion("backgroundsColors")}}a.version=2},63343:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(11092).DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),this.version=n.version,i.e(1583).then(i.t.bind(i,88589,19)).then(({FlatBottomPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 3}name(){ +return"Flat Bottom"}hasEditableCoordinates(){return!1}addPoint(e,t){return t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[this.points().length-2]),s.prototype.addPoint.call(this,e)}setLastPoint(e,t){return t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[this.points().length-2]),s.prototype.setLastPoint.call(this,e)}setPoint(e,t,i){if(i&&i.shift()&&1===e){this._snapPoint45Degree(t,this.points()[0])}if(2===e)this._points[1].index=t.index;else if(3===e)return this._points[0].index=t.index,this._points[2].price=t.price,void this.normalizePoints();super.setPoint(e,t)}getPoint(e){return e<3?s.prototype.getPoint.call(this,e):3===e?{index:this._points[0].index,price:this._points[2].price}:void 0}canHasAlert(){return!0}_getAlertPlots(){var e=this._points[0],t=this._points[1],i=[];e.index<=t.index?(i.push(e),i.push(t)):(i.push(t),i.push(e));var s=this._points[2];s.time=t.time,s.index=t.index;var r,n,o,a,l={price:s.price,time:e.time,index:e.index},c=[];s.index<=l.index?(c.push(s),c.push(l)):(c.push(l),c.push(s)),i[0].price>c[0].price?(r=i,n=c):c[0].price>i[0].price||c[1].price>i[1].price?(r=c,n=i):(r=i,n=c);var h=this.properties().extendLeft.value(),d=this.properties().extendRight.value();return e.index<=t.index?(o=h,a=d):(o=d,a=h),[this._linePointsToAlertPlot(r,"Upper",o,a),this._linePointsToAlertPlot(n,"Lower",h,a)]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,44150))).GeneralTrendFiguresDefinitionsViewModel}static createProperties(e){var t=new r("linetoolflatbottom",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}n.version=1,t.LineToolFlatBottom=n},64166:(e,t,i)=>{"use strict";i.d(t,{createPropertiesObject:()=>a});var s=i(47903),r=i(81773),n=i.n(r);class o extends(n()){constructor(e,t){super(e,t,!1,{names:["width","color","visible"]})}_iterateLevels(e,t){for(const i in e.levels)if(e.levels[i]&&(0,s.isSameType)(e.levels[i],t.typecheck())){let s=t.tpl();for(const r in this._map.names)this._map.names.hasOwnProperty(r)&&(s=t.fill(r,this._map.names[r],e.levels[i],s));e.levels[i]=s}return e}}function a(e,t){return new o(e,t)}},75622:(e,t,i)=>{"use strict";function s(e){"LineToolGannComplex"!==e.type||void 0!==e.version&&1!==e.version||(e.type="LineToolGannFixed")}i.r(t),i.d(t,{migrateState:()=>s})},76112:(e,t,i)=>{"use strict";i.d(t,{LineToolGannComplex:()=>d});var s=i(72927),r=i(16282),n=i(43434),o=i(76117),a=i(2397),l=i(64166),c=i(39096),h=i(54837);class d extends o.LineDataSource{constructor(e,t){super(e,t||d.createProperties()),this.version=2,this._scaleRatioFormatter=new n.LimitedPrecisionNumericFormatter(7),this.version=2,i.e(1583).then(i.bind(i,2498)).then(({GannComplexPaneView:e})=>{this._setPaneViews([new e(this,this.model())])});const s=this.properties();this._adjustScaleRatio(s),s.subscribe(this,this._adjustScaleRatio),s.childs().scaleRatio.subscribe(this,this._correctFirstPoint),this._syncStateExclusions=["scaleRatio"], +s.addExclusion("scaleRatio"),s.onRestoreFactoryDefaults().subscribe(this,this._handleRestoringFactoryDefaults),this._onTemplateApplying.subscribe(this,this._handleTemplateApplying),this._onTemplateApplied.subscribe(this,this._correctFirstPoint)}migrateVersion(e,t,i){1===e&&(this._points.length>=this.pointsCount()?setTimeout(()=>this._migratePoint()):this._timePoint.length>=this.pointsCount()&&this._pointAdded.subscribe(this,this._migratePoint))}destroy(){const e=this.properties();e.unsubscribe(this,this._adjustScaleRatio),e.childs().scaleRatio.unsubscribe(this,this._correctFirstPoint),e.onRestoreFactoryDefaults().unsubscribe(this,this._handleRestoringFactoryDefaults),this._onTemplateApplying.unsubscribe(this,this._handleTemplateApplying),this._onTemplateApplied.unsubscribe(this,this._correctFirstPoint),super.destroy()}pointsCount(){return 2}name(){return"Gann Square"}addPoint(e,t,i){this._points.length>1&&this._points.pop();const s=super.addPoint(e,t,i),n=this.priceScale();return!(0,r.ensureNotNull)(n).isLog()&&s&&this._correctFirstPoint(),s}setPoint(e,t,i){super.setPoint(e,t,i),void 0!==i&&i.shift()?this._correctPoint(e):this._correctScaleRatio()}setLastPoint(e,t){const i=this.priceScale();return(0,r.ensureNotNull)(i).isLog()||(this._points[1]=e,this._correctPoint(1)),super.setLastPoint(e,t)}isReversed(){return this.properties().childs().reverse.value()}levelsCount(){return this.properties().childs().levels.childCount()}levels(){const e=[],t=this.properties().childs(),i=t.levels.childCount();for(let s=0;se.GannComplexAndFixedDefinitionsViewModel)}static _configureProperties(e){o.LineDataSource._configureProperties(e);const t=[],i=[],s=e.childs();{const e=s.levels.childCount();for(let r=0;r0,o=s.index-r.index>0;let a=n&&!o||!n&&o?-1:1;0===e&&(a=-a),s.price=r.price+a*t*i,this._pointChanged.fire(e)}this.normalizePoints()}_correctFirstPoint(){this._correctPoint(this.isReversed()?0:1)}_handleRestoringFactoryDefaults(){this.properties().childs().scaleRatio.setValue(this._getAdjustedScaleRatio())}_handleTemplateApplying(e){""===e.scaleRatio&&(e.scaleRatio=this._getAdjustedScaleRatio())}_migratePoint(){if(this.points().length0){s=s.normalized();let e=Math.acos(s.x);return s.y>0&&(e=-e),e}return null}}},92803:(e,t,i)=>{"use strict" +;var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends n{constructor(e,t){super(e,t||d.createProperties()),i.e(1583).then(i.bind(i,69152)).then(({GannFanPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return d.LevelsCount}pointsCount(){return 2}name(){return"Gann Fan"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,96634))).GannFanDefinitionsViewModel}static createProperties(e){var t=new o("linetoolgannfan",e,!1,{range:[1,9]});return d._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e);for(var t=[],i=[],s=1;s<=d.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}}d.LevelsCount=9,t.LineToolGannFan=d},22674:(e,t,i)=>{"use strict";i.d(t,{LineToolGannFixed:()=>l});var s=i(72927),r=i(16282),n=i(76117),o=i(39096),a=i(64166);class l extends n.LineDataSource{constructor(e,t){super(e,t||l.createProperties()),this._constructor="LineToolGannFixed",i.e(1583).then(i.bind(i,47536)).then(({GannFixedPaneView:e})=>{this._setPaneViews([new e(this,this.model())])}),this.properties().childs().reverse.subscribe(this,this._reversePoints)}pointsCount(){return 2}name(){return"Gann Square Fixed"}axisPoints(){const e=this.points(),t=this.getScreenPoints();return e.length<2||t.length<2?[]:[e[0],(0,r.ensureNotNull)(this.screenPointToPoint(t[1]))]}getScreenPoints(){const e=this.points();if(e.length<2)return[];const t=this._calcAngle();if(null===t)return[];const[i,n]=e,o=(0,r.ensureNotNull)(this.pointToScreenPoint(i)),a=(0,r.ensureNotNull)(this.pointToScreenPoint(n)),l=Math.sqrt(Math.pow(o.x-a.x,2)+Math.pow(o.y-a.y,2)),c=new s.Point(Math.cos(t),-Math.sin(t)),h=c.normalized(),d=h.x<0?-1:1,u=h.y<0?-1:1;return[o.addScaled(c,l),o.add(new s.Point(5*l*d,5*l*u))]}levelsCount(){return this.properties().childs().levels.childCount()}levels(){const e=[],t=this.properties().childs(),i=t.levels.childCount();for(let s=0;se.GannComplexAndFixedDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e);const t=[],i=[],s=e.childs();{const e=s.levels.childCount();for(let r=0;r0&&(o=-o),o}_reversePoints(){const[e,t]=this._points;this._points[0]=t,this._points[1]=e,this.normalizePoints(),this.restart()}}},61004:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(81773),n=i(39096).LineToolColorsProperty,o=[4.5,9,11.25,18,22.5,36,45],a=function(){for(var e=[],t=o.length-1,i=1,s=0,r=0;r<1e10;)r=o[s]*i,e.push(Math.round(r)),e.push(Math.ceil(-r)),s===t-1&&(i*=10),s=(s+1)%t;return e.sort((function(e,t){return et?1:0})),e}();class l extends s{constructor(e,t){super(e,t||l.createProperties()),i.e(1583).then(i.t.bind(i,71600,19)).then(({GannSquarePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}hLevelsCount(){return l.HLevelsCount}vLevelsCount(){return l.VLevelsCount}pointsCount(){return 2}name(){return"Gann Box"}_alignPriceOnPattern(e,t){var i=Math.round(1e6*(e.price-t.price))/1e6;if(0===i)return t.price;for(var s=o[0],r=o[o.length-1],n=1,a=Math.abs(i);a=0&&!(o[c]*n=0?l:-l),e}_alignTimeOnPattern(e,t){var i=e.index-t.index;if(0===i)return 0;for(var s=a.length-2;s>=0&&!(a[s]0?1:0,e.index=t.index+a[s],e}_alignPointsFixedIncrement(e,t){return this._alignTimeOnPattern(e,t),this._alignPriceOnPattern(e,t),e}_preparePoint(e,t){return t&&t.shift()&&0!==this._points.length&&this._alignPointsFixedIncrement(e,this._points[0]),super._preparePoint(e,t)}getPoint(e){if(e<2)return super.getPoint(e);var t=null;switch(e){case 2:case 3:var i=this.points();if(i.length===this.pointsCount()){var s=i[0].index,r=i[1].price;3===e&&(s=i[1].index,r=i[0].price),t={index:s,price:r}}}return t}setPoint(e,t,i){ +if(i&&i.shift()){var s=e%2==0?this._points[1]:this._points[0];this._alignPointsFixedIncrement(t,s)}switch(e){case 2:this._points[0].index=t.index,this._points[1].price=t.price;break;case 3:this._points[1].index=t.index,this._points[0].price=t.price;break;default:super.setPoint(e,t,i)}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,12101))).GannSquareDefinitionsViewModel}static createProperties(e){var t=new r("linetoolgannsquare",e,!1,{range:[1,7],prefixes:["h","v"],names:["coeff","color","visible"]});return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);for(var t=[e.child("color"),e.child("fans").child("color")],i=1;i<=l.HLevelsCount;i++)t.push(e.child("hlevel"+i).child("color"));for(i=1;i<=l.VLevelsCount;i++)t.push(e.child("vlevel"+i).child("color"));e.addChild("linesColors",new n(t)),e.addExclusion("linesColors")}}l.HLevelsCount=7,l.VLevelsCount=7,t.LineToolGannSquare=l},586:(e,t,i)=>{"use strict";i.d(t,{LineToolGhostFeed:()=>l});var s=i(11092),r=i(76117),n=i(16282),o=i(47903);class a{constructor(e,t,i){this._source=e,this._segmentIndex=t,this._bars=null!=i?i:[]}setBars(e){this._bars=e}clone(e){return new a(e,this._segmentIndex,(0,o.clone)(this._bars))}generate(){this._bars=[];const e=this._source.points(),t=e[this._segmentIndex],i=e[this._segmentIndex+1];if(!t||!i||t.index===i.index)return;const s=this._segmentIndex?t.index+1:t.index,r=Math.sign(i.index-t.index);for(let e=s;e!==i.index;e+=r)this._bars.push(this._createBar())}bars(){return this._bars}setSize(e){if(e{this._setPaneViews([new t.GhostFeedPaneView(this,e)])})}isSynchronizable(){return!1}destroy(){this.properties().onRestoreFactoryDefaults().unsubscribe(this,this._handleRestoringFactoryDefaults),super.destroy()}propertiesChanged(){super.propertiesChanged(), +this._currentAverageHL===this.properties().childs().averageHL.value()&&this._currentVariance===this.properties().childs().variance.value()||this._regenerate()}pointsCount(){return-1}name(){return"Ghost Feed"}segmentBars(e){return this._segments[e].bars()}segments(){return this._segments}generateBars(e){this._segments.length<=e&&this._segments.push(new a(this,e)),this._segments[e].generate()}addPoint(e,t,i){if(this._points.length>0){if(this._points[this._points.length-1].index===e.index){this._lastPoint=null,this.normalizePoints(),this.createServerPoints();for(let e=0;e1&&this.generateBars(this._points.length-2),s||this._finished}finish(){this._finished=!0,this._lastPoint=null,this.normalizePoints(),this.createServerPoints()}setPoint(e,t,i,s){if(super.setPoint(e,t,i),e>0){const i=this.points()[e-1],s=t.index-i.index;this._segments[e-1].setSize(Math.abs(s))}if(e({bars:[...e.bars()]})),t}restoreData(e){e.segments&&(this._segments=e.segments.map((e,t)=>new a(this,t,e.bars))),this._currentAverageHL=this.properties().childs().averageHL.value(),this._currentVariance=this.properties().childs().variance.value()}onData(e){super.onData(e);if(!this.pointsProperty().childs().points.child("0"))for(let e=0;ee.clone(this))}startMoving(e,t,i,s){super.startMoving(e,t,i,s),this._preparePixelSegments()}move(e,t,i,s){super.move(e,t,i,s),this._restoreSegmentsFromPixels()}endMoving(e,t){return this._segmentsPixelsWhileMoving=null,super.endMoving(e,t)}static createProperties(e){const t=new s.DefaultProperty("linetoolghostfeed",e);return l._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,24708))).GhostFeedDefinitionsViewModel}_handleRestoringFactoryDefaults(){const e=Math.round(this._calculateATR());this.properties().childs().averageHL.setValue(e)}_regenerate(){this._currentAverageHL=this.properties().childs().averageHL.value(),this._currentVariance=this.properties().childs().variance.value(),this._segments.forEach(e=>e.generate()),this.updateAllViews(),this._model.updateSource(this)}_calculateATR(){const e=this._model.mainSeries(),t=[];e.bars().each((e,i)=>{const s=i[2],r=i[3];return null!=s&&null!=r&&t.push(s-r),!1});let i=0===t.length?0:t.reduce((e,t)=>e+t,0)/t.length;return i*=e.base(),i}_preparePixelSegments(){var e,t +;const i=this.priceScale(),s=null!==(t=null===(e=this.ownerSource())||void 0===e?void 0:e.firstValue())&&void 0!==t?t:null;if(null===i||null===s||i.isEmpty()||!i.isLog())return;const r=this.points();this._segmentsPixelsWhileMoving=this._segments.map((e,t)=>{const n=r[t].price,o=r[t+1].price,a=i.priceToCoordinate(n,s),l=(i.priceToCoordinate(o,s)-a)/(e.bars().length-1);return{bars:e.bars().map((e,t)=>{const r=a+t*l,n=i.coordinateToPrice(r,s);return{open:i.priceToCoordinate(n+e.o,s)-r,high:i.priceToCoordinate(n+e.h,s)-r,low:i.priceToCoordinate(n+e.l,s)-r,close:i.priceToCoordinate(n+e.c,s)-r}})}})}_restoreSegmentsFromPixels(){var e,t;const i=this.priceScale(),s=null!==(t=null===(e=this.ownerSource())||void 0===e?void 0:e.firstValue())&&void 0!==t?t:null;if(null===i||null===s||null===this._segmentsPixelsWhileMoving)return;const r=this.points();this._segmentsPixelsWhileMoving.forEach((e,t)=>{const n=this._segments[t],o=r[t].price,a=r[t+1].price,l=i.priceToCoordinate(o,s),c=(i.priceToCoordinate(a,s)-l)/(e.bars.length-1),h=n.bars().map((t,r)=>{const n=e.bars[r],o=l+r*c,a=i.coordinateToPrice(o,s);return{...t,o:i.coordinateToPrice(n.open+o,s)-a,h:i.coordinateToPrice(n.high+o,s)-a,l:i.coordinateToPrice(n.low+o,s)-a,c:i.coordinateToPrice(n.close+o,s)-a}});n.setBars(h)})}}},56136:(e,t,i)=>{"use strict";i.d(t,{LineToolHeadAndShoulders:()=>o});var s=i(11092),r=i(76117),n=i(39096);class o extends r.LineDataSource{constructor(e,t){const s=t||o.createProperties();super(e,s),i.e(1583).then(i.bind(i,95071)).then(t=>{this._setPaneViews([new t.LineToolHeadAndShouldersPaneView(this,e)])})}pointsCount(){return 7}name(){return"Head and Shoulders"}static createProperties(e){const t=new s.DefaultProperty("linetoolheadandshoulders",e);return o._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,84377)).then(e=>e.PatternWithBackgroundDefinitionViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new n.LineToolColorsProperty([e.childs().color])),e.addChild("textsColors",new n.LineToolColorsProperty([e.childs().textcolor]))}}},64696:(e,t,i)=>{"use strict";i.d(t,{LineToolHighlighter:()=>n});var s=i(11092),r=i(47324);class n extends r.LineToolBrushBase{constructor(e,t){super(e,t||n.createProperties()),this._loadPaneViews(e)}smooth(){return this.properties().childs().smooth.value()}name(){return"Highlighter"}static createProperties(e){const t=new s.DefaultProperty("linetoolhighlighter",e);return n._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,53856)).then(e=>e.HighlighterDefinitionsViewModel)}_loadPaneViews(e){i.e(1583).then(i.bind(i,68724)).then(t=>{this._setPaneViews([new t.HighlighterPaneView(this,e)])})}static _configureProperties(e){r.LineToolBrushBase._configureProperties(e)}}},58292:(e,t,i)=>{"use strict";i.d(t,{LineToolHorzLinePriceAxisView:()=>r});var s=i(95426);class r extends s.PriceAxisView{constructor(e){super(), +this._source=e}_updateRendererData(e,t,i){e.visible=!1;const s=this._source.points(),r=this._source.priceScale();if(0===s.length||null===r||r.isEmpty())return;const n=s[0];if(!isFinite(n.price))return;const o=this._source.ownerSource(),a=null!==o?o.firstValue():null;if(null===a)return;const l=this._source.properties().linecolor.value();i.background=l,i.textColor=this.generateTextColor(l),i.coordinate=r.priceToCoordinate(n.price,a),e.text=r.formatPrice(n.price,a),e.visible=!0}}},13193:(e,t,i)=>{"use strict";i.d(t,{LineToolHorzLine:()=>l});var s=i(674),r=i.n(s),n=i(11092),o=i(76117),a=i(58292);class l extends o.LineDataSource{constructor(e,t){super(e,t||l.createProperties()),this._priceAxisView=new a.LineToolHorzLinePriceAxisView(this),i.e(1583).then(i.bind(i,98827)).then(({HorzLinePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}state(e){const t=super.state(e);return t.points&&0!==t.points.length&&(t.points[0].offset=0),t}pointsCount(){return 1}name(){return"Horizontal Line"}priceAxisViews(e,t){return this.isSourceHidden()||t!==this.priceScale()||!this._model.selection().isSelected(this)&&!this.properties().childs().showPrice.value()||e!==this._model.paneForSource(this)?null:[this._priceAxisView]}timeAxisViews(){return null}timeAxisPoints(){return[]}updateAllViews(){super.updateAllViews(),this._priceAxisView.update()}canHasAlert(){return!0}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}denormalizeTimePoints(){this._points=[],this._timePoint.length>0&&this._points.push({price:this._timePoint[0].price,index:0})}clearData(){const e=this._points;super.clearData(),this._points=e}static createProperties(e){const t=new n.DefaultProperty("linetoolhorzline",e);return l._configureProperties(t),t}_getAlertPlots(){return[this.points()[0].price]}_pointsForPointset(){return[]}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,41847)).then(e=>e.HorizontalLineDefinitionsViewModel)}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text||"")}static _configureProperties(e){o.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new(r())("")),e.addExclusion("text")}}},98416:(e,t,i)=>{"use strict";i.d(t,{LineToolHorzRay:()=>l});var s=i(11092),r=i(674),n=i.n(r),o=i(58292),a=i(76117);class l extends a.LineDataSource{constructor(e,t){super(e,null!=t?t:l.createProperties()),this._priceAxisView=new o.LineToolHorzLinePriceAxisView(this),i.e(1583).then(i.bind(i,71250)).then(({HorzRayPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 1}name(){return"Horizontal Ray"}priceAxisViews(e,t){return this.isSourceHidden()||t!==this.priceScale()||!this._model.selection().isSelected(this)&&!this.properties().childs().showPrice.value()||e!==this._model.paneForSource(this)?null:[this._priceAxisView]}updateAllViews(){super.updateAllViews(),this._priceAxisView.update()}template(){const e=super.template() +;return e.text=this.properties().childs().text.value(),e}canHasAlert(){return!0}static createProperties(e){const t=new s.DefaultProperty("linetoolhorzray",e);return l._configureProperties(t),t}_getAlertPlots(){const e=this._points[0],t={index:e.index+1,price:e.price};return[this._linePointsToAlertPlot([e,t],null,!1,!0)]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,78564))).HorizontalRayDefinitionsViewModel}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text||"")}static _configureProperties(e){a.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new(n())("")),e.addExclusion("text")}}},73023:(e,t,i)=>{"use strict";i.d(t,{LineToolIcon:()=>a});var s=i(16282),r=i(11092),n=i(76117),o=i(39096);class a extends n.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._sizeScale=NaN,this.version=1,document.fonts&&document.fonts.check&&document.fonts.load&&!document.fonts.check("12px FontAwesome")&&document.fonts.load("12px FontAwesome","☺").then(()=>{this._isDestroyed||e.updateSource(this)}),i.e(1583).then(i.bind(i,63245)).then(t=>{this._setPaneViews([new t.IconPaneView(this,e)])})}pointsCount(){return 1}name(){return"Icon"}hasEditableCoordinates(){return!1}getAnchorLimit(){return 80}applyTemplate(e){delete e.icon,super.applyTemplate(e)}startChanging(e,t){super.startChanging(e,t);const i=this.properties().childs();i.size.value()<80?this._sizeScale=i.size.value()/80:this._sizeScale=1}getChangePointForSync(e){return null}setPoint(e,t,i){const r=Object.assign({},t),n=(0,s.ensureNotNull)(this.pointToScreenPoint(this.points()[0])),o=(0,s.ensureNotNull)(this.pointToScreenPoint(r)),a=this.properties().childs();if(0===e||1===e){const t=o.subtract(n).normalized(),i=-t.x;let s=Math.acos(i);Math.asin(t.y)>0&&(s=2*Math.PI-s),0===e&&(s+=Math.PI),a.angle.setValue(s)}else{let e=2*o.subtract(n).length();e*=this._sizeScale,a.size.setValue(e),a.scale.setValue(1)}}endChanging(e,t){const i=super.endChanging(e,t);return this._sizeScale=NaN,i}getSourceIcon(){return{type:"text",text:String.fromCharCode(this.properties().childs().icon.value())}}static createProperties(e){const t=new r.DefaultProperty("linetoolicon",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,93619)).then(e=>e.IconsDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e),e.addChild("backgroundsColors",new o.LineToolColorsProperty([e.childs().color])),e.addExclusion("angle"),e.addExclusion("scale")}}},18716:(e,t,i)=>{"use strict";i.d(t,{LineToolInfoLine:()=>n});var s=i(11092),r=i(12565);class n extends r.LineToolTrendLine{constructor(e,t){super(e,t||n.createProperties())}pointsCount(){return 2}name(){return"Info Line"}static createProperties(e){const t=new s.DefaultProperty("linetoolinfoline",e);return n._configureProperties(t),t}static _configureProperties(e){ +r.LineToolTrendLine._configureProperties(e)}}},18898:(e,t,i)=>{"use strict";var s=i(81773),r=i(70799).LineToolPitchfork;class n extends r{constructor(e,t){super(e,t||n.createProperties())}name(){return"Inside Pitchfork"}static createProperties(e){var t=new s("linetoolinsidepitchfork",e,!1,{range:[0,8]});return n._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e)}}t.LineToolInsidePitchfork=n},33033:(e,t,i)=>{"use strict";var s;i.d(t,{isStudyLineToolName:()=>n,isLineToolName:()=>o,isLineDrawnWithPressedButton:()=>a,isLineToolDrawWithoutPoints:()=>l,isTextToolName:()=>c});var r=i(8902);new Set([]);function n(e){return"LineToolRegressionTrend"===e||"LineToolVbPFixed"===e||"LineToolFixedRangeVolumeProfile"===e}function o(e){return e in(s||(s=i.t(r,2)))||n(e)}function a(e){return"LineToolBrush"===e||"LineToolHighlighter"===e}function l(e){return"LineToolTweet"===e||"LineToolIdea"===e}function c(e){switch(e){case"LineToolBalloon":case"LineToolText":case"LineToolTextAbsolute":case"LineToolCallout":case"LineToolNote":case"LineToolNoteAbsolute":case"LineToolSignpost":return!0}return!1}},17277:(e,t,i)=>{"use strict";i.d(t,{LineDataSourceBase:()=>k});var s=i(72927),r=i(16282),n=i(18437),o=i(65447),a=i(46015),l=i(15521),c=i(5729),h=i.n(c),d=i(674),u=i.n(d),p=i(39096);class _ extends(u()){constructor(e,t){super(),this._lineSource=e,this._pointIndex=t,e.pointAdded().subscribe(this,e=>{this._pointIndex===e&&this._listeners.fire(this)}),e.pointChanged().subscribe(this,e=>{this._pointIndex===e&&this._listeners.fire(this)})}value(){const e=this._lineSource.points()[this._pointIndex].price,t=(0,r.ensureNotNull)(this._lineSource.ownerSource()).formatter();if(t.parse){const i=t.format(e),s=t.parse(i);return s.res?s.value:e}return e}setValue(e){const t=this._lineSource.points()[this._pointIndex];t.price=parseFloat(""+e),this._lineSource.startChanging(this._pointIndex,t),this._lineSource.setPoint(this._pointIndex,t),this._lineSource.model().updateSource(this._lineSource),this._listeners.fire(this);const i=this._lineSource.endChanging(!0,!1);this._lineSource.syncMultichartState(i)}}var m=i(54388),g=i(35001),f=i(85545),v=i(92898),S=i(25436),y=i(32856),b=i.n(y),w=i(47329),P=i(1467),C=i(89537),T=i(25220),x=i(81694),I=i(47903);const M=(0,o.getLogger)("Chart.LineDataSource");class L{constructor(){this._states=[]}start(e){this._states.push(e)}finish(e){const t=(0,r.ensureDefined)(this._states.pop());return s=t,(i=e).length!==s.length?{indexesChanged:!0,pricesChanged:!0}:i.reduce((e,t,i)=>{const r=s[i];return e.indexesChanged=e.indexesChanged||t.index!==r.index,e.pricesChanged=e.pricesChanged||t.price!==r.price,e},{indexesChanged:!1,pricesChanged:!1});var i,s}isEmpty(){return 0===this._states.length}}let A=0;class k extends a.DataSource{constructor(e,t){super(),this.version=1,this.customization={forcePriceAxisLabel:!1,disableErasing:!1,disableSave:!1,showInObjectsTree:!0},this._currentPointsetId=null,this._pointChanged=new(h()),this._pointAdded=new(h()),this._alertUndoMode=!1,this._priceAxisViews=[], +this._timeAxisViews=[],this._timePoint=[],this._points=[],this._lastPoint=null,this._paneViews=new Map,this._normalizedPointsChanged=new(h()),this._fixedPointsChanged=new(h()),this._changeStatesStack=new L,this._startMovingPoint=null,this._currentMovingPoint=null,this._fixedPoints=[],this._isActualSymbol=!1,this._isActualInterval=!1,this._isActualCurrency=!1,this._isActualUnit=!1,this._sharingMode=new(b())("not-shared"),this._onTemplateApplying=new(h()),this._onTemplateApplied=new(h()),this._syncStateExclusions=[],this._syncLineStyleMuted=!1,this._onIsActualIntervalChange=new(h()),this._linkKey=new(b())(null),this._serverUpdateTime=null,this._model=e,this._properties=t,this._localAndServerAlertsMismatch=!1,e.mainSeries().symbolResolved().subscribe(this,this._onMainSeriesSymbolResolved)}destroy(){this._paneViews.forEach((e,t)=>this._destroyPanePaneViews(t)),this._model.mainSeries().symbolResolved().unsubscribeAll(this)}linkKey(){return this._linkKey}serverUpdateTime(){return this._serverUpdateTime}setServerUpdateTime(e){this._serverUpdateTime=e}boundToSymbol(){return!0}points(){const e=[];for(let t=0;t0&&(this._points=e)}restorePoints(e,t,i){const s=this._timePoint.length>0&&!(0,I.deepEquals)(this._timePoint,e)[0];this._timePoint=(0,f.deepCopy)(e),this._points=t,i||this.denormalizeTimePoints(),s&&this._normalizedPointsChanged.fire()}restorePositionPercents(e){this._positionPercents=e}calcIsActualSymbol(){if(this._model.mainSeries().hasDelayedSymbolIntervalChange())return;const e=this.ownerSource();if(null===e)this._isActualSymbol=!1;else{const t=(0,r.ensureNotNull)(e.symbolSource());this._migrateSymbolProperty();const i=this._properties.childs().symbol,s=i.value();if(this._isActualSymbol=t.symbolSameAsCurrent(s),this._isActualSymbol){const e=t.symbol();(0, +v.areEqualSymbols)(s,e)||(M.logWarn('Possible drawing "migrating" detected from "'+s+'" to "'+e+'"'),M.logWarn("Series symbolInfo: "+JSON.stringify(t.symbolInfo())),M.logWarn(""+(new Error).stack)),i.setValue(e)}}this.calcIsActualInterval(),this.calcIsActualCurrency(),this.calcIsActualUnit(),this._onSourceHiddenMayChange()}calcIsActualCurrency(){const e=this.ownerSource();if(null===e)return void(this._isActualCurrency=!1);const t=this._properties.childs().currencyId.value();if(null!==t){const i=e.symbolSource();if(null===i)return;this._isActualCurrency=t===(0,S.symbolCurrency)(i.symbolInfo(),void 0,!0)}else{const t=(0,r.ensureNotNull)(e.symbolSource()).symbolInfo();this._isActualCurrency=null!==t&&(0,S.symbolCurrency)(t)===(0,S.symbolOriginalCurrency)(t)}this._onSourceHiddenMayChange()}calcIsActualUnit(){const e=this.ownerSource();if(null===e)return void(this._isActualUnit=!1);const t=this._properties.childs().unitId.value();if(null!==t)this._isActualUnit=t===(0,r.ensureNotNull)(e.symbolSource()).unit();else{const t=(0,r.ensureNotNull)(e.symbolSource()).symbolInfo();this._isActualUnit=null!==t&&(0,S.symbolUnit)(t)===(0,S.symbolOriginalUnit)(t)}this._onSourceHiddenMayChange()}calcIsActualInterval(){const e=this._isActualInterval,t=this._properties,i=this._model.mainSeries();this._isActualInterval=(0,C.isActualInterval)(g.Interval.parse(i.interval()),t.childs().intervalsVisibilities),!this._isActualInterval&&this._model.selection().isSelected(this)&&this._model.selectionMacro(e=>e.removeSourceFromSelection(this)),this._isActualInterval!==e&&this._onIsActualIntervalChange.fire(),this._onSourceHiddenMayChange()}paneViews(e){if(this.isSourceHidden())return null;const t=this._getPaneViews(this.isMultiPaneAvailable()?e:void 0);if(null===t)return null;if(1===t.length)return[t[0]];const i=[];for(let e=t.length-1;e>=0;--e)i.push(t[e]);return i}isSavedInChart(){return!this.customization.disableSave}setSavingInChartEnabled(e){this.customization.disableSave=!e}detachAlert(){const e=this.getAlertSync();if(e&&this._alertCallbacks){const t=this._alertCallbacks;e.off("destroy",t.remove),e.off("change:hovered",t.hovered),e.off("change:selected",t.selected)}this.hasAlert.setValue(!1),this._alertId=void 0}removeAlert(){this._alertId=void 0,this.hasAlert.setValue(!1)}deleteAlert(){0}areLocalAndServerAlertsMismatch(){return this._localAndServerAlertsMismatch}showInObjectTree(){return this.customization.showInObjectsTree}setShowInObjectsTreeEnabled(e){this.customization.showInObjectsTree=e}start(){this.createServerPoints()}onData(e){"pointset_error"!==e.method?e.params.customId===this._currentPointsetIdWithPrefix()&&this._onPointsetUpdated(e.params.plots):M.logError(`Error getting pointset: ${e.params[0]} ${e.params[1]}`)}isActualSymbol(){return this._isActualSymbol}isActualCurrency(){return this._isActualCurrency}isActualInterval(){return this._isActualInterval}isActualUnit(){return this._isActualUnit}onIsActualIntervalChange(){return this._onIsActualIntervalChange}setOwnerSource(e){ +null!==this._ownerSource&&(this._ownerSource.currencyChanged().unsubscribeAll(this),this._ownerSource.unitChanged().unsubscribeAll(this)),super.setOwnerSource(e),e&&(this.setPriceScale(e.priceScale()),e.currencyChanged().subscribe(this,this.calcIsActualCurrency),e.unitChanged().subscribe(this,this.calcIsActualUnit),this.calcIsActualSymbol(),this._migrateZOrder())}dataAndViewsReady(){return this._paneViews.size>0}pointAdded(){return this._pointAdded}pointChanged(){return this._pointChanged}pointToScreenPoint(e){var t;const i=this._model.timeScale(),r=this.priceScale(),n=null===(t=this.ownerSource())||void 0===t?void 0:t.firstValue();if(!r||r.isEmpty()||i.isEmpty()||null==n)return null;const o=i.indexToCoordinate(e.index),a=r.priceToCoordinate(e.price,n);return new s.Point(o,a)}screenPointToPoint(e){var t;const i=this.priceScale(),s=null===(t=this.ownerSource())||void 0===t?void 0:t.firstValue();if(null==s||!isFinite(s)||null===i)return null;const r=this._model.timeScale().coordinateToIndex(e.x);return{price:i.coordinateToPrice(e.y,s),index:r}}addPoint(e,t,i){const s=this._preparePoint(e,t);return this._addPointIntenal(s,t,i)}propertiesChanged(e){this.calcIsActualInterval(),this.updateAllViewsAndRedraw(),e||this._syncLineStyleIfNeeded()}state(e){var t,i;const s={type:this.toolname,id:this.id(),state:this.properties().state(null!==(t=this._propertiesStateExclusions())&&void 0!==t?t:void 0),points:(0,f.deepCopy)(this._timePoint),zorder:this.zorder(),ownerSource:null===(i=this.ownerSource())||void 0===i?void 0:i.id()};return this.linkKey().value()&&(s.linkKey=this.linkKey().value()),delete s.state.points,e&&(s.indexes=this._points),this.isFixed()&&(s.positionPercents=this._positionPercents||this.calcPositionPercents()),"version"in this&&1!==this.version&&(s.version=this.version),this._saveAlertIdInState()&&this.hasAlert.value()&&void 0!==this._alertId&&(s.alertId=this._alertId.toString()),s}updateAllViewsAndRedraw(){this.updateAllViews(),this._model.updateSource(this)}properties(){return this._properties}restoreExternalPoints(e,t){if(this._timePoint=(0,f.deepCopy)(e.points),t.indexesChanged){if(this.properties().childs().interval.setValue(e.interval),!this.isActualSymbol())return this._clearServerPoints(),void this._normalizedPointsChanged.fire();this.createServerPoints()}else{const t=Math.min(this._points.length,e.points.length);for(let i=0;i0&&this.normalizePoints(),!this._readyToCreatePointset())return;const e=this._pointsForPointset();if(0===e.length)return;this._currentPointsetId=++A;const t=(0,r.ensureNotNull)(this._model.mainSeries().seriesSource().symbolInstanceId()),i=(0,P.getServerInterval)(this.properties().childs().interval.value());this._model.chartApi().createPointset(this._currentPointsetIdWithPrefix(),"turnaround",t,i,e,this.onData.bind(this))}finish(){}tryCreateServerPoints(){this.isFixed()||this.isSourceHidden()||null===this._currentPointsetId&&this.createServerPoints()}stop(){this._clearServerPoints()}restart(){this.isFixed()||(this._currentPointsetId=null,this.createServerPoints())}isStarted(){return null!==this._currentPointsetId}convertYCoordinateToPriceForMoving(e,t){var i;const s=(0,r.ensureNotNull)(this.priceScale());if(s.isEmpty())return null;const n=this.ownerSource(),o=(0,r.ensure)(null===(i=n||t)||void 0===i?void 0:i.firstValue());return s.coordinateToPrice(e,o)}syncMultichartState(e){const t={points:this._timePoint,interval:this._model.mainSeries().interval()},i=this.linkKey().value();if(null!==i&&this.isSynchronizable()){const s={model:this._model,linkKey:i,symbol:this._model.mainSeries().symbol(),finalState:t,changes:e};(0,l.finishChangingLineTool)(s)}}enableCurrentIntervalVisibility(){const e=this.properties().childs().intervalsVisibilities.state();void 0!==e&&((0,C.makeIntervalsVisibilitiesVisibleAtInterval)(e,g.Interval.parse(this._model.mainSeries().interval())),this.properties().childs().intervalsVisibilities.mergeAndFire(e))}clonePositionOffset(){return this.isFixed()?{barOffset:0,xCoordOffset:20,yCoordOffset:20}:{barOffset:0,xCoordOffset:0,yCoordOffset:-40}}sharingMode(){return this._sharingMode}share(e){this._sharingMode.setValue(e)}syncLineStyleState(){const e=this.properties().state(this._syncStateExclusions);return delete e.interval,e.intervalsVisibilities=(0,C.mergeIntervalVisibilitiesDefaults)(e.intervalsVisibilities),e}_correctLastPoint(e){return(0,I.clone)(e)}_pointsForPointset(){return this._timePoint.map(e=>[e.time_t,e.offset])}_snapPoint45Degree(e,t,i){const s=this._model.timeScale(),n=s.indexToCoordinate(t.index),o=s.indexToCoordinate(e.index)-n,a=(0,r.ensureNotNull)(this.priceScale()),l=t.price,c=e.price,h=(0,r.ensureNotNull)((0,r.ensureNotNull)(this.ownerSource()).firstValue()),d=a.priceToCoordinate(l,h),u=a.priceToCoordinate(c,h)-d,p=Math.round(Math.atan2(o,u)/Math.PI*4);if(2===Math.abs(p))i||(e.price=l);else if(0===Math.abs(p)||4===Math.abs(p))i||(e.index=t.index);else{const t=Math.sqrt(o*o+u*u),i=o<0?-1:1,r=u<0?-1:1;let l=Math.max(Math.abs(u),Math.abs(o));l/=l*Math.sqrt(2)/t;const c=Math.round(s.coordinateToIndex(n+l*i)),p=Math.abs(s.indexToCoordinate(c)-n),_=a.coordinateToPrice(d+p*r,h);e.index=c,e.price=_}}normalizePoint(e){return{...this._model.timeScale().normalizeBarIndex(e.index), +price:e.price}}normalizePoints(){this._timePoint=[];for(let e=0;ethis._destroyPanePaneViews(t)),this._model.lightUpdate()}_getPaneViews(e){return this._paneViews.get(e)||null}_updateAllPaneViews(){this._paneViews.forEach(e=>{for(const t of e)t.update()})}_alignPointHorizontallyOrVertically(e){const t=(0,r.ensureNotNull)(this.pointToScreenPoint(e)),i=(0,r.ensureDefined)((0,r.ensureNotNull)(this._startMovingPoint).logical),s=(0,r.ensureDefined)((0,r.ensureNotNull)(this._startMovingPoint).screen),n=Math.abs(s.x-t.x),o=Math.abs(s.y-t.y);if(n<10&&o<10)return e;return{index:n=1){for(let t=0;t=2&&this._snapTo45DegreesAvailable()&&this._snapPoint45Degree(i,this.points()[this.points().length-2]),i}_addPointIntenal(e,t,i){this._points.push(e);const s=this._points.length===this.pointsCount();return s?(this._lastPoint=null,i||(this.normalizePoints(),this.createServerPoints())):this._lastPoint=e,this._pointAdded.fire(this._points.length-1),s}_onSourceHiddenMayChange(){this._model.invalidate(w.InvalidationMask.validateAction(()=>{this._isDestroyed||this._processHibernate()}))}_processHibernate(){this.isSourceHidden()?this.isStarted()&&this.stop():this.isStarted()||this.start()}_saveAlertIdInState(){return!0}_onPointsetUpdated(e){if(0===e.length)return;for(let t=0;t0}_onAlertData(e){}_propertiesStateExclusions(){return null}_syncLineStyleIfNeeded(){const e=this.linkKey().value();!this._syncLineStyleMuted&&e&&(0,l.changeLineStyle)({linkKey:e,state:this.syncLineStyleState(),model:this._model})}_muteSyncLineStyle(){this._syncLineStyleMuted=!0}_unmuteSyncLineStyleWithoutApplyingChanges(){this.propertiesChanged(),this._syncLineStyleMuted=!1}_applyTemplateImpl(e){e.intervalsVisibilities=(0,C.mergeIntervalVisibilitiesDefaults)(e.intervalsVisibilities);const t=this.properties();t.mergePreferences(e),t.saveDefaults(),this.propertiesChanged()}static _configureProperties(e){if(k._addCollectedProperties(e),e.hasChild("symbolStateVersion")||e.addChild("symbolStateVersion",new(u())(k._initialSymbolStateVersion())),e.hasChild("zOrderVersion")||e.addChild("zOrderVersion",new(u())(k._initialZOrderVersion())),e.hasChild("visible")||e.addChild("visible",new(u())(!0)),e.hasChild("frozen")||e.addChild("frozen",new(u())(!1)),e.hasChild("symbol")||e.addChild("symbol",new(u())("")),e.hasChild("currencyId")||e.addChild("currencyId",new(u())(null)),e.hasChild("unitId")||e.addChild("unitId",new(u())(null)),e.addExclusion("symbolStateVersion"),e.addExclusion("zOrderVersion"),e.addExclusion("visible"),e.addExclusion("frozen"),e.addExclusion("symbol"),e.addExclusion("currencyId"),e.addExclusion("unitId"), +e.hasChild("intervalsVisibilities")){const t=(0,I.merge)((0,I.clone)(T.intervalsVisibilitiesDefaults),e.childs().intervalsVisibilities.state());e.removeProperty("intervalsVisibilities"),e.addChild("intervalsVisibilities",new x.IntervalsVisibilitiesProperty(t))}else e.addChild("intervalsVisibilities",new x.IntervalsVisibilitiesProperty(T.intervalsVisibilitiesDefaults));e.hasChild("title")||e.addChild("title",new(u())("")),e.addExclusion("symbolInfo"),e.addExclusion("points"),e.addExclusion("interval"),e.addExclusion("title"),e.hasChild("singleChartOnly")&&e.removeProperty("singleChartOnly"),e.hasChild("font")&&e.removeProperty("font")}static _addCollectedProperties(e){e.hasChild("linewidth")&&e.addChild("linesWidths",new p.LineToolWidthsProperty([(0,r.ensureDefined)(e.child("linewidth"))])),e.hasChild("linecolor")&&e.addChild("linesColors",new p.LineToolColorsProperty([(0,r.ensureDefined)(e.child("linecolor"))])),e.hasChild("backgroundColor")&&e.addChild("backgroundsColors",new p.LineToolColorsProperty([(0,r.ensureDefined)(e.child("backgroundColor"))])),e.hasChild("textColor")&&e.addChild("textsColors",new p.LineToolColorsProperty([(0,r.ensureDefined)(e.child("textColor"))])),e.addExclusion("linesWidths"),e.addExclusion("linesColors"),e.addExclusion("backgroundsColors"),e.addExclusion("textsColors")}static _initialSymbolStateVersion(){return 1}static _initialZOrderVersion(){return 1}_destroyPanePaneViews(e){const t=this._paneViews.get(e);if(void 0!==t)for(const e of t)e.destroy&&e.destroy();void 0!==e&&e.onDestroyed().unsubscribeAll(this),this._paneViews.delete(e)}_copyPricesWithoutNormalization(){const e=Math.min(this._points.length,this._timePoint.length);for(let t=0;t{"use strict";i.d(t,{LineDataSourcePointIndexProperty:()=>n});var s=i(674),r=i.n(s);class n extends(r()){constructor(e,t){super(),this._lineSource=e,this._pointIndex=t}value(){return this._lineSource.points()[this._pointIndex].index}setValue(e){const t=this._lineSource.points()[this._pointIndex];t.index=e,this._lineSource.startChanging(this._pointIndex,t),this._setPointImpl(t),this._lineSource.model().updateSource(this._lineSource),this._listeners.fire(this);const i=this._lineSource.endChanging(!0,!1);this._lineSource.syncMultichartState(i)}_setPointImpl(e){this._lineSource.setPoint(this._pointIndex,e)}}},10100:(e,t,i)=>{"use strict";i.d(t,{LineToolPriceAxisView:()=>n});var s=i(16282),r=i(95426);class n extends r.PriceAxisView{constructor(e,t){super(),this._active=!1,this._source=e,this._data=t,this._properties=e.model().properties().childs().scalesProperties}setActive(e){this._active=e}_updateRendererData(e,t,i){e.visible=!1;const s=this._source.model();if(!s.timeScale()||s.timeScale().isEmpty())return;const r=this._source.priceScale();if(null===r||r.isEmpty())return;if(!s.selection().isSelected(this._source)&&!this._source.isForcedDrawPriceAxisLabel())return;if(null===s.timeScale().visibleBarsStrictRange())return;const n=this._source.priceAxisPoints(),o=this._data.pointIndex +;if(n.length<=o)return;const a=n[o];if(!isFinite(a.price))return;const l=this._source.ownerSource(),c=null!==l?l.firstValue():null;if(null===c)return;let h=this._data.backgroundPropertyGetter?this._data.backgroundPropertyGetter():null;null===h&&(h=this._getBgColor()),i.background=h,i.borderColor="#2E84A6",i.textColor=this.generateTextColor(h),i.coordinate=r.priceToCoordinate(a.price,c),e.text=this._formatPrice(a.price,c),e.visible=!0}_getBgColor(){return this._active?this._properties.childs().axisLineToolLabelBackgroundColorActive.value():this._properties.childs().axisLineToolLabelBackgroundColorCommon.value()}_formatPrice(e,t){return(0,s.ensureNotNull)(this._source.priceScale()).formatPrice(e,t)}}},68845:(e,t,i)=>{"use strict";i.d(t,{LineDataSourceTimeAxisView:()=>r});var s=i(87758);class r extends s.TimeAxisView{constructor(e,t){super(e.model()),this._active=!1,this._source=e,this._pointIndex=t,this._properties=e.model().properties().childs().scalesProperties}setActive(e){this._active=e}_getBgColor(){return this._active?this._properties.childs().axisLineToolLabelBackgroundColorActive.value():this._properties.childs().axisLineToolLabelBackgroundColorCommon.value()}_getIndex(){if(!this._model.selection().isSelected(this._source))return null;const e=this._source.timeAxisPoints();return e.length<=this._pointIndex?null:e[this._pointIndex].index}_isVisible(){return!0}}},76117:(e,t,i)=>{"use strict";var s=i(72927).Point,r=i(10100).LineToolPriceAxisView,n=i(68845).LineDataSourceTimeAxisView,o=i(15521),a=i(35001).Interval,l=i(65447).getLogger("Chart.LineDataSource"),c=i(18437),h=i(674),d=i(27490),u=i(58761).lineToolsLocalizedNames,p=d.enabled("datasource_copypaste"),_=i(17277).LineDataSourceBase;class m extends _{constructor(e,t){super(e,t),this._properties.hasChild("interval")||this._properties.addChild("interval",new h(e.mainSeries().interval())),this.calcIsActualSymbol(),this._properties.intervalsVisibilities.listeners().subscribe(this,m.prototype.calcIsActualSymbol);var i=this;if(this._properties.listeners().subscribe(this,(function(e){i.propertiesChanged()})),this._createPointsProperties(),this.pointsCount()>0)for(var s=0;s=i.multiplier()&&(t=e.key)})),t}priceScale(){return this._ownerSource?this._ownerSource.m_priceScale:null}symbol(){ +return this._properties.symbol.value()}isSavedInStudyTemplates(){return!1}fixedPoints(){var e=[];if(this._positionPercents&&!this.priceScale().isEmpty())for(var t=0;t{"use strict";i.r(t),i.d(t,{LineToolMultiplePropertyBaseImpl:()=>l,LineToolCollectedProperty:()=>c,LineToolWidthsProperty:()=>h,LineToolColorsProperty:()=>d,MultipleLineWidthsProperty:()=>p,MultipleLineColorsProperty:()=>_});var s=i(65447),r=i(5729),n=i.n(r);const o=(0,s.getLogger)("Chart.LineToolCollectedProperty");class a{applyValue(e,t){e.setValue(t)}}class l{constructor(e,t){this._onChange=new(n()),this._properties=e,e.forEach(e=>e.subscribe(this,()=>{this._onChange.fire(this)})),this._showIfProperty=t}visible(){var e;return!this._showIfProperty||(null===(e=this._showIfProperty)||void 0===e?void 0:e.value())}value(){if(0===this._properties.length)return o.logError("Incorrect call, should not request value of 0 properties"),"mixed";const e=this._properties[0].value();return 1===this._properties.length||this._properties.every(t=>t.value()===e)?e:"mixed"}state(){}merge(){}destroy(){this._properties.forEach(e=>e.unsubscribeAll(this))}subscribe(e,t){this._onChange.subscribe(e,t)}unsubscribe(e,t){this._onChange.unsubscribe(e,t)}unsubscribeAll(e){this._onChange.unsubscribeAll(e)}storeStateIfUndefined(){return!0}}class c extends l{setValue(e,t,i){if("mixed"===e)return;const s=null!=i?i:new a;this._properties.forEach(t=>s.applyValue(t,e))}}class h extends c{}class d extends c{firstColor(){return this._properties[0].value()}}class u extends l{setValue(e,t,i){if("mixed"===e)return;const s=null!=i?i:new a;this._properties.forEach(t=>t.setValue(e,void 0,s))}}class p extends u{}class _ extends u{}},8902:(e,t,i)=>{"use strict";t.LineToolFibRetracement=i(88376).LineToolFibRetracement,t.LineToolFibChannel=i(40861).LineToolFibChannel,t.LineToolFibSpeedResistanceArcs=i(77268).LineToolFibSpeedResistanceArcs,t.LineToolProjection=i(79300).LineToolProjection,t.LineToolTrendBasedFibExtension=i(13768).LineToolTrendBasedFibExtension,t.LineToolElliott=i(74168).LineToolElliott,t.LineToolFibCircles=i(90763).LineToolFibCircles,t.LineToolVertLine=i(60880).LineToolVertLine,t.LineToolCrossLine=i(56702).LineToolCrossLine,t.LineToolBarsPattern=i(21827).LineToolBarsPattern,t.LineToolTrendBasedFibTime=i(97835).LineToolTrendBasedFibTime,t.LineToolFibTimeZone=i(26452).LineToolFibTimeZone,t.LineToolCircleLines=i(96007).LineToolCircleLines,t.LineToolDateRange=i(65833).LineToolDateRange, +t.LineToolPriceRange=i(40630).LineToolPriceRange,t.LineToolDateAndPriceRange=i(97867).LineToolDateAndPriceRange,t.LineToolParallelChannel=i(16898).LineToolParallelChannel,t.LineToolTrendAngle=i(16039).LineToolTrendAngle,t.LineToolTrendLine=i(12565).LineToolTrendLine,t.LineToolInfoLine=i(18716).LineToolInfoLine,t.LineToolArrowMark=i(35320).LineToolArrowMark,t.LineToolExecution=i(22769).LineToolExecution,t.LineToolPitchfan=i(69316).LineToolPitchfan,t.LineToolGannSquare=i(61004).LineToolGannSquare,t.LineToolFibSpeedResistanceFan=i(19832).LineToolFibSpeedResistanceFan,t.LineToolGannComplex=i(76112).LineToolGannComplex,t.LineToolGannFixed=i(22674).LineToolGannFixed,t.LineToolGannFan=i(92803).LineToolGannFan,t.LineToolFibWedge=i(64794).LineToolFibWedge,t.LineToolPitchfork=i(70799).LineToolPitchfork,t.LineToolDisjointAngle=i(2683).LineToolDisjointChannel,t.LineToolFlatBottom=i(63343).LineToolFlatBottom,t.LineToolIcon=i(73023).LineToolIcon,t.LineToolRotatedRectangle=i(96312).LineToolRotatedRectangle,t.LineToolFibSpiral=i(34067).LineToolFibSpiral,t.LineToolHeadAndShoulders=i(56136).LineToolHeadAndShoulders,t.LineToolTriangle=i(48650).LineToolTriangle,t.LineToolTrianglePattern=i(89938).LineToolTrianglePattern,t.LineTool5PointsPattern=i(98127).LineTool5PointsPattern,t.LineToolThreeDrivers=i(69066).LineToolThreeDrivers,t.LineToolABCD=i(95026).LineToolABCD,t.LineToolPolyline=i(78218).LineToolPolyline,t.LineToolPath=i(92469).LineToolPath,t.LineToolPrediction=i(81290).LineToolPrediction,t.LineToolPriceLabel=i(67128).LineToolPriceLabel,t.LineToolArrowMarker=i(76292).LineToolArrowMarker,t.LineToolNote=i(71166).LineToolNote,t.LineToolNoteAbsolute=i(71166).LineToolNoteAbsolute,t.LineToolSignpost=i(6789).LineToolSignpost,t.LineToolBrush=i(66842).LineToolBrush,t.LineToolArc=i(93750).LineToolArc,t.LineToolCallout=i(20766).LineToolCallout,t.LineToolBalloon=i(25830).LineToolBalloon,t.LineToolText=i(60598).LineToolText,t.LineToolHorzLine=i(13193).LineToolHorzLine,t.LineToolHorzRay=i(98416).LineToolHorzRay,t.LineToolRectangle=i(46297).LineToolRectangle,t.LineToolCircle=i(77198).LineToolCircle,t.LineToolEllipse=i(56686).LineToolEllipse,t.LineToolTimeCycles=i(56290).LineToolTimeCycles,t.LineToolSineLine=i(39447).LineToolSineLine,t.LineToolGhostFeed=i(586).LineToolGhostFeed,t.LineToolBezierQuadro=i(6016).LineToolBezierQuadro,t.LineToolBezierCubic=i(59376).LineToolBezierCubic,t.LineToolArrow=i(26478).LineToolArrow,t.LineToolRay=i(98684).LineToolRay,t.LineToolExtended=i(66163).LineToolExtended,t.LineToolSchiffPitchfork=i(78124).LineToolSchiffPitchfork,t.LineToolSchiffPitchfork2=i(14444).LineToolSchiffPitchfork2,t.LineToolInsidePitchfork=i(18898).LineToolInsidePitchfork,t.LineToolTextAbsolute=i(60598).LineToolTextAbsolute,t.LineToolArrowMarkLeft=i(35320).LineToolArrowMarkLeft,t.LineToolArrowMarkRight=i(35320).LineToolArrowMarkRight,t.LineToolArrowMarkUp=i(35320).LineToolArrowMarkUp,t.LineToolArrowMarkDown=i(35320).LineToolArrowMarkDown,t.LineToolFlagMark=i(59954).LineToolFlagMark,t.LineToolCypherPattern=i(3913).LineToolCypherPattern, +t.LineToolElliottImpulse=i(74168).LineToolElliottImpulse,t.LineToolElliottTriangle=i(74168).LineToolElliottTriangle,t.LineToolElliottTripleCombo=i(74168).LineToolElliottTripleCombo,t.LineToolElliottCorrection=i(74168).LineToolElliottCorrection,t.LineToolElliottDoubleCombo=i(74168).LineToolElliottDoubleCombo,t.LineToolRiskRewardLong=i(74021).LineToolRiskRewardLong,t.LineToolRiskRewardShort=i(74021).LineToolRiskRewardShort,t.LineToolPosition=i(97496).LineToolPosition,t.LineToolOrder=i(3873).LineToolOrder,t.LineToolHighlighter=i(64696).LineToolHighlighter,t.LineToolPriceNote=i(80363).LineToolPriceNote},58761:(e,t,i)=>{"use strict";i.d(t,{lineToolsLocalizedNames:()=>n});var s=i(79881),r=i(67869);const n={LineTool5PointsPattern:(0,s.t)("XABCD Pattern"),LineToolABCD:(0,s.t)("ABCD Pattern"),LineToolArc:(0,s.t)("Arc"),LineToolArrow:(0,s.t)("Arrow"),LineToolArrowMarkDown:(0,s.t)("Arrow Mark Down"),LineToolArrowMarkLeft:(0,s.t)("Arrow Mark Left"),LineToolArrowMarkRight:(0,s.t)("Arrow Mark Right"),LineToolArrowMarkUp:(0,s.t)("Arrow Mark Up"),LineToolBalloon:(0,s.t)("Balloon"),LineToolBarsPattern:(0,s.t)("Bars Pattern"),LineToolBezierCubic:(0,s.t)("Double Curve"),LineToolBezierQuadro:(0,s.t)("Curve"),LineToolBrush:(0,s.t)("Brush"),LineToolCallout:(0,s.t)("Callout"),LineToolCircleLines:(0,s.t)("Cyclic Lines"),LineToolCypherPattern:(0,s.t)("Cypher Pattern"),LineToolDateAndPriceRange:(0,s.t)("Date and Price Range"),LineToolDateRange:(0,s.t)("Date Range"),LineToolDisjointAngle:(0,s.t)("Disjoint Channel"),LineToolElliottCorrection:(0,s.t)("Elliott Correction Wave (ABC)"),LineToolElliottDoubleCombo:(0,s.t)("Elliott Double Combo Wave (WXY)"),LineToolElliottImpulse:(0,s.t)("Elliott Impulse Wave (12345)"),LineToolElliottTriangle:(0,s.t)("Elliott Triangle Wave (ABCDE)"),LineToolElliottTripleCombo:(0,s.t)("Elliott Triple Combo Wave (WXYXZ)"),LineToolEllipse:(0,s.t)("Ellipse"),LineToolExtended:(0,s.t)("Extended Line"),LineToolFibChannel:(0,s.t)("Fib Channel"),LineToolFibCircles:(0,s.t)("Fib Circles"),LineToolFibRetracement:(0,s.t)("Fib Retracement"),LineToolFibSpeedResistanceArcs:(0,s.t)("Fib Speed Resistance Arcs"),LineToolFibSpeedResistanceFan:(0,s.t)("Fib Speed Resistance Fan"),LineToolFibSpiral:(0,s.t)("Fib Spiral"),LineToolFibTimeZone:(0,s.t)("Fib Time Zone"),LineToolFibWedge:(0,s.t)("Fib Wedge"),LineToolFlagMark:(0,s.t)("Flag Mark"),LineToolImage:(0,s.t)("Image"),LineToolFlatBottom:(0,s.t)("Flat Top/Bottom"),LineToolAnchoredVWAP:(0,s.t)("Anchored VWAP"),LineToolGannComplex:(0,s.t)("Gann Square"),LineToolGannFixed:(0,s.t)("Gann Square Fixed"),LineToolGannFan:(0,s.t)("Gann Fan"),LineToolGannSquare:(0,s.t)("Gann Box"),LineToolHeadAndShoulders:(0,s.t)("Head and Shoulders"),LineToolHorzLine:(0,s.t)("Horizontal Line"),LineToolHorzRay:(0,s.t)("Horizontal Ray"),LineToolIcon:(0,s.t)("Icon"),LineToolInsidePitchfork:(0,s.t)("Inside Pitchfork"),LineToolNote:(0,s.t)("Note"),LineToolNoteAbsolute:(0,s.t)("Anchored Note"),LineToolSignpost:(0,s.t)("Signpost"),LineToolParallelChannel:(0,s.t)("Parallel Channel"),LineToolPitchfan:(0,s.t)("Pitchfan"), +LineToolPitchfork:(0,s.t)("Pitchfork"),LineToolPolyline:(0,s.t)("Polyline"),LineToolPath:(0,s.t)("Path"),LineToolPrediction:(0,s.t)("Forecast"),LineToolPriceLabel:(0,s.t)("Price Label"),LineToolArrowMarker:(0,s.t)("Arrow Marker"),LineToolPriceRange:(0,s.t)("Price Range"),LineToolProjection:(0,s.t)("Projection"),LineToolRay:(0,s.t)("Ray"),LineToolRectangle:(0,s.t)("Rectangle"),LineToolCircle:(0,s.t)("Circle"),LineToolRegressionTrend:(0,s.t)("Regression Trend"),LineToolRiskRewardLong:(0,s.t)("Long Position"),LineToolRiskRewardShort:(0,s.t)("Short Position"),LineToolFixedRangeVolumeProfile:(0,s.t)("Fixed Range Volume Profile"),LineToolRotatedRectangle:(0,s.t)("Rotated Rectangle"),LineToolSchiffPitchfork:(0,s.t)("Modified Schiff Pitchfork"),LineToolSchiffPitchfork2:(0,s.t)("Schiff Pitchfork"),LineToolSineLine:(0,s.t)("Sine Line"),LineToolText:(0,s.t)("Text",{context:"tool"}),LineToolTextAbsolute:(0,s.t)("Anchored Text"),LineToolThreeDrivers:(0,s.t)("Three Drives Pattern"),LineToolTimeCycles:(0,s.t)("Time Cycles"),LineToolTrendAngle:(0,s.t)("Trend Angle"),LineToolTrendBasedFibExtension:(0,s.t)("Trend-Based Fib Extension"),LineToolTrendBasedFibTime:(0,s.t)("Trend-Based Fib Time"),LineToolTrendLine:(0,s.t)("Trend Line"),LineToolInfoLine:(0,s.t)("Info Line"),LineToolTriangle:(0,s.t)("Triangle"),LineToolTrianglePattern:(0,s.t)("Triangle Pattern"),LineToolVertLine:(0,s.t)("Vertical Line"),LineToolCrossLine:(0,s.t)("Cross Line"),LineToolHighlighter:(0,s.t)("Highlighter"),LineToolPriceNote:(0,s.t)("Price Note"),LineToolVbPFixed:(0,s.t)("Volume Profile Fixed Range")};(0,r.isFeatureEnabled)("remove-line-tool-ghost-feed")||(n.LineToolGhostFeed=(0,s.t)("Ghost Feed"))},67945:(e,t,i)=>{"use strict";i.r(t),i.d(t,{cloneLineTool:()=>L,createLineTool:()=>y,createLineToolProperties:()=>w,createStudyLineToolProperties:()=>P,getNewToolProperties:()=>S,isLineDrawnWithPressedButton:()=>p.isLineDrawnWithPressedButton,isLineTool:()=>T,isLineToolName:()=>p.isLineToolName,isStudyLineTool:()=>x,isStudyLineToolName:()=>p.isStudyLineToolName,isTrading:()=>I,lineToolByLinkKey:()=>A,prepareLineToolPropertiesByOwnerSource:()=>b,setNewToolProperties:()=>f,supportsPhantomMode:()=>C,tryFindStudyLineToolNameByStudyId:()=>M,unsetNewToolProperties:()=>v});var s=i(16282),r=i(72927),n=i(17175),o=i(76117),a=i(8902),l=i.t(a,2),c=i(47954),h=i(65528);const d=(0,i(345).studyIdString)("VbPFixed","tv-basicstudies");class u extends h.LineToolVbPFixed{constructor(e,t,i,s){const r=i||e.studyMetaInfoRepository().findByIdSync({type:"java",studyId:d});super(e,t,r,s)}calcIsActualSymbol(){n.StudyLineDataSource.prototype.calcIsActualSymbol.apply(this)}boundToSymbol(){return!0}isSynchronizable(){return this.priceScale()===this._model.mainSeries().priceScale()}static studyId(){return d}static createProperties(e){const t=super._createPropertiesFromStudyIdAndState(d,e);return h.LineToolVbPFixed._configureProperties(t),t}}var p=i(33033),_=i(61834);function m(e){for(const t of Object.keys(e))TradingView[t]=e[t]}m(l),m({LineToolRegressionTrend:c.LineToolRegressionTrend, +LineToolVbPFixed:h.LineToolVbPFixed,LineToolFixedRangeVolumeProfile:u});let g=null;function f(e,t,i){return null!==g&&g.tool===e&&g.toolData===t||(g={properties:w(e,void 0,i),tool:e,toolData:t}),g.properties}function v(){g=null}function S(e){return null!==g&&g.tool===e?g.properties:null}function y(e,t,i,r,n){let o;if((0,s.assert)((0,p.isLineToolName)(e),"Unknown line tool: "+e),n||i||(i=S(e)||void 0),"LineToolVbPFixed"===e)o=new h.LineToolVbPFixed(t,i,(0,s.ensureDefined)(r),t.mainSeries());else if("LineToolFixedRangeVolumeProfile"===e)o=new u(t,i,(0,s.ensureDefined)(r),t.mainSeries());else if("LineToolRegressionTrend"===e)o=new c.LineToolRegressionTrend(t,i,(0,s.ensureDefined)(r));else{o=new((0,s.ensureDefined)(l[e]))(t,i,n)}return o.toolname=e,v(),o}function b(e,t){const i=(0,s.ensureNotNull)(t.symbolSource());e.childs().symbol.setValue(i.symbol()),e.childs().currencyId.setValue(i.currency()),e.childs().unitId.setValue(i.unit()),e.childs().symbolStateVersion.setValue(2),e.childs().zOrderVersion.setValue(2)}function w(e,t,i){if((0,s.assert)((0,p.isLineToolName)(e),e+" should be name of the line tool"),"LineToolVbPFixed"===e)return h.LineToolVbPFixed.createProperties(t);if("LineToolFixedRangeVolumeProfile"===e)return u.createProperties(t);if("LineToolRegressionTrend"===e)return c.LineToolRegressionTrend.createProperties(t);return(0,s.ensureDefined)(l[e]).createProperties(t)}function P(e,t,i,r,n){if((0,s.assert)((0,p.isStudyLineToolName)(e),e+" should be name of the study line tool"),"LineToolVbPFixed"===e)return h.LineToolVbPFixed.createPropertiesFromStudyMetaInfoAndState(t,i,r,n);if("LineToolFixedRangeVolumeProfile"===e)return u.createPropertiesFromStudyMetaInfoAndState(t,i,r,n);if("LineToolRegressionTrend"===e)return c.LineToolRegressionTrend.createPropertiesFromStudyMetaInfoAndState(t,i,r,n);throw new Error("Property creation is not implemented for study line tool "+e)}function C(e){(0,s.assert)((0,p.isLineToolName)(e),e+" should be name of the line tool");const t=l[e];return void 0!==t&&Boolean(t.supportPhantomMode)}function T(e){return e instanceof o.LineDataSource}function x(e){return e instanceof n.StudyLineDataSource}function I(e){return e instanceof _.LineToolTrading}function M(e){let t=null;return e===c.LineToolRegressionTrend.studyId()?t="LineToolRegressionTrend":e===h.LineToolVbPFixed.studyId()?t="LineToolVbPFixed":e===u.studyId()&&(t="LineToolFixedRangeVolumeProfile"),t}function L(e,t,i,n){const o=t.toolname,a=w(t.toolname,t.properties().state());a.childs().visible.setValue(!0);const l=(0,s.ensureNotNull)(t.ownerSource()),c=y(o,e,a);void 0!==n&&c.setId(n),c.setOwnerSource(l),c.toolname=o;const h=c.clonePositionOffset(),d=t.fixedPoints();(i?d.map(e=>e.add(new r.Point(h.xCoordOffset,h.yCoordOffset))):d).forEach(e=>c.addFixedPoint(e));const u=t.normalizedPoints(),p=i?function(e,t,i){const r=(0,s.ensureNotNull)(t.priceScale()),n=(0,s.ensureNotNull)(t.firstValue());return e.map(e=>{const t=e.price,s=r.priceToCoordinate(t,n)+i.yCoordOffset,o=r.coordinateToPrice(s,n);return{time_t:e.time_t,price:o, +offset:e.offset+i.barOffset}})}(u,l,h):u,_=t.points();return c.restorePoints(p,_),c.cloneData&&c.cloneData(t),c.checkAlert&&c.checkAlert(),c}function A(e,t){return e.dataSources().find(e=>T(e)&&e.linkKey().value()===t)||null}},71166:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(76117).LineDataSource,n=i(674),o=i(11092).DefaultProperty;class a extends r{constructor(e,t){super(e,t||a.createProperties()),this.version=a.version,i.e(1583).then(i.bind(i,50093)).then(({NotePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 1}name(){return"Note"}getTooltipWidth(){return a.TOOLTIP_WIDTH}getTooltipPadding(){return a.TOOLTIP_PADDING}getTooltipLineSpacing(){return a.TOOLTIP_LINESPACING}template(){var e=r.prototype.template.call(this);return e.text=this.properties().childs().text.value(),e}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}static createProperties(e){void 0!==e&&void 0!==e.markerColor&&void 0===e.borderColor&&(e.borderColor=e.markerColor);var t=new o("linetoolnote",e);return a._configureProperties(t),t}state(e){var t=r.prototype.state.call(this,e);return e&&(t.state.fixedSize=!1),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,94222))).NoteDefinitionsViewModel}static _configureProperties(e){r._configureProperties(e),e.hasChild("text")||e.addChild("text",new n(s("Text"))),e.addExclusion("text")}}a.TOOLTIP_WIDTH=300,a.TOOLTIP_PADDING=10,a.TOOLTIP_LINESPACING=5,a.version=1;class l extends a{constructor(e,t){super(e,t||l.createProperties())}title(){return s("Anchored Note")}name(){return"Anchored Note"}isFixed(){return!0}hasEditableCoordinates(){return!1}static createProperties(e){var t=new o("linetoolnoteabsolute",e);return l._configureProperties(t),t}static _configureProperties(e){a._configureProperties(e)}}t.LineToolNote=a,t.LineToolNoteAbsolute=l},3873:(e,t,i)=>{"use strict";var s=i(61834).LineToolTrading,r=i(10100).LineToolPriceAxisView,n=i(55752),o=i(76117).LineDataSource,a=i(11092).DefaultProperty;const l=i(27490);var c=i(36512).sortSourcesPreOrdered.LineToolOrder;function h(e){return null==e?e="":e+="",e}class d{constructor(e){this._line=e,this._data={bodyText:"order",quantityText:"0"},this._editable=!0,this._cancellable=!0,this._mode="",this._direction="buy",this._active=!0}setMode(e){return this._mode=e,this._line.updateAllViewsAndRedraw(),this}setDirection(e){return this._direction=e,this._line.updateAllViewsAndRedraw(),this}setActive(e){return this._active=e,this._line.updateAllViewsAndRedraw(),this}setEditable(e){return this._editable=e,this._line.updateAllViewsAndRedraw(),this}getEditable(){return this._editable}setCancellable(e){return this._cancellable=e,this._line.updateAllViewsAndRedraw(),this}getCancellable(){return this._cancellable}hasMoveCallback(){return this.isFunction(this._onMoveCallback)}hasModifyCallback(){return this.isFunction(this._onModifyCallback)}getPrice(){ +return this._line.points().length>0?this._line.points()[0].price:this._line._timePoint.length>0?this._line._timePoint[0].price:void 0}setPrice(e){if(this._line.points().length>0){var t=this._line.points()[0];t.price=e,this._line._points[0]=t,this._line.normalizePoints(),this._line.updateAllViewsAndRedraw()}return this._line._timePoint.length>0&&(this._line._timePoint[0].price=e),this}getText(){return this._data.bodyText}setText(e){return this._data.bodyText=e||"",this._line.updateAllViewsAndRedraw(),this}setTooltip(e){return this._line.properties().tooltip.setValue(h(e)),this}getTooltip(){return this._line.properties().tooltip.value()}setModifyTooltip(e){return this._line.properties().modifyTooltip.setValue(h(e)),this}getModifyTooltip(){return this._line.properties().modifyTooltip.value()}setCancelTooltip(e){return this._line.properties().cancelTooltip.setValue(h(e)),this}getCancelTooltip(){return this._line.properties().cancelTooltip.value()}getQuantity(){return this._data.quantityText}setQuantity(e){return this._data.quantityText=e||"",this._line.updateAllViewsAndRedraw(),this}getExtendLeft(){var e=this._line.properties().extendLeft.value();return"inherit"===e?this._line._model.properties().tradingProperties.extendLeft.value():e}setExtendLeft(e){return this._line.properties().extendLeft.setValue(e),this}getLineLength(){var e=this._line.properties().lineLength.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineLength.value():e}setLineLength(e){return this._line.properties().lineLength.setValue(Math.max(0,Math.min(e,100))),this}getLineColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.lineActiveBuyColor.value():e.lineInactiveBuyColor.value():this._active?e.lineActiveSellColor.value():e.lineInactiveSellColor.value()}setLineColor(e){return"buy"===this._direction?this._active?this.setLineActiveBuyColor(e):this.setLineInactiveBuyColor(e):this._active?this.setLineActiveSellColor(e):this.setLineInactiveSellColor(e),this}setLineActiveBuyColor(e){return this._line.properties().lineActiveBuyColor.setValue(e),this}setLineInactiveBuyColor(e){return this._line.properties().lineInactiveBuyColor.setValue(e),this}setLineActiveSellColor(e){return this._line.properties().lineActiveSellColor.setValue(e),this}setLineInactiveSellColor(e){return this._line.properties().lineInactiveSellColor.setValue(e),this}getLineStyle(){var e=this._line.properties().lineStyle.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineStyle.value():e}setLineStyle(e){return this._line.properties().lineStyle.setValue(e),this}getLineWidth(){var e=this._line.properties().lineWidth.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineWidth.value():e}setLineWidth(e){return this._line.properties().lineWidth.setValue(e),this}getBodyBorderColor(){var e=this._line.properties() +;return"buy"===this._direction?this._active?e.bodyBorderActiveBuyColor.value():e.bodyBorderInactiveBuyColor.value():this._active?e.bodyBorderActiveSellColor.value():e.bodyBorderInactiveSellColor.value()}setBodyBorderColor(e){return"buy"===this._direction?this._active?this.setBodyBorderActiveBuyColor(e):this.setBodyBorderInactiveBuyColor(e):this._active?this.setBodyBorderActiveSellColor(e):this.setBodyBorderInactiveSellColor(e),this}setBodyBorderActiveBuyColor(e){return this._line.properties().bodyBorderActiveBuyColor.setValue(e),this}setBodyBorderInactiveBuyColor(e){return this._line.properties().bodyBorderInactiveBuyColor.setValue(e),this}setBodyBorderActiveSellColor(e){return this._line.properties().bodyBorderActiveSellColor.setValue(e),this}setBodyBorderInactiveSellColor(e){return this._line.properties().bodyBorderInactiveSellColor.setValue(e),this}getBodyBackgroundColor(){return n.getColorFromProperties(this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency)}setBodyBackgroundColor(e){return n.setColorToProperties(e,this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency),this}getBodyTextColor(){var e=this._line.properties();return"limit"===this._mode?this._active?e.bodyTextActiveLimitColor.value():e.bodyTextInactiveLimitColor.value():"stop"===this._mode?this._active?e.bodyTextActiveStopColor.value():e.bodyTextInactiveStopColor.value():"buy"===this._direction?this._active?e.bodyTextActiveBuyColor.value():e.bodyTextInactiveBuyColor.value():this._active?e.bodyTextActiveSellColor.value():e.bodyTextInactiveSellColor.value()}setBodyTextColor(e){return"limit"===this._mode?this._active?this.setBodyTextActiveLimitColor(e):this.setBodyTextInactiveLimitColor(e):"stop"===this._mode?this._active?this.setBodyTextActiveStopColor(e):this.setBodyTextInactiveStopColor(e):"buy"===this._direction?this._active?this.setBodyTextActiveBuyColor(e):this.setBodyTextInactiveBuyColor(e):this._active?this.setBodyTextActiveSellColor(e):this.setBodyTextInactiveSellColor(e),this}setBodyTextInactiveLimitColor(e){return this._line.properties().bodyTextInactiveLimitColor.setValue(e),this}setBodyTextActiveLimitColor(e){return this._line.properties().bodyTextActiveLimitColor.setValue(e),this}setBodyTextInactiveStopColor(e){return this._line.properties().bodyTextInactiveStopColor.setValue(e),this}setBodyTextActiveStopColor(e){return this._line.properties().bodyTextActiveStopColor.setValue(e),this}setBodyTextInactiveBuyColor(e){return this._line.properties().bodyTextInactiveBuyColor.setValue(e),this}setBodyTextActiveBuyColor(e){return this._line.properties().bodyTextActiveBuyColor.setValue(e),this}setBodyTextInactiveSellColor(e){return this._line.properties().bodyTextInactiveSellColor.setValue(e),this}setBodyTextActiveSellColor(e){return this._line.properties().bodyTextActiveSellColor.setValue(e),this}getBodyFont(){ +return n.getFontFromProperties(this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic)}setBodyFont(e){return n.setFontToProperties(e,this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic),this}getQuantityBorderColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.quantityBorderActiveBuyColor.value():e.quantityBorderInactiveBuyColor.value():this._active?e.quantityBorderActiveSellColor.value():e.quantityBorderInactiveSellColor.value()}setQuantityBorderColor(e){return"buy"===this._direction?this._active?this.setQuantityBorderActiveBuyColor(e):this.setQuantityBorderInactiveBuyColor(e):this._active?this.setQuantityBorderActiveSellColor(e):this.setQuantityBorderInactiveSellColor(e),this}setQuantityBorderActiveBuyColor(e){return this._line.properties().quantityBorderActiveBuyColor.setValue(e),this}setQuantityBorderInactiveBuyColor(e){return this._line.properties().quantityBorderInactiveBuyColor.setValue(e),this}setQuantityBorderActiveSellColor(e){return this._line.properties().quantityBorderActiveSellColor.setValue(e),this}setQuantityBorderInactiveSellColor(e){return this._line.properties().quantityBorderInactiveSellColor.setValue(e),this}getQuantityBackgroundColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.quantityBackgroundActiveBuyColor.value():e.quantityBackgroundInactiveBuyColor.value():this._active?e.quantityBackgroundActiveSellColor.value():e.quantityBackgroundInactiveSellColor.value()}setQuantityBackgroundColor(e){return"buy"===this._direction?this._active?this.setQuantityBackgroundActiveBuyColor(e):this.setQuantityBackgroundInactiveBuyColor(e):this._active?this.setQuantityBackgroundActiveSellColor(e):this.setQuantityBackgroundInactiveSellColor(e),this}setQuantityBackgroundActiveBuyColor(e){return this._line.properties().quantityBackgroundActiveBuyColor.setValue(e),this}setQuantityBackgroundInactiveBuyColor(e){return this._line.properties().quantityBackgroundInactiveBuyColor.setValue(e),this}setQuantityBackgroundActiveSellColor(e){return this._line.properties().quantityBackgroundActiveSellColor.setValue(e),this}setQuantityBackgroundInactiveSellColor(e){return this._line.properties().quantityBackgroundInactiveSellColor.setValue(e),this}getQuantityTextColor(){return n.getColorFromProperties(this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency)}setQuantityTextColor(e){return n.setColorToProperties(e,this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency),this}getQuantityFont(){return n.getFontFromProperties(this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic)}setQuantityFont(e){ +return n.setFontToProperties(e,this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic),this}getCancelButtonBorderColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.cancelButtonBorderActiveBuyColor.value():e.cancelButtonBorderInactiveBuyColor.value():this._active?e.cancelButtonBorderActiveSellColor.value():e.cancelButtonBorderInactiveSellColor.value()}setCancelButtonBorderColor(e){return"buy"===this._direction?this._active?this.setCancelButtonBorderActiveBuyColor(e):this.setCancelButtonBorderInactiveBuyColor(e):this._active?this.setCancelButtonBorderActiveSellColor(e):this.setCancelButtonBorderInactiveSellColor(e),this}setCancelButtonBorderActiveBuyColor(e){return this._line.properties().cancelButtonBorderActiveBuyColor.setValue(e),this}setCancelButtonBorderInactiveBuyColor(e){return this._line.properties().cancelButtonBorderInactiveBuyColor.setValue(e),this}setCancelButtonBorderActiveSellColor(e){return this._line.properties().cancelButtonBorderActiveSellColor.setValue(e),this}setCancelButtonBorderInactiveSellColor(e){return this._line.properties().cancelButtonBorderInactiveSellColor.setValue(e),this}getCancelButtonBackgroundColor(){return n.getColorFromProperties(this._line.properties().cancelButtonBackgroundColor,this._line.properties().cancelButtonBackgroundTransparency)}setCancelButtonBackgroundColor(e){return n.setColorToProperties(e,this._line.properties().cancelButtonBackgroundColor,this._line.properties().cancelButtonBackgroundTransparency),this}getCancelButtonIconColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.cancelButtonIconActiveBuyColor.value():e.cancelButtonIconInactiveBuyColor.value():this._active?e.cancelButtonIconActiveSellColor.value():e.cancelButtonIconInactiveSellColor.value()}setCancelButtonIconColor(e){return"buy"===this._direction?this._active?this.setCancelButtonIconActiveBuyColor(e):this.setCancelButtonIconInactiveBuyColor(e):this._active?this.setCancelButtonIconActiveSellColor(e):this.setCancelButtonIconInactiveSellColor(e),this}setCancelButtonIconActiveBuyColor(e){return this._line.properties().cancelButtonIconActiveBuyColor.setValue(e),this}setCancelButtonIconInactiveBuyColor(e){return this._line.properties().cancelButtonIconInactiveBuyColor.setValue(e),this}setCancelButtonIconActiveSellColor(e){return this._line.properties().cancelButtonIconActiveSellColor.setValue(e),this}setCancelButtonIconInactiveSellColor(e){return this._line.properties().cancelButtonIconInactiveSellColor.setValue(e),this}block(){this._blocked=!0,this._line.updateAllViewsAndRedraw()}unblock(){this._blocked=!1,this._line.updateAllViewsAndRedraw()}getBlocked(){return this._blocked}isFunction(e){return"function"==typeof e}onCancel(e,t){return t?this.isFunction(t)&&(this._onCancelData=e,this._onCancelCallback=t):this.isFunction(e)&&(this._onCancelCallback=e),this}callOnCancel(){ +this.isFunction(this._onCancelCallback)&&this._onCancelCallback.call(this,this._onCancelData)}isOnCancelCallbackPresent(){return this.isFunction(this._onCancelCallback)}onModify(e,t){return t?this.isFunction(t)&&(this._onModifyData=e,this._onModifyCallback=t):this.isFunction(e)&&(this._onModifyCallback=e),this}callOnModify(){this.isFunction(this._onModifyCallback)&&this._onModifyCallback.call(this,this._onModifyData)}onMove(e,t){return t?this.isFunction(t)&&(this._onMoveData=e,this._onMoveCallback=t):this.isFunction(e)&&(this._onMoveCallback=e),this}callOnMove(){this.isFunction(this._onMoveCallback)&&this._onMoveCallback.call(this,this._onMoveData)}onContextMenu(e,t){return t?this.isFunction(t)&&(this._onContextMenuData=e,this._onContextMenuCallback=t):this.isFunction(e)&&(this._onContextMenuCallback=e),this}shouldShowContextMenu(){return this.isFunction(this._onContextMenuCallback)}callOnContextMenu(){if(this.isFunction(this._onContextMenuCallback))return this._onContextMenuCallback.call(this,this._onContextMenuData)}remove(){this._line._model.removeSource(this._line),delete this._line}}class u extends s{constructor(e,t){super(e,t||u.createProperties()),this._adapter=new d(this),this.setSelectionEnabled(!0),i.e(1583).then(i.bind(i,76322)).then(({OrderPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}zorder(){return c}isSpeciallyZOrderedSource(){return!0}setPoint(e,t,i){this._points[e]=t,this.normalizePoints()}addPoint(e,t){return this._points.push(e),this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}name(){return"Order"}endMoving(e){var t=this._startMovingPoint&&this._currentMovingPoint&&this._startMovingPoint.logical.price!==this._currentMovingPoint.logical.price;super.endMoving(),!e&&t&&this._adapter.callOnMove()}createPriceAxisView(e){var t={pointIndex:e,backgroundPropertyGetter:()=>this._adapter.getLineColor()};return this._priceAxisView=new r(this,t),this._priceAxisView}paneViews(){return TradingView.printing&&!l.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showOrders.value()?o.prototype.paneViews.call(this):null}priceAxisViews(e,t){return TradingView.printing&&!l.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showOrders.value()?o.prototype.priceAxisViews.call(this,e,t):null}adapter(){return this._adapter}hasContextMenu(){return this._adapter.shouldShowContextMenu()}contextMenuItems(){return this._adapter.callOnContextMenu()}movable(){return Boolean(this._adapter._onMoveCallback)}static createProperties(e){var t=new a("linetoolorder",e,!1,!1);return u._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolOrder=u},16898:(e,t,i)=>{"use strict";i.d(t,{LineToolParallelChannel:()=>c});var s=i(16282),r=i(72927),n=i(11092),o=i(15521),a=i(76117),l=i(47903);class c extends a.LineDataSource{constructor(e,t){super(e,t||c.createProperties()),this._priceAxisViews.push(this.createPriceAxisView(3)),this._coordOffsetWhileMovingOrChanging=null,this._pendingPriceOffset=null, +i.e(1583).then(i.bind(i,98906)).then(({ParallelChannelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}paneViews(e){return null!==this._pendingPriceOffset&&this._applyPendingPriceOffset(),super.paneViews(e)}setLastPoint(e,t){t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[0]);const i=(0,l.clone)(e);return super.setLastPoint(e),i}startMoving(e,t,i,s){super.startMoving(e,t,i,s),this._coordOffsetWhileMovingOrChanging=this._findPixelsHeight()}endMoving(e,t,i){return this._coordOffsetWhileMovingOrChanging=null,super.endMoving(e,t,i)}startChanging(e,t){super.startChanging(e,t),this._coordOffsetWhileMovingOrChanging=this._findPixelsHeight()}endChanging(e,t,i){return this._coordOffsetWhileMovingOrChanging=null,super.endChanging(e,t)}restoreExternalPoints(e,t,i){const s=i?e.points:this._timePoint.map((t,i)=>({price:t.price,offset:e.points[i].offset,time_t:e.points[i].time_t}));if(super.restoreExternalPoints({...e,points:s},t),t.pricesChanged&&this._points.length===s.length)for(let e=0;e=4)return;this._snapPointBeforeChange(e,t,i);const a=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),l=(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[1])),c=(0,s.ensureNotNull)(this.pointToScreenPoint(t)),h=(0,s.ensureNotNull)(this._coordOffsetWhileMovingOrChanging),d=(0,s.ensureNotNull)(this.priceScale()),u=(0,s.ensure)(null===(n=this.ownerSource())||void 0===n?void 0:n.firstValue());switch(e){case 0:super.setPoint(e,t,i),this._points[2].price=d.coordinateToPrice(c.y+h,u);break;case 1:super.setPoint(e,t,i);break;case 2:super.setPoint(e,t,i),this._points[0].price=d.coordinateToPrice(c.y-h,u),this._points[0].index=t.index;break;case 3:this._points[1].price=d.coordinateToPrice(c.y-h,u),this._points[1].index=t.index;break;case 4:{const e=l.subtract(a),t=(c.x-a.x)/e.x,i=a.addScaled(e,t),s=c.y-i.y;this._points[2].price=d.coordinateToPrice(a.y+s,u);break}case 5:{const e=l.subtract(a),t=(c.x-a.x)/e.x,i=a.addScaled(e,t),s=c.y-i.y;this._points[0].price=d.coordinateToPrice(a.y+s,u),this._points[1].price=d.coordinateToPrice(l.y+s,u);break}}const p=this.linkKey().value();if(p&&!r&&e<4){const e=this._points.map(e=>e.price);(0,o.changeLineStyle)({model:this._model,linkKey:p,state:{prices:e}})}}state(e){const t=a.LineDataSource.prototype.state.call(this,e);return this._pendingPriceOffset&&(t.priceOffset=this._pendingPriceOffset),t}restoreExternalState(e){const t={...e};if(t.prices&&this.isActualSymbol())for(let e=0;ee.index<=t.index?[e,t]:[t,e],s=i(t[0],t[1]),r=i(t[2],t[3]);let n,o,a,l;t[2].price{"use strict";i.d(t,{LineToolPath:()=>c});var s=i(16282),r=i(72927),n=i(11092),o=i(21344),a=i(76117),l=i(39096);class c extends a.LineDataSource{constructor(e,t){const s=t||c.createProperties();super(e,s),i.e(1583).then(i.bind(i,71544)).then(t=>{this._setPaneViews([new t.PathPaneView(this,e)])})}pointsCount(){return-1}name(){return"Path"}hasEditableCoordinates(){return!1}addPoint(e,t,i){var n;const a=(0,s.ensureNotNull)(this.priceScale()),l=this._model.timeScale().indexToCoordinate(e.index),c=e.price,h=(0,s.ensure)(null===(n=this.ownerSource())||void 0===n?void 0:n.firstValue()),d=a.priceToCoordinate(c,h);if(this._points.length>0){const e=this._points[this._points.length-1],t=this._model.timeScale().indexToCoordinate(e.index),i=e.price,s=a.priceToCoordinate(i,h);if(new r.Point(l,d).subtract(new r.Point(t,s)).length()<(0,o.interactionTolerance)().minDistanceBetweenPoints)return this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}return super.addPoint(e,t,i)}static createProperties(e){const t=new n.DefaultProperty("linetoolpath",e);return c._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,49431)).then(e=>e.PathDefinitionsViewModel)}static _configureProperties(e){a.LineDataSource._configureProperties(e),e.addChild("linesWidths",new l.LineToolWidthsProperty([(0,s.ensureDefined)(e.child("lineWidth"))])),e.addChild("linesColors",new l.LineToolColorsProperty([e.childs().lineColor]))}}},69316:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends n{constructor(e,t){super(e,t||d.createProperties()),i.e(1583).then(i.bind(i,24425)).then(({PitchfanLinePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return d.LevelsCount}pointsCount(){return 3}name(){return"Pitchfan"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,19530))).PitchBaseDefinitionsViewModel}static createProperties(e){var t=new o("linetoolpitchfan",e,!1,{ +range:[0,8]});return d._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e);for(var t=[e.child("median").child("linewidth")],i=[e.child("median").child("color")],s=0;s<=d.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}}d.LevelsCount=8,t.LineToolPitchfan=d},13953:(e,t,i)=>{"use strict";var s;i.d(t,{LineToolPitchforkStyle:()=>s}),function(e){e[e.Original=0]="Original",e[e.Schiff=1]="Schiff",e[e.Inside=2]="Inside",e[e.Schiff2=3]="Schiff2"}(s||(s={}))},70799:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(46374).Action,l=i(34449).ACTION_ID,c=i(13953).LineToolPitchforkStyle,h=null,d=i(39096),u=d.LineToolWidthsProperty,p=d.LineToolColorsProperty,_=new r("erase level line",s("erase level line")),m=new r("change {title} style",s("change {title} style"));class g extends n{constructor(e,t){super(e,t||g.createProperties()),this._properties.style.listeners().subscribe(this,g.prototype._recreatePaneView),this._recreatePaneView()}levelsCount(){return g.LevelsCount}additionalActions(e){for(var t=[],i=[{title:s("Original"),actionId:l.ChartLineToolPitchforkChangeTypeToOriginal},{title:s("Modified Schiff"),actionId:l.ChartLineToolPitchforkChangeTypeToModifiedSchiff},{title:s("Inside"),actionId:l.ChartLineToolPitchforkChangeTypeToInside},{title:s("Schiff"),actionId:l.ChartLineToolPitchforkChangeTypeToSchiff}],n=0;n<4;n++){var o=new a({actionId:i[n].actionId,checked:this.properties().style.value()===n,checkable:!0,label:i[n].title,payload:{target:this,value:n},onExecute:function(t){var i=t.getPayload(),s=i.target;e.setProperty(s.properties().style,i.value,m.format({title:new r(s.name(),s.title())})),s.updateAllViews(),s._model.updateSource(s)}});t.push(o)}return[t[0],t[3],t[1],t[2]]}_recreatePaneView(){if(null!==h){var e=[];this._properties.style.value()===c.Original?e=[new h.PitchforkLinePaneView(this,this._model)]:this._properties.style.value()===c.Schiff?e=[new h.SchiffPitchforkLinePaneView(this,this._model)]:this._properties.style.value()===c.Schiff2?e=[new h.SchiffPitchfork2LinePaneView(this,this._model)]:this._properties.style.value()===c.Inside&&(e=[new h.InsidePitchforkLinePaneView(this,this._model)]),this._setPaneViews(e)}else i.e(1583).then(i.bind(i,71161)).then(e=>{null===h&&(h=e),this._recreatePaneView()})}pointsCount(){return 3}name(){return"Pitchfork"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,_)}static createProperties(e){var t=new o("linetoolpitchfork",e,!1,{range:[0,8]});return g._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,18775))).PitchForkDefinitionsViewModel}static _configureProperties(e){n._configureProperties(e) +;for(var t=[e.child("median").child("linewidth")],i=[e.child("median").child("color")],s=0;s<=g.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new p(i)),e.addChild("linesWidths",new u(t))}}g.LevelsCount=8,t.LineToolPitchfork=g},78218:(e,t,i)=>{"use strict";i.d(t,{LineToolPolyline:()=>l});var s=i(16282),r=i(72927),n=i(11092),o=i(21344),a=i(76117);class l extends a.LineDataSource{constructor(e,t){const s=t||l.createProperties();super(e,s),i.e(1583).then(i.bind(i,177)).then(t=>{this._setPaneViews([new t.PolylinePaneView(this,e)])})}pointsCount(){return-1}name(){return"Polyline"}hasEditableCoordinates(){return!1}addPoint(e,t,i){var n;const a=(0,s.ensureNotNull)(this.priceScale()),l=this._model.timeScale().indexToCoordinate(e.index),c=e.price,h=(0,s.ensure)(null===(n=this.ownerSource())||void 0===n?void 0:n.firstValue()),d=a.priceToCoordinate(c,h),u=(0,o.interactionTolerance)().minDistanceBetweenPoints;if(this._points.length>0){const e=this._points[this._points.length-1],t=this._model.timeScale().indexToCoordinate(e.index),i=e.price,s=a.priceToCoordinate(i,h);if(new r.Point(l,d).subtract(new r.Point(t,s)).length()e.PolylinesDefinitionsViewModel)}static _configureProperties(e){a.LineDataSource._configureProperties(e),e.addExclusion("filled")}}},18008:(e,t,i)=>{"use strict";i.d(t,{PositionAveragePriceAxisView:()=>r});var s=i(10100);class r extends s.LineToolPriceAxisView{_formatPrice(e,t){return this._source.formatter().format(e)}}},97496:(e,t,i)=>{"use strict";var s=i(61834).LineToolTrading,r=i(76117).LineDataSource,n=i(18008).PositionAveragePriceAxisView,o=i(55752),a=i(11092).DefaultProperty,l=i(59104).PriceFormatter;const c=i(27490) +;var h=i(36512).sortSourcesPreOrdered.LineToolPosition;function d(e){return null==e?e="":e+="",e}class u{constructor(e){this._line=e,this._data={bodyText:"position",quantityText:"0"},this._closeEnabled=!0,this._direction="buy",this._profitState="neutral"}setDirection(e){return this._direction=e,this._line.updateAllViewsAndRedraw(),this}setProfitState(e){return this._profitState=e,this._line.updateAllViewsAndRedraw(),this}getPrice(){return this._line.points().length>0?this._line.points()[0].price:this._line._timePoint.length>0?this._line._timePoint[0].price:void 0}setPrice(e){if(this._line.points().length>0){var t=this._line.points()[0];t.price=e,this._line._points[0]=t,this._line.normalizePoints(),this._line.updateAllViewsAndRedraw()}return this._line._timePoint.length>0&&(this._line._timePoint[0].price=e),this}getText(){return this._data.bodyText}setText(e){return this._data.bodyText=e||"",this._line.updateAllViewsAndRedraw(),this}setTooltip(e){return this._line.properties().tooltip.setValue(d(e)),this}getTooltip(){return this._line.properties().tooltip.value()}setProtectTooltip(e){return this._line.properties().protectTooltip.setValue(d(e)),this}getProtectTooltip(){return this._line.properties().protectTooltip.value()}setCloseTooltip(e){return this._line.properties().closeTooltip.setValue(d(e)),this}getCloseTooltip(){return this._line.properties().closeTooltip.value()}setReverseTooltip(e){return this._line.properties().reverseTooltip.setValue(d(e)),this}getReverseTooltip(){return this._line.properties().reverseTooltip.value()}getQuantity(){return this._data.quantityText}setQuantity(e){return this._data.quantityText=e||"",this._line.updateAllViewsAndRedraw(),this}getExtendLeft(){var e=this._line.properties().extendLeft.value();return"inherit"===e?this._line._model.properties().tradingProperties.extendLeft.value():e}setExtendLeft(e){return this._line.properties().extendLeft.setValue(e),this}getLineLength(){var e=this._line.properties().lineLength.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineLength.value():e}setLineLength(e){return this._line.properties().lineLength.setValue(Math.max(0,Math.min(e,100))),this}getLineColor(){var e=this._line.properties();return("buy"===this._direction?e.lineBuyColor:e.lineSellColor).value()}setLineColor(e){return"buy"===this._direction?this.setLineBuyColor(e):this.setLineSellColor(e),this}setLineBuyColor(e){return this._line.properties().lineBuyColor.setValue(e),this}setLineSellColor(e){return this._line.properties().lineSellColor.setValue(e),this}getLineStyle(){var e=this._line.properties().lineStyle.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineStyle.value():e}setLineStyle(e){return this._line.properties().lineStyle.setValue(e),this}getLineWidth(){var e=this._line.properties().lineWidth.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineWidth.value():e}setLineWidth(e){return this._line.properties().lineWidth.setValue(e),this}getBodyBorderColor(){var e=this._line.properties() +;return("buy"===this._direction?e.bodyBorderBuyColor:e.bodyBorderSellColor).value()}setBodyBorderColor(e){return"buy"===this._direction?this.setBodyBorderBuyColor(e):this.setBodyBorderSellColor(e),this}setBodyBorderBuyColor(e){return this._line.properties().bodyBorderBuyColor.setValue(e),this}setBodyBorderSellColor(e){return this._line.properties().bodyBorderSellColor.setValue(e),this}getBodyBackgroundColor(){return o.getColorFromProperties(this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency)}setBodyBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency),this}getBodyTextColor(){var e=this._line.properties();return("positive"===this._profitState?e.bodyTextPositiveColor:"negative"===this._profitState?e.bodyTextNegativeColor:e.bodyTextNeutralColor).value()}setBodyTextColor(e){return"positive"===this._profitState?this.setBodyTextPositiveColor(e):"negative"===this._profitState?this.setBodyTextNegativeColor(e):this.setBodyTextNeutralColor(e),this}setBodyTextPositiveColor(e){return this._line.properties().bodyTextPositiveColor.setValue(e),this}setBodyTextNegativeColor(e){return this._line.properties().bodyTextNegativeColor.setValue(e),this}setBodyTextNeutralColor(e){return this._line.properties().bodyTextNeutralColor.setValue(e),this}getBodyFont(){return o.getFontFromProperties(this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic)}setBodyFont(e){return o.setFontToProperties(e,this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic),this}getQuantityBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.quantityBorderBuyColor:e.quantityBorderSellColor).value()}setQuantityBorderColor(e){return"buy"===this._direction?this.setQuantityBorderBuyColor(e):this.setQuantityBorderSellColor(e),this}setQuantityBorderBuyColor(e){return this._line.properties().quantityBorderBuyColor.setValue(e),this}setQuantityBorderSellColor(e){return this._line.properties().quantityBorderSellColor.setValue(e),this}getQuantityBackgroundColor(){var e=this._line.properties();return("buy"===this._direction?e.quantityBackgroundBuyColor:e.quantityBackgroundSellColor).value()}setQuantityBackgroundColor(e){return"buy"===this._direction?this.setQuantityBackgroundBuyColor(e):this.setQuantityBackgroundSellColor(e),this}setQuantityBackgroundBuyColor(e){return this._line.properties().quantityBackgroundBuyColor.setValue(e),this}setQuantityBackgroundSellColor(e){return this._line.properties().quantityBackgroundSellColor.setValue(e),this}getQuantityTextColor(){return o.getColorFromProperties(this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency)}setQuantityTextColor(e){ +return o.setColorToProperties(e,this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency),this}getQuantityFont(){return o.getFontFromProperties(this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic)}setQuantityFont(e){return o.setFontToProperties(e,this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic),this}getReverseButtonBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.reverseButtonBorderBuyColor:e.reverseButtonBorderSellColor).value()}setReverseButtonBorderColor(e){return"buy"===this._direction?this.setReverseButtonBorderBuyColor(e):this.setReverseButtonBorderSellColor(e),this}setReverseButtonBorderBuyColor(e){return this._line.properties().reverseButtonBorderBuyColor.setValue(e),this}setReverseButtonBorderSellColor(e){return this._line.properties().reverseButtonBorderSellColor.setValue(e),this}getReverseButtonBackgroundColor(){return o.getColorFromProperties(this._line.properties().reverseButtonBackgroundColor,this._line.properties().reverseButtonBackgroundTransparency)}setReverseButtonBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().reverseButtonBackgroundColor,this._line.properties().reverseButtonBackgroundTransparency),this}getReverseButtonIconColor(){var e=this._line.properties();return("buy"===this._direction?e.reverseButtonIconBuyColor:e.reverseButtonIconSellColor).value()}setReverseButtonIconColor(e){return"buy"===this._direction?this.setReverseButtonIconBuyColor(e):this.setReverseButtonIconSellColor(e),this}setReverseButtonIconBuyColor(e){return this._line.properties().reverseButtonIconBuyColor.setValue(e),this}setReverseButtonIconSellColor(e){return this._line.properties().reverseButtonIconSellColor.setValue(e),this}getCloseButtonBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.closeButtonBorderBuyColor:e.closeButtonBorderSellColor).value()}setCloseButtonBorderColor(e){return"buy"===this._direction?this.setCloseButtonBorderBuyColor(e):this.setCloseButtonBorderSellColor(e),this}setCloseButtonBorderBuyColor(e){return this._line.properties().closeButtonBorderBuyColor.setValue(e),this}setCloseButtonBorderSellColor(e){return this._line.properties().closeButtonBorderSellColor.setValue(e),this}getCloseButtonBackgroundColor(){return o.getColorFromProperties(this._line.properties().closeButtonBackgroundColor,this._line.properties().closeButtonBackgroundTransparency)}setCloseButtonBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().closeButtonBackgroundColor,this._line.properties().closeButtonBackgroundTransparency),this}getCloseButtonIconColor(){var e=this._line.properties();return("buy"===this._direction?e.closeButtonIconBuyColor:e.closeButtonIconSellColor).value()}setCloseButtonIconColor(e){ +return"buy"===this._direction?this.setCloseButtonIconBuyColor(e):this.setCloseButtonIconSellColor(e),this}setCloseButtonIconBuyColor(e){return this._line.properties().closeButtonIconBuyColor.setValue(e),this}setCloseButtonIconSellColor(e){return this._line.properties().closeButtonIconSellColor.setValue(e),this}block(){this._blocked=!0,this._line.updateAllViewsAndRedraw()}unblock(){this._blocked=!1,this._line.updateAllViewsAndRedraw()}isFunction(e){return"function"==typeof e}onReverse(e,t){return t?this.isFunction(t)&&(this._onReverseData=e,this._onReverseCallback=t):this.isFunction(e)&&(this._onReverseCallback=e),this}callOnReverse(){this.isFunction(this._onReverseCallback)&&this._onReverseCallback.call(this,this._onReverseData)}isOnReverseCallbackPresent(){return this.isFunction(this._onReverseCallback)}onClose(e,t){return t?this.isFunction(t)&&(this._onCloseData=e,this._onCloseCallback=t):this.isFunction(e)&&(this._onCloseCallback=e),this}setCloseEnabled(e){return this._closeEnabled===e||(this._closeEnabled=e,this._onCloseCallback&&this._line.updateAllViewsAndRedraw()),this}isCloseEnabled(){return this._closeEnabled}callOnClose(){this.isFunction(this._onCloseCallback)&&this._closeEnabled&&this._onCloseCallback.call(this,this._onCloseData)}isOnCloseCallbackPresent(){return this._closeEnabled&&this.isFunction(this._onCloseCallback)}onModify(e,t){return t?this.isFunction(t)&&(this._onModifyData=e,this._onModifyCallback=t):this.isFunction(e)&&(this._onModifyCallback=e),this}callOnModify(){this.isFunction(this._onModifyCallback)&&this._onModifyCallback.call(this,this._onModifyData)}onContextMenu(e,t){return t?this.isFunction(t)&&(this._onContextMenuData=e,this._onContextMenuCallback=t):this.isFunction(e)&&(this._onContextMenuCallback=e),this}shouldShowContextMenu(){return this.isFunction(this._onContextMenuCallback)}callOnContextMenu(){if(this.isFunction(this._onContextMenuCallback))return this._onContextMenuCallback.call(this,this._onContextMenuData)}remove(){this._line._model.removeSource(this._line),delete this._line}}class p extends s{constructor(e,t){super(e,t||p.createProperties()),this._adapter=new u(this),i.e(1583).then(i.t.bind(i,44622,19)).then(({PositionPaneView:e})=>{this._setPaneViews([new e(this,this._model)])});var s=e.mainSeries().symbolInfo(),r=null!==s?s.pricescale:100,n=null!==s&&s.fractional?s.minmov:1,o=null!==s&&s.fractional,a=null!==s?s.minmove2:void 0;this._formatter=new l(r,n,o,a)}zorder(){return h}isSpeciallyZOrderedSource(){return!0}setPoint(e,t,i){this._points[e]=t,this.normalizePoints()}addPoint(e,t){return this._points.push(e),this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}name(){return"Position"}createPriceAxisView(e){return this._priceAxisView=new n(this,{pointIndex:e,backgroundPropertyGetter:()=>this._adapter.getLineColor()}),this._priceAxisView}paneViews(){return TradingView.printing&&!c.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showPositions.value()?r.prototype.paneViews.call(this):null}priceAxisViews(e,t){ +return TradingView.printing&&!c.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showPositions.value()?r.prototype.priceAxisViews.call(this,e,t):null}hasContextMenu(){return this._adapter.shouldShowContextMenu()}contextMenuItems(){return this._adapter.callOnContextMenu()}formatter(){return this._formatter}static createProperties(e){var t=new a("linetoolposition",e,!1,!1);return p._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolPosition=p},84888:(e,t,i)=>{"use strict";var s,r;i.r(t),i.d(t,{AlertStatus:()=>s,Direction:()=>r}),function(e){e[e.Waiting=0]="Waiting",e[e.Success=1]="Success",e[e.Failure=2]="Failure"}(s||(s={})),function(e){e[e.Up=1]="Up",e[e.Down=2]="Down"}(r||(r={}))},81290:(e,t,i)=>{"use strict";var s=i(16282).ensureNotNull,r=i(76117).LineDataSource,n=i(11092).DefaultProperty,o=i(84888);class a extends r{constructor(e,t){super(e,t||a.createProperties()),this._predictionPaneView=null,this._model.mainSeries().properties().interval.subscribe(this,()=>{this.setStatus(o.AlertStatus.Waiting)}),i.e(1583).then(i.t.bind(i,94562,19)).then(({PredictionPaneView:e})=>{this._predictionPaneView=new e(this,this._model),this._setPaneViews([this._predictionPaneView])})}destroy(){super.destroy(),this._model.mainSeries().properties().interval.unsubscribeAll(this)}dataAndViewsReady(){return r.prototype.dataAndViewsReady.call(this)&&this._predictionPaneView&&this._predictionPaneView.iconsReady()}isSynchronizable(){return!1}status(){return this._properties.status.value()}setStatus(e){return this._properties.status.setValue(e)}pointsCount(){return 2}name(){return"Forecast"}restorePoints(e,t,i){super.restorePoints(e,t,i),this.checkAlert()}checkAlert(){if(!(this._points.length<2||this._model.mainSeries().bars().isEmpty())){var e=this._points[1];if(this.status())e.index>this._model.timeScale().baseIndex()&&this.setStatus(o.AlertStatus.Waiting);else{var t=this._model.mainSeries().bars().valueAt(e.index);if(null!==t){var i=this.direction();if(i===o.Direction.Up&&t[TradingView.HIGH_PLOT]>=e.price)this.setStatus(o.AlertStatus.Success);else if(i===o.Direction.Down&&t[TradingView.LOW_PLOT]<=e.price)this.setStatus(o.AlertStatus.Success);else{var r=s(this._model.mainSeries().bars().lastIndex());e.index!==r&&this.setStatus(o.AlertStatus.Failure)}}}}}addPoint(e){var t=r.prototype.addPoint.call(this,e);return t&&this.checkAlert(),t}endChanging(){super.endChanging(),this.setStatus(o.AlertStatus.Waiting),this.checkAlert()}onData(e){super.onData(e),this.checkAlert()}endMoving(e,t,i){super.endMoving(e,t,i),this.setStatus(o.AlertStatus.Waiting),this.checkAlert()}direction(){if(this.points().length<2)return o.Direction.Up;var e=this.points()[0];return this.points()[1].price>e.price?o.Direction.Up:o.Direction.Down}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,93786))).PredictionDefinitionsViewModel}cloneable(){return!1}static createProperties(e){var t=new n("linetoolprediction",e) +;return a._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e),e.merge({status:o.AlertStatus.Waiting})}}t.LineToolPrediction=a},67128:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(11092).DefaultProperty,n=i(39096).LineToolColorsProperty;class o extends s{constructor(e,t){super(e,t||o.createProperties()),i.e(1583).then(i.t.bind(i,12396,19)).then(({PriceLabelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 1}name(){return"Price Label"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,45816))).PriceLabelDefinitionsViewModel}static createProperties(e){var t=new r("linetoolpricelabel",e);return o._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.addChild("linesColors",new n([e.childs().borderColor])),e.addChild("textsColors",new n([e.childs().color]))}}t.LineToolPriceLabel=o},80363:(e,t,i)=>{"use strict";i.d(t,{LineToolPriceNote:()=>l});var s=i(16282),r=i(11092),n=i(674),o=i.n(n),a=i(76117);class l extends a.LineDataSource{constructor(e,t){super(e,t||l.createProperties()),this._labelMovingDelta=null,i.e(1583).then(i.bind(i,78240)).then(t=>{this._setPaneViews([new t.PriceNotePaneView(this,e)])})}pointsCount(){return 2}name(){return"Price Note"}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}startMoving(e,t,i){if(1===t){if(this.isSourceHidden())return;const i=(0,s.ensureDefined)(e.logical),r=this.points()[1];this._labelMovingDelta={index:r.index-i.index,price:r.price-i.price},this.startChanging(t,i)}else this._labelMovingDelta=null,super.startMoving(e,t,i)}move(e,t,i){if(null!==this._labelMovingDelta){const t=(0,s.ensureDefined)(e.logical),r={index:t.index+this._labelMovingDelta.index,price:t.price+this._labelMovingDelta.price};this.setPoint(1,r,i),this.updateAllViews()}else super.move(e,t,i)}endMoving(e,t,i){return null!==this._labelMovingDelta?(this._labelMovingDelta=null,this.endChanging(!1,e)):super.endMoving(e,t,i)}static createProperties(e){const t=new r.DefaultProperty("linetoolpricenote",e);return l._configureProperties(t),t}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,75256)).then(e=>e.PriceNoteDefinitionsViewModel)}_snapTo45DegreesAvailable(){return!0}static _configureProperties(e){a.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new(o())("")),e.addExclusion("text"),e.hasChild("backgroundsColors")&&e.removeProperty("backgroundsColors"),e.hasChild("textsColors")&&e.removeProperty("textsColors")}}},40630:(e,t,i)=>{"use strict";i.d(t,{LineToolPriceRange:()=>n});var s=i(11092),r=i(76117);class n extends r.LineDataSource{constructor(e,t){super(e,t||n.createProperties()),i.e(1583).then(i.bind(i,6704)).then(e=>{this._setPaneViews([new e.PriceRangePaneView(this,this._model)])})}pointsCount(){return 2}name(){ +return"Price Range"}static createProperties(e){const t=new s.DefaultProperty("linetoolpricerange",e);return n._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,44558))).GeneralDatePriceRangeDefinitionsViewModel}static _configureProperties(e){r.LineDataSource._configureProperties(e)}}},79300:(e,t,i)=>{"use strict";var s=i(81773),r=i(55977).LineToolFibWedgeBase,n=i(39096).LineToolColorsProperty;class o extends r{constructor(e,t){super(e,t||o.createProperties()),i.e(1583).then(i.t.bind(i,46474,19)).then(({ProjectionLinePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return 1}name(){return"Projection"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,92557))).ProjectionDefinitionsViewModel}static createProperties(e){var t=new s("linetoolprojection",e,!1,{range:[1,1]});return o._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e),e.addChild("linesColors",new n([e.trendline.color]))}}t.LineToolProjection=o},98684:(e,t,i)=>{"use strict";var s=i(12565).LineToolTrendLine,r=i(11092).DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties())}name(){return"Ray"}static createProperties(e){var t=new r("linetoolray",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolRay=n},46297:(e,t,i)=>{"use strict";i.d(t,{LineToolRectangle:()=>h});var s=i(72927),r=i(11092),n=i(674),o=i.n(n),a=i(76117),l=i(39096),c=i(16282);class h extends a.LineDataSource{constructor(e,t){const s=t||h.createProperties();super(e,s),i.e(1583).then(i.bind(i,75196)).then(({RectanglePaneView:t})=>{const i=[new t(this,e)];this._setPaneViews(i)})}pointsCount(){return 2}textColorsProperty(){return this.properties().childs().showLabel.value()?super.textColorsProperty():null}name(){return"Rectangle"}setPoint(e,t,i){if(e<2&&super.setPoint(e,t,i),i&&i.shift()){const i=this._getAnchorPointForIndex(e);if(e>=4)return this._correctMiddlePoints(e,t,i),void this.normalizePoints();this._snapPoint45Degree(t,i)}switch(e){case 2:this._points[1].price=t.price,this._points[0].index=t.index;break;case 3:this._points[0].price=t.price,this._points[1].index=t.index;break;case 4:this._points[0].index=t.index;break;case 5:this._points[1].index=t.index;break;case 6:this._points[0].price=t.price;break;case 7:this._points[1].price=t.price}this.normalizePoints()}getPoint(e){return e<2?super.getPoint(e):this._getAnchorPointForIndex(e)}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}static createProperties(e){const t=new r.DefaultProperty("linetoolrectangle",e);return h._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,29286)).then(e=>e.RectangleDefinitionsViewModel)}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)} +_snapPoint45Degree(e,t,i){const s=this.m_priceScale,r=this.ownerSource();if(null===s||null===r)return;const n=r.firstValue();if(null===n)return;const o=this._model.timeScale(),a=(0,c.ensureNotNull)(this.pointToScreenPoint(e)),l=(0,c.ensureNotNull)(this.pointToScreenPoint(t)),h=a.x-l.x,d=a.y-l.y,u=h<0?-1:1,p=d<0?-1:1,_=Math.max(Math.abs(h),Math.abs(d)),m=Math.round(o.coordinateToIndex(l.x+_*u)),g=Math.abs(o.indexToCoordinate(m)-l.x),f=s.coordinateToPrice(l.y+g*p,n);e.index=m,e.price=f}_correctMiddlePoints(e,t,i){e<6?this._correctRightLeftMiddlePoint(e,t,i):this._correctTopBottomMiddlePoint(e,t,i)}_correctRightLeftMiddlePoint(e,t,i){const r=(0,c.ensureNotNull)(this.pointToScreenPoint(t)),n=(0,c.ensureNotNull)(this.pointToScreenPoint(i)),o=(0,c.ensureNotNull)(this.pointToScreenPoint(this._points[0])),a=(0,c.ensureNotNull)(this.pointToScreenPoint(this._points[1]));let l=r.x-n.x;if(0===l)return;const h=o.x{"use strict";var s=i(16282).assert,r=s.ensureNotNull,n=i(47903),o=n.merge,a=n.clone,l=i(11092),c=i(17175).StudyLineDataSource,h=i(67620).INVALID_TIME_POINT_INDEX,d=i(39096).LineToolWidthsProperty,u=i(85062);const p=i(67945).createStudyLineToolProperties,_=i(39951),m="RegressionTrend@tv-basicstudies";function g(e){return void 0!==e.startPrice&&void 0!==e.endPrice}class f extends c{constructor(e,t,s){s=s||e.studyMetaInfoRepository().findByIdSync({type:"java",studyId:m});var r=t||f._createPropertiesFromStudyMetaInfo(s,e.studyVersioning());super(e,s,"linreg_",r),this.version=2,this._trendData=null,i.e(1583).then(i.bind(i,56145)).then(({RegressionTrendPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}formatter(){s(!1,"This method should never be called")}pointsCount(){return 2}clearData(){this._trendData=null,super.clearData()}state(e){var t=c.prototype.state.call(this,e);return e?Object.assign({},t,{nonseriesdata:this._trendData}):t}restoreData(e){super.restoreData(e),e.nonseriesdata&&(this._trendData=e.nonseriesdata)}startIndex(){if(null===this._trendData||null===this._indexes)return null;var e=this._indexes[this._trendData.startIndex];return e!==h?e:null}endIndex(){if(null===this._trendData||null===this._indexes)return null;var e=this._indexes[this._trendData.endIndex];return e!==h?e:null}baseLine(){return null===this._trendData?null:this._trendData.baseLine}downLine(){return null===this._trendData?null:this._trendData.downLine}upLine(){return null===this._trendData?null:this._trendData.upLine}pearsons(){return null===this._trendData?null:this._trendData.pearsons}recalcStudyIfNeeded(){this._onStudyInputsMayChange()}static createProperties(e,t){const i=u.getStudyPropertyRootNameById(m),s=r(e.studyMetaInfoRepository().findByIdSync({type:"java",studyId:m})),n=l(!0,i,[],e.studyVersioning());return p("LineToolRegressionTrend",s,s,o(a(n),t||{}),e.studyVersioning())}static studyId(){return m}static createPropertiesFromStudyMetaInfoAndState(e,t,i,s){const r=_.prepareStudyPropertiesForLoadChart(e,t,i,null,s);return f._configureProperties(r),r}_studyInputs(e){s(2===e.length,"all the line tool points should be defined");var t=e[0],i=e[1];if(t.index===i.index)return null;const r=this._getPointTime(t.index<=i.index?t:i,!0),n=this._getPointTime(i.index>=t.index?i:t,!0);if(null===r||null===n)return this._subscribeApplyInputsOnSeriesCompleted(),null;var o=1e3*r,a=1e3*n;return{ +"upper diviation":this.properties().inputs["upper diviation"].value(),"lower diviation":this.properties().inputs["lower diviation"].value(),"use upper diviation":this.properties().inputs["use upper diviation"].value(),"use lower diviation":this.properties().inputs["use lower diviation"].value(),"first bar time":o,"last bar time":a,source:this.properties().inputs.source.value()}}_onDataUpdated(e,t,i){null!==t&&(t.indexes_replace||(this._trendData=t.data),this._indexes=i,super._onDataUpdated(e,t,i))}_updateAnchorsPrice(){if(!this._trendData||TradingView.isNaN(this._trendData.baseLine.startPrice)||TradingView.isNaN(this._trendData.baseLine.endPrice))return;const{startPrice:e,endPrice:t}=this._trendData.baseLine;2===this._points.length&&(this._points[0].price=e,this._points[1].price=t,this._timePoint[0].price=e,this._timePoint[1].price=t)}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(5019),i.e(607)]).then(i.bind(i,30042))).RegressionTrendDefinitionsViewModel}_isReady(){return this._trendData&&void 0!==this._trendData.startIndex&&void 0!==this._trendData.endIndex&&g(this._trendData.upLine)&&g(this._trendData.baseLine)&&g(this._trendData.downLine)}static createProperties(e){const t=c._createPropertiesFromStudyIdAndState(m,e);return f._configureProperties(t),t}static _createPropertiesFromStudyMetaInfo(e,t){const i=_.prepareStudyProperties(e,null,null,t);return f._configureProperties(i),i}static studyId(){return m}cloneable(){return!1}static _configureProperties(e){c._configureProperties(e);const t=e.child("styles");var i=[t.child("upLine").child("linewidth"),t.child("downLine").child("linewidth"),t.child("baseLine").child("linewidth")];e.addChild("linesWidths",new d(i))}}t.LineToolRegressionTrend=f},43662:(e,t,i)=>{"use strict";i.d(t,{LineToolRiskRewardBase:()=>f});var s=i(16282),r=i(57649),n=i(25303),o=i(76117),a=i(53785),l=i(67033),c=i(95426);class h extends c.PriceAxisView{constructor(e,t){super(),this._source=e,this._data=t}_updateRendererData(e,t,i){if(e.visible=!1,!this._showAxisLabel())return;const s=this._source.priceScale();if(0===this._source.points().length||null===s||s.isEmpty())return;const r=this._source.ownerSource(),n=null!==r?r.firstValue():null;if(null===n)return;const o=this._data.priceProperty.value(),a=this._data.colorProperty.value();i.background=a,i.textColor=this.generateTextColor(a),i.coordinate=s.priceToCoordinate(o,n),e.text=s.formatPrice(o,n),e.visible=!0}_showAxisLabel(){return this._source.properties().childs().showPriceLabels.value()}}var d=i(674),u=i.n(d);class p extends(u()){constructor(e,t){super(),this._lineSource=e,this._pointIndex=t}value(){const e=this._lineSource.points()[this._pointIndex].price;return this._formatAndParsePrice(e)}state(){return this.value()}merge(e,t){return this.setValue(e),t?[]:null}_formatAndParsePrice(e){const t=(0,s.ensureNotNull)(this._lineSource.ownerSource()).formatter();if(t.parse){const i=t.format(e),s=t.parse(i);return s.res?s.value:e}return e}}class _ extends p{constructor(e){super(e,0)}setValue(e){ +const t=this._lineSource.points()[this._pointIndex];this._lineSource.startChanging(this._pointIndex,t),t.price=parseFloat(""+e),this._lineSource.setPoint(this._pointIndex,t),this._lineSource.recalculate(),this._lineSource.model().updateSource(this._lineSource),this._listeners.fire(this),this._lineSource.endChanging(!1,!1),this._lineSource.syncPriceLevels()}}class m extends p{constructor(e){super(e,1)}value(){const e=this._lineSource.stopPrice();return this._formatAndParsePrice(e)}setValue(e){const t=Math.round(Math.abs(e-this._lineSource.entryPrice())*this._lineSource.model().mainSeries().base());this._lineSource.properties().childs().stopLevel.setValue(t),this._lineSource.syncPriceLevels()}}class g extends p{constructor(e){super(e,2)}value(){const e=this._lineSource.profitPrice();return this._formatAndParsePrice(e)}setValue(e){const t=Math.round(Math.abs(e-this._lineSource.entryPrice())*this._lineSource.model().mainSeries().base());this._lineSource.properties().childs().profitLevel.setValue(t),this._lineSource.syncPriceLevels()}}class f extends o.LineDataSource{constructor(e,t,o){if(super(e,t),this._syncStateExclusions=["points","entryPrice","stopPrice","targetPrice","stopLevel","profitLevel","riskSize","qty","amountTarget","amountStop"],!t.hasChild("stopLevel")&&!t.hasChild("profitLevel")){const i=(0,s.ensureNotNull)(e.timeScale().visibleBarsStrictRange()),r=i.firstBar(),o=i.lastBar();let a=(0,s.ensureNotNull)(e.mainSeries().priceRange(r,o));const l=e.mainSeries().priceScale();if(l.isLog()){const e=l.logicalToPrice(a.minValue()),t=l.logicalToPrice(a.maxValue());a=new n.PriceRange(e,t)}if(a&&!a.isEmpty()){const i=Math.round(.2*a.length()*e.mainSeries().base());t.merge({stopLevel:i,profitLevel:i})}}t.childs().stopLevel.listeners().subscribe(this,this.recalculate),t.childs().stopLevel.listeners().subscribe(null,()=>{this.properties().childs().stopPrice.childChanged("",0)}),t.childs().profitLevel.listeners().subscribe(this,this.recalculate),t.childs().profitLevel.listeners().subscribe(null,()=>{this.properties().childs().targetPrice.childChanged("",0)}),t.addChild("entryPrice",new _(this)),t.addChild("stopPrice",new m(this)),t.addChild("targetPrice",new g(this)),t.hasChild("riskSize")||t.addProperty("riskSize",0),t.hasChild("qty")||t.addProperty("qty",0),t.hasChild("amountTarget")||t.addProperty("amountTarget",t.childs().accountSize.value()),t.hasChild("amountStop")||t.addProperty("amountStop",t.childs().accountSize.value()),t.addExclusion("riskSize"),t.addExclusion("qty"),t.addExclusion("amountTarget"),t.addExclusion("amountStop"),this._riskInPercentsFormatter=new r.NumericFormatter(2),this._riskInMoneyFormatter=new r.NumericFormatter,t.childs().risk.subscribe(this,this._recalculateRiskSize),t.childs().accountSize.subscribe(this,this._recalculateRiskSize),t.childs().riskDisplayMode.subscribe(this,this._recalculateRisk),t.childs().riskDisplayMode.subscribe(this,this._recalculateRiskSize),t.childs().entryPrice.subscribe(this,this._recalculateRiskSize),t.childs().stopPrice.subscribe(this,this._recalculateRiskSize), +t.childs().profitLevel.subscribe(this,this._recalculateRiskSize),t.childs().profitLevel.subscribe(this,this.syncPriceLevels.bind(this)),t.childs().stopLevel.subscribe(this,this._recalculateRiskSize),t.childs().stopLevel.subscribe(this,this.syncPriceLevels.bind(this)),t.childs().qty.subscribe(this,this._recalculateRiskSize),this.pointAdded().subscribe(this,e=>{switch(e){case l.RiskRewardPointIndex.Entry:case l.RiskRewardPointIndex.Close:this._recalculateRiskSize(),this._recalculateQty()}}),this.pointChanged().subscribe(this,e=>{switch(e){case l.RiskRewardPointIndex.Entry:case l.RiskRewardPointIndex.Close:this._recalculateRiskSize(),this._recalculateQty()}}),t.childs().riskDisplayMode.value()===a.RiskDisplayMode.Percentage&&t.childs().risk.value()>100&&t.childs().riskDisplayMode.setValueSilently(a.RiskDisplayMode.Money),this.version=2,this._entryPriceAxisView=new h(this,{colorProperty:t.childs().linecolor,priceProperty:t.childs().entryPrice}),this._stopPriceAxisView=new h(this,{colorProperty:t.childs().stopBackground,priceProperty:t.childs().stopPrice}),this._profitPriceAxisView=new h(this,{colorProperty:t.childs().profitBackground,priceProperty:t.childs().targetPrice}),i.e(1583).then(i.t.bind(i,18452,19)).then(({RiskRewardPaneView:t})=>{const i=[new t(this,e)];this._setPaneViews(i)})}}},53785:(e,t,i)=>{"use strict";var s;i.d(t,{RiskDisplayMode:()=>s}),function(e){e.Percentage="percents",e.Money="money"}(s||(s={}))},67033:(e,t,i)=>{"use strict";var s;i.d(t,{RiskRewardPointIndex:()=>s}),function(e){e[e.Entry=0]="Entry",e[e.Close=1]="Close",e[e.ActualEntry=2]="ActualEntry",e[e.ActualClose=3]="ActualClose"}(s||(s={}))},74021:(e,t,i)=>{"use strict";var s=i(16282).ensureNotNull,r=i(76117).LineDataSource,n=i(15521),o=i(11092).DefaultProperty,a=i(67033).RiskRewardPointIndex,l=i(53785).RiskDisplayMode,c=i(43662).LineToolRiskRewardBase,h=i(47903).isNumber,d=i(61627).PlotRowSearchMode;class u extends c{riskFormatter(e){return e===l.Percentage?this._riskInPercentsFormatter:this._riskInMoneyFormatter}getRiskStep(e){return e===l.Percentage?.01:1}_roundValue(e){return parseFloat(e.toFixed(2))}hasEditableCoordinates(){return!1}_recalculateRisk(){var e=this.properties(),t=e.riskDisplayMode.value(),i=e.riskSize.value(),s=e.accountSize.value(),r=e.risk.value();r=t===l.Percentage?this._roundValue(i/s*100):this._roundValue(s/100*r),this._riskInChange=!0,e.risk.setValue(this.riskFormatter(t).format(r)),this._riskInChange=!1}_recalculateRiskSize(){if(!this._riskInChange){var e=this.properties(),t=e.risk.value(),i=e.riskDisplayMode.value(),s=e.accountSize.value();i===l.Percentage?e.riskSize.setValue(t/100*s):t>s?(e.risk.setValue(s),e.riskSize.setValue(s)):e.riskSize.setValue(t)}}lastBarData(){var e=this._model.mainSeries().bars().firstIndex(),t=this._model.mainSeries().bars().lastIndex();if(null===e||null===t||isNaN(e)||isNaN(t))return null;var i=this.points();if(4===i.length){var s=i[a.ActualClose];return s.index=1){var s=[];if(s.push(this._points[0]),n={price:(n=this._points[0]).price,index:this._getClosePointIndex(n.index)},s.push(n),this._points[1]&&s.push(this._points[1]),this._points[2]&&s.push(this._points[2]),this._points=s,this._timePoint.length>=1){var r=[],n=this._timePoint[0];r.push(n);var o={price:n.price,time_t:n.time_t,offset:this._getClosePointIndex(n.offset)};r.push(o),this._timePoint[1]&&s.push(this._points[1]),this._timePoint[2]&&s.push(this._points[2]),this._timePoint=r}}}checkAlert(){this.recalculate()}priceAxisViews(e,t){return this.isSourceHidden()||t!==this.priceScale()||this._model.paneForSource(this)!==e?null:[this._entryPriceAxisView,this._stopPriceAxisView,this._profitPriceAxisView]}updateAllViews(){this.isActualSymbol()&&this._properties.visible.value()&&(n.hideAllDrawings().value()&&this.userEditEnabled()||(super.updateAllViews(),this._entryPriceAxisView.update(),this._stopPriceAxisView.update(),this._profitPriceAxisView.update()))}restoreExternalState(e){if(h(e.entryPrice)){if(e=Object.assign({},e),!this.isActualSymbol())this._timePoint[0].price=e.entryPrice,delete e.entryPrice;this.properties().merge(e)}else super.restoreExternalState(e)}_changeEntryPoint(e){var t=this.properties().stopPrice.value(),i=this.properties().targetPrice.value(),s=1/this._model.mainSeries().base(),r=Math.min(t,i)+s,n=Math.max(t,i)-s;e.price=Math.max(r,Math.min(n,this._roundPrice(e.price))),super.setPoint(0,e),this.properties().stopPrice.setValue(t),this.properties().targetPrice.setValue(i)}setPoint(e,t,i){if(this.isActualSymbol()){switch(this._muteSyncLineStyle(),e){case 0:this._changeEntryPoint(t);break;case 2:this.properties().stopPrice.setValue(this.preparseStopPrice(t.price));break;case 3:this.properties().targetPrice.setValue(this.preparseProfitPrice(t.price));break;case 1:t.price=this._roundPrice(t.price),super.setPoint(1,t),this.recalculate()}this._unmuteSyncLineStyleWithoutApplyingChanges(),this.syncPriceLevels()}}getPoint(e){switch(e){case 0:return this._points[0];case 1:return{index:this._points[1].index,price:this._points[0].price};case 2:return{index:this._points[0].index,price:this.stopPrice()};case 3:return{index:this._points[0].index,price:this.profitPrice()}}return null}setPoints(e){this._muteSyncLineStyle(),super.setPoints(e),this.recalculate(),this._unmuteSyncLineStyleWithoutApplyingChanges(),this.syncPriceLevels()}syncPriceLevels(){if(this.linkKey().value()){var e=this.properties(),t={entryPrice:e.entryPrice.value(),stopLevel:e.stopLevel.value(),profitLevel:e.profitLevel.value()};n.changeLineStyle({linkKey:this.linkKey().value(),state:t,model:this._model})}}pointsCount(){return 1}name(){return"Risk/Reward"}addPoint(e){e.price=this._roundPrice(e.price),super.addPoint(e,null,!0);var t={price:e.price,index:this._getClosePointIndex(e.index)};super._addPointIntenal(t,null,!0) +;var i=this.calculateActualEntry(e,t);i&&(super._addPointIntenal(i,null,!0),(t=this.findClosePoint(i,t))&&super._addPointIntenal(t,null,!0));return this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}setOwnerSource(e){super.setOwnerSource(e),this._model.mainSeries().symbolInfo()&&(this._recalculateAmount(),this._recalculateRiskSize(),this._recalculateQty())}_roundPrice(e){var t=this._model.mainSeries().base();return Math.round(e*t)/t}recalculate(){if(0!==this.points().length){var e=this.properties().targetPrice.value(),t=this.properties().stopPrice.value(),i=[this._points[0],this._points[1]],s=this.calculateActualEntry(this.points()[0],this.points()[1]);if(s){i.push(s);var r=this.findClosePoint(s,this.points()[1]);r&&i.push(r)}this._points=i,e!==this.properties().targetPrice.value()&&this.properties().targetPrice._listeners.fire(this.properties().targetPrice),t!==this.properties().stopPrice.value()&&this.properties().stopPrice._listeners.fire(this.properties().stopPrice)}}start(){super.start(),this.recalculate()}startMoving(e,t,i){e.logical.price=this._roundPrice(e.logical.price),super.startMoving(e,t,i)}move(e,t,i){e.logical.price=this._roundPrice(e.logical.price),super.move(e,t,i),this.recalculate(),this._entryPriceAxisView.update()}_correctPoints(e,t){return!!this.isActualSymbol()&&r.prototype._correctPoints.call(this,[e[0],e[1]],t)}entryPrice(){return this.points()[0].price}findClosePoint(e,t){for(var i=this._model.mainSeries().bars(),r=s(i.firstIndex()),n=Math.max(e.index,r),o=s(i.lastIndex()),a=Math.min(o,t.index),l=n;l<=a;l++){var c=i.valueAt(l);if(null!==c){var h=this.checkStopPrice(c);if(null!=h)return{index:l,price:h}}}return null}calculateActualEntry(e,t){var i=this._model.mainSeries().bars();if(i.isEmpty())return null;for(var r=s(i.firstIndex()),n=Math.max(e.index,r),o=e.price,a=s(i.lastIndex()),l=Math.min(a,t.index),c=n;c<=l;c++){var h=i.valueAt(c);if(null!==h&&h[TradingView.HIGH_PLOT]>=o&&h[TradingView.LOW_PLOT]<=o)return{index:c,price:o}}return null}axisPoints(){if(!this._points[a.ActualEntry])return[];var e=this._points[a.ActualEntry],t=null;if(4===this._points.length)t=this._points[a.ActualClose];else{var i=this.lastBarData();if(!i)return[];t={index:i.index,price:i.closePrice}}return[e,t]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,57591))).RiskRewardDefinitionsViewModel}template(){var e=this.properties(),t=r.prototype.template.call(this);return t.stopLevel=e.stopLevel.value(),t.profitLevel=e.profitLevel.value(),t}_applyTemplateImpl(e){delete e.targetPrice,delete e.stopPrice,delete e.entryPrice,super._applyTemplateImpl(e);var t=this.properties();void 0!==e.stopLevel&&t.stopLevel.setValue(e.stopLevel),void 0!==e.profitLevel&&t.profitLevel.setValue(e.profitLevel)}getOrderTemplate(){return null}_propertiesStateExclusions(){return["entryPrice","stopPrice","targetPrice"]}static _configureProperties(e){r._configureProperties(e),e.addExclusion("stopLevel"),e.addExclusion("profitLevel"),e.addExclusion("stopPrice"), +e.addExclusion("targetPrice"),e.addExclusion("entryPrice")}_getClosePointIndex(e){var t=this._model.timeScale(),i=Math.round(t.width()/t.barSpacing());return e+Math.max(3,Math.round(.15*i))}}u.version=2;class p extends u{constructor(e,t,i){super(e,t||p.createProperties(),i);var s=this.properties();s.entryPrice.subscribe(this,this._recalculateQty),s.stopPrice.subscribe(this,this._recalculateQty),s.riskSize.subscribe(this,this._recalculateQty),s.entryPrice.subscribe(this,this._recalculateAmount),s.profitLevel.subscribe(this,this._recalculateAmount),s.stopLevel.subscribe(this,this._recalculateAmount),s.accountSize.subscribe(this,this._recalculateAmount),s.riskSize.subscribe(this,this._recalculateAmount),s.qty.subscribe(this,this._recalculateAmount)}_recalculateQty(){if(0!==this.points().length){var e=this.properties(),t=e.entryPrice.value(),i=e.stopPrice.value(),s=e.riskSize.value(),r=this._model.mainSeries().pointValue(),n=s/(Math.abs(i-t)*r);e.qty.setValue(n)}}_recalculateAmount(){if(0!==this.points().length){var e=this.properties(),t=e.accountSize.value(),i=e.entryPrice.value(),s=e.qty.value(),r=e.stopPrice.value(),n=e.targetPrice.value(),o=this._model.mainSeries().pointValue(),a=this._roundValue(t+(i-n)*s*o),l=this._roundValue(t-(r-i)*s*o);e.amountTarget.setValue(a),e.amountStop.setValue(l)}}name(){return"Risk/Reward short"}stopPrice(){return this.entryPrice()+this.properties().stopLevel.value()/this._model.mainSeries().base()}profitPrice(){return this.entryPrice()-this.properties().profitLevel.value()/this._model.mainSeries().base()}calculatePL(e){return this.entryPrice()-e}preparseStopPrice(e){e=this._roundPrice(e);var t=this.entryPrice()+1/this._model.mainSeries().base();return Math.max(e,t)}preparseProfitPrice(e){e=this._roundPrice(e);var t=this.entryPrice()-1/this._model.mainSeries().base();return Math.min(e,t)}checkStopPrice(e){var t=this.stopPrice(),i=this.profitPrice();return e[TradingView.HIGH_PLOT]>=t?this.stopPrice():e[TradingView.LOW_PLOT]<=i?this.profitPrice():null}_orderSide(){throw new Error("not supported")}static createProperties(e){var t=new o("linetoolriskrewardshort",e);return p._configureProperties(t),t}static _configureProperties(e){u._configureProperties(e)}}class _ extends u{constructor(e,t,i){super(e,t||_.createProperties(),i);var s=this.properties();s.entryPrice.subscribe(this,this._recalculateQty),s.stopPrice.subscribe(this,this._recalculateQty),s.riskSize.subscribe(this,this._recalculateQty),s.entryPrice.subscribe(this,this._recalculateAmount),s.profitLevel.subscribe(this,this._recalculateAmount),s.stopLevel.subscribe(this,this._recalculateAmount),s.accountSize.subscribe(this,this._recalculateAmount),s.riskSize.subscribe(this,this._recalculateAmount),s.qty.subscribe(this,this._recalculateAmount)}_recalculateQty(){if(0!==this.points().length){var e=this.properties(),t=e.entryPrice.value(),i=e.stopPrice.value(),s=e.riskSize.value(),r=this._model.mainSeries().pointValue(),n=s/(Math.abs(t-i)*r);e.qty.setValue(n)}}_recalculateAmount(){if(0!==this.points().length){ +var e=this.properties(),t=e.accountSize.value(),i=e.entryPrice.value(),s=e.qty.value(),r=e.stopPrice.value(),n=e.targetPrice.value(),o=this._model.mainSeries().pointValue(),a=this._roundValue(t+(n-i)*s*o),l=this._roundValue(t-(i-r)*s*o);e.amountTarget.setValue(a),e.amountStop.setValue(l)}}stopPrice(){return this.entryPrice()-this.properties().stopLevel.value()/this._model.mainSeries().base()}profitPrice(){return this.entryPrice()+this.properties().profitLevel.value()/this._model.mainSeries().base()}calculatePL(e){return e-this.entryPrice()}preparseStopPrice(e){e=this._roundPrice(e);var t=this.entryPrice()-1/this._model.mainSeries().base();return Math.min(e,t)}preparseProfitPrice(e){e=this._roundPrice(e);var t=this.entryPrice()+1/this._model.mainSeries().base();return Math.max(e,t)}checkStopPrice(e){var t=this.stopPrice(),i=this.profitPrice();return e[TradingView.LOW_PLOT]<=t?this.stopPrice():e[TradingView.HIGH_PLOT]>=i?this.profitPrice():null}name(){return"Risk/Reward long"}_orderSide(){throw new Error("not supported")}static createProperties(e){var t=new o("linetoolriskrewardlong",e);return _._configureProperties(t),t}static _configureProperties(e){u._configureProperties(e)}}t.LineToolRiskRewardLong=_,t.LineToolRiskRewardShort=p},96312:(e,t,i)=>{"use strict";var s=i(72927).Point,r=i(89684).distanceToLine,n=i(76117).LineDataSource,o=i(11092).DefaultProperty,a=i(39096).LineToolColorsProperty;class l extends n{constructor(e,t){super(e,t||l.createProperties()),i.e(1583).then(i.t.bind(i,57414,19)).then(({RotatedRectanglePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}startChanging(e,t){if(super.startChanging(e,t),0===e||1===e){var i=this._getPaneViews()[0],s=i._points[0],n=i._points[1],o=i._points[2];this._distance=r(s,n,o).distance}}setPoint(e,t,i){if(super.setPoint(e,t,i),0===e||1===e){var r=this._getPaneViews()[0];r.update();var n=r._points[0],o=r._points[1].subtract(n),a=new s(o.y,-o.x).normalized().scaled(this._distance),l=n.add(a),c=this.screenPointToPoint(l);this._points[2]=c}}endChanging(e,t){delete this._distance,super.endChanging(e,t)}pointsCount(){return 3}name(){return"Rotated Rectangle"}hasEditableCoordinates(){return!1}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,32454))).GeneralFiguresDefinitionsViewModel}_snapTo45DegreesAvailable(){return!0}static createProperties(e){var t=new o("linetoolrotatedrectangle",e);return l._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e),e.addChild("linesColors",new a([e.color]))}}t.LineToolRotatedRectangle=l},78124:(e,t,i)=>{"use strict";var s=i(81773),r=i(70799).LineToolPitchfork;class n extends r{constructor(e,t){super(e,t||n.createProperties())}name(){return"Modified Schiff Pitchfork"}static createProperties(e){var t=new s("linetoolschiffpitchfork",e,!1,{range:[0,8]});return n._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e)}}t.LineToolSchiffPitchfork=n},14444:(e,t,i)=>{"use strict" +;var s=i(81773),r=i(70799).LineToolPitchfork;class n extends r{constructor(e,t){super(e,t||n.createProperties())}name(){return"Schiff Pitchfork"}static createProperties(e){var t=new s("linetoolschiffpitchfork2",e,!1,{range:[0,8]});return n._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e)}}t.LineToolSchiffPitchfork2=n},6789:(e,t,i)=>{"use strict";i.d(t,{LineToolSignpost:()=>y});var s=i(79881),r=i(11092),n=i(76117),o=i(674),a=i.n(o),l=i(28994),c=i(5729),h=i.n(c);class d{constructor(e){this._image=null,this._currentImageURL=null,this._imageReady=!1,this._ready=new(h()),this._source=e,this.updateImage()}updateImage(){const e=this.imageURL();this._currentImageURL!==e&&(this._currentImageURL=e,this._image=null,this._imageReady=!1,null!==this._currentImageURL&&(this._image=new Image,this._image.onload=()=>{this._imageReady=!0,this._ready.fire()},this._image.crossOrigin="anonymous",this._image.src=this._currentImageURL))}itemIndex(){return 1}labelIndex(){return 0}image(){return this._imageReady&&this.showPlate()?this._image:null}showPlate(){return this._props().childs().showImage.value()}backgroundPlateColor(e){return this._props().childs().plateColor.value()}ready(){return this._ready}type(){return this._props().childs().itemType.value()}category(){return 1}index(){const e=this._source.points();return 0===e.length?null:e[0].index}imageURL(){const e=this._props().childs().emoji.value();return(0,l.getTwemojiUrl)(e,"png")||null}sourceImage(){return null}additionalImageURL(){return null}additionalImageSource(){return null}name(){return""}headline(){return this._props().childs().text.value()}text(){return""}fullTextAst(){return null}position(){return this._props().childs().position.value()}fontSize(){return this._props().childs().fontSize.value()}fontBold(){return this._props().childs().bold.value()}fontItalic(){return this._props().childs().italic.value()}sourceLabel(){return null}_props(){return this._source.properties()}}class u extends(a()){constructor(e){super(),this._source=e,e.pointAdded().subscribe(this,()=>this.listeners().fire(this)),e.pointChanged().subscribe(this,()=>this.listeners().fire(this))}value(){const e=this._source.properties().childs().position.value();return parseFloat(e.toFixed(2))}setValue(e){this._source.properties().childs().position.setValue(e),this._source.model().updateSource(this._source),this.listeners().fire(this),this._source.syncMultichartState({pricesChanged:!1,indexesChanged:!1})}}var p=i(54388);class _ extends p.LineDataSourcePointIndexProperty{constructor(e,t){super(e,t),this._source=e}_setPointImpl(e){this._source.setPointAndChangeIndex(this._pointIndex,e)}}var m=i(39096),g=i(16282),f=i(71233),v=i(15521);class S extends n.LineDataSource{constructor(){super(...arguments),this._startMovingAnchorY=NaN}priceSource(){return this.ownerSource()}addPoint(e,t,i){return super.addPoint(this._updatePositionAndCorrectPoint(e),t,i)}setPoint(e,t,i){super.setPoint(e,this._updatePositionAndCorrectPoint(t,!this.isPhantom()&&!this._allowChangeAnchorHorizontally()),i), +this._syncPosition()}setPointAndChangeIndex(e,t,i){super.setPoint(e,this._updatePositionAndCorrectPoint(t,!1),i),this._syncPosition()}startMoving(e,t,i,s){s||(this._startMovingAnchorY=(0,g.ensureNotNull)(this._anchorYCoordinate())),super.startMoving(e,t,i)}move(e,t,i,s){var r;const n=(0,g.ensureDefined)((0,g.ensureNotNull)(this.startMovingPoint()).logical),o=(0,g.ensureDefined)(e.logical);if(!s&&0===t){const e=this._points[0],t=o.index-n.index,i=(0,g.ensureNotNull)(this.priceScale()),s=(0,g.ensure)(null===(r=this.ownerSource())||void 0===r?void 0:r.firstValue()),a=i.priceToCoordinate(o.price,s)-i.priceToCoordinate(n.price,s),l=this._startMovingAnchorY+a,c=i.coordinateToPrice(l,s);this._updatePositionAndCorrectPoint({index:e.index+t,price:c})}super.move(e,t,i),s||this._syncPosition()}_allowChangeAnchorHorizontally(){return!1}_updatePositionAndCorrectPoint(e,t){t&&(e.index=this._points[0].index);const i=this.priceSource();if(null===i)return e;const s=i.priceScale(),r=i.firstValue();if(null===s||s.isEmpty()||null===r)return e;const n=s.height();let o=n/2,a=e.price>=s.coordinateToPrice(o,r)?1:-1;const l=this._model.mainSeries();if(i===l){const t=l.data().search(this._baseSeriesIndexForPoint(e));if(null!==t){const i=(0,f.seriesPrice)(l,t,-1),n=(0,f.seriesPrice)(l,t,1);a=e.price>=i?1:-1,o=s.priceToCoordinate(1===a?n:i,r),e.price=1===a?Math.max(n,e.price):e.price}}const c=1===(-1===a!==s.isInverted()?-1:1)?o:n-o,h=s.priceToCoordinate(e.price,r),d=Math.min(n,Math.abs(h-o)),u=Math.max(0,Math.min(100,100*d/c))*a;return this.properties().childs().position.setValue(u),e}_baseSeriesIndexForPoint(e){return e.index}_syncPosition(){const e=this.linkKey().value();if(null!==e){const t={position:this.properties().childs().position.value()};(0,v.changeLineStyle)({linkKey:e,state:t,model:this._model})}}_anchorYCoordinate(){const e=this.priceSource();if(null===e)return null;const t=e.priceScale(),i=e.firstValue();if(null===t||t.isEmpty()||null===i)return null;const s=this._model.mainSeries(),r=this.customEvent();if(null===r)return null;let n=null;if(e===s&&(n=(0,f.seriesBasePosition)(s,r)),null===n&&(n=(0,f.noDataBasePosition)(r,t,i)),null===n)return null;const o=r.position(),a=t.priceToCoordinate(n.price,i);return(0,f.positionToCoordinate)(o,t.height(),a,(0,f.positionVisualDirection)(o,t.isInverted()))}}class y extends S{constructor(e,t){const s=t||y.createProperties();super(e,s),this._item=new d(this),this.properties().childs().emoji.subscribe(this,()=>this._item.updateImage()),this._item.ready().subscribe(this,()=>this._model.updateSource(this)),i.e(1583).then(i.bind(i,21857)).then(t=>{this._setPaneViews([new t.SignpostPaneView(this,e)])})}isItemHovered(e){return!1}isItemSelected(e){return!1}isHidden(e){return!1}items(){return[this.customEvent()]}priceSource(){return this.ownerSource()}pointsCount(){return 1}name(){return"Signpost"}customEvent(){return this._item}showInObjectTree(){return!this.isPhantom()&&super.showInObjectTree()}isPhantom(){return this._model.isPhantomLine(this)}clonePositionOffset(){return{barOffset:1, +xCoordOffset:0,yCoordOffset:0}}template(){const e=super.template(),t=this.properties().childs();return e.text=t.text.value(),e.position=t.position.value(),e}static createProperties(e){const t=new r.DefaultProperty("linetoolsignpost",e);return y._configureProperties(t),t.hasChild("text")||t.addChild("text",new(a())((0,s.t)("Text"))),t.hasChild("position")||t.addChild("position",new(a())(50)),t.addExclusion("text"),t.addExclusion("position"),t.addChild("backgroundsColors",new m.LineToolColorsProperty([t.childs().plateColor])),t}_createPointProperty(e){super._createPointProperty(e);const t=this._pointsProperty.childs().points[e];t.removeProperty("price"),t.removeProperty("bar"),t.addChild("price",new u(this)),t.addChild("bar",new _(this,0))}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text),this.properties().childs().position.setValue(e.position)}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,69172)).then(e=>e.SignpostDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e)}}y.supportPhantomMode=!0},39447:(e,t,i)=>{"use strict";i.d(t,{LineToolSineLine:()=>n});var s=i(11092),r=i(76117);class n extends r.LineDataSource{constructor(e,t){super(e,t||n.createProperties()),i.e(1583).then(i.bind(i,69486)).then(e=>{this._setPaneViews([new e.SineLinePaneView(this,this._model)])})}pointsCount(){return 2}name(){return"Sine Line"}static createProperties(e){const t=new s.DefaultProperty("linetoolsineline",e);return n._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,60468))).CyclicAndSineLinesPatternDefinitionsViewModel}static _configureProperties(e){r.LineDataSource._configureProperties(e)}}},17175:(e,t,i)=>{"use strict";i.d(t,{StudyLineDataSource:()=>f});var s=i(16282),r=i(47903),n=i(61627),o=i(76117),a=i(11092),l=i(85062),c=i.n(l),h=i(19625),d=i(30875),u=i(7171),p=i(28676),_=i(39951),m=i(84540),g=i(63059);class f extends o.LineDataSource{constructor(e,t,s,r){super(e,r),this._indexes=null,this._inputs=null,this._pointsetPoints=null,this._loadedPlots=null,this._loadedGraphics=null,this._beingCreatedPaneView=null,this._anchorsPaneView=null,this._definitionsViewModel=null,this._alignerCache=null,Promise.all([i.e(1583).then(i.bind(i,69473)),i.e(1583).then(i.bind(i,70014))]).then(t=>{const{LineToolBeingCreatedPaneView:i}=t[0],{StudyLineDataSourceAnchorsPaneView:s}=t[1];this._beingCreatedPaneView=new i(this,e),this._anchorsPaneView=new s(this,this.model()),this._model.lightUpdate()}),this._metaInfo=t,this._dataSource=new u.StudyDataSource(e.chartApi(),e.mainSeries().seriesSource(),s,t),this._dataSource.dataCleared().subscribe(this,this._onDataCleared),this._dataSource.dataUpdated().subscribe(this,this._onDataUpdated)}destroy(){this._dataSource.dataUpdated().unsubscribe(this,this._onDataUpdated),this._dataSource.dataCleared().unsubscribe(this,this._onDataCleared),this._dataSource.destroy(), +null!==this._definitionsViewModel&&(this._definitionsViewModel.destroy(),this._definitionsViewModel=null),this._unsubscribeApplyInputsOnSeriesCompleted(),this._isDestroyed=!0,super.destroy()}stop(){super.stop(),this._isDestroyed||(this._dataSource.stop(),this.clearData())}start(){super.start(),this._isDestroyed||null===this._inputs||this._dataSource.start()}metaInfo(){return this._metaInfo}graphicsInfo(){return this._metaInfo.graphics}series(){return this._model.mainSeries()}translatedType(){return this._metaInfo.description}name(){return this._metaInfo.description}studyId(){return this._metaInfo.id}setPoint(e,t,i){super.setPoint(e,this._preparePoint(t,i))}move(e){}clearData(){this._clearAllDataExceptPointsetPoints(),this._pointsetPoints=null,this.updateAllViews()}data(){return this.plots()}plots(){return this._loadedPlots||this._dataSource.plots()}graphics(){return this._loadedGraphics||this._dataSource.graphics()}firstValue(){return this._model.mainSeries().firstValue()}state(e){const t=super.state(e);let i;this.metaInfo()instanceof c()?i=this.metaInfo().state():(i=(0,r.clone)(this.metaInfo()),i.id=c().parseIdString(i.id+(i.version?"-"+i.version:"")).fullId);const s={...t,metaInfo:i};return e&&(s.data=this.plots().state(),s.nonseriesindexes=this._indexes,s.graphics=(0,h.saveStudyGraphics)(this.graphics())),s}restoreData(e){var t;void 0!==e.data&&(this._loadedPlots=new n.PlotList((0,p.studyPlotFunctionMap)(this._metaInfo),p.studyEmptyPlotValuePredicate),this._loadedPlots.restoreState(e.data)),this._indexes=null!==(t=e.nonseriesindexes)&&void 0!==t?t:this._indexes,this._loadedGraphics=e.graphics?(0,h.loadStudyGraphics)(e.graphics):this._loadedGraphics}getPropertyDefinitionsViewModel(){return null===this._definitionsViewModel?this._getPropertyDefinitionsViewModelClass().then(e=>null===e||this._isDestroyed?null:(null===this._definitionsViewModel&&(this._definitionsViewModel=new e(this._model.undoModel(),this)),this._definitionsViewModel)):Promise.resolve(this._definitionsViewModel)}paneViews(e){let t=[];if(this.isSourceHidden())return t;if(this._isReady()&&this._changeStatesStack.isEmpty()){const i=super.paneViews(e);null!==i&&(t=t.concat(i))}else null!==this._beingCreatedPaneView&&t.push(this._beingCreatedPaneView);return null!==this._anchorsPaneView&&t.push(this._anchorsPaneView),t}propertiesChanged(e){super.propertiesChanged(e),this._onStudyInputsMayChange()}dataAndViewsReady(){return super.dataAndViewsReady()&&this._isReady()}endChanging(e,t){const i=super.endChanging(e,t);return i.indexesChanged?this.clearData():this._updateAnchorsPrice(!0),i}moveData(e){this._dataSource.moveData(e)}restorePoints(e,t,i){super.restorePoints(e,t,i),this._updateAnchorsPrice(!0)}static createPropertiesFromStudyMetaInfoAndState(e,t,i,s){const r=(0,_.prepareStudyPropertiesForLoadChart)(e,t,i,null,s);return f._configureProperties(r),r}_studyId(){return this._dataSource.studyId()}_isReady(){return!0}_updateAllPaneViews(){var e,t;super._updateAllPaneViews(),null===(e=this._beingCreatedPaneView)||void 0===e||e.update(), +null===(t=this._anchorsPaneView)||void 0===t||t.update()}_getPointTime(e,t){const i=e.index,s=this._model.timeScale().indexToTimePoint(i);if(null!==s)return s;if(t||void 0===e.time)return null;const r=this._model.mainSeries().symbolInfo();if(null===r)return null;let n=this._model.properties().childs().timezone.value();"exchange"===n&&(n=r.timezone);const o=(0,m.cal_to_utc)((0,m.get_timezone)(n),e.time);return this._getStartBarAligner()(o)/1e3}_updateAnchorsPrice(e){}_onPointsetUpdated(e){super._onPointsetUpdated(e),this._pointsetPoints=this._points.map(e=>({price:e.price,index:e.index,time:e.time})),this._onStudyInputsMayChange()}_onDataCleared(){this.updateAllViews(),this._model.updateSource(this)}_onDataUpdated(e,t,i){this._updateAnchorsPrice(),this.updateAllViews(),this._model.updateSource(this)}_onStudyInputsMayChange(){let e=null;null!==this._pointsetPoints&&this._pointsetPoints.length===this.pointsCount()&&(e=this._studyInputs(this._pointsetPoints),null===e&&(this._clearAllDataExceptPointsetPoints(),this.updateAllViews())),this._areInputsEqual(this._inputs,e)||this._applyStudyInputs(e)}_onMainSeriesSymbolResolved(){super._onMainSeriesSymbolResolved(),this._alignerCache=null}_preparePoint(e,t){return super._preparePoint(this._alignPointToRangeOfActualData(e),t)}_getPropertyDefinitionsViewModelClass(){return Promise.resolve(null)}_subscribeApplyInputsOnSeriesCompleted(){this._unsubscribeApplyInputsOnSeriesCompleted(),this._model.mainSeries().dataEvents().completed().subscribe(this,()=>this._onStudyInputsMayChange(),!0)}_unsubscribeApplyInputsOnSeriesCompleted(){this._model.mainSeries().dataEvents().completed().unsubscribeAll(this)}_onInputsChanged(){0}static _createPropertiesFromStudyIdAndState(e,t){const i=c().getStudyPropertyRootNameById(e),s=new a.DefaultProperty(i,t);return f._configureProperties(s),s}static _createPropertiesFromStudyMetaInfo(e,t){const i=(0,_.prepareStudyProperties)(e,null,null,t);return f._configureProperties(i),i}static _configureProperties(e){o.LineDataSource._configureProperties(e)}_areInputsEqual(e,t){return null===t?null===e:null!==e&&(0,d.areStudyInputsEqual)(this._metaInfo.inputs,e,t)}_applyStudyInputs(e){const t=this._inputs;this._inputs=e,null!==e&&(this._unsubscribeApplyInputsOnSeriesCompleted(),this._dataSource.setInputs(e),null===t&&this.isStarted()&&!this._dataSource.isStarted()&&this._dataSource.start()),this._onInputsChanged()}_clearAllDataExceptPointsetPoints(){this._inputs=null,this._dataSource.clearData(),this._loadedPlots=null,this._indexes=null,this._loadedGraphics=null}_getStartBarAligner(){const e=this._model.mainSeries().interval();return null!==this._alignerCache&&this._alignerCache.resolution===this._model.mainSeries().interval()||(this._alignerCache={resolution:e,aligner:(0,g.createTimeToBarTimeAligner)(e,(0,s.ensureNotNull)(this._model.mainSeries().symbolInfo()))}),this._alignerCache.aligner}}},60598:(e,t,i)=>{"use strict";i.d(t,{LineToolText:()=>d,LineToolTextAbsolute:()=>u});var s=i(16282),r=i(72927),n=i(79881),o=i(76117),a=i(674),l=i.n(a),c=i(11092),h=i(39096) +;class d extends o.LineDataSource{constructor(e,t){const s=t||d.createProperties();super(e,s),this._barSpacing=e.timeScale().barSpacing(),this._recalculatePointsOnCenter=!1,i.e(1583).then(i.bind(i,15253)).then(({TextPaneView:t})=>{const i=this._recalculatePointsOnCenter?(e,t)=>{this._recalculatePointsOnCenter&&this._recalculateCenterPosition(e,t)}:void 0;this._setPaneViews([new t(this,e,void 0,void 0,void 0,void 0,void 0,i)])})}centerPosition(){this._recalculatePointsOnCenter=!0}setPoint(e,t,i){const s=this.properties().childs();let r;if(1===e&&s.wordWrapWidth.value()){const e=this.model().timeScale();r=this.isFixed()?this.fixedPoints()[0].x:e.indexToCoordinate(this.points()[0].index);const i=e.indexToCoordinate(t.index)-r-~~(s.fontsize.value()/6);if(!isFinite(i))return;s.wordWrapWidth.setValue(Math.max(100,i))}}pointsCount(){return 1}name(){return"Text"}setPriceScale(e){super.setPriceScale(e),e&&e.priceRange()&&(this._priceDencity=e.height()/(0,s.ensureNotNull)(e.priceRange()).length(),this._isPriceDencityLog=e.isLog())}restoreSize(){const e=(0,s.ensureNotNull)(this.priceScale());this._barSpacing=this.model().timeScale().barSpacing(),this._priceDencity=e.height()/(0,s.ensureNotNull)(e.priceRange()).length(),this.redraw()}redraw(){this.updateAllViews(),this._model.updateSource(this)}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}state(e){const t=super.state(e);return e&&(t.state.fixedSize=!1),t}barSpacing(){return this._barSpacing}priceDencity(){return this._priceDencity}isPriceDencityLog(){return this._isPriceDencityLog}hasEditableCoordinates(){return!1}static createProperties(e){const t=new c.DefaultProperty("linetooltext",e);return d._configureProperties(t),t}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,74146)).then(e=>e.TextDefinitionsViewModel)}static _configureProperties(e){o.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new(l())((0,n.t)("Text"))),e.addChild("linesColors",new h.LineToolColorsProperty([e.childs().borderColor])),e.addChild("textsColors",new h.LineToolColorsProperty([e.childs().color])),e.addExclusion("text"),e.addExclusion("linesColors"),e.addExclusion("textsColors")}_recalculateCenterPosition(e,t){const i=this.isFixed()?this.fixedPoints()[0]:(0,s.ensureNotNull)(this.pointToScreenPoint(this._points[0])),n=new r.Point(i.x-e/2,i.y-t/2),o=(0,s.ensureNotNull)(this.screenPointToPoint(n));this.setPoints([o]),this.normalizePoints(),this.createServerPoints(),this.redraw()}}class u extends d{constructor(e,t){super(e,t||u.createProperties())}name(){return"Anchored Text"}hasEditableCoordinates(){return!1}isFixed(){return!0}static createProperties(e){const t=new c.DefaultProperty("linetooltextabsolute",e);return u._configureProperties(t),t}static _configureProperties(e){d._configureProperties(e)}}},69066:(e,t,i)=>{"use strict";i.d(t,{LineToolThreeDrivers:()=>o}) +;var s=i(11092),r=i(76117),n=i(39096);class o extends r.LineDataSource{constructor(e,t){const s=t||o.createProperties();super(e,s),i.e(1583).then(i.bind(i,10319)).then(t=>{this._setPaneViews([new t.LineToolThreeDrivesPaneView(this,e)])})}pointsCount(){return 7}name(){return"Three Drives Pattern"}static createProperties(e){const t=new s.DefaultProperty("linetoolthreedrivers",e);return o._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,39942)).then(e=>e.PatternWithoutBackgroundDefinitionsViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new n.LineToolColorsProperty([e.childs().color])),e.addChild("textsColors",new n.LineToolColorsProperty([e.childs().textcolor])),e.addChild("linesWidths",new n.LineToolWidthsProperty([e.childs().linewidth])),e.hasChild("backgroundsColors")&&e.removeProperty("backgroundsColors")}}},56290:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(11092).DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),i.e(1583).then(i.t.bind(i,24216,19)).then(({TimeCyclesPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 2}name(){return"Time Cycles"}setPoint(e,t,i){var s=Object.assign({},t),r=this._points[0],n=this._points[1];r.price=s.price,n.price=s.price,this._points[e]=s,this.normalizePoints()}addPoint(e,t,i){var r=s.prototype.addPoint.call(this,e,t,!0);if(r){var n=this._points[0];this._points[1].price=n.price,i||(this.normalizePoints(),this.createServerPoints())}return r}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,48549))).TimeCyclesPatternDefinitionsViewModel}static createProperties(e){var t=new r("linetooltimecycles",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolTimeCycles=n},61834:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(75496).fixComputationError;class n extends s{constructor(e,t){super(e,t),this.customization.forcePriceAxisLabel=!0,this.customization.disableErasing=!0,this.customization.showInObjectsTree=!1,this.setSelectionEnabled(!1)}isSynchronizable(){return!1}pointsCount(){return n.POINTS_COUNT}hasContextMenu(){return!1}state(){return null}startMoving(){s.prototype.startMoving.apply(this,arguments),this._cursorMoved=!1}endMoving(){s.prototype.endMoving.apply(this,arguments),this._cursorMoved=!1}_correctPoints(e,t){this._currentMovingPoint&&this._startMovingPoint?this._currentMovingPoint.logical.price-this._startMovingPoint.logical.price&&(this._cursorMoved=!0):this._cursorMoved=!1;for(var i=1/this.priceScale().mainSource().base(),s=0;s{"use strict";var s=i(674),r=i(72927).Point,n=i(76117).LineDataSource,o=i(11092).DefaultProperty;class a extends s{constructor(e){super(),this._lineSource=e}value(){var e=180*this._lineSource._angle/Math.PI;return Math.round(e)}setValue(e){var t=e*Math.PI/180;this._lineSource._angle=t;var i=this._lineSource.pointToScreenPoint(this._lineSource.points()[0]),s=Math.cos(this._lineSource._angle),n=-Math.sin(this._lineSource._angle),o=new r(s,n),a=i.addScaled(o,this._lineSource._distance),l=this._lineSource.screenPointToPoint(a);this._lineSource._points[1]=l,this._lineSource._model.updateSource(this._lineSource),this._lineSource.updateAllViews(),this._lineSource._model.updateSource(this._lineSource)}}class l extends n{constructor(e,t){super(e,t||l.createProperties()),this._properties.addChild("angle",new a(this)),i.e(1583).then(i.t.bind(i,10854,19)).then(({TrendAnglePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}isSynchronizable(){return!1}pointsCount(){return 2}name(){return"Trend Angle"}_calculateAngle(){var e=this.pointToScreenPoint(this.points()[0]),t=this.pointToScreenPoint(this.points()[1]),i=t.subtract(e);i.length()>0?(i=i.normalized(),this._angle=Math.acos(i.x),i.y>0&&(this._angle=-this._angle),this._distance=t.subtract(e).length()):delete this._angle,this.properties().hasOwnProperty("angle")&&this.properties().angle.listeners().fire(this.properties().angle)}addPoint(e,t){var i=n.prototype.addPoint.call(this,e,t);return i&&this._calculateAngle(),i}setLastPoint(e,t){var i=super.setLastPoint(e,t);return this.points().length>1&&this._calculateAngle(),i}axisPoints(){if(this.points().length<2)return[];var e=[this.points()[0]],t=this.pointToScreenPoint(this.points()[0]),i=Math.cos(this._angle)*this._distance,s=-Math.sin(this._angle)*this._distance,n=t.add(new r(i,s)),o=this.screenPointToPoint(n);return e.push(o),e}setPoint(e,t,i){super.setPoint(e,t,i),this.points().length>1&&1===e&&this._calculateAngle()}restoreData(e){this._angle=e.angle,this._distance=e.distance}state(e){var t=n.prototype.state.call(this,e);return t.angle=this._angle,t.distance=this._distance,t}cloneData(e){this._angle=e._angle,this._distance=e._distance}canHasAlert(){return!0}_getAlertPlots(){return[this._linePointsToAlertPlot(this._points,null,this.properties().extendLeft.value(),this.properties().extendRight.value())]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,27138))).TrendAngleDefinitionsViewModel}_snapTo45DegreesAvailable(){return!0}static createProperties(e){var t=new o("linetooltrendangle",e);return l._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e)}}t.LineToolTrendAngle=l},13768:(e,t,i)=>{"use strict" +;var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends n{constructor(e,t){super(e,t||d.createProperties()),this.version=d.version,i.e(1583).then(i.t.bind(i,67390,19)).then(({TrendBasedFibExtensionPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return d.LevelsCount}pointsCount(){return 3}name(){return"Trend-Based Fib Extension"}migrateVersion(e,t,i){1===e&&this.properties().extendLines.setValue(!0)}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}static createProperties(e){var t=new o("linetooltrendbasedfibextension",e,!1,{range:[0,8]});return d._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,58481))).FibDrawingsWith24LevelsDefinitionsViewModel}static _configureProperties(e){n._configureProperties(e);for(var t=[e.child("trendline").child("linewidth"),e.child("levelsStyle").child("linewidth")],i=[e.child("trendline").child("color")],s=1;s<=d.LevelsCount;s++)i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}fibLevelsBasedOnLogScale(){return this.properties().fibLevelsBasedOnLogScale.value()&&this.priceScale().isLog()}}d.version=2,d.LevelsCount=24,t.LineToolTrendBasedFibExtension=d},97835:(e,t,i)=>{"use strict";var s=i(79881).t,r=i(90963).TranslatedString,n=i(76117).LineDataSource,o=i(81773),a=i(39096),l=a.LineToolWidthsProperty,c=a.LineToolColorsProperty,h=new r("erase level line",s("erase level line"));class d extends n{constructor(e,t){super(e,t||d.createProperties()),this.version=d.version,i.e(1583).then(i.t.bind(i,8287,19)).then(({TrendBasedFibTimePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return d.LevelsCount}pointsCount(){return 3}name(){return"Trend-Based Fib Time"}migrateVersion(e,t,i){}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,h)}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,72487))).TrendBasedFibTimeDefinitionsViewModel}static createProperties(e){var t=new o("linetooltrendbasedfibtime",e,!1,{range:[1,11]});return d._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e);for(var t=[e.child("trendline").child("linewidth")],i=[e.child("trendline").child("color")],s=1;s<=d.LevelsCount;s++)t.push(e.child("level"+s).child("linewidth")),i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new c(i)),e.addChild("linesWidths",new l(t))}}d.LevelsCount=11,d.version=1,t.LineToolTrendBasedFibTime=d},12565:(e,t,i)=>{"use strict";var s=i(674),r=i(76117).LineDataSource,n=i(10100).LineToolPriceAxisView,o=i(11092).DefaultProperty;class a extends r{constructor(e,t){super(e,t||a.createProperties()),this._trendLinePaneView=null, +i.e(1583).then(i.t.bind(i,45127,19)).then(({TrendLinePaneView:e})=>{this._trendLinePaneView=new e(this,this._model),this._setPaneViews([this._trendLinePaneView])})}dataAndViewsReady(){return r.prototype.dataAndViewsReady.call(this)&&this._trendLinePaneView&&this._trendLinePaneView.iconsReady()}stop(){super.stop()}pointsCount(){return 2}name(){return"Trend Line"}canHasAlert(){return!0}showPriceLabels(){return this._properties.childs().showPriceLabels.value()}createPriceAxisView(e){return new n(this,{pointIndex:e,backgroundPropertyGetter:()=>this.showPriceLabels()?this._properties.linecolor.value():null})}isForcedDrawPriceAxisLabel(){return this.showPriceLabels()}_getAlertPlots(){return[this._linePointsToAlertPlot(this._points,null,this.properties().extendLeft.value(),this.properties().extendRight.value())]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,74231))).TrendLineDefinitionsViewModel}template(){var e=r.prototype.template.call(this);return e.text=this.properties().childs().text.value(),e}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text||"")}_snapTo45DegreesAvailable(){return!0}static createProperties(e){var t=new o("linetooltrendline",e);return a._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e),e.hasChild("text")||e.addChild("text",new s("")),e.addExclusion("text")}}t.LineToolTrendLine=a},89938:(e,t,i)=>{"use strict";i.d(t,{LineToolTrianglePattern:()=>o});var s=i(11092),r=i(76117),n=i(39096);class o extends r.LineDataSource{constructor(e,t){const s=t||o.createProperties();super(e,s),i.e(1583).then(i.bind(i,90137)).then(t=>{this._setPaneViews([new t.LineToolTrianglePatternPaneView(this,e)])})}pointsCount(){return 4}name(){return"Triangle Pattern"}static createProperties(e){const t=new s.DefaultProperty("linetooltrianglepattern",e);return o._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,84377)).then(e=>e.PatternWithBackgroundDefinitionViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new n.LineToolColorsProperty([e.childs().color])),e.addChild("textsColors",new n.LineToolColorsProperty([e.childs().textcolor])),e.addChild("backgroundsColors",new n.LineToolColorsProperty([e.childs().backgroundColor]))}}},48650:(e,t,i)=>{"use strict";var s=i(76117).LineDataSource,r=i(11092).DefaultProperty,n=i(39096).LineToolColorsProperty;class o extends s{constructor(e,t){super(e,t||o.createProperties()),i.e(1583).then(i.t.bind(i,57984,19)).then(({TrianglePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 3}name(){return"Triangle"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,32454))).GeneralFiguresDefinitionsViewModel}static createProperties(e){var t=new r("linetooltriangle",e);return o._configureProperties(t),t} +static _configureProperties(e){s._configureProperties(e),e.addChild("linesColors",new n([e.childs().color]))}}t.LineToolTriangle=o},22086:(e,t,i)=>{"use strict";i.d(t,{LineToolVertLineTimeAxisView:()=>r});var s=i(68845);class r extends s.LineDataSourceTimeAxisView{constructor(e){super(e,0)}_getBgColor(){return this._source.properties().linecolor.value()}_getAlwaysInViewPort(){return!1}_getIndex(){const e=this._source.points();return 0===e.length?null:e[0].index}}},60880:(e,t,i)=>{"use strict";i.d(t,{LineToolVertLine:()=>h});var s=i(16282),r=i(72927),n=i(11092),o=i(674),a=i.n(o),l=i(76117),c=i(22086);class h extends l.LineDataSource{constructor(e,t){const s=t||h.createProperties();super(e,s),this._timeAxisView=new c.LineToolVertLineTimeAxisView(this),this._paneViewFactory=null,this.properties().childs().extendLine.subscribe(this,()=>e.lightUpdate()),i.e(1583).then(i.bind(i,73184)).then(t=>{this._paneViewFactory=i=>new t.VertLinePaneView(this,e,i),this._model.lightUpdate()})}destroy(){this.properties().childs().extendLine.unsubscribeAll(this),super.destroy()}pointsCount(){return 1}name(){return"Vertical Line"}timeAxisViews(){return this.isSourceHidden()?null:this.properties().childs().showTime.value()?[this._timeAxisView]:null}updateAllViews(){super.updateAllViews(),this._timeAxisView.update()}canHasAlert(){return!0}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}isMultiPaneAvailable(){return!0}isMultiPaneEnabled(){return this.properties().childs().extendLine.value()}paneViews(e){return e=(0,s.ensureDefined)(e),this.isMultiPaneEnabled()||this._model.paneForSource(this)===e?(null===this._getPaneViews(e)&&null!==this._paneViewFactory&&this._setPaneViews([this._paneViewFactory(e)],e,!0),super.paneViews(e)):null}priceAxisViews(){return null}priceAxisPoints(){return[]}pointToScreenPoint(e){const t=this._model.timeScale();if(t.isEmpty())return null;const i=t.indexToCoordinate(e.index);return new r.Point(i,0)}convertYCoordinateToPriceForMoving(e){return 0}static createProperties(e){null!=e&&(void 0===e.textOrientation&&(e.textOrientation="horizontal"),void 0===e.extendLine&&(e.extendLine=!1));const t=new n.DefaultProperty("linetoolvertline",e);return h._configureProperties(t),t}_getAlertPlots(){const e=this._points[0],t={index:e.index,price:e.price+1};return[this._linePointsToAlertPlot([e,t],null,!0,!0)]}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(8680),i.e(7371),i.e(8537)]).then(i.bind(i,30066)).then(e=>e.VerticalLineDefinitionsViewModel)}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text||"")}static _configureProperties(e){l.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new(a())("")),e.addExclusion("text")}}},65528:(e,t,i)=>{"use strict";i.d(t,{LineToolVbPFixed:()=>d});var s=i(45018),r=i(16282),n=i(345),o=i(17175),a=i(19625),l=i(4600),c=i(47903);const h=(0,n.studyIdString)("VbPFixed","tv-volumebyprice");class d extends o.StudyLineDataSource{constructor(e,t,i,s){ +const r=i||e.studyMetaInfoRepository().findByIdSync({type:"java",studyId:h}),n=t||d._createPropertiesFromStudyMetaInfo(r,e.studyVersioning());super(e,r,"vbpfixed_",n),(0,a.createGraphicsPaneViews)(this,e).then(t=>{if(s=e.mainSeries(),r.plots.length>0){const i=new l.StudyPlotPaneView(this,s,e,r.plots[0].id);t.push(i)}if(r.plots.length>1){const i=new l.StudyPlotPaneView(this,s,e,r.plots[1].id);t.push(i)}if(r.plots.length>2){const i=new l.StudyPlotPaneView(this,s,e,r.plots[2].id);t.push(i)}this._setPaneViews(t)}),this.clearData()}pointsCount(){return 2}boundToSymbol(){return!1}offset(e){return 0}getMinFirstBarIndexForPlot(){return-1/0}calcIsActualSymbol(){this._isActualSymbol=!0,this._isActualCurrency=!0,this._isActualUnit=!0,this.calcIsActualInterval()}cloneable(){return!1}isSynchronizable(){return!1}static createProperties(e){const t=super._createPropertiesFromStudyIdAndState(h,e);return d._configureProperties(t),t}static studyId(){return h}_studyInputs(e){(0,r.assert)(2===e.length,"all the line tool points should be defined");const[t,i]=e,s=Math.max(t.index,i.index),n=this._model.mainSeries().bars().lastIndex(),o=this._getPointTime(t.index<=i.index?t:i,!0),a=this._getPointTime(i.index>=t.index?i:t,!0);if(null===o||null===a)return this._subscribeApplyInputsOnSeriesCompleted(),null;const l=this.properties().childs();return{rowsLayout:l.inputs.childs().rowsLayout.value(),rows:l.inputs.childs().rows.value(),volume:l.inputs.childs().volume.value(),vaVolume:l.inputs.childs().vaVolume.value(),first_bar_time:1e3*o,last_bar_time:1e3*a,subscribeRealtime:n===s}}_isReady(){return!(0,a.isStudyGraphicsEmpty)(this.graphics())}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(5019),i.e(607)]).then(i.bind(i,27051))).StudyLineDataSourceDefinitionsViewModel}_onDataUpdated(){this._updateAnchors(),this.updateAllViews(),this._model.updateSource(this)}_updateAnchors(){const e=this._calculateAnchors();if(!e)return;const[{index:t,price:i},{index:s,price:r}]=e;if(this._timePoint.length&&(this._timePoint[0].price=i,this._timePoint[1].price=r),this._points.length){const e=this.model().timeScale(),n=e.indexToTimePoint(t),o=e.indexToTimePoint(t);this._points[0]={index:t,price:i,time:(0,c.isNumber)(n)?new Date(1e3*n):void 0},this._points[1]={index:s,price:r,time:(0,c.isNumber)(o)?new Date(1e3*o):void 0}}}_calculateAnchors(){let e=null,t=null,i=null,r=null;if(this.graphics().hhists().forEach(s=>{s.forEach(s=>{const{priceLow:n,priceHigh:o,firstBarTime:a,lastBarTime:l}=s;(!e||nt)&&(t=o),(!i||ar)&&(r=l)})}),!((0,s.default)(e)||(0,s.default)(t)||(0,s.default)(r)||(0,s.default)(i)))return[{price:t,index:i},{price:e,index:r}]}_updateAnchorsPrice(){const e=this._calculateAnchors();if(!e)return;const[{price:t},{price:i}]=e;this._timePoint.length&&(this._timePoint[0].price=t,this._timePoint[1].price=i),this._points.length&&(this._points[0].price=t,this._points[1].price=i)}}},38536:(e,t,i)=>{"use strict";var s;i.d(t,{MagnetMode:()=>s}),function(e){ +e[e.WeakMagnet=0]="WeakMagnet",e[e.StrongMagnet=1]="StrongMagnet"}(s||(s={}))},70599:(e,t,i)=>{"use strict";i.d(t,{magnetEnabled:()=>m,magnetMode:()=>g,setIsMagnetEnabled:()=>f,setMagnetMode:()=>v});var s=i(11092),r=i(32856),n=i.n(r),o=i(38536),a=i(15521),l=i(67945),c=i(14734);const h=new(n())(!1),d=new(n())(o.MagnetMode.WeakMagnet),u=(0,c.modifierPressed)(),p=(0,c.shiftPressed)();function _(){const e=u.value();if(p.value()&&(a.isToolEditingNow.value()||a.isToolCreatingNow.value()))return void h.setValue(!1);const t=a.tool.value(),i=a.isStudyEditingNow.value()||a.isPointSelectedNow.value(),s=e&&((0,l.isLineToolName)(t)||a.isToolEditingNow.value()||(0,a.toolIsMeasure)(t)||i),r=(0,a.properties)().childs().magnet.value();d.setValue(!r&&s?o.MagnetMode.StrongMagnet:(0,a.properties)().childs().magnetMode.value()),h.setValue(s?!r:r)}function m(){return h}function g(){return d}function f(e){(0,s.saveDefaultProperties)(!0),(0,a.properties)().childs().magnet.setValue(e),(0,s.saveDefaultProperties)(!1)}function v(e){(0,s.saveDefaultProperties)(!0),(0,a.properties)().childs().magnetMode.setValue(e),(0,a.properties)().childs().magnet.setValue(!0),(0,s.saveDefaultProperties)(!1)}(0,a.runOnDrawingStateReady)(()=>{(0,a.properties)().childs().magnet.subscribe(null,_),(0,a.properties)().childs().magnetMode.subscribe(null,_),u.subscribe(_),p.subscribe(_),a.tool.subscribe(_),a.isToolEditingNow.subscribe(_),_()})},27089:(e,t,i)=>{"use strict";i.d(t,{MainSeriesScaleRatioProperty:()=>n});var s=i(5729),r=i.n(s);class n{constructor(e){this._changed=new(r()),this._model=e}getStepChangeValue(){return.1}getMinValue(){return 1e-7}getMaxValue(){return 99999999}value(){return this._model.mainSeriesScaleRatio()}setValue(e,t){(e!==this.value()||t)&&(this._model.setMainSeriesScaleRatio(e),this._onChanged())}state(){return null}clone(){return new n(this._model)}listeners(){return this._changed}subscribe(e,t){this._changed.subscribe(e,t)}unsubscribe(e,t){this._changed.unsubscribe(e,t)}unsubscribeAll(e){this._changed.unsubscribeAll(e)}storeStateIfUndefined(){return!0}_onChanged(){this._changed.fire(this)}}},66096:(e,t,i)=>{"use strict";i.d(t,{ensureTimePointIndexIndex:()=>n,unpackNonSeriesData:()=>o});var s=i(73211),r=i(16282);function n(e){if(e<0)throw new Error("TimePointIndexIndex should be non-negative integer");return e}async function o(e){if(""===e)return null;const t=JSON.parse(e);if(!(0,s.isObject)(t)||"function"==typeof t)throw new Error("Non-object content in the non-series envelope");if((0,s.hasProperty)(t,"indexes_replace"))return{indexes_replace:!0};const i={indexes_replace:!1};if((0,s.hasProperty)(t,"offsets")&&(i.offsets=t.offsets),(0,s.hasProperty)(t,"isUpdate")){if("boolean"!=typeof t.isUpdate)throw new Error('Invalid type of "isUpdate" field');i.isUpdate=t.isUpdate}return(0,s.hasProperty)(t,"data")&&(i.data=t.data),(0,s.hasProperty)(t,"graphicsCmds")&&(i.graphicsCmds=function(e){if(!(0,s.isObject)(e))throw new Error("Graphics commands should be wrapped in an object");if((0,s.hasProperty)(e,"create"),(0,s.hasProperty)(e,"erase")){ +const t=e.erase;(0,r.assert)(Array.isArray(t),"Collection of erase commands should be array");for(const e of t){if(!(0,s.isObject)(e)||!(0,s.hasProperty)(e,"action"))throw new Error("Command should be an object with 'action' property");(0,r.assert)("all"===e.action||"one"===e.action,"Erase command action should be 'all' or 'one'")}}return e}(t.graphicsCmds)),i}},86447:(e,t,i)=>{"use strict";i.d(t,{OverlayPriceAxisView:()=>c});var s=i(27490),r=i(95426),n=i(25436),o=i(84995),a=i(77036);const l=s.enabled("force_exchange_as_title");class c extends r.PriceAxisView{constructor(e){super(),this._source=e}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._source.lastValueData("close",!1);if(s.noData)return;const r=this._source.model(),n=this._source.priceScale();if(null===n)return;if(!r.isPriceScaleVisible(n))return;i.background=s.color,i.textColor=this.generateTextColor(s.color),i.coordinate=s.coordinate,i.floatCoordinate=s.floatCoordinate;const l=this._source.model().properties().childs().scalesProperties.childs();l.showSeriesLastValue.value()&&(e.text=(0,a.getCurrentModePriceText)(n,s),l.seriesLastValueMode.value()!==o.PriceAxisLastValueMode.LastPriceAndPercentageValue?e.secondLine="":e.secondLine=(0,a.getOppositeModePriceText)(n,s),e.visible=!0),t.text="",l.showSymbolLabels.value()&&(t.text=this._paneText(),t.visible=t.text.length>0)}_paneText(){let e="";const t=this._source.symbolInfo();return l?e=(0,n.displayedSymbolExchange)(t):this._source.model().properties().childs().scalesProperties.childs().showSymbolLabels.value()&&(e=(0,n.displayedSymbolName)(t)),e}}},6805:(e,t,i)=>{"use strict";i.d(t,{PaneBase:()=>M});var s=i(72927),r=i(16282),n=i(65447),o=i(5729),a=i.n(o),l=i(45259),c=i(21698),h=i(50044),d=i(3092),u=i(67945),p=i(36512);const _=new Map([["price",e=>(0,h.isPriceDataSource)(e)],["trading",e=>(0,u.isTrading)(e)],["drawing",e=>(0,u.isLineTool)(e)&&!(0,u.isTrading)(e)&&!e.isPhantom()],["drawingsForAllSymbols",e=>(0,u.isLineTool)(e)&&!(0,u.isTrading)(e)&&!e.isPhantom()],["phantom",e=>(0,u.isLineTool)(e)&&e.isPhantom()],["restRowSources",e=>!(0,u.isLineTool)(e)&&!(0,u.isTrading)(e)],["leftPriceScale",(e,t)=>"left"===g(e,t)],["rightPriceScale",(e,t)=>"right"===g(e,t)],["overlayPriceScale",(e,t)=>"overlay"===g(e,t)]]),m=new Map([["price","visibleSorted"],["trading","visibleSorted"],["drawing","visibleSorted"],["drawingsForAllSymbols","allSorted"],["phantom","visibleSorted"],["restRowSources","visibleSorted"],["leftPriceScale","visibleSorted"],["rightPriceScale","visibleSorted"],["overlayPriceScale","visibleSorted"]]);function g(e,t){const i=e.priceScale();return null===i?"overlay":t.priceScalePosition(i)}class f{constructor(e){this._groupedSources=new Map,this._sources=null,this._pane=e}clear(){this._groupedSources.clear(),this._sources=null}destroy(){this.clear()}all(){return this._groupedSources.has("visibleSorted")||this._sortSources(),(0,r.ensureDefined)(this._groupedSources.get("visibleSorted"))}allIncludingHidden(){return this._groupedSources.has("allSorted")||this._sortSources(),(0, +r.ensureDefined)(this._groupedSources.get("allSorted"))}allExceptSpecialSources(){if(!this._groupedSources.has("exceptSpecial")){const e=this.allIncludingHidden().filter(e=>!e.isSpeciallyZOrderedSource());this._groupedSources.set("exceptSpecial",e)}return(0,r.ensureDefined)(this._groupedSources.get("exceptSpecial"))}tradingSources(){return this._getSourcesByGroupType("trading")}priceSources(){return this._getSourcesByGroupType("price")}lineSources(){return this._getSourcesByGroupType("drawing")}lineSourcesForAllSymbols(){return this._getSourcesByGroupType("drawingsForAllSymbols")}phantomSources(){return this._getSourcesByGroupType("phantom")}allExceptLineAndTradingSources(){return this._getSourcesByGroupType("restRowSources")}hitTestSources(){if(!this._groupedSources.has("hitTest")){const e=this.allExceptLineAndTradingSources().concat(this.lineSources());this._groupedSources.set("hitTest",e)}return(0,r.ensureDefined)(this._groupedSources.get("hitTest"))}generalSources(){if(!this._groupedSources.has("general")){const e=this.allExceptLineAndTradingSources().concat(this.lineSources());this._groupedSources.set("general",(0,p.sortSources)(e))}return(0,r.ensureDefined)(this._groupedSources.get("general"))}leftPriceScalesSources(){return this._getSourcesByGroupType("leftPriceScale")}rightPriceScalesSources(){return this._getSourcesByGroupType("rightPriceScale")}overlayPriceScaleSources(){return this._getSourcesByGroupType("overlayPriceScale")}_getSourcesByGroupType(e){const t=(0,r.ensureDefined)(m.get(e));return this._groupedSources.has(t)?this._groupedSources.has(e)||this._groupSources(e):(this._sortSources(),this._groupSources(e)),(0,r.ensureDefined)(this._groupedSources.get(e))}_sortSources(){null===this._sources&&(this._sources=this._pane.dataSources());const e=(0,p.sortSources)(this._sources),t=e.filter(e=>!(0,u.isLineTool)(e)||e.isActualSymbol()&&e.isActualCurrency()&&e.isActualUnit());this._groupedSources.set("allSorted",e),this._groupedSources.set("visibleSorted",t)}_groupSources(e){const t=(0,r.ensureDefined)(m.get(e)),i=_.get(e);if(void 0!==i){const s=(0,r.ensureDefined)(this._groupedSources.get(t)).filter(e=>i(e,this._pane));this._groupedSources.set(e,s)}}}var v=i(56451),S=i(2397),y=i(25303),b=i(17e3),w=i(58007),P=i(40315),C=i(32856),T=i.n(C);const x=(0,n.getLogger)("Chart.Pane");function I(e,t,i){e.setMargins({top:t,bottom:i})}class M{constructor(e,t,i,s){this.m_dataSources=[],this._sourceWatchedValuesSubscriptions=new Map,this.m_mainDataSource=null,this._cachedOrderedSources=new f(this),this._sourcesById=new Map,this._priceSourcesById=new Map,this._sourcePropertiesChanged=new(a()),this._sourcesZOrderChanged=new(a()),this._tagsChanged=new(a()),this._stretchFactor=1e3,this._isInInsertManyDataSourcesState=!1,this._lastLineDataSourceZOrder=null,this._rightPriceScales=[],this._leftPriceScales=[],this._lockedPriceScale=null,this._currentPriceScaleRatio=null,this._onPriceScalesChanged=new(a()),this._isRecalculatingScales=!1,this._priceDataSources=[],this._symbolSources=[],this._symbolSourceResolved=new(a()), +this._symbolSourceResolvingActive=new(T())(!1),this._bulkActions={activeCounter:0},this._reorderZOrderOnAddingSourceToCollectionAllowed=!0,this._height=0,this._width=0,this._dataSourcesCollectionChanged=new(a()),this._symbolSourceCollectionChanged=new(a()),this._recalcSymbolSourceResolvingActive=()=>{for(const e of this._symbolSources)if(e.symbolResolvingActive().value())return void this._symbolSourceResolvingActive.setValue(!0);this._symbolSourceResolvingActive.setValue(!1)},this._onSymbolSourceCollectionChanged=()=>{0===this._bulkActions.activeCounter?this._symbolSourceCollectionChanged.fire():this._bulkActions.symbolSourceCollectionChanged=!0},this._priceScaleSelectionStrategy=(0,d.createPriceScaleSelectionStrategy)(i.properties().childs().priceScaleSelectionStrategyName.value()),this._id=null!=s?s:(0,l.randomHashN)(6)}id(){return this._id}bulkActionMacro(e){const t=this._bulkActions;t.activeCounter+=1,e(),t.activeCounter-=1,0===t.activeCounter&&(this._dataSourcesCollectionChanged.fire(),t.symbolSourceCollectionChanged&&this._symbolSourceCollectionChanged.fire(),t.symbolSourceCollectionChanged=!1)}sourcesByGroup(){return this._cachedOrderedSources}dataSourceForId(e){return this._sourcesById.get(e)||null}changeSourceId(e,t){(0,r.assert)(this.hasDataSource(e));const i=e.id();e.setId(t),this._sourcesById.delete(i),this._sourcesById.set(t,e),(0,h.isPriceDataSource)(e)&&(this._priceSourcesById.delete(i),this._priceSourcesById.set(t,e))}movePriceScale(e,t,i){const s=this.priceScalePosition(e);if(s!==t)this.removePriceScale(e),this._placePriceScale(e,t,i),e.invalidateMargins(),this._invalidateSourcesCache();else if(void 0!==i&&"overlay"!==s){const t="left"===s?this._leftPriceScales:this._rightPriceScales,r=t.indexOf(e);t.splice(r,1),t.splice(i,0,e)}}isEmpty(){return null===this.m_mainDataSource}recalculatePriceScale(e){if(!e)return;const t=e.sourcesForAutoscale();if((e.isAutoScale()||e.priceRangeShouldBeRecalculatedOnce())&&t&&t.length>0&&!this.timeScale().isEmpty()){const t=this.timeScale().visibleBarsStrictRange();e.recalculatePriceRange(t)}e.updateAllViews()}onSourceTagsChanged(){this._tagsChanged.fire()}insertDataSource(e,t,i){e.setZorder(i),t||(t=this.findSuitableScale(e)),this._addSourceToCollections(e);let s=!1;(e===this.model().mainSeries()||null===this.m_mainDataSource)&&(this.m_mainDataSource=e,s=!0),t.addDataSource(e,this._isInInsertManyDataSourcesState),e.setPriceScale(t),t.invalidateMargins(),e.onTagsChanged&&e.onTagsChanged().subscribe(this,this.onSourceTagsChanged),s&&this._processMainSourceChange(),this._tagsChanged.fire(),(0,h.isPriceDataSource)(e)&&this.recalculatePriceScale(t),this._invalidateSourcesCache()}addDataSource(e,t,i){let s=e.zorder();i||((0,u.isLineTool)(e)&&!e.isSpeciallyZOrderedSource()?(s=null!==this._lastLineDataSourceZOrder?this._lastLineDataSourceZOrder+1:this.newLineToolZOrder(),this._isInInsertManyDataSourcesState&&(this._lastLineDataSourceZOrder=s)):(0,b.isStudy)(e)&&!e.isSpeciallyZOrderedSource()&&(s=this.newStudyZOrder())),this.insertDataSource(e,t,s)}removeDataSource(e,t,i){ +const s=this.m_dataSources.indexOf(e);if(-1===s)return void x.logDebug("removeDataSource: invalid data source");this._removeSourceFromCollections(s,!!i),e!==this.m_mainDataSource||t||(this.m_mainDataSource=null);const r=e.priceScale();this.removeSourceFromPriceScale(e),e.onTagsChanged&&e.onTagsChanged().unsubscribe(this,this.onSourceTagsChanged),(0,h.isPriceDataSource)(e)&&!t&&this._processMainSourceChange(),this._tagsChanged.fire(),r&&(0,h.isPriceDataSource)(e)&&this.recalculatePriceScale(r),this._invalidateSourcesCache()}hasDataSource(e){return this._sourcesById.has(e.id())}hasPriceDataSource(e){return this._priceSourcesById.has(e.id())}dataSources(){return this.m_dataSources}priceDataSources(){return this._priceDataSources}symbolSources(){return this._symbolSources}replaceSource(e,t,i){const s=this.m_mainDataSource===e,r=e.zorder();this.insertDataSource(t,i,r),this.removeDataSource(e,s),this._sourcesById.set(t.id(),t),(0,h.isPriceDataSource)(t)&&this._priceSourcesById.set(t.id(),t),s&&(this.m_mainDataSource=t,this._processMainSourceChange())}isOverlay(e){const t=e.priceScale();return null===t||"overlay"===this.priceScalePosition(t)}updateAllViews(){for(const e of this.m_dataSources)e.updateAllViews();for(const e of this.model().customSources())e.updateViewsForPane(this)}priceScalePosition(e){return this._leftPriceScales.includes(e)?"left":this._rightPriceScales.includes(e)?"right":"overlay"}createPriceScaleAtPosition(e,t){const i=this.properties().childs().axisProperties.state();i.autoScale=!0;const s=new v.PriceScale(this.model().properties().childs().scalesProperties,i);return s.setHeight(this.height()),I(s,this._defaultTopMargin(),this._defaultBottomMargin()),this._placePriceScale(s,e,t),s}removePriceScale(e){e.modeChanged().unsubscribeAll(this),e.priceRangeChanged().unsubscribeAll(this),e.internalHeightChanged().unsubscribeAll(this),e===this._lockedPriceScale&&(this._lockedPriceScale=null,this._currentPriceScaleRatio=null);const t=this._leftPriceScales.indexOf(e);-1!==t&&(this._leftPriceScales[t].invalidateMargins(),this._leftPriceScales.splice(t,1));const i=this._rightPriceScales.indexOf(e);if(-1!==i&&(this._rightPriceScales[i].invalidateMargins(),this._rightPriceScales.splice(i,1)),null===e.mainSource()){const t=e.dataSources().length;0!==t&&x.logError("Invalid priceScale state: empty mainSource but non-empty data sources="+t)}this._onPriceScalesChanged.fire()}move(e,t,i){const s=e.priceScale();this.removeSourceFromPriceScale(e),t.addDataSource(e),e.setPriceScale(t),t.invalidateMargins(),this._processMainSourceChange(),this._invalidateSourcesCache(),e.isIncludedInAutoScale()&&(null!==s&&this.recalculatePriceScale(s),this.recalculatePriceScale(t)),this._onPriceScalesChanged.fire()}setZOrders(e){e.forEach((e,t)=>{t.setZorder(e)}),this._invalidateSourcesCache(),0===this._bulkActions.activeCounter&&this._dataSourcesCollectionChanged.fire(),this.model().lightUpdate()}isMainPane(){const e=this.model().mainSeries();for(const t of this.m_dataSources)if(t===e)return!0;return!1}isLast(){const e=this.model().panes() +;return e[e.length-1]===this}newStudyZOrder(){return(0,P.newStudyZOrder)(this._priceDataSources)}newLineToolZOrder(e){return(0,P.newLineToolZOrder)(this.m_dataSources,e)}containsMainSeries(){return this._sourcesById.has(this.model().mainSeries().id())}applyPriceScaleRatio(e,t){var i;null!==this._lockedPriceScale&&this._lockedPriceScale!==e||this._currentPriceScaleRatio===t||!this.isMainPane()||null===this._lockedPriceScale&&e!==(null===(i=this.mainDataSource())||void 0===i?void 0:i.priceScale())||(this._setNewPriceRangeByScaleRatio(e,t,this._mainSourceVisiblePriceRange(e),!0,!0),null!==this._lockedPriceScale?this._tryToApplyNewPriceScaleRatio():e.isLog()||this.model().mainSeriesScaleRatioPropertyOnChanged())}sendToBack(e){const t=this.sourcesByGroup().allExceptSpecialSources();this._batchReorder(e,t[0],P.moveBeforeSource)}bringToFront(e){const t=this.sourcesByGroup().allExceptSpecialSources();this._batchReorder(e,t[t.length-1],P.moveAfterSource)}sendBackward(e){const t=this.sourcesByGroup().allIncludingHidden(),i=t.indexOf(e[0]);if(0===i)this.bringToFront(e);else{const s=t[i-1];this.insertBefore(e,s)}}bringForward(e){const t=this.sourcesByGroup().allExceptSpecialSources(),i=t.indexOf(e[e.length-1]);if(i===t.length-1)this.sendToBack(e);else{const s=t[i+1];this.insertAfter(e,s)}}insertAfter(e,t){this._batchReorder(e,t,P.moveAfterSource)}insertBefore(e,t){this._batchReorder(e,t,P.moveBeforeSource)}priceScaleSelectionStrategy(){return this._priceScaleSelectionStrategy}findTargetPriceAxisViews(e,t,i,s){if((0,c.isDataSource)(e)&&this.model().paneForSource(e)!==this)return[];const r=e.priceScale();if(t===r)return i;if(null===r)return[];if("overlay"===this.priceScalePosition(r))return t===this.defaultPriceScale()?i:[];const n=this.priceScalePosition(t);if(n!==this.priceScalePosition(r))return[];const o="left"===n?this.leftPriceScales():this.rightPriceScales();return o.indexOf(t)t.setHeight(e)),this._rightPriceScales.forEach(t=>t.setHeight(e));for(let t=0;t(e.paneViews(this)||[]).some(e=>{const r=e.renderer(t,i);return r&&r.doesIntersectWithBox&&r.doesIntersectWithBox(s)}))}logicalRectToPixels(e){const t=this.defaultPriceScale(),i=this.timeScale(),n=(0,r.ensureNotNull)((0,r.ensureNotNull)(t.mainSource()).firstValue()),o=t.priceToCoordinate(e.p1.price,n),a=i.indexToCoordinate(e.p1.index),l=t.priceToCoordinate(e.p2.price,n),c=i.indexToCoordinate(e.p2.index),h=new s.Point(Math.min(a,c),Math.min(o,l)),d=new s.Point(Math.max(a,c),Math.max(o,l));return(0,s.box)(h,d)}clipboardLineToolOwnerSource(e){const t=this.dataSourceForId(e);if(null!==t){const e=t.ownerSource();if(null!==e&&null!==e.firstValue())return e}const i=this.mainDataSource();if(null!==i&&null!==i.firstValue())return i;for(const e of this.dataSources())if((0,h.isPriceDataSource)(e)&&null!==e.firstValue())return e;return null}realignLineTools(){let e=!1;for(const t of this.m_dataSources)(0,u.isLineTool)(t)&&(t.calcIsActualSymbol(),t.updateAllViews(),e=!0);return this._invalidateSourcesCache(),e}startScalePrice(e,t){e.startScale(t)}scalePriceTo(e,t){e.scaleTo(t),this.updateAllViews()}endScalePrice(e){e.endScale()}resetPriceScale(e){const t=this.timeScale().visibleBarsStrictRange();e.isLockScale()||e.setMode({autoScale:!0}),e.recalculatePriceRange(t),this.updateAllViews()}restorePriceScaleState(e,t){e.restoreState(t),this.updateAllViews()}beginInsertManyLineDataSources(){this._isInInsertManyDataSourcesState=!0,this._lastLineDataSourceZOrder=null}endInsertManyLineDataSources(){this._isInInsertManyDataSourcesState=!1,this._lastLineDataSourceZOrder=null}removeSourceFromPriceScale(e){const t=e.priceScale();if(null!==t){const i=t.dataSources();i.indexOf(e)>=0&&t.removeDataSource(e),0===i.length&&this.removePriceScale(t)}}_addSourceToCollections(e,t){this.m_dataSources.push(e),this._sourcesById.set(e.id(),e),this._invalidateSourcesCache(),t||0!==this._bulkActions.activeCounter||this._dataSourcesCollectionChanged.fire();const i=()=>{this._sourcePropertiesChanged.fire(e)};e.properties().subscribe(this,i),e.zOrderChanged().subscribe(this,t=>this._sourcesZOrderChanged.fire(e,t)),(0,u.isLineTool)(e)&&(e.normalizedPointsChanged().subscribe(this,i),e.fixedPointsChanged().subscribe(this,i),e.hasAlert.subscribe(i),e.sharingMode().subscribe(i),e.linkKey().subscribe(i),this._sourceWatchedValuesSubscriptions.set(e.id(),i));const s=(0,w.isSymbolSource)(e)?e:null;(0,h.isPriceDataSource)(e)&&(this._priceSourcesById.set(e.id(),e),e.currencyChanged().subscribe(this,()=>this._invalidateSourcesCache()),e.unitChanged().subscribe(this,()=>this._invalidateSourcesCache()),this._priceDataSources.push(e),null!==s&&(this._symbolSources.push(s),s.symbolResolved().subscribe(this,()=>this._symbolSourceResolved.fire(e)), +s.symbolResolvingActive().subscribe(this._recalcSymbolSourceResolvingActive),s.symbolHibernated().subscribe(this._onSymbolSourceCollectionChanged),this._recalcSymbolSourceResolvingActive(),this._onSymbolSourceCollectionChanged())),e.isMultiPaneAvailable()&&this.model().addMultiPaneSource(e),!e.isSpeciallyZOrderedSource()&&this._reorderZOrderOnAddingSourceToCollectionAllowed&&((0,u.isLineTool)(e)&&(0,P.isReorderRequired)(null,e.zorder())||(0,b.isStudy)(e)&&(0,P.isReorderRequired)(e.zorder(),null))&&(this._reorderZOrderOnAddingSourceToCollectionAllowed=(0,P.reorderDataSourcesZOrder)(this.m_dataSources))}_removeSourceFromCollections(e,t){const i=this.m_dataSources[e];i.properties().unsubscribeAll(this),i.zOrderChanged().unsubscribeAll(this),this.m_dataSources.splice(e,1),this._sourcesById.delete(i.id());const s=i.id();if((0,u.isLineTool)(i)&&(i.normalizedPointsChanged().unsubscribeAll(this),i.fixedPointsChanged().unsubscribeAll(this),this._sourceWatchedValuesSubscriptions.has(s))){const e=this._sourceWatchedValuesSubscriptions.get(s);i.hasAlert.unsubscribe(e),i.linkKey().unsubscribe(e)}this._invalidateSourcesCache();const n=(0,w.isSymbolSource)(i)?i:null;if((0,h.isPriceDataSource)(i)){this._priceSourcesById.delete(i.id()),i.currencyChanged().unsubscribeAll(this),i.unitChanged().unsubscribeAll(this);const e=this._priceDataSources.indexOf(i);if((0,r.assert)(-1!==e),this._priceDataSources.splice(e,1),null!==n){const e=this._symbolSources.indexOf(n);(0,r.assert)(-1!==e,"Source is not found"),this._symbolSources.splice(e,1),n.symbolResolved().unsubscribeAll(this),n.symbolResolvingActive().unsubscribe(this._recalcSymbolSourceResolvingActive),n.symbolHibernated().unsubscribe(this._onSymbolSourceCollectionChanged),this._recalcSymbolSourceResolvingActive(),this._onSymbolSourceCollectionChanged()}}t||0!==this._bulkActions.activeCounter||this._dataSourcesCollectionChanged.fire(),i.isMultiPaneAvailable()&&this.model().removeMultiPaneSource(i),this._reorderZOrderOnAddingSourceToCollectionAllowed=!0}_recalculatePriceScaleByScaleRatio(e){this.isMainPane()&&e===this._lockedPriceScale&&(null!==this._currentPriceScaleRatio?this._applyOldScaleRatioToPriceScale():this._tryToApplyNewPriceScaleRatio())}_defaultBottomMargin(){return.01*this.properties().childs().bottomMargin.value()}_defaultTopMargin(){return.01*this.properties().childs().topMargin.value()}_updateMargins(){const e=this._defaultTopMargin(),t=this._defaultBottomMargin();for(const i of this._leftPriceScales)I(i,e,t);for(const i of this._rightPriceScales)I(i,e,t);for(const i of this.m_dataSources)if(this.isOverlay(i)){const s=i.priceScale();null!==s&&(I(s,e,t),this.recalculatePriceScale(s))}for(const e of this._leftPriceScales)this.recalculatePriceScale(e);for(const e of this._rightPriceScales)this.recalculatePriceScale(e);this.updateAllViews()}_batchReorder(e,t,i){i(this.sourcesByGroup().allExceptSpecialSources(),e,t),this._invalidateSourcesCache(),this._dataSourcesCollectionChanged.fire(),this.model().fullUpdate()}_placePriceScale(e,t,i){ +if("overlay"===t)return void e.invalidateMargins();const s="left"===t?this._leftPriceScales:this._rightPriceScales,n=void 0===i?s.length:i;s.splice(n,0,e),e.modeChanged().subscribe(this,this._onPriceScaleModeChanged.bind(this,e)),e.internalHeightChanged().subscribe(this,this._recalculatePriceScaleByScaleRatio.bind(this,e)),e.priceRangeChanged().subscribe(this,this._recalculateTimeScaleByScaleRatio.bind(this,e)),e.priceRangeChanged().subscribe(this,this._onPriceScaleSetMinMaxPriceRange.bind(this,e)),e.isLockScale()&&((0,r.assert)(null===this._lockedPriceScale),this._lockedPriceScale=e,this._currentPriceScaleRatio=null),e.invalidateMargins(),this._onPriceScalesChanged.fire()}_onPriceScaleModeChanged(e,t,i){if(i.lockScale&&(this._lockedPriceScale!==e&&null!==this._lockedPriceScale&&this._lockedPriceScale.setMode({lockScale:!1}),this._lockedPriceScale=e,this._currentPriceScaleRatio=(0,S.scaleRatio)(this.timeScale(),e)),t.lockScale&&!i.lockScale&&(this._lockedPriceScale=null,this._currentPriceScaleRatio=null),t.percentage===i.percentage&&t.indexedTo100===i.indexedTo100)return;const s=this.timeScale().visibleBarsStrictRange();null!==s&&(e.recalculatePriceRange(s),e.updateAllViews())}_applyOldScaleRatioToPriceScale(){this._isRecalculatingScales||null===this._currentPriceScaleRatio||null===this._lockedPriceScale||(this._isRecalculatingScales=!0,this._setNewPriceRangeByScaleRatio(this._lockedPriceScale,this._currentPriceScaleRatio,this._mainSourceVisiblePriceRange(this._lockedPriceScale)),this._isRecalculatingScales=!1)}_setNewPriceRangeByScaleRatio(e,t,i,s,r){const n=(0,S.priceRangeByScaleRatio)(e,this.timeScale().barSpacing(),t);e.setPriceRange(null!==n?n:i,s,r)}_applyOldScaleRatioToTimeScale(){this._isRecalculatingScales||null===this._currentPriceScaleRatio||(this._isRecalculatingScales=!0,this._setNewBarSpacingByScaleRatio(),this._isRecalculatingScales=!1)}_tryToApplyNewPriceScaleRatio(){const e=(0,r.ensureNotNull)(this._lockedPriceScale),t=(0,S.scaleRatio)(this.timeScale(),e);this._currentPriceScaleRatio===t||e.isLog()||(this._currentPriceScaleRatio=t,this.model().mainSeriesScaleRatioPropertyOnChanged())}_recalculateTimeScaleByScaleRatio(e){e===this._lockedPriceScale&&(null!==this._currentPriceScaleRatio?this._applyOldScaleRatioToTimeScale():this._tryToApplyNewPriceScaleRatio())}_setNewBarSpacingByScaleRatio(){const e=this.timeScale().getValidBarSpacing((0,S.barSpacingByScaleRatio)((0,r.ensureNotNull)(this._lockedPriceScale),this._currentPriceScaleRatio));this.timeScale().isValidBarSpacing(e)&&this.timeScale().setBarSpacing(e)}_mainSourceVisiblePriceRange(e){const t=this.timeScale().visibleBarsStrictRange();return null!==t?(0,r.ensureNotNull)((0,r.ensureNotNull)(e.mainSource()).priceRange(t.firstBar(),t.lastBar())):new y.PriceRange(-.5,.5)}_setMinMaxPriceRange(){const e=(0,r.ensureNotNull)(this._lockedPriceScale),t=(0,S.priceRangeByScaleRatio)(e,this.timeScale().maxBarSpacing(),this._currentPriceScaleRatio),i=(0,S.priceRangeByScaleRatio)(e,this.timeScale().minBarSpacing(),this._currentPriceScaleRatio) +;null!==t&&e.setMaxPriceRange(t),null!==i&&e.setMinPriceRange(i)}_onPriceScaleSetMinMaxPriceRange(e){e===this._lockedPriceScale&&this._setMinMaxPriceRange()}}},10992:(e,t,i)=>{"use strict";var s;i.d(t,{PaneCursorType:()=>s}),function(e){e[e.Default=0]="Default",e[e.Pointer=1]="Pointer",e[e.Eraser=2]="Eraser",e[e.Dot=3]="Dot",e[e.Grabbing=4]="Grabbing",e[e.ZoomIn=5]="ZoomIn",e[e.VerticalResize=6]="VerticalResize",e[e.HorizontalResize=7]="HorizontalResize",e[e.DiagonalNeSwResize=8]="DiagonalNeSwResize",e[e.DiagonalNwSeResize=9]="DiagonalNwSeResize"}(s||(s={}))},13114:(e,t,i)=>{"use strict";i.d(t,{PanePriceAxisView:()=>n});var s=i(92137);class r{constructor(e){this._priceAxisViewRenderer=null,this._rendererOptions=null,this._align="right",this._width=0,this._height=0,this._textWidthCache=e}setParams(e,t,i,s,r){this._priceAxisViewRenderer=e,this._rendererOptions=t,this._width=i,this._height=s,this._align=r}draw(e,t){null!==this._rendererOptions&&null!==this._priceAxisViewRenderer&&this._priceAxisViewRenderer.draw(e,this._rendererOptions,this._textWidthCache,this._width,this._height,this._align,t.pixelRatio)}hitTest(e){var t,i;return void 0===(null===(t=this._priceAxisViewRenderer)||void 0===t?void 0:t.hitTest)?null:null===(i=this._priceAxisViewRenderer)||void 0===i?void 0:i.hitTest(e,this._width,this._align)}}class n{constructor(e,t,i){this._renderer=null,this._invalidated=!0,this._priceAxisView=e,this._textWidthCache=new s.TextWidthCache(100),this._dataSource=t,this._chartModel=i,this._fontSize=-1,this._panePriceAxisViewRenderer=new r(this._textWidthCache)}update(){this._invalidated=!0}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){this._renderer=null;const i=this._chartModel.crossHairSource(),s=this._dataSource===i?i.pane:this._chartModel.paneForSource(this._dataSource);if(null===s)return;const r=this._priceScale();if(null===r)return;let n=s.priceScalePosition(r);if("overlay"===n&&(n=s.priceScalePosition(s.defaultPriceScale())),"overlay"===n)return;const o=this._chartModel.priceAxisRendererOptions();o.fontSize!==this._fontSize&&(this._fontSize=o.fontSize,this._textWidthCache.reset()),this._panePriceAxisViewRenderer.setParams(this._priceAxisView.paneRenderer(),o,t,e,n),this._renderer=this._panePriceAxisViewRenderer,this._invalidated=!1}_priceScale(){return this._dataSource.priceScale()}}},9537:(e,t,i)=>{"use strict";i.d(t,{PaneRendererArea:()=>a});var s=i(16282),r=i(59109),n=i(5025),o=i(21344);class a extends r.PaneRendererLine{constructor(e){e.forceLineColor=!1,super(e)}draw(e,t){var i;const r=this._data;if(0===r.items.length)return;let a=0;for(;a=0&&!(0,o.coordinateIsValid)(r.items[l].y);)l--;if(a>l)return;e.save(),e.scale(t.pixelRatio,t.pixelRatio),e.lineCap="butt",e.strokeStyle=r.lineColor,e.lineWidth=r.lineWidth,(0,n.setLineStyle)(e,r.lineStyle),e.lineWidth=1;const c={},h=r.items;for(let e=a;e<=l;e++){const t=h[e];let i;if(i=t.style?t.style.color:r.lineColor,e{"use strict";i.d(t,{CompositeRenderer:()=>s});class s{constructor(){this._renderers=[],this._globalAlpha=1}setGlobalAlpha(e){this._globalAlpha=e}append(e){this._renderers.push(e)}insert(e,t){this._renderers.splice(t,0,e)}clear(){this._renderers.length=0}isEmpty(){return 0===this._renderers.length}draw(e,t){for(let i=0;i=0;s--){const r=this._renderers[s].hitTest(e,t);null!==r&&(null===i||r.result()>i.result())&&(i=r)}return i}doesIntersectWithBox(e){return this._renderers.some(t=>!!t.doesIntersectWithBox&&t.doesIntersectWithBox(e))}}},55430:(e,t,i)=>{"use strict";i.d(t,{clearRectWithGradient:()=>o,fillRectInnerBorder:()=>a,drawHorizontalLine:()=>l,drawVerticalLine:()=>c,drawRoundRect:()=>d,drawRoundRectWithInnerBorder:()=>u,fillRectWithBorder:()=>p,createCircle:()=>_});var s=i(72927),r=i(5025),n=i(64417);function o(e,t,i,s,r,n,o){e.save(),e.globalCompositeOperation="copy";const a=e.createLinearGradient(0,0,0,r);a.addColorStop(0,n),a.addColorStop(1,o),e.fillStyle=a,e.fillRect(t,i,s,r),e.restore()}function a(e,t,i,s,r,n){e.fillRect(t+n,i,s-2*n,n),e.fillRect(t+n,i+r-n,s-2*n,n),e.fillRect(t,i,n,r),e.fillRect(t+s-n,i,n,r)}function l(e,t,i,s){e.beginPath();const r=e.lineWidth%2?.5:0;e.moveTo(i,t+r),e.lineTo(s,t+r),e.stroke()}function c(e,t,i,s){e.beginPath();const r=e.lineWidth%2?.5:0;e.moveTo(t+r,i),e.lineTo(t+r,s),e.stroke()}function h(e,t){return Array.isArray(e)?e.map(e=>0===e?e:e+t):e+t}function d(e,t,i,s,r,n,o){let a,l,c,h;if(Array.isArray(n))if(2===n.length){const e=Math.max(0,n[0]),t=Math.max(0,n[1]);a=e,l=e,c=t,h=t}else{if(4!==n.length)throw new Error("Wrong border radius - it should be like css border radius");a=Math.max(0,n[0]),l=Math.max(0,n[1]),c=Math.max(0,n[2]),h=Math.max(0,n[3])}else{const e=Math.max(0,n);a=e,l=e,c=e,h=e}o||e.beginPath(),e.moveTo(t+a,i),e.lineTo(t+s-l,i),0!==l&&e.arcTo(t+s,i,t+s,i+l,l),e.lineTo(t+s,i+r-c),0!==c&&e.arcTo(t+s,i+r,t+s-c,i+r,c),e.lineTo(t+h,i+r),0!==h&&e.arcTo(t,i+r,t,i+r-h,h),e.lineTo(t,i+a),0!==a&&e.arcTo(t,i,t+a,i,a)} +function u(e,t,i,s,o,a,l=0,c=0,u="",p=n.LineStyle.Solid){if(e.save(),!c||!u||u===a)return d(e,t,i,s,o,l),e.fillStyle=a,e.fill(),void e.restore();const _=c/2;if("transparent"!==a){const r="transparent"!==u&&p!==n.LineStyle.Solid;d(e,r?t:t+c,r?i:i+c,r?s:s-2*c,r?o:o-2*c,r?l:h(l,-c)),e.fillStyle=a,e.fill()}if("transparent"!==u){d(e,t+_,i+_,s-c,o-c,h(l,-_)),e.lineWidth=c,e.strokeStyle=u,(0,r.setLineStyle)(e,p),e.closePath(),e.stroke()}e.restore()}function p(e,t,i,n,o,a,l,c,h,d,u,p,_,m,g){const f=d?0:t,v=u?_:n;if(void 0!==a&&(e.fillStyle=a,e.fillRect(f,i,v-f+m,o-i)),void 0!==l&&c>0){if(e.beginPath(),(0,r.setLineStyle)(e,h),void 0!==g){const t=g.map(e=>e*c);(0,r.setLineDash)(e,t)}let a=(0,s.point)(0,0),d=(0,s.point)(0,0),u=(0,s.point)(0,0),_=(0,s.point)(0,0);switch(p){case"outer":{const e=.5*c;u=(0,s.point)(0,e),_=(0,s.point)(0,e),a=(0,s.point)(e,-c),d=(0,s.point)(e,-c);break}case"center":{const e=c%2?.5:0,t=c%2?.5:m;u=(0,s.point)(.5*c-e,-e),_=(0,s.point)(t+.5*c,-e),a=(0,s.point)(-e,e+.5*c),d=(0,s.point)(t,e+.5*c);break}case"inner":{const e=.5*c;u=(0,s.point)(0,-e),_=(0,s.point)(1,-e),a=(0,s.point)(-e,c),d=(0,s.point)(1-e,c);break}}e.lineWidth=c,e.strokeStyle=l,e.moveTo(f-u.x,i-u.y),e.lineTo(v+_.x,i-_.y),e.moveTo(n+d.x,i+d.y),e.lineTo(n+d.x,o-d.y),e.moveTo(f-u.x,o+u.y),e.lineTo(v+_.x,o+_.y),e.moveTo(t-a.x,i+a.y),e.lineTo(t-a.x,o-a.y),e.stroke()}}function _(e,t,i,s){e.beginPath(),e.arc(t,i,s,0,2*Math.PI,!1),e.closePath()}},21344:(e,t,i)=>{"use strict";i.r(t),i.d(t,{extendAndClipLineSegment:()=>h,getArrowPoints:()=>d,optimalBarWidth:()=>u,optimalCandlestickWidth:()=>p,optimalHiLoWidth:()=>_,interactionTolerance:()=>m,coordinateIsValid:()=>g,setValidLineStyle:()=>f,fillScaledRadius:()=>v,strokeScaledRadius:()=>S});var s=i(72927),r=i(95196),n=i(87910),o=i(47903),a=i(5025);const l={line:13,minDistanceBetweenPoints:10,series:14,curve:10,anchor:13,esd:4},c={line:3,minDistanceBetweenPoints:5,series:2,curve:3,anchor:2,esd:0};function h(e,t,i,n,o,a){if((0,s.equalPoints)(e,t))return null;const l=new s.Point(0,0),c=new s.Point(i,n);if(o){if(a){const i=(0,r.intersectLineAndBox)((0,s.lineThroughPoints)(e,t),(0,s.box)(l,c));return Array.isArray(i)?i:null}{const i=(0,r.intersectRayAndBox)(t,e,(0,s.box)(l,c));return null===i||(0,s.equalPoints)(t,i)?null:(0,s.lineSegment)(t,i)}}if(a){const i=(0,r.intersectRayAndBox)(e,t,(0,s.box)(l,c));return null===i||(0,s.equalPoints)(e,i)?null:(0,s.lineSegment)(e,i)}{const i=(0,r.intersectLineSegmentAndBox)((0,s.lineSegment)(e,t),(0,s.box)(l,c));return Array.isArray(i)?i:null}}function d(e,t,i,s){const r=.5*i,n=Math.sqrt(2),o=t.subtract(e),a=o.normalized();let l=5*i;s&&(l=Math.min(l,.35*o.length()));const c=1*r;if(l*n*.2<=c)return[];const h=a.scaled(l),d=t.subtract(h),u=a.transposed(),p=1*l,_=u.scaled(p),m=d.add(_),g=d.subtract(_),f=m.subtract(t).normalized().scaled(c),v=g.subtract(t).normalized().scaled(c),S=t.add(f),y=t.add(v),b=r*(n-1),w=u.scaled(b),P=Math.min(l-1*r/n,r*n*1),C=a.scaled(P),T=t.subtract(w),x=t.add(w),I=t.subtract(C);return[[m,S],[g,y],[T,I.subtract(w)],[x,I.add(w)]]}function u(e,t){ +return t=t||1,Math.floor(.3*e*t)}function p(e,t){if(e>=2.5&&e<=4)return Math.floor(3*t);const i=1-.2*Math.atan(Math.max(4,e)-4)/(.5*Math.PI),s=Math.floor(e*i*t),r=Math.floor(e*t),n=Math.min(s,r);return Math.max(Math.floor(t),n)}function _(e){return.4*e}function m(){return(0,n.lastMouseOrTouchEventInfo)().isTouch?l:c}function g(e){return null!=e&&!(0,o.isNaN)(e)}function f(e,t){void 0!==t&&(0,a.setLineStyle)(e,t)}function v(e,t){const i=Math.max(1,Math.floor(t))%2?.5:0;return Math.round(e*t)+i}function S(e,t,i){const s=Math.max(1,Math.floor(t))%2?.5:0;return Math.round(e*t)+(s!==i%2?.5:0)}},29982:(e,t,i)=>{"use strict";i.d(t,{HorizontalLineRenderer:()=>a});var s=i(10288),r=i(5025),n=i(55430),o=i(21344);class a{constructor(){this._data=null,this._hitTest=new s.HitTestResult(s.HitTestResult.REGULAR)}setData(e){this._data=e}setHitTest(e){this._hitTest=e}hitTest(e){if(null===this._data||!1===this._data.visible||null===this._hitTest)return null;const t=(0,o.interactionTolerance)().line,i=Math.abs(e.y-this._data.y)<=t+this._data.linewidth/2,s=void 0===this._data.left||this._data.left-e.x<=t,r=void 0===this._data.right||e.x-this._data.right<=t;return i&&s&&r?this._hitTest:null}draw(e,t){if(null===this._data)return;if(!1===this._data.visible)return;if(this._data.y<-this._data.linewidth/2||this._data.y>t.cssHeight+this._data.linewidth/2)return;const i=t.pixelRatio;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=Math.max(1,Math.floor(this._data.linewidth*i)),void 0!==this._data.linestyle&&(0,r.setLineStyle)(e,this._data.linestyle);const s=void 0!==this._data.left?Math.max(this._data.left,0):0,o=void 0!==this._data.right?Math.min(this._data.right,t.cssWidth):t.cssWidth,a=Math.round(this._data.y*i),l=Math.floor(s*i),c=Math.ceil(o*i);(0,n.drawHorizontalLine)(e,a,l,c)}}},8356:(e,t,i)=>{"use strict";function s(e,t){return e.pixelRatio===t.pixelRatio}i.d(t,{areEqualPaneRenderParams:()=>s})},71172:(e,t,i)=>{"use strict";var s;i.d(t,{LineEnd:()=>s}),function(e){e[e.Normal=0]="Normal",e[e.Arrow=1]="Arrow",e[e.Circle=2]="Circle"}(s||(s={}))},59109:(e,t,i)=>{"use strict";i.d(t,{PaneRendererLine:()=>l});var s=i(72927),r=i(89684),n=i(10288),o=i(5025),a=i(21344);class l{constructor(e){this._data=e}hitTest(e,t){const i=(0,a.interactionTolerance)().series+this._data.lineWidth/2;let o=0,l=this._data.items.length-1;for(;l-o>2;){const t=Math.round((l+o)/2);this._data.items[t].x<=e.x?o=t:l=t}o=Math.max(1,o-1),l=Math.min(this._data.items.length-1,l+1);for(let t=o;t<=l;++t){const o=this._data.items[t-1],a=this._data.items[t],l=o.x,c=a.x;if((0,r.distanceToSegment)(new s.Point(l,o.y),new s.Point(c,a.y),new s.Point(e.x,e.y)).distance<=i)return this._data.hittest?this._data.hittest:new n.HitTestResult(n.HitTestResult.REGULAR)}return null}draw(e,t){e.save(),e.scale(t.pixelRatio,t.pixelRatio),e.lineCap="square",e.lineJoin="round",e.strokeStyle=this._data.lineColor,e.fillStyle=this._data.lineColor,e.lineWidth=this._data.lineWidth,(0,o.setLineStyle)(e,this._data.lineStyle),(0,a.setValidLineStyle)(e,this._data.lineStyle), +this._data.simpleMode?this._drawSimpleMode(e,t.pixelRatio):this._drawLines(e),e.restore()}_drawSimpleMode(e,t){if(e.beginPath(),this._walkLine(e,this._data.items,!1,NaN),e.stroke(),this._data.withMarkers){e.save(),e.scale(1/t,1/t);const i=Math.max(1,Math.floor(t))%2/2,s=(this._data.lineWidth+2)*t+i,r=2*Math.PI;e.beginPath();for(let n=this._data.items.length;n--;){const o=this._data.items[n];if(o){const n=Math.round(o.x*t)+i,a=o.y*t;e.moveTo(n,a),e.arc(n,a,s,0,r)}}e.fill(),e.restore()}}_walkLine(e,t,i,s){if(!t)return;const r=.25*this._data.barSpacing;let n,o,l,c,h;const d=a.coordinateIsValid;for(let e=0;e{"use strict";i.d(t,{RectangleRenderer:()=>d});var s=i(16282),r=i(72927),n=i(71044),o=i(89684),a=i(10288),l=i(50968),c=i(33420),h=i(55430);class d{constructor(e,t,i){this._data=null,this._hitTestResult=e||new a.HitTestResult(a.HitTestResult.MOVEPOINT),this._backHitTestResult=t||new a.HitTestResult(a.HitTestResult.MOVEPOINT_BACKGROUND),this._forceOverrideTransparency=Boolean(i)}setData(e){this._data=e}hitTest(e,t){if(null===this._data||this._data.points.length<2||this._data.nohittest)return null;const[i,s]=this._getPointsInPhysicalSpace(t),n=new r.Point(s.x,i.y),a=new r.Point(i.x,s.y),l=new r.Point(e.x*t.pixelRatio,e.y*t.pixelRatio),c=this._extendAndHitTestLineSegment(l,i,n,t);if(null!==c)return c;const h=this._extendAndHitTestLineSegment(l,a,s,t);if(null!==h)return h;let d=(0,o.distanceToSegment)(n,s,l);return d.distance<=3?this._hitTestResult:(d=(0,o.distanceToSegment)(i,a,l),d.distance<=3?this._hitTestResult:this._data.fillBackground?this._hitTestBackground(l,i,s,t):null)}getColor(){const e=(0,s.ensure)(this._data);return void 0===e.transparency?e.backcolor:(0,l.generateColor)(e.backcolor,e.transparency,this._forceOverrideTransparency)}draw(e,t){ +if(null===this._data||this._data.points.length<2||this._data.linewidth<=0&&!this._data.fillBackground)return;e.save();const[i,s]=this._getPointsInPhysicalSpace(t),r=this._data.linewidth?Math.max(1,Math.floor(this._data.linewidth*t.pixelRatio)):0,n=this._data.fillBackground?this.getColor():void 0,o=Math.max(1,Math.floor(t.pixelRatio));(0,h.fillRectWithBorder)(e,i.x,i.y,s.x,s.y,n,this._data.color,r,c.LINESTYLE_SOLID,this._data.extendLeft,this._data.extendRight,"center",t.physicalWidth,this._data.includeRightEdge&&1===o?1:0),e.restore()}_getPointsInPhysicalSpace(e,t=0){const i=(0,s.ensureNotNull)(this._data),[n,o]=i.points,a=e.pixelRatio,l=Math.min(n.x,o.x),c=Math.max(n.x,o.x),h=Math.min(n.y,o.y),d=Math.max(n.y,o.y),u=Math.round(l*a)+t,p=Math.round(c*a)+t,_=Math.round(h*a)+t,m=Math.round(d*a)+t;return[new r.Point(u,_),new r.Point(p,m)]}_extendAndHitTestLineSegment(e,t,i,s){const r=this._extendAndClipLineSegment(t,i,s);if(null!==r){if((0,o.distanceToSegment)(r[0],r[1],e).distance<=3)return this._hitTestResult}return null}_extendAndClipLineSegment(e,t,i){const n=(0,s.ensureNotNull)(this._data);if((0,r.equalPoints)(e,t))return null;const o=i.physicalWidth,a=Math.min(e.x,t.x),l=Math.max(e.x,t.x),c=n.extendLeft?0:Math.max(a,0),h=n.extendRight?o:Math.min(l,o);return c>h||h<=0||c>=o?null:[new r.Point(c,e.y),new r.Point(h,t.y)]}_hitTestBackground(e,t,i,s){const o=this._extendAndClipLineSegment(t,i,s);return null!==o&&(0,n.pointInBox)(e,(0,r.box)(o[0],o[1]))?this._backHitTestResult:null}}},58729:(e,t,i)=>{"use strict";i.d(t,{ScaledPaneRenderer:()=>s,ScaledPaneRendererWrapper:()=>r});class s{draw(e,t){e.save(),e.scale(t.pixelRatio,t.pixelRatio),e.translate(.5,.5),this._drawImpl(e,{...t,pixelRatio:1}),e.restore()}drawBackground(e,t){e.save(),e.scale(t.pixelRatio,t.pixelRatio),e.translate(.5,.5),this._drawBackgroundImpl(e,{...t,pixelRatio:1}),e.restore()}_drawBackgroundImpl(e,t){}}class r{constructor(e){this._base=e}hitTest(e,t){return this._base.hitTest(e,t)}draw(e,t){e.save(),e.scale(t.pixelRatio,t.pixelRatio),e.translate(.5,.5),this._base.draw(e,{...t,pixelRatio:1}),e.restore()}drawBackground(e,t){e.save(),e.scale(t.pixelRatio,t.pixelRatio),e.translate(.5,.5),this._base.drawBackground&&this._base.drawBackground(e,{...t,pixelRatio:1}),e.restore()}}},63736:(e,t,i)=>{"use strict";i.d(t,{PaneRendererBaseline:()=>h});var s=i(72927),r=i(95196),n=i(89684),o=i(21344),a=i(49382),l=i(58729),c=i(10288);class h extends l.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e){if(null===this._data)return null;const{items:t,topLineWidth:i,bottomLineWidth:r}=this._data,l=(0,o.interactionTolerance)().series+(i+r)/4,h=(0,a.lowerbound)(t,e,(e,t)=>e.x<=t.x),d=Math.max(1,h-1),u=Math.min(t.length-1,h+1);for(let i=d;i<=u;++i){const r=t[i-1],o=t[i],{distance:a}=(0,n.distanceToSegment)(new s.Point(r.x,r.y),new s.Point(o.x,o.y),new s.Point(e.x,e.y));if(a<=l)return new c.HitTestResult(c.HitTestResult.REGULAR)}return null}_drawImpl(e){if(null===this._data)return +;const{items:t,baseLevelCoordinate:i,bottom:n,bottomFillColor1:a,bottomFillColor2:l,topFillColor1:c,topFillColor2:h,topLineColor:d,bottomLineColor:u,topLineWidth:p,bottomLineWidth:_}=this._data;if(!function(e){if(0===e.length)return!1;const t=e.findIndex(e=>(0,o.coordinateIsValid)(e.y));if(-1===t)return!1;let i=e.length-1;for(;i>t&&!(0,o.coordinateIsValid)(e[i].y);)i--;return!(t>i)}(t))return;const{topItems:m,bottomItems:g}=function(e,t){const i=[],n=[];let a=null;for(let l=0;l=t&&n.push(c),a=c;else{if(null===a)continue;c=a}if((0,o.coordinateIsValid)(h.y)&&(c.y>t&&h.yt))if(Math.abs(c.x-h.x)<1){const e=new s.Point(c.x,t);i.push(e),n.push(e)}else{const e=(0,r.intersectLineSegments)(c,h,new s.Point(c.x,t),new s.Point(h.x,t));if(null!==e){const t=c.add(h.subtract(c).scaled(e));i.push(t),n.push(t)}}}return{topItems:i,bottomItems:n}}(t,i);e.lineCap="round",e.lineJoin="round",0!==m.length&&(e.beginPath(),e.moveTo(m[0].x,i),this._makeLine(e,m,!0,0),e.closePath(),e.fillStyle=this._makeLinearGradient(e,c,h,i-n,i),e.fill(),e.beginPath(),this._makeLine(e,m,!1,0),e.lineWidth=p,e.strokeStyle=d,e.stroke()),0!==g.length&&(e.beginPath(),e.moveTo(g[0].x,i),this._makeLine(e,g,!0,1),e.closePath(),e.fillStyle=this._makeLinearGradient(e,a,l,i,i+n),e.fill(),e.beginPath(),this._makeLine(e,g,!1,1),e.lineWidth=_,e.strokeStyle=u,e.stroke())}_makeLine(e,t,i,s){if(null===this._data)return;const r=t.findIndex(e=>(0,o.coordinateIsValid)(e.y));if(-1===r)return;const{barSpacing:n,baseLevelCoordinate:a}=this._data,l=.25*n;let c;const h=t.length;for(let n=r;n=a&&h.y>=a){e.moveTo(h.x,h.y);continue}}else if(c&&c.y<=a&&h.y<=a){e.moveTo(h.x,h.y);continue}if(c&&(0,o.coordinateIsValid)(c.y))e.lineTo(h.x,h.y),i&&!(0,o.coordinateIsValid)(d.y)&&e.lineTo(h.x,a);else if(d&&(0,o.coordinateIsValid)(d.y))i?(n!==r&&e.lineTo(h.x,a),e.lineTo(h.x,h.y)):e.moveTo(h.x,h.y);else if(i){if(0===n)continue;n!==r&&e.lineTo(h.x-l,a),e.lineTo(h.x-l,h.y),e.lineTo(h.x+l,h.y),e.lineTo(h.x+l,a)}else e.moveTo(h.x-l,h.y),e.lineTo(h.x+l,h.y);c=h}}}_makeLinearGradient(e,t,i,s,r){const n=e.createLinearGradient(0,s,0,r);return n.addColorStop(0,t),n.addColorStop(1,i),n}}},98678:(e,t,i)=>{"use strict";var s;i.d(t,{StatsPosition:()=>s}),function(e){e[e.Left=0]="Left",e[e.Center=1]="Center",e[e.Right=2]="Right"}(s||(s={}))},73175:(e,t,i)=>{"use strict";i.d(t,{StepLineDecoration:()=>s,PaneRendererStepLine:()=>g});var s,r=i(89684),n=i(10288),o=i(72927),a=i(5025),l=i(49382),c=i(21344),h=i(55430),d=i(50968);!function(e){e[e.None=0]="None",e[e.Diamonds=1]="Diamonds"}(s||(s={}));class u{initialize(e,t,i,s){var r,n,o,l;const c=e.lineStyle;t.lineCap="butt",t.lineJoin="round";const h=Math.max(Math.floor(null!==(n=null===(r=s.style)||void 0===r?void 0:r.width)&&void 0!==n?n:e.lineWidth*i.pixelRatio));void 0!==c&&(0,a.setLineStyle)(t,c);const d=h%2?.5:0 +;t.moveTo(Math.round(s.x*i.pixelRatio)+d,Math.round(s.y*i.pixelRatio)+d),t.strokeStyle=null!==(l=null===(o=s.style)||void 0===o?void 0:o.color)&&void 0!==l?l:e.lineColor,t.lineWidth=h}finishFragment(e){e.stroke()}hitTest(e,t,i,s,n){var a,l;const h=Math.round((i.x+s.x)/2),d=new o.Point(h,i.y),u=new o.Point(h,s.y),p=null!==(l=null===(a=i.style)||void 0===a?void 0:a.width)&&void 0!==l?l:e.lineWidth,_=(0,c.interactionTolerance)().series+p/2;return Math.min((0,r.distanceToSegment)(i,d,n).distance,(0,r.distanceToSegment)(d,u,n).distance,(0,r.distanceToSegment)(u,s,n).distance)<=_}applyColor(e,t){e.strokeStyle=t}applyLineWidth(e,t){e.lineWidth=t}drawItem(e,t,i,s){e.lineTo(i.x,i.y),void 0!==s&&(e.lineTo(s.x,i.y),e.lineTo(s.x,s.y))}}class p{constructor(){this._lineWidth=1}initialize(e,t,i,s){var r,n,o,a;this.applyColor(t,null!==(n=null===(r=s.style)||void 0===r?void 0:r.color)&&void 0!==n?n:e.lineColor),this._lineWidth=Math.max(Math.floor(null!==(a=null===(o=s.style)||void 0===o?void 0:o.width)&&void 0!==a?a:e.lineWidth*i.pixelRatio))}finishFragment(e){e.fill()}drawItem(e,t,i,s,r){if(r&&void 0!==s&&!Number.isNaN(s.y)){e.save(),e.translate(s.x,s.y),e.rotate(Math.PI/4);const i=this._scaleByLineWidth(this._lineWidth);e.scale(i,i),this._drawItemRotatedAndTranslated(e,t),e.restore()}}applyLineWidth(e,t){this._lineWidth=t}hitTest(e,t,i,s,r){var n,a;if(!s.valIsNotSameAsPrev)return!1;const l=Math.round((i.x+s.x)/2),c=new o.Point(l,s.y),h=r.subtract(c),d=Math.max(Math.floor(null!==(a=null===(n=i.style)||void 0===n?void 0:n.width)&&void 0!==a?a:e.lineWidth*t.pixelRatio));return this._hitTestTranslated(h,d)}_scaleByLineWidth(e){return Math.sqrt(e)}}class _ extends p{applyColor(e,t){e.fillStyle=t}_hitTestTranslated(e,t){return Math.abs(e.x)+Math.abs(e.y)<8*this._scaleByLineWidth(t)/2}_drawItemRotatedAndTranslated(e,t){(0,h.drawRoundRect)(e,-4,-4,8,8,2,!0)}}class m extends p{applyColor(e,t){e.fillStyle=(0,d.applyTransparency)(t,85)}_hitTestTranslated(e,t){return Math.abs(e.x)+Math.abs(e.y)<21*this._scaleByLineWidth(t)/2}_drawItemRotatedAndTranslated(e,t){(0,h.drawRoundRect)(e,-10.5,-10.5,21,21,5,!0)}}class g{constructor(){this._data=null}setData(e){this._data=e}hitTest(e,t){var i;const r=this._data;if(null===r||0===r.items.length)return null;const o=r.items,a=(0,l.lowerbound)(o,e,(e,t)=>e.x<=t.x),c=Math.max(0,a-1),h=Math.min(o.length-1,a+1),d=function(e){switch(e){case s.Diamonds:return[new u,new m];default:return[new u]}}(null===(i=this._data)||void 0===i?void 0:i.decoration);for(let i=c;ii.hitTest(r,t,s,a,e)))return new n.HitTestResult(n.HitTestResult.REGULAR)}return null}draw(e,t){if(null===this._data||0===this._data.items.length)return;e.save();(function(e){switch(e){case s.Diamonds:return[new u,new _,new m];default:return[new u]}})(this._data.decoration).forEach(i=>this._drawImpl(e,t,i)),e.restore()}_drawImpl(e,t,i){var s,r,n,a,l,c,h,d,u,p;if(null===this._data||0===this._data.items.length)return;const{lineWidth:_,lineColor:m,items:g}=this._data,f=g.length,v=t.pixelRatio +;let S=Math.max(Math.floor(null!==(r=null===(s=g[0].style)||void 0===s?void 0:s.width)&&void 0!==r?r:_*v)),y=S%2?.5:0;i.initialize(this._data,e,t,g[0]),e.beginPath();for(let s=0;s{"use strict";i.d(t,{calculateLabelPosition:()=>p,wordWrap:()=>g,TextRenderer:()=>M});var s=i(72927),r=i(16282),n=i(71044),o=i(76553),a=i(10288),l=i(55430),c=i(5025),h=i(47903),d=i(16932),u=i(33420);function p(e,t,i,r,n){const o=.5*(t.x+i.x);let a=i.y;return t.y>i.y?(a-=e.height/2+r.y,a=Math.max(e.height/2,a)):(a+=e.height/2+r.y,a=Math.min(n-e.height/2,a)),new s.Point(o,a)}let _;function m(){const e=document.createElement("canvas");e.width=0,e.height=0,_=(0,r.ensureNotNull)(e.getContext("2d"))}function g(e,t,i){_||m(),i=(0,h.isString)(i)?parseInt(i):i,e+="";const s=!(0,h.isNumber)(i)||!isFinite(i)||i<=0?e.split(/\r\n|\r|\n|$/):e.split(/[^\S\r\n]*(?:\r\n|\r|\n|$)/);if(s[s.length-1]||s.pop(),!(0,h.isNumber)(i)||!isFinite(i)||i<=0)return s;_.font=t;const r=[];for(let e=0;e0&&_.measureText(o.slice(0,3*--e-1).join("")).width>i;);if(e>0)r.push(o.slice(0,3*e-1).join("")),o.splice(0,3*e);else{const e=o[0]+(o[1]||"");if(a=1===a?1:~~(i/_.measureText(e).width*e.length),_.measureText(e.substring(0,a)).width<=i)for(;_.measureText(e.substring(0,a+1)).width<=i;)a++;else for(;a>1&&_.measureText(e.substring(0,--a)).width>i;);a<1&&(a=1),r.push(e.substring(0,a)),o[0]=e.substring(a),o[1]=""}if(_.measureText(o.join("")).width<=i){r.push(o.join(""));break}}}return r}function f(e,t,i){if(0===i)return e.clone();const r=(e.x-t.x)*Math.cos(i)-(e.y-t.y)*Math.sin(i)+t.x,n=(e.x-t.x)*Math.sin(i)+(e.y-t.y)*Math.cos(i)+t.y;return new s.Point(r,n)}function v(e,t){return t+2*P(e)+2*b(e)}function S(e,t){return T(e)*t+C(e)*(t-1)+2*w(e)+2*y(e)}function y(e){return void 0!==e.boxPaddingVert?e.boxPaddingVert*I(e):void 0!==e.boxPadding?e.boxPadding*I(e):T(e)/3}function b(e){return void 0!==e.boxPaddingHorz?e.boxPaddingHorz*I(e):void 0!==e.boxPadding?e.boxPadding*I(e):T(e)/3}function w(e){return(e.backgroundVertInflate||0)*I(e)} +function P(e){return(e.backgroundHorzInflate||0)*I(e)}function C(e){return(e.padding||0)*I(e)}function T(e){return Math.ceil(x(e)*I(e))}function x(e){return e.fontsize||e.fontSize||30}function I(e){const t=Math.min(1,Math.max(.2,Math.min(e.scaleX||1,e.scaleY||1)));if(1===t)return t;const i=x(e);return Math.ceil(t*i)/i}class M{constructor(e,t){this._data=null,this._internalData=null,this._boxSize=null,this._polygonPoints=null,this._linesInfo=null,this._fontInfo=null,this._hittest=t||new a.HitTestResult(a.HitTestResult.MOVEPOINT,{areaName:a.AreaName.Text}),void 0!==e&&this.setData(e)}setData(e){e.horzTextAlign||(e.horzTextAlign=e.horzAlign),function(e,t){if(null===e||null===t)return null===e==(null===t);if(void 0===e.points!=(void 0===t.points))return!1;if(void 0!==e.points&&void 0!==t.points){if(e.points.length!==t.points.length)return!1;for(let r=0;re){const i=(0,s.box)(new s.Point(0,0),new s.Point(e,t));return this._getPolygonPoints().every(e=>!(0,n.pointInBox)(e,i))}return!1}setPoints(e,t){(0,r.ensureNotNull)(this._data).points=e,this._hittest=t||new a.HitTestResult(a.HitTestResult.MOVEPOINT)}fontStyle(e){return null===this._data?"":this._getFontInfo().fontStyle}wordWrap(e,t,i){ +return g(e,i||this.fontStyle(),t)}draw(e,t){if(null===this._data||void 0===this._data.points||0===this._data.points.length)return;if(this.isOutOfScreen(t.cssWidth,t.cssHeight))return;const i=t.pixelRatio,s=this._getInternalData(),r=this._getRotationPoint().scaled(i);e.save(),e.translate(r.x,r.y),e.rotate(this._data.angle||0),e.translate(-r.x,-r.y);const n=this._getFontInfo().fontSize;e.textBaseline=s.textBaseLine,e.textAlign=s.textAlign,e.font=this.fontStyle();const{scaledLeft:o,scaledRight:a,scaledTop:h,scaledBottom:p}=function(e,t){const i=Math.round(e.boxLeft*t),s=Math.round(e.boxTop*t);return{scaledLeft:i,scaledRight:i+Math.round(e.boxWidth*t),scaledTop:s,scaledBottom:s+Math.round(e.boxHeight*t)}}(s,i);if(this._data.backgroundColor||this._data.borderColor||this._data.highlightBorder&&this._data.wordWrapWidth){const t=this._data.borderWidth||Math.max(n/12,1),s=Math.round(t*i),r=s/2;let d=!1;if(this._data.boxShadow){e.save();const{shadowColor:t,shadowBlur:i,shadowOffsetX:s=0,shadowOffsetY:r=0}=this._data.boxShadow;e.shadowColor=t,e.shadowBlur=i,e.shadowOffsetX=s,e.shadowOffsetY=r,d=!0}if(this._data.backgroundRoundRect)this._data.backgroundColor&&((0,l.drawRoundRect)(e,o,h,a-o,p-h,this._data.backgroundRoundRect*i),e.fillStyle=this._data.backgroundColor,e.fill(),d&&(e.restore(),d=!1)),this._data.borderColor&&((0,l.drawRoundRect)(e,o-r,h-r,a-o+s,p-h+s,this._data.backgroundRoundRect*i+s),e.strokeStyle=this._data.borderColor,e.lineWidth=s,e.stroke(),d&&(e.restore(),d=!1));else if(this._data.backgroundColor&&(e.fillStyle=this._data.backgroundColor,e.fillRect(o,h,a-o,p-h),d&&(e.restore(),d=!1)),this._data.borderColor||this._data.highlightBorder){let t;this._data.borderColor?(e.strokeStyle=this._data.borderColor,t=s):(e.strokeStyle=this._data.color,(0,c.setLineStyle)(e,u.LINESTYLE_DASHED),t=Math.max(1,Math.floor(i))),e.lineWidth=t,e.beginPath(),e.moveTo(o-t/2,h-t/2),e.lineTo(o-t/2,p+t/2),e.lineTo(a+t/2,p+t/2),e.lineTo(a+t/2,h-t/2),e.lineTo(o-t/2,h-t/2),e.stroke(),d&&e.restore()}}e.fillStyle=this._data.color;const _=(o+Math.round(s.textStart*i))/i,m=.05*n;let g=(h+Math.round((s.textTop+m)*i))/i;const f=C(this._data),v=this._getLinesInfo();for(const t of v.lines)(0,d.drawScaled)(e,i,()=>e.fillText(t,_,g)),g+=n+f;e.restore()}_getLinesMaxWidth(e){if(_||m(),_.textBaseline="alphabetic",_.font=this.fontStyle(),null!==this._data&&this._data.wordWrapWidth&&!this._data.forceCalculateMaxLineWidth)return this._data.wordWrapWidth*I(this._data);let t=0;for(const i of e)t=Math.max(t,_.measureText(i).width);return t}_getInternalData(){if(null!==this._internalData)return this._internalData;const e=(0,r.ensureNotNull)(this._data),t=this._getBoxSize(),i=t.boxWidth,s=t.boxHeight,n=(0,r.ensureDefined)(e.points)[0];let a=n.y;switch(e.vertAlign){case"bottom":a-=s+e.offsetY;break;case"middle":a-=s/2;break;case"top":a+=e.offsetY}let l=n.x;const c=b(e),h=y(e),d=P(e)+c;let u;const p=a+(w(e)+h)+T(e)/2;let _;switch(e.horzAlign){case"left":l+=e.offsetX;break;case"center":l-=i/2;break;case"right":l-=i+e.offsetX}switch((0, +r.ensureDefined)(e.horzTextAlign)){case"left":_="start",u=l+d,(0,o.isRtl)()&&(e.forceTextAlign?_="left":(u=l+i-d,_="right"));break;case"center":_="center",u=l+i/2;break;case"right":_="end",u=l+i-d,(0,o.isRtl)()&&e.forceTextAlign&&(_="right")}return this._internalData={boxLeft:l,boxTop:a,boxWidth:i,boxHeight:s,textStart:u-l,textTop:p-a,textAlign:_,textBaseLine:"middle"},this._internalData}_getLinesInfo(){if(null===this._linesInfo){const e=(0,r.ensureNotNull)(this._data);let t=this.wordWrap(e.text,e.wordWrapWidth);if(void 0!==e.maxHeight){const i=function(e){const t=(0,r.ensureDefined)(e.maxHeight),i=T(e),s=C(e);return Math.floor((t+s)/(i+s))}(e);t.length>i&&(t=t.slice(0,i))}this._linesInfo={linesMaxWidth:this._getLinesMaxWidth(t),lines:t}}return this._linesInfo}_getFontInfo(){if(null===this._fontInfo){const e=(0,r.ensureNotNull)(this._data),t=T(e),i=(e.bold?"bold ":"")+(e.italic?"italic ":"")+t+"px "+e.font;this._fontInfo={fontStyle:i,fontSize:t}}return this._fontInfo}_getBoxSize(){if(null===this._boxSize){const e=this._getLinesInfo(),t=(0,r.ensureNotNull)(this._data);this._boxSize={boxWidth:v(t,e.linesMaxWidth),boxHeight:S(t,e.lines.length)}}return this._boxSize}_getPolygonPoints(){if(null!==this._polygonPoints)return this._polygonPoints;if(null===this._data)return[];const e=this._data.angle||0,{boxLeft:t,boxTop:i,boxWidth:r,boxHeight:n}=this._getInternalData(),o=this._getRotationPoint();return this._polygonPoints=[f(new s.Point(t,i),o,e),f(new s.Point(t+r,i),o,e),f(new s.Point(t+r,i+n),o,e),f(new s.Point(t,i+n),o,e)],this._polygonPoints}_getRotationPoint(){const{boxLeft:e,boxTop:t,boxWidth:i,boxHeight:n}=this._getInternalData(),{horzAlign:o,vertAlign:a}=(0,r.ensureNotNull)(this._data);let l,c;switch(o){case"center":l=e+i/2;break;case"left":l=e;break;case"right":l=e+i}switch(a){case"middle":c=t+n/2;break;case"top":c=t;break;case"bottom":c=t+n}return new s.Point(l,c)}}},6397:(e,t,i)=>{"use strict";i.d(t,{drawArrow:()=>d,TrendLineRenderer:()=>u});var s=i(16282),r=i(89684),n=i(71172),o=i(10288),a=i(5025),l=i(21344),c=i(55430);function h(e,t,i,s,r){t.save(),t.fillStyle="#000000",t.beginPath(),t.arc(e.x*r,e.y*r,i*r,0,2*Math.PI,!1),t.fill(),s.strokeWidth&&(t.lineWidth=s.strokeWidth,t.stroke()),t.restore()}function d(e,t,i,s,r,n=!1){if(t.subtract(e).length()<1)return;const o=(0,l.getArrowPoints)(e,t,s,n);for(let e=0;e0&&(l[0].x===l[1].x?(0, +c.drawVerticalLine)(e,Math.round(l[0].x*s),l[0].y*s,l[1].y*s):l[0].y===l[1].y?(0,c.drawHorizontalLine)(e,Math.round(l[0].y*s),l[0].x*s,l[1].x*s):(0,a.drawLine)(e,l[0].x*s,l[0].y*s,l[1].x*s,l[1].y*s)),i.overlayLineEndings&&this._drawEnds(e,o,i.linewidth,s)}hitTest(e,t){const i=this._data;if(null===i)return null;if("points"in i&&i.points.length<2)return null;const s=(0,l.interactionTolerance)().line,n=i.points[0],o=i.points[1],a=this._extendAndClipLineSegment(n,o,t);if(null!==a){if((0,r.distanceToSegment)(a[0],a[1],e).distance<=s)return this._hittest}return null}_extendAndClipLineSegment(e,t,i){const r=(0,s.ensureNotNull)(this._data);return(0,l.extendAndClipLineSegment)(e,t,i.cssWidth,i.cssHeight,r.extendleft,r.extendright)}_drawEnds(e,t,i,r){const o=t[0],a=t[1],l=(0,s.ensureNotNull)(this._data);switch(l.leftend){case n.LineEnd.Arrow:d(a,o,e,i,r);break;case n.LineEnd.Circle:h(o,e,i,(0,s.ensureDefined)(l.endstyle),r)}switch(l.rightend){case n.LineEnd.Arrow:d(o,a,e,i,r);break;case n.LineEnd.Circle:h(a,e,i,(0,s.ensureDefined)(l.endstyle),r)}}}},69819:(e,t,i)=>{"use strict";i.d(t,{VerticalLineRenderer:()=>a});var s=i(10288),r=i(5025),n=i(55430),o=i(21344);class a{constructor(){this._data=null,this._hitTest=new s.HitTestResult(s.HitTestResult.MOVEPOINT)}setData(e){this._data=e}setHitTest(e){this._hitTest=e}hitTest(e){if(null===this._data||null===this._hitTest)return null;const t=(0,o.interactionTolerance)().line,i=Math.abs(e.x-this._data.x)<=t+this._data.linewidth/2,s=void 0===this._data.top||this._data.top-e.y<=t,r=void 0===this._data.bottom||e.y-this._data.bottom<=t;return i&&s&&r?this._hitTest:null}draw(e,t){if(null===this._data)return;if(this._data.linewidth<=0)return;if(this._data.x<-this._data.linewidth/2||this._data.x>t.cssWidth+this._data.linewidth/2)return;const i=t.pixelRatio;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=Math.max(1,Math.floor(this._data.linewidth*i)),void 0!==this._data.linestyle&&(0,r.setLineStyle)(e,this._data.linestyle);const s=void 0!==this._data.top?Math.max(this._data.top,0):0,o=void 0!==this._data.bottom?Math.min(this._data.bottom,t.cssHeight):t.cssHeight,a=Math.round(this._data.x*i),l=Math.floor(s*i),c=Math.ceil(o*i);(0,n.drawVerticalLine)(e,a,l,c)}}},36512:(e,t,i)=>{"use strict";i.d(t,{specialZOrderBase:()=>s,sortSourcesPreOrdered:()=>r,sortSources:()=>n});const s=1e7,r={ChartEventsSource:s+1,Dividends:s+2,Splits:s+3,Earnings:s+4,LineToolOrder:s+5,LineToolPosition:s+6,LineToolExecution:s+7,AlertLabel:s+8};function n(e){return[...e].sort((e,t)=>e.zorder()-t.zorder())}},37923:(e,t,i)=>{"use strict";var s=i(5729),r=i(49382).moveToHead,n=i(22769).ExecutionsPositionController,o=i(76117).LineDataSource,a=i(50044).isPriceDataSource,l=i(67945).isLineTool,c=i(56451).PriceScale,h=i(3092).createPriceScaleSelectionStrategy,d=i(6805).PaneBase,u=i(36512).sortSources;class p extends d{constructor(e,t,i,r){super(e,t,i,r),this.m_timeScale=e,this.m_mainDataSource=null,this._properties=t,this._model=i,this._destroyed=new s, +i.properties().priceScaleSelectionStrategyName.listeners().subscribe(null,function(e){this._priceScaleSelectionStrategy=h(e.value()),this._priceScaleSelectionStrategy.apply(this)}.bind(this)),this.m_timeScale.barSpacingChanged().subscribe(this,function(){this.m_mainDataSource===this._model.mainSeries()&&this._recalculatePriceScaleByScaleRatio(this.m_mainDataSource.priceScale())}.bind(this)),t.topMargin.listeners().subscribe(this,p.prototype._updateMargins),t.bottomMargin.listeners().subscribe(this,p.prototype._updateMargins),this._updateMargins(),this._maximized=!1}destroy(){this._properties.topMargin.listeners().unsubscribe(this,p.prototype._updateMargins),this._properties.bottomMargin.listeners().unsubscribe(this,p.prototype._updateMargins),this._model.properties().priceScaleSelectionStrategyName.listeners().unsubscribeAll(this),this.m_timeScale.barSpacingChanged().unsubscribeAll(this),this._leftPriceScales.concat(this._rightPriceScales).forEach((function(e){e.modeChanged().unsubscribeAll(this),e.priceRangeChanged().unsubscribeAll(this),e.internalHeightChanged().unsubscribeAll(this)}),this);for(var e=0;ee.left){var t=r(this._leftPriceScales,this.mainDataSource().priceScale());return t.splice(e.left),t}return this._leftPriceScales}visibleRightPriceScales(){var e=this._model.priceScaleSlotsCount();if(this._rightPriceScales.length>e.right){var t=r(this._rightPriceScales,this.mainDataSource().priceScale());return t.splice(e.right),t}return this._rightPriceScales}timeScale(){return this.m_timeScale}_processMainSourceChange(){var e;if(null===this.m_mainDataSource)for(var t=0;t{this.removeSourceFromPriceScale(e),l.addDataSource(e),e.setPriceScale(l)}),this.removePriceScale(c)}this.move(r,l,!0), +this.recalculatePriceScale(r.priceScale())}}}startScrollPrice(e,t){e.startScroll(t)}scrollPriceTo(e,t){e.scrollTo(t),this.updateAllViews()}endScrollPrice(e){e.endScroll()}setPriceAutoScale(e,t){e.setMode({autoScale:t}),this.timeScale().isEmpty()||this.recalculatePriceScale(e)}defaultPriceScale(){var e=this.m_mainDataSource?this.m_mainDataSource.priceScale():null;return null===e&&(e=new c(this._model.properties().scalesProperties)),e}_priceScaleIsPrice(e){var t=e.mainSource();return!!t&&(!!TradingView.isInherited(t.constructor,TradingView.Series)||!!TradingView.isInherited(t.constructor,TradingView.Study)&&t.metaInfo().is_price_study)}findSuitableScale(e,t,i){return this._priceScaleSelectionStrategy.findSuitableScale(this,e,t,i)}createNewPriceScaleIfPossible(){return this._priceScaleSelectionStrategy.createNewPriceScaleIfPossible(this)}canCreateNewPriceScale(){return this._priceScaleSelectionStrategy.canCreateNewPriceScale(this)}mainDataSource(){return this.m_mainDataSource}recalculate(){this.recalculatePriceScale(this.m_rightPriceScale),this.recalculatePriceScale(this.m_leftPriceScale);for(var e=0;e=0;t--)TradingView.isInherited(this.m_dataSources[t].constructor,TradingView.Series)&&this._removeSourceFromCollections(t,e)}nonOverlayPricesSourcesCount(){return this.m_dataSources.filter((function(e){return(!e.properties().linkedToSeries||!e.properties().linkedToSeries.value())&&(a(e)&&e.showInObjectTree()&&!this.isOverlay(e))}),this).length}canHaveMoreNoScaleSources(){return this.nonOverlayPricesSourcesCount()>1}actionNoScaleIsEnabled(e){return!(!this.isOverlay(e)&&a(e))||this.canHaveMoreNoScaleSources()}executionsPositionController(){return this._executionsPositionController||(this._executionsPositionController=new n(this,this._model.timeScale())),this._executionsPositionController}setMaximized(e){this._maximized=e}isMaximized(){return this._maximized}properties(){return this._properties}priceScaleRatio(){return this._currentPriceScaleRatio}getPriceScaleById(e){var t=this.m_dataSources.find((function(t){return null!==t.priceScale()&&t.priceScale().id()===e}));return void 0===t?null:t.priceScale()}setPriceScaleSelectionStrategy(e){this._priceScaleSelectionStrategy=e,e.apply(this)}priceScaleIndex(e,t){switch(t){case"left":return this.leftPriceScales().indexOf(e);case"right":return this.rightPriceScales().indexOf(e)}}}p.DEFAULT_STRETCH_FACTOR=1e3,p.PANE_ANIMATION_DURATION=500,t.Pane=p},61627:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ +PlotRowSearchMode:()=>a,PlotList:()=>h,mergeMinMax:()=>d,mergePlotRows:()=>u});var s=i(16282),r=i(49382),n=i(67620);const o=(0,i(65447).getLogger)("Chart.PlotList");var a;!function(e){e[e.NearestLeft=-1]="NearestLeft",e[e.Exact=0]="Exact",e[e.NearestRight=1]="NearestRight"}(a||(a={}));function l(e){return e.index}function c(e){return e.value[0]}class h{constructor(e=null,t=null){this._items=[],this._start=0,this._end=0,this._shareRead=!1,this._minMaxCache=new Map,this._rowSearchCacheByIndex=new Map,this._rowSearchCacheByIndexWithoutEmptyValues=new Map,this._rowSearchCacheByTime=new Map,this._rowSearchCacheByTimeWithoutEmptyValues=new Map,this._plotFunctions=e||new Map,this._emptyValuePredicate=t}clear(){this._items=[],this._start=0,this._end=0,this._shareRead=!1,this._minMaxCache.clear(),this._invalidateSearchCaches()}first(){return this.size()>0?this._items[this._start]:null}last(){return this.size()>0?this._items[this._end-1]:null}firstIndex(){return this.size()>0?this._indexAt(this._start):null}lastIndex(){return this.size()>0?this._indexAt(this._end-1):null}size(){return this._end-this._start}isEmpty(){return 0===this.size()}contains(e){return null!==this.search(e,a.Exact)}valueAt(e){const t=this.search(e);return null!==t?t.value:null}add(e,t){if(this._shareRead)return o.logDebug("add: readonly collection modification attempt"),!1;const i={index:e,value:t},s=this._nonCachedSearch(e,a.Exact,l);return this._invalidateSearchCaches(),null===s?(this._items.splice(this._lowerbound(e,l),0,i),this._start=0,this._end=this._items.length,!0):(this._items[s]=i,!1)}search(e,t=a.Exact,i){return this._searchImpl(e,t,this._rowSearchCacheByIndex,this._rowSearchCacheByIndexWithoutEmptyValues,l,i)}searchByTime(e,t=a.Exact,i){return this._searchImpl(e,t,this._rowSearchCacheByTime,this._rowSearchCacheByTimeWithoutEmptyValues,c,i)}fold(e,t){let i=t;for(let t=this._start;t=i;--t){const i=this._indexAt(t),s=this._valueAt(t);if(e(i,s))return{index:i,value:s}}return null}each(e){for(let t=this._start;t!1,next:()=>{throw new Error("Invalid operation")}};let r=i-1;return{hasNext:()=>r(r+=1,this._items[r])}}minMaxOnRangeCached(e,t,i){if(this.isEmpty())return null;let s=null;for(const r of i){ +s=d(s,this._minMaxOnRangeCachedImpl(e-r.offset,t-r.offset,r.name))}return s}minMaxOnRange(e,t,i){if(this.isEmpty())return null;let s=null;for(const r of i){s=d(s,this._minMaxOnRange(e-r.offset,t-r.offset,r.name))}return s}merge(e){return this._shareRead?(o.logDebug("merge: readonly collection modification attempt"),null):0===e.length?null:this.isEmpty()||e[e.length-1].indexthis._items[this._items.length-1].index?this._append(e):1===e.length&&e[0].index===this._items[this._items.length-1].index?(this._updateLast(e[0]),e[0]):this._merge(e)}addTail(e,t=!1){let i=0;t&&this._end-this._start>0&&(i=1,this._items[this._end-this._start-1].value=e[0].value);for(let t=i;tvoid 0!==e).sort((e,t)=>e.index-t.index),this._invalidateSearchCaches(),this._minMaxCache.clear(),this._start=0,this._end=this._items.length}remove(e){if(this._shareRead)return o.logDebug("remove: readonly collection modification attempt"),null;const t=this._nonCachedSearch(e,a.NearestRight,l);if(null===t)return null;const i=this._items.splice(t);return this._end=this._items.length,this._minMaxCache.clear(),this._invalidateSearchCaches(),i.length>0?i[0]:null}state(){return{start:this._start,end:this._end,data:this._items,shareread:this._shareRead}}restoreState(e){e?(this._start=e.start,this._end=e.end,this._shareRead=e.shareread,this._items=e.data,this._minMaxCache.clear(),this._invalidateSearchCaches()):this.clear()}_indexAt(e){return this._items[e].index}_valueAt(e){return this._items[e].value}_length(){return this._items.length}_searchImpl(e,t,i,s,r,n){const o=void 0!==n?i:s,a=void 0!==n?1e4*(t+1)+n:t;let l=o.get(e);if(void 0!==l){const e=l.get(a);if(void 0!==e)return e}const c=this._nonCachedSearch(e,t,r,n);if(null===c)return null;const h={index:this._indexAt(c),value:this._valueAt(c)};return void 0===l&&(l=new Map,o.set(e,l)),l.set(a,h),h}_nonCachedSearch(e,t,i,s){const r=this._lowerbound(e,i),n=r===this._end||e!==i(this._items[r]);if(n&&t!==a.Exact)switch(t){case a.NearestLeft:return this._searchNearestLeft(r,s);case a.NearestRight:return this._searchNearestRight(r,s);default:throw new TypeError("Unknown search mode")}if(void 0===s||n||t===a.Exact)return n?null:r;switch(t){case a.NearestLeft:return this._nonEmptyNearestLeft(r,s);case a.NearestRight:return this._nonEmptyNearestRight(r,s);default:throw new TypeError("Unknown search mode")}}_nonEmptyNearestRight(e,t){const i=(0, +s.ensure)(this._emptyValuePredicate),r=(0,s.ensure)(t);for(;e=this._start&&i(this._valueAt(e),r);)e-=1;return et(e)t.index>e,this._start,this._end)}_plotMinMax(e,t,i){let s=null;const r=this._plotFunctions.get(i);if(void 0===r)throw new Error(`Plot "${i}" is not registered`);for(let i=e;is.max&&(s.max=e)))}return s}_invalidateCacheForRow(e){const t=Math.floor(e.index/30);this._minMaxCache.forEach(e=>e.delete(t))}_prepend(e){return(0,s.assert)(!this._shareRead,"collection should not be readonly"),(0,s.assert)(0!==e.length,"plotRows should not be empty"),this._invalidateSearchCaches(),this._minMaxCache.clear(),this._items=e.concat(this._items),this._start=0,this._end=this._items.length,e[0]}_append(e){return(0,s.assert)(!this._shareRead,"collection should not be readonly"),(0,s.assert)(0!==e.length,"plotRows should not be empty"),this._invalidateSearchCaches(),this._minMaxCache.clear(),this._items=this._items.concat(e),this._start=0,this._end=this._items.length,e[0]}_updateLast(e){(0,s.assert)(!this.isEmpty(),"plot list should not be empty");const t=this._items[this._end-1];(0,s.assert)(t.index===e.index,"last row index should match new row index"),this._invalidateCacheForRow(e),this._invalidateSearchCaches(),this._items[this._end-1]=e}_merge(e){return(0,s.assert)(0!==e.length,"plot rows should not be empty"),this._invalidateSearchCaches(),this._minMaxCache.clear(),this._items=u(this._items,e),this._start=0,this._end=this._items.length,e[0]}_minMaxOnRangeCachedImpl(e,t,i){if(this.isEmpty())return null;let r=null;const n=(0,s.ensureNotNull)(this.firstIndex()),o=(0,s.ensureNotNull)(this.lastIndex()),a=Math.max(e,n),l=Math.min(t,o),c=30*Math.ceil(a/30),h=Math.max(c,30*Math.floor(l/30));r=d(r,this._minMaxOnRange(a,Math.min(c,t,l),i));let u=this._minMaxCache.get(i);void 0===u&&(u=new Map,this._minMaxCache.set(i,u));for(let e=Math.max(c+1,a);et[o].index?o++:(n++,o++,r--);return r}(e,t),s=new Array(i);let r=0,n=0;const o=e.length,a=t.length;let l=0;for(;rt[n].index?(s[l]=t[n],n++):(s[l]=t[n],r++,n++),l++;for(;r{"use strict";i.d(t,{PriceAxisView:()=>p});var s=i(72927),r=i(71044),n=i(87910),o=i(50968),a=i(76553),l=i(16932),c=i(10288),h=i(55430),d=i(10992);class u{constructor(e,t){this.setData(e,t)}setData(e,t){this._data=e,this._commonData=t}draw(e,t,i,s,r,n,c){var d,u,p;const _=this._data;if(!_.visible||this._isOutOfScreen(t,r))return;const m=this._commonData,g=void 0!==_.labelIcon,f=_.ignoreOffset?0:t.offsetSize,v=t.borderSize,S=t.paddingTop+m.additionalPaddingTop,y=t.paddingBottom+m.additionalPaddingBottom,b=t.paddingInner,w=t.paddingOuter,P=t.fontSize;let C=_.text,T=_.textColor||m.textColor,x=_.secondLine||"",I=m.secondLineTextColor||T,M=_.thirdLine||"";const L=m.thirdLineTextColor||T;0===x.length&&(x=M,I=L,M=""),0===C.length&&(C=x,T=I,x=M,I=L,M=""),e.save(),e.font=t.font;const A=i.yMidCorrection(e,C)*c,k=Math.ceil(i.measureText(e,C)),E=P+S+y,D=Boolean(x),V=Boolean(M),B=D?Math.ceil(i.measureText(e,x)):0,N=V?Math.ceil(i.measureText(e,M)):0,R=v+b+w+k+f,O=B>0?v+b+w+B+f:0,F=N>0?v+b+w+N+f:0,W=Math.max(R,O,F),H=Math.max(1,Math.floor(c));let z=Math.round(E*c);z%2!=H%2&&(z+=1);const U=Math.round((P+t.lineSpacing)*c),j=Math.round(2*(P+t.lineSpacing)*c),G=Math.max(1,Math.floor(v*c)),q=_.separatorVisible?G:0,Y=_.borderVisible?G:0,$=g?z:Math.round(W*c),K=Math.round(f*c),X=Math.ceil(s*c),Z=Math.ceil(b*c),J=Math.round((null!==(d=m.fixedCoordinate)&&void 0!==d?d:m.coordinate)*c)-Math.floor(.5*c),Q=Math.floor(J+H/2-z/2),ee=Q+z,te="right"===n,ie=te?X-q:q,se=X;let re,ne=ie;const oe=(0,o.resetTransparency)(null!==(u=_.backgroung)&&void 0!==u?u:m.background);e.fillStyle=oe;const ae=2*c;if(e.textAlign=te?"right":"left",e.textBaseline="middle",te?(ne=ie-$,re=ie-K-Z-1):(ne=ie+$,re=ie+K+Z),C||g){const i=V?z+j:D?z+U:z;if(((t,s,r)=>{te?(0,h.drawRoundRectWithInnerBorder)(e,ne,Q,$,i,t,[ae,0,0,ae],Y,s,r):(0,h.drawRoundRectWithInnerBorder)(e,ie,Q,$,i,t,[0,ae,ae,0],Y,s,r)})(oe,null!==(p=m.borderColor)&&void 0!==p?p:oe,m.borderStyle),_.separatorVisible&&(e.fillStyle=t.paneBackgroundColor,e.fillRect(te?se-q:0,Q,q,ee-Q)),g){switch(_.labelIcon){case 0:this._drawPlusIcon(e,ie,ne,Q,J,ee,H);break;case 1:this._drawClockIcon(e,ie,ne,J,H,c)}return void e.restore()}e.save(),e.translate(re,(Q+ee)/2+A),(0,l.drawScaled)(e,c,()=>{e.fillStyle=T,e.fillText(C,0,0)}),e.restore()}D&&(e.fillStyle=I,e.save(),e.translate(re,(Q+ee)/2+A+U),(0,l.drawScaled)(e,c,()=>{e.fillText((0, +a.startWithLTR)(x),0,0)}),e.restore()),V&&(e.fillStyle=L,e.save(),e.translate(re,(Q+ee)/2+A+j),(0,l.drawScaled)(e,c,()=>{e.fillText((0,a.startWithLTR)(M),0,0)}),e.restore()),e.restore()}height(e){const t=this._lines();return this._data.visible&&0!==t?t*e.fontSize+(t-1)*e.lineSpacing+e.paddingTop+this._commonData.additionalPaddingTop+e.paddingBottom+this._commonData.additionalPaddingBottom:0}hitTest(e){const t=this._data.hitTestData;if(void 0===t||!this._data.visible)return null;const i=(0,n.lastMouseOrTouchEventInfo)().isTouch?10:0,o=(0,s.box)(new s.Point(t.xl-i,t.y-i),new s.Point(t.xl+t.containerWidth+i,t.y+t.containerHeight+i)),a=t.left&&(0,r.pointInBox)(e,o),l=(0,s.box)(new s.Point(t.xr-i,t.y-i),new s.Point(t.xr+t.containerWidth+i,t.y+t.containerHeight+i)),h=t.right&&(0,r.pointInBox)(e,l);if(a||h){const i=a?"left":"right";return new c.HitTestResult(c.HitTestResult.CUSTOM,{cursorType:d.PaneCursorType.Default,clickHandler:void 0===t.clickHandler?void 0:t.clickHandler.bind(this,e,i),tapHandler:void 0===t.clickHandler?void 0:t.clickHandler.bind(this,e,i),tooltip:t.tooltip})}return null}_drawPlusIcon(e,t,i,s,r,n,o){e.fillStyle=this._commonData.textColor,e.strokeStyle=this._commonData.textColor,e.lineWidth=o;const a=Math.abs(t-i);let l=Math.round(.35*a);l%2!=o%2&&(l+=1);let c=Math.round(.65*a);c%2!=o%2&&(c+=1);const h=Math.floor((a-l)/2),d=Math.min(t,i),u=d+Math.floor(a/2-o/2);e.fillRect(d+h,r,l,o),e.fillRect(u,s+h,o,l),e.beginPath(),e.arc(u+o/2,r+o/2,c/2,0,2*Math.PI,!1),e.stroke()}_drawClockIcon(e,t,i,s,r,n){e.fillStyle=this._commonData.textColor,e.lineWidth=r;const o=Math.abs(t-i);let a=Math.round(.35*o);a%2!=r%2&&(a+=1);let l=Math.round(.65*o);l%2!=r%2&&(l+=1);const c=Math.min(t,i)+Math.floor(o/2-r/2);e.save(),e.translate(c+r/2-l/2,s+r/2-l/2),e.scale(n,n);const h=new Path2D("M7.5 0.8a1 1 0 0 0 0 13.4 1 1 0 0 0 0-13.4zm0 1a1 1 0 0 1 0 11 1 1 0 0 1 0-11zm-.97-.25A3.5 3.5 0 0 0 3.5 0 3.5 3.5 0 0 0 0 3.5a3.5 3.5 0 0 0 1.75 3.03l.5-.86A2.5 2.5 0 0 1 1 3.5 2.5 2.5 0 0 1 3.5 1a2.5 2.5 0 0 1 2.17 1.25zm6.72 4.78A3.5 3.5 0 0 0 15 3.5 3.5 3.5 0 0 0 11.5 0a3.5 3.5 0 0 0-3.03 1.75l.86.5A2.5 2.5 0 0 1 11.5 1 2.5 2.5 0 0 1 14 3.5a2.5 2.5 0 0 1-1.25 2.17zM7 5h1v5H7zm3 2v1H5V7z");e.fill(h),e.restore()}_lines(){const e=this._data;return(e.text?1:0)+(e.secondLine?1:0)+(e.thirdLine?1:0)}_isOutOfScreen(e,t){var i;const s=this._commonData,r=null!==(i=s.fixedCoordinate)&&void 0!==i?i:s.coordinate,n=this.height(e),o=n/this._lines();return r-o/2-3>t||r+(n-o/2)+3<0}}class p{constructor(e){this._commonRendererData={coordinate:0,textColor:"#FFF",background:"#000",additionalPaddingBottom:0,additionalPaddingTop:0},this._axisRendererData={text:"",visible:!1,separatorVisible:!1,borderVisible:!1,ignoreOffset:!1},this._paneRendererData={text:"",visible:!1,separatorVisible:!0,borderVisible:!1,ignoreOffset:!0},this._invalidated=!0,this._axisRenderer=new(e||u)(this._axisRendererData,this._commonRendererData),this._paneRenderer=new(e||u)(this._paneRendererData,this._commonRendererData)}text(){return this._updateRendererDataIfNeeded(), +this._axisRendererData.text}secondLineText(){return this._updateRendererDataIfNeeded(),this._axisRendererData.secondLine}thirdLineText(){return this._updateRendererDataIfNeeded(),this._axisRendererData.thirdLine}background(){return this._updateRendererDataIfNeeded(),this._commonRendererData.background}color(){return this._updateRendererDataIfNeeded(),this.generateTextColor(this.background())}generateTextColor(e){return(0,o.colorFromBackground)(e)}coordinate(){return this._updateRendererDataIfNeeded(),this._commonRendererData.coordinate}floatCoordinate(){var e;return this._updateRendererDataIfNeeded(),null!==(e=this._commonRendererData.floatCoordinate)&&void 0!==e?e:this._commonRendererData.coordinate}update(){this._invalidated=!0}height(e){return this._updateRendererDataIfNeeded(),Math.max(this._axisRenderer.height(e),this._paneRenderer.height(e))}getFixedCoordinate(){return this._commonRendererData.fixedCoordinate||0}setFixedCoordinate(e){this._commonRendererData.fixedCoordinate=e}isVisible(){return this._updateRendererDataIfNeeded(),this._axisRendererData.visible||this._paneRendererData.visible}isAxisLabelVisible(){return this._updateRendererDataIfNeeded(),this._axisRendererData.visible}isPaneLabelVisible(){return this._updateRendererDataIfNeeded(),this._paneRendererData.visible}renderer(){return this._updateRendererDataIfNeeded(),this._axisRenderer}paneRenderer(){return this._updateRendererDataIfNeeded(),this._paneRenderer}setPaneRendererLabelIcon(e){this._paneRendererData.labelIcon=e}setPaneLabelVisible(e){this._paneRendererData.visible=e,this._invalidated=!0}ignoreAlignment(){return!1}_updateRendererDataIfNeeded(){this._invalidated&&(this._commonRendererData.fixedCoordinate=void 0,this._updateRendererData(this._axisRendererData,this._paneRendererData,this._commonRendererData),this._invalidated=!1)}}},50044:(e,t,i)=>{"use strict";i.d(t,{isPriceDataSource:()=>a,PriceDataSource:()=>l});var s=i(46015),r=i(5729),n=i.n(r),o=i(58007);function a(e){return e instanceof l}class l extends s.DataSource{constructor(e){super(),this._formatterChanged=new(n()),this._priceStepChanged=new(n()),this._currencyChanged=new(n()),this._unitChanged=new(n()),this._priceRangeReadyChanged=new(n()),this._priceStep=null,this._priceRangeReady=!0,this._model=e}barColorer(){return null}base(){return 0}model(){return this._model}currencyChanged(){return this._currencyChanged}isCurrencySource(){return!0}unitChanged(){return this._unitChanged}isUnitSource(){return!0}priceRange(e,t){return null}isDraggable(){return!0}priceLineColor(e){return e}formatterChanged(){return this._formatterChanged}priceStep(e){return this._priceStep}priceStepChanged(){return this._priceStepChanged}isIncludedInAutoScale(){return!0}correctScaleMargins(e){return e}priceRangeReady(){return this._priceRangeReady}priceRangeReadyChanged(){return this._priceRangeReadyChanged}disablePriceRangeReady(){const e=this.priceScale();null===e||e.isAutoScale()||e.mainSource()!==this||(this._priceRangeReady=!1,e.recalculatePriceRangeOnce()),this._priceRangeReadyChanged.fire(!1)} +statusView(){return null}legendView(){return null}marketStatusModel(){return null}dataUpdatedModeModel(){return null}dataProblemModel(){return null}_enablePriceRangeReady(){this._priceRangeReady=!0,this._priceRangeReadyChanged.fire(!0)}_onSourceCurrencyChanged(){(0,o.isSymbolSource)(this)||this._currencyChanged.fire()}_onSourceUnitChanged(){(0,o.isSymbolSource)(this)||this._unitChanged.fire()}_onSourcePriceRangeReadyChanged(e){(0,o.isSymbolSource)(this)||e||this.disablePriceRangeReady()}}},46556:(e,t,i)=>{"use strict";i.d(t,{PriceLineAxisView:()=>c,SeriesPriceLineAxisView:()=>h,StudyPriceLineAxisView:()=>d});var s=i(95426),r=i(16282),n=i(5025),o=i(33420),a=i(55430);class l{constructor(e,t){this.setData(e,t)}setData(e,t){this._data=e,this._commonData=t}draw(e,t,i,s,l,c,h){var d;if(!this._data.visible)return;const u=null!==(d=this._commonData.fixedCoordinate)&&void 0!==d?d:this._commonData.coordinate;e.lineWidth=Math.max(1,Math.floor((0,r.ensureDefined)(this._data.linewidth)*h)),e.lineCap="butt",(0,n.setLineStyle)(e,void 0===this._data.linestyle?o.LINESTYLE_DOTTED:this._data.linestyle),e.strokeStyle=this._commonData.textColor,(0,a.drawHorizontalLine)(e,Math.round(u*h),0,Math.ceil(s*h))}height(e){return 0}}class c extends s.PriceAxisView{constructor(e){super(e||l)}ignoreAlignment(){return!0}_updateRendererData(e,t,i){if(t.visible=!1,e.visible=!1,!this._isVisible())return;const s=this._value();s.noData||(i.background="",i.textColor=this._priceLineColor(s.color),i.coordinate=s.coordinate,i.floatCoordinate=s.floatCoordinate,e.linewidth=this._lineWidth(),e.linestyle=this._lineStyle(),e.backgroundAreaVisible=this._backgroundAreaVisible(),e.backgroundAreaColor=this._backgroundAreaColor(),e.backgroundAreaHeight=this._backgroundAreaHeight(),e.visible=!0)}_lineStyle(){return o.LINESTYLE_DOTTED}_backgroundAreaVisible(){return!1}_backgroundAreaColor(){return""}_backgroundAreaHeight(){return 0}}class h extends c{constructor(e){super(),this._series=e}_value(){return this._series.lastValueData(void 0,!0)}_priceLineColor(e){return this._series.priceLineColor(e)}_lineWidth(){return this._series.properties().childs().priceLineWidth.value()}_isVisible(){const e=this._series.model().properties().childs().scalesProperties.childs().showSeriesLastValue.value();return this._series.properties().childs().showPriceLine.value()&&e}}class d extends c{constructor(e,t){super(),this._study=e,this._plotname=t}_value(){return this._study.lastValueData(this._plotname,!0)}_lineWidth(){return this._study.properties().styles[this._plotname].linewidth.value()}_lineStyle(){return o.LINESTYLE_DOTTED}_priceLineColor(e){return e}_isVisible(){const e=this._study.model().properties().childs().scalesProperties.childs().showStudyLastValue.value();return this._study.properties().styles[this._plotname].trackPrice.value()&&e}}},63339:(e,t,i)=>{"use strict";i.d(t,{PriceScaleBase:()=>L});var s=i(16282),r=i(47903),n=i(5729),o=i.n(n),a=i(49382),l=i(25303),c=i(77036),h=i(95975),d=i(50044),u=i(674),p=i.n(u),_=i(17e3),m=i(58007),g=i(25436),f=i(42010),v=i(36512),S=i(57968) +;class y{constructor(e,t){if(this._base=e,this._integralDividers=t,(0,S.isBaseDecimal)(this._base))this._fractionalDividers=[2,2.5,2];else{this._fractionalDividers=[];for(let e=this._base;1!==e;){if(e%2==0)this._fractionalDividers.push(2),e/=2;else{if(e%5!=0)throw new Error("unexpected base");this._fractionalDividers.push(2),this._fractionalDividers.push(2.5),e/=5}if(this._fractionalDividers.length>100)throw new Error("something wrong with base")}}}tickSpan(e,t,i){const s=0===this._base?0:1/this._base;let r=Math.pow(10,Math.max(0,Math.ceil((0,S.log10)(e-t)))),n=0,o=this._integralDividers[0];for(;;){const e=(0,S.greaterOrEqual)(r,s,1e-14)&&r>s+1e-14,t=(0,S.greaterOrEqual)(r,i*o,1e-14),a=(0,S.greaterOrEqual)(r,1,1e-14);if(!(e&&t&&a))break;r/=o,o=this._integralDividers[++n%this._integralDividers.length]}if(r<=s+1e-14&&(r=s),r=Math.max(1,r),this._fractionalDividers.length>0&&(0,S.equal)(r,1,1e-14))for(n=0,o=this._fractionalDividers[0];(0,S.greaterOrEqual)(r,i*o,1e-14)&&r>s+1e-14;)r/=o,o=this._fractionalDividers[++n%this._fractionalDividers.length];return r}}class b{constructor(e,t,i,s){this._marks=null,this._priceScale=e,this._base=t,this._coordinateToLogicalFunc=i,this._logicalToCoordinateFunc=s}base(){return this._base}setBase(e){if(e<0)throw new Error("base < 0");this._base=e}tickSpan(e,t,i=0){if(ei&&(l=c);const h=o.tickSpan(e,t,r);h>i&&(l=Math.min(l,h));const d=a.tickSpan(e,t,r);return d>i&&(l=Math.min(l,d)),l>0?l:e-t}rebuildTickMarks(){this._marks=null}marks(){return null===this._marks&&(this._marks=this._rebuildTickMarksImpl()),this._marks}_fontHeight(){return this._priceScale.fontSize()}_tickMarkHeight(){return Math.ceil(2.5*this._fontHeight())}_rebuildTickMarksImpl(){const e=this._priceScale,t=[],i=e.mainSource();if(e.isEmpty()||null===i)return t;let s=i.firstValue();null===s&&(s=0);const r=e.height(),n=this._coordinateToLogicalFunc(r-1,s),o=this._coordinateToLogicalFunc(0,s),a=Math.max(n,o),l=Math.min(n,o);if(a===l)return t;let c=this.tickSpan(a,l),h=a%c;h+=h<0?c:0;const d=a>=l?1:-1;let u=null;const p=e.formatter();let _=NaN;for(let i=a-h;i>l;i-=c){i===_&&(c=this.tickSpan(a,l,c)),_=i;const r=this._logicalToCoordinateFunc(i,s);null!==u&&Math.abs(r-u)e?(0,c.toLog)(e,this._logFormula):e),null!==h)for(let e=0;ethis._currencyCache=null),e.unitChanged().subscribe(this,()=>this._unitCache=null),(0,m.isSymbolSource)(e)&&(this._seriesLikeSources.push(e),this._seriesLikeSourcesSet.add(e),e.symbolResolved().subscribe(this,()=>{this._currencyCache=null,this._unitCache=null}),e instanceof h.Series))){const t=e.properties();this._hasSeries||(t.childs().lockScale&&(this.setMode({lockScale:t.childs().lockScale.value()}),t.removeProperty("lockScale")), +t.childs().pnfStyle.child("lockScale")&&t.childs().pnfStyle.removeProperty("lockScale")),this._hasSeries=!0}e.properties().visible.listeners().subscribe(this,this._dropScaleCache),(0,_.isStudy)(e)&&(e.onIsActualIntervalChange().subscribe(this,this._dropScaleCache),e.onHibernationStateChange().subscribe(this,this._dropScaleCache),0===this._studiesCount&&(0,P.hideAllIndicators)().subscribe(this,this._dropScaleCache),this._studiesCount++),(0,w.isLineTool)(e)&&(0===this._drawingCount&&(0,P.hideAllDrawings)().subscribe(this,this._dropScaleCache),this._drawingCount++),this.m_dataSources.push(e),this._mainSource=null,this._correctedMarginsCache=null,this._sourcesToUpdateViews=null,this._dropScaleCache(),this.updateFormatter(),this._initScaleProperties(),this.invalidateSourcesCache()}}removeDataSource(e){const t=this.m_dataSources.indexOf(e);if((0,s.assert)(-1!==t,"Source is not attached to scale"),e.properties().visible.listeners().unsubscribe(this,this._dropScaleCache),this.m_dataSources.splice(t,1),(0,d.isPriceDataSource)(e)){const t=this._priceDataSources.indexOf(e);if((0,s.assert)(-1!==t,"Source is not found"),this._priceDataSources.splice(t,1),(0,m.isSymbolSource)(e)){const t=this._seriesLikeSources.indexOf(e);(0,s.assert)(-1!==t,"Source is not found"),this._seriesLikeSources.splice(t,1),this._seriesLikeSourcesSet.delete(e),e.symbolResolved().unsubscribeAll(this),e instanceof h.Series&&(this._hasSeries=!1)}e.currencyChanged().unsubscribeAll(this),e.unitChanged().unsubscribeAll(this)}this.mainSource()||this.setMode({autoScale:!0}),(0,_.isStudy)(e)&&(e.onIsActualIntervalChange().unsubscribe(this,this._dropScaleCache),e.onHibernationStateChange().unsubscribe(this,this._dropScaleCache),this._studiesCount--,0===this._studiesCount&&(0,P.hideAllIndicators)().unsubscribe(this,this._dropScaleCache)),(0,w.isLineTool)(e)&&(this._drawingCount--,0===this._drawingCount&&(0,P.hideAllDrawings)().unsubscribe(this,this._dropScaleCache)),this._mainSource=null,this._correctedMarginsCache=null,this._sourcesForAutoscale=null,this._sourcesToUpdateViews=null,this.updateFormatter(),this.invalidateSourcesCache(),0===this.m_dataSources.length&&this._lastSourceRemoved.fire(),this._currencyCache=null,this._unitCache=null}currency(e){if(null!==this._currencyCache&&e.size()===this._currencyCache.availableCurrenciesCount)return this._currencyCache.value;let t;const i=new Set,r=new Set,n=new Set,o=new Map;let a,l=0===this._seriesLikeSources.length,c=!0,h=0,d=0;for(const d of this._seriesLikeSources){if(!d.isVisible())continue;const u=d.symbolInfo();if(null===u){t=null;break}const p=(0,g.symbolOriginalCurrency)(u);if(null===p){t=null;break}o.set(p,(0,s.ensureNotNull)((0,g.symbolOriginalCurrency)(u,!0)));const _=d.currency();if(null===_){t=null;break}o.set(_,(0,s.ensureNotNull)((0,g.symbolCurrency)(u,!0)));const m=(0,g.symbolBaseCurrency)(u);null!==m&&r.add(m),c=c&&p===_,n.add(_),i.add(p),void 0===a?a=_:null!==a&&a!==_&&(a=null),l||e.convertible(_)&&(0,g.symbolCurrencyConvertible)(u)||(l=!0),h+=1}if(null!==t)for(const i of this._priceDataSources){ +if(this._seriesLikeSourcesSet.has(i))continue;const r=i;if(!r.isCurrencySource()||!r.isVisible())continue;const c=r.currency();if(null===c){t=null;break}n.add(c),d+=1;const h=(0,s.ensureNotNull)(r.symbolSource()),u=r.currencySourceSymbolInfo();if(null===u){t=null;break}if(l||e.convertible(c)&&(0,g.symbolCurrencyConvertible)(u)||(l=!0),o.set(c,(0,s.ensureNotNull)((0,g.symbolCurrency)(u,!0))),this._seriesLikeSourcesSet.has(h)||(l=!0),void 0===a)a=c;else if(null!==a&&a!==c){a=null;break}}return void 0===t&&(t=0===h&&0===d?null:{readOnly:l,selectedCurrency:a||null,currencies:n,originalCurrencies:i,baseCurrencies:r,symbolSourceCount:h,allCurrenciesAreOriginal:c,displayedValues:o}),this._currencyCache={value:t,availableCurrenciesCount:e.size()},t}unit(e){if(null!==this._unitCache&&e.size()===this._unitCache.availableUnitsCount)return this._unitCache.value;let t;const i=new Set,r=new Set,n=new Map,o=new Map;let l,c=0===this._seriesLikeSources.length?new Set:e.allGroups(),h=!0,d=0,u=0;for(const s of this._seriesLikeSources){if(!s.isVisible())continue;const u=s.symbolInfo();if(null===u){t=null;break}const p=(0,g.symbolOriginalUnit)(u);if(null===p){t=null;break}n.set(p,e.name(p)),o.set(p,e.description(p));const _=s.unit();if(null===_){t=null;break}if(n.set(_,e.name(_)),o.set(_,e.description(_)),h=h&&p===_,r.add(_),i.add(p),void 0===l?l=_:null!==l&&l!==_&&(l=null),c.size>0){const t=(0,f.unitConvertibleGroups)(u,_,e);c=(0,a.intersect)(c,new Set(t))}d+=1}if(null!==t)for(const i of this._priceDataSources){if(this._seriesLikeSourcesSet.has(i))continue;const h=i;if(!h.isUnitSource()||!h.isVisible())continue;const d=h.unit();if(null===d){t=null;break}r.add(d),u+=1;const p=(0,s.ensureNotNull)(h.symbolSource()),_=p.symbolInfo();if(null===_){t=null;break}if(c.size>0){const t=(0,f.unitConvertibleGroups)(_,d,e);c=(0,a.intersect)(c,new Set(t))}if(n.set(d,e.name(d)),o.set(d,e.description(d)),this._seriesLikeSourcesSet.has(p)||(c=new Set),void 0===l)l=d;else if(null!==l&&l!==d){l=null;break}}if(void 0===t)if(0===d&&0===u)t=null;else{const e=l||null;t={availableGroups:c,selectedUnit:e,units:r,originalUnits:i,symbolSourceCount:d,allUnitsAreOriginal:h,names:n,descriptions:o}}return this._unitCache={value:t,availableUnitsCount:e.size()},t}setMargins(e){if(!(0,r.isNumber)(e.top)||!(0,r.isNumber)(e.bottom))throw new TypeError("invalid margin");if(e.top<0||e.top>30||e.bottom<0||e.bottom>30)throw new RangeError("invalid margin");this._margins.top===e.top&&this._margins.bottom===e.bottom||(this._margins=e,this._correctedMarginsCache=null,this._invalidateInternalHeightCache(),this._marksCache=null)}topMargin(){return this._correctedMargins().top}bottomMargin(){return this._correctedMargins().bottom}invalidateMargins(){this._correctedMarginsCache=null}topPixelMargin(){return this.isInverted()?this.bottomMargin()*this.height()+this._bottomPixelMargin:this.topMargin()*this.height()+this._topPixelMargin}bottomPixelMargin(){return this.isInverted()?this.topMargin()*this.height()+this._topPixelMargin:this.bottomMargin()*this.height()+this._bottomPixelMargin +}marks(){return this._makeSureItIsValid(),null===this._marksCache&&(this._markBuilder.rebuildTickMarks(),this._marksCache=this._markBuilder.marks(),this._onMarksChanged.fire()),this._marksCache}onMarksChanged(){return this._onMarksChanged}priceRangeInPrice(){if(this.isEmpty())return null;const e=this.mainSource();if(null===e)return null;const t=(0,s.ensureNotNull)(e.firstValue()),i=this.height();return{from:this.coordinateToPrice(i-1,t),to:this.coordinateToPrice(0,t)}}setPriceRangeInPrice(e){if(this.isPercentage()||this.isIndexedTo100())return;const t=this.isInverted(),i=t?this.bottomMargin():this.topMargin(),s=t?this.topMargin():this.bottomMargin(),r=this.isLog();let n=r?(0,c.toLog)(e.from,this._logFormula):e.from,o=r?(0,c.toLog)(e.to,this._logFormula):e.to;const a=o-n;n+=s*a,o-=i*a,this.setMode({autoScale:!1}),this.setPriceRange(new l.PriceRange(n,o)),this._marksCache=null,this._onMarksChanged.fire()}hasMainSeries(){return this._hasSeries}getStudies(){return this.dataSources().filter(_.isStudy)}lastSourceRemoved(){return this._lastSourceRemoved}sourcesForAutoscale(){return this._mainSource&&this._scaleSeriesOnly!==this._scalesProperties.childs().scaleSeriesOnly.value()&&(this._sourcesForAutoscale=null),this._sourcesForAutoscale||(this._sourcesForAutoscale=this._recalculateSourcesForAutoscale()),this._sourcesForAutoscale}recalculatePriceRange(e){this._invalidatedForRange={visibleBars:e,isValid:!1}}internalHeightChanged(){return this._internalHeightChanged}orderedSources(){if(this._cachedOrderedSoruces)return this._cachedOrderedSoruces;let e=this.m_dataSources.slice();return e=(0,v.sortSources)(e),this._cachedOrderedSoruces=e,this._cachedOrderedSoruces}invalidateSourcesCache(){this._cachedOrderedSoruces=null,this._sourcesToUpdateViews=null}startScale(e){var t,i;this.isEmpty()||this.isPercentage()||this.isIndexedTo100()||null!==this._scaleStartPoint||null!==this._priceRangeSnapshot||(this._scaleStartPoint=this.m_height-e,this._priceRangeSnapshot=null!==(i=null===(t=this.priceRange())||void 0===t?void 0:t.clone())&&void 0!==i?i:null)}scaleTo(e){if(this.isPercentage()||this.isIndexedTo100()||null===this._scaleStartPoint)return;this.setMode({autoScale:!1}),(e=this.m_height-e)<0&&(e=0);let t=(this._scaleStartPoint+.2*(this.m_height-1))/(e+.2*(this.m_height-1));const i=(0,s.ensureNotNull)(this._priceRangeSnapshot).clone();t=Math.max(t,.1),i.scaleAroundCenter(t),this.setPriceRange(i)}endScale(){this.isPercentage()||this.isIndexedTo100()||null!==this._scaleStartPoint&&(this._scaleStartPoint=null,this._priceRangeSnapshot=null)}startTwoPointsScale(e,t){if(this.isEmpty()||this.isPercentage()||this.isIndexedTo100()||null!==this._twoPointsScaleStartPosition)return;const i=Math.min(e,t),s=Math.max(e,t);this._twoPointsScaleStartPosition={topLogical:this._coordinateToLogical(i),bottomLogical:this._coordinateToLogical(s)}}twoPointsScale(e,t){if(this.isPercentage()||this.isIndexedTo100()||null===this._twoPointsScaleStartPosition)return;this.setMode({autoScale:!1}) +;const i=Math.min(e,t),s=Math.max(e,t),{topLogical:r,bottomLogical:n}=this._twoPointsScaleStartPosition,o=this.bottomPixelMargin(),a=this.internalHeight()-1,c=(this._invertedCoordinate(i)-o)/a,h=(n-r)/((this._invertedCoordinate(s)-o)/a-c),d=r-h*c,u=d+h;this.setPriceRange(new l.PriceRange(this.priceToLogical(d),this.priceToLogical(u)))}endTwoPointsScale(){this._twoPointsScaleStartPosition=null}startScroll(e){var t,i;this.isAutoScale()||null===this._scrollStartPoint&&null===this._priceRangeSnapshot&&(this.isEmpty()||(this._scrollStartPoint=e,this._priceRangeSnapshot=null!==(i=null===(t=this.priceRange())||void 0===t?void 0:t.clone())&&void 0!==i?i:null))}scrollTo(e){if(this.isAutoScale())return;if(null===this._scrollStartPoint||null===this._priceRangeSnapshot)return;const t=this.priceRange();if(null===t)return;let i=e-this._scrollStartPoint;this.isInverted()&&(i*=-1);const s=i*(t.length()/(this.internalHeight()-1)),r=this._priceRangeSnapshot.clone();r.shift(s),this.setPriceRange(r,!0),this._marksCache=null}endScroll(){this.isAutoScale()||null!==this._scrollStartPoint&&(this._scrollStartPoint=null,this._priceRangeSnapshot=null)}_recalculateSourcesForAutoscale(){this._mainSource&&(this._scaleSeriesOnly=this._scalesProperties.childs().scaleSeriesOnly.value());const e=this._scaleSeriesOnly&&this._hasSeries;return this.m_dataSources.filter(t=>!!(t.properties().visible.value()||t instanceof h.Series)&&(e?t instanceof h.Series:(0,_.isStudy)(t)?!t.isSourceHidden()&&t.isIncludedInAutoScale():t.isIncludedInAutoScale()))}_updateAutoScaleDisabledProperty(e){const t=this._properties.childs(),i=t.indexedTo100.value()||t.percentage.value()||t.lockScale.value();e?t.autoScaleDisabled.setValueSilently(i):t.autoScaleDisabled.setValue(i)}_setAutoScaleValueWithDependentProperties(e){const t=this._properties.childs();t.autoScale.setValueSilently(e),e&&(t.percentage.setValueSilently(!1),t.indexedTo100.setValueSilently(!1),t.lockScale.setValueSilently(!1),t.logDisabled.setValueSilently(!1)),this._updateAutoScaleDisabledProperty(!0)}_setLockScaleValueWithDependentProperties(e){const t=this._properties.childs();t.lockScale.setValueSilently(e),e&&(t.autoScale.setValueSilently(!1),t.percentage.setValueSilently(!1),t.indexedTo100.setValueSilently(!1),t.log.setValueSilently(!1)),t.percentageDisabled.setValueSilently(e),t.logDisabled.setValueSilently(e),this._updateAutoScaleDisabledProperty(!0)}_setPercentageValueWithDependentProperties(e){const t=this._properties.childs();t.percentage.setValueSilently(e),e&&(t.autoScale.setValueSilently(!0),t.log.setValueSilently(!1),t.lockScale.setValueSilently(!1),t.indexedTo100.setValueSilently(!1)),this._updateAutoScaleDisabledProperty(!0)}_setIndexedTo100ValueWithDependentProperties(e){const t=this._properties.childs();t.indexedTo100.setValueSilently(e),e&&(t.autoScale.setValueSilently(!0),t.log.setValueSilently(!1),t.lockScale.setValueSilently(!1),t.percentage.setValueSilently(!1)),this._updateAutoScaleDisabledProperty(!0)}_setLogValueWithDependentProperties(e){const t=this._properties.childs() +;t.log.setValueSilently(e),e&&(t.lockScale.setValueSilently(!1),t.percentage.setValueSilently(!1),t.indexedTo100.setValueSilently(!1)),this._updateAutoScaleDisabledProperty(!0)}_recalculatePriceRangeImpl(){const e=this._invalidatedForRange.visibleBars;if(null===e)return;let t=null;const i=this.sourcesForAutoscale(),s=this.isPercentage(),r=this.isIndexedTo100();let n=0,o=0;for(const a of i){if(!a.properties().visible.value())continue;const i=a.firstValue();if(null===i)continue;const l=e.firstBar(),h=e.lastBar(),d=a.autoScaleInfo(l,h);let u=d.range;u&&(s?u=(0,c.toPercentRange)(u,i):r&&(u=(0,c.toIndexedTo100Range)(u,i)),t=null===t?u:t.merge(u)),void 0!==d.topPixelMargin&&(n=Math.max(n,d.topPixelMargin)),void 0!==d.bottomPixelMargin&&(o=Math.max(o,d.bottomPixelMargin))}if((Math.abs(n-this._topPixelMargin)>0||Math.abs(o-this._bottomPixelMargin)>0)&&(this._bottomPixelMargin=o,this._topPixelMargin=n,this._marksCache=null,this._invalidateInternalHeightCache()),t){if(t.minValue()===t.maxValue()&&(t=new l.PriceRange(t.minValue()-.5,t.maxValue()+.5)),this.isLog()){const e=this._convertPriceRangeFromLog(t),i=(0,c.logFormulaForPriceRange)(e);if(!(0,c.logFormulasAreSame)(i,this._logFormula)){const s=this._priceRangeSnapshot?this._convertPriceRangeFromLog(this._priceRangeSnapshot):null;this._logFormula=i,t=this._convertPriceRangeToLog(e),s&&(this._priceRangeSnapshot=this._convertPriceRangeToLog(s))}}this.setPriceRange(t)}else this.m_priceRange||(this.setPriceRange(new l.PriceRange(-.5,.5)),this._logFormula=(0,c.logFormulaForPriceRange)(null));this._invalidatedForRange.isValid=!0;const a=this.mainSource();null!==a&&this._recalculatePriceRangeOnce&&(this._recalculatePriceRangeOnce=!a.priceRangeReady())}_makeSureItIsValid(){this._invalidatedForRange.isValid||(this._invalidatedForRange.isValid=!0,this._recalculatePriceRangeImpl())}_invalidateInternalHeightCache(){this._internalHeightCache=null,this._internalHeightChanged.fire()}_coordinateToLogical(e){if(this._makeSureItIsValid(),this.isEmpty())return 0;const t=this._invertedCoordinate(e),i=(0,s.ensureNotNull)(this.priceRange()),r=i.minValue()+(i.maxValue()-i.minValue())*((t-this.bottomPixelMargin())/(this.internalHeight()-1));return this.logicalToPrice(r)}_logicalToCoordinate(e){if(this._makeSureItIsValid(),this.isEmpty())return 0;e=this.priceToLogical(e);const t=(0,s.ensureNotNull)(this.priceRange()),i=this.bottomPixelMargin()+(this.internalHeight()-1)*(e-t.minValue())/(t.maxValue()-t.minValue());return this._invertedCoordinate(i)}_dropScaleCache(){this._sourcesForAutoscale=null,this._currencyCache=null,this._unitCache=null}_invertedCoordinate(e){return this.isInverted()?e:this.height()-1-e}_initScaleProperties(){const e=this.isLockScale(),t=this.properties().childs();e&&(t.percentage.setValue(!1),t.indexedTo100.setValue(!1),t.log.setValue(!1),t.autoScale.setValue(!1)),t.percentageDisabled.setValue(e),t.logDisabled.setValue(e),this._updateAutoScaleDisabledProperty(!1),t.percentage.value()&&(t.log.setValue(!1),t.indexedTo100.setValue(!1)),t.indexedTo100.value()&&(t.log.setValue(!1), +t.percentage.setValue(!1))}_correctedMargins(){if(null===this._correctedMarginsCache){const e=this.mainSource();this._correctedMarginsCache=null!==e?e.correctScaleMargins(this._margins):this._margins}return this._correctedMarginsCache}_getSourcesToUpdateViews(){return this._sourcesToUpdateViews||(this._sourcesToUpdateViews=this.m_dataSources.filter(e=>!(0,w.isLineTool)(e)||e.isActualSymbol()&&e.isActualCurrency())),this._sourcesToUpdateViews}_mainSourceFormatter(){const e=this.mainSource();return(null==e?void 0:e.formatter())||I}_priceToPercentOrIndexedTo100IfNeeded(e,t){return this.isPercentage()?(0,c.toPercent)(e,t):this.isIndexedTo100()?(0,c.toIndexedTo100)(e,t):e}}},84995:(e,t,i)=>{"use strict";var s;i.d(t,{PriceAxisLastValueMode:()=>s}),function(e){e[e.LastPriceAndPercentageValue=0]="LastPriceAndPercentageValue",e[e.LastValueAccordingToScale=1]="LastValueAccordingToScale"}(s||(s={}))},77036:(e,t,i)=>{"use strict";i.r(t),i.d(t,{fromPercent:()=>o,toPercent:()=>a,toPercentRange:()=>l,fromIndexedTo100:()=>c,toIndexedTo100:()=>h,toIndexedTo100Range:()=>d,toLog:()=>u,fromLog:()=>p,logFormulaForPriceRange:()=>_,logFormulasAreSame:()=>m,getCurrentModePriceText:()=>g,getOppositeModePriceText:()=>f});var s=i(25303),r=i(57968);const n={logicalOffset:4,coordOffset:1e-4};function o(e,t){return t<0&&(e=-e),e/100*t+t}function a(e,t){const i=100*(e-t)/t;return t<0?-i:i}function l(e,t){const i=a(e.minValue(),t),r=a(e.maxValue(),t);return new s.PriceRange(i,r)}function c(e,t){return t<0&&(e=-e),(e-=100)/100*t+t}function h(e,t){const i=100*(e-t)/t+100;return t<0?-i:i}function d(e,t){const i=h(e.minValue(),t),r=h(e.maxValue(),t);return new s.PriceRange(i,r)}function u(e,t){const i=Math.abs(e);if(i<1e-15)return 0;const s=(0,r.log10)(i+t.coordOffset)+t.logicalOffset;return e<0?-s:s}function p(e,t){const i=Math.abs(e);if(i<1e-15)return 0;const s=Math.pow(10,i-t.logicalOffset)-t.coordOffset;return e<0?-s:s}function _(e){if(null===e)return n;const t=Math.abs(e.maxValue()-e.minValue());if(t>=1||t<1e-15)return n;const i=Math.ceil(Math.abs(Math.log10(t))),s=n.logicalOffset+i;return{logicalOffset:s,coordOffset:1/Math.pow(10,s)}}function m(e,t){return e.logicalOffset===t.logicalOffset&&e.coordOffset===t.coordOffset}function g(e,t){return e.isPercentage()?t.formattedPricePercentage:e.isIndexedTo100()?t.formattedPriceIndexedTo100:t.formattedPriceAbsolute}function f(e,t){return e.isPercentage()||e.isIndexedTo100()?t.formattedPriceAbsolute:t.formattedPricePercentage}},25303:(e,t,i)=>{"use strict";i.r(t),i.d(t,{PriceRange:()=>n});var s=i(47903);const r=(0,i(65447).getLogger)("Chart.PriceRange");class n{constructor(e,t){if(null!==e&&"object"==typeof e){const t=e;this._minValue=t.m_minValue,this._maxValue=t.m_maxValue}else{const i=e;this._minValue=i,void 0!==t&&(this._maxValue=t)}}equals(e){return this._minValue===e._minValue&&this._maxValue===e._maxValue}clone(){return new n(this._minValue,this._maxValue)}minValue(){return this._minValue}setMinValue(e){this._minValue=e}maxValue(){return this._maxValue}setMaxValue(e){this._maxValue=e}length(){ +return this._maxValue-this._minValue}isEmpty(){return this._maxValue===this._minValue||this._maxValue!=this._maxValue||this._minValue!=this._minValue}serialize(){return{m_maxValue:this._maxValue,m_minValue:this._minValue}}state(){return{max:this._maxValue,min:this._minValue}}merge(e){return new n(Math.min(this.minValue(),e.minValue()),Math.max(this.maxValue(),e.maxValue()))}apply(e,t){this._minValue=Math.min(this._minValue,e),this._maxValue=Math.max(this._maxValue,t)}set(e,t){this._minValue=e,this._maxValue=t}scaleAroundCenter(e){if(!(0,s.isNumber)(e))return void r.logDebug("PriceRange.scaleAroundCenter: invalid coeff");if(0===this._maxValue-this._minValue)return;const t=.5*(this._maxValue+this._minValue);let i=this._maxValue-t,n=this._minValue-t;i*=e,n*=e,this._maxValue=t+i,this._minValue=t+n}shift(e){(0,s.isNumber)(e)?(this._maxValue+=e,this._minValue+=e):r.logDebug("PriceRange.shift: invalid coeff")}containsStrictly(e){return e.minValue()>this._minValue&&e.maxValue(){"use strict";var s=i(5729),r=i(63339).PriceScaleBase,n=i(50044).isPriceDataSource,o=i(25303).PriceRange,a=i(45259).randomHash,l=i(17e3).isStudy,c=i(77036),h=c.fromLog,d=c.toLog;class u extends r{constructor(e,t){super(t),this._scalesProperties=e;var i=this;this._modeChanged=new s,this._properties.isInverted.listeners().subscribe(this,u.prototype._onIsInvertedChanged),this._properties.listeners().subscribe(null,(function(){if(i.mainSource()&&i.mainSource().model()){var e=i.mainSource().model().paneForSource(i.mainSource());i.mainSource().model().updatePane(e)}})),this._scalesProperties.listeners().subscribe(this,(function(){this._marksCache=null})),this.setId(a())}_convertPriceRangeFromLog(e){if(null===e)return null;var t=h(e.minValue(),this._logFormula),i=h(e.maxValue(),this._logFormula);return new o(t,i)}_convertPriceRangeToLog(e){if(null===e)return null;var t=d(e.minValue(),this._logFormula),i=d(e.maxValue(),this._logFormula);return new o(t,i)}_canConvertPriceRangeFromLog(e){if(null===e)return!1;var t=h(e.minValue(),this._logFormula),i=h(e.maxValue(),this._logFormula);return isFinite(t)&&isFinite(i)}mode(){return{autoScale:this._properties.autoScale.value(),lockScale:this._properties.lockScale.value(),percentage:this._properties.percentage.value(),indexedTo100:this._properties.indexedTo100.value(),log:this._properties.log.value()}}setMode(e){var t={},i=this.mode(),s=this._properties.state(),r=null;void 0!==e.autoScale&&e.autoScale!==s.autoScale&&(t.autoScale=e.autoScale,this._setAutoScaleValueWithDependentProperties(e.autoScale)),void 0!==e.lockScale&&e.lockScale!==s.lockScale&&(t.lockScale=e.lockScale,this._setLockScaleValueWithDependentProperties(e.lockScale)),void 0!==e.percentage&&e.percentage!==s.percentage&&(t.percentage=e.percentage,this._setPercentageValueWithDependentProperties(e.percentage),this._invalidatedForRange.isValid=!1),void 0!==e.indexedTo100&&e.indexedTo100!==s.indexedTo100&&(t.indexedTo100=e.indexedTo100, +this._setIndexedTo100ValueWithDependentProperties(e.indexedTo100),this._invalidatedForRange.isValid=!1),void 0!==e.log&&e.log!==s.log&&(t.log=e.log,this._setLogValueWithDependentProperties(e.log)),s.log&&!this._properties.log.value()&&(this._canConvertPriceRangeFromLog(this.m_priceRange)?null!==(r=this._convertPriceRangeFromLog(this.m_priceRange))&&this.setPriceRange(r):this.properties().autoScale.setValue(!0)),!s.log&&this._properties.log.value()&&null!==(r=this._convertPriceRangeToLog(this.m_priceRange))&&this.setPriceRange(r),s.autoScale!==this._properties.autoScale.value()&&this._properties.autoScale.listeners().fire(this._properties.autoScale),s.autoScaleDisabled!==this._properties.autoScaleDisabled.value()&&this._properties.autoScaleDisabled.listeners().fire(this._properties.autoScaleDisabled),s.lockScale!==this._properties.lockScale.value()&&this._properties.lockScale.listeners().fire(this._properties.lockScale),s.percentage!==this._properties.percentage.value()&&(this._properties.percentage.listeners().fire(this._properties.percentage),this.updateFormatter()),s.indexedTo100!==this._properties.indexedTo100.value()&&(this._properties.indexedTo100.listeners().fire(this._properties.indexedTo100),this.updateFormatter()),s.percentageDisabled!==this._properties.percentageDisabled.value()&&this._properties.percentageDisabled.listeners().fire(this._properties.percentageDisabled),s.log!==this._properties.log.value()&&this._properties.log.listeners().fire(this._properties.log),s.logDisabled!==this._properties.logDisabled.value()&&this._properties.logDisabled.listeners().fire(this._properties.logDisabled),void 0===t.log&&void 0===t.percentage&&void 0===t.lockScale&&void 0===t.autoScale&&void 0===t.indexedTo100||this._modeChanged.fire(i,this.mode())}modeChanged(){return this._modeChanged}fontSize(){return this._scalesProperties.fontSize.value()}isEmpty(){return this._makeSureItIsValid(),0===this.m_height||!this.m_priceRange||this.m_priceRange.isEmpty()}_onIsInvertedChanged(){this._marksCache=null,this._markBuilder.rebuildTickMarks()}canDetachSource(e){return this.m_dataSources.some((function(t){return t!==e&&n(t)&&!(l(t)&&t.isLinkedToSeries())}))}}t.PriceScale=u},68137:(e,t,i)=>{"use strict";i.d(t,{createPrimitiveProperty:()=>n});var s=i(674),r=i.n(s);function n(e){return new(r())(e)}},53226:(e,t,i)=>{"use strict";i.d(t,{convertPropertyToWatchedValue:()=>n});var s=i(32856),r=i.n(s);function n(e){const t=new(r())(e.value());let i=!1;e.subscribe(t,()=>{i||(i=!0,t.setValue(e.value()),i=!1)});const s=()=>{i||(i=!0,e.setValue(t.value()),i=!1)};return t.subscribe(s),t.spawn(()=>{e.unsubscribeAll(t),t.unsubscribe(s)})}},69881:(e,t,i)=>{"use strict";i.d(t,{combineProperty:()=>n,createWVFromGetterAndSubscription:()=>s.createWVFromGetterAndSubscription});var s=i(51759);i(98445),i(674);var r=i(68137);function n(e,...t){const i=()=>e(...t.map(e=>e.value())),s=(0,r.createPrimitiveProperty)(i()),n=()=>s.setValue(i()),o={};for(const e of t)e.subscribe(o,n);return s.destroy=()=>{t.forEach(e=>e.unsubscribeAll(o))},s}},51759:(e,t,i)=>{ +"use strict";i.d(t,{createWVFromGetterAndSubscription:()=>n});var s=i(32856),r=i.n(s);function n(e,t){const i=new(r())(e()),s={};t.subscribe(s,()=>{i.setValue(e())});return i.readonly().spawn(()=>t.unsubscribeAll(s))}},98445:(e,t,i)=>{"use strict";i.d(t,{createWVFromGetterAndSubscriptions:()=>n});var s=i(32856),r=i.n(s);function n(e,t){const i=new(r())(e()),s={};t.forEach(t=>t.subscribe(s,()=>{i.setValue(e())}));return i.readonly().spawn(()=>t.forEach(e=>e.unsubscribeAll(s)))}},674:(e,t,i)=>{"use strict";var s=i(5729),r=i(47903).isFunction;function n(e){if(this._listeners=new s,this._childs=[],this._muteChildChanges=!1,void 0!==e)if(this.isPrimitiveType(e))this._value=e;else for(var t in e)this.addProperty(t,e[t])}n.prototype.merge=function(e,t){var i=null;if(t)var s=(i=[]).length;if(void 0===e)return i;if(this.isPrimitiveType(e))return t&&this._value!==e&&i.push(this),this._value=e,i;if(Array.isArray(e))for(var r=0;rs&&i.push(this),i},n.prototype.mergeAndFire=function(e){var t=this.merge(e,!0);this._muteChildChanges=!0,t.forEach((function(e){e._muteChildChanges=!0})),t.forEach((function(e){e._muteChildChanges=!1,e.listeners().fire(e)})),this._muteChildChanges=!1,t.length>0&&this.listeners().fire(this)},n.prototype.state=function(e){var t=r(this.value)?this.value():void 0;void 0===t&&(t={});for(var i=0;i=0},n.prototype.addChild=function(e,t){this[e]&&this[e].unsubscribe(this,this.childChanged),this[e]=t, +-1===this._childs.indexOf(e)&&this._childs.push(e),t.subscribe(this,this.childChanged)},n.prototype.childChanged=function(e,t){this._muteChildChanges||this.listeners().fire(this)},n.prototype.subscribe=function(e,t){this.listeners().subscribe(e,t,!1)},n.prototype.unsubscribe=function(e,t){this.listeners().unsubscribe(e,t)},n.prototype.unsubscribeAll=function(e){this.listeners().unsubscribeAll(e)},n.prototype.childs=function(){return this},e.exports=n},84310:(e,t,i)=>{"use strict";i.d(t,{QuotesProvider:()=>a});var s=i(17915),r=i(5729),n=i.n(r),o=i(45259);class a{constructor(e="full"){this._quotes=null,this._quoteSessionSymbol=null,this._quoteSessionClientId="",this._quotesUpdate=new(n()),this._quoteSymbolChanged=new(n()),this._multiplexerType=e}setQuotesSessionSymbol(e){this._quoteSessionSymbol!==e&&(this._quoteSessionClientId||(this._quoteSessionClientId="series-"+(0,o.guid)()),this._unsubscribeQuoteSession(),e&&this._subscribeQuoteSession(e),this._quoteSymbolChanged.fire())}quotesUpdate(){return this._quotesUpdate}quoteSymbolChanged(){return this._quoteSymbolChanged}quotes(){return this._quotes}destroy(){this._unsubscribeQuoteSession()}_onUpdate(e,t){this._quotes=e&&e.values||null,t&&t.values&&this._quotesUpdate.fire(e,t)}_subscribeQuoteSession(e){this._quoteSessionSymbol=e,(0,s.getQuoteSessionInstance)(this._multiplexerType).subscribe(this._quoteSessionClientId,this._quoteSessionSymbol,this._onUpdate.bind(this))}_unsubscribeQuoteSession(){this._quoteSessionSymbol&&((0,s.getQuoteSessionInstance)(this._multiplexerType).unsubscribe(this._quoteSessionClientId,this._quoteSessionSymbol),this._quoteSessionSymbol=null,this._quotes=null)}}},91840:(e,t,i)=>{"use strict";i.d(t,{rangesAreEqual:()=>n});var s=i(89077),r=i(35001);function n(e,t){return!!r.Interval.isEqual(e.res,t.res)&&(0,s.areEqualTimeFrames)(e.val,t.val)}},1467:(e,t,i)=>{"use strict";i.r(t),i.d(t,{normalizeIntervalString:()=>_,isAvailable:()=>m,setLastUsedResolution:()=>g,getRangeResolution:()=>f,getTimeBasedResolution:()=>v,getDefaultResolution:()=>S,getResolutionByChartStyle:()=>y,getServerInterval:()=>b,isResolutionMultiplierValid:()=>w,getMaxResolutionValue:()=>C,getResolutionsFromSettings:()=>T,convertResolutionsFromSettings:()=>x,mergeResolutions:()=>I,sortResolutions:()=>M,getCustomResolutions:()=>k,getTranslatedResolution:()=>E,getTranslatedResolutionModel:()=>D,isSecondsEnabled:()=>B,isTicksEnabled:()=>N});var s=i(79881),r=i(35001),n=i(25436),o=i(64222),a=i(24287),l=i(4334),c=i(47903),h=i(27490);const d={[r.ResolutionKind.Ticks]:1,[r.ResolutionKind.Seconds]:60,[r.ResolutionKind.Minutes]:1440,[r.SpecialResolutionKind.Hours]:24,[r.ResolutionKind.Days]:365,[r.ResolutionKind.Weeks]:52,[r.ResolutionKind.Months]:12,[r.ResolutionKind.Range]:1e6,[r.ResolutionKind.Invalid]:NaN},u={[r.ResolutionKind.Ticks]:0,[r.ResolutionKind.Seconds]:1,[r.ResolutionKind.Minutes]:2,[r.SpecialResolutionKind.Hours]:3,[r.ResolutionKind.Days]:4,[r.ResolutionKind.Weeks]:5,[r.ResolutionKind.Months]:6,[r.ResolutionKind.Range]:7,[r.ResolutionKind.Invalid]:8},p={ +[r.ResolutionKind.Invalid]:"",[r.ResolutionKind.Ticks]:(0,s.t)("T",{context:"interval_short"}),[r.ResolutionKind.Seconds]:(0,s.t)("s",{context:"interval_short"}),[r.ResolutionKind.Minutes]:(0,s.t)("m",{context:"interval_short"}),[r.SpecialResolutionKind.Hours]:(0,s.t)("h",{context:"interval_short"}),[r.ResolutionKind.Days]:(0,s.t)("D",{context:"interval_short"}),[r.ResolutionKind.Weeks]:(0,s.t)("W",{context:"interval_short"}),[r.ResolutionKind.Months]:(0,s.t)("M",{context:"interval_short"}),[r.ResolutionKind.Range]:(0,s.t)("R",{context:"interval_short"})};function _(e){return r.Interval.parse(e).value()}function m(e){const t=r.Interval.parse(e);if(!B()&&t.isSeconds())return!1;if(!N()&&t.isTicks())return!1;const i=t.value(),s=a.linking.supportedResolutions.value();return void 0!==s?void 0!==s.find(e=>_(e)===i):t.isSeconds()?Boolean(a.linking.seconds.value()):t.isTicks()?Boolean(a.linking.ticks.value()):t.isIntraday()?Boolean(a.linking.intraday.value()):t.isDWM()}function g(e){r.Interval.isValid(e)&&(r.Interval.isRange(e)?o.setValue("chart.lastUsedRangeResolution",e):o.setValue("chart.lastUsedTimeBasedResolution",e))}function f(e){const t=o.getValue("chart.lastUsedRangeResolution");if(void 0!==t&&r.Interval.isRange(t))return t;let i="100R";for(const t of e){const e=r.Interval.parse(t);if(e.isRange()){const t=e.value();if("100R"===t)return t;i=t}}return i}function v(e){const t=o.getValue("chart.lastUsedTimeBasedResolution");if(void 0!==t&&r.Interval.isTimeBased(t))return t;let i="1D";for(const t of e){const e=r.Interval.parse(t);if(e.isTimeBased()){const t=e.value();if("1D"===t)return t;i=t}}return i}function S(e){return e?"100R":"1D"}function y(e,t,i){const s=n.isRangeStyle(e),o=r.Interval.isRange(t);return!s&&o?v(i):s&&!o?f(i):t}function b(e){return r.Interval.isRange(e)?"1":e}function w(e){const{interval:t,guiResolutionKind:i}=r.Interval.parseExt(e);if(!t.isValid())return!1;return(i===r.SpecialResolutionKind.Hours?t.multiplier()/60:t.multiplier())<=P(i)}function P(e){const t=d[e];return Number.isNaN(t)?1:t}function C(e){return P(r.Interval.parseExt(e).guiResolutionKind)}function T(e){const t=x(o.getJSON(e,[]));return(0,l.uniq)(t.filter(w).map(_))}function x(e){return Array.isArray(e)?e:Object.keys(e).map(r.Interval.normalize).filter(c.notNull)}function I(...e){let t=[].concat(...e);return t=(0,l.uniq)(t.filter(w).map(_)),M(t)}function M(e){return e.sort(A)}function L(e){const t=r.Interval.parse(e),i=t.multiplier()||1;return t.isMinuteHours()?[r.SpecialResolutionKind.Hours,i/60]:[t.kind(),i]}function A(e,t){const[i,s]=L(e),[r,n]=L(t);return i!==r?u[i]-u[r]:s-n}function k(){return[]}function E(e){const{multiplier:t,shortKind:i}=D(e);return`${t}${i}`}function D(e,t){const i=r.Interval.parse(e);let s=i.multiplier(),n=i.kind();if(!i.isValid()){if(t)return null;throw new TypeError("Can't translate invalid interval")}return i.isMinuteHours()&&(s=Math.floor(s/60),n=r.SpecialResolutionKind.Hours),{multiplier:s.toString(),shortKind:V(n),hint:`${s} ${V(n,s)}`,mayOmitMultiplier:i.isDWM()&&1===s, +mayOmitShortKind:i.isMinutes()&&!i.isMinuteHours()}}function V(e,t){if(!t)return p[e];switch(e){case r.ResolutionKind.Ticks:return(0,s.t)("tick",{plural:"ticks",count:t});case r.ResolutionKind.Days:return(0,s.t)("day",{plural:"days",count:t});case r.ResolutionKind.Weeks:return(0,s.t)("week",{plural:"weeks",count:t});case r.ResolutionKind.Months:return(0,s.t)("month",{plural:"months",count:t});case r.ResolutionKind.Seconds:return(0,s.t)("second",{plural:"seconds",count:t});case r.ResolutionKind.Minutes:return(0,s.t)("minute",{plural:"minutes",count:t});case r.SpecialResolutionKind.Hours:return(0,s.t)("hour",{plural:"hours",count:t});case r.ResolutionKind.Range:return(0,s.t)("range",{plural:"ranges",count:t});default:return e}}function B(){return h.enabled("seconds_resolution")}function N(){return h.enabled("tick_resolution")}},2397:(e,t,i)=>{"use strict";i.d(t,{scaleRatio:()=>r,priceRangeByScaleRatio:()=>n,barSpacingByScaleRatio:()=>o});var s=i(25303);function r(e,t){if(t.isLog()||e.isEmpty()||t.isEmpty())return null;const i=function(e){if(e.isEmpty())return null;const t=e.priceRange();if(null===t)return null;const i=t.length();return e.internalHeight()/i}(t);if(null===i)return null;return e.getValidBarSpacing()/Math.max(1e-10,i)}function n(e,t,i){if(e.isLog()||null===i||e.isEmpty())return null;const r=e.priceRange();if(null===r||r.isEmpty())return null;const n=e.internalHeight()/(t/i),o=r.length();if(n===o)return r;const a=(n-o)/2;return new s.PriceRange(r.minValue()-a,r.maxValue()+a)}function o(e,t){if(e.isLog()||null===t||e.isEmpty())return null;const i=e.priceRange();if(null===i)return null;const s=i.length();return e.internalHeight()/s*t}},3092:(e,t,i)=>{"use strict";i.d(t,{createPriceScaleSelectionStrategy:()=>l,allPriceScaleSelectionStrategyInfo:()=>c});var s=i(16282),r=i(79881),n=i(17e3);class o{constructor(e){this._priceScalesLimit=8,this._metaInfo=e}metaInfo(){return this._metaInfo}findSuitableScale(e,t,i,s){if(void 0!==s)return this._tryToGetDesiredPriceScale(e,t,s,i);if((0,n.isStudy)(t)){const s=t.metaInfo();if("Volume"===s.shortId&&e.containsMainSeries())return e.createPriceScaleAtPosition("overlay");const r=t.desiredPriceScalePosition();if(null!==r)return this._tryToGetDesiredPriceScale(e,t,r,i);if(void 0!==i&&((0,n.isStudy)(i)||e.isMainPane())&&s.is_price_study)return this._getPriceScaleTheSameAsForSource(i,e)}let r=!1;if((0,n.isStudy)(t)){const i=t.metaInfo().groupingKey;if(void 0!==i){const t=e.model().findNonOverlayStudyWithGroupingKey(i,e);if(null!==t)return this._getPriceScaleTheSameAsForSource(t.study,t.pane)}r=Boolean(t.metaInfo().is_price_study)}else t===e.model().mainSeries()&&(r=!0);if(r){const t=this._findFirstScaleForPriceStudy(e);if(null!==t)return t}return this.createNewPriceScaleIfPossible(e)}canCreateNewPriceScale(e){return e.leftPriceScales().length+e.rightPriceScales().lengthi&&this._priceScaleIsPrice(e.rightPriceScales()[i],t))return e.rightPriceScales()[i];if(e.leftPriceScales().length>i&&this._priceScaleIsPrice(e.leftPriceScales()[i],t))return e.leftPriceScales()[i]}return null}_targetPriceScaleIndex(e,t){if(e.mainSource()===t.mainSeries())return 0}_tryToGetDesiredPriceScale(e,t,i,r){switch(i){case"left":return this.canCreateNewPriceScale(e)?e.createPriceScaleAtPosition("left"):e.createPriceScaleAtPosition("overlay");case"right":return this.canCreateNewPriceScale(e)?e.createPriceScaleAtPosition("right"):e.createPriceScaleAtPosition("overlay");case"as-series":return void 0!==r?(0,s.ensureNotNull)(r.priceScale()):e.isMainPane()?(0,s.ensureNotNull)((0,s.ensureNotNull)(e.mainDataSource()).priceScale()):this.createNewPriceScaleIfPossible(e);case"overlay":return e.createPriceScaleAtPosition("overlay")}}}const a=[{name:"left",title:(0,r.t)("Stack on the left"),ctor:class extends o{constructor(e){super(e)}apply(e){const t=e.model();e.rightPriceScales().slice(0).forEach(i=>e.movePriceScale(i,"left",this._targetPriceScaleIndex(i,t)))}createNewPriceScaleIfPossible(e){return this.canCreateNewPriceScale(e)?e.createPriceScaleAtPosition("left"):e.createPriceScaleAtPosition("overlay")}}},{name:"right",title:(0,r.t)("Stack on the right"),ctor:class extends o{constructor(e){super(e)}apply(e){const t=e.model();e.leftPriceScales().slice(0).forEach(i=>e.movePriceScale(i,"right",this._targetPriceScaleIndex(i,t)))}createNewPriceScaleIfPossible(e){return this.canCreateNewPriceScale(e)?e.createPriceScaleAtPosition("right"):e.createPriceScaleAtPosition("overlay")}}},{name:"auto",title:(0,r.t)("Auto"),ctor:class extends o{constructor(e){super(e)}apply(e){if(e.containsMainSeries()){const t=(0,s.ensureNotNull)((0,s.ensureNotNull)(e.mainDataSource()).priceScale());e.movePriceScale(t,"right",0)}const t=e.model();for(;e.leftPriceScales().length>e.rightPriceScales().length;){const i=e.leftPriceScales()[e.leftPriceScales().length-1];e.movePriceScale(i,"right",this._targetPriceScaleIndex(i,t))}for(;e.rightPriceScales().length-e.leftPriceScales().length>1;){const i=e.rightPriceScales()[e.rightPriceScales().length-1];e.movePriceScale(i,"left",this._targetPriceScaleIndex(i,t))}}createNewPriceScaleIfPossible(e){if(!this.canCreateNewPriceScale(e))return e.createPriceScaleAtPosition("overlay");const t=e.leftPriceScales().lengtht.name===e));return new t.ctor(t)}function c(){return a}},98742:(e,t,i)=>{"use strict";i.d(t,{SelectionIndexes:()=>r});var s=i(16282);class r{constructor(e){this._baseIndex=null,this._offsetInBar=null,this._offsetInTime=null,this._barsBetweenPoints=null,this._timescale=e}indexes(){const e=this._timescale.visibleBarsStrictRange();if(null===e)return[] +;const t=e.firstBar(),i=e.lastBar();if(null===this._offsetInTime||null===this._barsBetweenPoints){const e=this._timescale.barSpacing();this._barsBetweenPoints=Math.floor(120/e),this._offsetInBar=i%this._barsBetweenPoints,this._offsetInTime=this._timescale.indexToTimePoint(this._offsetInBar),this._baseIndex=this._timescale.baseIndex()}const r=this._timescale.baseIndex();this._baseIndex!==r&&(this._baseIndex=r,this._offsetInBar=(0,s.ensureNotNull)(this._timescale.timePointToIndex(this._offsetInTime)));const n=(0,s.ensureNotNull)(this._offsetInBar),o=[];let a=Math.floor((t-n)/this._barsBetweenPoints);const l=Math.floor((i-n)/this._barsBetweenPoints);for(;a<=l;a++)o.push(n+a*this._barsBetweenPoints);return o}clear(){this._offsetInBar=null,this._offsetInTime=null,this._baseIndex=null,this._barsBetweenPoints=null}}},73301:(e,t,i)=>{"use strict";i.d(t,{SelectionRenderer:()=>l});var s=i(71044),r=i(53312),n=i(10288),o=i(10992);const a=r.colorsPalette["color-tv-blue-600"];class l{constructor(e){this._data=e||null}setData(e){this._data=e}draw(e,t){if(null===this._data||!this._data.visible)return;const i=t.pixelRatio;e.strokeStyle=void 0!==this._data.color?this._data.color:a,e.lineCap="butt";const s=Math.max(1,Math.floor(i));e.lineWidth=s;const r=this._data.vertOffset||0;for(let t=0;t(0,s.pointInBox)(t,e))}_drawMarker(e,t,i,s,r){let n=Math.round(3.5*r*2);n%2!=s%2&&(n+=1);let o=Math.round(n+2*(.5*s+.75*r));o%2!=s%2&&(o+=1);const a=Math.round(t.x*r),l=Math.round((t.y+i)*r),c=s%2/2;e.beginPath(),e.arc(a+c,l+c,o/2,0,2*Math.PI,!0),e.closePath(),e.fill(),e.beginPath(),e.arc(a+c,l+c,n/2,0,2*Math.PI,!0),e.closePath(),e.stroke()}}},4812:(e,t,i)=>{"use strict";var s=i(16282).assert,r=i(14563),n=(i(79881).t, +r.rgba),o=r.rgbaToString,a=r.parseRgb,l=i(23221).TradingSourcesHorizontalAlignment,c=i(16389),h=i(56451).PriceScale,d=i(73228).StudyStub,u=i(67945),p=u.createLineTool,_=u.createLineToolProperties,m=u.createStudyLineToolProperties,g=u.isLineToolName,f=u.isStudyLineToolName,v=i(76117).LineDataSource,S=i(8902).LineToolBarsPattern,y=i(8902).LineToolParallelChannel,b=i(8902).LineToolCallout,w=i(67945).isLineTool,P=i(75622),C=i(39951),T=C.Study,x=C.prepareStudyPropertiesForLoadChart,I=i(17e3).createStudy,M=i(95975).Series,L=i(74645),A=i(25436),k=i(85062),E=i(27490),D=i(65447).getLogger("Chart.Serialization"),V=i(8902).LineToolTrendAngle,B=i(8902).LineToolGhostFeed,N=i(8902).LineToolElliott,R=i(50044).PriceDataSource,O=i(37923).Pane,F=i(50968),W=i(61389).createDeferredPromise,H=i(89537).mergeIntervalVisibilitiesDefaults,z=i(2460).preferencesByWhiteList,U=(D=i(65447).getLogger("Chart.Serialization"),i(94254).LineToolsGroupModel),j=i(73748).StudyStatusType;const{isLineToolState:G,isMainSeriesState:q,isStudyState:Y}=i(58921),{reorderDataSourcesStateZOrder:$}=i(40315);c.prototype.state=function(e,t,i,s){for(var r={panes:[]},n=0;n1&&r.push(l)),o=(o+1)%t.length}return r},c.prototype.restoreState=function(e,t,i){new K(this).reset();var s,r={};if(!e.panes)return void D.logDebug("ChartModel.restoreState: invalid state") +;if(!Array.isArray(e.panes))return void D.logDebug("ChartModel.restoreState: invalid state");if(e.panes.length<1)return void D.logDebug("ChartModel.restoreState: invalid state");if(this._shouldBeSavedEvenIfHidden=void 0===e.shouldBeSavedEvenIfHidden||e.shouldBeSavedEvenIfHidden,e.chartProperties&&!e.chartProperties.timezone&&(e.chartProperties.timezone=e.timezone),e.chartProperties){var n=TradingView.factoryDefaults("chartproperties").scalesProperties;TradingView.merge(n,e.chartProperties.scalesProperties),!("showLastValue"in n)||"showSeriesLastValue"in n||"showStudyLastValue"in n||(n.showSeriesLastValueProperty=n.showLastValue,n.showStudyLastValueProperty=n.showLastValue),"showSeriesLastValue"in n&&(r.showSeriesLastValueProperty=!0),"showStudyLastValue"in n&&(r.showStudyLastValueProperty=!0),e.chartProperties.paneProperties.vertGridProperties=e.chartProperties.paneProperties.vertGridProperties||TradingView.clone(e.chartProperties.paneProperties.gridProperties),e.chartProperties.paneProperties.horzGridProperties=e.chartProperties.paneProperties.horzGridProperties||TradingView.clone(e.chartProperties.paneProperties.gridProperties),"backgroundType"in e.chartProperties.paneProperties||(e.chartProperties.paneProperties.backgroundType="solid"),this._properties.paneProperties.mergeAndFire(e.chartProperties.paneProperties),this._properties.scalesProperties.mergeAndFire(n),e.chartProperties.timezone&&this._properties.timezone.setValue(e.chartProperties.timezone),e.chartProperties.chartEventsSourceProperties&&this._properties.chartEventsSourceProperties&&this._properties.chartEventsSourceProperties.mergeAndFire(e.chartProperties.chartEventsSourceProperties),e.chartProperties.tradingProperties&&this._properties.tradingProperties&&(void 0===e.chartProperties.tradingProperties.horizontalAlignment&&(e.chartProperties.tradingProperties.horizontalAlignment=(s=e.chartProperties.tradingProperties.lineLength)<=40?l.Right:s>=60?l.Left:l.Center),this._properties.tradingProperties.mergeAndFire(e.chartProperties.tradingProperties)),this._timeScale.restoreState(e.timeScale,t),this._updateDateTimeFormatter()}if(e.timeScale&&this._timeScale.restoreState(e.timeScale,t),!this.readOnly()){var o=this._getExceedingChildStudies(e.panes);if(o.length){for(var a=e.panes.length-1;a>=0;--a){for(var c=(_=e.panes[a]).sources.length-1;c>=0;--c){var h=_.sources[c];~o.indexOf(h)&&_.sources.splice(c,1)}_.sources.length||e.panes.splice(a,1)}0}}const d=e.version||0;var u=e.panes;this.panes()[0].restoreState(u[0],t,d,r,i,!0);var p=1;for(a=1;ay&&f%100==0?{lines_limit_exceeded:!0,line_tools_count:f}:(this.panes().forEach(function(e){this._dataSourceCollectionChanged.fire(e)}.bind(this)),this._lineToolsGroupModel.fireChangedAll(),{})},O.prototype.state=function(e,t,i,s,r,n){var o={},a=new Map;function l(e){if(a.has(e))return a.get(e);var o=null,l=i&&!e.isSavedInStudyTemplates()||!e.state||w(e)&&n||!(o=e.state(t,r))||!e.isSavedInChart(t)||s&&e.isActualSymbol&&!e.isActualSymbol()||e.isPhantom()?null:o;return a.set(e,l),l}if(e){o.sources=[];for(var c=0;c{"use strict";i.d(t,{SeriesBase:()=>Xe});var s=i(16282),r=i(43367),n=i(87438),o=i(18437),a=i(65447),l=i(50044),c=i(61627),h=i(18213),d=i(674),u=i.n(d),p=i(25436),_=i(59104),m=i(74645),g=i(44264),f=i(79881),v=i(27490),S=i(7691),y=i(22287),b=i(46786);function w(e){const t="QUANDL"===(e=e||{}).exchange,i={title:"",description:"",interval:"",exchange:"",provider:"",chartStyle:"",sessionDescription:""};let s="";if(e.description&&t)if(2===e.description.split("/").length)s=e.description.split("/")[1];else{e.description.split("'").filter(e=>e.length).forEach(e=>{let t=[];t=e&&("/"===e[0]||/\d+\/\(?/.test(e))?[e]:e.split("/").filter(e=>e.length),s+=t[2===t.length?1:0]})}else s=e.description?e.description:e.symbol;if(e.ticker?(i.title=e.ticker,i.description=P(s)):i.title=P(s),e.interval&&(i.interval=(0,b.translatedIntervalString)(e.interval)),t&&e.description){const t=/[\w_]+\/[\w_]+/.exec(e.description);t&&t[0]?i.provider=P(t[0].split("/")[0]):i.provider=P(e.description.split("/")[0])}return e.exchange&&(i.exchange=P(e.exchange)),i.chartStyle=P(function(e){return e.inputs,8===e.style?(0,f.t)("Heikin Ashi"):""}(e)),e.branding&&!s.toUpperCase().includes("TradingView".toUpperCase())&&(i.branding="TradingView"),e.sessionDescription&&(i.sessionDescription=P(e.sessionDescription)),i}function P(e){return e.replace(/'/g,"")}const C=(0,f.t)("Symbol Error"),T=v.enabled("hide_unresolved_symbols_in_legend");class x extends y.StatusProviderBase{constructor(e,t,i,s){super(t),this._series=e,this._statusViewProperties=i,this._options=s||{}}text(){return function(e){const t=w(e);return(e.ticker?t.description:t.title)+(t.interval?", "+t.interval:"")+function(e,t=", "){ +return(e.provider?`${t}${e.provider}`:"")+(e.exchange?`${t}${e.exchange}`:"")+(e.chartStyle?`${t}${e.chartStyle}`:"")+(e.branding?`${t}${e.branding}`:"")+(e.sessionDescription?`${t}${e.sessionDescription}`:"")}(t)}(this._getTitleGenerationOptions())}getSplitTitle(){return w(this._getTitleGenerationOptions())}bold(){return!1}size(){return this._statusViewProperties.childs().fontSize.value()+"px"}errorStatus(){const e=this._series.seriesErrorMessage();return null!==e?{error:e,title:C}:null}_getTitleGenerationOptions(){const e=this._series.symbolInfo(),t=this._statusViewProperties.childs(),i=this._series.symbolTextSourceProxyProperty().value();return{description:"ticker"===i?e&&e.name||void 0:(0,S.getTranslatedSymbolDescription)({pro_name:e&&e.pro_name||void 0,short_name:e&&e.name||void 0,description:e&&e.description||void 0,short_description:e&&e.short_description||void 0,local_description:e&&e.local_description||void 0,language:e&&e.language||void 0}),exchange:t.showExchange.value()?null==e?void 0:e.exchange:void 0,symbol:T&&null===e?"":this._series.symbol(),interval:t.showInterval.value()&&!this._options.hideResolution?this._series.interval():void 0,style:this._series.properties().childs().style.value(),inputs:this._series.getInputsProperties().state(),boxSize:this._series.data().boxSize,reversalAmount:this._series.data().reversalAmount,ticker:"ticker-and-description"===i?e&&e.name||void 0:"",branding:this._options.branding}}}class I extends g.StatusView{constructor(e,t,i,s){super(new x(e,t,i,s)),this._invalidated=!0,this._series=e,this._series.onRestarted().subscribe(this,this.update),this._series.dataEvents().symbolResolved().subscribe(this,this.update),this._series.dataEvents().completed().subscribe(this,this.update),this._series.boxSizeValue().subscribe(this.update.bind(this)),i.childs().symbolTextSource.listeners().subscribe(this,this.update)}getSeriesPrecision(){let e=4;const t=this._series.symbolInfo();return t&&t.pricescale&&(e=Math.round(Math.log(t.pricescale)/Math.log(10))),e}round(e){const t=this.getSeriesPrecision(),i=Math.round(e*Math.pow(10,t))/Math.pow(10,t);return i?i.toString():""}update(){this._invalidated=!0}text(){return this._updateImpl(),super.text()}color(){return this._updateImpl(),super.color()}bold(){return this._updateImpl(),super.bold()}size(){return this._updateImpl(),super.size()}getSplitTitle(){return this._updateImpl(),this._statusProvider.getSplitTitle()}_updateImpl(){this._invalidated&&(this._bold=this._statusProvider.bold(),this._size=this._statusProvider.size(),this._text=this._statusProvider.text(),this._invalidated=!1)}}var M=i(62043),L=i(15521),A=i(83111),k=i(67945);const E=r.CheckMobile.any(),D=v.enabled("hide_resolution_in_legend");class V extends M.DataWindowView{constructor(e,t){super(),this._invalidated=!0,this._series=e,this._model=t,this._valuesProvider=this._createValuesProvider(e,t),this._items=this._valuesProvider.getItems().map(e=>new M.DataWindowItem(e.title,"")),this.update()}update(){this._invalidated=!0}items(){return this._invalidated&&(this._updateImpl(), +this._invalidated=!1),this._items}series(){return this._series}_updateImpl(){const e=this._series.symbolInfo();if(e){const t=[e.name];D||t.push((0,b.translatedIntervalString)(this._series.interval())),t.push((0,r.onWidget)()||"forex"===e.type?e.exchange:e.listed_exchange),this._header=t.join(", "),this._title=e.description}else this._header=this._series.symbol();const t=this._model.crossHairSource().appliedIndex(),i=this._valuesProvider.getValues(t);for(let e=0;ee||t||i,i.showBarChange,i.showSeriesOHLC,i.showVolume),this._visibilityProperty.subscribe(this,this.update)}areValuesVisible(){return this._visibilityProperty.value()}additional(){return null}marketTitle(){const e=this._series.marketStatusModel().status().value();return this._showLastPriceAndChangeOnly()&&("pre_market"===e||"post_market"===e)?O+":":""}destroy(){this._backgroundColorSpawn.destroy(),this._visibilityProperty.destroy()}_createValuesProvider(e,t){return new N(e,t)}}var W=i(32856),H=i.n(W),z=i(10616),U=i(12125),j=i(84540);function G(){const e=window.ChartApiInstance.serverTimeOffset();return Date.now()/1e3+e}function q(e,t,i){ +return e<=i?t<=i?1/0:t/1e3:Math.min(e,t)/1e3}class Y{constructor(e,t){this._marketStatus=new(H())(null),this._lastMarketStatus=null,this._sessionsSpec=null,this._nextSessionEdgeInternal=null,this._nextSessionEdge=new(H())(null),this._recalcNextSessionEdgeTimerId=null,z.showMarketOpenStatusProperty.subscribe(this,()=>this._update()),this._quotesProvider=e,e.quotesUpdate().subscribe(this,this._update.bind(this)),e.quoteSymbolChanged().subscribe(this,()=>{this._nextSessionEdgeInternal=null,this._recalculateNextSessionEdge()}),this._resetSubscription=t,this._resetSubscription.subscribe(this,this._resetStatus)}destroy(){z.showMarketOpenStatusProperty.unsubscribeAll(this),this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._quotesProvider.quoteSymbolChanged().unsubscribeAll(this),this._resetSubscription.unsubscribeAll(this),null!==this._recalcNextSessionEdgeTimerId&&clearTimeout(this._recalcNextSessionEdgeTimerId)}setSymbolInfo(e){var t,i,s,r,n;if(this._nextSessionEdgeInternal=null,null===e)return void(this._sessionsSpec=null);const o=new U.SessionSpec(e.timezone,null!==(t=e.session_display)&&void 0!==t?t:e.session,e.session_holidays,e.corrections);let a,l;const c=null===(i=e.subsessions)||void 0===i?void 0:i.find(e=>"premarket"===e.id),h=null===(s=e.subsessions)||void 0===s?void 0:s.find(e=>"postmarket"===e.id);void 0!==c&&(a=new U.SessionSpec(e.timezone,null!==(r=c["session-display"])&&void 0!==r?r:c.session,e.session_holidays,c["session-correction"])),void 0!==h&&(l=new U.SessionSpec(e.timezone,null!==(n=h["session-display"])&&void 0!==n?n:h.session,e.session_holidays,h["session-correction"])),this._sessionsSpec={general:o,preMarket:a,postMarket:l},this._recalculateNextSessionEdge()}status(){return this._marketStatus}nextSessionEdge(){return this._nextSessionEdge}_resetStatus(){this._marketStatus.setValue(null)}_update(e){void 0!==e&&void 0!==e.values.current_session&&(this._lastMarketStatus=e.values.current_session),null===this._lastMarketStatus||"market"===this._lastMarketStatus&&!z.showMarketOpenStatusProperty.value()?this._resetStatus():this._marketStatus.setValue(this._lastMarketStatus)}_getNextSessionEdgeInternal(){var e;if(null===this._sessionsSpec||"24x7"===this._sessionsSpec.general.spec())return null;const t=1e3*G();if(null===this._nextSessionEdgeInternal||(null!==(e=this._nextSessionEdgeInternal.timestamp)&&void 0!==e?e:1/0)<=t/1e3){const{general:e,preMarket:i,postMarket:s}=this._sessionsSpec,r=(0,j.get_timezone)(e.timezone()),n=(0,j.utc_to_cal)(r,t),o=q((0,j.cal_to_utc)(r,e.alignToNearestSessionStart(n,1)),(0,j.cal_to_utc)(r,e.alignToNearestSessionEnd(n,1)),t),a=q(void 0!==i?(0,j.cal_to_utc)(r,i.alignToNearestSessionStart(n,1)):1/0,void 0!==i?(0,j.cal_to_utc)(r,i.alignToNearestSessionEnd(n,1)):1/0,t),l=q(void 0!==s?(0,j.cal_to_utc)(r,s.alignToNearestSessionStart(n,1)):1/0,void 0!==s?(0,j.cal_to_utc)(r,s.alignToNearestSessionEnd(n,1)):1/0,t),c=Math.min(o,a,l);c===1/0&&(this._nextSessionEdgeInternal={timestamp:null}),this._nextSessionEdgeInternal=c===l?{timestamp:c,status:"post_market"}:c===a?{ +timestamp:c,status:"pre_market"}:{timestamp:c}}return this._nextSessionEdgeInternal}_recalculateNextSessionEdge(){const e=this._getNextSessionEdgeInternal();if(null===e||null===e.timestamp)return void this._nextSessionEdge.setValue(null);const t={status:e.status,remainingSeconds:Math.max(0,e.timestamp-G())};if(null===this._recalcNextSessionEdgeTimerId){let e=Math.ceil(t.remainingSeconds%60);0===e&&(e+=60),this._recalcNextSessionEdgeTimerId=setTimeout(()=>this._recalculateNextSessionEdgeByTimer(),1e3*e)}this._nextSessionEdge.setValue(t)}_recalculateNextSessionEdgeByTimer(){this._recalcNextSessionEdgeTimerId=null,this._recalculateNextSessionEdge()}}var $=i(35001),K=i(51759),X=i(61125),Z=i.n(X);const J=["DJ","CBOE","JSE"],Q=["NZX"];var ee=i(97849);const te=(0,a.getLogger)("Chart.Definitions.Series");function ie(e){const t=[];return!function(e){return"index"===e.type&&J.includes(e.listed_exchange)||"futures"===e.type&&Q.includes(e.listed_exchange)}(e)?t.push("DelayToRealtime"):t.push("DelayNoRealtime"),t}function se(e,t){const i=[];return void 0!==(s=e.delay)&&s>0?ie(e):function(e,t){return Z().hasEodSymbols(e.full_name)||t===m.STATUS_EOD}(e,t)?(i.push("EOD"),i):i;var s}class re{constructor(e,t,i){this._dataUpdatedModeStatus=new(H())(null),this._symbolInfo=(0,K.createWVFromGetterAndSubscription)(e.getter,e.onChange),this._status=(0,K.createWVFromGetterAndSubscription)(t.getter,t.onChange),this._symbolInfo.subscribe(this._update.bind(this)),this._status.subscribe(this._update.bind(this)),this._resetSubscription=i,this._resetSubscription.subscribe(this,this._resetStatus)}destroy(){this._symbolInfo.destroy(),this._status.destroy(),this._resetSubscription.unsubscribeAll(this)}status(){return this._dataUpdatedModeStatus.readonly()}symbolName(){const e=this._symbolInfo.value();return null!==e?e.name:""}time(){const e=this._symbolInfo.value(),t=null!==e&&e.delay&&e.delay>0?e.delay:900;return Math.round(t/60)}listedExchange(){const e=this._symbolInfo.value();return null!==e?e.listed_exchange:""}async description(){const e=this._symbolInfo.value();if(null===e)return"";let t={};try{t=(0,s.ensureNotNull)(await async function(e){return null}())}catch(e){te.logWarn("Cannot get exchange "+(0,ee.errorToString)(e))}return t.description||e.listed_exchange}exchange(){const e=this._symbolInfo.value();return null!==e?e.exchange:""}firstReplacedByBatsExchange(){const e=this._symbolInfo.value();return e&&null}_resetStatus(){this._dataUpdatedModeStatus.setValue(null)}_update(){const e=this._symbolInfo.value();if(null===e)return void this._dataUpdatedModeStatus.setValue(null);const t=this._status.value();if("string"==typeof t)return void this._dataUpdatedModeStatus.setValue(null);if(t===m.STATUS_LOADING||t===m.STATUS_RESOLVING)return;const i=se(e,t);0!==i.length?this._dataUpdatedModeStatus.setValue(i):this._dataUpdatedModeStatus.setValue(null)}}var ne=i(78556),oe=i(47903);class ae{constructor(e,t){this._dataProblem=new ne.WatchedObject(null),this._quotesProvider=e,this._quotesProvider.quotesUpdate().subscribe(this,this._update.bind(this)), +this._resetSubscription=t,this._resetSubscription.subscribe(this,this._resetStatus)}destroy(){this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._resetSubscription.unsubscribeAll(this)}status(){return this._dataProblem}_resetStatus(){this._dataProblem.setValue(null)}_update(e){void 0===e.values||void 0===e.values.data_problem?this._resetStatus():this._dataProblem.setValue((0,oe.clone)(e.values.data_problem))}}var le=i(84310),ce=i(50968),he=i(95426),de=i(84995);function ue(e){return e<10?"0"+e:e.toString()}var pe=i(77036);const _e=[0,1,2,3,9,8,10],me=v.enabled("force_exchange_as_title"),ge={alwaysShowGlobalLast:!1,visibleOnHistoryOnly:!1,showCountdown:!0,showSymbolLabel:!0};class fe extends he.PriceAxisView{constructor(e,t,i){super(),this._previousCountdown="",this._source=e,this._model=t,this._options={...ge,...i}}updateCountdown(){this._countdownText()!==this._previousCountdown&&(this.update(),this._model.updateSourcePriceScale(this._source))}_getSource(){return this._source}_getModel(){return this._model}_isCountdownEnabled(){return this._options.showCountdown}_countdownText(){const e=$.Interval.parse(this._source.interval());if(e.isDWM()||e.isTicks()||e.isSeconds()&&1===e.multiplier())return"";const t=this._source.data().bars().last();if(null===t)return"";const i=1e3*(0,s.ensure)(t.value[0]),r=$.Interval.parse(this._source.interval()).inMilliseconds(),n=i.valueOf()+r;let o=Math.round((n-this._currentTime())/1e3);if(o<=0)return"";o=Math.min(o,r/1e3);let a=null;o>=3600&&(a=ue(Math.floor(o/3600))),o%=3600;const l=ue(Math.floor(o/60));o%=60;const c=ue(Math.floor(o));return null!==a?`${a}:${l}:${c}`:`${l}:${c}`}_updateRendererData(e,t,i){if(e.visible=!1,t.visible=!1,!this._source.isVisible())return;const s=this._source.properties().childs();if(12===s.style.value())return;const r=this._model.timeScale().visibleBarsStrictRange(),n=this._source.data().last();if(null===r||null===n)return;if(this._options.visibleOnHistoryOnly&&r.contains(n.index))return;const o=this._model.properties().childs().scalesProperties.childs();let a=o.showSeriesLastValue.value(),l=this._isCountdownEnabled()&&-1!==_e.indexOf(s.style.value())&&s.showCountdown.value()&&(this._options.alwaysShowGlobalLast||r.contains(n.index)),c=this._options.showSymbolLabel&&o.showSymbolLabels.value();const h=o.seriesLastValueMode.value()===de.PriceAxisLastValueMode.LastPriceAndPercentageValue,d=this._source.lastValueData(void 0,this._options.alwaysShowGlobalLast);if(d.noData)return;const u=8===s.style.value();if((a||l||c)&&u&&s.haStyle.childs().showRealLastPrice.value()){const e=this._source.lastValueData(void 0,!1),t=this._source.lastValueData(void 0,!0);e.noData||t.noData||e.index!==t.index||(a=!1,l=!1,c=!1)}if(a||l){const t=this._axisFirstLineText(d,a);e.text=t,i.textColor=this.generateTextColor(i.background),e.textColor=i.textColor;const s=a&&h?(0,pe.getOppositeModePriceText)(this._source.priceScale(),d):"";e.secondLine=s,i.secondLineTextColor=i.textColor;const r=l?this._countdownText():"";this._previousCountdown=r,e.thirdLine=r, +i.thirdLineTextColor=(0,ce.generateColor)(i.textColor,25),0===t.length&&0===s.length&&0===r.length||(e.visible=!0)}c&&(t.text=this._paneText(c),t.visible=t.text.length>0),i.background=this._source.priceLineColor(d.color),i.coordinate=d.coordinate,i.floatCoordinate=d.floatCoordinate}_paneText(e){let t="";const i=this._source.symbolInfo();return me?t=(0,p.displayedSymbolExchange)(i):e&&(t=(0,p.displayedSymbolName)(i)),t}_axisFirstLineText(e,t){return t?(0,pe.getCurrentModePriceText)(this._source.priceScale(),e):""}_currentTime(){return Date.now()+1e3*this._source.serverTimeOffset()}}var ve=i(46556);class Se extends fe{lastPrice(){return this._getSource().data().lastProjectionPrice}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const r=this._getModel(),n=this._getSource(),o=n.priceScale(),a=r.timeScale(),l=this.lastPrice();if(a.isEmpty()||o.isEmpty()||void 0===l)return;const h=a.visibleBarsStrictRange();if(null===h)return;const d=h.firstBar(),u=h.lastBar(),p=n.data(),_=p.search(u,c.PlotRowSearchMode.NearestLeft);if(null===_)return;const m=n.nearestIndex(d,c.PlotRowSearchMode.NearestRight);if(void 0===m)return;const g=n.model().properties().childs().scalesProperties.childs(),f=(0,s.ensureNotNull)(p.valueAt(m))[4];let v=i.background,S=g.showSeriesLastValue.value(),y=!1,b=!1,w=!1;const P=n.lastValueData(4,!1),C=n.properties().childs();if(8===C.style.value()&&C.haStyle.childs().showRealLastPrice.value()){const e=n.lastValueData(4,!0);if(e.noData||e.color===i.background||(v=e.color),!e.noData&&!P.noData){const t=e.index===P.index;y=t&&g.showSymbolLabels.value(),b=g.seriesLastValueMode.value()===de.PriceAxisLastValueMode.LastPriceAndPercentageValue,S=S&&t,w=t&&this._isCountdownEnabled()&&C.showCountdown.value()}}else{v=n.barColorer().barStyle(_.index,!0).barColor}if(i.background=v,i.textColor=this.generateTextColor(v),i.secondLineTextColor=i.textColor,i.thirdLineTextColor=(0,ce.generateColor)(i.textColor,25),i.coordinate=o.priceToCoordinate(l,f),e.visible=S||w,!P.noData){const i=n.priceScale().isPercentage();P.formattedPriceAbsolute=o.formatPriceAbsolute(l),P.formattedPricePercentage=o.formatPricePercentage(l,f,!0),P.text=i?P.formattedPricePercentage:P.formattedPriceAbsolute,e.text=this._axisFirstLineText(P,S),e.secondLine=S&&b?i?P.formattedPriceAbsolute:P.formattedPricePercentage:"",e.thirdLine=w?this._countdownText():"",t.text=this._paneText(y)}t.visible=y}}var ye=i(13114),be=i(42225),we=i(53312),Pe=i(33420);const Ce={light:{lineStyle:Pe.LINESTYLE_DOTTED,lineWidth:1,textColor:we.colorsPalette["color-cold-gray-900"],backgroundColor:we.colorsPalette["color-tv-blue-50"],lineColor:we.colorsPalette["color-cold-gray-500"]},dark:{lineStyle:Pe.LINESTYLE_DOTTED,lineWidth:1,textColor:we.colorsPalette["color-white"],backgroundColor:we.colorsPalette["color-tv-blue-a800"],lineColor:we.colorsPalette["color-cold-gray-500"]}};function Te(e){return e?Ce.dark:Ce.light}class xe extends be.HorizontalLinePaneView{constructor(e,t,i){super(),this._model=e,this._isVisible=t,this._getValue=i}_updateImpl(){const e=this._lineRendererData +;if(e.visible=!1,!this._isVisible.value())return;const t=this._model.mainSeries(),i=t.priceScale(),s=t.firstValue(),r=this._getValue();if(null===s||null===r)return;const n=Te(this._model.isDark());e.visible=!0,e.y=i.priceToCoordinate(r,s),e.linestyle=n.lineStyle,e.linewidth=n.lineWidth,e.color=n.lineColor}}class Ie extends he.PriceAxisView{constructor(e,t,i,s){super(),this._model=e,this._label=t,this._isVisible=i,this._getValue=s}_updateRendererData(e,t,i){if(e.visible=!1,t.visible=!1,!this._isVisible.value())return;const s=this._model.mainSeries(),r=s.priceScale(),n=s.firstValue(),o=this._getValue();if(null===n||null===o)return;const a=Te(this._model.isDark());e.visible=!0,t.visible=!0,e.text=r.formatPriceAbsolute(o),t.text=this._label,i.coordinate=r.priceToCoordinate(o,n),i.background=a.backgroundColor,i.textColor=a.textColor}}class Me extends ve.PriceLineAxisView{constructor(e,t,i){super(),this._model=e,this._isLineVisible=t,this._getValue=i}_isVisible(){return this._isLineVisible.value()}_lineWidth(){return Te(this._model.isDark()).lineWidth}_lineStyle(){return Te(this._model.isDark()).lineStyle}_priceLineColor(e){return Te(this._model.isDark()).lineColor}_value(){const e=this._model.mainSeries(),t=e.priceScale(),i=e.firstValue(),s=this._getValue();if(null===i||null===s)return{noData:!0};const r=t.priceToCoordinate(s,i);return{noData:!1,floatCoordinate:r,coordinate:r,color:"",formattedPricePercentage:"",formattedPriceAbsolute:"",formattedPriceIndexedTo100:"",text:"",index:0}}}const Le=(0,f.t)("High"),Ae=(0,f.t)("Low");(0,f.t)("Avg");function ke(e,t,i,s,r,n){const o=new xe(e,r,n),a=new Ie(e,i,s,n);return{paneView:o,panePriceAxisView:new ye.PanePriceAxisView(a,t,e),priceAxisView:a,priceLineAxisView:new Me(e,r,n)}}var Ee=i(5729),De=i.n(Ee),Ve=i(92898),Be=i(72927);class Ne{constructor(){this._data=null}setData(e){this._data=e}data(){return this._data}draw(e,t){const i=this._data;if(null===i)return;const s=t.pixelRatio;e.save();const r=Math.max(1,Math.floor(s)),n=r%2/2,o=Math.round(i.center.x*s)+n,a=i.center.y*s;e.fillStyle=i.seriesLineColor,e.beginPath();const l=Math.max(2,1.5*i.seriesLineWidth)*s;e.arc(o,a,l,0,2*Math.PI,!1),e.fill(),e.fillStyle=i.fillColor,e.beginPath(),e.arc(o,a,i.radius*s,0,2*Math.PI,!1),e.fill(),e.lineWidth=r,e.strokeStyle=i.strokeColor,e.beginPath(),e.arc(o,a,i.radius*s+r/2,0,2*Math.PI,!1),e.stroke(),e.restore()}hitTest(e,t){return null}}function Re(e){return e}const Oe=[{start:0,end:.25,startRadius:4,endRadius:10,startFillAlpha:.25,endFillAlpha:0,startStrokeAlpha:.4,endStrokeAlpha:.8,easing:Re},{start:.25,end:.525,startRadius:10,endRadius:14,startFillAlpha:0,endFillAlpha:0,startStrokeAlpha:.8,endStrokeAlpha:0,easing:Re},{start:.525,end:1,startRadius:14,endRadius:14,startFillAlpha:0,endFillAlpha:0,startStrokeAlpha:0,endStrokeAlpha:0,easing:Re}];function Fe(e,t,i,s){const r=i+(s-i)*t;return(0,ce.applyTransparency)(e,(0,ce.alphaToTransparency)(r))}function We(e,t){const i=e%2600/2600;let s;for(const e of Oe)if(i>=e.start&&i<=e.end){s=e;break} +if(void 0===s)throw new Error("Last price animation internal logic error");const r=s.easing((i-s.start)/(s.end-s.start));return{fillColor:Fe(t,r,s.startFillAlpha,s.endFillAlpha),strokeColor:Fe(t,r,s.startStrokeAlpha,s.endStrokeAlpha),radius:(n=r,o=s.startRadius,a=s.endRadius,o+(a-o)*n)};var n,o,a}class He{constructor(e){this._renderer=new Ne,this._invalidated=!0,this._stageInvalidated=!0,this._startTime=performance.now(),this._endTime=this._startTime-1,this._series=e}update(e){if(this._invalidated=!0,e){const e=performance.now(),t=this._endTime-e;if(t>0)return void(t<650&&(this._endTime+=2600));this._startTime=e,this._endTime=e+2600}}invalidateStage(){this._stageInvalidated=!0}animationActive(){return performance.now()<=this._endTime}stopAnimation(){this._endTime=this._startTime-1}renderer(e,t){return this._invalidated?(this._updateImpl(e,t),this._invalidated=!1,this._stageInvalidated=!1):this._stageInvalidated&&(this._updateRendererDataStage(),this._stageInvalidated=!1),this._renderer}_updateImpl(e,t){this._renderer.setData(null);const i=this._series.model().timeScale(),s=i.visibleBarsStrictRange(),r=this._series.firstValue(),n=this._series.lastValueData(void 0,!0,!0);if(null===s||null===r||void 0===n.index||void 0===n.price||!s.contains(n.index))return;const o=new Be.Point(i.indexToCoordinate(n.index),this._series.priceScale().priceToCoordinate(n.price,r)),a=n.color,l=this._series.properties().childs();let c;switch(this._series.style()){case 3:c=l.areaStyle.childs().linewidth.value();break;case 10:const t=l.baselineStyle,i=Math.round(e*(Math.abs(100-t.childs().baseLevelPercentage.value())/100));c=o.y<=i?t.childs().topLineWidth.value():t.childs().bottomLineWidth.value();break;default:c=l.lineStyle.childs().linewidth.value()}const h=We(this._duration(),a);this._renderer.setData({seriesLineColor:a,seriesLineWidth:c,fillColor:h.fillColor,strokeColor:h.strokeColor,radius:h.radius,center:o})}_updateRendererDataStage(){const e=this._renderer.data();if(null!==e){const t=We(this._duration(),e.seriesLineColor);e.fillColor=t.fillColor,e.strokeColor=t.strokeColor,e.radius=t.radius}}_duration(){return this.animationActive()?performance.now()-this._startTime:2599}}var ze=i(47329),Ue=i(6195);const je=v.enabled("price_scale_always_last_bar_value"),Ge=v.enabled("display_data_mode"),qe=(r.CheckMobile.any(),!v.enabled("hide_series_legend_item")),Ye=v.enabled("hide_price_scale_global_last_bar_value"),$e=(0,a.getLogger)("Chart.Series"),Ke={countdownEnabled:!0,lastPriceAnimationEnabled:!0};class Xe extends l.PriceDataSource{constructor(e,t,i,r){super(e),this.chartWidgetInitialized=new(De()),this.requestingIntradayWhenNotSupported=new(De()),this.requestingResolutionWhenNotSupported=new(De()),this.requestingStyleIsNotSupported=new(De()),this.requestingStyleSupportRecovered=new(De()),this._paneView=null,this._priceStep=null,this._symbolInfo=null,this._prevSymbolInfo=null,this._isPrePostMarketPricesForbiddenProperty=new(u())(!0),this._isBackAdjustmentForbiddenProperty=new(u())(!0),this._isSettlementAsCloseForbiddenProperty=new(u())(!0), +this._highLowAvgPriceCache=new Map,this._prevClosePriceAxisView=null,this._priceScaleChanged=new(De()),this._priceScaleAboutToBeChanged=new(De()),this._onRestarted=new(De()),this._onStatusChanged=new(De()),this._extendedHoursChanged=new(De()),this._tagsChanged=new(De()),this._sessionIdChanged=new(De()),this._currency=null,this._unit=null,this._endOfData=!1,this._lineStyleLastPriceCirclePaneView=new He(this),this._prevClosePriceLineView=null,this._dataPoweredBy=null,this._loading=!0,this._seriesLoaded=!1,this._status=0,this._symbolResolvingActive=new(H())(!1),this._predictBars=0,this._boxSizeValue=new(H()),this._base=100,this._pointValue=1,this._formatter=new _.PriceFormatter(this._base),this._ignoreMinMoveFormatter=new _.PriceFormatter(this._base),this._ignoreMinMovePriceStep=null,this._lastBarCloseTime=null,this._onSessionIdPropertyChangedBound=this._onSessionIdPropertyChanged.bind(this),this._ignoreSessionIdProxyPropertyChanges=!1,this._textSourceIsAlwaysTickerRestrictionEnabled=!1,this._lastPriceAnimationActive=!1,this._currentSession="out_of_session",this._onStyleChanged=new(De()),this._preventRestartOnChartStyleChange=!1,this._intervalObj=null,this._obsoleteZOrder=0,this._seriesErrorMessage=null,this._seriesAlwaysFalseHibernatedVW=new(H())(!1),this._styleToRecover=null,this._seriesSource=new Ue.SeriesDataSource(e.chartApi(),"s",r);const n=this._seriesSource.dataEvents();n.symbolResolved().subscribe(this,this._onSymbolResolved),n.symbolError().subscribe(this,this._onSymbolError),n.seriesTimeFrame().subscribe(this,this._onSeriesTimeFrame),n.seriesError().subscribe(this,this._onSeriesError),n.loading().subscribe(this,this._onSeriesLoading),n.completed().subscribe(this,this._onSeriesCompleted),n.dataUpdated().subscribe(this,this._onDataUpdated),n.barReceived().subscribe(this,this._onBarReceived),this._quotesProvider=new le.QuotesProvider,this._quotesProvider.quotesUpdate().subscribe(this,this._onQuotesUpdate);const o=t.childs();if(t.hasChild("extendedHours")){(0,s.ensureDefined)(o.extendedHours).value()&&!t.hasChild("sessionId")&&t.addChild("sessionId",new(u())("extended")),t.removeProperty("extendedHours")}t.hasChild("sessionId")||t.addChild("sessionId",new(u())("regular")),this._setProperties(t),this._sessionIdProxyProperty=new(u())(o.sessionId.value()),o.sessionId.subscribe(this,()=>this._updateSessionIdProxyProperty()),this._sessionIdProxyProperty.subscribe(this,this._onSessionIdProxyPropertyChanged),this._symbolTextSourceProxyProperty=new(u()),this._recalcSymbolTextSourceProxyProperty(),o.statusViewStyle.childs().symbolTextSource.subscribe(this,this._recalcSymbolTextSourceProxyProperty),this._symbolTextSourceProxyProperty.subscribe(this,()=>e.lightUpdate()),this._options=(0,oe.merge)((0,oe.clone)(Ke),i),this._prevChartStyle=o.style.value(),this._priceAxisView=new fe(this,e,{alwaysShowGlobalLast:!Ye,showCountdown:i.countdownEnabled});let a=null;je||Ye||(a=new fe(this,e,{visibleOnHistoryOnly:!0,showSymbolLabel:!1,showCountdown:!1,alwaysShowGlobalLast:!1})), +this._priceLinePriceAxisView=new ve.SeriesPriceLineAxisView(this),this._priceLineAxisViews=[this._priceLinePriceAxisView];const l=new Se(this,e,{showCountdown:i.countdownEnabled});this._priceAxisViews=[this._priceAxisView,l],null!==a&&this._priceAxisViews.push(a),this._panePriceAxisView=new ye.PanePriceAxisView(this._priceAxisView,this,e),this._historyPricePanePriceAxisView=null!==a?new ye.PanePriceAxisView(a,this,e):null,this._projectionPriceAxisView=new ye.PanePriceAxisView(l,this,e),this._labelPaneViews=[this._panePriceAxisView,this._projectionPriceAxisView],null!==this._historyPricePanePriceAxisView&&this._labelPaneViews.push(this._historyPricePanePriceAxisView),this._highLowAvgPaneViews=[],this._createHighLowAvgViews(),this._subscribeRestartToSessionIdChange(),o.visible.subscribe(this,this._updateLastPriceAnimationActive),this._updateLastPriceAnimationActive(),this._dataWindowView=new V(this,e),this._legendView=new F(this,e);const c={branding:!1};this._statusView=new I(this,this._model.properties().childs().scalesProperties.childs().textColor,o.statusViewStyle,c),this._marketStatusModel=new Y(this._quotesProvider,o.symbol.listeners()),this._dataUpdatedModeModel=Ge?new re({getter:this.symbolInfo.bind(this),onChange:n.symbolResolved()},{getter:this.status.bind(this),onChange:this._onStatusChanged},o.symbol.listeners()):null,this._dataProblemModel=new ae(this._quotesProvider,o.symbol.listeners())}supportsPressedChunks(){return!0}pressedChunks(e,t){return this.data().pressedChunks(e,t)}seriesErrorMessage(){return this._seriesErrorMessage}destroy(){this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._model.timeScale().visibleBarsStrictRangeChanged().unsubscribeAll(this),this._unsubscribeRestartToSessionIdChange()}properties(){return this._properties}zorder(){return 0}quotesProvider(){return this._quotesProvider}currentSession(){return this._currentSession}labelPaneViews(){return this._labelPaneViews}topPaneViews(){if(this._lastPriceAnimationActive){const e=this._lineStyleLastPriceCirclePaneView;return e.animationActive()&&setTimeout(()=>this._model.invalidate(ze.InvalidationMask.cursor()),0),e.invalidateStage(),[e]}return null}priceAxisViews(e,t){return e.findTargetPriceAxisViews(this,t,this._priceAxisViews,this._priceLineAxisViews)}clearHighLowAvgPriceCache(){this._highLowAvgPriceCache.clear()}priceScaleChanged(){return this._priceScaleChanged}priceScaleAboutToBeChanged(){return this._priceScaleAboutToBeChanged}disconnect(){this._seriesSource.stop(),this.m_symbol=void 0,this._predictBars=0,this._status=0,this._model.isSnapshot()||(this._prevSymbolInfo=null,this._symbolInfo=null)}isStatusBad(){return 12===this.status()||4===this.status()||10===this.status()}isStatusError(){return 12===this.status()}actualSymbol(){return(0,p.actualSymbol)(this.symbolInfo(),this.symbol())}proSymbol(){return(0,p.proSymbol)(this.symbolInfo(),this.symbol())}onStyleChanged(){return this._onStyleChanged}style(){return this.properties().childs().style.value()}setStyle(e){this.properties().childs().style.setValue(e)} +symbolSameAsCurrent(e){return(0,Ve.symbolSameAsCurrent)(e,this.m_symbol,this.symbolInfo())}symbolInfo(){return this._symbolInfo}symbolResolved(){return this.dataEvents().symbolResolved()}symbolResolvingActive(){return this._symbolResolvingActive}symbolHibernated(){return this._seriesAlwaysFalseHibernatedVW}formatter(e=!0){return e?this._formatter:this._ignoreMinMoveFormatter}priceStep(e=!0){return e?this._priceStep:this._ignoreMinMovePriceStep}interval(){return this.properties().childs().interval.value()}setInterval(e){this.properties().childs().interval.setValue(e)}intervalObj(){const e=this.interval();if(null!==this._intervalObj&&this._intervalObj.resolutionString===e)return this._intervalObj.interval;const t=$.Interval.parse(e);return this._intervalObj={resolutionString:e,interval:t},t}prevClose(){const e=this.priceScale();if(e.isEmpty()||this.data().isEmpty())return null;const t=this.quotes(),i=this.firstValue();if(null===t||null===i)return null;const s=t.prev_close_price;return void 0===s?null:{coordinate:e.priceToCoordinate(s,i),floatCoordinate:e.priceToCoordinate(s,i),formattedPricePercentage:e.formatPricePercentage(s,i,!0),formattedPriceAbsolute:e.formatPriceAbsolute(s),formattedPriceIndexedTo100:e.formatPriceIndexedTo100(s,i)}}hasClosePrice(){return 12!==this.properties().childs().style.value()}lastValueData(e,t,i){const s={noData:!0},r=this.priceScale();if(this.model().timeScale().isEmpty()||r.isEmpty()||this.data().isEmpty())return s;const n=this.model().timeScale().visibleBarsStrictRange(),o=this.firstValue();if(null===n||null===o)return s;let a,l;if(t){const e=this.data().bars().last();if(null===e)return s;a=e.value,l=e.index}else{const e=this.data().bars().search(n.lastBar(),c.PlotRowSearchMode.NearestLeft);if(null===e)return s;a=e.value,l=e.index}const h=void 0!==e?a[e]:this._barFunction(a),d=this.barColorer().barStyle(l,!1),u=r.priceToCoordinate(h,o),p={...r.getFormattedValues(h,o,!0),noData:!1,color:d.barColor,floatCoordinate:u,coordinate:u,index:l};return i&&(p.price=h),p}isDWM(){return this.intervalObj().isDWM()}nearestValue(e,t,i){const s=this.nearestData(e,i);return s?s.value[t]:void 0}onStatusChanged(){return this._onStatusChanged}onRestarted(){return this._onRestarted}onExtendedHoursChanged(){return this._extendedHoursChanged}sessionId(){return this.properties().childs().sessionId.value()}sessionIdChanged(){return this._sessionIdChanged}autoScaleInfo(e,t){const i=this.priceRange(e,t);if(null===this._paneView)return{range:i};const s=this._paneView;return{range:i,topPixelMargin:s.topPixelMargin?s.topPixelMargin():void 0,bottomPixelMargin:s.bottomPixelMargin?s.bottomPixelMargin():void 0}}onChartStyleChanged(){var e;this._updateBarFunction(),!this._preventRestartOnChartStyleChange&&this.isNeedRestart()&&(this.data().clear(),this.model().timeScale().scrollToRealtime(!1),this.restart());const t=this.properties();this._prevChartStyle=t.childs().style.value(),this._onStyleChanged.fire(t.childs().style.value()),this.invalidateBarStylesCache(),this._updateLastPriceAnimationActive(), +(null===(e=this._styleToRecover)||void 0===e?void 0:e.originalStyle)!==this.style()&&(this._styleToRecover=null)}sessionIdProxyProperty(){return this._sessionIdProxyProperty}symbolTextSourceProxyProperty(){return this._symbolTextSourceProxyProperty}setTextSourceIsAlwaysTickerRestrictionEnabled(e){this._textSourceIsAlwaysTickerRestrictionEnabled=e,this._recalcSymbolTextSourceProxyProperty()}isPrePostMarketPricesForbiddenProperty(){return this._isPrePostMarketPricesForbiddenProperty}isSettlementAsCloseForbiddenProperty(){return this._isSettlementAsCloseForbiddenProperty}isBackAdjustmentForbiddenProperty(){return this._isBackAdjustmentForbiddenProperty}dataWindowView(){return this._dataWindowView}statusView(){return qe?this._statusView:null}legendView(){return this._legendView}marketStatusModel(){return this._marketStatusModel}dataUpdatedModeModel(){return this._dataUpdatedModeModel}dataProblemModel(){return this._dataProblemModel}quotes(){return this.data().isEmpty()?null:this._quotesProvider.quotes()}base(){return this._base}pointValue(){return this._pointValue}barCloseTime(){return this._lastBarCloseTime}barFunction(){return this._barFunction}setSymbolParams(e){const{symbol:t,interval:i,currency:s,unit:r,style:n}=e,o=this.properties().childs(),a=void 0!==t&&t!==o.symbol.value(),l=void 0!==s&&s!==o.currencyId.value(),c=void 0!==r&&r!==o.unitId.value(),h=void 0!==i&&i!==o.interval.value(),d=void 0!==n&&n!==o.style.value();a&&o.symbol.setValueSilently(t),l&&o.currencyId.setValueSilently(s),c&&o.unitId.setValueSilently(r),h&&o.interval.setValueSilently(i),d&&o.style.setValueSilently(n),a&&o.symbol.listeners().fire(o.symbol),l&&o.currencyId.listeners().fire(o.currencyId),c&&o.unitId.listeners().fire(o.unitId),h&&o.interval.listeners().fire(o.interval),d&&(a||l||c?(this._preventRestartOnChartStyleChange=!0,o.style.listeners().fire(o.style),this._preventRestartOnChartStyleChange=!1):o.style.listeners().fire(o.style))}setSymbol(e){this.setSymbolParams({symbol:e})}currency(){return this.properties().childs().currencyId.value()||null}setCurrency(e){this.setSymbolParams({currency:e})}isConvertedToOtherCurrency(){return(0,p.isConvertedToOtherCurrency)(this.symbolInfo())}unit(){return this.properties().childs().unitId.value()||null}setUnit(e){this.properties().childs().unitId.setValue(e)}isConvertedToOtherUnit(){return(0,p.isConvertedToOtherUnit)(this.symbolInfo())}symbolSource(){return this}title(){return this.symbolTitle()}name(){return this.symbolTitle()}symbolTitle(e,t,i="exchange"){let s=this.properties().childs().symbol.value();const r=this.symbolInfo();if(null!==r){const{type:t}=r;s=(0,p.symbolTitle)(r,e,"forex"===t?"exchange":i)}return t?s:`${s}, ${(0,b.translatedIntervalString)(this.properties().childs().interval.value())}`}setObsoleteZOrder(e){this._obsoleteZOrder=e}obsoleteZOrder(){return this._obsoleteZOrder}valuesProvider(){return new N(this,this.model())}statusProvider(e){return new x(this,this._model.properties().childs().scalesProperties.childs().textColor,this.properties().childs().statusViewStyle,e)}open(e){ +const t=this.data().valueAt(e);return t&&t[1]}high(e){const t=this.data().valueAt(e);return t&&t[2]}low(e){const t=this.data().valueAt(e);return t&&t[3]}close(e){const t=this.data().valueAt(e);return t&&t[4]}moveItem(e,t,i){if(10===this.style()&&0===t){const t=this.priceScale(),i=this.properties().childs().baselineStyle,s=t.height(),r=100-e.y/s*100,n=r<0?0:Math.round(10*r)/10;i.childs().baseLevelPercentage.setValue(Math.max(Math.min(n,100),0))}}endOfData(){return this._endOfData}dataPoweredBy(){return null}boxSizeValue(){return this._boxSizeValue}isUserDeletable(){return!1}changeSymbol(){this.setSymbolIntervalCurrencyDelayed(),this.model().checkLineToolSelection()}changeInterval(){this.setSymbolIntervalCurrencyDelayed()}changeTimeFrame(){(0,n.trackEvent)("GUI","Change timeframe")}onTagsChanged(){return this._tagsChanged}_updateBarFunction(){if(12===this.properties().childs().style.value())this._barFunction=(0,h.barFunction)("low");else{const e=this.priceSource()||"close";this._barFunction=(0,h.barFunction)(e)}}_setProperties(e){e.hasChild("timeframe")||e.merge({timeframe:""}),e.hasChild("shortName")||e.merge({shortName:""}),e.hasChild("currencyId")||e.addChild("currencyId",new(u())(null)),e.hasChild("unitId")||e.addChild("unitId",new(u())(null)),this._properties=e;const t=e.childs();t.symbol.listeners().subscribe(this,this.changeSymbol),t.interval.listeners().subscribe(this,this.changeInterval),t.currencyId.listeners().subscribe(this,this._changeCurrency),t.unitId.listeners().subscribe(this,this._changeUnit),t.timeframe.listeners().subscribe(this,this.changeTimeFrame),e.subscribe(this,this._onPropertiesChanged)}_updateSessionIdProxyProperty(e){const t=this._properties.childs().sessionId.value();let i=t;if(e){const e=this.symbolInfo();null!==e&&(i=e.subsession_id||t)}this._ignoreSessionIdProxyPropertyChanges=!0,this._sessionIdProxyProperty.setValue(i),this._ignoreSessionIdProxyPropertyChanges=!1}_onSessionIdProxyPropertyChanged(){this._ignoreSessionIdProxyPropertyChanges||this._properties.childs().sessionId.setValue(this._sessionIdProxyProperty.value()),this._updateLastPriceAnimationActive()}_onSeriesLoading(e){this._loading=!0,this._setStatus(2)}_onDataUpdated(e,t){if(this.hasDelayedSymbolIntervalChange()){if(this._willSymbolIntervalCurrencyChanged())return void $e.logNormal("command comes during symbol/interval changing");$e.logNormal("data_update comes when symbol interval delay present but symbol/interval should not be changed")}t?this._endOfData=!1:this._lastPriceAnimationActive&&this._seriesLoaded&&this._lineStyleLastPriceCirclePaneView.update(!0),this._lastBarCloseTime=e&&e.closeTime||null,this._boxSizeValue.setValue(this.data().boxSize),this._statusView.update(),this.clearHighLowAvgPriceCache();const i=this.model(),r=(0,s.ensureNotNull)(i.paneForSource(this));i.recalculatePane(r),i.updateSource(this),i.updateLineTools()}_setStatus(e){this._status=e,this._statusView.update(),this.model().updateSource(this),this._onStatusChanged.fire()}_willSymbolIntervalCurrencyChanged(){ +const e=this.properties().childs(),t=this._checkIntervalWillChanged(e.interval.value()),i=this._checkSymbolWillChanged(e.symbol.value()),s=this._checkCurrencyWillChanged(e.currencyId.value()),r=this._checkUnitWillChanged(e.unitId.value());return i||t||s||r}_checkSymbolWillChanged(e){return!this.symbolSameAsCurrent(e)}_checkIntervalWillChanged(e){return!$.Interval.isEqual(this.m_interval,e)}_recreateFormatter(){this._formatter=(0,p.createSeriesFormatter)(this.symbolInfo(),this.properties().childs().minTick.value()),this._ignoreMinMoveFormatter=(0,p.createSeriesFormatter)(this.symbolInfo(),this.properties().childs().minTick.value(),!0),this.priceScale()&&this.priceScale().updateFormatter(),this._formatterChanged.fire()}_recreatePriceStep(){const{minMove:e,priceScale:t}=(0,p.getSeriesPriceFormattingState)(this.symbolInfo()),i=e/t;this._ignoreMinMovePriceStep=1/t,this._priceStep!==i&&(this._priceStep=i,this._priceStepChanged.fire())}_recreatePriceFormattingDependencies(){this._recreateFormatter(),this._recreatePriceStep()}_onQuotesUpdate(e,t){void 0!==e.values.current_session&&e.values.current_session!==this._currentSession&&(this._currentSession=e.values.current_session,this._updateLastPriceAnimationActive())}_updateIsPrePostMarketPricesForbiddenProperty(){const e=!this.isDWM()&&!(0,p.isRegularSessionId)(this.sessionIdProxyProperty().value());this._isPrePostMarketPricesForbiddenProperty.setValue(e)}_updateSettlementAsCloseForbiddenProperty(){}_updateBackAdjustmentForbiddenProperty(){}_getSymbolForApi(){return(0,p.symbolForApi)(this.symbolInfo()||this._prevSymbolInfo,this.symbol())}_getSymbolObject(){const e=this._getExtendedSymbolObject();if(m.SYMBOL_STRING_DATA.hasOwnProperty(this.properties().childs().style.value())){return{symbol:e,type:this.styleStudyInfo(this.getStyleShortName()+"Style").studyId+"!",inputs:this.getInputsProperties().state()}}return e}_getExtendedSymbolObject(){const e={symbol:this._getSymbolForApi()};null!==this.currency()&&(e["currency-id"]=this.currency());const t=this.unit();return null!==t&&(e["unit-id"]=t),e}_changeCurrency(){this.setSymbolIntervalCurrencyDelayed(),this.model().checkLineToolSelection(),this._currencyChanged.fire()}_changeUnit(){this.setSymbolIntervalCurrencyDelayed(),this.model().checkLineToolSelection(),this._unitChanged.fire()}_checkCurrencyWillChanged(e){return this._currency!==e}_checkUnitWillChanged(e){return this._unit!==e}_checkInterval(){if(this._symbolInfo&&($.Interval.isIntraday(this.interval())&&!this._symbolInfo.has_intraday&&this.requestingIntradayWhenNotSupported.fire(),this._symbolInfo.hasOwnProperty("supported_resolutions"))){const e=$.Interval.normalize(this._properties.childs().interval.value());null!==e&&-1===this._symbolInfo.supported_resolutions.indexOf(e)&&this.requestingResolutionWhenNotSupported.fire(this._symbolInfo.supported_resolutions[0])}}_checkChartStyle(){const e=this.style();(0,p.isCloseBasedSymbol)(this.symbolInfo())?(0,p.isSingleValueBasedStyle)(e)||(this.requestingStyleIsNotSupported.fire(),this._styleToRecover={correctedStyle:this.style(), +originalStyle:e}):null!==this._styleToRecover&&(this.requestingStyleSupportRecovered.fire(this._styleToRecover.originalStyle),this._styleToRecover=null)}_updateSymbolInfo(e,t){var i;if(this._prevSymbolInfo=t?this._symbolInfo:null,this._symbolInfo=e,e){const t=this._properties.childs();t.shortName.setValue(e.name);const s=(0,p.extractSymbolNameFromSymbolInfo)(e,null!==(i=this.m_symbol)&&void 0!==i?i:null);s&&t.symbol.setValue(s),this._currency=(0,p.symbolCurrency)(e),this._unit=(0,p.symbolUnit)(e);const r=this._model.properties().childs().scalesProperties.childs();(this._currency!==t.currencyId.value()&&r.showCurrency.value()||this._unit!==t.unitId.value()&&r.showUnit.value())&&this._model.fullUpdate(),t.currencyId.setValue(this._currency),t.unitId.setValue(this._unit),this._updateSessionIdProxyProperty(!0)}this._base=e?e.pricescale/e.minmov:100,this._pointValue=e&&e.pointvalue||1;const s=this._getSymbolForApi();this._quotesProvider.setQuotesSessionSymbol(s),this._marketStatusModel.setSymbolInfo(e),e&&this._recreatePriceFormattingDependencies(),this._statusView.update(),this.priceScale().updateFormatter(),this._symbolResolvingActive.setValue(!e)}_createHighLowAvgViews(){const e=this.properties().childs().highLowAvgPrice,t=this._getHighLowAvgPrice.bind(this),i=function(e,t,i,s){const r=i.childs(),n=(0,R.combineProperty)((e,t)=>e||t,r.highLowPriceLabelsVisible,new(u())(!1)),o=(0,R.combineProperty)((e,t)=>e||t,r.highLowPriceLinesVisible,new(u())(!1)),a=ke(e,t,Le,n,o,()=>s(0)),l=ke(e,t,Ae,n,o,()=>s(1));return{paneViews:[a.paneView,l.paneView],panePriceAxisViews:[a.panePriceAxisView,l.panePriceAxisView],priceAxisViews:[a.priceAxisView,l.priceAxisView],priceLineAxisViews:[a.priceLineAxisView,l.priceLineAxisView]}}(this._model,this,e,t);this._highLowAvgPaneViews.push(...i.paneViews),this._labelPaneViews.push(...i.panePriceAxisViews),this._priceAxisViews.push(...i.priceAxisViews),this._priceLineAxisViews.push(...i.priceLineAxisViews)}_getHighLowAvgPrice(e){if(!this._highLowAvgPriceCache.has(e)){const t=this._model.timeScale().visibleBarsStrictRange();if(null===t)return null;const i=this._model.mainSeries().bars(),s=t.firstBar(),r=t.lastBar();if(2===e){const e=function(e,t,i){const s=(0,h.barFunction)("close");let r=0,n=0;for(let o=t;o<=i;o++){const t=e.valueAt(o);null!==t&&(r+=s(t),n++)}return n?r/n:null}(i,s,r);if(null===e)return null;this._highLowAvgPriceCache.set(2,e)}else{const e=function(e,t,i){return e.minMaxOnRangeCached(t,i,[{name:"low",offset:0},{name:"high",offset:0}])}(i,s,r);if(null===e)return null;this._highLowAvgPriceCache.set(1,e.min),this._highLowAvgPriceCache.set(0,e.max)}}return this._highLowAvgPriceCache.get(e)}_onSessionIdPropertyChanged(){this._sessionIdChanged.fire(),this.isDWM()||(this.restart(),this._updateLastPriceAnimationActive())}_subscribeRestartToSessionIdChange(){this.properties().childs().sessionId.subscribe(this,this._onSessionIdPropertyChangedBound)}_unsubscribeRestartToSessionIdChange(){this.properties().childs().sessionId.unsubscribe(this,this._onSessionIdPropertyChangedBound)} +_updateLastPriceAnimationActive(){if(!this._options.lastPriceAnimationEnabled)return;const e=this._lastPriceAnimationActive,t=this.properties().childs(),i=t.style.value();if(this._model.isSnapshot()||!t.visible.value()||3!==i&&10!==i&&2!==i)this._lastPriceAnimationActive=!1;else{const e=this.currentSession(),t=!(0,p.isRegularSessionId)(this.sessionIdProxyProperty().value())&&!this.isDWM();this._lastPriceAnimationActive="market"===e||t&&("pre_market"===e||"post_market"===e)}this._lastPriceAnimationActive&&e!==this._lastPriceAnimationActive&&this.model().invalidate(ze.InvalidationMask.cursor())}_onPropertiesChanged(e){const t=this._properties.childs();e!==t.symbol&&e!==t.interval&&e!==t.timeframe&&(this._tagsChanged.fire(),this.createPaneView(),this.updateAllViews(),this.model().updateSource(this),(0,o.emit)("series_properties_changed",this._id))}_recalcSymbolTextSourceProxyProperty(){this._textSourceIsAlwaysTickerRestrictionEnabled?this._symbolTextSourceProxyProperty.setValue("ticker"):this._symbolTextSourceProxyProperty.setValue(this._properties.childs().statusViewStyle.childs().symbolTextSource.value())}}},74645:(e,t,i)=>{"use strict";i.r(t),i.d(t,{STATUS_OFFLINE:()=>s,STATUS_RESOLVING:()=>r,STATUS_LOADING:()=>n,STATUS_READY:()=>o,STATUS_INVALID_SYMBOL:()=>a,STATUS_SNAPSHOT:()=>l,STATUS_EOD:()=>c,STATUS_PULSE:()=>h,STATUS_DELAYED:()=>d,STATUS_DELAYED_STREAMING:()=>u,STATUS_NO_BARS:()=>p,STATUS_REPLAY:()=>_,STATUS_ERROR:()=>m,SERIES_STATUS_TEXT:()=>g,STYLE_LINE_TYPE_MARKERS:()=>f,STYLE_LINE_TYPE_STEP:()=>v,STYLE_LINE_TYPE_SIMPLE:()=>S,STYLE_BARS:()=>y,STYLE_CANDLES:()=>b,STYLE_LINE:()=>w,STYLE_AREA:()=>P,STYLE_RENKO:()=>C,STYLE_KAGI:()=>T,STYLE_PNF:()=>x,STYLE_PB:()=>I,STYLE_HEIKEN_ASHI:()=>M,STYLE_HOLLOW_CANDLES:()=>L,STYLE_BASELINE:()=>A,STYLE_RANGE:()=>k,STYLE_HILO:()=>E,STYLE_SHORT_NAMES:()=>D,SYMBOL_STRING_DATA:()=>V});const s=0,r=1,n=2,o=3,a=4,l=5,c=6,h=7,d=8,u=9,p=10,_=11,m=12,g={[s]:"connecting",[r]:"loading",[n]:"loading",[o]:"realtime",[a]:"invalid",[l]:"snapshot",[c]:"endofday",[h]:"endofday",[d]:"delayed",[u]:"delayed_streaming",[p]:"forbidden",[_]:"replay",[m]:"error"},f=0,v=1,S=2,y=0,b=1,w=2,P=3,C=4,T=5,x=6,I=7,M=8,L=9,A=10,k=11,E=12,D={0:"bar",1:"candle",9:"hollowCandle",2:"line",3:"area",4:"renko",7:"pb",5:"kagi",6:"pnf",8:"ha",10:"baseline",11:"range",12:"hilo"},V={4:{type:"BarSetRenko@tv-prostudies",basicStudyVersion:40},7:{type:"BarSetPriceBreak@tv-prostudies",basicStudyVersion:34},5:{type:"BarSetKagi@tv-prostudies",basicStudyVersion:34},6:{type:"BarSetPnF@tv-prostudies",basicStudyVersion:34},8:{type:"BarSetHeikenAshi@tv-basicstudies",basicStudyVersion:60},11:{type:"BarSetRange@tv-basicstudies",basicStudyVersion:72}}},18213:(e,t,i)=>{"use strict";i.d(t,{seriesPlotFunctionMap:()=>c,barFunction:()=>h,SeriesData:()=>p});var s,r=i(16282),n=i(61627),o=i(49382);!function(e){e[e.FromLeft=-1]="FromLeft",e[e.FromRight=1]="FromRight"}(s||(s={}));const a={open:e=>e[1],high:e=>e[2],low:e=>e[3],close:e=>e[4],hl2:e=>(e[2]+e[3])/2,hlc3:e=>(e[2]+e[3]+e[4])/3,ohlc4:e=>(e[1]+e[2]+e[3]+e[4])/4 +},l=["open","high","low","close","hl2","hlc3","ohlc4"];function c(){const e=new Map;return l.forEach((t,i)=>{e.set(t,h(t))}),e}function h(e){return a[e]}function d(e,t){return null==e[t]}const u=[{barsToMerge:10,forBarspacingLargerThen:.03},{barsToMerge:30,forBarspacingLargerThen:.01},{barsToMerge:100,forBarspacingLargerThen:.003},{barsToMerge:500,forBarspacingLargerThen:0}];class p{constructor(){this._pressedChunks={chunks:new Map,priceSource:"uninitialized"},this.m_bars=new n.PlotList(c(),d),this.m_nsBars=new n.PlotList(c(),d),this._clearPressedChunks()}bars(){return this.m_bars}nsBars(){return this.m_nsBars}pressedChunks(e,t){if(t!==this._pressedChunks.priceSource){this._pressedChunks.priceSource=t;const e=this.m_bars.first();e&&(this._clearPressedChunks(),this._rebuildPressedChunks(e))}const i=(0,r.ensureDefined)(u.find(t=>t.forBarspacingLargerThen<=e));return(0,r.ensureDefined)(this._pressedChunks.chunks.get(i.barsToMerge))}mergeRegularBars(e){const t=this.m_bars.size(),i=this.m_bars.merge(e);return i&&"uninitialized"!==this._pressedChunks.priceSource&&(t===this.m_bars.size()&&i.index===this.m_bars.lastIndex()?this._updateLatestChunks():this._rebuildPressedChunks(i)),i}size(){return this.m_bars.size()+this.m_nsBars.size()}each(e){this.m_bars.each(e),this.m_nsBars.each(e)}clear(){this.m_bars.clear(),this.m_nsBars.clear(),this.lastProjectionPrice=void 0,this._clearPressedChunks()}isEmpty(){return this.m_bars.isEmpty()&&this.m_nsBars.isEmpty()}first(){return this.m_bars.isEmpty()?this.m_nsBars.first():this.m_bars.first()}last(){return this.m_nsBars.isEmpty()?this.m_bars.last():this.m_nsBars.last()}search(e,t){return this.nsBars().isEmpty()?this.bars().search(e,t):this.bars().isEmpty()||(0,r.ensureNotNull)(this.nsBars().firstIndex())<=e?this.nsBars().search(e,t):this.bars().search(e,t)}valueAt(e){const t=this.search(e);return null!==t?t.value:null}plotValueToTimePointIndex(e,t,i){if(i===s.FromRight){const i=(i,s)=>{const r=s[t];return null!=r&&e>=r},s=this.m_bars.findLast(i);if(null!==s)return s.index;const r=this.m_nsBars.findLast(i);return null!==r?r.index:this.m_bars.firstIndex()}if(i===s.FromLeft){const i=(i,s)=>{const r=s[t];return null!=r&&e<=r},s=this.m_bars.findFirst(i);if(null!==s)return s.index;const r=this.m_nsBars.findFirst(i);return null!==r?r.index:this.m_bars.lastIndex()}throw new Error("plotValueToTimePointIndex: unsupported search mode")}moveData(e){this.m_bars.move(e),this.m_nsBars.move(e),this.m_bars.size()>0&&this._rebuildPressedChunks((0,r.ensureNotNull)(this.m_bars.first()))}_rebuildPressedChunks(e){const t=this._pressedChunks.priceSource;if("uninitialized"===t)return;const i=e.index,s=a[t],n=(e,t,i)=>{let r=null;for(;e.hasNext();){const n=e.next(),o=s(n.value);r&&n.index-r.startTime>=i.barsToMerge&&(t.push(r),r=null),r?(r.endTime=n.index,r.high=Math.max(r.high,o),r.low=Math.min(r.low,o),r.close=o):r={startTime:n.index,endTime:n.index,open:o,high:o,low:o,close:o}}r&&t.push(r)};u.forEach(e=>{const t=(0,r.ensureDefined)(this._pressedChunks.chunks.get(e.barsToMerge)),s=(0, +o.lowerbound)(t,i,(e,t)=>e.endTime0){const i=t[0].startTime-1,s=(0,r.ensureNotNull)(this.m_bars.firstIndex()),o=this.m_bars.rangeIterator(s,i),a=[];n(o,a,e);const l=a.concat(t);this._pressedChunks.chunks.set(e.barsToMerge,l)}else{const i=(0,r.ensureNotNull)(this.m_bars.lastIndex());t.splice(s);let o=(0,r.ensureNotNull)(this.m_bars.firstIndex());t.length&&(o=t[t.length-1].endTime+1);const a=this.m_bars.rangeIterator(o,i);n(a,t,e)}})}_updateLatestChunks(){const e=(0,r.ensureNotNull)(this.m_bars.lastIndex());u.forEach(t=>{const i=(0,r.ensureDefined)(this._pressedChunks.chunks.get(t.barsToMerge)),s=this.m_bars.rangeIterator(e,e).next(),n=s.value[4],o=i[i.length-1];o.high=Math.max(o.high,n),o.low=Math.min(o.low,n),o.close=n,o.endTime=s.index})}_clearPressedChunks(){u.forEach(e=>this._pressedChunks.chunks.set(e.barsToMerge,[]))}}},96370:(e,t,i)=>{"use strict";i.d(t,{SeriesTimeRangeVolumeCalculator:()=>s});class s{constructor(e){this._value=null,this._series=e,this._series.dataEvents().dataUpdated().subscribe(this,this._onSeriesUpdated)}destroy(){this._series.dataEvents().dataUpdated().unsubscribeAll(this)}volume(e,t){if(null!==this._value&&this._value.from===e&&this._value.to===t)return this._value.value;let i=0;const s=this._series.data().bars(),r=s.firstIndex(),n=s.lastIndex();if(null!==r&&en&&t>n)i=NaN;else{const s=this._series.data().bars().rangeIterator(Math.min(e,t),Math.max(e,t));for(;s.hasNext();){const e=s.next().value[5];if(void 0===e){i=NaN;break}i+=e}}return this._value={from:e,to:t,value:i},i}_onSeriesUpdated(e,t){if(null===this._value)return;if(t)return void(this._value=null);const i=this._series.data().bars().lastIndex();(null===i||i<=this._value.to)&&(this._value=null)}}},25436:(e,t,i)=>{"use strict";i.r(t),i.d(t,{isRequiringRestartSeriesStyles:()=>S,isRangeBasedStyle:()=>y,isRangeStyle:()=>b,isTimeBasedStyle:()=>w,isValidStyle:()=>P,isSingleValueBasedStyle:()=>C,setLastUsedStyle:()=>T,getLastUsedStyle:()=>x,getLastUsedSingleValueBasedStyle:()=>I,getDefaultStyle:()=>M,getChartStyleByResolution:()=>L,chartStyleStudyId:()=>A,preparePriceAxisProperties:()=>k,hasProjection:()=>D,isPriceSourceStyle:()=>V,getSeriesPriceFormattingState:()=>B,createSeriesFormatter:()=>N,symbolCurrencyConvertible:()=>R,symbolCurrency:()=>O,symbolOriginalCurrency:()=>F,symbolBaseCurrency:()=>W,isConvertedToOtherCurrency:()=>H,symbolUnitConvertible:()=>z,symbolUnit:()=>U,symbolOriginalUnit:()=>j,isConvertedToOtherUnit:()=>G,symbolUnitConvertibleGroupsIfExist:()=>q,symbolCurrentContract:()=>Y,extractSymbolNameFromSymbolInfo:()=>$,symbolTitle:()=>K,displayedSymbolName:()=>X,displayedSymbolExchange:()=>Z,actualSymbol:()=>J,proSymbol:()=>Q,symbolForApi:()=>ee,isRegularSessionId:()=>te,isCloseBasedSymbol:()=>ie,hasVolume:()=>se,isEconomicsSymbol:()=>re});var s=i(64222),r=i(74645),n=i(35001),o=i(59104),a=i(27490),l=i(16282),c=i(76559),h=i(62159) +;const d=a.enabled("pay_attention_to_ticker_not_symbol"),u=a.enabled("uppercase_instrument_names"),p=a.enabled("charting_library_single_symbol_request"),_=a.enabled("use_ticker_on_symbol_info_update"),m=[4,5,6,7,8],g=[4,5,6,7,8,11],f=[0,1,9,2,3,10],v=[2,10,3];function S(e){return-1!==m.indexOf(e)}function y(e){return-1!==g.indexOf(e)}function b(e){return 11===e}function w(e){return-1!==f.indexOf(e)}function P(e){return y(e)||w(e)}function C(e){switch(e){case 3:case 10:case 2:return!0;default:return!1}}function T(e,t){P(e)&&(11!==e&&s.setValue("chart.lastUsedStyle",e),ie(t)&&C(e)&&s.setValue("chart.lastUsedSingleValueBasedStyle",e))}function x(){const e=s.getInt("chart.lastUsedStyle");return void 0===e?1:e}function I(){const e=s.getInt("chart.lastUsedSingleValueBasedStyle");return void 0===e?2:e}function M(e){return e?11:1}function L(e,t){const i=b(t),s=n.Interval.isRange(e);return!i&&s?M(!0):i&&!s?M(!1):t}function A(e,t){const i=r.SYMBOL_STRING_DATA[e];return void 0===i?null:t?`${i.type}-${i.basicStudyVersion}`:i.type}function k(e){const t=e.priceAxisProperties,i=t.lockScale.value(),s=6===e.style.value();(s||i)&&(t.log.setValue(!1),t.percentage.setValue(!1)),t.logDisabled.setValue(!(!s&&!i)),t.percentageDisabled.setValue(!(!s&&!i))}const E=[4,7,5,6];function D(e){return-1!==E.indexOf(e)}function V(e){return v.includes(e)}function B(e,t="default",i=!1){let s,r,n=100,o=1;if("default"===t)null!=e&&(n=e.pricescale,o=e.minmov,s=e.fractional,r=e.minmove2);else{let e=t.split(",");3!==e.length&&(e=["100","1","false"]),n=parseInt(e[0]),o=parseInt(e[1]),s="true"===e[2]}return i&&(o=1),{priceScale:n,minMove:o,fractional:s,minMove2:r}}function N(e,t,i=!1){if("default"===t&&null!=e){if("volume"===e.formatter||"volume"===e.format)return new c.VolumeFormatter(2);if("percent"===e.formatter||"percent"===e.format)return new h.PercentageFormatter(e.pricescale)}const{priceScale:s,minMove:r,fractional:n,minMove2:a}=B(e,t,i);return new o.PriceFormatter(s,r,n,a)}function R(e){return null!==e&&"spread"!==e.type}function O(e,t,i){if(null===e)return null;const s=!t||i?e.currency_id:e.currency_code;return void 0===s||""===s?null:s}function F(e,t){return(t?e.original_currency_code:e.original_currency_id)||O(e,t)}function W(e){return e.base_currency_id||null}function H(e){return!(null===e||!R(e))&&(void 0!==e.original_currency_id&&e.original_currency_id!==e.currency_id)}function z(e){return null!==e&&"spread"!==e.type}function U(e){if(null===e)return null;const t=e.unit_id;return void 0===t||""===t?null:t}function j(e){return e.original_unit_id||U(e)}function G(e){return!(null===e||!z(e))&&(void 0!==e.original_unit_id&&e.original_unit_id!==e.unit_id)}function q(e){return null!==e&&z(e)?e.unit_conversion_types||null:[]}function Y(e){return"futures"===e.type&&e.front_contract||null}function $(e,t){let i=e&&(e.pro_name||e.full_name||e.name);return p&&t?i=t:_&&e&&e.ticker&&(i=e.ticker),u&&i&&(i=i.toUpperCase()),i}function K(e,t,i="exchange"){return t?e.name:`${e.name}, ${e[i]}`}function X(e){let t=e&&(Y(e)||e.name)||"" +;return t.length>40&&(t=t.substring(0,37)+"..."),t.trim()}function Z(e){const t=e?e.exchange:"";return u?t.toUpperCase():t}function J(e,t){return null!==e?e.full_name:t}function Q(e,t){return null!==e?e.pro_name:t}function ee(e,t){return d&&e?(0,l.ensureDefined)(e.ticker):J(e,t)}function te(e){return"regular"===e||"us_regular"===e}function ie(e){return"c"===(null==e?void 0:e.visible_plots_set)}function se(e){return void 0!==e.visible_plots_set?"ohlcv"===e.visible_plots_set:!e.has_no_volume}function re(e){return"ECONOMICS"===e.listed_exchange}},95975:(e,t,i)=>{"use strict";var s=i(5729),r=i(674),n=i(25303).PriceRange;TradingView.DEFAULT_BAR_COUNT=300,TradingView.TIME_PLOT=0,TradingView.OPEN_PLOT=1,TradingView.HIGH_PLOT=2,TradingView.LOW_PLOT=3,TradingView.CLOSE_PLOT=4,TradingView.ADT_PLOT=6,TradingView.STYLE_PLOT=7;var o=i(16282).assert,a=i(16282).ensureNotNull,l=i(43845).SeriesBase,c=i(90887),h=c.SeriesAreaPaneView,d=c.SeriesLinePaneView,u=c.SeriesHollowCandlesPaneView,p=c.SeriesCandlesPaneView,_=c.SeriesBarsPaneView,m=c.SeriesHeikenAshiPaneView,g=c.SeriesBaselinePaneView,f=i(21499).SeriesHiLoPaneView,v=i(49418).SeriesWaterlinePaneView,S=i(27490),y=i(45672).BarsRange,b=i(36559).SeriesBarColorer,w=i(18213).SeriesData,P=i(61627),C=P.PlotRowSearchMode,T=P.mergeMinMax,x=i(10945).SyncModel,I=i(87438).trackEvent,M=i(65447).getLogger("Chart.Series"),L=i(74645),A=i(25436),k=i(1467),E=k.getServerInterval,D=k.getResolutionByChartStyle,V=i(35001).Interval,B=i(47229).SeriesHorizontalBaseLinePaneView,N=i(71287).SeriesPriceLinePaneView,R=i(7532).deepExtend,O=i(89164).encodeExtendedSymbolOrGetSimpleSymbolString,F=i(18437),W=i(60183).permissionDenied,H=i(89077).TIMEFRAMETYPE,z=i(47329).InvalidationMask,U=i(25436).isSingleValueBasedStyle;class j extends l{constructor(e,t,r,n){var o=i(4812);t.removeProperty("currencyId"),super(e,t,r,n),this._symbolIntervalChanged=new s,this._intervalChanged=new s,this.requestingIntradayWhenNotSupported=new s,this.requestingResolutionWhenNotSupported=new s,this._onInReplayStateChanged=new s,this._replayExitedDueUnsupportedInterval=new s,this._replayExitedDueUnavailableForUserInterval=new s,this._onTimeFrameApplied=new s,this.m_model=e,this._chartApi=e._chartApi,this.m_data=null,this.createPaneView(),this._syncModel=null,this._replaySubscriber=null,this._isReplayResolutionAvailableForUser=null,this._haStyle={studyId:A.chartStyleStudyId(j.STYLE_HEIKEN_ASHI,!0)},this._renkoStyle={studyId:A.chartStyleStudyId(j.STYLE_RENKO,!0)},this._pbStyle={studyId:A.chartStyleStudyId(j.STYLE_PB,!0)},this._kagiStyle={studyId:A.chartStyleStudyId(j.STYLE_KAGI,!0)},this._pnfStyle={studyId:A.chartStyleStudyId(j.STYLE_PNF,!0)},this._rangeStyle={studyId:A.chartStyleStudyId(j.STYLE_RANGE,!0)},this._properties.addExclusion&&(this._properties.addExclusion("visible"),this._properties.addExclusion("currencyId")),this._futureBarsPaneView=null,this._properties.showInDataWindow.listeners().subscribe(e,o.prototype.fullUpdate),this.properties().minTick.listeners().subscribe(this,j.prototype._recreateFormatter);var a=this +;this.properties().minTick.listeners().subscribe(null,(function(){a.m_model.fullUpdate()})),this._priceLineView=null,this._baseHorizontalLineView=new B(this),this._gotoDateResultCleared=!1,this._gotoDateView=null,this.bindStyleChange(),this.bindJapChartsInputs(),this._createIsDWMProperty(),this._symbolIntervalChanged.subscribe(this,this._checkInterval),this.properties().showCountdown.listeners().subscribe(this,j.prototype._onChangeShowCountdown),this._onChangeShowCountdown(this.properties().showCountdown),this._recreatePriceFormattingDependencies(),this.properties().lineStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this.properties().areaStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this.properties().baselineStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this._updateBarFunction()}isLoading(){return this._loading}isSymbolInvalid(){return this._status===j.STATUS_INVALID_SYMBOL}styleStudyInfos(){return{haStyle:this._haStyle,renkoStyle:this._renkoStyle,pbStyle:this._pbStyle,kagiStyle:this._kagiStyle,pnfStyle:this._pnfStyle,rangeStyle:this._rangeStyle}}styleStudyInfo(e){return this.styleStudyInfos()[e]}priceLineColor(e){return this.properties().priceLineColor.value()||e}serverTimeOffset(){return this._chartApi.serverTimeOffset()}_onChangeShowCountdown(e){var t=this;e.value()?this._countdownUpdateTimer=this.m_model.setInterval((function(){t._priceAxisView.updateCountdown()}),500):(this.m_model.clearInterval(this._countdownUpdateTimer),delete this._countdownUpdateTimer)}_createIsDWMProperty(){this._isDWMProperty=new r(this.isDWM()),this._onRestarted.subscribe(this,(function(){this._isDWMProperty.setValue(this.isDWM())}))}isDWMProperty(){return this._isDWMProperty}model(){return this.m_model}fixLastBar(e){0}clearData(){o(null===this.m_data,"Cannot clear loaded data"),this._seriesSource.clearData()}data(){return this.m_data||this._seriesSource.data()}isPulse(){return this._symbolInfo&&this._symbolInfo.resolutions.length>0}onSymbolIntervalChanged(){return this._symbolIntervalChanged}onIntervalChanged(){return this._intervalChanged}status(){return this._status}createPaneView(){this._paneView=null,this._projectionBarsPaneView=null,this._waterlineView=null,this._priceLineView=this.hasClosePrice()?new N(this):null;var e=this._properties.style.value();switch(e){case j.STYLE_BARS:this._paneView=new _(this,this.m_model);break;case j.STYLE_CANDLES:this._paneView=new p(this,this.m_model);break;case j.STYLE_LINE:this._paneView=new d(this,this.m_model);break;case j.STYLE_AREA:this._paneView=new h(this,this.m_model);break;case j.STYLE_HEIKEN_ASHI:this._paneView=new m(this,this.m_model);break;case j.STYLE_HOLLOW_CANDLES:this._paneView=new u(this,this.m_model);break;case j.STYLE_BASELINE:this._paneView=new g(this,this.m_model),this._waterlineView=new v(this);break;case j.STYLE_HILO:this._paneView=new f(this,this.m_model)}if(null===this._paneView)throw Error("Unknown chart style assigned: "+e)}_clearStylePlot(e,t){if(0!==e.size()){ +var i=t||a(e.firstIndex()),s=a(e.lastIndex())+1;e.range(i,s).each((function(e,t){t[TradingView.STYLE_PLOT]=null}))}}invalidateBarStylesCache(e){M.logDebug("Invalidate style cache starting from "+e),this._clearStylePlot(this.bars(),e),this._clearStylePlot(this.nsBars())}invalidateBarColorerCache(){delete this._barColorerCache,this.invalidateBarStylesCache()}barColorer(){if(this._barColorerCache)return this._barColorerCache;for(var e=null,t=this.m_model.dataSources(),i=t.length-1;i>=0;i--){var s=t[i];if(s.metaInfo&&TradingView.isInherited(s.constructor,TradingView.Study)&&s.hasBarColorer()&&!s.isSourceHidden()){var r=s.barColorer();null===e?e=r:e.pushBackBarColorer(r)}}return null===e?e=new b(this):e.pushBackBarColorer(new b(this)),this._barColorerCache=e,this._barColorerCache}_barsState(e){var t=e.state();return t.data.forEach((function(e){e.value.splice(7,1)})),t}state(e){var t=this===this.m_model.mainSeries()?"MainSeries":TradingView.className(this.constructor);const i=this.obsoleteZOrder();var s={type:t,id:this.id(),state:this.properties().state(),zorder:i,haStyle:this._haStyle,renkoStyle:this._renkoStyle,pbStyle:this._pbStyle,kagiStyle:this._kagiStyle,pnfStyle:this._pnfStyle,rangeStyle:this._rangeStyle};return this._symbolInfo&&this._symbolInfo.ticker&&(s.state.symbol=this._symbolInfo.ticker),e&&(s.bars=this._barsState(this.bars()),s.nsBars=this._barsState(this.nsBars()),s.symbolInfo=this._symbolInfo,s.rtPrice=this.data().lastProjectionPrice),s.boxSize=this.data().boxSize,s.reversalAmount=this.data().reversalAmount,s}restoreState(e,t){t&&this._setStatus(j.STATUS_SNAPSHOT),this._properties.mergeAndFire(e.state),this._properties.hasChild("esdBreaksStyle")&&this._properties.removeProperty("esdBreaksStyle"),this._prevChartStyle=this.properties().style.value(),this.createPaneView(),t&&this.restoreData(e.bars,e.nsBars,e.symbolInfo,e.rtPrice,e.boxSize,e.reversalAmount)}alertCreationAvailable(){const e=this.symbolInfo();return this.hasStateForAlert()&&e&&!A.isEconomicsSymbol(e)}hasStateForAlert(){return!1}stateForAlert(){throw new Error("Not implemented")}idForAlert(){return l.prototype.idForAlert.call(this)}restoreData(e,t,i,s,r,n){this._status=j.STATUS_SNAPSHOT,this.m_data=new w,this.m_data.m_bars.restoreState(e),this.m_data.m_nsBars.restoreState(t),this._updateSymbolInfo(i,!1),this.m_data.lastProjectionPrice=s,this.m_data.boxSize=r,r||(this.properties().style.value()===j.STYLE_PNF?this.m_data.boxSize=this.properties().pnfStyle.inputs.boxSize.value():this.properties().style.value()===j.STYLE_RENKO&&(this.m_data.boxSize=this.properties().renkoStyle.inputs.boxSize.value())),this.m_data.reversalAmount=n,n||this.properties().style.value()===j.STYLE_KAGI&&(this.m_data.reversalAmount=this.properties().kagiStyle.inputs.reversalAmount.value()),this._loading=!1}seriesSource(){return this._seriesSource}_onSymbolResolved(e){this._seriesErrorMessage=null,this._updateSymbolInfo(e,!1),this.m_model.updateSource(this),this.m_model.realignLineTools(),TradingView.onWidget()||(I("Symbol",e.listed_exchange,e.name), +I("Symbol Type",e.type,e.listed_exchange));var t=this.symbolInfo().minmov/this.symbolInfo().pricescale,i=this.properties();i.style.value()===j.STYLE_RENKO&&i.renkoStyle.inputs.boxSize.value()e.update()),this._labelPaneViews.forEach(e=>e.update()),this._priceAxisViews.forEach(e=>e.update()),this._priceLineAxisViews.forEach(e=>e.update()),this._futureBarsPaneView&&this._futureBarsPaneView.update(),this._projectionBarsPaneView&&this._projectionBarsPaneView.update(),null!==this._waterlineView&&this._waterlineView.update(),null!==this._priceLineView&&this._priceLineView.update(),null!==this._gotoDateView&&this._gotoDateView.update(),this._baseHorizontalLineView.update();var e=this._model.activeStrategySource().value();null!==e&&e.updateAllViews(),this._lineStyleLastPriceCirclePaneView.update()}requestMoreData(e){ +if((this._status===j.STATUS_READY||this._status===j.STATUS_PULSE||this._status===j.STATUS_DELAYED||this._status===j.STATUS_DELAYED_STREAMING||this._status===j.STATUS_EOD||this._status===j.STATUS_REPLAY)&&!this.m_model.timeScale().isEmpty()){var t=this.m_model.timeScale().visibleBarsStrictRange();if(null!==t&&0!==this.bars().size()){var i=t.lastBar()-a(this.data().last()).index;if(this._predictBars{this._gotoDateResultCleared||(this._gotoDateView=new t(this,e),this.m_model.updateSource(this))})}clearGotoDateResult(e){this._gotoDateView=null, +this._gotoDateResultCleared=!0}syncModel(){if(!this._syncModel){var e=this.symbolInfo(),t=this.interval();if(!e||!t)return null;this._syncModel=new x(e,t)}return this._syncModel}getSourceIcon(){return{type:"loadSvg",svgId:"series."+this.properties().style.value()}}isStyleSupported(e){return!0}isIntervalSupported(e){return!0}isStyleSupportedForReplay(e){return A.isTimeBasedStyle(e)}isInReplay(){return null!==this._replaySubscriber}onTimeFrameApplied(){return this._onTimeFrameApplied}onInReplayStateChanged(){throw new Error("Not implemented")}replayExitedDueUnsupportedInterval(){throw new Error("Not implemented")}replayExitedDueUnavailableForUserInterval(){throw new Error("Not implemented")}switchToReplay(e,t){throw new Error("Not implemented")}switchToRealtime(){throw new Error("Not implemented")}_removeReplaySubscriber(){throw new Error("Not implemented")}_onBeforeModifySeries(e,t){0}_getTelemetryAdditionalData(e,t){t=void 0===t||t;var i={symbol:this.actualSymbol()};return t&&(i.resolution=this.interval()),void 0!==e&&(i.reason=e),i}_sendTelemetryReport(e,t,i){void 0===i&&(i=this._getTelemetryAdditionalData());var s=Object.assign(t,{additional:i});(void 0).sendChartReport(e,s)}_sendTelemetryCounter(e,t){this._sendTelemetryReport(e,{count:1},t)}destroy(){this._replayExitedDueUnsupportedInterval.destroy(),this._replayExitedDueUnavailableForUserInterval.destroy(),this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._quotesProvider.destroy(),this.clearGotoDateResult(),this._legendView.destroy(),this._marketStatusModel.destroy(),null!==this._dataUpdatedModeModel&&this._dataUpdatedModeModel.destroy(),this._dataProblemModel.destroy(),this._paneView&&this._paneView.destroy&&this._paneView.destroy(),this._onTimeFrameApplied.destroy(),this._seriesSource.destroy(),super.destroy()}dataEvents(){return this._seriesSource.dataEvents()}moveData(e){return this._seriesSource.moveData(e)}}Object.assign(j,L),TradingView.Series=j,t.Series=j,t.isSeries=function(e){return e instanceof j}},28834:(e,t,i)=>{"use strict";function s(e,t){return 100*(t-e)/Math.abs(e)}i.d(t,{barPercentChange:()=>s})},58605:(e,t,i)=>{"use strict";i.d(t,{PaneRendererBars:()=>n});var s=i(21344),r=i(95788);class n extends r.PaneRendererSeriesBase{constructor(e){super(),this._bars=e.bars,this._barSpacing=e.barSpacing,this._dontDrawOpen=e.dontDrawOpen,this._thinBars=e.thinBars}draw(e,t){e.save();const i=t.pixelRatio;if(this._barWidth=this._calcBarWidth(i),this._barWidth>=2){Math.max(1,Math.floor(i))%2!=this._barWidth%2&&this._barWidth--}this._barLineWidth=this._thinBars?Math.min(this._barWidth,Math.floor(i)):this._barWidth;let s=null;const r=this._barLineWidth<=this._barWidth&&this._barSpacing>=Math.floor(1.5*t.pixelRatio);for(const t of this._bars){s!==t.color&&(e.fillStyle=t.color,s=t.color);const n=Math.floor(.5*this._barLineWidth),o=Math.round(t.time*i),a=o-n,l=this._barLineWidth,c=a+l-1,h=Math.min(t.high,t.low),d=Math.max(t.high,t.low),u=Math.round(h*i)-n,p=Math.round(d*i)+n,_=Math.max(p-u,this._barLineWidth);e.fillRect(a,u,l,_) +;const m=Math.ceil(1.5*this._barWidth);if(r){const s=o-m,r=o+m,h=Math.min(a-s,r-c);if(!this._dontDrawOpen){let r=Math.max(u,Math.round(t.open*i)-n),o=r+l-1;o>u+_-1&&(o=u+_-1,r=o-l+1),e.fillRect(s,r,h,o-r+1)}let d=Math.max(u,Math.round(t.close*i)-n),p=d+l-1;p>u+_-1&&(p=u+_-1,d=p-l+1),e.fillRect(c+1,d,h,p-d+1)}}e.restore()}_getTolerance(){const e=this._calcBarWidth(1),t=this._thinBars?Math.min(e,1):e;return(0,s.interactionTolerance)().series+t/2}_getBarSpacing(){return this._barSpacing}_calcBarWidth(e){const t=Math.floor(e);return Math.max(t,Math.floor((0,s.optimalBarWidth)(this._barSpacing,e)))}}},49418:(e,t,i)=>{"use strict";i.d(t,{SeriesWaterlinePaneView:()=>a});var s=i(87747),r=i(10992),n=i(10288),o=i(33420);class a extends s.SeriesHorizontalLinePaneView{constructor(e){super(e);const t={cursorType:r.PaneCursorType.VerticalResize,activeItem:0,areaName:n.AreaName.SourceItemMove};this._lineRenderer.setHitTest(new n.HitTestResult(n.HitTestResult.MOVEPOINT,t)),this._lineRendererData.visible=!0,this._lineRendererData.linestyle=o.LINESTYLE_SPARSE_DOTTED}_updateImpl(){const e=this._series.properties().childs().baselineStyle.childs(),t=Math.abs(100-e.baseLevelPercentage.value());this._lineRendererData.y=Math.round(this._series.priceScale().height()*(t/100)),this._lineRendererData.color=e.baselineColor.value()}}},95788:(e,t,i)=>{"use strict";i.d(t,{PaneRendererSeriesBase:()=>r});var s=i(10288);class r{constructor(){this._bars=[]}hitTest(e){const t=this._bars,i=this._getBarSpacing(),s=i/2;if(0===t.length)return null;const r=this._getTolerance(),n=t[0],o=t[t.length-1];if(e.xo.time+s+r)return null;let a=0,l=t.length-1,c=-1;for(;a<=l;){const i=Math.floor((a+l)/2),h=t[i];let d=s;if(h!==n&&h!==o||(d+=r),Math.abs(h.time-e.x)<=d){c=i;break}e.x-h.time>s?a=i+1:l=i-1}if(-1!==c){const n=Math.ceil(r/i);if(0!==n){const i=Math.max(0,c-n),o=Math.min(t.length-1,c+n);for(let n=i;n<=o;n++)if(Math.abs(e.x-t[n].time)<=s+r&&this._isPointAtBar(t[n],e.y,r))return this._getHitTest()}else if(this._isPointAtBar(t[c],e.y,r))return this._getHitTest()}return null}_getHitTest(){return new s.HitTestResult(s.HitTestResult.REGULAR)}_isPointAtBar(e,t,i){const s=Math.min(e.high,e.low),r=Math.max(e.high,e.low);return s-i<=t&&t<=r+i}}},67596:(e,t,i)=>{"use strict";i.d(t,{PaneRendererCandles:()=>l});var s=i(16282),r=i(10288),n=i(55430),o=i(21344),a=i(95788);class l extends a.PaneRendererSeriesBase{constructor(e){super(),this._barSpacing=1,this._barWidth=1,this._borderVisible=!1,this._barBorderWidth=1,this._wickVisible=!1,this._bodyVisible=!0,this._borderColor=void 0,this._wickColor=void 0,this._hittest=void 0,this._isPriceScaleInverted=!1,e&&this.setData(e)}setData(e){this._bars=e.bars,this._barSpacing=e.barSpacing,this._borderVisible=e.borderVisible,this._bodyVisible=e.bodyVisible,this._wickVisible=e.wickVisible,this._borderColor=e.borderColor,this._wickColor=e.wickColor,this._hittest=e.hittest,this._isPriceScaleInverted=e.isPriceScaleInverted}hitTest(e){ +return this._wickVisible||this._borderVisible||this._bodyVisible?super.hitTest(e):null}draw(e,t){if(0===this._bars.length)return;const i=t.pixelRatio;if(this._barWidth=(0,o.optimalCandlestickWidth)(this._barSpacing,i),this._barWidth>=2){Math.floor(i)%2!=this._barWidth%2&&this._barWidth--}this._wickVisible&&this._drawWicks(e,i),this._borderVisible&&this._drawBorder(e,i),this._bodyVisible&&this._drawCandles(e,i)}_getTolerance(){return(0,o.interactionTolerance)().series+this._barBorderWidth/2}_getBarSpacing(){return this._barSpacing}_getHitTest(){return this._hittest||new r.HitTestResult(r.HitTestResult.REGULAR)}_isPointAtBar(e,t,i){const s=this._bodyVisible||this._borderVisible,r=this._wickVisible;if(!s&&!r)return!1;if(s){const s=r?Math.min(e.high,e.low):Math.min(e.open,e.close),n=r?Math.max(e.high,e.low):Math.max(e.open,e.close);return s-i<=t&&t<=n+i}{const s=Math.min(e.open,e.close),r=Math.max(e.open,e.close);return e.high-i<=t&&t<=s+i||r-i<=t&&t<=e.low+i}}_drawWicks(e,t){const i=this._bars;let r="",n=Math.min(Math.floor(t),Math.floor(this._barSpacing*t));n=Math.max(Math.floor(t),Math.min(n,this._barWidth));const o=Math.floor(.5*n);let a=null;for(const l of i){const i=l.wickColor?l.wickColor:(0,s.ensureDefined)(this._wickColor);i!==r&&(e.fillStyle=i,r=i);let c=Math.round(Math.min(l.open,l.close)*t),h=Math.round(Math.max(l.open,l.close)*t);this._isPriceScaleInverted&&([h,c]=[c,h]);const d=Math.round(l.high*t),u=Math.round(l.low*t);let p=Math.round(t*l.time)-o;const _=p+n-1;null!==a&&(p=Math.max(a+1,p),p=Math.min(p,_));const m=_-p+1;e.fillRect(p,d,m,c-d),e.fillRect(p,h+1,m,u-h-1),a=_}}_calculateBorderWidth(e){let t=Math.floor(1*e);this._barWidth<=2*t&&(t=Math.floor(.5*(this._barWidth-1)));const i=Math.max(Math.floor(e),t);return this._barWidth<=2*i?Math.max(Math.floor(e),Math.floor(1*e)):i}_drawBorder(e,t){let i="";const r=this._calculateBorderWidth(t);let o=null;for(const a of this._bars){if(a.borderColor!==i&&(e.fillStyle=a.borderColor?a.borderColor:(0,s.ensureDefined)(this._borderColor),i=a.borderColor),this._bodyVisible&&a.hollow)continue;let l=Math.round(a.time*t)-Math.floor(.5*this._barWidth);const c=l+this._barWidth-1,h=Math.round(Math.min(a.open,a.close)*t),d=Math.round(Math.max(a.open,a.close)*t);if(null!==o&&(l=Math.max(o+1,l),l=Math.min(l,c)),this._barSpacing*t>2*r)(0,n.fillRectInnerBorder)(e,l,h,c-l+1,d-h+1,r);else{const t=c-l+1;e.fillRect(l,h,t,d-h+1)}o=c}}_drawCandles(e,t){let i="";const s=this._calculateBorderWidth(t);for(const r of this._bars){if(this._borderVisible&&this._barWidth<=2*s&&!r.hollow)continue;let o=Math.round(Math.min(r.open,r.close)*t),a=Math.round(Math.max(r.open,r.close)*t),l=Math.round(r.time*t)-Math.floor(.5*this._barWidth),c=l+this._barWidth-1;if(r.color!==i){const t=r.color;e.fillStyle=t,i=t}if(r.hollow)e.fillStyle=r.color,(0,n.fillRectInnerBorder)(e,l,o,c-l+1,a-o+1,s);else{if(this._borderVisible&&(l+=s,o+=s,c-=s,a-=s),o>a)continue;e.fillRect(l,o,c-l+1,a-o+1)}}}}},21499:(e,t,i)=>{"use strict";i.d(t,{SeriesHiLoPaneView:()=>f}) +;var s=i(16282),r=i(73395),n=i(90887),o=i(49382),a=i(21344),l=i(10288),c=i(58729);class h extends c.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null,this._barWidth=null}setData(e){this._data=e,this._barWidth=Math.max(1,Math.round((0,a.optimalHiLoWidth)(e.barSpacing)))}hitTest(e){if(null===this._data||null===this._barWidth)return null;const t=this._data.bars,i=.5*this._data.barSpacing;if(0===t.length)return null;if(e.xt[t.length-1].time+i)return null;const s=t[(0,o.lowerbound)(t,e.x-i,(e,t)=>e.times.time+i)return null;const r=(0,a.interactionTolerance)().series+this._barWidth/2,n=Math.min(s.high,s.low),c=Math.max(s.high,s.low),h=this._data.fontSize;return n-r-h<=e.y&&e.y<=n+r||c-r<=e.y&&e.y<=c+r+h?new l.HitTestResult(l.HitTestResult.REGULAR):null}_drawImpl(e){if(null===this._data||null===this._barWidth)return;e.save(),e.translate(.5,.5),e.textAlign="center",e.fillStyle=this._data.labelColor,e.font=(0,r.makeFont)(this._data.fontSize,this._data.font);const t=this._data.bars,i=this._data.inverted;for(let s=0;se.highLabelWidth<=r&&e.lowLabelWidth<=r),o={bars:this._bars(),wickVisible:!1,bodyVisible:s.drawBody.value(),barSpacing:r,borderVisible:s.showBorders.value(),barWidth:(0,a.optimalHiLoWidth)(r),font:m.CHART_FONT_FAMILY,fontSize:s.fontSize.value(),labelColor:s.labelColor.value(),inverted:this._series().priceScale().isInverted(),labelsPadding:3},l=new u.CompositeRenderer;return this._candlesRenderer.setData(o),l.append(this._candlesRenderer),n&&(this._labelsRenderer.setData(o),l.append(this._labelsRenderer)),this._model().selection().isSelected(this._series())&&this._isMarkersEnabled&&l.append(new p.SelectionRenderer(this._selectionData)),l}topPixelMargin(){return this._margin()}bottomPixelMargin(){return this._margin()}_margin(){const e=this._series().properties().childs().hiloStyle.childs();return e.showLabels.value()?e.fontSize.value()+6:0}_barUpdater(e,t,i,s){const r=i[2],n=i[3] +;return!(!g(r)||!g(n))&&(s.high=s.open=r,s.low=s.close=n,t&&(s.highLabel=e.format(r),s.highLabelWidth=this._getLabelWidth(s.highLabel),s.lowLabel=e.format(n),s.lowLabelWidth=this._getLabelWidth(s.lowLabel)),!0)}_needLabels(){const e=this._model().timeScale().barSpacing();return this._series().properties().childs().hiloStyle.childs().showLabels.value()&&e>5}_getLabelWidth(e){return this._widthsCache.measureText(this._context,e)}}},6195:(e,t,i)=>{"use strict";i.d(t,{SeriesDataSource:()=>f});var s=i(16282),r=i(47903),n=i(89164),o=i(35001),a=i(18213),l=i(66096),c=i(60183),h=i(5729),d=i.n(h);class u{constructor(){this._loading=new(d()),this._completed=new(d()),this._error=new(d()),this._symbolError=new(d()),this._symbolResolved=new(d()),this._seriesError=new(d()),this._symbolNotPermitted=new(d()),this._symbolGroupNotPermitted=new(d()),this._chartTypeNotPermitted=new(d()),this._intradaySpreadNotPermitted=new(d()),this._intradayExchangeNotPermitted=new(d()),this._customIntervalNotPermitted=new(d()),this._secondsIntervalNotPermitted=new(d()),this._tickMarksRangeChanged=new(d()),this._barReceived=new(d()),this._seriesTimeFrame=new(d()),this._dataUpdated=new(d())}destroy(){this._loading.destroy(),this._completed.destroy(),this._error.destroy(),this._symbolError.destroy(),this._symbolResolved.destroy(),this._seriesError.destroy(),this._symbolNotPermitted.destroy(),this._symbolGroupNotPermitted.destroy(),this._chartTypeNotPermitted.destroy(),this._intradaySpreadNotPermitted.destroy(),this._intradayExchangeNotPermitted.destroy(),this._customIntervalNotPermitted.destroy(),this._secondsIntervalNotPermitted.destroy(),this._tickMarksRangeChanged.destroy(),this._barReceived.destroy(),this._seriesTimeFrame.destroy(),this._dataUpdated.destroy()}loading(){return this._loading}completed(){return this._completed}error(){return this._error}symbolError(){return this._symbolError}symbolResolved(){return this._symbolResolved}seriesError(){return this._seriesError}symbolNotPermitted(){return this._symbolNotPermitted}symbolGroupNotPermitted(){return this._symbolGroupNotPermitted}chartTypeNotPermitted(){return this._chartTypeNotPermitted}intradaySpreadNotPermitted(){return this._intradaySpreadNotPermitted}intradayExchangeNotPermitted(){return this._intradayExchangeNotPermitted}customIntervalNotPermitted(){return this._customIntervalNotPermitted}secondsIntervalNotPermitted(){return this._secondsIntervalNotPermitted}tickMarksRangeChanged(){return this._tickMarksRangeChanged}barReceived(){return this._barReceived}seriesTimeFrame(){return this._seriesTimeFrame}dataUpdated(){return this._dataUpdated}fireCompleted(e,t){this._completed.fire(e,t)}fireLoading(e){this._loading.fire(e)}fireError(){this._error.fire()}fireSymbolError(e){this._symbolError.fire(e),this.fireError()}fireSymbolResolved(e){this._symbolResolved.fire(e)}fireSeriesError(e){this._seriesError.fire(e),this.fireError()}fireSymbolNotPermitted(e){this._symbolNotPermitted.fire(e),this.fireError()}fireSymbolGroupNotPermitted(e){this._symbolGroupNotPermitted.fire(e),this.fireError()} +fireChartTypeNotPermitted(e){this._chartTypeNotPermitted.fire(e),this.fireError()}fireIntradaySpreadNotPermitted(){this._intradaySpreadNotPermitted.fire(),this.fireError()}fireIntradayExchangeNotPermitted(){this._intradayExchangeNotPermitted.fire(),this.fireError()}fireCustomIntervalNotPermitted(){this._customIntervalNotPermitted.fire(),this.fireError()}fireSecondsIntervalNotPermitted(){this._secondsIntervalNotPermitted.fire(),this.fireError()}fireTickMarksRangeChanged(e){this._tickMarksRangeChanged.fire(e)}fireBarReceived(e){this._barReceived.fire(e)}fireSeriesTimeFrame(e,t,i,s,r){this._seriesTimeFrame.fire(e,t,i,s,r)}fireDataUpdated(e,t){this._dataUpdated.fire(e,t)}}const p=(0,i(65447).getLogger)("Chart.SeriesDataSource");var _;!function(e){e[e.Idle=0]="Idle",e[e.AwaitingConnection=1]="AwaitingConnection",e[e.AwaitingFirstDataUpdate=2]="AwaitingFirstDataUpdate",e[e.Active=3]="Active"}(_||(_={}));let m=1;let g=1;class f{constructor(e,t,i){var r;this._instanceId=null,this._symbolInstanceId=null,this._symbol=null,this._resolution=null,this._timeFrame=null,this._data=new a.SeriesData,this._dataEvents=new u,this._status=_.Idle,this._turnaroundCounter=1,this._boundOnGatewayIsConnectedChanged=this._onGatewayIsConnectedChanged.bind(this),this._ongoingDataUpdate=Promise.resolve(),this._gateway=e,this._turnaroundPrefix=t,this._createSeriesParams=(r=null!=i?i:{count:300}).startDate?r.endDate||r.count?r.endDate?["from_to",r.startDate,r.endDate]:["bar_count",r.startDate,(0,s.ensure)(r.count)]:["from_to",r.startDate]:r.count||300,this._gateway.isConnected().subscribe(this._boundOnGatewayIsConnectedChanged)}destroy(){this.stop(),this._gateway.isConnected().unsubscribe(this._boundOnGatewayIsConnectedChanged)}modifySeries(e,t,i=null,n=!1){n&&(p.logNormal("Due to force flag clearing symbol & resolution to force re-requesting data."),this._symbol=null,this._resolution=null);const a=this._symbol,l=this._resolution;if(this._symbol=e,this._resolution=t,null===this._instanceId)return void(this._timeFrame=i);const c=!(0,r.deepEquals)(a,e)[0],h=null===l||!o.Interval.isEqual(l,t);(c||h||null!==i)&&(this._timeFrame=null,(c||h)&&this._turnaroundCounter++,c&&this._resolveSymbol(),this._gateway.modifySeries(this._instanceId,this.turnaround(),(0,s.ensureNotNull)(this._symbolInstanceId),this._resolution,i,this._onMessage.bind(this)))}requestMoreData(e){null!==this._instanceId&&this._gateway.requestMoreData(this._instanceId,e,this._onMessage.bind(this))}requestMoreTickmarks(e){null!==this._instanceId&&this._gateway.requestMoreTickmarks(this._instanceId,e,this._onMessage.bind(this))}isStarted(){return this._status!==_.Idle}isActive(){return this._status===_.Active}start(){this.isStarted()?p.logNormal("start: data source is already started, nothing to do"):((0,s.assert)(null!==this._symbol,"symbol must be set before start"),(0,s.assert)(null!==this._resolution,"resolution must be set before start"),this._gateway.isConnected().value()?this._createSeries():this._changeStatusTo(_.AwaitingConnection))}stop(){ +this.isStarted()?(null!==this._instanceId&&(this._gateway.removeSeries(this._instanceId),this._instanceId=null),this._changeStatusTo(_.Idle)):p.logNormal("stop: data source is already stopped, nothing to do")}instanceId(){return this._instanceId}data(){return this._data}clearData(){this.isStarted()?this._enqueueUpdate(()=>this._clearDataImpl()):this._clearDataImpl()}dataEvents(){return this._dataEvents}turnaround(){return`${this._turnaroundPrefix}${this._turnaroundCounter}`}symbolInstanceId(){return this._symbolInstanceId}moveData(e){this._enqueueUpdate(()=>this._data.moveData(e))}_clearDataImpl(){this._data.clear()}_resolveSymbol(){null!==this._symbol&&(this._symbolInstanceId="sds_sym_"+m++,this._gateway.resolveSymbol(this._symbolInstanceId,(0,n.encodeExtendedSymbolOrGetSimpleSymbolString)(this._symbol),this._onMessage.bind(this)))}_changeStatusTo(e){(0,s.assert)(this._status!==e,"Source and destination status should be distinct"),p.logNormal(`Status changed from ${_[this._status]} to ${_[e]}`),this._status=e}_createSeries(){(0,s.assert)(this._status!==_.Active,'Status should not be "Active" when creating a study'),this._instanceId="sds_"+g++,this._resolveSymbol(),this._gateway.createSeries(this._instanceId,this.turnaround(),(0,s.ensureNotNull)(this._symbolInstanceId),(0,s.ensureNotNull)(this._resolution),this._createSeriesParams,this._timeFrame,this._onMessage.bind(this)),this._timeFrame=null,this._changeStatusTo(_.AwaitingFirstDataUpdate)}_onGatewayIsConnectedChanged(e){e?this._onGatewayConnected():this._onGatewayDisconnected()}_onGatewayConnected(){this._status===_.AwaitingConnection&&this._createSeries()}_onGatewayDisconnected(){this._status!==_.Idle&&this._status!==_.AwaitingConnection&&(this._instanceId=null,this._changeStatusTo(_.AwaitingConnection)),this._turnaroundCounter=1}_onMessage(e){this._enqueueUpdate(()=>this._onMessageImpl(e))}async _onMessageImpl(e){switch(e.method){case"symbol_resolved":{const[t,i]=e.params;if(t!==this._symbolInstanceId){p.logNormal(`Resolve for old symbol, expected: ${this._symbolInstanceId}, actual ${e.params[0]}`);break}this._onSymbolResolved(i);break}case"symbol_error":if(e.params[0]!==this._symbolInstanceId){p.logNormal(`Symbol error for old symbol, expected: ${this._symbolInstanceId}, actual ${e.params[0]}`);break}this._onSymbolError(e);break;case"series_timeframe":{const[t,i,s,r,n,o,a]=e.params;if(!this._checkTurnaround(t,i)){p.logNormal(`Time frame for old data, expected: ${this._symbolInstanceId} (${this.turnaround()}), actual ${t} (${i})`);break}this._onSeriesTimeFrame(s,r,n,o,a);break}case"series_error":{const[t,i]=e.params;if(!this._checkTurnaround(t,i)){p.logNormal(`Series error for old data, expected: ${this._symbolInstanceId} (${this.turnaround()}), actual ${t} (${i})`);break}this._onSeriesError(e.params[2]);break}case"series_loading":{const[t,i]=e.params;if(!this._checkTurnaround(t,i))break;this._onSeriesLoading(e.time);break}case"series_completed":{const[t,i,s]=e.params;if(!this._checkTurnaround(t,s)){ +p.logNormal(`Series completed for old data, expected: ${this._symbolInstanceId} (${this.turnaround()}), actual ${t} (${s})`);break}this._onSeriesCompleted(i,e.time);break}case"data_update":if(!this._checkTurnaround(e.params.customId,e.params.turnaround)){p.logNormal(`Data update for old data, expected: ${this._symbolInstanceId} (${this.turnaround()}), actual ${e.params.customId} (${e.params.turnaround})`);break}await this._onDataUpdate(e.params.plots,e.params.nonseries,e.params.lastBar);break;case"clear_data":if(e.params.turnaround!==this.turnaround()){p.logNormal(`Clear data for old data, expected: ${this.turnaround()}, actual ${e.params.turnaround}`);break}this._clearDataImpl(),this._dataEvents.fireDataUpdated(void 0,!1)}}_onSeriesError(e){let t,i;if("string"==typeof e)i={error:e},t=e;else if(i=e,e.ctx){const i={};Object.entries(e.ctx).forEach(([e,t])=>{i[e]=t.toString()}),t=e.error.format(i)}else t=e.error;if(t.startsWith("study_not_auth:")){const e=t.split(":",2)[1].split("@",2)[0];["BarSetRenko","BarSetPriceBreak","BarSetKagi","BarSetPnF"].includes(e)?this._dataEvents.fireChartTypeNotPermitted(e):"BarSetSpread"===e?this._dataEvents.fireIntradaySpreadNotPermitted():"BarSetRange"===e&&this._dataEvents.fireCustomIntervalNotPermitted()}else"resolution_not_entitled"===t?this._dataEvents.fireIntradayExchangeNotPermitted():"custom_resolution"===t?this._dataEvents.fireCustomIntervalNotPermitted():"seconds_not_entitled"===t&&this._dataEvents.fireSecondsIntervalNotPermitted();this._dataEvents.fireSeriesError(i)}_onSeriesTimeFrame(e,t,i,s,r){this._dataEvents.fireSeriesTimeFrame(e,t,i,null==s||s,r)}_onSymbolError(e){if(e.params[1]===c.permissionDenied)switch(e.params[2]){case c.SymbolErrorPermissionDeniedReason.Symbol:this._dataEvents.fireSymbolNotPermitted(e.params[3]);break;case c.SymbolErrorPermissionDeniedReason.GroupPermission:this._dataEvents.fireSymbolGroupNotPermitted(e.params[3]);break;default:this._dataEvents.fireSymbolNotPermitted(e.params[2])}this._dataEvents.fireSymbolError(e.params[1])}_onSymbolResolved(e){this._dataEvents.fireSymbolResolved(e)}async _onDataUpdate(e,t,i){this._onDataUnpacked(e,i,await async function(e){if(void 0===e)return{projectionPlots:[],boxSize:null};if(""===e.d||"nochange"===e.indexes)return null;const t=await(0,l.unpackNonSeriesData)(e.d);if(null===t||t.indexes_replace)return null;const i=e.indexes,{bars:s,price:r,boxSize:n,reversalAmount:o}=t.data,a=(s||[]).map(e=>{let t;return"factor"in e?t=e.factor:"additionalPrice"in e&&(t=e.additionalPrice),{index:i[e.time],value:[0,e.open,e.high,e.low,e.close,e.volume,t]}});return{lastPrice:r,projectionPlots:a,reversalAmount:o,boxSize:n}}(t))}_enqueueUpdate(e){return this._ongoingDataUpdate=this._ongoingDataUpdate.then(e,e),this._ongoingDataUpdate}_onDataUnpacked(e,t,i){if(this._status===_.Idle)return;this._status===_.AwaitingFirstDataUpdate&&(this._changeStatusTo(_.Active),this._clearDataImpl());const s=this._data.bars().size(),r=this._data.bars().firstIndex(),n=this._data.mergeRegularBars(e);null!==i&&(this._data.nsBars().clear(), +this._data.nsBars().merge(i.projectionPlots),this._data.lastProjectionPrice=i.lastPrice,null!==i.boxSize&&(this._data.boxSize=i.boxSize),this._data.reversalAmount=i.reversalAmount);const o=null===r||null!==n&&n.index{"use strict";i.d(t,{SeriesHorizontalBaseLinePaneView:()=>r});var s=i(87747);class r extends s.SeriesHorizontalLinePaneView{constructor(e){super(e)}_updateImpl(){this._lineRendererData.visible=!1;const e=this._series.priceScale().mode();if(!e.percentage&&!e.indexedTo100)return;const t=this._series.firstValue();null!==t&&(this._lineRendererData.visible=!0,this._lineRendererData.y=this._series.priceScale().priceToCoordinate(t,t),this._lineRendererData.color=this._series.properties().childs().baseLineColor.value())}}},87747:(e,t,i)=>{"use strict";i.d(t,{SeriesHorizontalLinePaneView:()=>r});var s=i(42225);class r extends s.HorizontalLinePaneView{constructor(e){super(),this._series=e,this._model=e.model()}}},71287:(e,t,i)=>{"use strict";i.d(t,{SeriesPriceLinePaneView:()=>n});var s=i(87747),r=i(33420);class n extends s.SeriesHorizontalLinePaneView{constructor(e){super(e),this._lineRendererData.linestyle=r.LINESTYLE_DOTTED}_updateImpl(){this._lineRendererData.visible=!1;const e=this._series.properties().childs();if(!e.showPriceLine.value())return;if(12===e.style.value())return;const t=this._series.lastValueData(void 0,!0);t.noData||(this._lineRendererData.visible=!0,this._lineRendererData.y=t.coordinate,this._lineRendererData.color=this._series.priceLineColor(t.color),this._lineRendererData.linewidth=e.priceLineWidth.value())}}},83111:(e,t,i)=>{"use strict";i.d(t,{calculateColor:()=>C,SeriesValuesProvider:()=>T});var s=i(16282),r=i(75496),n=i(14563),o=i(79881),a=i(43367),l=i(50968),c=i(76553),h=i(61627),d=i(67945),u=i(15521),p=i(62159),_=i(76559),m=i(36559),g=i(28834),f=i(7518);const v=a.CheckMobile.any(),S=v&&!0,y=new p.PercentageFormatter,b=new _.VolumeFormatter(2),w=(0,o.t)("n/a"),P=`${w} (${w}%)`;function C(e,t){const i=(0,n.parseRgb)(t),s=(0,n.parseRgb)(e);return(0,n.distanceRgb)(i,s)<70?(0,n.rgbToHexString)((0,n.invertRgb)(i)):t}class T{constructor(e,t){this._series=e,this._model=t,this._emptyValues=[{title:(0,o.t)("Open"),visible:!1,value:"",index:0,id:""},{title:(0,o.t)("High"),visible:!1,value:"",index:1,id:""},{title:(0,o.t)("Low"),visible:!1,value:"",index:2,id:""},{title:(0,o.t)("Close"),visible:!1,value:"",index:3,id:""},{title:"",visible:!1,value:"",index:4,id:""},{title:"",visible:!1,value:"",index:5,id:""},{title:(0,o.t)("Change"),visible:!1,value:"",index:6,id:""},{title:(0,o.t)("Vol"),visible:!1,value:"",index:7,id:""}]}getItems(){return this._emptyValues}getValues(e){const t=this._showLastPriceAndChangeOnly(),i=this._emptyValues.map(e=>({...e,visible:!t})) +;i[0].value=w,i[1].value=w,i[2].value=w,i[3].value=w,i[6].value=P,i[7].value=w,i[5].visible=!1;const n=i[4];if(n.value=w,n.visible=!1,this._model.timeScale().isEmpty()||0===this._series.bars().size()||this._series.priceScale().isEmpty())return i;(0,r.isNumber)(e)||(e=(0,s.ensureNotNull)(this._series.data().last()).index);const o=this._series.nearestIndex(e,h.PlotRowSearchMode.NearestLeft);if(void 0===o)return i;const a=this._series.data().valueAt(o),d=this._model.backgroundTopColor().value();if(null===a)return i;const u=a[1],p=a[2],_=a[3],g=a[4],{values:v}=this._changesData(g,o,t),T=(0,f.getPriceValueFormatterForSource)(this._series);if((0,f.shouldBeFormattedAsPercent)(this._series))i[6].value="";else if(void 0!==v){const e=this._series.formatter();i[6].value=(0,c.forceLTRStr)(`${e.format(v.change,!0)} (${y.format(v.percentChange,!0)})`)}if(t)i[5].value=null==g?w:T(g),i[5].visible=!0,i[6].visible=!0;else{i[0].value=null==u?w:T(u),i[1].value=null==p?w:T(p),i[2].value=null==_?w:T(_),i[3].value=null==g?w:T(g),i[4].value=T(this._series.barFunction()(a));const e=a[5];(0,r.isNumber)(e)?i[7].value=b.format(e):i[7].visible=!1}let x=null;if(t&&!S)x=void 0===v||v.change>=0?m.SeriesBarColorer.upColor(this._series.properties()):m.SeriesBarColorer.downColor(this._series.properties());else{const e=this._series.barColorer().barStyle(o,!1);x=C(d,null!=e.barBorderColor?e.barBorderColor:e.barColor)}x=(0,l.resetTransparency)(C(d,x));for(const e of i)e.color=x;return i}_showLastPriceAndChangeOnly(){return v&&(null===this._model.crossHairSource().pane||(0,d.isLineToolName)(u.tool.value())||null!==this._model.lineBeingEdited())}_changesData(e,t,i){var s;if(i&&!S){const e=this._series.quotes();if(null!==e)return{values:{change:e.change,percentChange:e.change_percent}}}else{const i=this._series.data().search(t-1,h.PlotRowSearchMode.NearestLeft),r=null!==(s=null==i?void 0:i.value[4])&&void 0!==s?s:null;if(null!==r&&null!=e)return{values:{change:e-r,percentChange:(0,g.barPercentChange)(r,e)}}}return{}}}},90887:(e,t,i)=>{"use strict";var s=i(72927).Point,r=i(73301).SelectionRenderer,n=i(10288).HitTestResult,o=i(58605).PaneRendererBars,a=i(59109).PaneRendererLine,l=i(73175).PaneRendererStepLine,c=i(9537).PaneRendererArea,h=i(67596).PaneRendererCandles,d=i(63736).PaneRendererBaseline,u=i(87088).CompositeRenderer,p=i(50968),_=i(61627).PlotRowSearchMode,m=i(27490),g=i(21344),f=i(98742).SelectionIndexes;function v(e,t){this.m_series=e,this.m_model=t,this.m_bars=[],this._invalidated=!0,this._isMarkersEnabled=m.enabled("source_selection_markers"),this._selectionData=null,this._selectionIndexer=new f(t.timeScale())}function S(e,t){return void 0!==e[TradingView.OPEN_PLOT]&&void 0!==e[TradingView.HIGH_PLOT]&&void 0!==e[TradingView.LOW_PLOT]&&void 0!==e[TradingView.CLOSE_PLOT]&&(t.open=e[TradingView.OPEN_PLOT],t.high=e[TradingView.HIGH_PLOT],t.low=e[TradingView.LOW_PLOT],t.close=e[TradingView.CLOSE_PLOT],!0)}function y(e,t){v.call(this,e,t)}function b(e,t){v.call(this,e,t)}function w(e,t){v.call(this,e,t)}function P(e,t){v.call(this,e,t)}function C(e,t){ +this.m_series=e,this.m_model=t,this.m_items=[],this._isMarkersEnabled=m.enabled("source_selection_markers"),this._selectionIndexer=new f(t.timeScale())}function T(e,t){C.call(this,e,t),this._invaidated=!0}function x(e,t){C.call(this,e,t),this._invaidated=!0}function I(e,t){C.call(this,e,t),this._invaidated=!0,this._renderer=new d}v.prototype._series=function(){return this.m_series},v.prototype._model=function(){return this.m_model},v.prototype._bars=function(){return this.m_bars},v.prototype.update=function(){this._invalidated=!0},v.prototype._updateImpl=function(e){var t=this;if((e=e||S,this.m_bars=[],!this.m_model.timeScale().isEmpty()&&!this.m_series.priceScale().isEmpty())&&(null!==(a=this.m_model.timeScale().visibleBarsStrictRange())&&0!==this.m_series.bars().size())){for(var i=this.m_series.nearestIndex(a.firstBar(),_.NearestRight),r=this.m_series.nearestIndex(a.lastBar(),_.NearestLeft);i<=r;i++){if(null!==this.m_series.bars().valueAt(i))break}if(!(i>r)){var o,a=this.m_series.bars().range(i,r),l=this.m_series.priceScale(),c=this.m_series.barColorer(),h={};if(a.each((function(i,s){var r,n={};(n.time=Math.round(i),e(s,n))&&(h.value=s,r=s[TradingView.STYLE_PLOT]?s[TradingView.STYLE_PLOT]:c.barStyle(i,!1,h),s[TradingView.STYLE_PLOT]=r,h.previousValue=s,n.color=r.barColor,n.borderColor=r.barBorderColor,n.wickColor=r.barWickColor,n.hollow=r.isBarHollow,t.m_bars.push(n))}),this),0!==this.m_bars.length&&(o=this.m_series.firstValue(),l.barPricesToCoordinates(this.m_bars,o)),this.m_model.timeScale().barIndexesToCoordinates(this.m_bars),this.m_model.selection().isSelected(this.m_series)){var d=this._selectionIndexer.indexes();this._selectionData={points:[],bgColors:[],visible:!0};var u=this.m_model.paneForSource(this.m_series).height();this._selectionData.hittestResult=n.REGULAR;for(var p=0;p{"use strict";i.d(t,{sessionsPreferencesDefault:()=>r});var s=i(53312);const r={graphics:{backgrounds:{outOfSession:{color:s.colorsPalette["color-tv-blue-500"],transparency:92,visible:!1},preMarket:{color:"#FF9800",transparency:92,visible:!1},postMarket:{color:s.colorsPalette["color-tv-blue-500"],transparency:92,visible:!1}},vertlines:{sessBreaks:{color:"#4985e7",style:2,visible:!1,width:1}}}}},22287:(e,t,i)=>{"use strict";i.d(t,{StatusProviderBase:()=>s});class s{constructor(e){this._colorProperty=e}size(){return"13px"}bold(){return!1}color(){return this._colorProperty.value()}}},44264:(e,t,i)=>{"use strict";i.d(t,{StatusView:()=>s});class s{constructor(e){this._text="",this._color="",this._size="13px",this._bold=!1,this._statusProvider=e}text(){return this._text}getSplitTitle(){return[this._text]}color(){return this._statusProvider.color()}bold(){return this._bold}size(){return this._size}}},79739:(e,t,i)=>{"use strict";var s;i.d(t,{StoriesTimeLineItemType:()=>s}),function(e){e[e.Image=0]="Image",e[e.Emoji=1]="Emoji"}(s||(s={}))},71233:(e,t,i)=>{"use strict";i.d(t,{seriesPrice:()=>n,positionVisualDirection:()=>a,positionToCoordinate:()=>l,noDataBasePosition:()=>c,seriesBasePosition:()=>h,getNoDataPosition:()=>d,getSeriesPosition:()=>u});var s=i(16282),r=i(61627);function n(e,t,i){const s=e.barFunction();switch(e.style()){case 3:case 10:case 2:return s(t.value);default:return t.value[-1===i?3:2]}}function o(e){return e>=0?1:-1}function a(e,t){return-1===o(e)!==t?-1:1}function l(e,t,i,s){const r=Math.min(t,Math.max(0,1===s?i:t-i));return i-s*Math.abs(r*e/100)}function c(e,t,i){const s=e.index();return null===s?null:{index:s,price:t.coordinateToPrice(t.height()/2,i)}}function h(e,t){const i=e.data().bars(),s=i.first(),a=i.last();if(null===s||null===a)return null;let l;const c=t.index();if(null===c){if(void 0===t.time)return null;const e=t.time(),n=s.value[0],o=a.value[0];if(eo)return null;l=i.searchByTime(e,r.PlotRowSearchMode.NearestRight,4)}else l=i.search(c);return null===l?null:{index:l.index,price:n(e,l,o(t.position()))}}function d(e,t,i){const s=c(e,t,i);if(null===s)return null +;const r=a(e.position(),t.isInverted());return{index:s.index,price:s.price,poleStartY:t.height(),visualDirection:1,positionPointDirection:r}}function u(e,t){const i=h(e,t),r=e.priceScale(),n=(0,s.ensureNotNull)(e.firstValue());if(null===i)return d(t,r,n);let o=0;const l=e.properties().childs(),c=e.model().timeScale(),u=r.priceToCoordinate(i.price,n);switch(e.style()){case 3:o=l.areaStyle.childs().linewidth.value()/2;break;case 2:o=l.lineStyle.childs().linewidth.value()/2;break;case 10:const e=Math.abs(100-l.baselineStyle.childs().baseLevelPercentage.value());o=r.height()*e/100>u?l.baselineStyle.childs().topLineWidth.value()/2:l.baselineStyle.childs().bottomLineWidth.value()/2;break;case 1:case 9:case 8:case 12:o=3;break;case 0:o=l.barStyle.childs().thinBars.value()?3:Math.max(3,.25*c.barSpacing());break;case 11:o=l.rangeStyle.childs().thinBars.value()?3:Math.max(3,.25*c.barSpacing());break;case 4:case 7:o=3;break;case 5:o=Math.max(4,.25*c.barSpacing());break;case 6:o=Math.max(5,.25*c.barSpacing())}const p=a(t.position(),r.isInverted()),_=u-p*o;return{index:i.index,price:i.price,poleStartY:_,visualDirection:p,positionPointDirection:p}}},19625:(e,t,i)=>{"use strict";i.r(t),i.d(t,{LiveStudyGraphics:()=>C,StaticStudyGraphics:()=>f,createGraphicsPaneViews:()=>D,createGraphicsPriceAxisViews:()=>B,emptyStudyGraphics:()=>b,isStudyGraphicsEmpty:()=>n,loadStudyGraphics:()=>w,saveStudyGraphics:()=>P});var s=i(65447);const r=["horizlines","vertlines","lines","hlines","textmarks","shapemarks","backgrounds","polygons","trendchannels","hhists","dwglabels","dwglines","dwgboxes","dwgtables","dwgtablecells","dwglinefills"];function n(e){return!r.some(t=>e[t]().size>0)}function o(e){const t=new Map;return e.forEach((e,i)=>{e.forEach(e=>{const s={...e,styleId:i},r=e.firstBarTime;let n=t.get(r);void 0===n&&(n=new Set,t.set(r,n)),n.add(s)})}),t}var a=i(67620),l=i(16282),c=i(66096);function h(e,t){if(e.startIndex>=t.length||e.endIndex>=t.length)return null;const i=t[e.startIndex],s=t[e.endIndex];return i===a.INVALID_TIME_POINT_INDEX||s===a.INVALID_TIME_POINT_INDEX?null:((0,l.assert)(i<=s,"startIndex should not exceed endIndex"),{startIndex:i,endIndex:s,level:e.level,extendLeft:e.extendLeft,extendRight:e.extendRight})}function d(e,t,i){const s=(0,c.ensureTimePointIndexIndex)(i.indexOf(e.startIndex)),r=(0,c.ensureTimePointIndexIndex)(i.indexOf(e.endIndex));return{id:t,...e,startIndex:s,endIndex:r}}function u(e,t){if(e.index>=t.length)return null;const i=t[e.index];return i===a.INVALID_TIME_POINT_INDEX?null:{startPrice:e.startPrice,endPrice:e.endPrice,index:i,extendTop:e.extendTop,extendBottom:e.extendBottom}}function p(e,t,i){const s=(0,c.ensureTimePointIndexIndex)(i.indexOf(e.index));return{id:t,...e,index:s}}var _=i(31505);function m(e,t){for(const i of e.points){if(i.index>=t.length)return null;if(t[i.index]===a.INVALID_TIME_POINT_INDEX)return null}return{points:e.points.map(e=>({index:t[e.index],offset:e.offset,level:e.level}))}}function g(e,t,i){return{id:t,points:e.points.map(e=>({...e,index:(0, +c.ensureTimePointIndexIndex)(i.indexOf(e.index))}))}}class f{constructor(e,t){if(this._indexes=[],this._horizlines=new Map,this._vertlines=new Map,this._lines=new Map,this._hlines=new Map,this._textmarks=new Map,this._shapemarks=new Map,this._backgrounds=new Map,this._polygons=new Map,this._trendchannels=new Map,this._hhists=new Map,this._dwglabels=new Map,this._dwglines=new Map,this._dwgboxes=new Map,this._dwgtables=new Map,this._dwgtablecells=new Map,this._dwglinefills=new Map,"data"===e){const e=t;this._indexes=e.indexes,this._vertlines=v(e.vertlines,this._indexes,u),this._horizlines=v(e.horizlines,this._indexes,h),this._polygons=v(e.polygons,this._indexes,m),this._hhists=v(e.hhists,this._indexes,_.materializeHHist)}else if("state"===e){const e=t;this._indexes=e.indexes||[],this._vertlines=S(e.vertlines,this._indexes,u),this._horizlines=S(e.horizlines,this._indexes,h),this._polygons=S(e.polygons,this._indexes,m),this._hhists=S(e.hhists,this._indexes,_.materializeHHist)}this._hhistsByTimePointIndex=o(this._hhists)}horizlines(){return this._horizlines}vertlines(){return this._vertlines}lines(){return this._lines}hlines(){return this._hlines}textmarks(){return this._textmarks}shapemarks(){return this._shapemarks}backgrounds(){return this._backgrounds}polygons(){return this._polygons}trendchannels(){return this._trendchannels}hhists(){return this._hhists}dwglabels(){return this._dwglabels}dwglines(){return this._dwglines}dwgboxes(){return this._dwgboxes}dwgtables(){return this._dwgtables}dwgtablecells(){return this._dwgtablecells}dwglinefills(){return this._dwglinefills}hhistsByTimePointIndex(){return this._hhistsByTimePointIndex}}function v(e,t,i){const s=new Map;return e.forEach((e,r)=>{const n=s.get(r)||new Set;e.forEach(e=>{const s=i(e,t);null!==s&&n.add(s)}),s.set(r,n)}),s}function S(e,t,i){const s=new Map;if(void 0===e)return s;for(const r of e){const e=r.styleId,n=s.get(e)||new Set;r.data.forEach(e=>{const s=i(e,t);null!==s&&n.add(s)}),s.set(e,n)}return s}function y(e,t,i,s){const r=[];return e.forEach((e,n)=>{e.forEach(e=>{!function(e,t,i){let s=null;for(const i of e)i.styleId===t&&(s=i);null===s&&(s={styleId:t,data:[]},e.push(s)),s.data.push(i)}(r,n,s(e,t(e),i))})}),r.length>0?r:void 0}function b(){return new f}function w(e){return new f("state",e)}function P(e){const t=function(e){const t=new Set;e.horizlines().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.vertlines().forEach((e,i)=>{e.forEach(e=>{t.add(e.index)})}),e.lines().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.textmarks().forEach((e,i)=>{e.forEach(e=>{t.add(e.time)})}),e.shapemarks().forEach((e,i)=>{e.forEach(e=>{t.add(e.time)})}),e.backgrounds().forEach((e,i)=>{e.forEach(e=>{t.add(null!==e.start?e.start:a.INVALID_TIME_POINT_INDEX),t.add(e.stop)})}),e.polygons().forEach((e,i)=>{e.forEach(e=>{e.points.forEach(e=>{t.add(e.index)})})}),e.trendchannels().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.hhists().forEach((e,i)=>{e.forEach(e=>{t.add(e.firstBarTime), +t.add(e.lastBarTime)})}),e.dwglabels().forEach((e,i)=>{e.forEach(e=>{t.add(e.x)})}),e.dwglines().forEach((e,i)=>{e.forEach(e=>{var i,s;t.add(null!==(i=e.x1)&&void 0!==i?i:a.INVALID_TIME_POINT_INDEX),t.add(null!==(s=e.x2)&&void 0!==s?s:a.INVALID_TIME_POINT_INDEX)})}),e.dwgboxes().forEach((e,i)=>{e.forEach(e=>{var i,s;t.add(null!==(i=e.left)&&void 0!==i?i:a.INVALID_TIME_POINT_INDEX),t.add(null!==(s=e.right)&&void 0!==s?s:a.INVALID_TIME_POINT_INDEX)})});const i=Array.from(t);return i.sort((e,t)=>e-t),i}(e),i={indexes:t};let s=0;const r=()=>++s;return i.vertlines=y(e.vertlines(),r,t,p),i.horizlines=y(e.horizlines(),r,t,d),i.polygons=y(e.polygons(),r,t,g),i.hhists=y(e.hhists(),r,t,_.dematerializeHHist),i}class C{constructor(){this._indexes=[],this._horizlines=new Map,this._vertlines=new Map,this._lines=new Map,this._hlines=new Map,this._textmarks=new Map,this._shapemarks=new Map,this._backgrounds=new Map,this._polygons=new Map,this._trendchannels=new Map,this._hhists=new Map,this._dwglabels=new Map,this._dwgboxes=new Map,this._dwglines=new Map,this._dwgtables=new Map,this._dwgtablecells=new Map,this._dwglinefills=new Map,this._hhistsByTimePointIndex=new Map}horizlines(){return this._horizlines}vertlines(){return this._vertlines}lines(){return this._lines}hlines(){return this._hlines}textmarks(){return this._textmarks}shapemarks(){return this._shapemarks}backgrounds(){return this._backgrounds}polygons(){return this._polygons}trendchannels(){return this._trendchannels}hhists(){return this._hhists}dwglabels(){return this._dwglabels}dwglines(){return this._dwglines}dwgboxes(){return this._dwgboxes}dwgtables(){return this._dwgtables}dwgtablecells(){return this._dwgtablecells}dwglinefills(){return this._dwglinefills}hhistsByTimePointIndex(){return this._hhistsByTimePointIndex}clear(){this._indexes=[],this._clearPrimitives()}extract(){const e=e=>e.extract(),t={indexes:this._indexes,horizlines:x(this._horizlines,e),vertlines:x(this._vertlines,e),lines:x(this._lines,e),hlines:x(this._hlines,e),textmarks:x(this._textmarks,e),shapemarks:x(this._shapemarks,e),backgrounds:x(this._backgrounds,e),polygons:x(this._polygons,e),trendchannels:x(this._trendchannels,e),hhists:x(this._hhists,e),dwglabels:x(this._dwglabels,e),dwglines:x(this._dwglines,e),dwgboxes:x(this._dwgboxes,e),dwgtables:x(this._dwgtables,e),dwgtablecells:x(this._dwgtablecells,e),dwglinefills:x(this._dwglinefills,e)};return this._hhistsByTimePointIndex=new Map,new f("data",t)}replaceIndexesTo(e){this._indexes=e;const t=e=>e.replaceIndexesTo(this._indexes);this._horizlines.forEach(t),this._vertlines.forEach(t),this._lines.forEach(t),this._hlines.forEach(t),this._textmarks.forEach(t),this._shapemarks.forEach(t),this._backgrounds.forEach(t),this._polygons.forEach(t),this._trendchannels.forEach(t),this._hhists.forEach(t),this._dwglabels.forEach(t),this._dwgboxes.forEach(t),this._dwglines.forEach(t),this._dwgtables.forEach(t),this._dwgtablecells.forEach(t),this._dwglinefills.forEach(t),this._hhistsByTimePointIndex=o(this._hhists)}processCommands(e,t){ +void 0!==e.erase&&this._processEraseCommands(e.erase),void 0!==e.create&&this._processCreateCommands(e.create,t)}_processCreateCommands(e,t){for(const i in e){if(!e.hasOwnProperty(i))continue;const s=i;switch((0,l.assert)(s in t,`There is a '${s}' in study response, but it doesn't present in graphics info!`),s){case"hhists":I(this._hhists,e[s],t[s],this._indexes,_.materializeHHist);break;case"horizlines":I(this._horizlines,e[s],t[s],this._indexes,h);break;case"vertlines":I(this._vertlines,e[s],t[s],this._indexes,u);break;case"polygons":I(this._polygons,e[s],t[s],this._indexes,m)}}this._hhistsByTimePointIndex=o(this._hhists)}_processEraseCommands(e){for(const t of e)if("all"===t.action)this._clearPrimitives();else{const e=e=>e.deleteById(t.id);switch(t.type){case"horizlines":this._horizlines.forEach(e);break;case"vertlines":this._vertlines.forEach(e);break;case"lines":this._lines.forEach(e);break;case"hlines":this._hlines.forEach(e);break;case"textmarks":this._textmarks.forEach(e);break;case"shapemarks":this._shapemarks.forEach(e);break;case"backgrounds":this._backgrounds.forEach(e);break;case"polygons":this._polygons.forEach(e);break;case"trendchannels":this._trendchannels.forEach(e);break;case"hhists":this._hhists.forEach(e);break;case"dwglabels":this._dwglabels.forEach(e);break;case"dwglines":this._dwglines.forEach(e);break;case"dwgboxes":this._dwgboxes.forEach(e);break;case"dwgtables":this._dwgtables.forEach(e);break;case"dwgtablecells":this._dwgtablecells.forEach(e);break;case"dwglinefills":this._dwglinefills.forEach(e)}}this._hhistsByTimePointIndex=o(this._hhists)}_clearPrimitives(){this._horizlines.clear(),this._vertlines.clear(),this._lines.clear(),this._hlines.clear(),this._textmarks.clear(),this._shapemarks.clear(),this._backgrounds.clear(),this._polygons.clear(),this._trendchannels.clear(),this._hhists.clear(),this._dwglabels.clear(),this._dwgboxes.clear(),this._dwglines.clear(),this._dwgtables.clear(),this._dwgtablecells.clear(),this._dwglinefills.clear(),this._hhistsByTimePointIndex=new Map}}class T{constructor(e,t){this._primitivesDataById=new Map,this._primitiveById=new Map,this._materializePrimitive=e,this._indexes=t}forEach(e,t){this._primitiveById.forEach(i=>{e.call(t,i,i,this)})}has(e){let t=!1;return this._primitiveById.forEach(i=>{t=t||i===e}),t}get size(){return this._primitiveById.size}[Symbol.iterator](){throw new Error("Not implemented")}entries(){throw new Error("Not implemented")}keys(){throw new Error("Not implemented")}values(){throw new Error("Not implemented")}hasId(e){return this._primitiveById.has(e)}addData(e){this._primitivesDataById.set(e.id,e),this._tryMaterialize(e)}deleteById(e){this._primitiveById.delete(e),this._primitivesDataById.delete(e)}clear(){this._primitivesDataById.clear(),this._primitiveById.clear()}replaceIndexesTo(e){this._indexes=e,this._primitiveById.clear(),this._primitivesDataById.forEach(this._tryMaterialize,this)}extract(){const e=new Set(this._primitivesDataById.values());return this._primitivesDataById=new Map,this._primitiveById.clear(),e}_tryMaterialize(e){ +const t=this._materializePrimitive(e,this._indexes);null!==t&&((0,l.assert)(!this._primitiveById.has(e.id),"primitive with specified id should not exist"),this._primitiveById.set(e.id,t))}}function x(e,t){const i=new Map;return e.forEach((e,s)=>i.set(s,t(e))),i}function I(e,t,i,s,r){if(void 0!==t)for(const n of t){const t=n.styleId;void 0!==i&&(0,l.assert)(t in i,"Every style used by graphics primitive should be declared in study metainfo");let o=e.get(t);void 0===o&&(o=new T(r,s),e.set(t,o)),n.data.forEach(o.addData.bind(o))}}var M=i(95426);class L extends M.PriceAxisView{constructor(e,t){super(),this._source=e,this._data=t}_updateRendererData(e,t,i){e.visible=!1;const s=this._source.priceScale(),r=this._source.properties().visible.value();if(!s||s.isEmpty()||!r)return;const n=this._source.properties().graphics[this._data.lineType][this._data.styleId];if(!(n.visible&&n.visible.value()&&n.showPrice&&n.showPrice.value()&&this._isLabelVisibleAccordinglyToProperties()))return;const o=this._source.firstValue();if(null===o)return;const a=this._data.line.level,l=n.color.value();i.background=l,i.textColor=this.generateTextColor(l),i.coordinate=s.priceToCoordinate(a,o),e.text=s.formatPrice(a,o,!0),e.visible=!0}_isLabelVisibleAccordinglyToProperties(){return!!this._source.model().properties().childs().scalesProperties.childs().showStudyLastValue.value()&&this._source.properties().showLabelsOnPriceScale.value()}}const A=(0,s.getLogger)("Chart.StudyGraphics"),k=new Set(["dwgtablecells"]);async function E(e,t,s,r){switch(e){case"hhists":return new((await i.e(507).then(i.bind(i,67046))).HHistPaneView)(t,s,r);case"horizlines":return new((await i.e(507).then(i.bind(i,95630))).HorizLinePaneView)(t,s,r);case"vertlines":return new((await i.e(507).then(i.bind(i,61469))).VertLinePaneView)(t,s,r);case"polygons":return new((await i.e(507).then(i.bind(i,87030))).PolygonPaneView)(t,s,r)}return null}async function D(e,t,i){const s=[],r=Object.keys(e.graphicsInfo());r.sort((e,t)=>V(e)-V(t));for(const n of r){const r=await E(n,e,t,i);null!==r?s.push(r):k.has(n)||A.logWarn(n+" is not supported by this build of graphics subsystem, skipping")}return s}function V(e){switch(e){case"polygons":return-100;case"trendchannels":return-90;default:return 0}}function B(e){const t=Object.keys(e.graphicsInfo()),i=[];for(const s of t)switch(s){case"hlines":e.graphics().hlines().forEach((t,r)=>{t.forEach(t=>{void 0!==t.level&&i.push(new L(e,{line:{level:t.level},styleId:r,lineType:s}))})});break;case"horizlines":e.graphics().horizlines().forEach((t,r)=>{t.forEach(t=>{void 0!==t.level&&i.push(new L(e,{line:{level:t.level},styleId:r,lineType:s}))})})}return i}},31505:(e,t,i)=>{"use strict";i.d(t,{HHistDirection:()=>s,HHistLocation:()=>r,materializeHHist:()=>l,dematerializeHHist:()=>c});var s,r,n=i(16282),o=i(67620),a=i(66096);function l(e,t){if(e.firstBarTime>=t.length||e.lastBarTime>=t.length)return null;const i=t[e.firstBarTime],s=t[e.lastBarTime];return i===o.INVALID_TIME_POINT_INDEX||s===o.INVALID_TIME_POINT_INDEX?null:((0, +n.assert)(i<=s,"firstBarTime should not exceed lastBarTime"),(0,n.assert)(e.priceLow<=e.priceHigh,"priceLow should not exceed priceHigh"),{firstBarTime:i,lastBarTime:s,rate:e.rate,priceHigh:e.priceHigh,priceLow:e.priceLow})}function c(e,t,i){const s=(0,a.ensureTimePointIndexIndex)(i.indexOf(e.firstBarTime)),r=(0,a.ensureTimePointIndexIndex)(i.indexOf(e.lastBarTime));return{id:t,...e,firstBarTime:s,lastBarTime:r}}!function(e){e.LeftToRight="left_to_right",e.RightToLeft="right_to_left"}(s||(s={})),function(e){e.Relative="relative",e.Absolute="absolute"}(r||(r={}))},64417:(e,t,i)=>{"use strict";var s,r,n,o;i.d(t,{MarkLocation:()=>s,HAlign:()=>r,LineStyle:()=>o}),function(e){e.AboveBar="AboveBar",e.BelowBar="BelowBar",e.Top="Top",e.Bottom="Bottom",e.Right="Right",e.Left="Left",e.Absolute="Absolute",e.AbsoluteUp="AbsoluteUp",e.AbsoluteDown="AbsoluteDown"}(s||(s={})),function(e){e.Left="left",e.Center="center",e.Right="right"}(r||(r={})),function(e){e.Top="top",e.Middle="middle",e.Bottom="bottom"}(n||(n={})),function(e){e[e.Solid=0]="Solid",e[e.Dotted=1]="Dotted",e[e.Dashed=2]="Dashed"}(o||(o={}))},1049:(e,t,i)=>{"use strict";i.d(t,{makeNextSymbolId:()=>r,makeNextStudyId:()=>o});let s=0;function r(){return s++,"ss_"+s}let n=0;function o(){return n++,"st"+n}},6345:(e,t,i)=>{"use strict";i.d(t,{migrateMetaInfoAndPropState:()=>l});var s=i(16282),r=i(85062),n=i.n(r),o=i(47903);const a=[new class{targetMetaInfoVersion(){return 47}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=47,!t.defaults||void 0===t.defaults.precision)return void(i.format={type:"inherit"});const s=t.defaults&&t.defaults.precision,r=(0,o.isNumber)(s)?s:parseInt(s);0===r?i.format={type:"volume"}:isFinite(r)?i.format={type:"price",precision:r}:i.format={type:"inherit"},delete t.defaults.precision}migratePropState(e){}},new class{targetMetaInfoVersion(){return 50}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=50,void 0===t.defaults||void 0===t.defaults.ohlcPlots||void 0===t.ohlcPlots)return;const r=t.ohlcPlots,n=t.defaults.ohlcPlots,o=(0,s.ensureDefined)((0,s.ensureDefined)(i.defaults).ohlcPlots);for(const e of Object.keys(n)){const t=n[e];if("ohlc_candles"===t.plottype){let i=!1;const s=r[e];void 0!==s&&(i=!!s.drawBorder,delete s.drawBorder),o[e]={borderColor:"#000000",drawBorder:i,...t}}}}migratePropState(e){}}];function l(e,t){const i=n().versionOf(e),r=e;void 0===r._serverMetaInfoVersion&&(r._serverMetaInfoVersion=i),a.forEach(r=>{i<0||i>=r.targetMetaInfoVersion()||(r.migrateMetaInfo(e),void 0!==t&&r.migratePropState(t),(0,s.assert)(e._metainfoVersion===r.targetMetaInfoVersion()))})}a.sort((function(e,t){return e.targetMetaInfoVersion()-t.targetMetaInfoVersion()}))},58891:(e,t,i)=>{"use strict";i.d(t,{NonSeriesStudy:()=>n});var s=i(16282),r=i(39951);class n extends r.Study{clearData(){this._customData=null,this._indexes=null}restoreData(e,t,i){r.Study.prototype.restoreData.call(this,e),this._customData=t,this._indexes=i}state(e){const t=super.state(e);return e&&(t.nonSeriesData=this._customData,t.indexes=this._indexes),t}customData(){ +return this._customData}_setPaneViews(e){this._paneViews=e,this.model().lightUpdate()}_onDataUpdated(e,t,i){null!==t&&(t.indexes_replace?((0,s.assert)("nochange"!==i),this._indexes=i):(this._customData=t.data,"nochange"!==i&&(this._indexes=i))),super._onDataUpdated(e,t,i)}}},83853:(e,t,i)=>{"use strict";i.d(t,{OverlayDataWindowView:()=>h});var s=i(75496),r=i(62043),n=i(43367),o=i(33033),a=i(15521),l=i(6713);const c=n.CheckMobile.any();class h extends r.DataWindowView{constructor(e,t){super(),this._invalidated=!0,this._study=e,this._model=t,this._valueProvider=this._createValuesProvider(e,t),this._items=this._valueProvider.getItems().map(e=>new r.DataWindowItem(e.title,"")),this.update()}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}update(){this._invalidated=!0}study(){return this._study}_updateImpl(){this._header=this._study.title();let e;this._showLastPriceAndChangeOnly()?e=this._study.data().lastIndex():(e=this._model.crossHairSource().appliedIndex(),(0,s.isNumber)(e)||(e=this._study.data().lastIndex()));const t=this._valueProvider.getValues(e);for(let e=0;e{"use strict";i.d(t,{OverlayLegendValuesProvider:()=>w});var s=i(25436),r=i(75496),n=i(79881),o=i(43367),a=i(50968),l=i(76553),c=i(62159),h=i(83111),d=i(61627),u=i(67945),p=i(15521),_=i(28834),m=i(36559),g=i(7518);const f=o.CheckMobile.any(),v=f&&!0,S=new c.PercentageFormatter,y=(0,n.t)("n/a"),b=`${y} (${y}%)`;class w extends class{constructor(e,t){this._study=e,this._model=t,this._emptyValues=[{title:(0,n.t)("Open"),visible:!1,value:"",index:0,id:""},{title:(0,n.t)("High"),visible:!1,value:"",index:1,id:""},{title:(0,n.t)("Low"),visible:!1,value:"",index:2,id:""},{title:(0,n.t)("Close"),visible:!1,value:"",index:3,id:""},{title:"",visible:!1,value:"",index:4,id:""},{title:"",visible:!1,value:"",index:5,id:""},{title:(0,n.t)("Change"),visible:!1,value:"",index:6,id:""}]}getItems(){return this._emptyValues}getValues(e){const t=this._emptyValues.map(e=>({...e}));if(this._model.timeScale().isEmpty())return t;if(0===this._study.data().size())return t;const i=this._showLastPriceAndChangeOnly();if((0,r.isNumber)(e)||(i?e=this._study.data().lastIndex():(e=this._model.crossHairSource().appliedIndex(),(0,r.isNumber)(e)||(e=this._study.data().lastIndex()))),null===e||!(0,r.isNumber)(e))return t;const s=this._study.data().search(e,d.PlotRowSearchMode.NearestLeft,1),n=this._model.backgroundTopColor().value();if(null===s)return t;const o=s.index,c=s.value,u=c[1],p=c[2],_=c[3],f=c[4];t[0].value=y,t[1].value=y,t[2].value=y,t[3].value=y,t[6].value=b;for(const e of t)e.visible=!i;const w=t[4];w.visible=!1;const{values:P}=this._changesData(f,u,o,i),C=(0, +g.getPriceValueFormatterForSource)(this._study);if((0,g.shouldBeFormattedAsPercent)(this._study))t[6].value="";else if(void 0!==P){const e=this._study.formatter();t[6].value=(0,l.forceLTRStr)(`${e.format(P.change,!0)} (${S.format(P.percentChange,!0)})`)}i?(t[5].value=null==f?y:C(f),t[5].visible=!0,t[6].visible=!0):(t[0].value=null==u?y:C(u),t[1].value=null==p?y:C(p),t[2].value=null==_?y:C(_),t[3].value=null==f?y:C(f),w.value=C(this._study.barFunction()(c)),t[5].visible=!1);let T=null;if(i&&!v)T=void 0===P||P.change>=0?m.SeriesBarColorer.upColor(this._study.properties()):m.SeriesBarColorer.downColor(this._study.properties());else{const e=this._study.barColorer().barStyle(o,!1),t=null!=e.barBorderColor?e.barBorderColor:e.barColor;T=(0,h.calculateColor)(n,t)}T=(0,a.resetTransparency)((0,h.calculateColor)(n,T));for(const e of t)e.color=T;return t}_showLastPriceAndChangeOnly(){return f&&(null===this._model.crossHairSource().pane||(0,u.isLineToolName)(p.tool.value())||null!==this._model.lineBeingEdited())}_changesData(e,t,i,s){var r;if(s&&!v){const e=this._study.quotes();if(null!==e)return{values:{change:e.change,percentChange:e.change_percent},priceDirection:{basedOnCurrentBar:e.change>=0?0:1,basedOnPrevClose:e.change>=0?0:1}}}else{const s=this._study.data().search(i-1,d.PlotRowSearchMode.NearestLeft,1),n=null!==(r=null==s?void 0:s.value[4])&&void 0!==r?r:null;if(null!==n&&null!=e&&null!=t)return{values:{change:e-n,percentChange:(0,_.barPercentChange)(n,e)},priceDirection:{basedOnCurrentBar:e>=t?0:1,basedOnPrevClose:e>=n?0:1}}}return null==e||null==t?{}:{priceDirection:{basedOnCurrentBar:e>=t?0:1,basedOnPrevClose:e>=t?0:1}}}}{constructor(e,t){super(e,t);const i=t.properties().childs().paneProperties.childs().legendProperties.childs();this._showBarChange=i.showBarChange,this._showSeriesOHLC=i.showSeriesOHLC,this._seriesStyle=e.properties().childs().style}getValues(e){const t=super.getValues(e);if(!this._showLastPriceAndChangeOnly()){const e=(0,s.isPriceSourceStyle)(this._seriesStyle.value()),i=this._showSeriesOHLC.value(),r=i&&!e,n=i&&e;t[0].visible=r,t[1].visible=r,t[2].visible=r,t[3].visible=r,t[6].visible=this._showBarChange.value(),t[4].visible=n}return t}}},41268:(e,t,i)=>{"use strict";i.d(t,{OverlayLegendView:()=>o});i(79881);var s=i(83853),r=i(38318),n=i(69881);class o extends s.OverlayDataWindowView{constructor(e,t){super(e,t),this._additional=null,this._studyOverlay=e,this._backgroundColorSpawn=t.backgroundTopColor().spawn(),this._backgroundColorSpawn.subscribe(this.update.bind(this));const i=t.properties().childs().paneProperties.childs().legendProperties.childs();this._visibilityProperty=(0,n.combineProperty)((e,t)=>e||t,i.showBarChange,i.showSeriesOHLC),this._visibilityProperty.subscribe(this,this.update)}areValuesVisible(){return this._visibilityProperty.value()}additional(){return this._additional}destroy(){this._backgroundColorSpawn.destroy(),this._visibilityProperty.destroy()}_updateImpl(){super._updateImpl()}_createValuesProvider(e,t){return new r.OverlayLegendValuesProvider(e,t)}}},85630:(e,t,i)=>{ +"use strict";i.d(t,{OverlayStudyPriceLineAxisView:()=>r});var s=i(46556);class r extends s.PriceLineAxisView{constructor(e){super(),this._study=e}_value(){return this._study.lastValueData("",!0)}_priceLineColor(e){return e}_lineWidth(){return 1}_isVisible(){const e=this._study.model().properties().childs().scalesProperties.childs().showSeriesLastValue.value();return this._study.properties().childs().showPriceLine.value()&&e}}},72494:(e,t,i)=>{"use strict";i.d(t,{OverlayStatusProvider:()=>r});var s=i(39425);class r extends s.StudyStatusProvider{getSplitTitle(){return this._source.titleInParts(!0,void 0,!1,!1)}text(){return this._source.isActualInterval()?this._source.isFailed()?`${this._source.title(!0,void 0,!1,!1)}: ${this.sourceStatusText()}`:`${this._source.title(!0,void 0,!1,!1)} ${this.sourceStatusText()}`:this._source.title(!0,void 0,!1,!1)}}},22096:(e,t,i)=>{"use strict";i.d(t,{PivotPointsStandardLastPricesView:()=>o});var s=i(61627);const r=["p","s1","r1","s2","r2","s3","r3","s4","r4","s5","r5"],n={P:"P",S1:"S1/R1",S2:"S2/R2",S3:"S3/R3",S4:"S4/R4",S5:"S5/R5",R1:"S1/R1",R2:"S2/R2",R3:"S3/R3",R4:"S4/R4",R5:"S5/R5"};class o{constructor(e){this._visiblePivots=new Set,this._invidated=!0,this._prices=[],this._source=e}visiblePivots(){return this._visiblePivots}update(){this._invidated=!0}prices(){return this._invidated&&(this._updateImpl(),this._invidated=!1),this._prices}_updateImpl(){this._visiblePivots.clear();const e=this._source.model(),t=this._source.priceScale();if(null===t)return;if(e.timeScale().isEmpty()||t.isEmpty())return;const i=e.timeScale().visibleBarsStrictRange();if(null===i)return;if(!this._source.customData()||!this._source.customData().pivots)return;const o=e.mainSeries().bars().search(i.lastBar(),s.PlotRowSearchMode.NearestLeft);if(null===o)return;const a=o.index,l=this._source.customData().pivots,c=this._source.indexes(),h=this._source.properties(),d=this._source.firstValue();for(let e=0;e=a||o)){this._visiblePivots.add(l[e]),this._prices=[];for(let i=0;i{"use strict";i.d(t,{PaneRendererStandardPivotLabel:()=>r});var s=i(10288);class r{constructor(e,t,i){this._drawRects=[],this._cacheProvider=e,this._point=t,this._label=i}draw(e,t){const i=this._cacheProvider(t);e.save(),e.setTransform(1,0,0,1,0,0);const s=t.pixelRatio;this._drawRects=[];const r=t=>{const r=i.labelRectByIndex(t),n={left:Math.round(this._point.x-r.width+o),top:Math.round(this._point.y-r.height/2),width:r.width,height:r.height};return e.drawImage(i.canvas(),Math.round(r.left*s),Math.round(r.top*s),r.width*s,r.height*s,Math.round(n.left*s),Math.round(n.top*s),n.width*s,n.height*s),this._drawRects.push(n),r.width},n=this._label.split("/") +;let o=0;for(let e=0;e0&&(o+=r(t+11)/2),o+=r(t)/2}e.restore()}hitTest(e){for(const t of this._drawRects)if(e.x>=t.left&&e.x<=t.left+t.width&&e.y>=t.top&&e.y<=t.top+t.height)return new s.HitTestResult(s.HitTestResult.REGULAR);return null}}},7313:(e,t,i)=>{"use strict";i.d(t,{StandardPivotPointsImageCache:()=>n});var s=i(16932),r=i(16282);class n{constructor(e,t,i,r){this._priceAxisFontSize=11,this._prices=[],this._labelWidth=0,this._paneRenderParams=e,this._recreateCanvasAndContext(new s.Size(0,0)),this.reset({font:t,fontSize:i,backColors:r})}destroy(){delete this._canvas,delete this._cache}canvas(){return this._canvas}reset(e){this._renderParams=e,this._prices=[],this._cache.font=e.fontSize+"px "+e.font,this._labelWidth=["P","S1","R1","S2","R2","S3","R3","S4","R4","S5","R5","/"].reduce((e,t)=>{const i=this._cache.measureText(t).width;return Math.max(i,e)},0)}rowHeight(){return this._priceAxisFontSize+4}labelRectByIndex(e){return{left:0,top:Math.round(this._topByIndex(e)),width:Math.round(this._labelWidth+4),height:Math.round(this._renderParams.fontSize+8)}}setPrices(e){let t=!1;const i=(e,t)=>{const i=void 0===e,s=void 0===t;return(!i&&!s||i===s)&&(0,r.ensureDefined)(e).formatted===(0,r.ensureDefined)(t).formatted};if(e.length!==this._prices.length)t=!0;else for(let s=0;s{this._cache.translate(.5,.5),this._cache.font=this._renderParams.fontSize+"px "+this._renderParams.font,this._cache.textBaseline="middle";for(let e=0;e{"use strict";i.d(t,{StandardPivotPointsPriceAxisView:()=>n});var s=i(95426);const r=["P","S1","R1","S2","R2","S3","R3","S4","R4","S5","R5"];class n extends s.PriceAxisView{constructor(e,t){super(),this._source=e,this._data=t;const i=t.name;this._completeName="P"===i.toUpperCase()?"P":`S${i[1]}/R${i[1]}`}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._source.properties();if(!s.visible.value())return;const n=this._completeName,o=s.levelsStyle.visibility +;if(!o[n]||!o[n].value())return;const a=this._source.model().timeScale(),l=this._source.priceScale();if(a.isEmpty()||null===a.visibleBarsStrictRange()||null!==l&&l.isEmpty())return;const c=this._source.customData();if(!c||!c.pivots)return;const h=this._source.pricesView().prices()[r.indexOf(this._data.name.toUpperCase())];if(!h)return;i.background=h.color,i.textColor=this.generateTextColor(h.color),i.coordinate=h.coordinate,i.floatCoordinate=h.floatCoordinate;const d=this._source.model().properties().childs().scalesProperties.childs();d.showStudyLastValue.value()&&(e.text=h.formatted,e.visible=!0),d.showStudyPlotLabels.value()&&(t.text=this._source.priceLabelText(this._data.name),t.visible=!0)}}},77904:(e,t,i)=>{"use strict";var s=i(25303).PriceRange,r=i(72927).Point,n=i(53289).StudyStatusView,o=i(74393).StudyDataWindowView,a=i(58891).NonSeriesStudy,l=i(66238).StandardPivotPointsPriceAxisView,c=i(13114).PanePriceAxisView,h=i(10288).HitTestResult,d=i(87088).CompositeRenderer,u=i(8356).areEqualPaneRenderParams,p=i(7313).StandardPivotPointsImageCache,_=i(22096).PivotPointsStandardLastPricesView,m=i(82157).PaneRendererStandardPivotLabel,g=i(29982).HorizontalLineRenderer,f=i(54837);class v{constructor(e,t){this._model=e,this._source=t,this._pivots=[],this._textCache={}}setCache(e){this._cache=e}priceAxisViews(e,t){return this._priceAxisViews}mergeLabel(e,t,i){var s=""+t;void 0===e[s]?(e[s]={},e[s].text=i,e[s].ids=[this.complete(i)]):(e[s].text+="/"+i,e[s].ids.push(this.complete(i)))}complete(e){return"P"===e?e:"S"+e[1]+"/R"+e[1]}update(){this._invalidated=!0}_updateImpl(){if(this._source.pricesView().prices(),this._pivots=[],this._source.customData()&&this._source.customData().pivots&&this._source.properties().visible.value()){var e=this._source.customData().pivots,t=this._source._indexes,i=this._model.timeScale(),s=this._source.priceScale();if(s&&!s.isEmpty()&&!i.isEmpty()&&e){var r=i.visibleBarsStrictRange(),n=r.firstBar(),o=r.lastBar();if(this._source.ownerSource())for(var a=this._source.ownerSource().firstValue(),l=0;lo)){var d={},u=this._source.properties().levelsStyle.visibility;u.P.value()&&this.mergeLabel(d,e[l].p,"P"),u["S1/R1"].value()&&(this.mergeLabel(d,e[l].s1,"S1"),this.mergeLabel(d,e[l].r1,"R1")),u["S2/R2"].value()&&(this.mergeLabel(d,e[l].s2,"S2"),this.mergeLabel(d,e[l].r2,"R2")),u["S3/R3"].value()&&(this.mergeLabel(d,e[l].s3,"S3"),this.mergeLabel(d,e[l].r3,"R3")),u["S4/R4"].value()&&(this.mergeLabel(d,e[l].s4,"S4"),this.mergeLabel(d,e[l].r4,"R4")),u["S5/R5"].value()&&(this.mergeLabel(d,e[l].s5,"S5"),this.mergeLabel(d,e[l].r5,"R5"));var p=i.indexToCoordinate(c),_=i.indexToCoordinate(h);for(var m in d){var g=parseFloat(m),f=s.priceToCoordinate(g,a);this._pivots.push({x1:p,x2:_,y:f,label:d[m].text,labelIds:d[m].ids,src:e[l]})}}}}}}renderer(){this._invalidated&&(this._updateImpl(),this._invalidated=!1) +;for(var e=new d,t=this._source.properties().levelsStyle.colors,i=this._source.properties().levelsStyle.widths,s=this._source.visiblePivots(),n=0;nt)){var l=[],c=this._properties.levelsStyle.visibility;c.P.value()&&l.push(i[o].p),c["S1/R1"].value()&&l.push(i[o].s1,i[o].r1),c["S2/R2"].value()&&l.push(i[o].s2,i[o].r2),c["S3/R3"].value()&&l.push(i[o].s3,i[o].r3),c["S4/R4"].value()&&l.push(i[o].s4,i[o].r4),c["S5/R5"].value()&&l.push(i[o].s5,i[o].r5);for(var h=0;h{"use strict";function s(e){e.lineWidth=void 0,e.lineStyle=void 0;for(let t=0;ts,createEmptyStyle:()=>r})},4600:(e,t,i)=>{"use strict";i.d(t,{StudyPlotPaneView:()=>E});var s=i(16282),r=i(72927),n=i(14563),o=i(27490),a=i(57968),l=i(47903),c=i(50968),h=i(85545);function d(e,t){const i=new Map;return function(...s){const r=""+(t?t.apply(null,s):s[0]);if(!i.has(r)){const t=e.apply(this,s);return i.set(r,t),t}return i.get(r)}}var u=i(10288),p=i(9537),_=i(87088),m=i(59109),g=i(73175),f=i(61627),v=i(98742),S=i(73301),y=i(37326),b=i(21344),w=i(43367);class P{constructor(e){this._data=e}draw(e,t){const i=this._data,s=t.pixelRatio,r=Math.max(1,Math.floor(s))%2?.5:0,n=i.vertOffset||0,o=i.lineColor||i.color,a=i.lineWidth||i.height/2;let c="",h=!1;for(const t of i.items){const i=t.x,d=t.y+n;if((0,l.isNaN)(i)||(0,l.isNaN)(d))continue;let u,p;null!=t.style?(u=t.style.color,p=t.style.width):(u=o,p=a),(u!==c||w.isSafari)&&(c=u,h&&e.fill(),e.beginPath(),e.fillStyle=u);const _=Math.round(i*s)+r,m=Math.round(d*s)+r,g=Math.round(p*s)+r;e.moveTo(_+g,m),e.arc(_,m,g,0,2*Math.PI,!1),h=!0}h&&e.fill()}hitTest(e){const t=this._data,i=t.lineWidth||t.height/2,s=t.vertOffset||0,n=(0,b.interactionTolerance)().series+i;for(const o of t.items){if(!o)continue;if(new r.Point(o.x,o.y+s).subtract(e).length()+i<=n)return new u.HitTestResult(u.HitTestResult.REGULAR)}return null}}class C{constructor(e){this._data=null,this._precalculatedCache=[],this.setData(e)}setData(e){this._data=e,this._precalculatedCache=[]}draw(e,t){ +if(null===this._data||0===this._data.items.length)return;const i=t.pixelRatio;this._precalculatedCache.length||this._fillPrecalculatedCache(i);const s=Math.max(1,Math.floor(i)),r=Math.round(this._data.histogramBase*i)-Math.floor(s/2),n=r+s,o=this._data.lineColor;for(let t=0;t=i&&r<=s){const i=t.y;if(e.y>=Math.min(i,this._data.histogramBase)&&e.y<=Math.max(i,this._data.histogramBase))return new u.HitTestResult(u.HitTestResult.REGULAR)}}return null}_fillPrecalculatedCache(e){if(null===this._data||0===this._data.items.length)return void(this._precalculatedCache=[]);const t=Math.ceil(this._data.barSpacing*e)<=1?0:Math.max(1,Math.floor(e)),i=Math.round(this._data.barSpacing*e)-t;this._precalculatedCache=new Array(this._data.items.length);for(let t=0;ts.center?s.right=i.left-t-1:i.left=s.right+t+1))}let s=Math.ceil(this._data.barSpacing*e);for(let e=0;e0&&s<4)for(let e=0;es&&(t.roundedCenter>t.center?t.right-=1:t.left+=1)}}}var T=i(89684);class x{constructor(e){this._data=e}draw(e,t){var i,s,r,n;const o=t.pixelRatio;let a="",c=!1;for(const t of this._data.items){if((0,l.isNaN)(t.x)||(0,l.isNaN)(t.y))continue;const h=null!==(s=null===(i=t.style)||void 0===i?void 0:i.color)&&void 0!==s?s:this._data.lineColor,d=Math.max(1,Math.floor((null!==(n=null===(r=t.style)||void 0===r?void 0:r.width)&&void 0!==n?n:this._data.lineWidth)*o));(h!==a||w.isSafari)&&(a=h,c&&e.fill(),e.beginPath(),e.fillStyle=h);let u=3*d;u%2!=d%2&&(u+=1);const p=Math.round(Math.round(t.x*o)-u/2),_=Math.round(Math.round(t.y*o)-u/2),m=p+Math.floor(u/2-d/2),g=_+Math.floor(u/2-d/2);e.rect(p,g,u,d),e.rect(m,_,d,u),c=!0}c&&e.fill()}hitTest(e){const t=(0,b.interactionTolerance)().series+this._data.lineWidth/2;let i,s,n,o;for(let a=1;a{const t=(0,n.rgbToHsl)((0,n.parseRgb)(e)),i=t[0]+.05;return t[0]=i-Math.floor(i),(0,n.rgbToHexString)((0,n.hslToRgb)(t))},k=d(A);class E{constructor(e,t,i,s){this._histogramBase=null,this._items=[],this._selectionData=null,this._lineColor="",this._lineWidth=1,this._color1="",this._color2="",this._invalidated=!1,this._renderer=new _.CompositeRenderer,this._isMarkersEnabled=o.enabled("source_selection_markers"),this._study=e,this._series=t,this._model=i,this._plotName=s,this._plotIndex=e.metaInfo().plots.findIndex(e=>e.id===s),this._colorProvider=(0,L.createStudyPlotColorProvider)(e.metaInfo(),e.properties(),s),this._selectionIndexer=new v.SelectionIndexes(i.timeScale())}items(){return this._items}update(){this._invalidated=!0}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._renderer}_getTranspValue(){const e=this._study.properties(),t=e.styles[this._plotName];let i=0;const s=this._study.metaInfo();return"Volume@tv-basicstudies"===s.id&&s.version<=46&&"transparency"in e?(i=e.transparency.value(),i=(0,l.isNumber)(i)?i:0,i):(t.transparency&&(i=t.transparency.value(),i=(0,l.isNumber)(i)?i:0),i)}_updateImpl(){var e,t,i,n,o;this._renderer.clear();const d=this._study.properties().styles[this._plotName];if(!d.visible.value())return;if(!this._study.priceScale())return;this._histogramBase=null,this._items=[];const _=this._study.priceScale();if(this._model.timeScale().isEmpty()||null===_||_.isEmpty())return;const v=this._model.timeScale().visibleBarsStrictRange();if(null===v)return;let b=null!==(e=this._series.nearestIndex(v.firstBar()-1,f.PlotRowSearchMode.NearestLeft))&&void 0!==e?e:this._series.bars().firstIndex(),w=null!==(t=this._series.nearestIndex(v.lastBar()+1,f.PlotRowSearchMode.NearestRight))&&void 0!==t?t:this._series.bars().lastIndex();if(null===b||null===w)return;const T=this._study.offset(this._plotName);T>0?(b-=T,w+=T):(b+=T,w-=T);const L=this._study.getMinFirstBarIndexForPlot(this._plotName);if(L>w)return;b=Math.max(L,b) +;const E=d.plottype.value(),D=[M.LineStudyPlotStyle.Line,M.LineStudyPlotStyle.Area,M.LineStudyPlotStyle.Circles,M.LineStudyPlotStyle.Cross].indexOf(E)>=0,V=this._study.data(),B=this._study.firstValue();if(null===B)return;const N=V.rangeIterator(b,w),R=this._study.priceScale();if(null===R)return;const O=(0,a.clamp)(this._getTranspValue(),0,100),F=new Map,W=(e,t)=>{let i=F.get(e);void 0===i&&(i=new Map,F.set(e,i));let s=i.get(t);if(void 0===s){const r=!this._plotName||"vol"!==this._plotName;s=(0,c.generateColor)(e,t,r),i.set(t,s)}return s};let H=NaN,z=NaN;const U=(0,y.createEmptyStyle)();for(;N.hasNext();){const e=N.next();let t=e.index;const o=e.value;t+=T,t=Math.floor(t);let a=o[this._plotIndex+1];const l=null==a;if(a=l?NaN:a,D&&l){z=a;continue}const h=new r.Point(t,(0,s.ensure)(a));h.timePointIndex=t,h.valIsNotSameAsPrev=a!==z;if(this._colorProvider.isColorDefined()&&(h.style={color:W(d.color.value(),100),width:d.linewidth.value(),style:d.linestyle.value()},null!=a)){const e=this._colorProvider.getPlotPointStyle(o,U),t=e.colors[0];void 0!==t&&(h.style.color=(0,c.isHexColor)(t)?W(t,O):t),h.style.width=null!==(i=e.lineWidth)&&void 0!==i?i:h.style.width,h.style.style=null!==(n=e.lineStyle)&&void 0!==n?n:h.style.style}D||isNaN(H)||H===t-1||this._items.push(new r.Point(t-1,NaN)),H=t,z=a,this._items.push(h)}if(R.pointsArrayToCoordinates(this._items,B),this._model.timeScale().timedValuesToCoordinates(this._items),d.histogramBase&&(this._histogramBase=R.priceToCoordinate(d.histogramBase.value(),B)),this._model.selection().isSelected(this._study)){const e=this._selectionIndexer.indexes();this._selectionData={points:[],bgColors:[],visible:!0,hittestResult:u.HitTestResult.REGULAR,barSpacing:this._model.timeScale().barSpacing()};const t=(0,s.ensureNotNull)(this._model.paneForSource(this._study)).height();for(let i=0;i{"use strict";i.d(t,{createStudyPlotColorProvider:()=>p});var s=i(77455),r=i(16282),n=i(37326);const o=new Map([[0,"color"],[2,"textColor"],[3,"borderColor"],[4,"wickColor"],[5,"colorup"],[6,"colordown"]]);class a{constructor(e){this._plotStyle=e}getPlotPointStyle(e,t){const i=t?(0,n.clearStyle)(t):(0,n.createEmptyStyle)();return o.forEach((e,t)=>{this._plotStyle[e]&&(i.colors[t]=this._plotStyle[e].value())}),i.lineWidth=this._plotStyle.linewidth?this._plotStyle.linewidth.value():void 0,i.lineStyle=this._plotStyle.linestyle?this._plotStyle.linestyle.value():void 0,i}isColorDefined(){return!0}singleColor(){return!0}getDefaultPlotPointStyle(){return null}}const l=[0,1,2,3,4,5,6];class c{constructor(e,t,i,s){this._palettesColors=new Map,this._defaultPlotColors=new Map,this._indexes=s;const n=t.styles[i];if(n)for(const[e,t]of o)this._defaultPlotColors.set(e,n[t]);const a=(0,r.ensureDefined)(e.palettes),l=e.plots;s.forEach((e,i)=>{const s=l[e];if(s&&"palette"in s){const e=a[s.palette],r=t.palettes[s.palette];if(e&&r){const{valToIndex:t}=e,{colors:s}=r,n={...s};t&&Object.keys(t).forEach(e=>{const i=t[e];void 0!==i&&(n[e]=s[i])}),this._palettesColors.set(i,n)}}})}getPlotPointStyle(e,t){const i=t?(0,n.clearStyle)(t):(0,n.createEmptyStyle)();return l.forEach(t=>{var s,n;if(this._palettesColors.has(t)){const n=e[(0,r.ensureDefined)(this._indexes.get(t))+1];if("number"==typeof n){const e=null===(s=this._palettesColors.get(t))||void 0===s?void 0:s[n];0===t&&e&&(i.lineWidth=e.width.value(),i.lineStyle=e.style.value()),i.colors[t]=null==e?void 0:e.color.value()}else i.colors[t]="transparent"}else i.colors[t]=null===(n=this._defaultPlotColors.get(t))||void 0===n?void 0:n.value()}),i} +getDefaultPlotPointStyle(){var e;const t=null===(e=this._palettesColors.get(0))||void 0===e?void 0:e[0];if(void 0!==t){return{colors:[t.color.value(),void 0,void 0,void 0,void 0,void 0,void 0],lineStyle:void 0,lineWidth:t.width.value()}}return null}isColorDefined(){return!!this._palettesColors.size}singleColor(){return!1}}var h=i(50968);class d{constructor(e){this._indexes=e}getPlotPointStyle(e,t){const i=t?(0,n.clearStyle)(t):(0,n.createEmptyStyle)();return this._indexes.forEach((t,s)=>{const r=e[t+1];if(null!=r){const e=(0,h.rgbaFromInteger)(r);i.colors[s]=e}else i.colors[s]="transparent"}),i}isColorDefined(){return!0}singleColor(){return!1}getDefaultPlotPointStyle(){return null}}const u=new Map([[0,function(e,t){const i=(0,s.isColorerPlot)(t)||(0,s.isOhlcColorerPlot)(t);return"target"in t&&t.target===e&&i}],[2,function(e,t){const i=(0,s.isTextColorerPlot)(t);return"target"in t&&t.target===e&&i}],[1,function(e,t){return(0,s.isBgColorerPlot)(t)&&t.id===e}],[3,function(e,t){const i=(0,s.isCandleBorderColorerPlot)(t);return"target"in t&&t.target===e&&i}],[4,function(e,t){const i=(0,s.isCandleWickColorerPlot)(t);return"target"in t&&t.target===e&&i}],[5,function(e,t){const i=(0,s.isUpColorerPlot)(t);return"target"in t&&t.target===e&&i}],[6,function(e,t){const i=(0,s.isDownColorerPlot)(t);return"target"in t&&t.target===e&&i}]]);function p(e,t,i){const{colorers:s}=function(e,t){const i=e.plots,s=i.findIndex(e=>e.id===t),r=new Map;return i.forEach((e,i)=>{u.forEach((s,n)=>{s(t,e)&&r.set(n,i)})}),{plotIndex:-1===s?null:s,colorers:r}}(e,i);if(s.size)return e.isRGB?new d(s):new c(e,t,i,s);{const e=t.ohlcPlots;if(e&&e[i])return new a(e[i]);const s=t.styles[i];return new a(s)}}},77455:(e,t,i)=>{"use strict";var s,r;function n(e){return"line"===e.type}function o(e){return"shapes"===e.type}function a(e){return"chars"===e.type}function l(e){return"arrows"===e.type}function c(e){return"dataoffset"===e.type}function h(e){return"ohlc_open"===e.type}function d(e){return"ohlc_high"===e.type}function u(e){return"ohlc_low"===e.type}function p(e){return"ohlc_close"===e.type}function _(e){return h(e)||d(e)||u(e)||p(e)}function m(e){return"colorer"===e.type}function g(e){return"bar_colorer"===e.type}function f(e){return"bg_colorer"===e.type}function v(e){return"text_colorer"===e.type}function S(e){return"ohlc_colorer"===e.type}function y(e){return"wick_colorer"===e.type}function b(e){return"border_colorer"===e.type}function w(e){return"up_colorer"===e.type}function P(e){return"down_colorer"===e.type}function C(e){return"alertcondition"===e.type}function T(e){return"Plot"!==e}function x(e){return"ohlc_bars"===e.plottype}function I(e){return"ohlc_candles"===e.plottype}function M(e){return m(e)||g(e)||f(e)||c(e)||S(e)||C(e)||w(e)||P(e)||b(e)||y(e)||v(e)}function L(e){return m(e)||v(e)||g(e)||c(e)||S(e)||y(e)||b(e)||w(e)||P(e)||C(e)}i.r(t),i.d(t,{LineStudyPlotStyle:()=>s,isLinePlot:()=>n,isShapesPlot:()=>o,isCharsPlot:()=>a,isArrowsPlot:()=>l,isDataOffsetPlot:()=>c,isOhlcOpenPlot:()=>h,isOhlcHighPlot:()=>d,isOhlcLowPlot:()=>u, +isOhlcClosePlot:()=>p,isOhlcPlot:()=>_,isColorerPlot:()=>m,isBarColorerPlot:()=>g,isBgColorerPlot:()=>f,isTextColorerPlot:()=>v,isOhlcColorerPlot:()=>S,isCandleWickColorerPlot:()=>y,isCandleBorderColorerPlot:()=>b,isUpColorerPlot:()=>w,isDownColorerPlot:()=>P,isAlertConditionPlot:()=>C,isPlotTitleDefined:()=>T,isOhlcPlotStyleBars:()=>x,isOhlcPlotStyleCandles:()=>I,PlotSymbolSize:()=>r,isPlotWithTechnicalValues:()=>M,isNonVisualPlot:()=>L}),function(e){e[e.Line=0]="Line",e[e.Histogram=1]="Histogram",e[e.Cross=3]="Cross",e[e.Area=4]="Area",e[e.Columns=5]="Columns",e[e.Circles=6]="Circles",e[e.LineWithBreaks=7]="LineWithBreaks",e[e.AreaWithBreaks=8]="AreaWithBreaks",e[e.StepLine=9]="StepLine",e[e.StepLineWithDiamonds=10]="StepLineWithDiamonds"}(s||(s={})),function(e){e.Auto="auto",e.Tiny="tiny",e.Small="small",e.Normal="normal",e.Large="large",e.Huge="huge"}(r||(r={}))},17e3:(e,t,i)=>{"use strict";i.r(t),i.d(t,{createStudy:()=>T,isESDStudy:()=>w,isFundamentalStudy:()=>b,isFundamentalStudyMetaInfo:()=>P,isStudy:()=>v,isStudyStrategy:()=>S,isStudyStub:()=>y,studyColorRotationMode:()=>x,useSameColorRotationComparator:()=>M});var s=i(85062),r=i.n(s),n=i(39951),o=i(77904),a=i(33508),l=i(32643),c=i(17404),h=i(73228);const d=i(27490).enabled("hide_main_series_symbol_from_indicator_legend");class u extends n.Study{constructor(e,t,i,s){super(e,t,i,s),this.properties().styles.vol_ma.visible.listeners().subscribe(this,()=>this.invalidateTitleCache())}base(){return 1}destroy(){this.properties().styles.vol_ma.visible.listeners().unsubscribeAll(this),super.destroy()}_titleInputs(){const e={symbolsForDisplay:!0,skipHiddenInputs:!0,fakeInputsForDisplay:!0,asObject:!1,skipOptionalEmptySymbolInputs:d};return this.properties().styles.vol_ma.visible.value()?this.inputs(e):this.inputs({...e,skippedInputs:["length"]})}}var p=i(16282),_=i(25303);class m extends n.Study{priceRange(e,t){let i=!1;this.graphics().hhists().forEach((e,t)=>{i=i||this.properties().child("graphics").child("hhists").child(t).child("showValues").value()});const s=function(e,t,i,s){let r=null;return e.forEach((e,s)=>{e.forEach(e=>{e.firstBarTime<=i&&e.lastBarTime>=t&&(null===r?r={low:{l:e.priceLow,h:e.priceHigh},high:{h:e.priceHigh}}:(e.priceLow{"use strict";i.d(t,{StudyColorRotatorFactory:()=>h});var s=i(53312),r=i(14563),n=i(50968),o=i(17e3);const a=["color-sky-blue-400","color-banana-yellow-700","color-deep-blue-500","color-grapes-purple-a700","color-iguana-green-500","color-minty-green-a700","color-ripe-red-a200","color-berry-pink-200","color-tv-blue-a100","color-tan-orange-a200","color-sky-blue-a400","color-deep-blue-a100","color-grapes-purple-400","color-iguana-green-a700","color-minty-green-200","color-ripe-red-200","color-berry-pink-a200","color-ripe-red-500","color-grapes-purple-500","color-deep-blue-400","color-tv-blue-a200","color-sky-blue-500","color-iguana-green-400","color-minty-green-400","color-banana-yellow-600","color-tan-orange-500","color-berry-pink-400","color-ripe-red-300","color-grapes-purple-300","color-deep-blue-300","color-tv-blue-300","color-sky-blue-300","color-iguana-green-300","color-minty-green-300","color-banana-yellow-400","color-tan-orange-300","color-berry-pink-300","color-tan-orange-a700"];class l{constructor(e){this._offset=0,this._offset=e}getColor(e){if(0===this._offset)return e;const t=a[(this._offset-1)%a.length],i=s.colorsPalette[t],o=(0,n.isHexColor)(e)?1:(0,r.parseRgba)(e)[3];return(0,n.generateColor)(i,(0,n.alphaToTransparency)(o))}}class c{constructor(e,t){this._offset=e,this._modelStartOffset=t}getColor(e){if((0,n.isHexColor)(e)){const t=(0,r.parseRgb)(e);return(0,r.rgbToHexString)((0,r.shiftRgb)(t,this._offset,this._modelStartOffset))}{const t=(0,r.parseRgba)(e);return(0,r.rgbaToString)((0,r.shiftRgba)(t,this._offset,this._modelStartOffset))}}}class h{constructor(e){this._chartModel=e}getColorRotator(e){const t=(0,o.studyColorRotationMode)(e);if(null===t)return null;const i=this._calcDefaultColorsOffset(e);switch(t){case"loop":return new l(i);case"shift":{const e=this._chartModel.getStudyShiftColorStartOffset();return new c(i,e)}}}_calcDefaultColorsOffset(e){let t=0;const i=(0,o.useSameColorRotationComparator)(e);return this._chartModel.dataSources().filter(o.isStudy).forEach(s=>{i(e,s.metaInfo())&&t++}),t}}},7171:(e,t,i)=>{"use strict";i.d(t,{StudyDataSource:()=>_}) +;var s=i(16282),r=i(5729),n=i.n(r),o=i(61627),a=i(66096),l=i(1049),c=i(28676),h=i(19625);const d=(0,i(65447).getLogger)("Chart.StudyDataSource");var u,p;!function(e){e[e.Undefined=0]="Undefined",e[e.Loading=1]="Loading",e[e.Completed=2]="Completed",e[e.Error=3]="Error"}(u||(u={})),function(e){e[e.Idle=0]="Idle",e[e.AwaitingConnection=1]="AwaitingConnection",e[e.AwaitingParent=2]="AwaitingParent",e[e.AwaitingFirstDataUpdate=3]="AwaitingFirstDataUpdate",e[e.Active=4]="Active"}(p||(p={}));class _{constructor(e,t,i,s){this._inputs=null,this._status=p.Idle,this._studyId=null,this._turnaroundCounter=1,this._studyStatus={type:u.Undefined},this._studyStatusChanged=new(n()),this._graphics=new h.LiveStudyGraphics,this._dataCleared=new(n()),this._dataUpdated=new(n()),this._boundOnGatewayIsConnectedChanged=this._onGatewayIsConnectedChanged.bind(this),this._ongoingDataUpdate=Promise.resolve(),this._gateway=e,this._metaInfo=s,this._seriesSource=t,this._turnaroundPrefix=i,this._plots=new o.PlotList((0,c.studyPlotFunctionMap)(s),c.studyEmptyPlotValuePredicate),this._gateway.isConnected().subscribe(this._boundOnGatewayIsConnectedChanged)}destroy(){this.stop(),this._gateway.isConnected().unsubscribe(this._boundOnGatewayIsConnectedChanged),this._dataUpdated.destroy(),this._dataCleared.destroy(),this._studyStatusChanged.destroy()}metaInfo(){return this._metaInfo}inputs(){return this._inputs}setInputs(e){this._inputs=e,null!==this._studyId&&(this._turnaroundCounter++,this._onStudyStatusChangedTo({type:u.Undefined}),this._gateway.modifyStudy(this._studyId,this._turnaround(),e,this._onMessage.bind(this)),this._status===p.Active&&this._changeStatusTo(p.AwaitingFirstDataUpdate))}isStarted(){return this._status!==p.Idle}isActive(){return this._status===p.Active}start(){this.isStarted()?d.logNormal("start: data source is already started, nothing to do"):((0,s.assert)(null!==this._inputs,"Inputs should be defined when starting a study data source"),this._gateway.isConnected().value()?this._createStudy():this._changeStatusTo(p.AwaitingConnection))}stop(){this.isStarted()?(null!==this._studyId&&(this._gateway.removeStudy(this._studyId),this._studyId=null,this._onStudyStatusChangedTo({type:u.Undefined})),this._changeStatusTo(p.Idle)):d.logNormal("stop: data source is already stopped, nothing to do")}studyId(){return this._studyId}studyStatus(){return this._studyStatus}studyStatusChanged(){return this._studyStatusChanged}plots(){return this._plots}graphics(){return this._graphics}clearData(){this._plots.clear(),this._graphics.clear(),this._dataCleared.fire()}stopAndStealData(){(0,s.assert)(this._status===p.Active,"Couldn't steal data from non-active data source"),this.stop();const e=this._plots,t=this._graphics.extract();return this._plots=new o.PlotList((0,c.studyPlotFunctionMap)(this._metaInfo),c.studyEmptyPlotValuePredicate),{plots:e,graphics:t}}dataCleared(){return this._dataCleared}dataUpdated(){return this._dataUpdated}moveData(e){this._ongoingDataUpdate=this._ongoingDataUpdate.then(()=>{this._plots.move(e)})}_changeStatusTo(e){(0, +s.assert)(this._status!==e,"Source and destination status should be distinct"),d.logNormal(`Status changed from ${p[this._status]} to ${p[e]}`),this._status=e}_createStudy(){const e=this._seriesSource.instanceId();null!==e?this._createStudyUsingParentId(e):(this._changeStatusTo(p.AwaitingParent),this._seriesSource.dataEvents().completed().subscribe(this,this._onSeriesCompleted,!0))}_createStudyUsingParentId(e){(0,s.assert)(this._status!==p.Active,'Status should not be "Active" when creating a study'),(0,s.assert)(this._studyStatus.type===u.Undefined,'Study status should be "Undefined" when creating a study'),(0,s.assert)(null===this._studyId,"Study id should be empty when creating a study"),this._studyId=(0,l.makeNextStudyId)(),this._gateway.createStudy(this._studyId,this._turnaround(),e,this._metaInfo.fullId+("tv-basicstudies"===this._metaInfo.packageId?"":"!"),(0,s.ensureNotNull)(this._inputs),this._onMessage.bind(this)),this._changeStatusTo(p.AwaitingFirstDataUpdate)}_onGatewayIsConnectedChanged(e){e?this._onGatewayConnected():this._onGatewayDisconnected()}_onGatewayConnected(){this._status===p.AwaitingConnection&&this._createStudy()}_onGatewayDisconnected(){this._status!==p.Idle&&this._status!==p.AwaitingConnection&&(this._studyId=null,this._changeStatusTo(p.AwaitingConnection),this._studyStatus.type!==u.Undefined&&this._onStudyStatusChangedTo({type:u.Undefined})),this._turnaroundCounter=1}_onSeriesCompleted(){this._status===p.AwaitingParent&&this._createStudyUsingParentId((0,s.ensure)(this._seriesSource.instanceId()))}_onStudyStatusChangedTo(e){const t=this._studyStatus;this._studyStatus=e,d.logNormal(`Study status type changed from ${u[t.type]} to ${u[e.type]}`),this._studyStatusChanged.fire(t,e)}_onMessage(e){if("data_update"===e.method){const{customId:t,turnaround:i,plots:r,nonseries:n}=e.params;t===this._studyId&&this._checkTurnaround(i)&&this._onDataUpdate(r,(0,s.ensureDefined)(n))}else if("study_loading"===e.method){const[t,i,s]=e.params;t===this._studyId&&this._checkTurnaround(i)&&this._onStudyLoading(s)}else if("study_completed"===e.method){const[t,i,s]=e.params;t===this._studyId&&this._checkTurnaround(i)&&this._onStudyCompleted(s)}else if("study_error"===e.method){const[t,i,s,r,n]=e.params;t===this._studyId&&this._checkTurnaround(i)&&this._onStudyError(s,r,n)}else"clear_data"===e.method&&this._checkTurnaround(e.params.turnaround)&&this.clearData()}_onDataUpdate(e,t){const i=(0,a.unpackNonSeriesData)(t.d);return this._ongoingDataUpdate=this._ongoingDataUpdate.then(()=>i,()=>i).then(this._onDataUnpacked.bind(this,e,t.indexes)),this._ongoingDataUpdate}_onDataUnpacked(e,t,i){this._status!==p.Idle&&(this._status===p.AwaitingFirstDataUpdate&&(this._changeStatusTo(p.Active),this.clearData()),this._mergePlots(e),null!==i&&(i.indexes_replace?((0,s.assert)("nochange"!==t),this._graphics.replaceIndexesTo(t)):("nochange"!==t&&this._graphics.replaceIndexesTo(t),void 0!==i.graphicsCmds&&this._graphics.processCommands(i.graphicsCmds,this._metaInfo.graphics))),this._dataUpdated.fire(e,i,t))}_onStudyLoading(e){ +this._onStudyStatusChangedTo({type:u.Loading,startTime:Date.now()})}_onStudyError(e,t,i){this.clearData();const s="string"==typeof e?{error:e.split(":",2)[0]}:e;this._onStudyStatusChangedTo({type:u.Error,errorDescription:s})}_onStudyCompleted(e){this._onStudyStatusChangedTo({type:u.Completed})}_mergePlots(e){this._plots.merge(e)}_turnaround(){return`${this._turnaroundPrefix}${this._turnaroundCounter}`}_checkTurnaround(e){const t=this._turnaround();return e===t||e===this._seriesSource.turnaround()||e===`${this._seriesSource.turnaround()}_${t}`}}},74393:(e,t,i)=>{"use strict";i.d(t,{StudyDataWindowView:()=>n});var s=i(62043),r=i(98460);class n extends s.DataWindowView{constructor(e,t){super(),this._invalidated=!0,this._study=e,this._model=t,this._valueProvider=this._createValuesProvider(e,t),this._items=this._valueProvider.getItems().map(e=>new s.DataWindowItem(e.title,"")),this.update()}update(){this._invalidated=!0}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}study(){return this._study}_updateImpl(){this._header=this._study.title(!0),this._title=this._study.title();const e=this._valueProvider.getValues(this._currentIndex());for(let t=0;t{"use strict";function s(e){const t=new Map;return e.plots.forEach((e,i)=>{t.set(e.id,e=>e[i+1])}),t}function r(e,t){return null==e[t]}i.d(t,{studyPlotFunctionMap:()=>s,studyEmptyPlotValuePredicate:()=>r})},345:(e,t,i)=>{"use strict";function s(e,t){return`${e}@${t}`}function r(e){return e.replace(/(@[^-]+-[^-]+).*$/,"$1")}i.d(t,{studyIdString:()=>s,extractStudyId:()=>r})},30875:(e,t,i)=>{"use strict";function s(e){return["text","integer","float","price","session","resolution"].includes(e.type)&&e.hasOwnProperty("options")}function r(e,t,i){for(const s of e)if(t[s.id]!==i[s.id])return!1;return!0}function n(e){return[]}i.d(t,{isStudyInputOptionsInfo:()=>s,areStudyInputsEqual:()=>r,editableStudyInputs:()=>n})},62311:(e,t,i)=>{"use strict";i.d(t,{StudyInserter:()=>a});var s,r=i(85062),n=i.n(r);!function(e){e.StudyCannotBeChild="cannot_be_child",e.StubWasRemoved="stub_was_removed",e.CannotGetMetainfo="cannot_get_metainfo",e.Cancelled="cancelled",e.Unknown="unknown"}(s||(s={}));const o=(0,i(65447).getLogger)("Chart.Studies.StudyInserter");class a{constructor(e,t,i){this._parentSource=void 0,this._propsState=void 0,this._preferredPriceScale=void 0,this._allowChangeCurrency=!1,this._allowChangeUnit=!1,this._paneSize=void 0,this._forceOverlay=!1,this._studyMetaInfoRepository=t,this._inserterImpl=i,this._studyDescriptor=e}setParentSource(e){this._parentSource=e||void 0}setPaneSize(e){this._paneSize=e}setPreferredPriceScale(e){this._preferredPriceScale=e}setAllowChangeCurrency(e){ +this._allowChangeCurrency=e}setAllowChangeUnit(e){this._allowChangeUnit=e}setForceOverlay(e){this._forceOverlay=e}setPropertiesState(e){this._propsState=e}setTargetPriceScaleMode(e){this._targetPriceScaleMode=e}async insert(e,t){const i=void 0!==(r=this._inserterImpl).createStub&&void 0!==r.removeStub?this._inserterImpl.createStub():null;var r;let n,a=!0;try{n=await this._studyMetaInfoRepository.findById(this._studyDescriptor)}catch(e){return o.logWarn("Cannot get study "+JSON.stringify(this._studyDescriptor)),Promise.reject(s.CannotGetMetainfo)}finally{null!==i&&(a=this._inserterImpl.removeStub(i))}if(!a)return Promise.reject(s.StubWasRemoved);if(void 0!==t&&t.cancelled)return Promise.reject(s.Cancelled);if(!this._canApplyStudyToParent(n))return Promise.reject(s.StudyCannotBeChild);const l={...n.defaults.inputs};let c={};if(void 0!==e){const t=await e(l,n.inputs,n);c=t.inputs,void 0===this._parentSource&&t.parentSource&&(this._parentSource=t.parentSource)}if(void 0!==t&&t.cancelled)return Promise.reject(s.Cancelled);const h=this._insertStudy(n,c);return null===h?Promise.reject(s.Unknown):h}_insertStudy(e,t){return this._inserterImpl.createStudy(e,t,null,this._propsState,this._forceOverlay,this._parentSource,this._preferredPriceScale,this._allowChangeCurrency,this._allowChangeUnit,this._paneSize,this._targetPriceScaleMode)}_canApplyStudyToParent(e){return void 0===this._parentSource||n().canBeChild(e)}}},6713:(e,t,i)=>{"use strict";i.d(t,{StudyLegendValuesProvider:()=>r});var s=i(98460);class r extends s.StudyValuesProvider{constructor(e,t){super(e,t),this._showStudyValues=t.properties().childs().paneProperties.childs().legendProperties.childs().showStudyValues}getValues(e){const t=super.getValues(e),i=this._study.properties(),s=this._showStudyValues.value()&&i.showLegendValues.value();for(const e of t)e.visible=e.visible&&s;return t}}},27640:(e,t,i)=>{"use strict";i.d(t,{StudyMetaInfoRepository:()=>h});var s=i(79881),r=i(16282),n=i(85062),o=i.n(n),a=i(6345),l=i(36054);const c=(0,i(65447).getLogger)("Chart.Studies.StudyMetaInfoRepository",{color:"#606"});class h{constructor(e){this._nextRequestNumber=1,this._rawStudiesMetaInfo=[],this._isReady=!1,this._metaInfoQueryQueue=[],this._javaMetaInfoQueryQueue=[],this._javaStudiesMetaInfo=[],this._pineMetaInfoCache=[],this._studiesMigrations=[],this._gateway=e}requestMetaInfo(){this._requestStarted();const e=this._makeNextRequestId();return c.logNormal("Requesting metainfo #"+e),new Promise(t=>{c.logNormal("Requesting studies metadata #"+e),this._gateway.requestMetadata(e,i=>{c.logNormal(`Requesting studies metadata #${e} finished`);const s=i.params[1].metainfo.slice();this._processLibraryMetaInfo(s),this._requestFinished(),t()})})}findById(e){if(!this._isReady)return this._enqueueMetaInfoQuery(e);const t=this._findStudyMetaInfo(e);return null!==t?Promise.resolve(t):"pine"===e.type?this._compilePine(e):Promise.reject(`unexpected study id=${e.studyId} with type=${e.type}`)}findByIdSync(e){return this._findStudyMetaInfo(e)}isReady(){return this._isReady}findAllJavaStudies(){ +return this._isReady?Promise.resolve(this._javaStudiesMetaInfo):this._enqueueJavaMetaInfoQuery()}getInternalMetaInfoArray(){return this._javaStudiesMetaInfo}getMigrations(){return this._studiesMigrations}addPineMetaInfo(e){return u(this._pineMetaInfoCache,e)}_processMigrations(e){throw new Error("not implemented")}_processSiteMetaInfo(e,t){throw new Error("not implemented")}_processLibraryMetaInfo(e){for(const t of e)d(t),u(this._javaStudiesMetaInfo,t);this._javaStudiesMetaInfo=this._javaStudiesMetaInfo.sort((e,t)=>{const i=e.description_localized||e.description,s=t.description_localized||t.description;return i>s?1:i{this._metaInfoQueryQueue.push({studyDescriptor:e,resolver:t})})}_enqueueJavaMetaInfoQuery(){return new Promise(e=>{this._javaMetaInfoQueryQueue.push({resolver:e})})}_processPendingMetaInfoQueries(){for(;this._metaInfoQueryQueue.length;){const e=this._metaInfoQueryQueue.shift();this.findById(e.studyDescriptor).then(e.resolver)}}_processPendingFullMetaInfoQueries(){for(;this._javaMetaInfoQueryQueue.length;){this._javaMetaInfoQueryQueue.shift().resolver(this._javaStudiesMetaInfo)}}_findStudyMetaInfo(e){return"java"===e.type?this._javaStudiesMetaInfo.find(t=>t.id===e.studyId)||null:this._pineMetaInfoCache.find(t=>t.scriptIdPart===e.pineId&&(void 0===e.pineVersion||(0,r.ensureDefined)(t.pine).version===e.pineVersion))||null}_makeNextRequestId(){return"metadata_"+this._nextRequestNumber++}_compilePine(e){throw new Error("unsupported")}}function d(e){e.description_localized=(0,s.t)(e.description,{context:"study"})}function u(e,t){const i=new(o())(t);(0,a.migrateMetaInfoAndPropState)(i);let s=!0;const r=e.findIndex(e=>e.id===i.id);if(-1===r)e.push(i);else{const t=e[r],n=void 0!==t.pine?l.Version.parse(t.pine.version):null,o=void 0!==i.pine?l.Version.parse(i.pine.version):null;null===o||null===n||o.isGreaterOrEqual(n)?(t.removeDefaults(),e[r]=i):s=!1}return s&&i.createDefaults(),i}},45373:(e,t,i)=>{"use strict";i.d(t,{StudyStatusProviderBase:()=>c});var s=i(22287),r=i(73748),n=i(79881);const o={NONE:"Default"},a=(0,n.t)("No volume data"),l=new Map;class c extends s.StatusProviderBase{constructor(e,t){super(t),this._source=e}getSplitTitle(){return this._source.titleInParts(!0,o,void 0,!1)}text(){return this._source.isActualInterval()?this._source.isFailed()?`${this._source.title(!0,o,void 0,!1)}: ${this.sourceStatusText()}`:`${this._source.title(!0,o,void 0,!1)} ${this.sourceStatusText()}`:this._source.title(!0,o,void 0,!1)}sourceStatusText(){return(0,r.convertStudyStatusToString)(this._source.status(),!0)}sourceStatusSolutionId(){const e=this._source.status() +;if(e.type===r.StudyStatusType.Error)return e.errorDescription.solution_id?e.errorDescription.solution_id:function(e){for(const t of Array.from(l.keys()))if(e.includes(t))return l.get(t)}(e.errorDescription.error)}errorStatus(){if(!this._source.isActualInterval()||this._source.isSymbolInvalid())return null;return this._source.status().type===r.StudyStatusType.Error?{error:this.sourceStatusText(),solutionId:this.sourceStatusSolutionId(),title:this.sourceStatusTitle()}:null}sourceStatusTitle(){const e=this._source.status();if(e.type===r.StudyStatusType.Error)return-1!==e.errorDescription.error.toLowerCase().indexOf("the data vendor doesn't provide volume data for this symbol.")?a:void 0}}},39425:(e,t,i)=>{"use strict";i.d(t,{StudyStatusProvider:()=>n});var s=i(79881),r=(i(73748),i(45373));(0,s.t)("Fundamental studies are no longer available on charts");class n extends r.StudyStatusProviderBase{constructor(e,t){super(e,t),this._study=e}color(){return this._study.isFailed()||this._study.metaInfo&&this._study.metaInfo().isTVScriptStub?"#ff0000":super.color()}sourceStatusText(){this._study.status();return super.sourceStatusText()}}},53289:(e,t,i)=>{"use strict";i.d(t,{StudyStatusView:()=>r});var s=i(44264);class r extends s.StatusView{constructor(e){super(e.statusProvider())}color(){return this._statusProvider.color()}getSplitTitle(){return this._statusProvider.getSplitTitle()}update(){this._text=this._statusProvider.text()}}},73748:(e,t,i)=>{"use strict";i.r(t),i.d(t,{StudyStatusType:()=>n,convertStudyStatusToString:()=>o});var s=i(79881);const r=(0,s.t)("loading...");var n;function o(e,t){if(e.type===n.Loading)return t?r:"loading...";if(e.type===n.Error){const i=e.errorDescription,r=t?(0,s.t)(i.error):i.error;if(i.ctx){const e={};return Object.entries(i.ctx).forEach(([t,i])=>{e[t]=i.toString()}),r.format(e)}return r}return""}!function(e){e[e.Undefined=0]="Undefined",e[e.Loading=1]="Loading",e[e.Completed=2]="Completed",e[e.Error=3]="Error"}(n||(n={}))},73228:(e,t,i)=>{"use strict";i.d(t,{StudyStub:()=>m});var s=i(53289),r=i(50044),n=i(59104),o=i(5729),a=i.n(o),l=i(674),c=i.n(l),h=i(45373);class d extends h.StudyStatusProviderBase{text(){return this._source.isActualInterval()?`${this._source.title()} ${this.sourceStatusText()}`:this._source.title()}}var u=i(73748);class p{getItems(){return[]}getValues(e){return[]}}const _=new(a());class m extends r.PriceDataSource{constructor(e,t,i){super(e),this._priceStep=.01,this._status={type:u.StudyStatusType.Undefined},this._statusChanged=new(a()),this._formatter=new n.PriceFormatter(100),this._origState=t,this._title=i;this._properties=new(c())({visible:!0}),this._statusView=new s.StudyStatusView(this)}properties(){return this._properties}statusView(){return this._statusView}legendView(){return null}state(e){return this._origState}setStatus(e){this._status=e,this._statusChanged.fire()}formatter(){return this._formatter}name(){return this._title}title(){return this._title}titleInParts(){return[this._title]}isFailed(){return this._status.type===u.StudyStatusType.Error}isLoading(){ +return this._status.type===u.StudyStatusType.Loading}setFailed(e){this.setStatus({type:u.StudyStatusType.Error,errorDescription:{error:e}}),this._model.updateSource(this)}isSymbolInvalid(){return!1}isActualInterval(){return!0}onIsActualIntervalChange(){return _}start(){}status(){return this._status}onStatusChanged(){return this._statusChanged}firstValue(){return null}currency(){return null}sessionId(){return this._model.mainSeries().sessionId()}sessionIdChanged(){return this._model.mainSeries().sessionIdChanged()}unit(){return null}symbolSource(){return this._model.mainSeries()}valuesProvider(){return new p}statusProvider(e){return new d(this,this._model.properties().childs().scalesProperties.childs().textColor)}}},98460:(e,t,i)=>{"use strict";i.d(t,{StudyValuesProvider:()=>S});var s=i(75496),r=i(79881),n=i(43367),o=i(50968),a=i(27490),l=i(61627),c=i(67945),h=i(15521),d=i(77455),u=i(150),p=i(7518),_=i(16282),m=i(76559);const g=n.CheckMobile.any(),f=(0,r.t)("n/a"),v=a.enabled("hide_last_na_study_output");class S{constructor(e,t){this._emptyValues=[],this._colorProviders=new Map,this._study=e,this._model=t;const i=e.metaInfo().plots;i&&i.forEach((t,i)=>{if((0,d.isPlotWithTechnicalValues)(t))return;const s=t.id;this._emptyValues.push({id:s,index:i,title:this._study.guiPlotName(s),value:"",visible:!1});const r=(0,d.isOhlcPlot)(t)?t.target:t.id;this._colorProviders.set(r,(0,u.createStudyPlotColorProvider)(e.metaInfo(),e.properties(),r))})}getItems(){return this._emptyValues}getValues(e){const t=this._emptyValues.map(e=>({...e}));let i=null;const r=this._study.data().lastIndex();if(null!==r)for(const e of t){if(!this._study.properties().styles[e.id].visible.value())continue;const t=this._study.nearestIndex(r,l.PlotRowSearchMode.NearestLeft,e.index+1);if(void 0===t)continue;const s=t+this._study.offset(e.id);i=null!==i?Math.max(s,i):s}(null===e||null!==i&&e>i)&&(e=i);const n=this._hideValues(),a=this._study.isVisible()&&!n?f:"";for(const e of t)e.value=a;if(n)return t;if(v&&t.length&&(t[t.length-1].value=""),this._study.metaInfo().graphics.hhists)return this._getValuesForHHist(t,e);const c=this._study.priceScale();if(!this._study.isVisible()||null===e||null===c||c.isEmpty()||this._model.timeScale().isEmpty())return t;const h=this._study.metaInfo().plots,u=(0,p.getPriceValueFormatterForSource)(this._study),_={};for(const i of t){let t=i.id;const n=this._study.properties().styles[t].visible.value();if(i.visible=n,!n)continue;const a=i.index,c=e-this._study.offset(t),p=null!==r&&c>r?l.PlotRowSearchMode.NearestLeft:l.PlotRowSearchMode.Exact,m=this._study.nearestIndex(c,p);if(void 0===m)continue;let g=_[t];if(void 0===g&&(g=this._study.getMinFirstBarIndexForPlot(t),Number.isFinite(g)&&(_[t]=g)),g>m)continue;const f=this._study.data().last(),v=this._study.data().valueAt(m)||(null!==f?f.value:null);if(null===v)continue;const S=v[a+1];if(!(0,s.isNumber)(S))continue;const y=S>0;i.value=u(S);const b=this._study.properties().styles[t];let w=b.color.value();const P=h[a];(0,d.isOhlcPlot)(P)?(t=P.target||t, +w=this._study.properties().ohlcPlots[t].color.value()):(0,d.isArrowsPlot)(P)&&(w=y?b.colorup.value():b.colordown.value());let C=w;const T=this._colorProviders.get(t),x=T&&T.getPlotPointStyle(v);x&&((0,d.isArrowsPlot)(P)?(y&&void 0!==x.colors[5]&&(C=x.colors[5]),y||void 0===x.colors[6]||(C=x.colors[6])):void 0!==x.colors[0]&&(C=x.colors[0])),"transparent"===C&&(C=w),C=(0,o.resetTransparency)(C),i.color=C}return t}_hideValues(){return g&&(null===this._model.crossHairSource().pane||(0,c.isLineToolName)(h.tool.value())||null!==this._model.lineBeingEdited())}_getValuesForHHist(e,t){e.forEach(e=>{e.visible=this._study.isVisible(),e.value=f});const i=this._study.priceScale(),r=this._model.timeScale();if(null===i||i.isEmpty()||r.isEmpty()||this._hideValues())return e;if(null===t||!isFinite(t)){const i=this._study.data().last();if(null===i)return e;t=i.index}const n=this._model.crossHairSource(),o=n.price;if(!isFinite(n.y)&&null===(t=function(e,t){var i;const s=null===(i=e.visibleBarsStrictRange())||void 0===i?void 0:i.lastBar();if(!s)return null;const r=t.data().search(s,l.PlotRowSearchMode.NearestLeft);return r?r.index:null}(this._model.timeScale(),this._model.mainSeries())))return e;const a=function(e,t,i,s){if(0===e.size)return null;if(!i){const e=(0,_.ensureNotNull)(s.data().valueAt(t));i=s.barFunction()(e)}const r=function(e,t){let i=null;return e.forEach((e,s)=>{s<=t&&(null===i||s>i)&&(i=s)}),i}(e,t);if(null===r)return null;const n=e.get(r);if(!n||0===n.size)return null;return function(e,t){let i=null;return e.forEach(e=>{e.priceLow<=t&&t{e.value="0"}),e;const c=this._study.metaInfo().graphics.hhists;if(void 0===c)return e;const h=c[a.styleId];if(void 0===h)return e;const d=this._study.properties().child("graphics").child("hhists").child(a.styleId),u=new m.VolumeFormatter;return e.forEach((e,t)=>{if(t1&&t===d.colors.childCount()){const t=a.rate.reduce((e,t)=>e+t,0);return e.value=u.format(t),void(e.color=d.valuesColor.value())}e.value=""}}),e}}},19429:(e,t,i)=>{"use strict";i.d(t,{StudyBase:()=>ut});var s=i(16282),r=i(79881),n=i(65447),o=i(43367),a=i(5729),l=i.n(a),c=i(50044),h=i(25303),d=i(61627),u=i(85062),p=i.n(u),_=i(19625),m=i(64417),g=i(74393),f=i(6713);class v extends g.StudyDataWindowView{constructor(e,t){super(e,t),this._showStudyValues=t.properties().childs().paneProperties.childs().legendProperties.childs().showStudyValues,this._showStudyValues.subscribe(this,this.update),this._study.properties().showLegendValues.subscribe(this,this.update)}areValuesVisible(){return this._showStudyValues.value()}additional(){return null}destroy(){this._showStudyValues.unsubscribeAll(this),this._study.properties().showLegendValues.unsubscribeAll(this)} +_createValuesProvider(e,t){return new f.StudyLegendValuesProvider(e,t)}}var S=i(15521),y=i(53289),b=i(89164),w=i(1049),P=i(60183),C=i(39425),T=i(47903),x=i(57649),I=i(77455),M=(i(30875),i(27490)),L=i(72927),A=i(50968),k=i(87088);class E{constructor(e){this._data=e}draw(e,t){}drawBackground(e,t){e.save();const i=this._data,s=t.pixelRatio;let r=null;const n=Math.round(this._data.w*s);for(let t=0;t0){i.items[t-1].index===o.index-1&&null!==r&&(l=r+1)}const c=a+n,h=c-l+1;e.fillRect(l,Math.round(i.y*s),h,Math.round(i.h*s)),r=c}e.restore()}hitTest(e){return null}}var D=i(150);class V{constructor(e,t,i,r){this._items=[],this._invalidated=!0,this._isMarkersEnabled=M.enabled("source_selection_markers"),this._study=e,this._series=t,this._model=i,this._plotName=r;const n=this._study.metaInfo().plots;for(let e=0;e0?(i-=n,r+=n):(i+=n,r-=n);const o=this._study.getMinFirstBarIndexForPlot(this._plotName);if(o>r)return;i=Math.max(o,i);const a=this._study.data().rangeIterator(i,r);for(;a.hasNext();){const e=a.next();let i=e.index;const r=e.value;i+=n;const o=new L.Point(Math.floor(i)-.5,NaN);let l=(0,T.isNumber)(t)?t:50;l=Math.min(l,100),l=Math.max(l,0);const c=this._colorProvider.getPlotPointStyle(r);void 0!==c.colors[1]&&(o.color=(0,A.generateColor)((0,s.ensureDefined)(c.colors[1]),l)),o.index=i,this._items.push(o)}this._model.timeScale().timedValuesToCoordinates(this._items)}} +var B=i(79039),N=i(73301),R=i(13618),O=i(57968),F=i(10288),W=i(98742),H=i(18213),z=i(37326),U=i(71044);function j(e,t,i){const s=e.get(t);return void 0!==s?s:(e.set(t,i),i)}function G(e,t,i,s,r){const n=j(e,t,new Map),o=j(n,i,new Map);return j(o,s,r)}class q{constructor(){this._map=new Map,this._size=0}size(){return this._size}clear(){this._map.clear(),this._size=0}}var Y,$,K=i(73395),X=i(16932);!function(e){e.Left="left",e.Right="right",e.Center="center"}(Y||(Y={})),function(e){e.Top="top",e.Bottom="bottom",e.Middle="middle"}($||($={}));const Z=(0,X.createDisconnectedCanvas)(document,new X.Size(0,0),1);class J{constructor(e,t,i,r,n,o="center",a=0){this._lines=e.split(/[^\S\r\n]*(?:\r\n|\r|\n)/),this._font=function(e,t,i,s){return(0,K.makeFont)(s,i,`${e?"bold ":""}${t?"italic ":""}`)}(t,i,r,n),this._fontSize=n,this._verticalPadding=~~(n/6),this._textAlign=o,this._lineSpacing=a;const l=(0,s.ensureNotNull)(Z.getContext("2d"));l.font=this._font,l.textBaseline="top";let c=0;for(let e=0;e{for(const t of this._lines)e.fillText(t,l,c),c+=this._fontSize,c+=this._lineSpacing}),e.restore()}}class Q extends q{constructor(e){super(),this._maxSize=e,this._keysQueue=[]}get(e){const{fontSize:t,text:i,align:s,lineSpacing:r=0}=e;if(!i||!t||!s)return null;const n=G(this._map,r,s,t,new Map);let o=n.get(i);return void 0!==o||(this._size>=this._maxSize?this._deleteFirstKey():++this._size,this._keysQueue.push([t,s,r,i]),o=new J(i,e.bold,e.italic,e.font,t,s,r),n.set(i,o)),o}_deleteFirstKey(){const e=this._keysQueue.shift(),[t,i,r,n]=e,o=(0,s.ensureDefined)(this._map.get(r)),a=(0,s.ensureDefined)(o.get(i)),l=(0,s.ensureDefined)(a.get(t));l.delete(n),0===l.size&&a.delete(t),0===a.size&&o.delete(i),0===o.size&&this._map.delete(r)}}var ee=i(54837);class te{constructor(e,t={skipRenderingOptimizations:!1}){this._items=[],this._barSpacing=0,this._vertOffset=0,this._textCache=t.textCache||new Q(5e3),this._drawOperation=t.skipRenderingOptimizations?this._drawWithoutOptimizations.bind(this):this._drawWithOptimizations.bind(this),null!==e&&this.setData(e)}draw(e,t){this._preDrawInit(),this._drawOperation(e,t)}hitTest(e){const t=F.HitTestResult.REGULAR;let i=null +;for(const s of this._items){if(!s)continue;const r=this._calcBoundingBox(s);if(r&&(0,U.pointInBox)(e,r)){const e={tooltip:this._getTooltip(s,r)};i=new F.HitTestResult(t,e)}}return i}setData(e){this._height=void 0!==e.height?e.height:e.width,this._width=void 0!==e.width?e.width:e.height,this._color=e.color,this._borderColor=e.borderColor,this._vertOffset=e.vertOffset||0,e.text&&(this._text=e.text,this._fontSize=e.fontSize,this._lineSpacing=e.lineSpacing,this._textColor=e.textColor,this._textAlign=e.textAlign||"center"),void 0!==e.items&&void 0!==e.barSpacing&&this.setItems(e.items,e.barSpacing)}setItems(e,t){this._setBaseData(e,t)}_calcBoundingBox(e){const t=e.vertOffset,i=this._getTextCache(e);if(!i)return;const s=i.textImageWidth,r=i.textImageHeight,n=s/2,o=e.y+t+e.textVertOffset,a=t>0?0:-r,l=t>0?r:0,c=new L.Point(e.x-n,o+a),h=new L.Point(e.x+n,o+l);return(0,L.box)(c,h)}_unionBox(e,t){const i=Math.min(e.min.x,t.min.x),s=Math.max(e.max.x,t.max.x),r=Math.min(e.min.y,t.min.y),n=Math.max(e.max.y,t.max.y),o=new L.Point(i,r),a=new L.Point(s,n);return(0,L.box)(o,a)}_getTooltip(e,t){if(e.tooltip)return{content:{type:"text",data:e.tooltip},tooltipDelay:200,extendMargin:!0,rect:{x:t.min.x,y:t.min.y,w:Math.abs(t.max.x-t.min.x),h:Math.abs(t.max.y-t.min.y)}}}_setBaseData(e,t){this._items.length=0,this._barSpacing=t;for(const t of e){const e=void 0===t.width?(0,s.ensureDefined)(this._width):t.width,i=void 0===t.height?(0,s.ensureDefined)(this._height):t.height,r=void 0===t.vertOffset?this._vertOffset:t.vertOffset,n=r>0?i:-i;this._items.push({width:e,height:i,vertOffset:r,textVertOffset:n,shapeWidth:0,shapeHeight:0,stepX:0,stepY:0,...t})}}_drawItemText(e,t,i){const s=this._getTextCache(i);if(null===s)return;const r=i.x,n=i.vertOffset,o=i.y+n+i.textVertOffset;let a;a=i.style&&void 0!==i.style.textColor?i.style.textColor:this._textColor,s.paintTo(e,t,a,r,o,Y.Center,n>0?$.Top:$.Bottom)}_drawWithOptimizations(e,t){let i,s,r=null,n=!1;for(const a of this._items)a.style&&void 0!==a.style.color?(i=a.style.color||"rgba(0, 0, 0, 0)",s=a.style.borderColor||"rgba(0, 0, 0, 0)"):(i=this._color,s=this._borderColor),(r!==i||o.isSafari)&&(r=i,n&&this._endPath(e),this._startPath(e,t,i,s)),this._drawItemShape(e,t,a),n=!0;n&&this._endPath(e);for(const i of this._items)this._drawItemText(e,t,i)}_drawWithoutOptimizations(e,t){let i,r;for(const n of this._items){const o=(0,s.ensureDefined)(n.style);i=o.color||"rgba(0, 0, 0, 0)",r=o.borderColor||"rgba(0, 0, 0, 0)",this._startPath(e,t,i,r),this._drawItemShape(e,t,n),this._endPath(e),this._drawItemText(e,t,n)}}_drawItemShape(e,t,i){(0,X.drawScaled)(e,t.pixelRatio,()=>this._drawItemShapeUsingCSSPixels(e,i))}_drawItemShapeUsingCSSPixels(e,t){}_preDrawInit(){}_startPath(e,t,i,s){}_endPath(e){}_getTextCache(e){var t;const i=e.text||this._text,s=e.fontSize||this._fontSize,r=null!==(t=e.lineSpacing)&&void 0!==t?t:this._lineSpacing,n=e.textAlign||this._textAlign;return this._textCache.get({text:i,bold:!1,italic:!1,font:ee.CHART_FONT_FAMILY,fontSize:s,lineSpacing:r,align:n})}}class ie extends te{ +_startPath(e,t,i,s){e.beginPath(),e.lineWidth=this._lineWidth(t),e.lineCap="butt",e.strokeStyle=i}_endPath(e){e.stroke()}_lineWidth(e){return Math.max(1,Math.floor(2*e.pixelRatio))}}class se extends te{_startPath(e,t,i,s){e.beginPath(),e.lineWidth=this._lineWidth(t),e.lineCap="butt",e.fillStyle=i,e.strokeStyle=s}_endPath(e){e.fill(),e.stroke()}_lineWidth(e){return Math.max(1,Math.floor(e.pixelRatio))}}class re extends se{constructor(){super(...arguments),this._sign=0,this._thinArrow=!1,this._thinArrowLineWidth=0,this._headHeight=0,this._arrowWidth=0}setItems(e,t){this._setBaseData(e,t)}_drawItemShape(e,t,i){const s=t.pixelRatio,r=this._lineWidth(t)%2?.5:0,n=this._sign,o=this._arrowWidth,a=this._headHeight,l=Math.abs(i.height),c=Math.round(i.x*s)+r,h=i.vertOffset,d=Math.round((i.y+h+n*l/2)*s)+r,u=(0,O.ceiledEven)(o*s),p=u/2,_=Math.round(l*s),m=Math.round(a*s);e.translate(c,d),this._thinArrow?(e.moveTo(0,0),e.lineTo(-p,-p*n),e.moveTo(0,0),e.lineTo(p,-p*n),e.moveTo(0,0),e.lineTo(0,-_*n),e.moveTo(-p,-_*n),e.lineTo(p,-_*n)):(e.moveTo(0,0),_=0?e.vertOffset:e.vertOffset-e.shapeHeight}}),he.set("PaneRendererLabelDown",class extends oe{_calcBoundingBox(e){const t=e.x-e.shapeWidth/2,i=e.x+e.shapeWidth/2,s=e.y-e.shapeHeight+e.vertOffset,r=e.y+e.vertOffset,n=new L.Point(t,s),o=new L.Point(i,r);return(0,L.box)(n,o)}_drawItemShape(e,t,i){const s=t.pixelRatio,r=this._lineWidth(t)%2?.5:0,n=Math.max(1,Math.floor(s))%2?.5:0,o=this._getArrowSize(i);let a=Math.round(o*s);(n+a)%1!=r%1&&(a+=.5);let l=Math.round(i.shapeWidth/2*s);(n+l)%1!=r%1&&(l+=.5);const c=Math.round(i.x*s)+n,h=Math.round((i.y+i.vertOffset)*s)+r,d=c+a,u=Math.round((i.y+i.vertOffset-o)*s)+r,p=c-a,_=c+l,m=Math.round((i.y+i.vertOffset-i.shapeHeight)*s)+r,g=c-l;e.moveTo(d,u),e.lineTo(c,h),e.lineTo(p,u),i.shapeWidth<=2*o?(e.lineTo(g,u),this._drawCorner(e,g,m,le.leftUp,s),this._drawCorner(e,_,m,le.rightUp,s),e.lineTo(_,u)):(this._drawCorner(e,g,u,le.leftDown,s),this._drawCorner(e,g,m,le.leftUp,s),this._drawCorner(e,_,m,le.rightUp,s),this._drawCorner(e,_,u,le.rightDown,s)),e.lineTo(d,u)}_getVerticalTextOffset(e){return-e.shapeHeight/2-this._getArrowSize(e)/2}_calcVertOffset(e){return Math.sign(e.vertOffset)<=0?e.vertOffset:e.vertOffset+e.shapeHeight}}),he.set("PaneRendererSquare",class extends se{_drawItemShape(e,t,i){const s=t.pixelRatio,r=Math.max(1,Math.floor(s))%2?.5:0,n=this._lineWidth(t)%2?.5:0;let o=Math.round(i.height/2*s);(r+o)%1!=n%1&&(o+=.5);const a=Math.round(i.x*s)+r,l=Math.round((i.y+i.vertOffset)*s)+r,c=a-o,h=l-o,d=a+o,u=l+o;e.rect(c,h,d-c,u-h)}_calcBoundingBox(e){const t=e.height,i=Math.round(t/2),s=e.x-i,r=e.vertOffset,n=e.y+r-i,o=s,a=s+t,l=n,c=n+t,h=new L.Point(o,l),d=new L.Point(a,c);let u=(0,L.box)(h,d);const p=super._calcBoundingBox(e);return p&&(u=this._unionBox(u,p)),u}}),he.set("PaneRendererTriangleApexUp",class extends ce{_drawItemShape(e,t,i){const s=i.width,r=i.height,n=Math.round(r/3),o=i.vertOffset-2*n,a=t.pixelRatio,l=this._lineWidth(t)%2?.5:0,c=Math.max(1,Math.floor(a)),h=c%2?.5:0;let d=Math.round(s*a) +;d%2!=c%2&&(d+=1);const u=Math.round(i.x*a)+h,p=Math.round((i.y+o)*a),_=u+d/2,m=Math.round((i.y+o+r)*a)+l,g=u-d/2;e.moveTo(u,p),e.lineTo(_,m),e.lineTo(g,m),e.lineTo(u,p)}}),he.set("PaneRendererTriangleApexDown",class extends ce{_drawItemShape(e,t,i){const s=i.width,r=i.height,n=Math.round(r/3),o=i.vertOffset-n,a=t.pixelRatio,l=this._lineWidth(t)%2?.5:0,c=Math.max(1,Math.floor(a)),h=c%2?.5:0;let d=Math.round(s*a);d%2!=c%2&&(d+=1);const u=Math.round(i.x*a)+h,p=Math.round((i.y+o)*a)+l,_=u+d/2,m=Math.round((i.y+o+r)*a),g=u-d/2;e.moveTo(g,p),e.lineTo(_,p),e.lineTo(u,m),e.lineTo(g,p)}}),he.set("PaneRendererXCross",class extends ie{_drawItemShapeUsingCSSPixels(e,t){const i=t.width,s=t.height,r=t.x-i/2,n=t.vertOffset,o=t.y-s/2+n;e.moveTo(r,o),e.lineTo(r+i,o+s),e.moveTo(r,o+s),e.lineTo(r+i,o)}_calcBoundingBox(e){const t=e.width,i=e.height,s=e.x-t/2,r=e.vertOffset,n=e.y-i/2+r,o=s,a=s+t,l=n,c=n+i,h=new L.Point(o,l),d=new L.Point(a,c);let u=(0,L.box)(h,d);const p=super._calcBoundingBox(e);return p&&(u=this._unionBox(u,p)),u}});class de{constructor(e,t,i,s){this._items=[],this._invalidated=!1,this._renderer=null,this._isMarkersEnabled=M.enabled("source_selection_markers"),this._selectionData=null,this._plotIndex=null,this._topCoord=0,this._bottomCoord=0,this._study=e,this._series=t,this._model=i,this._plotName=s;const r=e.metaInfo().plots;for(let e=0;e0?(r-=o,n+=o):(r+=o,n-=o);const a=this._study.getMinFirstBarIndexForPlot(this._plotName);if(a>n)return;r=Math.max(a,r);const l=this._study.data(),c=this._study.firstValue();if(null===c)return;const h=l.rangeIterator(r,n),u=this._getTranspValue();let p=[];const _=this._model.selection().isSelected(this._study);_?(p=this._selectionIndexer.indexes(),this._selectionData={points:[],hittestResult:F.HitTestResult.REGULAR,vertOffset:0,bgColors:[],barSpacing:e.barSpacing(),visible:!0}):(this._selectionIndexer.clear(),this._selectionData=null) +;const m=this._series.properties().childs().style.value(),g=2===m?"lineStyle":3===m?"areaStyle":null;let f,v;g?(f=this._series.properties().childs()[g].childs().priceSource.value(),v=f):(f="high",v="low");const S=t.isInverted(),y=t.coordinateToPrice(t.height()*t.topMargin(),c),b=t.coordinateToPrice(t.height()*(1-t.bottomMargin()),c);this._topCoord=S?b:y,this._bottomCoord=S?y:b;const w=(0,s.ensureNotNull)(this._model.paneForSource(this._study)).height(),P=this._study.properties().styles[this._plotName],C=P.color.value(),T=P.textColor?P.textColor.value():void 0,x=C,I=C,M=void 0===T?void 0:T,L=(0,s.ensureNotNull)(this._plotIndex),A=(0,z.createEmptyStyle)();for(;h.hasNext();){const e=h.next(),t=e.index,i=e.value,s=Math.floor(t+o),r=i[L+1];if(null==r)continue;const n=this._createItem(s,r,f,v);if(null!==n){if(this._colorProvider.isColorDefined()){n.style={color:x,borderColor:I,textColor:M};const e=this._colorProvider.getPlotPointStyle(i,A);this._fillItemWithPointStyle(n,e,u)}_&&-1!==p.indexOf(t)&&null!==this._selectionData&&(this._selectionData.points.push(n),this._selectionData.bgColors.push(this._model.backgroundColorAtYPercentFromTop(n.y/w))),this._items.push(n)}}this._convertItemsToCoordinates()}_fillItemWithPointStyle(e,t,i){const r=(0,s.ensureDefined)(e.style);if(void 0!==t.colors[0]){r.color=(0,A.generateColor)((0,s.ensureDefined)(t.colors[0]),i);const e=i>9?i-10:0;r.borderColor=(0,A.generateColor)(r.color,e)}void 0!==t.colors[2]&&(r.textColor=(0,A.generateColor)((0,s.ensureDefined)(t.colors[2]),i))}_updateRenderer(e){this._updateImpl();const t=this._model.timeScale(),i={},s=this._getTranspValue(),r=t.barSpacing(),n=this._calculateShapeHeight(r),o=this._study.properties().styles[this._plotName].location.value(),a=this._calculateVerticalOffset(o,n+n/2);i.barSpacing=r,i.items=this._items,i.color=(0,A.generateColor)(this._study.properties().styles[this._plotName].color.value(),s),i.height=n,i.vertOffset=a;const l=this._study.properties().styles[this._plotName].plottype.value(),c=R.plotShapesData[l],h=new k.CompositeRenderer;c&&h.append(this._createRenderer(c.paneRendererClass,i)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=a,h.append(new N.SelectionRenderer(this._selectionData))),this._renderer=h}_createRenderer(e,t){const i=he.get(e);return new((0,s.ensureDefined)(i))(t)}_getSeriesVal(e,t){const i=(0,H.barFunction)(e),s=this._series.data().valueAt(t);return null===s?null:i(s)}_getTranspValue(){let e=0;this._study.properties().transparency&&(e=this._study.properties().transparency.value(),e=(0,T.isNumber)(e)?e:50);const t=this._study.properties().styles[this._plotName];return t.transparency&&(e=t.transparency.value(),e=(0,T.isNumber)(e)?e:50),(0,O.clamp)(e,0,100)}_createItem(e,t,i,r){const n=this._study.properties().styles[this._plotName].location.value();if((null===t||0===t)&&n!==m.MarkLocation.Absolute)return null;let o;switch(n){case m.MarkLocation.AboveBar:const a=this._getSeriesVal(i,e);if(null===a)return null;o=a;break +;case m.MarkLocation.BelowBar:const l=this._getSeriesVal(r,e);if(null===l)return null;o=l;break;case m.MarkLocation.Top:o=this._topCoord;break;case m.MarkLocation.Bottom:o=this._bottomCoord;break;case m.MarkLocation.Absolute:o=(0,s.ensureNotNull)(t);break;default:throw new Error("Bad value: "+n)}return new L.Point(e,o)}_convertItemsToCoordinates(){const e=this._model.timeScale(),t=this._study.priceScale();e.timedValuesToCoordinates(this._items);const i=(0,s.ensureNotNull)(this._study.firstValue());(0,s.ensureNotNull)(t).pointsArrayToCoordinates(this._items,i)}_calculateVerticalOffset(e,t){let i=0;switch(e){case m.MarkLocation.AboveBar:case m.MarkLocation.Bottom:i=-t;break;case m.MarkLocation.BelowBar:case m.MarkLocation.Top:i=t}return(0,s.ensureNotNull)(this._study.priceScale()).isInverted()&&(i*=-1),i}_calculateShapeHeight(e,t){let i=e;switch(t){case I.PlotSymbolSize.Tiny:i=.3*e;break;case I.PlotSymbolSize.Small:i=.6*e;break;case I.PlotSymbolSize.Normal:i=e;break;case I.PlotSymbolSize.Large:i=1.5*e;break;case I.PlotSymbolSize.Huge:i=2*e}return i}}class ue extends de{renderer(){const e=this._study.properties().styles[this._plotName];return e.visible&&e.visible.value()&&this._scalesReady()?(this._invalidated&&(this._updateRenderer(e),this._invalidated=!1),this._renderer):null}_updateRenderer(e){this._updateImpl();const t=this._model.timeScale(),i={},s=this._getTranspValue(),r=t.barSpacing();let n;if(e.size){const t=e.size.value();n=this._calculateShapeHeight(25,t)}else n=Math.round(r/2);n=Math.max(n,1);const o=e.location.value(),a=(0,A.generateColor)(e.color.value(),s),l=s>19?s-10:0,c=this._calculateVerticalOffset(o,Math.round(1.5*n));i.barSpacing=r,i.items=this.items(),i.color=a,i.borderColor=(0,A.generateColor)(e.color.value(),l),i.height=n,i.vertOffset=c;const h=e.plottype.value(),d=R.plotShapesData[h],u=new k.CompositeRenderer,p=e.text?e.text.value():void 0;if(void 0!==p&&""!==p.trim()){let t=p.trim().replace(/\\n/gm,"\n");t=(0,B.cleanButAmpersand)(t,!0),i.text=t,i.fontSize=12;const r=e.textColor?e.textColor.value():void 0;i.textColor=r?(0,A.generateColor)(r,s):a}u.append(super._createRenderer(d.paneRendererClass,i)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=c,u.append(new N.SelectionRenderer(this._selectionData))),this._renderer=u}}var pe=i(68277),_e=i.n(pe),me=i(21344);class ge extends te{constructor(e,t){super(null,t),this._fontSizeEnsured=0,this._ch="",this._fontFamily=ee.CHART_FONT_FAMILY,this._charCache=null,null!==e&&this.setData(e)}setData(e){super.setData(e),this._fontSizeEnsured=(0,s.ensureDefined)(this._height);const t=e.char.slice(0,40);this._ch=_e()(t)[0]||" ",this._fontFamily=e.fontFamily||ee.CHART_FONT_FAMILY}hitTest(e){const t=(0,me.interactionTolerance)().series+this._fontSizeEnsured/2;for(const i of this._items){if(new L.Point(i.x,i.y+i.vertOffset).subtract(e).length()<=t)return new F.HitTestResult(F.HitTestResult.REGULAR)}return null}_drawItemShape(e,t,i){ +const s=i.x,r=i.vertOffset>0?1:-1,n=i.y+i.vertOffset-r*Math.round(this._fontSizeEnsured/2);let o;o=i.style&&void 0!==i.style.color?i.style.color:this._color;const a=this._textImageCache(),l=t.pixelRatio;if(this._fontSizeEnsured<=4/l){e.save();const t=Math.max(1,Math.floor(l));let r=Math.max(1,Math.floor(a.textImageWidth*l));r%2!=t%2&&(r+=r>1?-1:1);const c=Math.round(n*l)+(i.vertOffset>=0?0:-r);return e.fillStyle=o,e.fillRect(Math.round(s*l)+(l%2?.5:0)-r/2,c,r,r),void e.restore()}a.paintTo(e,t,o,s,n,Y.Center,i.vertOffset>0?$.Top:$.Bottom)}_startPath(e,t,i,s){}_endPath(e){}_textImageCache(){return null!==this._charCache&&this._charCache.fontFamily===this._fontFamily&&this._charCache.fontSize===this._fontSizeEnsured||(this._charCache={fontSize:this._fontSizeEnsured,fontFamily:this._fontFamily,cache:new J(this._ch,!1,!1,this._fontFamily,this._fontSizeEnsured,"center",0)}),this._charCache.cache}}class fe extends de{constructor(){super(...arguments),this._compositeRenderer=new k.CompositeRenderer,this._charRenderer=new ge(null)}renderer(){const e=this._study.properties().styles[this._plotName];return e.visible&&e.visible.value()&&this._scalesReady()?(this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._compositeRenderer):null}_updateImpl(){if(this._compositeRenderer.clear(),super._updateImpl(),0===this._items.length)return;const e=this._getTranspValue(),t=this._model.timeScale().barSpacing();let i;const s=this._study.properties().styles[this._plotName];if(s.size){const e=s.size.value();i=this._calculateShapeHeight(50,e)}else i=Math.round(t);const r=s.location.value(),n=(0,A.generateColor)(s.color.value(),e),o=this._calculateVerticalOffset(r,i),a={items:this.items(),barSpacing:t,char:s.char.value(),height:i,vertOffset:o,color:n},l=s.text?s.text.value():void 0;if(void 0!==l&&""!==l.trim()){let t=l.trim().replace(/\\n/gm,"\n");t=(0,B.cleanButAmpersand)(t,!0),a.text=t,a.fontSize=12;const i=s.textColor?s.textColor.value():void 0;a.textColor=i?(0,A.generateColor)(i,e):n}this._charRenderer.setData(a),this._compositeRenderer.append(this._charRenderer),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=o,this._compositeRenderer.append(new N.SelectionRenderer(this._selectionData)))}}var ve=i(14563);class Se extends L.Point{constructor(e,t,i,s){super(e,t),this.height=i,this.isUp=s,this.style={}}}function ye(e){return Math.round(e/4)}function be(e){return Math.round(e/2)}class we{constructor(e){this._data=e}draw(e,t){var i;const s=t.pixelRatio,r=this._data,n=be(r.barSpacing),o=ye(r.barSpacing),a=n<4,l=Math.max(n/2,1),c=(0,O.ceiledEven)(n*s),h=c/2,d=Math.round(n*s);e.lineCap="butt",e.lineWidth=Math.max(1,Math.floor(s));const u=e.lineWidth%2?.5:0;for(const t of r.items){const n=t.isUp?-1:1,p=Math.round(Math.abs(t.height)*s),_=Math.round(t.x*s)+u,m=Math.round((t.y-n*o)*s)+u;e.beginPath(),e.translate(_,m);const g=null!==(i=t.style&&t.style.color)&&void 0!==i?i:t.isUp?r.colorup:r.colordown;a?(e.moveTo(0,0),e.lineTo(-h,-h*n),e.moveTo(0,0), +e.lineTo(h,-h*n),e.moveTo(0,0),e.lineTo(0,-p*n),e.moveTo(-h,-p*n),e.lineTo(h,-p*n),e.lineWidth=l,e.strokeStyle=g,e.stroke()):(e.moveTo(0,0),pthis._maxAbsValue&&(this._maxAbsValue=Math.abs(t));const r=t>0;let n;if(r){const t=this._getSeriesVal(s,e);if(null===t)return null;n=t}else{const t=this._getSeriesVal(i,e);if(null===t)return null;n=t} +return new Se(e,n,t,r)}_convertItemsToCoordinates(){const e=this._model.timeScale(),t=(0,s.ensureNotNull)(this._study.priceScale());e.timedValuesToCoordinates(this._items),t.pointsArrayToCoordinates(this._items,(0,s.ensureNotNull)(this._study.firstValue()));let i=Math.abs(this._study.properties().styles[this._plotName].minHeight.value()),r=Math.abs(this._study.properties().styles[this._plotName].maxHeight.value());if(i>r){const e=i;i=r,r=e}const n=(r-i)/this._maxAbsValue,o=this._items;for(let e=0;er)return;i=Math.max(n,i);const o=this._study.data(),a=this._study.firstValue();if(null===a)return;const l=o.rangeIterator(i,r),c=this._study.properties().ohlcPlots[this._plotName],h=new Map,u=(e,t)=>{const i=e+"@"+t;if(!h.has(i)){const s=(0,A.generateColor)(e,t);return h.set(i,s),s}return h.get(i)},p=(0,z.createEmptyStyle)();for(;l.hasNext();){const e=l.next();let t=e.index;const i=e.value;t=Math.floor(t);let r=!0;const n=new Map;for(let e=1;e<=4;++e){const t=this._ohlcPlotIndexes.get(e);if(void 0===t){r=!1;break}const s=i[t+1];if(null==s){r=!1;break}n.set(e,s)}if(!r)continue;const o=(0,s.ensureDefined)(n.get(1)),a=(0,s.ensureDefined)(n.get(4)),h=(0,s.ensureDefined)(n.get(2)),d=(0,s.ensureDefined)(n.get(3)),_=Math.max(o,h,d,a),m=Math.min(o,h,d,a);let g=(0,s.ensureDefined)(u(c.color.value(),0));const f=this._colorProvider.getPlotPointStyle(i,p);void 0!==f.colors[0]&&(g=(0,s.ensureDefined)(f.colors[0]));const v={time:Math.round(t),open:o,high:_,low:m,close:a,color:g,wickColor:f.colors[4],borderColor:f.colors[3],hollow:null};this._bars.push(v)}if(e.barPricesToCoordinates(this._bars,a),this._model.timeScale().barIndexesToCoordinates(this._bars), +this._model.selection().isSelected(this._study)){const t=this._selectionIndexer.indexes();this._selectionData={points:[],hittestResult:F.HitTestResult.REGULAR,bgColors:[],visible:!0,barSpacing:this._model.timeScale().barSpacing()};const i=(0,s.ensureNotNull)(this._model.paneForSource(this._study)).height(),r=(0,s.ensureDefined)(this._ohlcPlotIndexes.get(4));for(let s=0;sthis._actualLength?this._items[this._actualLength]:null;return null!==e&&Boolean(e.invalidateCache)&&e.invalidateCache(),e} +invalidateCache(){this._invalidations+=1,3e3===this._invalidations&&(this._items.splice(this._actualLength),this._invalidations=0),this._actualLength=0}at(e){return this._items[e]}data(){return this._items}length(){return this._actualLength}}class Re{constructor(){this._map=new Map,this._usedKeys=new Set,this._invalidations=0}invalidateCache(){this._invalidations+=1,50===this._invalidations&&(this._deleteUnused(),this._invalidations=0),this._usedKeys.clear(),this._map.forEach((e,t)=>e.invalidateCache())}get(e){const t=this._map.get(e);return void 0!==t&&this._usedKeys.add(e),t}set(e,t){this._usedKeys.add(e),this._map.set(e,t)}forEach(e){this._map.forEach((t,i)=>{this._usedKeys.has(i)&&e(t,i)})}delete(e){const t=this._map.get(e);void 0!==t&&t.invalidateCache(),this._usedKeys.delete(e)}_deleteUnused(){const e=[];this._map.forEach((t,i)=>{this._usedKeys.has(i)||e.push(i)});for(const t of e)this._map.delete(t)}}class Oe extends Ne{constructor(){super(),this.points1=new Ne,this.points2=new Ne,this.push(this.points1),this.push(this.points2)}addPoints1Point(e,t){let i=this.points1.newItem();null!==i?(i.x=e,i.y=t):i={x:e,y:t},this.points1.push(i)}addPoints2Point(e,t){let i=this.points2.newItem();null!==i?(i.x=e,i.y=t):i={x:e,y:t},this.points2.push(i)}invalidateCache(){this.points1.invalidateCache(),this.points2.invalidateCache()}}class Fe extends Be.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e,t){return null}_drawImpl(e,t){if(null===this._data)return;const i=.25*this._data.barSpacing,s=this._data.transparency;this._data.colorAreas.forEach((t,r)=>{e.beginPath();for(let s=0;s=0;t--)e.lineTo(r.points2.at(t).x,r.points2.at(t).y)}else{const t=r.points2.at(0).x,s=r.points2.at(0).y;e.lineTo(n+i,o),e.lineTo(t+i,s),e.lineTo(t-i,s),e.lineTo(n-i,o)}}e.closePath(),e.fillStyle=(0,A.generateColor)(r,s),e.fill()})}}var We=i(45672);class He extends Ne{constructor(){super(...arguments),this._startIndex=0}setStartIndex(e){this._startIndex=e}at(e){const t=e-this._startIndex;for(;t>=this._actualLength;){if(this._items.length<=t)this._items.push({plot1Value:void 0,plot2Value:void 0,colorIndex:void 0});else{const e=this._items[this._actualLength];e.plot1Value=void 0,e.plot2Value=void 0,e.colorIndex=void 0}this._actualLength+=1}return this._items[t]}}class ze{constructor(e,t,i=!1){this._isHlineFill=!1,this._bandAKey=null,this._bandBKey=null,this._colorPlotIndex=null,this._colorValues=[],this._colors=new Ne,this._areaRenderer=new Fe,this._invalidated=!0,this._plIndex1=null,this._plIndex2=null,this._level1=0,this._level2=0,this._studyValuesCache=new He,this._points1=new Ne,this._points2=new Ne,this._timePoints=new Ne,this._colorAreas=new Re,this._source=e,this._model=t, +this._fillGaps=i}update(){this._invalidated=!0}renderer(e,t){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._areaRenderer}_correctVisibleRange(e){const t=this._source.data(),i=t.search(e.firstBar(),d.PlotRowSearchMode.NearestLeft,this._plotIndex1()),s=t.search(e.firstBar(),d.PlotRowSearchMode.NearestLeft,this._plotIndex2()),r=t.search(e.lastBar(),d.PlotRowSearchMode.NearestRight,this._plotIndex1()),n=t.search(e.lastBar(),d.PlotRowSearchMode.NearestRight,this._plotIndex2()),o=null!==i?i.index:e.firstBar(),a=null!==s?s.index:e.firstBar(),l=null!==r?r.index:e.lastBar(),c=null!==n?n.index:e.lastBar();return[Math.min(o,a),Math.max(l,c)]}_plotNames(){return this._source.metaInfo().plots.map(e=>e.id)}_plotIndex1(){return null===this._plIndex1&&(this._plIndex1=this._plotNames().indexOf(this._plotAId())+1),this._plIndex1}_plotIndex2(){return null===this._plIndex2&&(this._plIndex2=this._plotNames().indexOf(this._plotBId())+1),this._plIndex2}_updateImpl(){var e,t,i;if(this._areaRenderer.setData(null),!this._visible())return;const r=this._source.priceScale(),n=this._model,o=n.timeScale();if(!r||r.isEmpty()||o.isEmpty())return;if(n.mainSeries().bars().isEmpty())return;const a=this._source.firstValue();if(null===a)return;if(this._isHlineFill){const e=this._source.properties().bands[(0,s.ensureNotNull)(this._bandAKey)],t=this._source.properties().bands[(0,s.ensureNotNull)(this._bandBKey)];this._level1=r.priceToCoordinate(e.value.value(),a),this._level2=r.priceToCoordinate(t.value.value(),a)}const l=o.visibleBarsStrictRange();if(null===l)return;this._timePoints.invalidateCache(),this._points1.invalidateCache(),this._points2.invalidateCache(),null===(e=this._colors)||void 0===e||e.invalidateCache(),this._colorAreas.invalidateCache();const[c,h]=this._correctVisibleRange(l),d=this._isPerBarColoringSupported()?this._colors:null,u=this._source.offset(this._plotAId()),p=this._source.offset(this._plotBId()),_=Math.min(u,p),m=Math.max(u,p),g=this._plotIndex1(),f=this._plotIndex2(),v=this._source.data();if(v.isEmpty())return;let S,y;const b=(0,s.ensureNotNull)(v.firstIndex()),w=(0,s.ensureNotNull)(v.lastIndex()),P=b-Math.max(0,-_),C=w+Math.max(0,m),x=Math.max(c-1,P),I=Math.min(h+1,C),M=this._studyValuesCache;M.invalidateCache();const L=x-m,A=v.rangeIterator(L,I-_),k=Math.max(l.firstBar()-1,Math.min(L-m-1,L-1+_));M.setStartIndex(k);const E=new We.BarsRange(l.firstBar()-1,l.lastBar()+1);for(;A.hasNext();){const e=A.next(),t=e.index,i=e.value,r=i[g],n=i[f],o=t+u,a=t+p;if(o===a&&E.contains(o)){const e=M.at(o);e.plot1Value=r,e.plot2Value=n}else{if(E.contains(o)){M.at(o).plot1Value=r}if(E.contains(a)){M.at(a).plot2Value=n}}if(null!==d){const e=t-1+_;if(l.contains(e)){const t=i[(0,s.ensureNotNull)(this._colorPlotIndex)+1];M.at(e).colorIndex=t}}}const D=this._timePoints,V=this._points1,B=this._points2;let N=null;const R=k+M.length();for(let e=k;e<=R;e++){if(!this._fillGaps&&(null===S||null===y)){const t=e-1;D.push(t),V.push(NaN),B.push(NaN),null==d||d.push(null)}const s=M.at(e);if(null!==d){const e=s.colorIndex +;N=null==e?null:this._getColorByPlotValue(e)}if(this._isHlineFill){D.push(e),null!==d&&d.push(N);continue}const r=null!==(t=s.plot1Value)&&void 0!==t?t:null,n=null!==(i=s.plot2Value)&&void 0!==i?i:null;(null!==r||null!==n||Number.isFinite(S)||Number.isFinite(y))&&(S=r,y=n,V.push(r),B.push(n),D.push(e),null!==d&&d.push(N))}r.pricesArrayToCoordinates(V.data(),a,V.length()),r.pricesArrayToCoordinates(B.data(),a,B.length()),o.indexesToCoordinates(D.data(),D.length());const O=this._transparency();let F=(0,T.isNumber)(O)?O:50;F=Math.min(F,100),F=Math.max(F,0);const W={barSpacing:this._model.timeScale().barSpacing(),transparency:F,colorAreas:this._getFilledAreas(D,V,B,d)};this._areaRenderer.setData(W)}_getFilledAreas(e,t,i,s){const r=this._isHlineFill;if(!r&&(0===t.length()||0===i.length()))return new Re;const n=this._colorAreas;let o=null,a=null;const l=this._color();for(let c=0;c{null===this._bandAKey&&i.id===e&&(this._bandAKey=s),null===this._bandBKey&&i.id===t&&(this._bandBKey=s)})}}var Xe=i(73748),Ze=i(89537),Je=i(32856),Qe=i.n(Je),et=i(25436),tt=i(23952);const{property:it,availableValues:st}=(0,tt.createVisibilityController)("PriceAxisCurrencyAndUnit.visibility"),rt=(0,n.getLogger)("Chart.Study"),nt=(0,r.t)("Invalid Symbol");const ot={symbolsForDisplay:!1,symbolsForChartApi:!0,skipHiddenInputs:!1,skipFakeInputs:!1,skipBooleanInputs:M.enabled("dont_show_boolean_study_arguments"),asObject:!0,skippedGroups:[],skippedInputs:[],noExchanges:!1,noResolution:!1,keepOptionalSymbolsEmpty:!1,skipColorInputs:!1,skipTimeInputs:!1,skipOptionalEmptySymbolInputs:!1,skipTextareaInputs:!0,priceInputsForDisplay:!1},at=M.enabled("study_symbol_ticker_description"),lt=M.enabled("hide_main_series_symbol_from_indicator_legend");function ct(e,t){const i=e.plots[t];if(!i||!(0,I.isOhlcPlot)(i))return!1;const s=i.target,r=e.defaults.styles&&e.defaults.styles[s],n=e.defaults.ohlcPlots&&e.defaults.ohlcPlots[s],o=e.ohlcPlots&&e.ohlcPlots[s];return r&&(0,I.isOhlcPlotStyleBars)(r)||n&&(0,I.isOhlcPlotStyleBars)(n)||!!o&&(0,I.isOhlcPlotStyleBars)(o)}function ht(e,t){const i=e.plots[t];if(!i||!(0,I.isOhlcPlot)(i))return!1;const s=i.target,r=e.defaults.styles&&e.defaults.styles[s],n=e.defaults.ohlcPlots&&e.defaults.ohlcPlots[s],o=e.ohlcPlots&&e.ohlcPlots[s];return r&&(0,I.isOhlcPlotStyleCandles)(r)||n&&(0,I.isOhlcPlotStyleCandles)(n)||!!o&&(0,I.isOhlcPlotStyleCandles)(o)}function dt(e,t){(0,s.assert)(void 0!==e,"zOrder must be defined"),(0,s.assert)(!t.has(e),"zOrder must be unique")}class ut extends c.PriceDataSource{constructor(e,t,i,s){super(e),this.onStart=new(l()),this._onHibernationStateChange=new(l()),this._symbolsResolved=new(l()),this._statusChanged=new(l()),this._paneViews=[],this._priceAxisViews=[],this._inputsAnchorsPaneView=null,this._inputsLinesPaneView=null,this._inputsTimeAxisPaneViews=[],this._inputsPriceAxisPaneViews=[],this._resolvedSymbols={},this._resolvedSymbolsByInput={},this._source=null,this._isChildStudy=!1,this._status={type:Xe.StudyStatusType.Undefined},this._wasCompletedBefore=!1,this._studyId=null,this._isSubscribedToSessionId=!1,this._titleStrCache={},this._titleInPartsCache={},this._children=[],this._numericFormatter=new x.NumericFormatter, +this._priceAxisViewsBase=[],this._priceLinesAxisViews=[],this._labelPaneViews=[],this._ownFirstValue=null,this._plotOffsets={},this._formatter=null,this._tagsChanged=new(l()),this._pendingResolveSymbols=new Map,this._onIsActualIntervalChange=new(l()),this._lastNonEmptyPlotRowCache={},this._startMovingPoint=null,this._processHibernateBound=this.processHibernate.bind(this,1),this._maxOffset=new(Qe())(0),this._currencySourceSymbolInfo=null,this._currencySourceSymbolInputProperty=null,this._chartApi=e.chartApi(),this._properties=t,this._metaInfo=s,this._series=this._model.mainSeries(),this._series.onIntervalChanged().subscribe(this,this._calcIsActualInterval),this._showStudyArgumentsProperty=e.properties().childs().paneProperties.childs().legendProperties.childs().showStudyArguments,e.collapsed().subscribe(this._processHibernateBound),i instanceof ut&&(this._source=i,this._isChildStudy=!0,this._source.setChild(this));const r=this.parentSource();r.currencyChanged().subscribe(this,this._onSourceCurrencyChanged),r.unitChanged().subscribe(this,this._onSourceUnitChanged),r.priceRangeReadyChanged().subscribe(this,this._onSourcePriceRangeReadyChanged),r.formatterChanged().subscribe(this,this._onSourceFormatterChanged),r.priceStepChanged().subscribe(this,this._onSourcePriceStepChanged),at&&this._model.mainSeries().properties().childs().statusViewStyle.childs().symbolTextSource.listeners().subscribe(this,()=>{this.invalidateTitleCache(!0)}),this._properties.subscribe(this,this._onPropertiesChanged),this._properties.visible.subscribe(this,this._visibleChanged),this._properties.visible.subscribe(this,this.processHibernate),this._properties.intervalsVisibilities.subscribe(this,this._calcIsActualInterval),this._properties.inputs.listeners().subscribe(this,this._updateMaxOffsetValue),void 0!==this._properties.offsets&&this._properties.offsets.listeners().subscribe(this,this._updateMaxOffsetValue),void 0!==this._properties.offset&&this._properties.offset.listeners().subscribe(this,this._updateMaxOffsetValue),this._initializeCurrencySource(),S.hideAllIndicators().subscribe(this,this._visibleChanged);for(let e=0;e=0?e:0}}return this._isChildStudy&&p().patchChildStudyMetaInfoState(l),l}hasStateForAlert(){return!1}stateForAlert(){throw new Error("Not implemented")}disconnect(){this._studyId=null,this._model.isSnapshot()||(this._resolvedSymbols={},this._resolvedSymbolsByInput={})}isChildStudy(){return this._isChildStudy}hasChildren(){return this._children.length>0}isActualInterval(){return this._isActualInterval}onIsActualIntervalChange(){return this._onIsActualIntervalChange}isVisible(){ +if(this._model.collapsed().value()||!this.properties().visible.value()||!this.isActualInterval())return!1;const e=this.metaInfo();if(e.plots.length>0)return!0;for(const t of Object.keys(e.graphics))for(const i of Object.keys(e.graphics[t])){const e=this.properties().graphics[t][i];if(!e.visible||e.visible.value())return!0}return!(!e.isTVScriptStrategy&&!e.hasAlertFunction)}inputs(e){const t=(0,T.merge)((0,T.clone)(ot),e||{});return t.skipOptionalEmptySymbolInputs&&(t.keepOptionalSymbolsEmpty=!0),this._buildInputs(t)}metaInfo(){return this._metaInfo}status(){return this._status}name(e){return e?this.metaInfo().shortDescription||this._properties.shortDescription&&this._properties.shortDescription.value()||"Study":this.metaInfo().description||this._properties.description&&this._properties.description.value()||"Study"}title(e,t,i,s){i=void 0===i?!this._showStudyArgumentsProperty.value():i;const r=JSON.stringify([e,t,i,s]);if(this._titleStrCache[r])return this._titleStrCache[r];if(this._titleInPartsCache[r])return this._joinTitlesParts(this._titleInPartsCache[r]);const n=this._title(e,t,i,s);return this._titleStrCache[r]=n,n}titleInParts(e,t,i,s){i=void 0===i?!this._showStudyArgumentsProperty.value():i;const r=JSON.stringify([e,t,i,s]);if(this._titleInPartsCache[r])return this._titleInPartsCache[r];const n=this._titleInParts(e,t,i,s);return this._titleInPartsCache[r]=n,n}invalidateTitleCache(e){if(this._titleStrCache={},this._titleInPartsCache={},!0===e&&this._children)for(let t=0;te.update()),this._labelPaneViews.forEach(e=>e.update()),null===(e=this._dataWindowView)||void 0===e||e.update(),null===(t=this._legendView)||void 0===t||t.update(),null===(i=this._statusView)||void 0===i||i.update(),this._priceAxisViews.forEach(e=>e.update()),this._priceLinesAxisViews.forEach(e=>e.update()),null===(s=this._inputsLinesPaneView)||void 0===s||s.update(),null===(r=this._inputsAnchorsPaneView)||void 0===r||r.update(),this._inputsTimeAxisPaneViews.forEach(e=>e.update()),this._inputsPriceAxisPaneViews.forEach(e=>e.update())}isPine(){return void 0!==this._metaInfo.pine}isStandardPine(){return this.isPine()&&p().isStandardPine(this._metaInfo.id)}isLinkedToSeries(){return!0===this._metaInfo.linkedToSeries}defaultPlotIdForAlert(){return this._metaInfo.plots.length?this._metaInfo.plots[0].id:null}resolvedSymbolInfoBySymbol(e){return this._resolvedSymbols&&e&&this._resolvedSymbols[this._getSymbolForResolve(e)]||null}currency(){if(null!==this._currencySourceSymbolInfo)return(0,et.symbolCurrency)(this._currencySourceSymbolInfo);const e=this.metaInfo();return Boolean(e)&&e.is_price_study?this.parentSource().currency():null}currencySourceSymbolInfo(){var e,t,i;return null!==(e=this._currencySourceSymbolInfo)&&void 0!==e?e:null!==(i=null===(t=this.symbolSource())||void 0===t?void 0:t.symbolInfo())&&void 0!==i?i:null}unit(){const e=this.metaInfo();return Boolean(e)&&e.is_price_study?this.parentSource().unit():null}dataWindowView(){return this._dataWindowView}statusView(){return this._statusView}legendView(){return this._legendView}inputsForAlertState(){return this.inputs()}sessionId(){return this.parentSource().sessionId()}sessionIdChanged(){return this.parentSource().sessionIdChanged()}getSymbolString(e){return""===e?"":(0,b.encodeExtendedSymbolOrGetSimpleSymbolString)(this._getSymbolObject(e))}onStatusChanged(){return this._statusChanged}symbolsResolved(){return this._symbolsResolved}onHibernationStateChange(){return this._onHibernationStateChange}valuesProvider(){return new f.StudyLegendValuesProvider(this,this.model())}statusProvider(e){return new C.StudyStatusProvider(this,this._model.properties().childs().scalesProperties.childs().textColor)}correctScaleMargins(e){if("Volume"===this.metaInfo().shortId){const t=this.model().paneForSource(this);return null!==t&&t.isOverlay(this)&&t.containsMainSeries()?{top:.75,bottom:0}:{top:e.top,bottom:0}}return e}canBeHiddenByGlobalFlag(){return!0}isSourceHidden(){ +return!this.isVisible()||this.canBeHiddenByGlobalFlag()&&S.hideAllIndicators().value()}paneViews(e){if(this.isSourceHidden()||!e.hasPriceDataSource(this))return null;const t=[];return!this._startMovingPoint&&this._wasCompletedBefore&&t.push(...this._paneViews),this._inputsLinesPaneView&&(this._startMovingPoint||this._model.selection().isSelected(this))&&t.push(this._inputsLinesPaneView),this._inputsAnchorsPaneView&&t.push(this._inputsAnchorsPaneView),t}timeAxisViews(){return this._model.selection().isSelected(this)?this._inputsTimeAxisPaneViews:null}priceAxisViews(e,t){if(this.properties().oldShowLastValue&&!this.properties().oldShowLastValue.value())return null;let i=this._priceAxisViews.slice();return this._model.selection().isSelected(this)&&(i=i.concat(this._inputsPriceAxisPaneViews)),e.findTargetPriceAxisViews(this,t,i,this._priceLinesAxisViews)}movable(){return null!==this._inputsAnchorsPaneView}startMoving(e,t,i,s){this._startMovingPoint=e,this.stop()}move(e,t,i,s){if(void 0!==e.logical&&null!==this._startMovingPoint){if(Array.isArray(t)){const i=t;this._updateInputValue(e.logical,i[0]),this._updateInputValue(e.logical,i[1])}else this._updateInputValue(e.logical,t);this.updateAllViews()}}endMoving(e,t){return this._startMovingPoint=null,this.start(),{indexesChanged:!1,pricesChanged:!1}}convertYCoordinateToPriceForMoving(e,t){const i=this.priceScale();if(!t||!i||i.isEmpty())return null;const s=t.firstValue();return null===s?null:i.coordinateToPrice(e,s)}processHibernate(e){const t=this.isVisible();if(!this.isStarted()&&t&&(this._isChildStudy&&(0,s.ensureNotNull)(this._source).processHibernate(),this.start(void 0,void 0,e),this._onHibernationStateChange.fire(!1)),this.isHibernationAllowed()&&this.isStarted()&&!t){for(const e of this._children)e.processHibernate();this.stop(void 0,e),this._onHibernationStateChange.fire(!0)}}isHibernationAllowed(){return!this.metaInfo().historyCalculationMayChange&&(!this.hasChildren()||!!this._model.collapsed().value()&&this._children.every(e=>e.isHibernationAllowed()))}maxOffset(){return this._maxOffset}_updateMaxOffsetValue(){let e=-1/0;for(const t of this._metaInfo.plots)e=Math.max(this.offset(t.id),e);this._maxOffset.setValue(e)}_rightOffsetToUnixTime(e){if(this._series.bars().size()>=e){const t=(0,s.ensureNotNull)(this._series.bars().lastIndex())-e;return(0,s.ensureNotNull)(this._series.bars().valueAt(t))[0]}return null}_invalidateLastNonEmptyPlotRowCache(){this._lastNonEmptyPlotRowCache={}}_collectDepsForAlert(){throw new Error("Not implemented")}isHibernated(){return!this.isVisible()&&!this.isStarted()}_createViews(){var e,t;this._priceAxisViewsBase=[],this._priceLinesAxisViews=[],this._paneViews=[],this._labelPaneViews=[];const i=new Set,r=this.metaInfo(),n=Boolean(r.usePlotsZOrder),o=new Map;if(r.plots)for(let t=0;t{const i=this._properties.bands[t];if(i&&i.visible.value()){const t=new qe(i,this),r=n?(0,s.ensureDefined)(e.zorder):o.size;dt(r,o),o.set(r,{paneViews:[t]})}}),this._properties.bandsBackground&&((0,s.assert)(!n,"'usePlotsZOrder' flag does not supported"),o.set(o.size,{paneViews:[new $e(this)]}));const a=this._paneViews;(0,_.createGraphicsPaneViews)(this,this.model()).then(e=>{for(let t=0;tr.plots.some(t=>(0,I.isColorerPlot)(t)&&t.target===e);if(this._properties.filledAreas&&r.filledAreas)for(let e=0;ee-t);for(let e=0;e0?" ("+t+")":"")}_titleInParts(e,t,i,s){var n;const o=this.name(e);t=t||{};const a=[(0,r.t)(o,{context:"study"})];let l=[];if(!i){const i=this._getMTFResolutionInputTitle();null!==i&&i.length>0&&a.push(i);const r=this.metaInfo(),o=this._titleInputs(s,!0)||[];if(o.length>0){const i={};if(this._isChildStudy)for(let t=0;t=0&&this._source){const t=this._source.metaInfo(),r=this._source.title(e,{},!0,s);if(1===t.plots.length)i[l]=r;else{const e=l.split("$")[1],s=null===(n=t.plots[parseInt(e)])||void 0===n?void 0:n.id,o=t.styles&&t.styles[s],a=o&&o.title||s;i[l]=r+": "+a}}break}l=o.map(e=>{let s=(0,T.isNumber)(e)?this._numericFormatter.format(e):i&&i[e.toString()]||e.toString();return t&&t[s.toString()]&&(s=t[s.toString()]),s})}}return[a.join(" · "),l]}_getMTFResolutionInputTitle(){const e=this.metaInfo();for(let t=0;t"line"===e.type)}_hasAlertConditions(){if(this.metaInfo().plots.some(I.isAlertConditionPlot))return!0;const e=this.stateForAlert();return Boolean(e.alerts&&e.alerts.conditions)}_hasAlertFunction(){const e=this.metaInfo();return Boolean(e.hasAlertFunction)}_getSymbolForResolve(e){return this.getSymbolString(this._getSymbolForApi(e))}_allSymbolsAreResolved(){const e=this.metaInfo(),t=[];let i=!1;for(let s=0;sthis._symbolsResolved.fire()):e}return Promise.all(t).catch(e=>(this._setStatus({type:Xe.StudyStatusType.Error,errorDescription:{error:nt}}),this.stop(!0),this._model.updateSource(this),Promise.reject("Invalid symbol, "+e))).then(()=>{null!==this._studyId&&this.stop(!0),this.start(!0),this._symbolsResolved.fire(), +this._recheckLineToolsActuality()})}_getSymbolForApi(e){return e}_resolveSymbol(e,t){if(""===e)return Promise.resolve();let i=this._pendingResolveSymbols.get(e);return void 0!==i||(i=new Promise((i,s)=>{this._onSymbolResolvingStart(),this._chartApi.resolveSymbol((0,w.makeNextSymbolId)(),e,r=>{switch(this._pendingResolveSymbols.delete(e),r.method){case"symbol_resolved":this._setStatus({type:Xe.StudyStatusType.Undefined}),this._resolvedSymbols[e]=r.params[1],this._resolvedSymbolsByInput[t]=r.params[1],this._onSymbolResolved(e,t,r.params[1]),this.invalidateTitleCache(!0),i();break;case"symbol_error":if(this._setStatus({type:Xe.StudyStatusType.Error,errorDescription:{error:r.params[1]}}),this._onSymbolError(),r.params[1]===P.permissionDenied&&r.params[2])switch(r.params[2]){case P.SymbolErrorPermissionDeniedReason.Symbol:if(r.params[3])return void this._resolveSymbol(r.params[3],t).then(i);break;default:return void this._resolveSymbol(r.params[2],t).then(i)}0,s()}})}),this._pendingResolveSymbols.set(e,i)),i}_recheckLineToolsActuality(){const e=this._model.paneForSource(this);null!==e&&e.sourcesByGroup().lineSourcesForAllSymbols().forEach(e=>{e.ownerSource()===this&&e.calcIsActualSymbol()})}_getSymbolObject(e){const t={symbol:e},i=this.currency();return null!==this._currencySourceSymbolInputProperty&&this._getSymbolForApi(this._currencySourceSymbolInputProperty.value())===e&&(t["currency-id"]=i),t.session=this.sessionId(),t}_onSymbolResolved(e,t,i){this._onCurrencyMayChange()}_onSymbolResolvingStart(){}_onSymbolError(){}_setStatus(e,t){var i;this._status=e,e.type===Xe.StudyStatusType.Completed?this._wasCompletedBefore=!0:e.type!==Xe.StudyStatusType.Error&&e.type!==Xe.StudyStatusType.Undefined||(this._wasCompletedBefore=!1),t||(null===(i=this._statusView)||void 0===i||i.update(),this._model.updateSource(this),this._statusChanged.fire(e))}_bandsFirstValue(e){const t=this._metaInfo;if(!t.bands)return null;for(let i=0;ivoid 0!==i[e],1e3),null===i?null:(this._lastNonEmptyPlotRowCache[e]=i,i)}_onCurrencyChanged(){"alwaysOff"!==it().value()&&this._model.fullUpdate(),this.isStarted()&&this._tryChangeInputs(),this._currencyChanged.fire()}_tryChangeInputs(){const e=(0,s.ensureDefined)((0,T.clone)(this._inputs));this.isStarted()&&this._chartApi.isConnected().value()?this._allInputsAreValid()?this._allSymbolsAreResolved().then(()=>{const t=this.inputs({keepOptionalSymbolsEmpty:!0}),i=JSON.stringify(t)!==JSON.stringify(this._inputs);this._isStopped()?i&&this.disablePriceRangeReady():i&&(this._changeInputsImpl(t,e),this._inputs=t)}).catch(e=>{rt.logError("ERROR: "+this._debugId()+" _tryChangeInputs: cannot modify study, "+e)}):this.stop():(this.stop(!0),this.start(!0)),this._tagsChanged.fire()}_debugId(){const e=[];return this._studyId&&e.push(this._studyId),e.push(this._metaInfo.fullId),e.push(this._metaInfo.description),JSON.stringify({study:e})}_isStopped(){return!this.isStarted()}_applyPlotToPrecalculatedAutoscaleInfo(e,t,i,s){const r=s.id,n=this.properties().styles[r],o=(0,I.isShapesPlot)(s)||(0,I.isCharsPlot)(s);i.useMainSeriesRange=i.useMainSeriesRange||(0,I.isArrowsPlot)(s);let a=(0,I.isLinePlot)(s)||(0,I.isOhlcPlot)(s);if(o){const e=n.location.value(),t=[m.MarkLocation.Absolute,m.MarkLocation.Top,m.MarkLocation.Bottom].indexOf(e)<0;i.useMainSeriesRange=i.useMainSeriesRange||o&&t,a=a||e===m.MarkLocation.Absolute}if(!a)return i;const l={name:r,offset:this.offset(r)},c=n.plottype.value();if(!this.properties().skipHistogramBaseOnAutoScale&&[I.LineStudyPlotStyle.Histogram,I.LineStudyPlotStyle.Columns,I.LineStudyPlotStyle.Area].indexOf(c)>=0){const s=n.histogramBase.value(),r=this.data().minMaxOnRangeCached(e,t,[l]);return(0,T.isNumber)(s)&&null!==r&&(i.baseValueMinMax=(0,d.mergeMinMax)(i.baseValueMinMax,{min:s,max:s}),i.baseValueMinMax=(0,d.mergeMinMax)(i.baseValueMinMax,r)),i}return i.fields.push(l),i}_fillPrecalculatedAutoscaleInfo(e,t){return this._metaInfo.plots.filter(e=>!(0,I.isPlotWithTechnicalValues)(e)).filter(e=>{const t=e.id;let i;if((0,I.isOhlcPlot)(e)){const t=e.target;i=this.properties().ohlcPlots[t]}else i=this.properties().styles[t];return i.visible.value()}).reduce((i,s)=>this._applyPlotToPrecalculatedAutoscaleInfo(e,t,i,s),{fields:[],useMainSeriesRange:!1,baseValueMinMax:null})}_buildInputs(e){(0,s.assert)(!!e,"options not set");let t={};try{t=this._prepareInputs(e)}catch(e){rt.logWarn("Failed to prepare study inputs: "+e)}if(e.asObject){const e={};return Object.keys(t).forEach(i=>{null!=t[i]&&(e[i]=t[i])}),e}{const e=[];return Object.keys(t).forEach(i=>{null!=t[i]&&e.push(t[i])}),e}}_prepareInput(e,t){ +const i=this._prepareInputValue(e,t);return!e.isFake||t.fakeInputsForDisplay||t.onlyAtomValues?i:{v:i,f:!0,t:e.type}}_plotsForAlert(){return[]}_dependenciesForAlerts(){throw new Error("Not implemented")}_calcIsActualInterval(){const e=this._isActualInterval;this._isActualInterval=(0,Ze.isActualInterval)(this._series.intervalObj(),this.properties().intervalsVisibilities),e!==this._isActualInterval&&(this._onIsActualIntervalChange.fire(),this._visibleChanged(),this.processHibernate())}_visibleChanged(){this._series.invalidateBarColorerCache()}_getNonPriceParent(){const e=this.source();if(e instanceof ut){const t=e.metaInfo();return t.is_price_study&&"Compare@tv-basicstudies"!==t.id?e._getNonPriceParent():e}return null}_updateInputValue(e,t){const i=this._properties.inputs;if(i[t.id])if("price"===t.type)i[t.id].setValue(e.price);else if("time"===t.type){const s=this._model.timeScale().indexToTimePoint(e.index);null!==s&&i[t.id].setValue(1e3*s)}}_initializeStudyInputsPaneViews(){}_updateCurrencySourceSymbolInfo(){var e;null!==this._currencySourceSymbolInputProperty&&(this._currencySourceSymbolInfo=null!==(e=this._resolvedSymbolsByInput[this._currencySourceSymbolInputProperty.value()])&&void 0!==e?e:null)}_initializeCurrencySource(){var e;const t=this.metaInfo(),i="symbolInputTargetCurrency"===(null===(e=t.targetCurrency)||void 0===e?void 0:e.type)&&t.targetCurrency.inputId,s=t.inputs.find(e=>e.id===i),r="symbol"===(null==s?void 0:s.type);if("string"==typeof i&&r&&t.is_price_study){const e=this._properties.inputs[i];null!=e&&(e.subscribe(this,this._onCurrencyMayChange),this._currencySourceSymbolInputProperty=e)}}_onCurrencyMayChange(){if(null!==this._currencySourceSymbolInputProperty){const e=this.currency();this._updateCurrencySourceSymbolInfo(),e!==this.currency()&&this._onCurrencyChanged()}}}},32643:(e,t,i)=>{"use strict";i.d(t,{StudyCompare:()=>B});var s=i(16282),r=i(39951),n=i(25436),o=i(674),a=i.n(o),l=i(27490),c=i(84995),h=i(95426),d=i(77036);const u=l.enabled("force_exchange_as_title");class p extends h.PriceAxisView{constructor(e,t){super(),this._studyCompare=e,this._data=t}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._studyCompare.priceScale(),r=this._studyCompare.lastValueData(this._data.plotIndex,!1);if(r.noData||null===s||s.isEmpty())return;i.background=r.color,i.textColor=this.generateTextColor(r.color),i.coordinate=r.coordinate,i.floatCoordinate=r.floatCoordinate;const n=this._studyCompare.model().properties().childs().scalesProperties.childs();n.showSeriesLastValue.value()&&(e.text=(0,d.getCurrentModePriceText)(s,r),n.seriesLastValueMode.value()!==c.PriceAxisLastValueMode.LastPriceAndPercentageValue?e.secondLine="":e.secondLine=(0,d.getOppositeModePriceText)(s,r),e.visible=!0),t.text="",n.showSymbolLabels.value()&&(t.text=this._paneText(),t.visible=t.text.length>0)}_paneText(){let e="";const t=this._studyCompare.symbolInfo();return u?e=(0,n.displayedSymbolExchange)(t):this._studyCompare.model().properties().childs().scalesProperties.childs().showSymbolLabels.value()&&(e=(0, +n.displayedSymbolName)(t)),e}}i(79881);var _=i(74393),m=i(33033),g=i(15521),f=i(43367),v=i(47903),S=i(98460);class y extends S.StudyValuesProvider{constructor(e,t){super(e,t),this._emptyValues[0].title=e.guiPlotName("")}_hideValues(){return!1}}const b=f.CheckMobile.any();class w extends _.StudyDataWindowView{constructor(e,t){super(e,t),this._studyCompare=e}_hideValues(){return!1}_createValuesProvider(e,t){return new y(e,t)}_currentIndex(){const e=this._model.crossHairSource().lockedIndex;let t;return b&&(null===this._model.crossHairSource().pane&&void 0===e||(0,m.isLineToolName)(g.tool.value())||null!==this._model.lineBeingEdited())?t=this._study.data().lastIndex():(t=this._model.crossHairSource().appliedIndex(),(0,v.isNumber)(t)||(t=this._study.data().lastIndex())),t}}class P extends w{constructor(e,t){super(e,t),this._additional=null,this._showSeriesOHLC=t.properties().childs().paneProperties.childs().legendProperties.childs().showSeriesOHLC,this._showSeriesOHLC.subscribe(this,this.update)}areValuesVisible(){return this._showSeriesOHLC.value()}destroy(){this._showSeriesOHLC.unsubscribeAll(this)}additional(){return this._additional}_updateImpl(){super._updateImpl()}}var C=i(53289),T=i(39425);class x extends T.StudyStatusProvider{getSplitTitle(){return this._source.titleInParts(!0,void 0,!1,!1)}text(){return this._source.isActualInterval()?this._source.isFailed()?`${this._source.title(!0,void 0,!1,!1)}: ${this.sourceStatusText()}`:`${this._source.title(!0,void 0,!1,!1)} ${this.sourceStatusText()}`:this._source.title(!0,void 0,!1,!1)}}var I=i(92898),M=i(32856),L=i.n(M);const A=l.enabled("study_overlay_compare_legend_option"),k=l.enabled("force_exchange_as_title"),E=l.enabled("uppercase_instrument_names"),D=!l.enabled("hide_study_compare_legend_item"),V=l.enabled("hide_unresolved_symbols_in_legend");class B extends r.Study{constructor(e,t,i,s){t.hasChild("currencyId")||t.addChild("currencyId",new(a())(null)),t.hasChild("unitId")||t.addChild("unitId",new(a())(null)),t.addExclusion("currencyId"),t.addExclusion("unitId"),super(e,t,i,s),this.properties().childs().minTick.subscribe(null,()=>this._recreatePriceFormattingDependencies()),this.properties().childs().minTick.subscribe(null,()=>this._model.fullUpdate()),this.properties().childs().currencyId.subscribe(this,this._onCurrencyChanged),this.properties().childs().unitId.subscribe(this,this._onUnitChanged),this.properties().merge({skipHistogramBaseOnAutoScale:!0}),this._symbolResolvingActive=new(L())(!1),this._symbolHibernated=new(L())(!1)}properties(){return super.properties()}createPriceAxisView(e){return new p(this,{plotIndex:"compare"})}setSymbolParams(e){this._setSymbolCurrencyUnitInternal(e)}symbol(){return this._properties.inputs.symbol.value()}setSymbol(e){this.setSymbolParams({symbol:e})}symbolInfo(){if(!this._resolvedSymbols)return null;const e=this._properties.inputs.symbol.value();if(!e)return null;let t;return t=this._resolvedSymbols[this._getSymbolForResolve(e)]||null,t}symbolResolved(){return this.symbolsResolved()}symbolResolvingActive(){ +return this._symbolResolvingActive}symbolHibernated(){return this._symbolHibernated}isVisible(){const e=super.isVisible();return this._symbolHibernated.setValue(!e),e}symbolSameAsCurrent(e){return(0,I.symbolSameAsCurrent)(e,this.symbol(),this.symbolInfo())}currency(){return this._properties.currencyId.value()||null}setCurrency(e){this.setSymbolParams({currency:e})}isConvertedToOtherCurrency(){return(0,n.isConvertedToOtherCurrency)(this.symbolInfo())}unit(){return this._properties.unitId.value()||null}setUnit(e){this._properties.unitId.setValue(e)}isConvertedToOtherUnit(){return(0,n.isConvertedToOtherUnit)(this.symbolInfo())}style(){return 2}setStyle(e){}interval(){return this._model.mainSeries().interval()}setInterval(e){}symbolSource(){return this}state(e,t){const i=super.state(e,t);return e&&((0,s.ensureDefined)(i.data).symbols={___snapshot:this.symbolInfo()||void 0}),i}symbolTitle(e,t){return this.title(!0,{},!1,e)}titleInParts(e,t,i,s){const r=this._titleInParts(e,t,i,s).join(", ");return[E?r.toUpperCase():r]}tags(){const e=this.symbol();return e?[e]:[]}statusView(){return D?super.statusView():null}guiPlotName(e){return this.properties().childs().inputs.childs().symbol.value()}canOverrideMinTick(){return!0}canBeHiddenByGlobalFlag(){return!1}valuesProvider(){return new y(this,this.model())}statusProvider(e){return new x(this,this._model.properties().childs().scalesProperties.childs().textColor)}_createViews(){this._legendView||(this._legendView=new P(this,this._model)),this._dataWindowView||(this._dataWindowView=new w(this,this._model)),this._statusView||(this._statusView=new C.StudyStatusView(this)),super._createViews()}_showLastValueOnPriceScale(){return this._model.properties().childs().scalesProperties.childs().showSeriesLastValue.value()}_onUnitChanged(){this._model.properties().childs().scalesProperties.childs().showUnit.value()&&this._model.fullUpdate(),this.isStarted()&&this._tryChangeInputs(),this._unitChanged.fire()}_getSymbolObject(e){const t=super._getSymbolObject(e),i=this.currency();null!==i&&(t["currency-id"]=i);const s=this.unit();return null!==s&&(t["unit-id"]=s),t}_getSymbolForApi(e){return(0,n.symbolForApi)(this._resolvedSymbolsByInput[e]||null,e)}_onSymbolResolvingStart(){super._onSymbolResolvingStart(),this._symbolResolvingActive.setValue(!0)}_onSymbolError(){super._onSymbolError(),this._symbolResolvingActive.setValue(!1)}_onSymbolResolved(e,t,i){super._onSymbolResolved(e,t,i),this._recreatePriceFormattingDependencies();const s=t===this.symbol()?(0,n.extractSymbolNameFromSymbolInfo)(i,this.symbol()):null,r=(0,n.symbolCurrency)(i),o=(0,n.symbolUnit)(i);this._setSymbolCurrencyUnitInternal({symbol:null!=s?s:void 0,currency:r,unit:o},i),this.model().realignLineTools(),this._symbolResolvingActive.setValue(!1)}_changeInputsImpl(e,t){super._changeInputsImpl(e,t),e.symbol!==t.symbol&&this._model.realignLineTools()}_createStudyOnServer(){super._createStudyOnServer(),this._model.realignLineTools()}_tryCreateFormatter(){const e=this.symbolInfo();return(0, +n.createSeriesFormatter)(e,this.properties().childs().minTick.value())}_titleInParts(e,t,i,s){const r=this.properties().childs().inputs.childs().symbol.value(),n=this.symbolInfo(),o=n&&n.exchange&&0!==n.exchange.length;let a;if(k&&o&&n)a=n.exchange;else if(n){if(a=n.name,A)switch(this._model.mainSeries().symbolTextSourceProxyProperty().value()){case"description":a=n.description;break;case"ticker-and-description":a=`${n.name}, ${n.description}`}else if(o&&!s)return[a,[n.exchange]]}else a=V?"":r;return[a]}_setSymbolCurrencyUnitInternal(e,t){const{symbol:i,currency:s,unit:r}=e,o=this.properties().childs(),a=o.inputs.childs().symbol.value(),l=o.currencyId.value(),c=o.unitId.value();if(void 0!==i&&i!==a&&o.inputs.childs().symbol.setValueSilently(i),void 0!==s&&s!==l&&o.currencyId.setValueSilently(s),void 0!==r&&r!==c&&o.unitId.setValueSilently(r),t)this._resolvedSymbolsByInput[this.symbol()]=t,this._resolvedSymbols[this._getSymbolForResolve(this.symbol())]=t;else{const e=this.symbolInfo();null!==e&&(o.currencyId.setValueSilently((0,n.symbolCurrency)(e)),o.unitId.setValueSilently((0,n.symbolUnit)(e)))}o.inputs.childs().symbol.value()!==a&&o.inputs.childs().symbol.listeners().fire(o.inputs.childs().symbol),o.currencyId.value()!==l&&o.currencyId.listeners().fire(o.currencyId),o.unitId.value()!==c&&o.unitId.listeners().fire(o.unitId)}}},82755:(e,t,i)=>{"use strict";i.d(t,{StudyOverlayBase:()=>A});var s=i(16282),r=i(43367),n=i(65447),o=i(39951),a=i(18213),l=i(25436),c=i(674),h=i.n(c),d=i(89164),u=i(27490),p=i(84310),_=i(92898),m=i(6195),g=i(1467),f=i(61627),v=i(47903),S=i(25303),y=i(32856),b=i.n(y);const w=r.CheckMobile.any()&&!1,P=u.enabled("uppercase_instrument_names"),C=u.enabled("study_overlay_compare_legend_option"),T=u.enabled("secondary_series_extend_time_scale"),x=u.enabled("hide_unresolved_symbols_in_legend"),I=!u.enabled("hide_study_overlay_legend_item"),M=(0,n.getLogger)("Chart.StudyOverlay");function L(e,t){return null==e[t]}class A extends o.Study{constructor(e,t,i,s){super(e,function(e){return e.hasChild("currencyId")||e.addChild("currencyId",new(h())(null)),e.hasChild("unitId")||e.addChild("unitId",new(h())(null)),e.addExclusion("currencyId"),e.addExclusion("unitId"),e}(t),i,s),this._quotesProvider=new p.QuotesProvider,this._seriesSource=null,this._symbolResolvingActive=new(b())(!1),this._symbolHibernated=new(b())(!1),this._styleToRecover=null,this.m_data=new f.PlotList((0,a.seriesPlotFunctionMap)(),L),w&&this._quotesProvider.quotesUpdate().subscribe(this,this._onQuotesUpdate);const r=this.properties().childs();r.currencyId.subscribe(this,this._onCurrencyChanged),r.unitId.subscribe(this,this._onUnitChanged),r.allowExtendTimeScale.subscribe(this,this._onAllowExtendTimeScaleChanged),this._onAllowExtendTimeScaleChanged(),r.style.subscribe(this,this._onChartStyleChanged),r.lineStyle.childs().priceSource.subscribe(this,this._updateBarFunction),r.areaStyle.childs().priceSource.subscribe(this,this._updateBarFunction),r.baselineStyle.childs().priceSource.subscribe(this,this._updateBarFunction),this._updateBarFunction(), +this._formatter=null}destroy(){super.destroy()}setSymbolParams(e){this._setSymbolParamsInternal(e)}symbol(){return this.properties().childs().inputs.childs().symbol.value()}setSymbol(e){this.setSymbolParams({symbol:e})}symbolInfo(){if(!this._resolvedSymbols)return null;const e=this._properties.inputs.symbol.value();if(!e)return null;let t;return t=this._resolvedSymbols[this._getSymbolForResolve(e)]||null,t}supportsPressedChunks(){return!1}pressedChunks(e,t){throw new Error("Pressed chunks are not supported")}data(){return null===this._seriesSource?super.data():this._seriesSource.data().bars()}symbolResolved(){return this.symbolsResolved()}symbolResolvingActive(){return this._symbolResolvingActive}symbolHibernated(){return this._symbolHibernated}isVisible(){const e=super.isVisible();return this._symbolHibernated.setValue(!e),e}symbolSameAsCurrent(e){return(0,_.symbolSameAsCurrent)(e,this.symbol(),this.symbolInfo())}priceSource(){switch(this._properties.style.value()){case 2:return this._properties.lineStyle.priceSource.value();case 3:return this._properties.areaStyle.priceSource.value();case 10:return this._properties.baselineStyle.priceSource.value()}return null}barFunction(){return this._barFunction}quotes(){return this._quotesProvider.quotes()}currency(){return this._properties.currencyId.value()||null}setCurrency(e){this.setSymbolParams({currency:e})}isConvertedToOtherCurrency(){return(0,l.isConvertedToOtherCurrency)(this.symbolInfo())}unit(){return this._properties.unitId.value()||null}setUnit(e){this._properties.unitId.setValue(e)}isConvertedToOtherUnit(){return(0,l.isConvertedToOtherUnit)(this.symbolInfo())}style(){return this.properties().childs().style.value()}setStyle(e){this.properties().childs().style.setValue(e)}interval(){return this._model.mainSeries().interval()}setInterval(e){}symbolSource(){return this}state(e,t){const i=super.state(e,t);return e&&((0,s.ensureDefined)(i.data).symbols={___snapshot:this.symbolInfo()||void 0}),i}symbolTitle(e,t){return this.title(!0,{},!1,e)}title(e,t,i,s){const r=this._titleInParts(e,t,i,s).join(", ");return P?r.toUpperCase():r}titleInParts(e,t,i,s){const r=this._titleInParts(e,t,i,s).join(", ");return[P?r.toUpperCase():r]}isStarted(){return null===this._seriesSource?super.isStarted():this._seriesSource.isStarted()}sourceId(){return null===this._seriesSource?super.sourceId():(0,s.ensureNotNull)(this._seriesSource.instanceId())}moveData(e){null===this._seriesSource?super.moveData(e):this._seriesSource.moveData(e)}firstValue(){const e=this._model.timeScale().visibleBarsStrictRange();if(null===e)return null;const t=e.firstBar();if(0===this.data().size())return this._ownFirstValue;const i=this.data().search(t,f.PlotRowSearchMode.NearestRight,1);return this._ownFirstValue=null!==i?this._barFunction(i.value):null,this._ownFirstValue}lastValueData(e,t,i){const s={noData:!0},r=this.priceScale();if(this._model.timeScale().isEmpty()||null===r||r.isEmpty()||this.data().isEmpty())return s;const n=this._model.timeScale().visibleBarsStrictRange();if(null===n)return s +;const o=this.properties().childs();if(!o.visible.value())return s;const a=this.nearestIndex(n.lastBar(),f.PlotRowSearchMode.NearestLeft,1);if(void 0===a)return s;const l=this.firstValue();if(null===l)return s;const c=this._lastNonEmptyPlotRow(4),h=null!==c&&n.contains(c.index),d=null!==c?c.value:null,u=t||h?d:this.data().valueAt(a);if(null===u)return s;const p=this._barFunction(u);if(!(0,v.isNumber)(p))return s;const _=r.priceToCoordinate(p,l);let m;switch(o.style.value()){case 0:m=u[1]<=u[4]?o.barStyle.childs().upColor.value():o.barStyle.childs().downColor.value();break;case 1:case 9:m=u[1]<=u[4]?o.candleStyle.childs().upColor.value():o.candleStyle.childs().downColor.value();break;case 2:m=o.lineStyle.childs().color.value();break;case 3:m=o.areaStyle.childs().color1.value();break;case 10:{const e=o.baselineStyle.childs();m=_{this._onStudyError(this._convertSeriesErrorToStudy(e))}),e.loading().subscribe(this,this._onStudyLoading),e.completed().subscribe(this,(e,t)=>{this._onStudyCompleted(t)}),e.dataUpdated().subscribe(this,()=>{this._studyModified=!1;const e=this._model.paneForSource(this);this._model.recalculatePane(e),this._updateSources(),this.priceRangeReady()||this._enablePriceRangeReady()})}else{if(null!==this._seriesSource){const e=this._seriesSource.dataEvents();e.seriesError().unsubscribeAll(this),e.loading().unsubscribeAll(this),e.completed().unsubscribeAll(this),e.dataUpdated().unsubscribeAll(this),this._seriesSource.destroy()}this._seriesSource=null}e&&this.start(!0)}_convertSeriesErrorToStudy(e){return{error:e.error,ctx:e.ctx,solution_id:e.solution_id}}_setSymbolParamsInternal(e,t){const{symbol:i,currency:s,unit:r,style:n}=e,o=this.properties().childs(),a=o.inputs.childs().symbol.value(),c=o.currencyId.value(),h=o.unitId.value(),d=o.style.value() +;if(void 0!==i&&i!==a&&o.inputs.childs().symbol.setValueSilently(i),void 0!==s&&s!==c&&o.currencyId.setValueSilently(s),void 0!==r&&r!==h&&o.unitId.setValueSilently(r),void 0!==n&&o.style.setValueSilently(n),t)this._resolvedSymbolsByInput[this.symbol()]=t,this._resolvedSymbols[this._getSymbolForResolve(this.symbol())]=t;else{const e=this.symbolInfo();null!==e&&(o.currencyId.setValueSilently((0,l.symbolCurrency)(e)),o.unitId.setValueSilently((0,l.symbolUnit)(e)))}o.inputs.childs().symbol.value()!==a&&o.inputs.childs().symbol.listeners().fire(o.inputs.childs().symbol),o.currencyId.value()!==c&&o.currencyId.listeners().fire(o.currencyId),o.unitId.value()!==h&&o.unitId.listeners().fire(o.unitId),o.style.value()!==d&&o.style.listeners().fire(o.style),this._checkStyle()}_updateBarFunction(){var e;const t=null!==(e=this.priceSource())&&void 0!==e?e:"close";this._barFunction=(0,a.barFunction)(t)}_onChartStyleChanged(){var e;this._updateBarFunction(),(null===(e=this._styleToRecover)||void 0===e?void 0:e.originalStyle)!==this.style()&&(this._styleToRecover=null)}_checkStyle(){const e=this.style();(0,l.isCloseBasedSymbol)(this.symbolInfo())?(0,l.isSingleValueBasedStyle)(e)||(this.setStyle(2),this._styleToRecover={correctedStyle:this.style(),originalStyle:e}):null!==this._styleToRecover&&(this.setStyle(this._styleToRecover.originalStyle),this._styleToRecover=null)}}},79270:(e,t,i)=>{"use strict";i.d(t,{StudyPriceAxisView:()=>r});var s=i(95426);class r extends s.PriceAxisView{constructor(e,t){super(),this._model=e.model(),this._source=e,this._data=t}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._source.model(),r=this._source.priceScale();if(null===r)return;if(!s.isPriceScaleVisible(r))return;const n=this._source.lastValueData(this._data.plotIndex,!1);if(n.noData)return;i.background=n.color;let o=n.color;"transparent"===o&&(o=this._model.properties().childs().scalesProperties.childs().backgroundColor.value()),i.textColor=this.generateTextColor(o),i.coordinate=n.coordinate,i.floatCoordinate=n.floatCoordinate,this._showAxisLabel()&&(e.text=n.text,e.visible=!0),this._updatePaneRendererData(t)}_showPaneLabel(){return!!this._model.properties().childs().scalesProperties.childs().showStudyPlotLabels.value()&&this._source.properties().showLabelsOnPriceScale.value()}_showAxisLabel(){return!!this._model.properties().childs().scalesProperties.childs().showStudyLastValue.value()&&this._source.properties().showLabelsOnPriceScale.value()}_updatePaneRendererData(e){e.text="",this._showPaneLabel()&&(e.text=this._source.priceLabelText(this._data.plotIndex),e.visible=!0)}}},70635:(e,t,i)=>{"use strict";i.d(t,{applyOverridesToStudy:()=>c,applyOverridesToStudyDefaults:()=>h});var s=i(16282),r=i(77455);const n=(0,i(65447).getLogger)("Chart.Model.StudyPropertiesOverrider");var o,a;function l(e,t,i,s){const r=i.split(".");if(0===r.length||0===r[0].length)return;const l=function(e){const t=e.split(":");return{name:t[0],type:2===t.length?t[1]:null} +}(r[0]),c=l.name,h=l.type,d=null!==h,u=!d||"band"===h,p=!d||"area"===h,_=!d||"input"===h,m=!d||"plot"===h?a.getPlotIdByTitle(e,c):null,g=u?a.getBandIndexByName(e,c):null,f=p?a.getFilledAreaIdByTitle(e,c):null,v=_?a.getInputByName(e,c):null,S=t.hasOwnProperty(c);if((null!==m?1:0)+(null!==g?1:0)+(null!==f?1:0)+(null!==v?1:0)+(S?1:0)>1)return void n.logWarn(`Study '${e.description}' has ambiguous identifier '${c}'`);const y=r[1];if(null!==m){if(1===r.length)return void n.logWarn(`Path of sub-property of '${c}' plot for study '${e.description}' must be not empty`);const i=r.slice(1);o.applyPlotProperty(e,t,m,i,s)}else if(null!==v)o.applyInputValue(t,v,s);else if(null!==g){if(void 0===y)return void n.logWarn(`Property name of '${c}' band for study '${e.description}' must be set`);o.applyBandProperty(t,g,y,s)}else if(null!==f){if(void 0===y)return void n.logWarn(`Property name of '${c}' area for study '${e.description}' must be set`);o.applyFilledAreaProperty(t,f,y,s)}else S?o.setRootProperty(t,r,s):n.logWarn(`Study '${e.description}' has no plot or input '${c}'`)}function c(e,t){const i=e.properties(),s=i.state();for(const i in t)t.hasOwnProperty(i)&&l(e.metaInfo(),s,i,t[i]);i.mergeAndFire(s)}function h(e,t,i){for(const s in e){if(!e.hasOwnProperty(s))continue;const r=s.indexOf(".");if(-1===r)continue;const o=s.substring(0,r),c=a.getMetaInfoByDescription(t,o);if(null===c){n.logWarn("There is no such study "+o);continue}const h=i(c);null!==h?l(c,h,s.substring(r+1),e[s]):n.logWarn("Cannot apply overrides for study "+o)}}!function(e){const t={line:r.LineStudyPlotStyle.Line,histogram:r.LineStudyPlotStyle.Histogram,cross:r.LineStudyPlotStyle.Cross,area:r.LineStudyPlotStyle.Area,columns:r.LineStudyPlotStyle.Columns,circles:r.LineStudyPlotStyle.Circles,line_with_breaks:r.LineStudyPlotStyle.LineWithBreaks,area_with_breaks:r.LineStudyPlotStyle.AreaWithBreaks};e.applyPlotProperty=function(e,i,o,a,l){if(void 0===i.styles)return void n.logWarn("Study does not have styles");const c=a[0];if("color"===c){return void function(e,t,i,r,o){if(void 0!==e.styles)if(null===t&&!isNaN(r)&&r>0)n.logWarn("Study plot does not have color #"+r);else{if(0===r||isNaN(r)){(0,s.ensureDefined)(e.styles[i]).color=String(o),r=0}null!==t&&((0,s.ensureDefined)(t.colors[r]).color=String(o))}else n.logWarn("Study does not have styles")}(i,function(e,t,i){if(void 0===e.plots)return null;for(const s of e.plots){if(!(0,r.isColorerPlot)(s)||void 0===t.palettes)continue;const e=t.palettes[s.palette];if(s.target===i&&void 0!==e)return e}return null}(e,i,o),o,a.length>1?parseInt(a[1]):NaN,l)}const h=i.styles[o];if(void 0!==h&&h.hasOwnProperty(c)){if("plottype"===c){const e=t[String(l)];if(void 0===e)return void n.logWarn("Unsupported plot type for plot: "+l);l=e}h[c]=l}else n.logWarn(`Study plot does not have property '${c}'`)},e.applyBandProperty=function(e,i,s,r){if(void 0===e.bands)return void n.logWarn("Study does not have bands");const o=e.bands[i];if(void 0!==o&&o.hasOwnProperty(s)){if("plottype"===s){const e=t[String(r)] +;if(void 0===e)return void n.logWarn("Unsupported plot type for band: "+r);r=e}o[s]=r}else n.logWarn(`Study band does not have property '${s}'`)},e.applyFilledAreaProperty=function(e,t,i,s){if(void 0===e.filledAreasStyle)return void n.logWarn("Study does not have areas");const r=e.filledAreasStyle[t];void 0!==r&&r.hasOwnProperty(i)?r[i]=s:n.logWarn(`Study area does not have property '${i}'`)},e.applyInputValue=function(e,t,i){void 0!==e.inputs&&e.inputs.hasOwnProperty(t)?e.inputs[t]=i:n.logWarn(`Study does not have input '${t}'`)},e.setRootProperty=function(e,t,i){if(0===t.length)return;let s=e;for(const e of t.slice(0,-1)){if(null==s||!s.hasOwnProperty(e))break;s=s[e]}const r=t[t.length-1];null!=s&&s.hasOwnProperty(r)?s[r]=i:n.logWarn("Study does not have property "+t.join("."))}}(o||(o={})),function(e){e.getInputByName=function(e,t){if(void 0===e.inputs)return null;t=t.toLowerCase();for(const i of e.inputs)if(i.name.toLowerCase()===t)return i.id;return null},e.getPlotIdByTitle=function(e,t){if(void 0===e.styles)return null;t=t.toLowerCase();for(const i in e.styles){const s=e.styles[i];if((void 0!==s&&void 0!==s.title?s.title:i).toLowerCase()===t)return i}return null},e.getFilledAreaIdByTitle=function(e,t){if(void 0===e.filledAreas)return null;t=t.toLowerCase();for(const i of e.filledAreas)if(i.title.toLowerCase()===t)return i.id;return null},e.getBandIndexByName=function(e,t){if(void 0===e.bands)return null;t=t.toLowerCase();for(let i=0;i{"use strict";var s=i(674),r=i(5729),n=i(16282).assert,o=i(66096).unpackNonSeriesData,a=i(25436).symbolTitle,l=i(36559).StudyBarColorer,c=i(79270).StudyPriceAxisView,h=i(19625),d=h.emptyStudyGraphics,u=h.loadStudyGraphics,p=h.LiveStudyGraphics,_=h.createGraphicsPriceAxisViews,m=i(85060).ChartApiInterface,g=i(11092).DefaultProperty,f=i(59104).PriceFormatter,v=i(76559).VolumeFormatter,S=i(62159).PercentageFormatter,y=i(61627).PlotList,b=i(85062),w=i(18437),P=i(77455),C=P.LineStudyPlotStyle,T=i(46556).StudyPriceLineAxisView,x=i(28676).studyPlotFunctionMap,I=i(28676).studyEmptyPlotValuePredicate,M=i(1049).makeNextStudyId,L=i(27490),A=i(19429).StudyBase,k=i(47329).InvalidationMask,E=i(73748),D=i(81694).IntervalsVisibilitiesProperty,V=E.StudyStatusType,B=(E.convertStudyStatusToString,i(50968).colorToInteger),N=i(25220).intervalsVisibilitiesDefaults,R=i(65447).getLogger("Chart.Study"),O=L.enabled("datasource_copypaste"),F=L.enabled("study_symbol_ticker_description"),W=L.enabled("hide_unresolved_symbols_in_legend");function H(e,t,i){var s=new g(t,i,!0);s.removeProperty("intervalsVisibilities"),s.addChild("intervalsVisibilities",new D(i&&i.intervalsVisibilities)),s.addExclusion("visible"),s.addExclusion("precision"),s.addExclusion("minTick"),s.addExclusion("intervalsVisibilities");for(var r=0;r=0?c:l}return l}if(this._metaInfo.isTVScript||this._metaInfo.pine){if("text"===i)return this._metaInfo.defaults.inputs.text;if("pineId"===i)return this._metaInfo.scriptIdPart;if("pineVersion"===i)return this._metaInfo.pine?this._metaInfo.pine.version:"-1";if("color"===e.type&&this._metaInfo.isRGB){var h=this._properties.inputs[i].value();return B(h)}if("price"===e.type){var d=this._properties.inputs[i].value();return t.priceInputsForDisplay?this.formatter().format(d):d}return this._properties.inputs[i].value()}return this._properties.inputs[i].value()}_rebindToSource(e,t){var i=this.parentSource();if(this._isChildStudy){var s;this._source.unsetChild(this);var r=null;if(e===this._model.mainSeries())this._source=null,this._isChildStudy=!1,this._ownerSource=null,s=this._series.seriesSource().instanceId(),r=m.REBIND_STUDY_CHILD_TO_STANDALONE;else{if(!(e instanceof j))return R.logError("Unable to rebind study to source of this type"),!1;this._ownerSource=e,this._source=e,s=this._source.sourceId(),this._source.setChild(this),this._source.isHibernated()&&this._source.start()}this._incrementTurnaround(),this.disablePriceRangeReady(),this._chartApi.rebindStudy(this._studyId,this._turnaround,s,this._studyName,t,this._handler,r)}else{if(!(e instanceof j))return R.logError("Unable to rebind study to source of this type"),!1 +;var n=e.isHibernated();n&&e.start();var o=!1;if(this._canCreateStudyWithRebindType(m.REBIND_STUDY_STANDALONE_TO_CHILD)&&(this._incrementTurnaround(),this.disablePriceRangeReady(),o=this._chartApi.rebindStudy(this._studyId,this._turnaround,e.sourceId(),this._studyName,t,this._handler,m.REBIND_STUDY_STANDALONE_TO_CHILD)),!o)return n&&e.stop(),!1;this._isChildStudy=!0,this._ownerSource=e,this._source=e,this._source.setChild(this),this._childStudyByRebind.fire()}var a=this.m_priceScale,l=e.priceScale();if(a!==l){var c=this._model.paneForSource(this),h=this._model.paneForSource(e);c===h&&h.move(this,l,!0)}const d=this.parentSource();return i.formatterChanged().unsubscribe(this,this._onSourceFormatterChanged),d.formatterChanged().subscribe(this,this._onSourceFormatterChanged),i.priceStepChanged().unsubscribe(this,this._onSourcePriceStepChanged),d.priceStepChanged().subscribe(this,this._onSourcePriceStepChanged),i.currencyChanged().unsubscribeAll(this),d.currencyChanged().subscribe(this,this._onSourceCurrencyChanged),i.unitChanged().unsubscribeAll(this),d.unitChanged().subscribe(this,this._onSourceUnitChanged),i.priceRangeReadyChanged().unsubscribeAll(this),d.priceRangeReadyChanged().subscribe(this,this._onSourcePriceRangeReadyChanged),this._recreatePriceFormattingDependencies(),!0}childStudyByRebind(){return this._childStudyByRebind}_changeInputsImpl(e,t){var i=this.source(),s=this._properties.inputs&&this._properties.inputs.state(),r=b.getSourceIdByInputs(this._metaInfo.inputs,s),n=!0;if(r)if("high"===r||"open"===r||"low"===r||"close"===r||"hl2"===r||"ohl3"===r||"ohlc4"===r)i=this._model.mainSeries();else for(var o=this._model.dataSources().filter((function(e){return e instanceof j&&e.canHaveChildren()})),a=0;a0){var s=this.barColorer().firstColoredBar(e[0].index);this._model.mainSeries().invalidateBarStylesCache(s)}null!==t&&this._postProcessGraphics();var r=this._model.paneForSource(this);this._model.recalculatePane(r),this._updateSources()}transformData(e){}moveData(e){this._ongoingDataUpdate=this._ongoingDataUpdate.then(function(){this._invalidateLastNonEmptyPlotRowCache(),this.data().move(e)}.bind(this))}replaceData(e,t,i){this._invalidateLastNonEmptyPlotRowCache(),this.data().remove(e+1),this.data().addTail(i,t)}_updateSources(){this._model.updateSource(this),this.hasBarColorer()&&this._model.updateSource(this._model.mainSeries())}static processPlotOffsets(e,t){t&&t.indexes_replace||(e._plotOffsets=t&&t.offsets||{},e._updateMaxOffsetValue())}_processPlotOffsets(e){j.processPlotOffsets(this,e)}_mergeData(e){this._invalidateLastNonEmptyPlotRowCache(),this.data().merge(e)}_postProcessGraphics(){this._graphicsPriceAxisViews=_(this),this._concatPriceAxisViews()}static offset(e,t){var i=0;return e._plotOffsets&&void 0!==e._plotOffsets[t]&&(i+=e._plotOffsets[t]),e.properties().offsets&&void 0!==e.properties().offsets[t]&&(i+=e.properties().offsets[t].val.value()),e.properties().offset&&(i+=e.properties().offset.val.value()),i}offset(e){return j.offset(this,e)}labelPaneViews(){return this.isSourceHidden()?null:this._labelPaneViews}_showLastValueOnPriceScale(){return this._model.properties().scalesProperties.showStudyLastValue.value()}hasBarColorer(){for(var e=0;e=0&&(e="_v"+this._metaInfo.pine.version),{symbol:this.series().actualSymbol(),resolution:this.series().interval(),study:this._metaInfo.shortId+e}}_sendTelemetryReport(e,t,i){void 0===i&&(i=this._getTelemetryAdditionalData());var s=Object.assign(t,{additional:i});(void 0).sendChartReport(e,s)}_sendTelemetryCounter(e,t){this._sendTelemetryReport(e,{count:1},t)}onAboutToBeDestroyed(){return this._aboutToBeDestroyed}destroy(){this._aboutToBeDestroyed.fire(),this._isDestroyed=!0,null!==this._definitionsViewModel&&(this._definitionsViewModel.destroy(),this._definitionsViewModel=null),this._properties.precision.listeners().unsubscribe(this,this._precisionChanged),this._showStudyArgumentsProperty.listeners().unsubscribe(this,this.invalidateTitleCache),this._properties.description.listeners().unsubscribe(this,this.invalidateTitleCache),this._properties.shortDescription&&this._properties.shortDescription.listeners().unsubscribe(this,this.invalidateTitleCache),this._model.mainSeries().dataEvents().symbolResolved().unsubscribeAll(this),this._properties.showInDataWindow.listeners().unsubscribe(this._model,this._model.fullUpdate),this.hasBarColorer()&&this._properties.visible.listeners().unsubscribe(this._model.mainSeries(),this._model.mainSeries().invalidateBarStylesCache),this._model.mainSeries().dataEvents().symbolResolved().unsubscribe(this,this._recreatePriceFormattingDependencies),void 0!==this._properties.offsets&&this._properties.offsets.listeners().unsubscribe(this,this._updateMaxOffsetValue),void 0!==this._properties.offset&&this._properties.offset.listeners().unsubscribe(this,this._updateMaxOffsetValue),super.destroy()}desiredPriceScalePosition(){return this.metaInfo().isTVScriptStub?"overlay":this.metaInfo().linkedToSeries?"as-series":void 0===this.metaInfo().priceScale?null:["right","left","overlay"][this.metaInfo().priceScale]}guiPlotName(e){var t=this.properties().styles;return t&&t[e]&&t[e].title?t[e].title.value():this.title()}formatterChanged(){return this._formatterChanged}copiable(){return O&&!this.isChildStudy()}setPriceScale(e){super.setPriceScale(e),w.emit("study_event",this.id(),"price_scale_changed")}getStudyName(){return this._studyName}}TradingView.Study=j,t.Study=j,t.prepareStudyProperties=function(e,t,r,o,a){return function(e,t,r,o,a,l){var c=function(e,t,r,o){var a=i(65618);if(b.versionOf(e)<1)throw new Error("This function cannot work with metainfo of the old format version. Required format version >= 1");var l=TradingView.clone(defaults("study")) +;z(l,e);var c=b.getStudyPropertyRootName(e),h=TradingView.clone(defaults(c,o));h.intervalsVisibilities=TradingView.clone(N),("Overlay"===e.shortId||"Compare"===e.shortId)&&(h.currencyId=null,h.unitId=null);e.isTVScript&&e.TVScriptSourceCode!==h.TVScriptSourceCode&&(h=TradingView.clone(TradingView.factoryDefaults(c,o)));TradingView.merge(l,h),t&&(n(!(t instanceof s),"propsState should not be an instance of Property"),TradingView.merge(l,t));var d=TradingView.clone(e),u={};a.mergeInputsObjPart(u,d.defaults.inputs),a.mergeInputsObjPart(u,l.inputs),l.inputs=u,delete d.inputs,delete d.defaults.inputs;var p={};if(TradingView.merge(p,d.defaults),TradingView.merge(p,TradingView.factoryDefaults(c)),TradingView.merge(p,l),TradingView.merge(p,d),delete p.defaults,l=p,null!==r){var _=r.model().studiesColorRotatorFactory().getColorRotator(e);null!==_&&("Overlay@tv-basicstudies"===e.id?l.lineStyle.color=_.getColor(l.lineStyle.color,e):TradingView.merge(l,function(e,t){for(var i in e.styles){var s=e.styles[i].color;s&&(e.styles[i].color=t.getColor(s))}return e}(l,_)))}t&&TradingView.merge(l.styles,t.styles);return l}(e,t,r,o),h=b.getSourceInputIds(e);if(h.length>0){var d=h[0];l instanceof j?c.inputs[d]="{pid}$0":void 0!==c.inputs[d]&&-1!==c.inputs[d].indexOf("$")&&(c.inputs[d]="close")}return H(e,a,c)}(e,t,r,o,b.getStudyPropertyRootName(e),a)},t.prepareStudyPropertiesForLoadChart=function(e,t,s,r,n,o){return function(e,t,s,r,n,o,a){var l=function(e,t,s,r,n,o){var a=i(65618);e.version&&s.version&&e.version!==s.version&&R.logWarn("Serialized metaInfo version "+e.version+" is not equal to the saved state version "+s.version);var l=TradingView.clone(defaults("study"));l.intervalsVisibilities=TradingView.clone(N),TradingView.merge(l,TradingView.factoryDefaults(b.getStudyPropertyRootName(e))),z(l,e),TradingView.merge(l,s),l=n.updateStudyState(l,e,t),void 0!==o&&(l=o(s,l,e,t));var c=TradingView.clone(t||e);if(c&&b.versionOf(c)>=1){var h={};a.mergeInputsObjPart(h,(c.defaults||{}).inputs),a.mergeInputsObjPart(h,l.inputs),l.inputs=h,delete c.inputs,c.defaults&&delete c.defaults.inputs;var d={};TradingView.merge(d,c.defaults),TradingView.merge(d,TradingView.factoryDefaults(b.getStudyPropertyRootName(c))),TradingView.merge(d,l),delete c.defaults,TradingView.merge(d,c),l=d}return l}(e,t,s,0,n,a);return H(t||e,o,l)}(e,t,s,0,n,b.getStudyPropertyRootName(e),o)}},13618:(e,t,i)=>{"use strict";i.d(t,{plotShapesData:()=>r});var s=i(79881);const r={shape_arrow_down:{guiName:(0,s.t)("Arrow Down"),id:"shape_arrow_down",paneRendererClass:"PaneRendererArrowDown",pineName:"shape.arrowdown",icon:"arrow_down"},shape_arrow_up:{guiName:(0,s.t)("Arrow Up"),id:"shape_arrow_up",paneRendererClass:"PaneRendererArrowUp",pineName:"shape.arrowup",icon:"arrow_up"},shape_circle:{guiName:(0,s.t)("Circle"),id:"shape_circle",paneRendererClass:"PaneRendererCircleShape",pineName:"shape.circle",icon:"circle"},shape_cross:{guiName:(0,s.t)("Cross"),id:"shape_cross",paneRendererClass:"PaneRendererCrossShape",pineName:"shape.cross",icon:"cross"},shape_diamond:{guiName:(0, +s.t)("Diamond"),id:"shape_diamond",paneRendererClass:"PaneRendererDiamond",pineName:"shape.diamond",icon:"diamond"},shape_flag:{guiName:(0,s.t)("Flag"),id:"shape_flag",paneRendererClass:"PaneRendererFlagShape",pineName:"shape.flag",icon:"flag"},shape_label_down:{guiName:(0,s.t)("Label Down"),id:"shape_label_down",paneRendererClass:"PaneRendererLabelDown",pineName:"shape.labeldown",icon:"label_down"},shape_label_up:{guiName:(0,s.t)("Label Up"),id:"shape_label_up",paneRendererClass:"PaneRendererLabelUp",pineName:"shape.labelup",icon:"label_up"},shape_square:{guiName:(0,s.t)("Square"),id:"shape_square",paneRendererClass:"PaneRendererSquare",pineName:"shape.square",icon:"square"},shape_triangle_down:{guiName:(0,s.t)("Triangle Down"),id:"shape_triangle_down",paneRendererClass:"PaneRendererTriangleApexDown",pineName:"shape.triangledown",icon:"triangle_down"},shape_triangle_up:{guiName:(0,s.t)("Triangle Up"),id:"shape_triangle_up",paneRendererClass:"PaneRendererTriangleApexUp",pineName:"shape.triangleup",icon:"triangle_up"},shape_xcross:{guiName:(0,s.t)("X Cross"),id:"shape_xcross",paneRendererClass:"PaneRendererXCross",pineName:"shape.xcross",icon:"x_cross"}}},40976:(e,t,i)=>{"use strict";var s=i(36054).Version,r=i(65447).getLogger("Chart.StudyMigration");function n(e){this._studyId=e,this._maxToVers=s.ZERO,this._maxFromVers=s.ZERO,this._migrs=[]}n.prototype.addMigration=function(e,t,i){var r=s.parse(e),n=s.parse(t);r.isGreater(this._maxFromVers)&&(this._maxFromVers=r),n.isGreater(this._maxToVers)&&(this._maxToVers=n),this._migrs.push({fromVers:r,toVers:n,rules:i})},n.prototype.updateInputs=function(e,t,i){if(!i)return i;for(var s=TradingView.clone(i),n=e;n.isLess(t);){var o=this._findMigration(n);if(null==o)break;if(r.logNormal("Migrating study inputs from "+o.fromVers+" to "+o.toVers+" version, studyId: "+this._studyId+", migration: "+JSON.stringify(o)+", inputs: "+JSON.stringify(i)),s=this._applyMigration(s,o),!n.isLess(o.toVers))throw new Error("Problems in study migration process... Possible infinite cycle has been detected and stopped.");n=o.toVers}return n>e&&r.logNormal("Study inputs migration is done, studyId: "+this._studyId+", inputs: "+JSON.stringify(s)),s},n.prototype._findMigration=function(e){for(var t=-1,i=this._maxFromVers,s=0;s=0||t.indexOf(e)>=0},n._applyInputChangedMinMaxRule=function(e,t){if("adjustValIfNeeded"!==t.action)throw new Error("Unknown action "+t.action+" for rule with type "+t.type);var i=e[t.inputId];return it.maxVal&&(e[t.inputId]=t.maxVal),r.logNormal("Input "+t.inputId+"="+i+" adjusted to value "+e[t.inputId]),e},n._applyInputChangedOptionsRule=function(e,t){if(!(["text"].indexOf(t.inputType)>=0&&"resetToDefValIfNeeded"===t.action))throw new Error("Unexpected rule.inputType="+t.inputType+" in rule.action="+t.action);var i=e[t.inputId];return t.options.indexOf(i)<0&&(e[t.inputId]=t.defVal,r.logNormal("Input "+t.inputId+"="+i+" reset to default value "+t.defVal)),e},e.exports=n},33508:(e,t,i)=>{"use strict";var s=i(72927).Point,r=i(95975).Series,n=i(39951).Study,o=i(86447).OverlayPriceAxisView,a=i(13114).PanePriceAxisView,l=i(90887),c=l.SeriesAreaPaneView,h=l.SeriesLinePaneView,d=l.SeriesHollowCandlesPaneView,u=l.SeriesCandlesPaneView,p=l.SeriesBarsPaneView,_=l.SeriesBaselinePaneView,m=i(49418).SeriesWaterlinePaneView,g=i(53289).StudyStatusView,f=i(83853).OverlayDataWindowView,v=i(41268).OverlayLegendView,S=i(38318).OverlayLegendValuesProvider,y=i(72494).OverlayStatusProvider,b=i(36559).SeriesBarColorer,w=i(29982).HorizontalLineRenderer,P=i(85630).OverlayStudyPriceLineAxisView,C=i(82755).StudyOverlayBase;class T{constructor(e,t){this._source=e,this._model=t,this._points=[new s(0,0)],this._lineRenderer=new w}update(){if(this._visible=!1,this._source.properties().showPriceLine.value()){var e=this._source.lastValueData(void 0,!0);e.noData||(this._visible=!0,this._points=[new s(0,e.coordinate)],this._color=e.color)}}renderer(){var e={};return e.width=this._model.timeScale().width(),e.height=this._source.priceScale().height(),e.y=this._points[0].y,e.color=this._color,e.linewidth=1,e.linestyle=CanvasEx.LINESTYLE_DOTTED,e.visible=this._visible,this._lineRenderer.setData(e),this._lineRenderer}}t.study_Overlay=class extends C{constructor(e,t,i,s){super(e,t,i,s),this._paneView=null;var r=this +;this.properties().minTick.listeners().subscribe(null,(function(){r._recreatePriceFormattingDependencies(),r.updateAllViews(),r._model.fullUpdate()}))}_showLastValueOnPriceScale(){return this._model.properties().scalesProperties.showSeriesLastValue.value()}_createViews(){this._priceAxisViews=[];var e=new o(this);this._priceAxisViewsBase=[e];var t=new P(this);this._priceLinesAxisViews=[t],this._paneViews=[],this._labelPaneViews=[];var i=null,s=null;switch(this._properties.style.value()){case r.STYLE_BARS:s=new p(this,this._model);break;case r.STYLE_CANDLES:s=new u(this,this._model);break;case r.STYLE_HOLLOW_CANDLES:s=new d(this,this._model);break;case r.STYLE_LINE:s=new h(this,this._model);break;case r.STYLE_AREA:s=new c(this,this._model);break;case r.STYLE_BASELINE:s=new _(this,this._model),i=new m(this)}s&&this._paneViews.push(s),null!==i&&this._paneViews.push(i),this._paneViews.push(new T(this,this._model)),this._dataWindowView||(this._dataWindowView=new f(this,this._model)),this._legendView||(this._legendView=new v(this,this._model)),this._statusView||(this._statusView=new g(this)),this._priceAxisViews=[].concat(this._priceAxisViewsBase,this._hlinesPriceAsisViews,this._horizlinesPriceAsisViews),this._labelPaneViews.push(new a(e,this,this._model))}barColorer(){return new b(this)}_tryChangeInputs(){n.prototype._tryChangeInputs.call(this),this.m_formatter=null,this.priceScale().updateFormatter()}_onQuotesUpdate(e,t){!this._legendView||void 0===t.values.change&&void 0===t.values.change_percent||(this._legendView.update(),this._model.updateSource(this))}destroy(){this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._quotesProvider.destroy(),super.destroy()}tags(){var e=[],t=this.symbolInfo();return t?e.push(t.name):this._properties.inputs.symbol.value()&&e.push(this._properties.inputs.symbol.value()),e}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(8680),i.e(7371),i.e(5019),i.e(607)]).then(i.bind(i,28603))).StudyOverlayDefinitionsViewModel}defaultPlotIdForAlert(){return""}changeStyles(){this.data().each((function(e,t){t[TradingView.STYLE_PLOT]=null})),n.prototype.changeStyles.call(this)}valuesProvider(){return new S(this,this.model())}statusProvider(e){return new y(this,this.model())}}},17404:(e,t,i)=>{"use strict";var s=i(16282).assert,r=i(47903).clone,n=i(39951).Study,o=i(61627).PlotList,a=i(28676).studyPlotFunctionMap,l=i(28676).studyEmptyPlotValuePredicate;class c{constructor(e,t,i){this._strategyPlotIndex=e,this._targetPlotIndex=t,this._startIndex=i}rebuildData(e){var t=this._targetPlotIndex+1,i=this._strategyPlotIndex+1,s=null,r=null;e.range(this._startIndex||e.firstIndex(),e.lastIndex()).each((function(n,o){var a=o[t],l=o[i]?Math.round(o[i]):null;if(o[t]=null,o[i]=null,!l||l>0)return!1;var c=n+l,h={pointIndex:c,value:a};if(r){if(r.pointIndex!==h.pointIndex){c>=0&&(e.valueAt(c)[t]=a);var d=!1;s&&(d=s.value<=r.value&&r.value<=a||s.value>=r.value&&r.value>=a),d?r.pointIndex>=0&&(e.valueAt(r.pointIndex)[t]=null):s=r,r=h}}else r=h;return!1}))}} +t.study_ScriptWithDataOffset=class extends n{constructor(e,t,i,s){super(e,t,i,s),this._underlyingData=new o(a(s),l)}clearData(){super.clearData(),this._underlyingData.clear()}_mergeData(e){this._invalidateLastNonEmptyPlotRowCache();var t=this._underlyingData.firstIndex();this._underlyingData.merge(e),t!==this._underlyingData.firstIndex()&&(this.m_data=new o(a(this._metaInfo),l));var i=this.m_data.lastIndex();this._underlyingData.range(i,this._underlyingData.lastIndex()).each(function(e,t){return this.m_data.add(e,r(t)),!1}.bind(this)),this._plotsForStrategyProcessing().forEach((function(e){new c(e.strategyIndex,e.targetIndex,i).rebuildData(this.m_data)}),this)}_plotsForStrategyProcessing(){var e=[];return this._metaInfo.plots.forEach((function(t,i){if("dataoffset"===t.type){var r=this._metaInfo.plots.findIndex((function(e){return e.id===t.target}));s(r>=0,"target plot not found for strategy plot "+t.id);var n={strategyIndex:i,targetIndex:r};e.push(n)}}),this),e}}},65618:(e,t,i)=>{"use strict";var s=i(16282).assert,r=i(36054).Version,n=i(65447).getLogger("Chart.Study.Versioning"),o=i(42971),a=i(85062),l=i(36413).extractPineId,c=i(6345).migrateMetaInfoAndPropState;function h(e,t){if(!e)throw new Error("No studies metainfo");var s=i(40976);if(this._studiesMetainfo=e,!t)throw new Error("No studies migrations");this._studiesMigrations=t,this._migrations={};for(var r=0;r=22)return t;for(var i={},s=0,r=0;;){var n=t[r];if(void 0===n)break;var o=t[n.id];n.isFake&&(n.id="in_"+s++),i[r]=n,i[n.id]=o,r++}return i}]}h.prototype.updateMetaInfo=function(e){if(!e)return e;s(!e.isTVScript,"This method should update only built-in java indicators metaInfo. For Pine indicators use updateMetaInfoAsync");for(var t=null,i=this._studiesMetainfo,r=0;r=12&&l<=26){var c={};for(o=0;o=12&&c<=26){var d=r.columns;r.columns=[];for(var u=0;ut&&n.logWarn("Bad integer input max value in metaInfo id="+e.id+" title="+e.description))}},h._fixInputsMaxValue=function(e,t){if(!TradingView.isAbsent(t)){var i=h.INPUT_MAX_VALUE;if(t.inputs)for(var s=0;si&&(a.max=i))}if(e&&e.inputs){var r=h.splitInputs(e.inputs),n=r.arr;for(var o in n){var a;"integer"===(a=n[o]).type&&(a.max&&a.max>i&&(a.max=i))}e.inputs=TradingView.merge(r.obj,r.arr)}}},h.prototype.patchPropsStateAndMetaInfo=function(e,t,i){"Script$BOOKER"!==t.productId||t.alerts||delete e.alerts, +h._fixInputsOrder(e,t),h._fixInputsMaxValue(e,t);var s=h.splitInputs(e.inputs);e.inputs=s.obj;var r=a.versionOf(t);ri&&(i=r))}e[i+1]=t},h.splitInputs=function(e){var t={},i={};for(var s in e)isNumber(parseInt(s,10))?t[s]=e[s]:i[s]=e[s];return{arr:t,obj:i}},h.findInputKeyById=function(e,t){var i=null;for(var s in e)if(isNumber(parseInt(s,10))&&e[s].id===t){i=s;break}return i},h.getInputKeyById=function(e,t){var i=h.findInputKeyById(e,t);if(!i)throw new Error("Cannot find input with id: "+t);return i},e.exports=h},92898:(e,t,i)=>{"use strict";i.d(t,{areEqualSymbols:()=>r,symbolSameAsCurrent:()=>o});const s=i(27490).enabled("uppercase_instrument_names");function r(e,t){ +return void 0===e?void 0===t:void 0!==t&&(s?e.toUpperCase()===t.toUpperCase():e===t)}function n(e,t){return e.some(e=>r(t,e))}function o(e,t,i){if(r(t,e))return!0;if(i){if(r(i.full_name,e)||r(i.pro_name,e))return!0;if(r(i.ticker,e))return!0;if(i.aliases&&n(i.aliases,e))return!0;if(i.alternatives&&n(i.alternatives,e))return!0;if(0===e.indexOf("FRA:")&&r(i.pro_name,e.replace("FRA:","FWB:")))return!0}return!1}},92137:(e,t,i)=>{"use strict";i.d(t,{TextWidthCache:()=>s});class s{constructor(e=150){this._actualSize=0,this._usageTick=1,this._oldestTick=1,this._tick2Labels=new Map,this._cache=new Map,this._maxSize=e}reset(){this._actualSize=0,this._cache.clear(),this._usageTick=1,this._oldestTick=1,this._tick2Labels.clear()}measureText(e,t){return this._getMetrics(e,t).width}yMidCorrection(e,t){const i=this._getMetrics(e,t);return((i.actualBoundingBoxAscent||0)-(i.actualBoundingBoxDescent||0))/2}_getMetrics(e,t){const i=this._cache.get(t);if(void 0!==i)return i.metrics;if(this._actualSize===this._maxSize){const e=this._tick2Labels.get(this._oldestTick);this._tick2Labels.delete(this._oldestTick),this._cache.delete(e),this._oldestTick++,this._actualSize--}e.save(),e.textBaseline="middle";const s=e.measureText(t);return e.restore(),0===s.width&&t.length||(this._cache.set(t,{metrics:s,tick:this._usageTick}),this._tick2Labels.set(this._usageTick,t),this._actualSize++,this._usageTick++),s}}},12234:(e,t,i)=>{"use strict";var s=i(5729);function r(){this._marksByIndex=new Map,this._marksBySpan=[],this.changed=new s,this.minIndex=void 0,this.maxIndex=void 0}r.prototype.reset=function(){this._resetImpl(),this.changed.fire()},r.prototype._resetImpl=function(){this._marksByIndex=new Map,this._marksBySpan=[],this.minIndex=void 0,this.maxIndex=void 0,this._cache=void 0},r.prototype.merge=function(e){if(0!==e.length){var t=e[0].index,i=e[e.length-1].index;t<=this.minIndex&&i>=this.maxIndex&&this._resetImpl();for(var s=this._marksBySpan,r=new Set,n=0;n=this.maxIndex&&this.maxIndex--,this.maxIndex2;){if(1e3*this._marksByIndex.get(t).time===e)return t;if(1e3*this._marksByIndex.get(i).time===e)return i;var s=Math.round((t+i)/2);1e3*this._marksByIndex.get(s).time>e?i=s:t=s}return t},r.prototype.build=function(e,t){var i=Math.ceil(t/e);if(this._maxbar===i&&this._cache)return this._cache;this._maxbar=i;for(var s=[],r=this._marksBySpan.length;r--;)if(this._marksBySpan[r]){var n=s;s=[];for(var o=n.length,a=0,l=this._marksBySpan[r],c=l.length,h=1/0,d=-1/0,u=0;u=i&&_-d>=i&&(s.push(p),d=_)}for(;a{"use strict";i.d(t,{TimeAxisView:()=>o});var s=i(50968),r=i(16932);class n{constructor(){this._data=null}setData(e){this._data=e}draw(e,t,i){if(null===this._data||!this._data.visible||0===this._data.text.length)return;const s=this._data;e.font=t.font;const n=Math.round(t.widthCache.measureText(e,s.text));if(n<=0)return;e.save();const o=t.paddingHorizontal,a=n+2*o,l=a/2;let c=s.coordinate,h=Math.floor(c-l)+.5;if(s.alwaysInViewPort){const e=s.width;h<0?(c+=Math.abs(0-h),h=Math.floor(c-l)+.5):h+a>e&&(c-=Math.abs(e-(h+a)),h=Math.floor(c-l)+.5)}const d=h+a,u=Math.ceil(0+t.borderSize+t.offsetSize+t.paddingTop+t.fontSize+t.paddingBottom);e.fillStyle=s.background;const p=Math.round(h*i),_=Math.round(0*i),m=Math.round(d*i),g=Math.round(u*i),f=Math.round(2*i);e.beginPath(),e.moveTo(p,_),e.lineTo(p,g-f),e.arcTo(p,g,p+f,g,f),e.lineTo(m-f,g),e.arcTo(m,g,m,g-f,f),e.lineTo(m,_),e.fill();const v=0+t.borderSize+t.offsetSize+t.paddingTop+t.fontSize/2;e.textAlign="left",e.textBaseline="middle",e.fillStyle=s.color;const S=t.widthCache.yMidCorrection(e,"Apr0");e.translate((h+o)*i,(v+S)*i),(0, +r.drawScaled)(e,i,()=>e.fillText(s.text,0,0)),e.restore()}}class o{constructor(e){this._renderer=new n,this._rendererData={background:"",color:"",coordinate:0,text:"",visible:!1,width:0,alwaysInViewPort:!0},this._invalidated=!0,this._model=e,this._renderer.setData(this._rendererData)}update(){this._invalidated=!0}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._renderer}coordinate(){return this._rendererData.coordinate}_getAlwaysInViewPort(){return!0}_updateImpl(){const e=this._rendererData;if(e.visible=!1,this._model.timeScale().isEmpty()||!this._isVisible())return;const t=this._getIndex();if(null===t)return;e.visible=!0,e.width=this._model.timeScale().width(),e.background=this._getBgColor(),e.color=(0,s.colorFromBackground)(e.background),e.coordinate=this._model.timeScale().indexToCoordinate(t),e.alwaysInViewPort=this._getAlwaysInViewPort();const i=this._model.timeScale().indexToUserTime(t);e.text=null!==i?this._model.dateTimeFormatter().format(i):"",this._invalidated=!1}}},67620:(e,t,i)=>{"use strict";i.d(t,{INVALID_TIME_POINT_INDEX:()=>s});const s=-2e6},10945:(e,t,i)=>{"use strict";i.d(t,{SyncModel:()=>o});var s=i(42062),r=i(25853);let n=0;class o{constructor(e,t){this._extrapolatedData=[],this._cacheForFuture=!1,this._modelId=n++,this._builderCache=null,this._resolution=t,this._symbolInfo=e,this._valid=Boolean(e.timezone)&&Boolean(e.session),this._session=new s.SessionInfo(e.timezone,e.session,e.session_holidays,e.corrections)}getSymbolInfo(){return this._symbolInfo}getSession(){return this._session}getResolution(){return this._resolution}uniqueId(){return this._modelId}distance(e,t){if(!this.isValid())return{success:!1};if(e>t)return{success:!1};if(e===t)return{success:!0,result:0};let i=this._extrapolatedData.length,s=0!==i?this._extrapolatedData[0]:null,n=null!==s?this._extrapolatedData[i-1]:null;const o=en){const s=(0,r.extrapolateBarsFrontToTime)(this._barBuilder(),n||1e3*e,1e3*t,2e3,!0);this._extrapolatedData=this._extrapolatedData.concat(s.times),i=this._extrapolatedData.length,this._cacheForFuture=o}if(n=this._extrapolatedData[i-1],n<1e3*t)return{success:!1};const a=this._extrapolatedData.indexOf(1e3*t);return-1===a?{success:!1}:{success:!0,result:a}}projectTime(e,t){if(!this.isValid())return e;let i=this._extrapolatedData.length,s=i>0?this._extrapolatedData[0]:null,n=null!==s?this._extrapolatedData[i-1]:null;const o=t>=0;1e3*e===s&&this._cacheForFuture===o||(this._extrapolatedData=[1e3*e],i=1,s=null,n=null);const a=Math.abs(t);if(null===s||a>=i){const s=(0,r.extrapolateBarsFrontByCount)(this._barBuilder(),n||1e3*e,Math.sign(t)*(a-i+1),!0);this._extrapolatedData=this._extrapolatedData.concat(s.times),i=this._extrapolatedData.length,this._cacheForFuture=o}return i{"use strict";i.d(t,{TimeSynchronizer:()=>l});var s=i(35001),r=i(84540),n=i.n(r),o=i(42062);let a=null;class l{constructor(e,t){var i,r;this._sourceTargetBarBuilder=null,this._cache=new Map,this._source=e,this._target=t,this._isResolutionTheSame=s.Interval.isEqual(e.getResolution(),t.getResolution()),this._isSessionTheSame=(i=e.getSymbolInfo(),r=t.getSymbolInfo(),i.timezone===r.timezone&&i.session===r.session),this._shouldCorrectTradingDay=s.Interval.isDWM(e.getResolution())&&!this._isSessionTheSame}sourceTimeToTargetTime(e){if(this._isSessionTheSame&&this._isResolutionTheSame)return e;if(!this._source.isValid()||!this._target.isValid())return e;let t=this._cache.get(e);if(void 0===t){let i=1e3*e;if(this._shouldCorrectTradingDay){let e=n().utc_to_cal(this._source.getSession().timezone,i);e=this._source.getSession().spec.correctTradingDay(e);const t=new Date(e);n().set_hms(t,0,0,0,0,this._source.getSession().timezone),i=t.valueOf()}const s=this._sourceTargetBuilder();s.moveTo(i);const r=s.indexOfBar(i);t=s.startOfBar(Math.max(0,r))/1e3,this._cache.set(e,t)}return t}_sourceTargetBuilder(){if(null===this._sourceTargetBarBuilder){const e=this._isSessionTheSame?this._target.getSession():(null===a&&(a=new o.SessionInfo("Etc/UTC","24x7")),a);this._sourceTargetBarBuilder=(0,o.newBarBuilder)(this._target.getResolution(),this._target.getSession(),e)}return this._sourceTargetBarBuilder}}},58252:(e,t,i)=>{"use strict";i.r(t),i.d(t,{MINUTE_SPAN:()=>s,HOUR_SPAN:()=>r,DAY_SPAN:()=>n,WEEK_SPAN:()=>o,MONTH_SPAN:()=>a,YEAR_SPAN:()=>l,DEFAULT_BAR_SPACING:()=>c});const s=20,r=30,n=40,o=50,a=60,l=70,c=6},25084:(e,t,i)=>{"use strict";i.d(t,{trackDrawingCreated:()=>r,trackDrawingPasted:()=>n,trackDrawingCloned:()=>o,trackChartStyleChanged:()=>a});i(16282),i(74645);function s(e,t){0}function r(e){s()}function n(e){s()}function o(e){s()}function a(e){0}},46786:(e,t,i)=>{"use strict";i.d(t,{translatedIntervalString:()=>r});i(79881);var s=i(1467);function r(e){const t=(0,s.getTranslatedResolutionModel)(e,!0);return null===t?e:t.multiplier+(t.mayOmitShortKind?"":t.shortKind)}},64934:(e,t,i)=>{"use strict";i.d(t,{ApplyLineToolTemplateUndoCommand:()=>r});var s=i(5980);class r extends s.UndoCommand{constructor(e,t,i){super(i),this._source=e,this._newState=t,this._oldState=e.properties().state()}redo(){this._source.applyTemplate(this._newState)}undo(){this._source.applyTemplate(this._oldState)}}},41591:(e,t,i)=>{"use strict";i.d(t,{ChangeToolBarsThemeUndoCommand:()=>c});var s=i(79881),r=i(90963),n=i(99182),o=i(14829),a=i(5980);const l=new r.TranslatedString("apply toolbars theme",(0,s.t)("apply toolbars theme"));class c extends a.UndoCommand{constructor(e,t,i=!0){super(l),this._prevThemeName=e,this._themeName=t,this._syncState=i}undo(){(0,n.isStdThemeName)(this._prevThemeName)&&((0,o.setTheme)(this._prevThemeName),this._syncState&&(0,n.syncTheme)())}redo(){(0, +n.isStdThemeName)(this._themeName.toLowerCase())&&((0,o.setTheme)(this._themeName.toLowerCase()),this._syncState&&(0,n.syncTheme)())}}},65105:(e,t,i)=>{"use strict";i.d(t,{ChartLoadThemeUndoCommand:()=>m});var s=i(79881),r=i(90963),n=i(7532),o=i(11092),a=i(18130),l=i(5980);function c(e){const{visible:t,...i}=e;return i}function h(e){const{visible:t,...i}=e;return i}function d(e){const{visible:t,style:i,symbol:s,interval:r,sessionId:n,highLowAvgPrice:o,showCountdown:a,bidAsk:l,prePostMarket:d,priceAxisProperties:u,...p}=e;return{bidAsk:c(l),prePostMarket:h(d),...p}}function u(e){const{scaleSeriesOnly:t,showSeriesLastValue:i,showStudyLastValue:s,showSymbolLabels:r,showBidAskLabels:n,showPrePostMarketPriceLabel:o,showStudyPlotLabels:a,showFundamentalNameLabel:l,showFundamentalLastValue:c,seriesLastValueMode:h,...d}=e;return d}function p(e){const{topMargin:t,bottomMargin:i,...s}=e;return s}const _=new r.TranslatedString("apply chart theme",(0,s.t)("apply chart theme"));class m extends l.UndoCommand{constructor(e,t,i){var s,r,o;super(_),this._model=e,this._newSessionProps=t.sessions||(0,a.factoryDefaults)("sessions"),["candleStyle","hollowCandleStyle","haStyle"].forEach(e=>{t.mainSourceProperties[e].wickUpColor=t.mainSourceProperties[e].wickUpColor||t.mainSourceProperties[e].wickColor,t.mainSourceProperties[e].wickDownColor=t.mainSourceProperties[e].wickDownColor||t.mainSourceProperties[e].wickColor}),t.chartProperties=null!==(s=t.chartProperties)&&void 0!==s?s:{paneProperties:void 0,scalesProperties:void 0},t.chartProperties.paneProperties.vertGridProperties=null!==(r=t.chartProperties.paneProperties.vertGridProperties)&&void 0!==r?r:t.chartProperties.paneProperties.gridProperties,t.chartProperties.paneProperties.horzGridProperties=null!==(o=t.chartProperties.paneProperties.horzGridProperties)&&void 0!==o?o:t.chartProperties.paneProperties.gridProperties,t.chartProperties.paneProperties.legendProperties=this._model.properties().state().paneProperties.legendProperties;const l=(0,a.factoryDefaults)("chartproperties"),c=(0,n.deepExtend)({},l,t.chartProperties);this._newChartProps={paneProperties:p(c.paneProperties),scalesProperties:u(c.scalesProperties)},e.timeScale().preserveBarSpacing()&&delete this._newChartProps.scalesProperties.barSpacing;const h=(0,a.factoryDefaults)("chartproperties.mainSeriesProperties"),m=(0,n.deepExtend)({},h,t.mainSourceProperties);this._newSeriesProps=i?m:d(m);const g=e.properties().state();this._oldChartProps={paneProperties:p(g.paneProperties),scalesProperties:u(g.scalesProperties)};const f=e.mainSeries().properties().state();this._oldSeriesProps=i?f:d(f),this._oldSessionProps=this._model.sessions().properties().state()}undo(){this._merge(this._oldChartProps,this._oldSeriesProps,this._oldSessionProps),this._model.mainSeries().onChartStyleChanged(),this._model.updateScales(),this._model.chartThemeLoaded()}redo(){this._merge(this._newChartProps,this._newSeriesProps,this._newSessionProps),this._model.mainSeries().onChartStyleChanged(),this._model.updateScales(),this._model.chartThemeLoaded()} +_merge(e,t,i){var s,r,n,a;const l=this._model;(0,o.saveDefaultProperties)(!0),e&&(l.properties().childs().paneProperties.mergeAndFire(e.paneProperties),l.properties().childs().scalesProperties.mergeAndFire(e.scalesProperties)),"priceAxisProperties"in t&&l.mainSeries().priceScale().setMode({autoScale:null===(s=t.priceAxisProperties)||void 0===s?void 0:s.autoScale,percentage:null===(r=t.priceAxisProperties)||void 0===r?void 0:r.percentage,log:null===(n=t.priceAxisProperties)||void 0===n?void 0:n.log,lockScale:null===(a=t.priceAxisProperties)||void 0===a?void 0:a.lockScale}),l.mainSeries().properties().mergeAndFire(t),l.mainSeries().properties().saveDefaults(),l.mainSeries().createPaneView(),l.mainSeries().invalidateBarStylesCache(),l.recalculateAllPanes(),l.fullUpdate(),l.properties().saveDefaults(),l.sessions().restoreState({properties:i},!1),(0,o.saveDefaultProperties)(!1)}}},52201:(e,t,i)=>{"use strict";i.d(t,{ExcludeLineToolsFromGroupUndoCommand:()=>l});var s=i(16282),r=(i(95068),i(79881)),n=i(90963),o=i(5980);const a=new n.TranslatedString("exclude line tools from group {group}",(0,r.t)("exclude line tools from group {group}"));class l extends o.UndoCommand{constructor(e,t,i){super(a.format({group:t.name()})),this._model=e,this._groupId=t.id,this._groupName=t.name(),this._lineToolsIds=i.map(e=>e.id())}redo(){const e=(0,s.ensureNotNull)(this._model.lineToolsGroupModel().groupForId(this._groupId)),t=this._lineToolsIds.map(e=>this._model.dataSourceForId(e));e.excludeLineTools(t),0===e.lineTools().length&&this._model.lineToolsGroupModel().removeGroup(e)}undo(){const e=this._lineToolsIds.map(e=>this._model.dataSourceForId(e)),t=this._model.lineToolsGroupModel().groupForId(this._groupId);null!==t?t.addLineTools(e):this._model.lineToolsGroupModel().createGroup(e,this._groupName,this._groupId)}}},31495:(e,t,i)=>{"use strict";i.d(t,{MergeUpUndoCommand:()=>o,MergeDownUndoCommand:()=>a,MergeToTargetPane:()=>l});var s=i(16282),r=i(9911);class n extends r.MoveSourceUndoCommand{constructor(e,t,i){super(e,t,i),this._restorePane=!1}redo(){const e=this._chartModel.panes().length,t=this._chartModel.panes()[this._targetPaneIndex()],i=(0,s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId)),r=(0,s.ensureNotNull)(this._chartModel.paneForSource(i)),n=this._chartModel.children(i,!0);r.bulkActionMacro(()=>{n.forEach(e=>this._chartModel.detachSource(e)),this._restorePane=this._chartModel.detachSource(i)});const o="overlay"===this._initialPriceScalePosition?this._initialPriceScalePosition:void 0,a=t.findSuitableScale(i,void 0,o),l=0===a.dataSources().length;if(t.bulkActionMacro(()=>{t.addDataSource(i,a,!1),n.forEach(e=>t.addDataSource(e,a,!1))}),i===this._chartModel.mainSeries()){const e=t.priceScalePosition(a);t.movePriceScale(a,e,0)}if(l){(0,s.ensureNotNull)(i.priceScale()).restoreState(this._newPriceScaleState(t.isOverlay(i)))}this._chartModel.fullUpdate(),e!==this._chartModel.panes().length&&this._chartModel.setShouldBeSavedEvenIfHidden(!0)}undo(){let e +;e=this._restorePane?this._chartModel.createPane(this._initialPaneIndex):this._chartModel.panes()[this._initialPaneIndex];const t=(0,s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId)),i=(0,s.ensureNotNull)(this._chartModel.paneForSource(t)),r=this._chartModel.children(t,!0);i.bulkActionMacro(()=>{r.forEach(e=>this._chartModel.detachSource(e)),this._chartModel.detachSource(t)});let n=e.getPriceScaleById(this._initialPriceScaleId);null===n&&(n=e.createPriceScaleAtPosition(this._initialPriceScalePosition,this._initialPriceScaleIndex)),e.bulkActionMacro(()=>{e.addDataSource(t,n,!0),r.forEach(t=>e.addDataSource(t,n,!1))}),(0,s.ensureNotNull)(t.priceScale()).restoreState(this._originalPriceScaleState()),this._chartModel.fullUpdate()}}class o extends n{constructor(e,t,i){super(e,t,i)}_targetPaneIndex(){return this._initialPaneIndex-1}}class a extends n{constructor(e,t,i){super(e,t,i)}_targetPaneIndex(){return this._initialPaneIndex+1}}class l extends n{constructor(e,t,i,s){super(e,t,s),this._targetPane=i}_targetPaneIndex(){return this._targetPane}}},9911:(e,t,i)=>{"use strict";i.d(t,{MoveSourceUndoCommand:()=>n});var s=i(16282),r=i(5980);class n extends r.UndoCommand{constructor(e,t,i){super(i),this._chartModel=e,this._sourceId=t.id();const r=(0,s.ensureNotNull)(t.priceScale());this._initialPriceScaleId=r.id(),this._initialPriceScaleState=(0,s.ensureNotNull)(t.priceScale()).state();const n=(0,s.ensureNotNull)(e.paneForSource(t));this._initialPriceScalePosition=n.priceScalePosition(r),this._initialPriceScaleIndex=n.priceScaleIndex(r,this._initialPriceScalePosition),this._initialPaneIndex=e.panes().indexOf(n)}_newPriceScaleState(e){const t={...this._initialPriceScaleState};return delete t.m_isLockScale,delete t.id,delete t.m_topMargin,delete t.m_bottomMargin,t}_originalPriceScaleState(){return this._initialPriceScaleState}}},13863:(e,t,i)=>{"use strict";i.d(t,{MoveToNewPriceScaleUndoCommand:()=>o,MoveToExistingPriceScaleUndoCommand:()=>a});var s=i(16282),r=i(9911);class n extends r.MoveSourceUndoCommand{constructor(e,t,i,s){super(e,t,s),this._sourcePaneRemoved=!1,this._targetPaneIndex=e.panes().indexOf(i)}redo(){const e=this._chartModel.panes()[this._initialPaneIndex],t=this._chartModel.panes()[this._targetPaneIndex],i=e!==t,r=this._targetPriceScale(t),n=(0,s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId)),o=this._chartModel.children(n,!0);for(const e of o)i?(this._chartModel.detachSource(e),t.addDataSource(e,r,!1)):t.move(e,r);i?(this._sourcePaneRemoved=this._chartModel.detachSource(n),t.addDataSource(n,r,!1)):t.move(n,r);const a=t.priceScalePosition(r);t.movePriceScale(r,a,this._targetPriceScaleIndex(n)),this._chartModel.fullUpdate()}undo(){this._sourcePaneRemoved&&this._chartModel.createPane(this._initialPaneIndex);const e=this._chartModel.panes()[this._initialPaneIndex],t=e!==this._chartModel.panes()[this._targetPaneIndex],i=(0,s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId));let r=e.getPriceScaleById(this._initialPriceScaleId) +;null===r&&(r=e.createPriceScaleAtPosition(this._initialPriceScalePosition,this._initialPriceScaleIndex));const n=this._chartModel.children(i,!0);for(const i of n)t?(this._chartModel.detachSource(i),e.addDataSource(i,r,!1)):e.move(i,r);t?(this._chartModel.detachSource(i),e.addDataSource(i,r,!1)):e.move(i,r),(0,s.ensureNotNull)(i.priceScale()).restoreState(this._originalPriceScaleState()),this._chartModel.fullUpdate()}}class o extends n{constructor(e,t,i,s,r){super(e,t,i,r),this._targetPriceScalePosition=s}_targetPriceScale(e){const t=e.createPriceScaleAtPosition(this._targetPriceScalePosition);return t.restoreState(this._newPriceScaleState("overlay"===this._targetPriceScalePosition)),t}_targetPriceScaleIndex(e){return e===this._chartModel.mainSeries()?0:void 0}}class a extends n{constructor(e,t,i,s,r){super(e,t,i,r),this._targetPriceScaleId=s.id()}_targetPriceScale(e){return(0,s.ensureNotNull)(e.getPriceScaleById(this._targetPriceScaleId))}_targetPriceScaleIndex(e){}}},36292:(e,t,i)=>{"use strict";i.d(t,{PriceScaleChangeUndoCommand:()=>h});var s=i(16282),r=i(79881),n=i(90963),o=i(65447),a=i(5980);const l=(0,o.getLogger)("Chart.ChartUndoModel"),c=new n.TranslatedString("scale price",(0,r.t)("scale price"));class h extends a.UndoCommand{constructor(e,t,i,s,r){super(c,!1),this._newPriceScaleState=null,this._model=e,this._paneIndex=e.panes().indexOf(t),this._priceScaleId=i.id(),this._state=s,this._timestamp=r?performance.now():null}undo(){if(null!==this._newPriceScaleState)return void l.logDebug("PriceScaleChangeUndoCommand.undo: Command is already undone");const[e,t]=this._paneAndScale();this._newPriceScaleState=t.state(),this._model.restorePriceScaleState(e,t,this._state)}redo(){if(null===this._newPriceScaleState)return void l.logDebug("PriceScaleChangeUndoCommand.redo: Command is not undone");const[e,t]=this._paneAndScale();this._model.restorePriceScaleState(e,t,this._newPriceScaleState),this._newPriceScaleState=null}canMerge(e){return e instanceof h&&null!==this._timestamp&&null!==e._timestamp&&null===this._newPriceScaleState&&e._model===this._model&&e._paneIndex===this._paneIndex&&e._priceScaleId===this._priceScaleId&&Math.abs(e._timestamp-this._timestamp)<1e3}merge(e){this._timestamp=e._timestamp}_paneAndScale(){const e=this._model.panes()[this._paneIndex],t=(0,s.ensureNotNull)(e.getPriceScaleById(this._priceScaleId));return[e,t]}}},40597:(e,t,i)=>{"use strict";i.d(t,{RemoveSourcesCommand:()=>m});var s=i(16282),r=i(79881),n=i(90963),o=i(5980),a=i(67945),l=i(65447),c=i(72236),h=i(17e3),d=i(52201);class u extends o.UndoCommand{constructor({title:e,chartModel:t,lineDataSourceIds:i}){super(e),this._excludeLineToolsFromGroupUndoCommands=[],this._undoState=[],this._chartModel=t,this._lineDataSourceIds=i}redo(){const e=this._lineDataSourceIds.map(e=>(0,s.ensureNotNull)(this._chartModel.dataSourceForId(e)));this._groupLineToolsByGroups(e).forEach((e,t)=>{const i=new d.ExcludeLineToolsFromGroupUndoCommand(this._chartModel,t,e);i.redo(),this._excludeLineToolsFromGroupUndoCommands.push(i)}),e.forEach(e=>{ +this._undoState.push({state:e.state(!1),paneIndex:this._chartModel.panes().indexOf((0,s.ensureNotNull)(this._chartModel.paneForSource(e)))}),this._chartModel.removeSource(e)})}undo(){for(let e=this._undoState.shift();e;e=this._undoState.shift())this._chartModel.restoreSource(!1,e.paneIndex,null,e.state,null);this._excludeLineToolsFromGroupUndoCommands.forEach(e=>e.undo())}_groupLineToolsByGroups(e){const t=this._chartModel.lineToolsGroupModel();return e.reduce((e,i)=>{const s=t.groupForLineTool(i);if(null!==s){const t=e.get(s)||[];t.push(i),e.set(s,t)}return e},new Map)}}const p=(0,l.getLogger)("Chart.RemoveSourcesCommand"),_=new n.TranslatedString("remove line data sources",(0,r.t)("remove line data sources"));class m extends o.UndoCommand{constructor(e,t,i){super(i),this._removeLineDataSourcesUndoCommand=null,this._initialPriceScaleMode=null;const[r,n]=(0,c.closeSourcesSet)(e,t).reduce((e,t)=>((0,a.isLineTool)(t)?e[1].push(t.id()):e[0].push(t.id()),e),[[],[]]);this._chartModel=e,this._sourceIds=r,this._lineDataSourceIds=n,this._sourceStates=[],this._paneIndexes=[],this._priceScalePositionIds=[],this._paneStates=[],this._restorePanes=[];const o=t[0];1===t.length&&(0,h.isStudy)(o)&&(this._initialPriceScaleMode=(0,s.ensureNotNull)(o.priceScale()).mode())}removedIds(){return[...this._sourceIds,...this._lineDataSourceIds]}redo(){this._chartModel.panes().length;const e=this._sourceIds.map(e=>(0,s.ensureNotNull)(this._chartModel.dataSourceForId(e)));this._sourceStates=e.map(e=>(0,s.ensureNotNull)(e.state(!1)));const t=e.map(e=>(0,s.ensureNotNull)(this._chartModel.paneForSource(e)));this._paneIndexes=t.map(e=>this._chartModel.panes().indexOf(e)),this._lineDataSourceIds.length>0&&(this._removeLineDataSourcesUndoCommand=new u({title:_,chartModel:this._chartModel,lineDataSourceIds:this._lineDataSourceIds}),this._removeLineDataSourcesUndoCommand.redo()),this._priceScalePositionIds=e.map((e,i)=>{const s=e.priceScale();if(null===s)return null;const r=t[i].priceScalePosition(s);return{id:s.id(),position:r,priceScaleIndex:t[i].priceScaleIndex(s,r)}});const i=new Set;e.forEach((e,t)=>{i.add(this._paneIndexes[t])}),this._paneStates=e.map((e,s)=>{const r=this._paneIndexes[s];return i.has(r)?t[s].state(!1,!0):null}),this._restorePanes=e.map(e=>this._chartModel.removeSource(e))}undo(){const e=[];for(let t=this._sourceStates.length-1;t>=0;t--){const i=this._chartModel.restoreSource(this._restorePanes[t],this._paneIndexes[t],this._paneStates[t],this._sourceStates[t],this._priceScalePositionIds[t]);i&&e.push(i)}e.some((t,i)=>t.id()!==this._sourceIds[e.length-i-1])&&p.logError("Source was restored improperly - source ids does not match"),null!==this._initialPriceScaleMode&&(0,s.ensureNotNull)(e[0].priceScale()).setMode(this._initialPriceScaleMode),this._removeLineDataSourcesUndoCommand&&this._removeLineDataSourcesUndoCommand.undo()}}},56456:(e,t,i)=>{"use strict";i.d(t,{RestoreDefaultsPreferencesUndoCommand:()=>p});var s=i(16282),r=i(79881),n=i(90963),o=i(5980),a=i(2460),l=i(23930),c=i(10616),h=i(80525),d=i(92932) +;const u=new n.TranslatedString("apply all chart properties",(0,r.t)("apply all chart properties"));class p extends o.UndoCommand{constructor(e){super(u),this._trading=null,this._oldShowSellBuyButtons=null,this._oldNoConfirmEnabled=null,this._oldShowOnlyRejectionNotifications=null,this._oldShowPricesWithZeroVolume=null,this._oldShowPricesWithSpread=null,this._oldOrderExecutedSoundEnabled=null,this._prevWatermarkPreferences=null,this._model=e,this._trading=(0,h.tradingService)(),null!==this._trading&&(this._oldShowSellBuyButtons=this._trading.showSellBuyButtons.value(),this._oldNoConfirmEnabled=this._trading.noConfirmEnabled.value(),this._oldShowOnlyRejectionNotifications=this._trading.showOnlyRejectionNotifications.value(),this._oldShowPricesWithZeroVolume=this._trading.showPricesWith().zeroVolume.value(),this._oldShowPricesWithSpread=this._trading.showPricesWith().spread.value(),this._oldOrderExecutedSoundEnabled=this._trading.orderExecutedSoundParams.enabled.value()),this._defaultsPreferences=(0,a.defaultsPreferencesByWhiteList)(this._model,this._model.mainSeries()),this._oldPreferences=e.preferences(),this._prevDateFormat=l.dateFormatProperty.value(),this._prevAddPlusButton=d.addPlusButtonProperty.value(),this._prevShowOpenMarkerStatus=c.showMarketOpenStatusProperty.value();const t=this._model.watermarkSource();null!==t&&(this._prevWatermarkPreferences=t.properties().state())}redo(){null!==this._trading&&(this._trading.showSellBuyButtons.setValue(!0),this._trading.noConfirmEnabled.setValue(!1),this._trading.showOnlyRejectionNotifications.setValue(!1),this._trading.showPricesWith().zeroVolume.setValue(!0),this._trading.showPricesWith().spread.setValue(!0),this._trading.orderExecutedSoundParams.enabled.setValue(!1)),this._model.applyPreferences(this._defaultsPreferences),this._model.mainSeries().onChartStyleChanged(),this._model.updateScales(),(0,l.restoreDateFormatSettingsValue)(),(0,d.restoreAddPlusButtonSettingsValue)(),(0,c.restoreShowMarketOpenStatusProperty)();const e=this._model.watermarkSource();null!==e&&e.restorePropertiesDefaults()}undo(){null!==this._trading&&(this._trading.showSellBuyButtons.setValue((0,s.ensureNotNull)(this._oldShowSellBuyButtons)),this._trading.noConfirmEnabled.setValue((0,s.ensureNotNull)(this._oldNoConfirmEnabled)),this._trading.showOnlyRejectionNotifications.setValue((0,s.ensureNotNull)(this._oldShowOnlyRejectionNotifications)),this._trading.showPricesWith().zeroVolume.setValue((0,s.ensureNotNull)(this._oldShowPricesWithZeroVolume)),this._trading.showPricesWith().spread.setValue((0,s.ensureNotNull)(this._oldShowPricesWithSpread)),this._trading.orderExecutedSoundParams.enabled.setValue((0,s.ensureNotNull)(this._oldOrderExecutedSoundEnabled))),this._model.applyPreferences(this._oldPreferences),this._model.mainSeries().onChartStyleChanged(),this._model.updateScales(),l.dateFormatProperty.setValue(this._prevDateFormat),c.showMarketOpenStatusProperty.setValue(this._prevShowOpenMarkerStatus),d.addPlusButtonProperty.setValue(this._prevAddPlusButton);const e=this._model.watermarkSource() +;null!==e&&null!==this._prevWatermarkPreferences&&e.properties().mergeAndFire(this._prevWatermarkPreferences)}}},11204:(e,t,i)=>{"use strict";i.d(t,{SetPriceScaleCurrencyUndoCommand:()=>o});var s=i(16282),r=i(5980),n=i(25436);class o extends r.UndoCommand{constructor(e,t,i,r){super(r),this._newSourcesCurrencies=new Map,this._oldSourcesCurrencies=new Map,this._showFade=!1,this._chartWidget=i;const o=i.model().mainSeries();for(const i of e.seriesLikeSources()){if(!i.isVisible())continue;const e=t||(0,n.symbolOriginalCurrency)((0,s.ensureNotNull)(i.symbolInfo()));this._newSourcesCurrencies.set(i.id(),e),this._oldSourcesCurrencies.set(i.id(),i.currency()),this._showFade=this._showFade||i===o&&i.currency()!==e}}redo(){this._applyCurrencies(this._newSourcesCurrencies)}undo(){this._applyCurrencies(this._oldSourcesCurrencies)}_applyCurrencies(e){this._showFade&&this._chartWidget.screen.show();const t=this._chartWidget.model().model();e.forEach((e,i)=>{(0,s.ensureNotNull)(t.dataSourceForId(i)).setCurrency(e)}),this._chartWidget.model().selectionMacro(e=>{e.clearSelection()})}}},18174:(e,t,i)=>{"use strict";i.d(t,{SetPriceScaleModeCommand:()=>n});var s=i(11092),r=i(5980);class n extends r.UndoCommand{constructor(e,t,i,s){super(i),this._newMode=e,this._priceScaleId=t.id(),this._model=s,this._oldMode=t.mode()}redo(){this._applyMode(this._newMode)}undo(){this._applyMode(this._oldMode)}_applyMode(e){const t=this._findPriceScaleById();null!==t&&((0,s.saveDefaultProperties)(!0),t.setMode(e),(0,s.saveDefaultProperties)(!1),this._model&&(this._model.recalculateAllPanes(),this._model.lightUpdate()))}_findPriceScaleById(){const e=this._model.panes();for(let t=0;t{"use strict";i.d(t,{SetPriceScaleSelectionStrategyCommand:()=>a});var s=i(16282),r=i(5980),n=i(3092);class o{constructor(e){this._leftScales=e.leftPriceScales().map(e=>e.id()),this._rightScales=e.rightPriceScales().map(e=>e.id())}restorePane(e){this._leftScales.reverse().map(t=>(0,s.ensureNotNull)(e.getPriceScaleById(t))).forEach(t=>e.movePriceScale(t,"left")),this._rightScales.reverse().map(t=>(0,s.ensureNotNull)(e.getPriceScaleById(t))).forEach(t=>e.movePriceScale(t,"right"))}}class a extends r.UndoCommand{constructor(e,t,i){super(i),this._chartModel=e,this._targetStrategy=(0,n.createPriceScaleSelectionStrategy)(t),this._initialState=e.panes().map(e=>new o(e))}redo(){this._chartModel.panes().forEach(e=>e.setPriceScaleSelectionStrategy(this._targetStrategy)),this._chartModel.fullUpdate()}undo(){const e=this._chartModel.panes();for(let t=0;t{"use strict";i.d(t,{SetPriceScaleUnitUndoCommand:()=>o});var s=i(16282),r=i(5980),n=i(25436);class o extends r.UndoCommand{constructor(e,t,i,r){super(r),this._newSourcesUnits=new Map,this._oldSourcesUnits=new Map,this._showFade=!1,this._chartWidget=i;const o=i.model().mainSeries();for(const i of e.seriesLikeSources()){ +if(!i.isVisible())continue;const e=t||(0,n.symbolOriginalUnit)((0,s.ensureNotNull)(i.symbolInfo()));this._newSourcesUnits.set(i.id(),e),this._oldSourcesUnits.set(i.id(),i.unit()),this._showFade=this._showFade||i===o&&i.unit()!==e}}redo(){this._applyUnits(this._newSourcesUnits)}undo(){this._applyUnits(this._oldSourcesUnits)}_applyUnits(e){this._showFade&&this._chartWidget.screen.show();const t=this._chartWidget.model().model();e.forEach((e,i)=>{(0,s.ensureNotNull)(t.dataSourceForId(i)).setUnit(e)}),this._chartWidget.model().selectionMacro(e=>{e.clearSelection()})}}},81241:(e,t,i)=>{"use strict";i.d(t,{SetResolutionUndoCommand:()=>o});var s=i(5980),r=i(35001),n=i(25436);class o extends s.UndoCommand{constructor(e,t,i,s){super(s),this._property=e,this._value=t,this._prevValue=e.value(),this._chartWidget=i}redo(){this._chartWidget.screen.show(),this._property.setValue(this._value),this._handleResolution(this._value)}undo(){this._chartWidget.screen.show(),this._property.setValue(this._prevValue),this._handleResolution(this._prevValue)}_handleResolution(e){const t=this._chartWidget.model().mainSeries().properties().childs(),i=t.style.value(),s=(0,n.isRangeStyle)(i),o=r.Interval.isRange(e);!s&&o?t.style.setValue(11):s&&!o&&t.style.setValue((0,n.getLastUsedStyle)())}}},7346:(e,t,i)=>{"use strict";i.d(t,{SetScaleRatioPropertiesCommand:()=>n});var s=i(5980),r=i(11092);class n extends s.UndoCommand{constructor(e,t,i,s){super(i),this._property=e,this._newValue=t,this._model=s,this._priceScale=this._model.mainSeries().priceScale(),this._oldValue=this._property.value(),this._oldMode=this._priceScale.mode()}redo(){this._oldValue=this._property.value(),this._oldMode=this._priceScale.mode(),(0,r.saveDefaultProperties)(!0),this._priceScale.setMode({autoScale:!1,percentage:!1,log:!1}),this._property.setValue(this._newValue),(0,r.saveDefaultProperties)(!1),this._model.recalculateAllPanes(),this._model.lightUpdate()}undo(){(0,r.saveDefaultProperties)(!0),this._property.setValue(this._oldValue),this._priceScale.setMode(this._oldMode),(0,r.saveDefaultProperties)(!1),this._model.recalculateAllPanes(),this._model.lightUpdate()}}},55796:(e,t,i)=>{"use strict";i.d(t,{SetChartLayoutCommand:()=>l});var s=i(79881),r=i(90963),n=i(5980),o=i(1799);const a=new r.TranslatedString("change chart layout to {title}",(0,s.t)("change chart layout to {title}"));class l extends n.UndoCommand{constructor(e,t){super(a.format({title:o.layouts[t].title})),this._chartWidgetCollection=e,this._newLayoutType=t,this._oldLayoutType=e.layout.value()}redo(){this._chartWidgetCollection.setLayout(this._newLayoutType)}undo(){this._chartWidgetCollection.setLayout(this._oldLayoutType)}}},72236:(e,t,i)=>{"use strict";function s(e,t){const i=new Set,s=t=>{e.children(t,!1).forEach(e=>{i.has(e)||(i.add(e),s(e))})};return t.forEach(s),t.filter(e=>!i.has(e)).map(t=>function e(t,i){let s=[];const r=t.children(i,!1);for(let i=0;ie.concat(t),[])}i.d(t,{closeSourcesSet:()=>s})},60331:(e,t,i)=>{"use strict" +;i.d(t,{TimeScaleChangeUndoCommand:()=>o});var s=i(65447),r=i(5980);const n=(0,s.getLogger)("Chart.ChartUndoModel");class o extends r.UndoCommand{constructor(e,t,i){super(i,!1),this._newRightOffsetAndBarSpacing=null,this.setCustomFlag("doesnt_affect_save",!0),this._model=e,this._rightOffsetAndBarSpacing=t}undo(){if(null!==this._newRightOffsetAndBarSpacing)return void n.logDebug("TimeScaleChangeUndoCommand.undo: Command is already undone");const e=this._model.timeScale();this._newRightOffsetAndBarSpacing={barSpacing:e.barSpacing(),rightOffset:e.rightOffset()},e.setBarSpacing(this._rightOffsetAndBarSpacing.barSpacing),e.setRightOffset(this._rightOffsetAndBarSpacing.rightOffset),this._model.lightUpdate()}redo(){if(null===this._newRightOffsetAndBarSpacing)return void n.logDebug("TimeScaleChangeUndoCommand.redo: Command is not undone");const e=this._model.timeScale();e.setBarSpacing(this._newRightOffsetAndBarSpacing.barSpacing),e.setRightOffset(this._newRightOffsetAndBarSpacing.rightOffset),this._model.lightUpdate(),this._newRightOffsetAndBarSpacing=null}}},5980:(e,t,i)=>{"use strict";i.d(t,{UndoCommand:()=>r});var s=i(90963);class r{constructor(e,t=!0){this._customFlags={},this._text=e||new s.TranslatedString("",""),this._executeOnPush=t}text(){return this._text}executeOnPush(){return this._executeOnPush}customFlag(e){return this._customFlags[e]}setCustomFlag(e,t){this._customFlags[e]=t}canMerge(e){return!1}merge(e){throw new Error("Should be re-implemented in child classes")}}},80437:(e,t,i)=>{"use strict";i.d(t,{createUndoHistory:()=>u});var s=i(16282),r=i(27850),n=i(81262),o=i(5980);class a extends o.UndoCommand{constructor(e,t,i){super(i),this._wv=e,this._newValue=t,this._oldValue=e.value()}redo(){this._wv.setValue(this._newValue)}undo(){this._wv.setValue(this._oldValue)}}var l=i(65447),c=i(5729),h=i.n(c);const d=(0,l.getLogger)("Common.UndoHistory");function u(){const e=[],t=new r.UndoStack,i=new r.UndoStack,o=new(h());function l(s){if(e.length>0)e[e.length-1].addCommand(s);else{i.clear();const e=t.head(),r=e&&e.text().originalText();e&&e.canMerge(s)?e.merge(s):t.push(s);const n=s.text().originalText();""!==n&&n!==r&&d.logNormal("DO: "+n)}s.executeOnPush()&&s.redo(),e.length||o.fire(c())}function c(){const e=t.head(),s=i.head();return{enableUndo:!t.isEmpty(),undoText:void 0===e?void 0:e.text().translatedText(),enableRedo:!i.isEmpty(),redoText:void 0===s?void 0:s.text().translatedText()}}return{beginUndoMacro:function(t){const i=new n.UndoMacroCommand(t);return e.push(i),i},clearStack:function(){t.clear(),i.clear(),o.fire(c())},createUndoCheckpoint:function(){return{lastActualCommand:t.isEmpty()?null:t.head()}},endUndoMacro:function(){const t=(0,s.ensureDefined)(e.pop());t.isEmpty()||l(t)},pushUndoCommand:l,redo:function(){if(i.isEmpty())return!1;const e=i.pop();return!!e&&(e.redo(),t.push(e),d.logNormal("REDO: "+e.text().originalText()),o.fire(c()),!0)},redoStack:function(){return i},setWatchedValue:function(e,t,i,s){if(e.value()!==t){const r=new a(e,t,i);r.setCustomFlag("doesnt_affect_save",!!s),l(r),r.redo()}}, +undo:function(){if(t.isEmpty())return!1;const e=t.pop();return!!e&&(e.undo(),i.push(e),d.logNormal("UNDO: "+e.text().originalText()),o.fire(c()),!0)},undoStack:function(){return t},undoToCheckpoint:function(e){for(;!t.isEmpty()&&e.lastActualCommand!==t.head();)t.pop().undo();i.clear(),o.fire(c())},state:c,onChange:function(){return o}}}},81262:(e,t,i)=>{"use strict";i.d(t,{UndoMacroCommand:()=>r});var s=i(5980);class r extends s.UndoCommand{constructor(e){super(e,!1),this._subcommands=[]}addCommand(e){this._subcommands.push(e)}isEmpty(){return 0===this._subcommands.length}redo(){for(let e=0;e=0;e--)this._subcommands[e].undo()}commands(){return this._subcommands}}},27850:(e,t,i)=>{"use strict";i.d(t,{UndoStack:()=>a});var s=i(5980),r=i(5729),n=i.n(r);const o=(0,i(65447).getLogger)("Common.UndoStack");class a{constructor(){this._commands=[],this._onChange=new(n())}onChange(){return this._onChange}isEmpty(){return 0===this._commands.length}clear(){this.isEmpty()||(this._commands.length=0,this._onChange.fire())}push(e){if(!(e instanceof s.UndoCommand))throw new TypeError("argument must be an instance of UndoCommand");this._commands.push(e),this._onChange.fire(e)}pop(){if(this.isEmpty())return void o.logDebug("pop: undo stack is empty");const e=this._commands.pop();return this._onChange.fire(e),e}head(){if(!this.isEmpty())return this._commands[this._commands.length-1]}}},3062:(e,t,i)=>{"use strict";i.d(t,{UnmergeDownUndoCommand:()=>o,UnmergeUpUndoCommand:()=>a,UnmergeToNewBottomPane:()=>l});var s=i(16282),r=i(9911);class n extends r.MoveSourceUndoCommand{constructor(e,t,i){super(e,t,i)}redo(){const e=(0,s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId)),t=(0,s.ensureNotNull)(this._chartModel.paneForSource(e)),i=this._chartModel.children(e,!0);t.bulkActionMacro(()=>{i.forEach(e=>this._chartModel.detachSource(e)),this._chartModel.detachSource(e)});const r=this._chartModel.createPane(this.targetPaneIndex()),n=r.findSuitableScale(e);r.bulkActionMacro(()=>{r.addDataSource(e,n,!1),i.forEach(e=>r.addDataSource(e,n,!1))}),(0,s.ensureNotNull)(e.priceScale()).restoreState(this._newPriceScaleState(r.isOverlay(e))),this._chartModel.fullUpdate(),this._chartModel.setShouldBeSavedEvenIfHidden(!0)}undo(){const e=(0,s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId)),t=(0,s.ensureNotNull)(this._chartModel.paneForSource(e)),i=this._chartModel.children(e,!0);t.bulkActionMacro(()=>{i.forEach(e=>this._chartModel.detachSource(e));const t=this._chartModel.detachSource(e);(0,s.assert)(t,"Undo of detaching must remove pane")});const r=this._chartModel.panes()[this._initialPaneIndex];let n=r.getPriceScaleById(this._initialPriceScaleId);null===n&&(n=r.createPriceScaleAtPosition(this._initialPriceScalePosition,this._initialPriceScaleIndex)),r.bulkActionMacro(()=>{r.addDataSource(e,n,!0),i.forEach(e=>r.addDataSource(e,n,!1))}),(0,s.ensureNotNull)(e.priceScale()).restoreState(this._originalPriceScaleState()), +this._chartModel.fullUpdate()}}class o extends n{constructor(e,t,i){super(e,t,i)}targetPaneIndex(){return this._initialPaneIndex+1}}class a extends n{constructor(e,t,i){super(e,t,i)}targetPaneIndex(){return this._initialPaneIndex}}class l extends n{constructor(e,t,i){super(e,t,i)}targetPaneIndex(){return this._chartModel.panes().length}}},42010:(e,t,i)=>{"use strict";i.d(t,{unitConvertibleGroups:()=>n,sourceNewUnitOnPinningToPriceScale:()=>o});var s=i(58007),r=i(25436);function n(e,t,i){const s=(0,r.symbolUnitConvertibleGroupsIfExist)(e);if(null!==s)return s;const n=i.unitGroupById(t);return null===n?[]:[n]}function o(e,t,i,r){let o=null;if(i.unitConversionEnabled()&&(0,s.isSymbolSource)(e)){const s=i.availableUnits(),a=t.unit(s),l=e.unit(),c=null===l?[]:n(e.symbolInfo(),l,s);null!==a&&null!==a.selectedUnit&&!a.allUnitsAreOriginal&&a.selectedUnit!==l&&(r&&null===l||null!==l&&s.convertible(l,c))&&(o=a.selectedUnit)}return o}},77664:(e,t,i)=>{"use strict";i.r(t),i.d(t,{watermarkProperty:()=>h,restoreWatermarkPropertyDefaults:()=>d});var s=i(14563),r=i(64222),n=i(674),o=i.n(n);const a={visibility:!1,color:"rgba(80, 83, 94, 0.25)"};function l(){const e=r.getJSON("symbolWatermark");let t=Object.assign({},a,e);if(void 0===e){if(void 0!==r.getJSON("chartproperties")){const e=r.getJSON("chartproperties").symbolWatermarkProperties;if(void 0!==e){const i=(0,s.tryParseRgba)(e.color);t=Object.assign(t,e),null!==i&&(0!==i[3]?t.visibility=!0:(i[3]=.25,t.color=(0,s.rgbaToString)(i)))}}delete t.transparency}return t}let c=null;function h(){return null===c&&(c=new(o())(l()),r.onSync.subscribe(null,()=>{null!==c&&c.mergeAndFire(l())}),c.listeners().subscribe(null,()=>{null!==c&&r.setJSON("symbolWatermark",c.state())})),c}function d(){null!==c&&c.mergeAndFire(a)}},75066:(e,t,i)=>{"use strict";var s=i(46786).translatedIntervalString,r=i(7691).getTranslatedSymbolDescription,n=i(54837).CHART_FONT_FAMILY,o=i(77664),a=o.watermarkProperty,l=o.restoreWatermarkPropertyDefaults,c=i(16932).drawScaled,h=i(18130).applyDefaultsOverrides,d=i(18130).applyPropertiesOverrides;t.Watermark=function(e,t){var i={},o=a();function u(e,t){var s=e.font;return i.hasOwnProperty(s)||(i[s]={}),i[s].hasOwnProperty(t)||(i[s][t]=e.measureText(t).width),i[s][t]}h(o,void 0,!1,"symbolWatermarkProperties"),o.listeners().subscribe(this,(function(){e.updateSource(this)})),this.destroy=function(){o.listeners().unsubscribeAll(this)},this.properties=function(){return o},this.restorePropertiesDefaults=function(){l()},this.applyOverrides=function(e){d(o,void 0,!1,e,"symbolWatermarkProperties")};var p={renderer:function(e,i){return{draw:function(a,l){c(a,l.pixelRatio,(function(){var l=t.symbolInfo();a.fillStyle=o.color.value();var c,h=l.name;/QUANDL/.test(l.exchange)&&((c=h.split(/\//)).length&&(h=c[c.length-1]));for(var d={description:l.description,short_description:l.short_description,pro_name:l.pro_name,short_name:l.name,local_description:l.local_description,language:l.language},p=[{text:h?h+", "+s(t.interval()):"",font:"96px "+n,lineHeight:117,vertOffset:0},{text:r(d)||"", +font:"48px "+n,lineHeight:58,vertOffset:5}],_=0,m=0;mi?i/g:1,_+=v.lineHeight*v.zoom}}var f=Math.max((e-_)/2,0);for(m=0;m{"use strict";i.r(t),i.d(t,{reorderCollection:()=>S,reorderDataSourcesStateZOrder:()=>y,reorderDataSourcesZOrder:()=>b,newLineToolZOrder:()=>C,newLineToolStateZOrder:()=>T,newStudyZOrder:()=>x,isReorderRequired:()=>L,moveAtIndex:()=>k,moveAfterItem:()=>E,moveBeforeItem:()=>D,moveAfterSource:()=>V,moveBeforeSource:()=>B,moveAfterSourceState:()=>N,moveBeforeSourceState:()=>R});var s=i(67945),r=i(17e3),n=i(95975),o=i(36512),a=i(58921),l=i(49382);function c(e){return(0,s.isLineTool)(e)&&!e.isSpeciallyZOrderedSource()}function h(e){return(0,r.isStudy)(e)&&!e.isSpeciallyZOrderedSource()}function d(e,t){return e.zorder-t.zorder}function u(e,t){return e.zorder()-t.zorder()}function p(e,t){(0,a.isMainSeriesState)(e)?e.zorder=0:e.zorder=t}function _(e,t){e.setZorder(t)}function m(e){return e.zorder}function g(e){return e.zorder()}function f(e,t,i,s,r,n,o){let a=0;for(let l=t;l>=0;--l){const t=e[l];void 0!==o&&o(t)||(n(t)?(r(t,i),a=Math.max(a,I(i)),s=i-1,i-=1e4,0===s&&(i-=1e4)):(r(t,s),a=Math.max(a,M(s)),s-=1))}return a}function v(e,t,i,s,r,n,o){let a=0;for(let l=t;l0||o%1e4<-1)return o+1;if((o+1)%1e4==0)for(const e of w(o,c))s(e,r(e)-100);return o+1-100}function C(e,t){return P(e,c,h,_,g,t)}function T(e,t){return P(e,a.isLineToolState,a.isStudyState,p,m,t)}function x(e){let t=-1e4;for(const i of e)h(i)&&(t=Math.min(t,i.zorder()-1e4));return 0===t?-1e4:t}function I(e){return Math.abs(e/o.specialZOrderBase)}function M(e){return Math.abs(e%1e4/1e4)}function L(e,t){return null!==e&&I(e)>=.7||null!==t&&M(t)>.7}function A(e,t){const i=1e4*((s=e/1e4)>=0?Math.ceil(s):Math.floor(s));var s;return i===e?i+1e4*t:i}function k(e,t,i,s,r,n,a,c,h){ +if(s(t[0]))return void(i0?(0,l.moveAfter)(e,t,i-1):(0,l.moveBefore)(e,t,0),p=u,_=u+t.length-1,m=p>0?c(d[p-1]):c(d[p])-1,g=_=0&&g>0)v(d,p,A(m,1),m+1,a,r,s);else if(g<=0&&m<0)f(d,_,A(g,-1),g-1,a,r,s);else{let e=-o.specialZOrderBase;for(const t of d)s(t)?e=1:(a(t,e),e+=1);S(d,s,r,n,a,h)}}function E(e,t,i,s,r,n,o,a,l){const c=e.indexOf(i)+1;k(e,t,c,s,r,n,o,a,l)}function D(e,t,i,s,r,n,o,a,l){const c=e.indexOf(i);k(e,t,c,s,r,n,o,a,l)}function V(e,t,i){E(e,t,i,n.isSeries,h,c,_,g,u)}function B(e,t,i){D(e,t,i,n.isSeries,h,c,_,g,u)}function N(e,t,i){E(e,t,i,a.isMainSeriesState,a.isStudyState,a.isLineToolState,p,m,d)}function R(e,t,i){D(e,t,i,a.isMainSeriesState,a.isStudyState,a.isLineToolState,p,m,d)}},20480:(e,t,i)=>{"use strict";i.d(t,{setSymbolSearchCompleteOverrideFunction:()=>r,getSymbolSearchCompleteOverrideFunction:()=>n});let s=e=>Promise.resolve(e);function r(e){s=e}function n(){return s}},85062:(e,t,i)=>{"use strict";e=i.nmd(e);var s=i(674),r=i(65447).getLogger("Chart.Study.MetaInfo"),n=i(70635).applyOverridesToStudyDefaults,o={};function a(e){TradingView.merge(this,{palettes:{},inputs:[],plots:[],graphics:{},defaults:{}}),TradingView.merge(this,e);var t=e.fullId||e.id;TradingView.merge(this,a.parseIdString(t))}a.VERSION_STUDY_ARG_SOURCE=41,a.METAINFO_FORMAT_VERSION_SOS_V2=42,a.VERSION_PINE_PROTECT_TV_4164=43,a.CURRENT_METAINFO_FORMAT_VERSION=52,a.VERSION_NEW_STUDY_PRECISION_FORMAT=46,a.CHILD_STUDY_ALLOWED_PLOT_TYPES=["line"],a.canPlotBeSourceOfChildStudy=function(e){return a.CHILD_STUDY_ALLOWED_PLOT_TYPES.includes(e)},a.CHILD_STUDY_EXCLUDE_IDS=["CorrelationCoefficient@tv-basicstudies","Correlation - Log@tv-basicstudies-1"],a.CHILD_STUDY_PARENT_EXCLUDE_IDS=[],a.FilledArea={},a.FilledArea.TYPE_PLOTS="plot_plot",a.FilledArea.TYPE_HLINES="hline_hline",a.versionOf=function(e){var t="_metainfoVersion"in e&&isNumber(e._metainfoVersion)?e._metainfoVersion:0;return t<0&&r.logError("Metainfo format version cannot be negative: "+t),t},a.parseIdString=function(e){var t={};if(-1===e.indexOf("@"))t.shortId=e,t.packageId="tv-basicstudies",t.id=e+"@"+t.packageId,t.version=1;else{var i=e.split("@");t.shortId=i[0];var s=i[1].split("-");if(3===s.length)t.packageId=s.slice(0,2).join("-"),t.id=t.shortId+"@"+t.packageId,t.version=s[2];else if(1===s.length&&"decisionbar"===s[0])t.packageId="les-"+s[0],t.id=t.shortId+"@"+t.packageId,t.version=1;else{if(1!==s.length)throw new Error("unexpected study id:"+e);t.packageId="tv-"+s[0],t.id=t.shortId+"@"+t.packageId,t.version=1}}if(t.fullId=t.id+"-"+t.version,"tv-scripting"===t.packageId){var r=t.shortId;if(0===r.indexOf("Script$")||0===r.indexOf("StrategyScript$")){var n=r.indexOf("_");t.productId=n>=0?r.substring(0,n):t.packageId}else t.productId=t.packageId}else t.productId=t.packageId;return t},a.getPackageName=function(e){return(/^[^@]+@([^-]+-[^-]+)/.exec(e||"")||[0,"tv-basicstudies"])[1]}, +a.cutDollarHash=function(e){var t=e.indexOf("$"),i=e.indexOf("@");return-1===t?e:e.substring(0,t)+(i>=0?e.substring(i):"")},a.hasUserIdSuffix=function(e){return/^USER;[\d\w]+;\d+$/.test(e)},a.isStandardPine=function(e){return/^(Strategy)?Script\$STD;.*@tv-scripting$/.test(e)},a.getSourceIdByInputs=function(e,t){if(!Array.isArray(e)||!t)return null;for(var i=0;i0){var l=o.replace(/^[^\$]+/,t);i.inputs[n.id].setValue(l)}}}},a.patchChildStudyMetaInfoState=function(e){e.state&&function e(t){if("object"==typeof t)for(var i in t)"string"==typeof t[i]&&/^[^\$]+\$\d+$/.test(t[i])?t[i]=t[i].replace(/^[^\$]+/,"{pid}"):e(t[i])}(e.state.inputs),e.state.isChildStudy=!0},a.getStudyIdWithLatestVersion=function(e){const t=a.cutDollarHash(e.id);let i=t;return t.indexOf("@tv-scripting")>=0?i+="-101!":i+="-"+e.version,i},a.prototype.parseValue=function(e,t){return"bool"===e?TradingView.parseBool(t):t},a.prototype.defaultInputs=function(){for(var e=[],t=0;t0?e[0].id:null},a.prototype.createDefaults=function(){if(this.defaults){var e=TradingView.clone(this.defaults);e.precision="default";var t=a.getStudyPropertyRootName(this);defaults.create(t,e)}},a.prototype.removeDefaults=function(){defaults.remove(a.getStudyPropertyRootName(this))},a.findStudyMetaInfoByDescription=function(e,t){if(e){for(var i=0;i{"use strict";window.TradingView=window.TradingView||{},window.requireAll=function(e){return e.keys().map(e)},i(79881),i(96404).setClasses(),i(91164),i(82041).install(),i(43367),i(47903),i(5025),i(95068),i(68177),i(79039),i(20265),i(64222),i(67869)},55218:(e,t,i)=>{"use strict";var s=i(79881).t;i(72111);var r=i(16282).assert;i(8997),i(18130),i(84277);const n=i(27490);JSON.parse(urlParams.disabledFeatures).forEach((function(e){n.setEnabled(e,!1)})),JSON.parse(urlParams.enabledFeatures).forEach((function(e){n.setEnabled(e,!0)})),function(){window.__settingsOverrides=window.parent[window.urlParams.uid].settingsOverrides||{};var e=window.parent[window.urlParams.uid].settingsAdapter;null!=e?(TVSettings.setSettingsAdapter(e),TVSettings.sync()):n.enabled("use_localstorage_for_settings")&&TVSettings.sync()}();var o=i(54837).setChartFontFamily;window.urlParams.customFontFamily&&o(window.urlParams.customFontFamily);var a=i(215).RestrictedToolsetBootloader,l=i(64457).HeaderToolbarBootloader,c=i(1940).DrawingToolbarBootloader,h=i(90096).isDrawingToolbarVisible;(0,i(96404).setClasses)() +;var d=i(99182),u=i(14829).setTheme,p=i(88933),_=i(15755),m=i(60934),g=i(27192).migrateShortcut,f=i(89171).ChartSaver,v=i(72757).SaveChartService,S=i(93357).LoadChartService,y=i(96431).StudyTemplates,b=i(62685).FavoriteStudyTemplateService,w=i(24287).linking,P=i(18437),C=i(59104).formatterOptions,T=i(62737).customFormatters,x=i(42677).StudyMarket,I=i(2308).TVXWindowEvents,M=i(61389).createDeferredPromise,L=i(7532).deepExtend,A=i(45259).randomHash,k=i(53226).convertPropertyToWatchedValue,E=i(49044).property,D=i(42028).property,V=i(23930).dateFormatProperty,B=i(58848).default,N=i(35001).Interval,R=i(89979).Root,O=i(41547).ChartPage,F=i(17915).destroyQuoteSessions,W=i(89077).TIMEFRAMETYPE,H=new O(new R(window).allocate()),z=H.allocate({areaName:"center"}),U=(H.allocate({areaName:"tradingpanel"}),window.parent[urlParams.uid].brokerFactory,Boolean(!1)),j=i(468).CHART_WIDGET_COLLECTION_SERVICE,G=i(86573);i(27317);var q=i(17444),Y=i(65109).createFavoriteDrawingToolbar,$=i(30618).setupChartEventHint,K=i(82831).setupChartScreenshotHint,X=i(68606),Z=i(85062),J=i(54736);i(81137),i(82708);var Q=i(67985).setSearchRequestDelay,ee=i(74645),te=i(77392),ie=i(63939).addBrandingSource,se=i(10426).setAdditionalSymbolInfoFields,re=i(20480).setSymbolSearchCompleteOverrideFunction,ne=i(3306).DropdownApi,oe=i(6799).ContextMenuManager,ae=window.parent[urlParams.uid].getCustomIndicators,le=M(),ce=M(),he=n.enabled("left_toolbar");if(void 0!==window.parent[urlParams.uid].contextMenu){var de=window.parent[urlParams.uid].contextMenu;void 0!==de.items_processor&&oe.setCustomItemsProcessor(de.items_processor),void 0!==de.renderer_factory&&oe.setCustomRendererFactory(de.renderer_factory)}if(Promise.all([le.promise,ce.promise]).then((function(){window.ChartApiInstance.start()})),"function"==typeof ae){var ue=ae(te);ue&&ue.then?ue.then((function(e){if(!Array.isArray(e))return console.warn("custom_indicators_getter should be a function that returns a Promise object which result is an array of custom indicators"),void le.resolve();JSServer.studyLibrary.push.apply(JSServer.studyLibrary,e),le.resolve(),console.log("{0} custom indicators loaded.".format(e.length))})).catch((function(e){console.warn("Error loading custom indicators "+e),le.resolve()})):(console.warn("custom_indicators_getter should be a function that returns a Promise object"),le.resolve())}else le.resolve();window.widgetReady=function(e){P.subscribe("onChartReady",e)};var pe=urlParams.theme&&urlParams.theme.toLowerCase();function _e(e){window.__defaultsOverrides=window.__defaultsOverrides||{},L(window.__defaultsOverrides,e),void 0!==TradingView.defaultProperties&&void 0!==TradingView.defaultProperties.chartproperties&&(window.applyDefaultsOverrides(TradingView.defaultProperties.chartproperties),window.applyDefaultOverridesToLinetools())}!function(e){d.themes[e]&&u(e)}(pe),window.applyStudiesOverrides=function(e){e&&(window.chartWidgetCollection?window.chartWidgetCollection.applyStudiesOverrides(e):Z.mergeDefaultsOverrides(e))},window.applyOverrides=function(e){_e(e), +window.chartWidgetCollection&&window.chartWidgetCollection.applyOverrides(e)},window.doWhenApiIsReady=function(e){window.tradingViewApi?e():ce.promise.then(e)},window.applyTradingCustomization=function(e){for(var t in e.order)TradingView.defaultProperties.linetoolorder[t]=e.order[t];for(var t in e.position)TradingView.defaultProperties.linetoolposition[t]=e.position[t]},window.changeTheme=function(e,t){var i=d.themes[e.toLowerCase()];return i?window.tradingViewApi.themes().setStdTheme(i.name,!0,t&&t.disableUndo):Promise.resolve()},window.getTheme=function(){return window.tradingViewApi.themes().getCurrentThemeName()},window.is_authenticated=!1;JSON.parse(window.urlParams.brokerConfig);s("charts by TradingView"),s("powered by TradingView"),s("by TradingView");var me=null,ge=M(),fe=null,ve=function(){if(n.setEnabled("charting_library_debug_mode","true"===urlParams.debug),n.setEnabled("chart_property_page_trading",!1),n.enabled("remove_library_container_border")){var e=document.querySelector("#library-container");null!==e&&(e.style.border="0px",e.style.padding="1px")}n.enabled("no_min_chart_width")&&(window.document.body.style.minWidth="0px"),null!=urlParams.studiesOverrides&&Z.mergeDefaultsOverrides(JSON.parse(urlParams.studiesOverrides)),r(void 0===TradingView.defaultProperties,"Default properties are inited before applying overrides"),_e(JSON.parse(urlParams.overrides)),urlParams.numeric_formatting=urlParams.numeric_formatting&&JSON.parse(urlParams.numeric_formatting),urlParams.numeric_formatting&&"string"==typeof urlParams.numeric_formatting.decimal_sign&&(C.decimalSign=urlParams.numeric_formatting.decimal_sign[0]),window.ChartApiInstance=new X(window.parent[urlParams.uid].datafeed),window.parent[urlParams.uid].customFormatters&&(window.parent[urlParams.uid].customFormatters.timeFormatter&&(T.timeFormatter=window.parent[urlParams.uid].customFormatters.timeFormatter),window.parent[urlParams.uid].customFormatters.dateFormatter&&(T.dateFormatter=window.parent[urlParams.uid].customFormatters.dateFormatter),window.parent[urlParams.uid].customFormatters.tickMarkFormatter&&(T.tickMarkFormatter=window.parent[urlParams.uid].customFormatters.tickMarkFormatter)),window.ChartApiInstance.setStudiesAccessController(window.ChartApiInstance.createStudiesAccessController(urlParams.studiesAccess));var t=urlParams.chartContent?JSON.parse(urlParams.chartContent).json:void 0,o=urlParams.chartContentExtendedData?JSON.parse(urlParams.chartContentExtendedData):t?t.extendedData:void 0,u=urlParams.interval||"D",_=function(e){var t=/(\d+)(\w+)/;return e.map((function(e){var i=t.exec(e.text),r=i[2].toLowerCase(),n=parseInt(i[1]),o="y"===r?12*n+"M":n+r,a=N.parse(e.resolution);return{text:s(e.title)||n+s(r,{context:"dates",count:n}),description:e.description||"",value:{value:o.toUpperCase(),type:W.PeriodBack},targetResolution:a.value(),requiresIntraday:a.isIntraday()}}))}(JSON.parse(urlParams.timeFrames)),m={resizerBridge:z,padding:n.enabled("border_around_the_chart")?2:0,content:t,widgetOptions:{addToWatchlistEnabled:!1,hideIdeas:!0, +addVolume:window.ChartApiInstance.studiesAccessController.isToolEnabled("Volume"),muteSessionErrors:!0,timezone:urlParams.timezone,defSymbol:urlParams.symbol,defInterval:u,compareSymbols:urlParams.compareSymbols&&JSON.parse(urlParams.compareSymbols),defTimeframe:urlParams.timeframe,paneContextMenuEnabled:n.enabled("pane_context_menu"),paneContextMenu:{mainSeriesTrade:U},priceScaleContextMenuEnabled:n.enabled("scales_context_menu"),currencyConversionEnabled:n.enabled("pricescale_currency"),unitConversionEnabled:n.enabled("pricescale_unit"),legendWidgetEnabled:n.enabled("legend_widget"),legendWidget:{contextMenu:{settings:n.enabled("show_chart_property_page"),showOpenMarketStatus:n.enabled("display_market_status")}},sourceStatusesWidget:{errorSolution:!1},marketStatusWidgetEnabled:n.enabled("display_market_status"),chartWarningWidget:{subscriptionFullInfo:!1},timeScaleWidget:{contextMenuEnabled:n.enabled("scales_context_menu"),timezoneMenuEnabled:n.enabled("timezone_menu"),priceAxisLabelsOptions:{showLabels:n.enabled("main_series_scale_menu")}},timeScale:{preserveBarSpacing:!1,lockVisibleTimeRangeOnResize:n.enabled("lock_visible_time_range_on_resize"),rightBarStaysOnScroll:n.enabled("right_bar_stays_on_scroll"),minBarSpacing:urlParams.time_scale&&JSON.parse(urlParams.time_scale).min_bar_spacing},goToDateEnabled:n.enabled("go_to_date"),crossHair:{menuEnabled:n.enabled("chart_crosshair_menu")},handleScale:{mouseWheel:n.enabled("mouse_wheel_scale"),pinch:n.enabled("pinch_scale"),axisPressedMouseMove:{time:n.enabled("axis_pressed_mouse_move_scale"),price:n.enabled("axis_pressed_mouse_move_scale")}},handleScroll:{mouseWheel:n.enabled("mouse_wheel_scroll"),pressedMouseMove:n.enabled("pressed_mouse_move_scroll"),horzTouchDrag:n.enabled("horz_touch_drag_scroll"),vertTouchDrag:n.enabled("vert_touch_drag_scroll")},shiftVisibleRangeOnNewBar:n.enabled("shift_visible_range_on_new_bar"),croppedTickMarks:n.enabled("cropped_tick_marks"),countdownEnabled:n.enabled("countdown"),indicatorsDialogShortcutEnabled:n.enabled("insert_indicator_dialog_shortcut")},seriesControlBarEnabled:n.enabled("timeframes_toolbar"),seriesControlBar:{timeFramesWidgetEnabled:!0,timeFramesWidget:{goToDateEnabled:n.enabled("go_to_date"),availableTimeFrames:function(e,t){return e?t!==ee.STATUS_DELAYED&&t!==ee.STATUS_DELAYED_STREAMING&&t!==ee.STATUS_READY?[]:_.filter((function(t){return!(t.requiresIntraday&&!e.has_intraday)&&!(e.supported_resolutions&&!e.supported_resolutions.includes(t.targetResolution))})):[]}},timeWidgetEnabled:!0,timeWidget:{timezoneMenuEnabled:n.enabled("timezone_menu")},adjustForDividendsButtonEnabled:!1,sessionIdButtonEnabled:!1,backAdjustmentButtonEnabled:!1,settlementAsCloseButtonEnabled:!1,percentageScaleButtonEnabled:!0,logScaleButtonEnabled:!0,autoScaleButtonEnabled:!0,fullscreenButtonEnabled:!0,mobileChangeLayoutEnabled:!1},globalEvents:!0,snapshotUrl:urlParams.snapshotUrl,mobileForceChartMaximizeEnabled:!1,saveChartEnabled:n.enabled("save_shortcut")};he&&(Y(),m.widgetOptions.isDrawingToolbarVisible=h),o&&(m.metaInfo={id:o.uid, +name:o.name,description:o.description,uid:o.uid,username:"",tags:""}),window.parent[urlParams.uid].additionalSymbolInfoFields&&se(window.parent[urlParams.uid].additionalSymbolInfoFields),window.parent[urlParams.uid].symbolSearchComplete&&re(window.parent[urlParams.uid].symbolSearchComplete);var g=window.chartWidgetCollection=new q(m);ie(g),window.studyMarket=new x(g),void 0!==G&&G.registerService(j,g),g.activeChartWidget.subscribe((function(e){P.emit("activeChartChanged",g.getAll().indexOf(e))})),window.saver=new f(g);var M=new v(g,window.saver),L=new S(g);window.chartWidget=g.activeChartWidget.value(),window.pro=new TradingView.Pro;var A=function(e){if(!n.enabled("header_widget"))return null;var t=H.allocate({areaName:"top"}),s=new(0,i(9884).ChartChangesWatcher)(e.chartWidgetCollection.undoHistory,e.chartWidgetCollection.lineToolSynchronizerHasChanges,window.saver,P),r=JSON.parse(urlParams.favorites);r.intervals=r.intervals.map((function(e){var t=""+e;return t.match(/1[DWMYdwmy]/)&&(t=t.slice(1)),t}));var o=null;n.enabled("study_templates")&&(o=new b(I,TVSettings),fe=new y({chartWidgetCollection:e.chartWidgetCollection,favoriteStudyTemplatesService:o}));var c=void 0,h=urlParams.header_widget_buttons_mode;"fullsize"===h&&(c=["full"]);"compact"===h&&(c=["small"]);return new l(new a,{chartSaver:window.saver,chartApiInstance:ChartApiInstance,chartWidgetCollection:e.chartWidgetCollection,defaultFavoriteStyles:r.chartTypes,defaultFavoriteIntervals:r.intervals,hideStudyTemplates:!0,resizerBridge:t,studyMarket:window.studyMarket,studyTemplates:fe,favoriteStudyTemplatesService:o,allowedModes:c,saveChartService:e.saveChartService,loadChartService:e.loadChartService,chartChangesWatcher:s,onClick:Ie,snapshotUrl:e.snapshotUrl})}({chartWidgetCollection:g,saveChartService:M,loadChartService:L,snapshotUrl:urlParams.snapshotUrl});null!==A?A.load().then((function(e){me=e.getComponent(),ge.resolve()})):(ge.promise.catch((function(){})),ge.reject("header widget is not loaded"));var k=function(e){if(he){var t=urlParams.toolbarbg&&/^[0-9a-f]+$/i.test(urlParams.toolbarbg)?String(urlParams.toolbarbg):void 0;if(t){var i=document.createElement("style");i.textContent="body,.chart-controls-bar,#footer-chart-panel{background-color:#"+t+" !important}",document.head.appendChild(i)}return new c({bgColor:t,chartWidgetCollection:e,drawingsAccess:urlParams.drawingsAccess?JSON.parse(urlParams.drawingsAccess):void 0,resizerBridge:H.allocate({areaName:"left"}),onClick:Ie})}return null}(g),E=null;window.tradingViewApi=new J({chartWidgetCollection:g,chartApiInstance:window.ChartApiInstance,saveChartService:M,loadChartService:L});if(w.bindToChartWidgetCollection(g),TradingView.isNaN(urlParams.studyCountLimit)||(TradingView.STUDY_COUNT_LIMIT=Math.max(2,+urlParams.studyCountLimit)),!TradingView.isNaN(urlParams.ssreqdelay)){var D=Math.max(0,+urlParams.ssreqdelay);Q(D)}window.ChartApiInstance.connect(), +Promise.all([i.e(3876),i.e(7610),i.e(9448),i.e(3894),i.e(3996),i.e(4078),i.e(7936),i.e(706),i.e(8604),i.e(2359),i.e(2273),i.e(6548),i.e(9843),i.e(7607),i.e(6637),i.e(1941),i.e(4985),i.e(3223),i.e(5514),i.e(306),i.e(4940),i.e(708),i.e(7962),i.e(1890),i.e(5254),i.e(8434),i.e(2306)]).then(i.t.bind(i,45466,23)).then(({default:e})=>{window.lineToolPropertiesToolbar=new e(g)});var V=document.querySelector(".tv-content");function R(){k&&k.load(),E&&E.load().then((function(e){window.footerWidget=e.getComponent()}))}null!==V&&V.addEventListener("contextmenu",(function(e){null!==e.target&&"input"!==e.target.tagName.toLowerCase()&&"textarea"!==e.target.tagName.toLowerCase()&&e.preventDefault()})),ce.resolve(),g.undoHistory.undoStack().onChange().subscribe(null,B((function(){P.emit("onAutoSaveNeeded")}),1e3*(urlParams.autoSaveDelay||5),{leading:!1,trailing:!0})),window.chartWidget.withModel(null,(function(){if(ChartApiInstance.on("realtime_tick",(function(e){P.emit("onTick",e)})),!d.savedThemeName()&&pe){var e=d.getStdTheme(pe);e&&e.content&&void 0===t&&g.applyTheme(e.content,!1,!1,pe,!0,!0).then(()=>window.applyOverrides(window.__defaultsOverrides))}n.enabled("charting_library_debug_mode")&&P.subscribeToAll((function(){var e=Array.prototype.slice.call(arguments);console.log('Event "{0}", arguments: {1}'.format(e[0],JSON.stringify(e.slice(1))))})),$&&($(g),$=null),K&&(K(g,{seriesControlBarEnabled:n.enabled("timeframes_toolbar")}),K=null)})),p.isAnyChartWidgetInitialized(g)?R():p.waitAnyChartWidgetInitialized(g,R),P.subscribe("chart_load_requested",(function(e){window.tradingViewApi.loadChart({json:JSON.parse(e.content),extendedData:e})}))};window.addEventListener("unload",(function(){window.ChartApiInstance&&window.ChartApiInstance.disconnect(),window.chartWidgetCollection&&(window.chartWidgetCollection.destroy(),window.chartWidgetCollection=null),F(),window.ChartApiInstance&&(window.ChartApiInstance.destroy(),window.ChartApiInstance=null)})),n.enabled("saveload_storage_customization")&&(window.parent[urlParams.uid].saveLoadAdapter?_.setCustomAdapter(window.parent[urlParams.uid].saveLoadAdapter):void 0!==urlParams.chartsStorageUrl&&urlParams.chartsStorageUrl&&void 0!==urlParams.clientId&&urlParams.clientId?_.initialize(urlParams.clientId,urlParams.userId,urlParams.chartsStorageUrl,urlParams.chartsStorageVer||"1.0"):(n.setEnabled("saveload_storage_customization",!1),n.setEnabled("header_saveload",!1)));var Se=M();function ye(){Se.resolve()}window.parent[urlParams.uid].loadLastChart&&n.enabled("saveload_storage_customization")?_.getCharts().then((function(e){if(0!==e.length){var t=e.sort((function(e,t){return t.modified_iso-e.modified_iso}))[0];_.getChartContent(t).then((function(e){var t=JSON.parse(e.content);t.extendedData=e,urlParams.chartContent=JSON.stringify({json:t}),ye()})).catch(ye)}else ye()})).catch(ye):ye();var be,we,Pe=M();Promise.all([Pe.promise,Se.promise]).then((function(){var e,t,i,s,r,o,a=document.querySelector(".loading-indicator");if(a&&(a.style.display="none"),setTimeout(ve,0), +n.enabled("14851")&&Math.random()<=.02){e=window,t=document,i="script",s="ga",e.GoogleAnalyticsObject=s,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,r=t.createElement(i),o=t.getElementsByTagName(i)[0],r.async=1,r.src="//www.google-analytics.com/analytics.js",o.parentNode.insertBefore(r,o);var l=document.URL.match(new RegExp("(:?.*://)([^/]+)/.*"))[2];ga("create","UA-112911840-1","auto"),ga("set","anonymizeIp",!0),ga("set",{hostname:l,page:l,referrer:l}),ga("send","pageview")}})),be=!0,window.parent[urlParams.uid].datafeed.onReady((function(e){be&&console.warn("`onReady` should return result asynchronously. Use `setTimeout` with 0 interval to execute the callback function."),window.configurationData=e,Pe.resolve()})),be=!1,window.getFunctionFromArguments=function(e){return window.parent[urlParams.uid][e]},window.createShortcutAction=(we=m.createGroup({desc:"API"}),function(e,t){we.add({hotkey:g(e),handler:t})}),window.initializationFinished=function(){window.chartWidgetCollection.undoHistory.clearStack()},window.headerReady=function(){return ge.promise},window.createButton=function(e){if(null===me)throw new Error("Cannot create button: header widget is not ready or is not loaded - use `headerReady` to wait until header is ready");var t=(e=e||{}).align||"left";return me.addButton(A(),t)},window.createDropdown=function(e){if(void 0===e)throw new Error("Cannot create dropdown without any parameters. Please refer to the documentation");void 0===e.align&&(e.align="left");const t=A();return me?(me.addDropdown(t,e),Promise.resolve(new ne(me,t))):ge.promise.then(()=>(me.addDropdown(t,e),new ne(me,t)))},window.getAllFeatures=function(){const e=n.getAllFeatures();return Object.keys(e).forEach((function(t){isNaN(parseFloat(t))||delete e[t]})),e};var Ce=null;window.getNavigationButtonsVisibility=function(){return null===Ce&&(Ce=k(E())),Ce};var Te=null;window.getPaneButtonsVisibility=function(){return null===Te&&(Te=k(D())),Te};var xe=null;function Ie(e){var t=TradingView.bottomWidgetBar;t&&t.turnOffMaximize()}window.getDateFormat=function(){return null===xe&&(xe=k(V)),xe}},79039:(e,t,i)=>{e=i.nmd(e),TradingView.cleanButAmpersand=function(e,t){var i=t?["&"]:["&"];return TradingView.clean(e,t,i)},TradingView.strip_tags=function(e){return e&&e.replace?e.replace(/(<([^>]+)>)/gi,""):e},TradingView.encodeSpread=function(e){return encodeURIComponent(e)},TradingView.clean=function(e,t,i){var s=[["&","&"],["<","<"],[">",">"],['"',"""],["'","'"],["'","'"]],r=e;if(!e||!e.replace)return r;for(var n=0;n{"use strict";i.r(t);var s=i(2308),r=i(87438),n=i(74384);function o(e,t=!1){ +"loading"!==document.readyState?t?setTimeout(()=>e(),1):e():document.addEventListener("DOMContentLoaded",()=>e())}new Promise(e=>{o(e)});function a(e,t="x"){let i=!1;return"x"!==t&&"both"!==t||(i=i||e.offsetWidth{document.addEventListener("mouseenter",e=>{const t=e.target;if(t instanceof HTMLElement&&t.matches(".apply-overflow-tooltip")){let e="x";if(t.matches(".apply-overflow-tooltip--direction_both")?e="both":t.matches(".apply-overflow-tooltip--direction_y")&&(e="y"),t.matches(".apply-overflow-tooltip--check-children")){let i=!1;const s=t.children;for(let t=0;t(t.nodeType===Node.TEXT_NODE&&e.push(t.textContent||""),e),[]).join("").trim(),(0,n.showOnElement)(t,{text:i});const s=()=>{(0,n.hide)(),["mouseleave","mousedown"].forEach(e=>t.removeEventListener(e,s))};["mouseleave","mousedown"].forEach(e=>t.addEventListener(e,s))}},!0)});var l=i(5729),c=i.n(l),h=i(68177),d=i(7532);let u;function p(e){window.iframeAuthWidget&&!1===window.user.profile_data_filled&&(window.iframeAuthWidget.preventClose=!0);const t=window.user.available_offers||{};window.TVSettings&&window.TVSettings.sync(window.user.settings),window.is_authenticated?(e||(initOfferLoginStateChangeButton(),onGoPro()&&window.user.is_pro&&window.location.reload()),!1===window.user.profile_data_filled&&((0,r.trackEvent)("Conversion","First login"),delete window.user.profile_data_filled)):(Object.keys(t).forEach(e=>{const i=e;t[i].available_for_anons||delete t[i]}),window.user={username:"Guest",following:"0",followers:"0",ignore_list:[],available_offers:t},h.TVLocalStorage.removeItem("trial_availiable"))}u=window.loginStateChange?window.loginStateChange:window.loginStateChange=new(c()),u.subscribe(null,p),s.TVXWindowEvents.on("loginStateChange",e=>{const t=JSON.parse(e);window.user=t.user,window.is_authenticated=!!t.is_authenticated,u.fire()}),s.TVXWindowEvents.on("signOut",()=>{!function(){if(window.initData.lfs){const e=document.getElementsByClassName("js-admin-warning")[0];document.body.removeChild(e)}let e=!0;[/^\/chart\//,/^\/share-your-love\//].forEach(t=>{t.test(window.location.pathname)&&(e=!1)}),e&&window.location.reload()}()}),(()=>{const e={};window.crossTabSyncUserAttr=e=>{const t={};e instanceof Array?e.forEach(e=>{t[e]=window.user[e]}):t[e]=window.user[e],s.TVXWindowEvents.emit("user-obj-changed",JSON.stringify(t))},s.TVXWindowEvents.on("user-obj-changed",t=>{const i=JSON.parse(t);let s;for(s in i)if(i.hasOwnProperty(s)){window.user[s]=i[s];(e[s]||[]).forEach(e=>{e.fire(i[s])})}})})(),window.TradingView.changeLoginState=e=>{window.is_authenticated=!!e,s.TVXWindowEvents.emit("loginStateChange",JSON.stringify({is_authenticated:window.is_authenticated,user:window.user})),u.fire()},window.loginUser=function(e,t){ +window.TVDialogs&&window.TVDialogs.signModal&&window.TVDialogs.signModal.close(),window.user=(0,d.deepExtend)({},e),window.TradingView.changeLoginState(!0),"function"==typeof t&&window.TVDialogs&&window.TVDialogs.signModal?window.TVDialogs.signModal.on("signinSuccess",()=>{t()}):"function"==typeof t&&t()},window.loginRequiredDelegate=new(c()),window.runOrSignIn=(e,t)=>{t||(t={}),e()},window.onLoginStateChange=p,window.TradingView.setTrialAvailiable=e=>{h.TVLocalStorage.setItem("trial_availiable",e?"1":"0")},window.TradingView.notificationsChanged=new(c())},50968:(e,t,i)=>{"use strict";i.r(t),i.d(t,{generateColor:()=>r,alphaToTransparency:()=>n,transparencyToAlpha:()=>o,applyTransparency:()=>a,resetTransparency:()=>l,getLuminance:()=>c,isHexColor:()=>h,colorFromBackground:()=>d,gradientColorAtPercent:()=>u,isColorDark:()=>p,rgbaFromInteger:()=>_,rgbaToInteger:()=>m,colorToInteger:()=>g});var s=i(14563);function r(e,t,i){if(t=t||0,!h(e))return i?(0,s.rgbaToString)((0,s.rgba)((0,s.parseRgb)(e),(0,s.normalizeAlphaComponent)(o(t)))):e;const[r,n,a]=(0,s.parseRgb)(e),l=(0,s.normalizeAlphaComponent)(o(t));return(0,s.rgbaToString)([r,n,a,l])}function n(e){return 100*(1-e)}function o(e){if(e<0||e>100)throw new Error("invalid transparency");return 1-e/100}function a(e,t){if("transparent"===e)return e;const i=(0,s.parseRgba)(e),r=i[3];return(0,s.rgbaToString)((0,s.rgba)(i[0],i[1],i[2],o(t)*r))}function l(e){return"transparent"===e||h(e)?e:(0,s.rgbaToString)((0,s.rgba)((0,s.parseRgb)(e),(0,s.normalizeAlphaComponent)(1)))}function c(e){const t=(0,s.parseRgb)(e).map(e=>(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4));return Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function h(e){return 0===e.indexOf("#")}function d(e){return"black"===(0,s.rgbToBlackWhiteString)((0,s.parseRgb)(e),150)?"#ffffff":"#000000"}function u(e,t,i){const[r,n,o,a]=(0,s.parseRgba)(e),[l,c,h,d]=(0,s.parseRgba)(t),u=(0,s.rgba)(Math.round(r+i*(l-r)),Math.round(n+i*(c-n)),Math.round(o+i*(h-o)),a+i*(d-a));return(0,s.rgbaToString)(u)}function p(e){return c(l(e))<.5}function _(e){const t=(e=Math.round(e))%256;e-=t;const i=(e/=256)%256;e-=i;const s=(e/=256)%256;e-=s;return`rgba(${t},${i},${s},${(e/=256)/255})`}function m(e){const t=Math.round(255*e[3]);return e[0]+256*e[1]+65536*e[2]+16777216*t}function g(e){const t=(0,s.tryParseRgba)(e);return null===t?0:m(t)}},99432:(e,t,i)=>{"use strict";i.d(t,{doAnimate:()=>n});const s={from:0,duration:250,easing:i(83939).easingFunc.easeOutCubic};class r{constructor(e){this._doing=!0,this._completed=!1,this._options={...s,...e};const t=performance.now();window.requestAnimationFrame(e=>{this._animation(t,this._options.from,e)})}stop(){this._doing=!1}completed(){return this._completed}_animation(e,t,i){if(!this._doing)return void this._finishAnimation();const s=(i=!i||i<1e12?performance.now():i)-e,r=s>=this._options.duration||t===this._options.to,n=(o=this._options.from,a=this._options.to,l=this._options.easing(s/this._options.duration),o*(1-l)+a*l);var o,a,l;const c=r?this._options.to:n,h=c-t +;this._options.onStep(h,c),r?this._finishAnimation():window.requestAnimationFrame(t=>{this._animation(e,c,t)})}_finishAnimation(){this._options.onComplete&&this._options.onComplete(),this._completed=!0}}function n(e){return new r(e)}},95152:(e,t,i)=>{"use strict";i.d(t,{fetch:()=>s});(0,i(65447).getLogger)("Fetch");function s(e,t,i={}){return window.fetch(e,t)}},65447:(e,t,i)=>{"use strict";i.r(t),i.d(t,{LOGLEVEL:()=>n,getLogLevel:()=>_,isHighRateEnabled:()=>m,setLogLevel:()=>g,getRawLogHistory:()=>f,serializeLogHistoryEntry:()=>v,getLogHistory:()=>S,getLogger:()=>b,loggingOn:()=>P,loggingOff:()=>C});const s="undefined"!=typeof window?window:{};let r=!1;try{localStorage.getItem(""),r=!0}catch(e){}var n;!function(e){e[e.ERROR=1]="ERROR",e[e.WARNING=2]="WARNING",e[e.INFO=3]="INFO",e[e.NORMAL=4]="NORMAL",e[e.DEBUG=5]="DEBUG"}(n||(n={}));let o=0;const a=[];let l=null,c=null,h=null,d=NaN,u=n.WARNING,p=!1;function _(){return u}function m(){return p}function g(e){e=Math.max(n.ERROR,Math.min(n.DEBUG,e)),u=e,T()}function f(e,t){let i=a.reduce((e,t)=>e.concat(t),[]);return i.sort((e,t)=>e.id-t.id),void 0!==t&&(i=i.filter(e=>e.subSystemId===t)),"number"==typeof e&&(i=i.slice(-e)),i}function v(e){return new Date(e.timestamp).toISOString()+":"+e.subSystemId+":"+e.message.replace(/"/g,"'")}function S(e,t){return function(e,t){let i,s=0,r=0;for(i=e.length-1;i>=1&&(s+=8*(1+encodeURIComponent(e[i]).length),!(i-1>0&&(r=8*(1+encodeURIComponent(e[i-1]).length),s+r>t)));i--);return e.slice(i)}(f(e,t).map(v),75497472)}function y(e,t,i,s){if(t===c&&s.id===h)return;const r=new Date;if(e<=n.NORMAL&&function(e,t,i,s,r){"function"==typeof structuredClone&&(t=structuredClone(t));const n={id:o,message:t,subSystemId:s,timestamp:Number(e)};o+=1,i.push(n),void 0!==r&&i.length>r&&i.splice(0,1)}(r,t,i,s.id,s.maxCount),e<=u&&(!s.highRate||m())&&(!l||s.id.match(l))){const i=r.toISOString()+":"+s.id+":"+t;switch(e){case n.DEBUG:console.debug(i);break;case n.INFO:case n.NORMAL:s.color?console.log("%c"+i,"color: "+s.color):console.log(i);break;case n.WARNING:console.warn(i);break;case n.ERROR:console.error(i)}c=t,h=s.id,d&&clearTimeout(d),d=setTimeout(()=>{c=null,h=null,d=NaN},1e3)}}function b(e,t={}){const i=[];a.push(i);const s=Object.assign(t,{id:e});function r(e){return t=>y(e,String(t),i,s)}return{logDebug:r(n.DEBUG),logError:r(n.ERROR),logInfo:r(n.INFO),logNormal:r(n.NORMAL),logWarn:r(n.WARNING)}}const w=b("logger"),P=s.lon=(e,t)=>{g(n.DEBUG),w.logNormal("Debug logging enabled"),p=Boolean(e),l=t||null,T()},C=s.loff=()=>{g(n.INFO),w.logInfo("Debug logging disabled")};function T(){try{r&&(localStorage.setItem("tv.logger.logHighRate",String(p)),localStorage.setItem("tv.logger.loglevel",String(u)))}catch(e){w.logWarn(`Cannot save logger state (level: ${u}, high-rate: ${p}) to localStorage: ${e.message}`)}}!function(){p=!!r&&"true"===localStorage.getItem("tv.logger.logHighRate");let e=parseInt(r&&localStorage.getItem("tv.logger.loglevel")||"");Number.isNaN(e)&&(e=n.WARNING),g(e),w.logNormal(`Init with settings - level: ${u}, high-rate: ${p}`)}(), +s.performance&&s.performance.now?w.logNormal("Sync logger and perf times, now is "+s.performance.now()):w.logWarn("Perf time is not available")},73395:(e,t,i)=>{"use strict";function s(e,t,i,s){return`${s?s+" ":""}${i?i+" ":""}${e}px ${t}`}i.d(t,{makeFont:()=>s,parseFont:()=>n});const r=/(bold )?(italic )?(\d+)(px|pt) (.*)$/;function n(e){const t=r.exec(e);return null===t?null:{family:t[5],size:parseInt(t[3])*("pt"===t[4]?.75:1),bold:Boolean(t[1]),italic:Boolean(t[2])}}},81447:(e,t,i)=>{"use strict";i.d(t,{visitObject:()=>n});var s=i(47903);function r(e,t,i){return(0,s.isArray)(e)?function(e,t,i){return e.map(e=>{const s=r(e,t,i),n=t(s);return void 0!==n?n:s})}(e,t,i):(0,s.isObject)(e)&&((0,s.isHashObject)(e)||i&&i.visitInstances)?function(e,t,i){const s={};return Object.keys(e).forEach(n=>{const o=r(e[n],t,i),a=t(o);s[n]=void 0!==a?a:o}),s}(e,t,i):e}function n(e,t,i){const s=r(e,t,i),n=t(s);return void 0!==n?n:s}},46568:(e,t,i)=>{"use strict";function s(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}i.d(t,{regExpEscape:()=>s})},76553:(e,t,i)=>{"use strict";i.r(t),i.d(t,{isRtl:()=>r,stripLTRMarks:()=>o,startWithLTR:()=>a,forceLTRStr:()=>l,forceLTRStrSsr:()=>c,forceRTLStr:()=>h,getLTRScrollLeft:()=>d,getLTRScrollLeftOffset:()=>u,detectAutoDirection:()=>m});var s=i(46417);const r=()=>"rtl"===window.document.dir,n=new RegExp("‎|‪|‫|‬","g");function o(e){return""!==e&&r()&&null!=e?e.replace(n,""):e}function a(e){return""!==e&&r()&&null!=e?"‎"+e:e}function l(e){return""!==e&&r()&&null!=e?"‪"+e+"‬":e}function c(e){return"‪"+e+"‬"}function h(e){return""!==e&&r()&&null!=e?"‫"+e+"‬":e}function d(e){return(0,s.getNormalizedScrollLeft)(e,"rtl")}function u(e,t){const i=(0,s.detectScrollType)();if("indeterminate"===i)return 0;switch(i){case"negative":t=e.clientWidth-e.scrollWidth+t;break;case"reverse":t=e.scrollWidth-e.clientWidth-t}return t}const p=/[^\u0000-\u0040\u005B-\u0060\u007B-\u00BF\u00D7\u00F7\u02B9-\u02FF\u2000-\u200E\u2010-\u2029\u202C\u202F-\u2BFF]/,_=/[\u0590-\u07FF\u200F\u202B\u202E\uFB1D-\uFDFD\uFE70-\uFEFC]/;function m(e){const t=p.exec(e);return t?_.test(t[0])?"rtl":"ltr":""}},83939:(e,t,i)=>{"use strict";i.d(t,{CubicBezier:()=>s.CubicBezier,dur:()=>s.dur,easingFunc:()=>s.easingFunc});var s=i(8596)},41062:(e,t,i)=>{"use strict";function s(){return Promise.all([i.e(3876),i.e(7039),i.e(8193),i.e(2614),i.e(5514),i.e(306),i.e(2402),i.e(1829),i.e(2077)]).then(i.bind(i,12028))}i.d(t,{loadChangeIntervalDialog:()=>s})},21273:(e,t,i)=>{"use strict";i.d(t,{showChangeIntervalDialogAsync:()=>n});var s=i(41062);let r=null;function n(e){const t=r=(0,s.loadChangeIntervalDialog)().then(i=>{t===r&&i.showChangeIntervalDialog(e)});return t}},98737:(e,t,i)=>{"use strict";function s(e){ +return Promise.all([i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(4078),i.e(8193),i.e(9602),i.e(9305),i.e(587),i.e(1778),i.e(6333),i.e(2321),i.e(9423),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(1829),i.e(7591),i.e(7365),i.e(2444),i.e(9628),i.e(1859)]).then(i.bind(i,93548)).then(t=>t.showGoToDateDialog(e))}i.d(t,{showGoToDateDialog:()=>s})},97102:(e,t,i)=>{"use strict";i.d(t,{showTooManyStudiesNotice:()=>n});var s=i(79881),r=i(87614);function n(e){"number"!=typeof e&&(e=TradingView.STUDY_COUNT_LIMIT),(0,r.showWarning)({title:(0,s.t)("Warning"),text:(0,s.t)("Studies limit exceeded: {number} studies per layout.\nPlease, remove some studies.").format({number:e})})}},42677:(e,t,i)=>{"use strict";i.d(t,{StudyMarket:()=>n});var s=i(32856),r=i.n(s);class n{constructor(e,t){this._visibility=new(r())(!1),this._dialogPromise=null,this._dialog=null,this._chartWidgetCollection=e,this._options=t}visible(){return this._visibility.readonly()}show(e,t){var i;null===this._dialog&&this._requestDialog(e,t),null===(i=this._dialog)||void 0===i||i.open(e,void 0,t)}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}resetAllPages(){var e;null===(e=this._dialog)||void 0===e||e.resetAllStudies()}_requestDialog(e,t){if(null===this._dialogPromise){let s;s=Promise.all([i.e(3876),i.e(7039),i.e(4595),i.e(5698),i.e(4078),i.e(3708),i.e(2359),i.e(2850),i.e(9256),i.e(5514),i.e(306),i.e(2402),i.e(3590),i.e(6456)]).then(i.bind(i,36108)).then(e=>new e.IndicatorsLibraryContainer(this._chartWidgetCollection,this._options)),this._dialogPromise=s.then(i=>{this._dialog=i,this._dialog.visible().subscribe(e=>{this._visibility.setValue(e)}),this._dialog.open(e,void 0,t)})}return this._dialogPromise}}},10426:(e,t,i)=>{"use strict";i.d(t,{setAdditionalSymbolInfoFields:()=>r,getAdditionalSymbolInfoFields:()=>n});let s=[];function r(e){s=e}function n(){return s}},41543:(e,t,i)=>{"use strict";function s(e,t){Promise.all([i.e(3876),i.e(7039),i.e(5410),i.e(5514),i.e(306),i.e(2402),i.e(9374)]).then(i.t.bind(i,69303,19)).then(i=>{i.showSymbolInfoDialog(e,t)})}i.d(t,{showSymbolInfoDialog:()=>s})},55799:(e,t,i)=>{"use strict";i.d(t,{ChartSaverBase:()=>s});class s{constructor(e){this._chartWidgetCollection=e}saveChartLineTools(e,t,i){return Promise.reject("Line tools storage is not supported")}_getCommonSavingInfo(e){const t=this._chartWidgetCollection,i=this._chartWidgetCollection.chartsSymbols(),s=i[t.activeChartWidget.value().id()],r={...(n=s,{...n,legs:JSON.stringify(null!==(o=n.legs)&&void 0!==o?o:[])})};var n,o;const a=t.metaInfo;return a.id.value()&&(r.id=a.id.value()),r.name=a.name.value()||"",r.description=a.description.value()||"",r.charts_symbols=function(e){const t={};for(const i of Object.keys(e))t[i]={symbol:e[i].symbol};return JSON.stringify(t)}(i),r.is_realtime=r.is_realtime=e?"0":"1",r}_saveLineToolsToStorage(){return Promise.resolve()}}},89171:(e,t,i)=>{"use strict";var s=i(5729),r=i(79881).t,n=i(16282).assert,o=i(47903).deepEquals,a=i(90774).backend,l=i(55799).ChartSaverBase +;r("The publication preview could not be loaded. Please disable your browser extensions and try again."),r("Failed to save library"),r("Failed to save script");function c(e,t){e.content=JSON.stringify(t)}t.ChartSaver=class extends l{constructor(e){super(e),this._chartAboutToBeSavedDelegate=new s,this._chartSavedDelegate=new s,this._prevChartState=null,this._chartSizeLimitExceededDelegate=new s}chartSizeLimitExceeded(){return this._chartSizeLimitExceededDelegate}chartAboutToBeSaved(){return this._chartAboutToBeSavedDelegate}chartSaved(){return this._chartSavedDelegate}whenReadyToSave(e){var t=this._chartWidgetCollection.activeChartWidget.value().model().mainSeries();if(t.hasDelayedSymbolIntervalChange()){var i,s=null;i=function(){t.dataEvents().symbolError().unsubscribe(null,s,!0),e()},s=function(){t.dataEvents().symbolResolved().unsubscribe(null,i,!0)},t.dataEvents().symbolResolved().subscribe(null,i,!0),t.dataEvents().symbolError().subscribe(null,s,!0)}else e()}saveToJSON(){var e=this._getCommonSavingInfo(!1);return c(e,this._getChartWidgetCollectionState(!1,!0)),e}_getChartWidgetCollectionState(e,t,i,s,r){return e||(t=!0,s=!1),t?this._chartWidgetCollection.state(!!e,i,s,r):this._chartWidgetCollection.activeChartWidget.value().state(!!e,i,s,r)}publishChart(e){}publishScript(e,t,i){}onPublish(e,t){}_saveChartImpl(e,t,i,s,r,n){var o=i,l=s;if(o=function(s){t.id.value()||(t.id.setValue(s),t.uid.setValue(s)),"function"==typeof i&&i(t,e)},!e.name)return console.warn("Saving chart with empty name is not allowed"),void s();a.saveChart(e.name,e.short_name,e.resolution,e,t).then(o.bind(this)).catch(l.bind(this))}_saveChart(e,t,i,s){var r=this._chartWidgetCollection.metaInfo,n=function(n){return o(this._prevChartState,n)[0]&&null!=r.id.value()?(this._chartSavedDelegate.fire(!0),void(t&&t(r,n))):this._saveChartImpl(n,r,t,i,s,e)}.bind(this);this._saveLineToolsToStorage().then((function(){var t=e(!0);return n(t)})).catch((function(t){var i=e(!1);return n(i)}))}saveChartSilently(e,t,i){i=i||{};var s=function(e){var t=e&&(void 0)("remove_line_tools_from_content"),s=this._getChartWidgetCollectionState(!1,void 0,void 0,void 0,t),r=this._getCommonSavingInfo(!1,t);return c(r,s),i.chartName&&(r.name=i.chartName),r.name&&0!==r.name.length||!i.defaultChartName||(r.name=i.defaultChartName),i.autoSave&&(r.autoSave=!0),r}.bind(this);this._isSaveInProcess=!0,this._chartAboutToBeSavedDelegate.fire(),this._saveChart(s,function(t,i){n(!this._chartWidgetCollection.readOnly(),"Trying to save layout in read-only mode"),this._chartWidgetCollection.metaInfo.name.setValue(i.name),this._prevChartState=i,this._chartSavedDelegate.fire(!0),this._isSaveInProcess=!1,e&&e({uid:t.uid.value(),data:i}),delete this._prevChartState.savingToken}.bind(this),function(){this._chartSavedDelegate.fire(!1),this._isSaveInProcess=!1,t&&t.apply(null,arguments)}.bind(this),i)}isSaveInProcess(){return this._isSaveInProcess}}},7691:(e,t,i)=>{"use strict";i.d(t,{getTranslatedSymbolDescription:()=>s});i(79881);function s(e){return e.description||""}},22675:(e,t,i)=>{ +"use strict";function s(e){return e+"…"}i.d(t,{appendEllipsis:()=>s})},85545:(e,t,i)=>{"use strict";function s(e){let t;if("object"!=typeof e||null==e||"number"==typeof e.nodeType)t=e;else if(e instanceof Date)t=new Date(e.valueOf());else if(Array.isArray(e)){t=[];let i=0;const r=e.length;for(;is})},7532:(e,t,i)=>{"use strict";function s(e,...t){return e&&"object"==typeof e?(0===t.length||t.forEach(t=>{null!=t&&"object"==typeof t&&Object.keys(t).forEach(i=>{const n=e[i],o=t[i];if(o===e)return;const a=Array.isArray(o);if(o&&(r(o)||a)){let t;t=a?n&&Array.isArray(n)?n:[]:n&&r(n)?n:{},e[i]=s(t,o)}else void 0!==o&&(e[i]=o)})}),e):e}function r(e){if(!e||"[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);if(!t)return!0;const i=Object.hasOwnProperty.toString,s=t.hasOwnProperty("constructor")&&t.constructor;return"function"==typeof s&&i.call(s)===i.call(Object)}i.d(t,{deepExtend:()=>s})},97849:(e,t,i)=>{"use strict";function s(e){if(void 0===e)return"";if(e instanceof Error){let t=e.message;return e.stack&&(t+=" "+e.stack),t}return"string"==typeof e?e.toString():JSON.stringify(e)}i.d(t,{errorToString:()=>s})},28994:(e,t,i)=>{"use strict";i.d(t,{getTwemojiUrl:()=>r});var s=i(45623);function r(e,t){let i="";return s.default.parse(e,e=>(i=s.default.base+("svg"===t?`svg/${e}.svg`:`72x72/${e}.png`),!1)),i}},45259:(e,t,i)=>{"use strict";i.r(t),i.d(t,{guid:()=>r,randomHash:()=>n,randomHashN:()=>o});const s="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function r(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function n(){return o(12)}function o(e){let t="";for(let i=0;i{"use strict";i.d(t,{parseHtml:()=>r,parseHtmlElement:()=>n});const s=new WeakMap;function r(e,t){let i,r;return i=null==t?document.documentElement:9===t.nodeType?t.documentElement:t,s&&(r=s.get(i)),r||(r=i.ownerDocument.createRange(),r.selectNodeContents(i),s&&s.set(i,r)),r.createContextualFragment(e)}function n(e,t){const i=r(e,t),s=i.firstElementChild;return null!==s&&i.removeChild(s),s}},39197:(e,t,i)=>{"use strict";function s(e){e.preventDefault()}i.d(t,{preventDefault:()=>s,preventDefaultForContextMenu:()=>n});const r=["input:not([type])",'input[type="text"]','input[type="email"]','input[type="password"]','input[type="search"]','input[type="number"]','input[type="url"]',"textarea","a[href]",'*[contenteditable="true"]',"[data-allow-context-menu]"];function n(e){const t=e.target;t&&!t.closest(r.join(", "))&&e.preventDefault()}},5225:(e,t,i)=>{"use strict";i.d(t,{htmlEscape:()=>n,removeSpaces:()=>o,capitalizeFirstLetterInWord:()=>a});const s=/[<"'&>]/g,r=e=>`&#${e.charCodeAt(0)};`;function n(e){return e.replace(s,r)}function o(e=""){ +return e.replace(/\s+/g,"")}function a(e=""){return e.replace(/\b\w/g,e=>e.toUpperCase())}},4334:(e,t,i)=>{"use strict";function s(e){return e.reduce((function(e,t,i){return~e.indexOf(t)||e.push(t),e}),[])}i.r(t),i.d(t,{uniq:()=>s})},26134:(e,t,i)=>{"use strict";i.d(t,{ChunkLoader:()=>s});class s{constructor(){this._retries=5,this._cache=null,this._tryLoad=e=>{this._retries=this._retries-1;this._startLoading().then(e,0!==this._retries?()=>setTimeout(()=>this._tryLoad(e),3e3):void 0)}}load(){return this._cache||(this._cache=new Promise(this._tryLoad)),this._cache}}},33350:(e,t,i)=>{"use strict";function s(e,t){const i=e.files&&e.files.length>0;if(!i&&t&&t.eventPhase>0)return r(t,e),Promise.resolve();if(!i){let t=!1;const i=i=>{i.stopImmediatePropagation(),r(i,e),t=!0};try{document.addEventListener("copy",i,!0),document.execCommand("copy")}finally{document.removeEventListener("copy",i,!0)}if(t)return Promise.resolve()}return async function(e){if(!navigator.clipboard||!navigator.clipboard.write||!window.ClipboardItem)throw new DOMException("ClipboardApi is not supported","NotSupportedError");const t={};for(const i of e.files||[])t[i.type]=i;e.text&&(t["text/plain"]=e.text);e.html&&(t["text/html"]=e.html);return navigator.clipboard.write([new window.ClipboardItem(t)])}(e)}function r(e,t){e.preventDefault();const i=e.clipboardData;t.text&&i.setData("text/plain",t.text),t.html&&i.setData("text/html",t.html)}async function n(e,t){if("text/plain"===t&&!navigator.clipboard.write){const t=await e;return navigator.clipboard.writeText(await t.text())}if(!navigator.clipboard||!navigator.clipboard.write||!window.ClipboardItem)throw new DOMException("ClipboardApi is not supported","NotSupportedError");let i=null;try{i=new window.ClipboardItem({[t]:e})}catch(s){i=new window.ClipboardItem({[t]:await e})}if(i)return navigator.clipboard.write([i]);throw new Error("ClipboardApi is not supported")}i.d(t,{writeImpl:()=>s,writePromiseUsingApi:()=>n})},50494:(e,t,i)=>{"use strict";function s(e){if(void 0===e)return null;const t=e.match(/(delayed_streaming)_([\d]{1,4})/);return null===t?null:{mode:t[1],interval:parseInt(t[2])}}i.d(t,{parseUpdateMode:()=>s})},10165:(e,t,i)=>{"use strict";var s,r;i.r(t),i.d(t,{WeekDays:()=>s,Months:()=>r}),function(e){e[e.SUNDAY=1]="SUNDAY",e[e.MONDAY=2]="MONDAY",e[e.TUESDAY=3]="TUESDAY",e[e.WEDNESDAY=4]="WEDNESDAY",e[e.THURSDAY=5]="THURSDAY",e[e.FRIDAY=6]="FRIDAY",e[e.SATURDAY=7]="SATURDAY"}(s||(s={})),function(e){e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER"}(r||(r={}))},61389:(e,t,i)=>{"use strict";function s(){let e,t;return{promise:new Promise((i,s)=>{e=i,t=s}),reject:t,resolve:e}}i.d(t,{createDeferredPromise:()=>s})},42971:(e,t,i)=>{"use strict";function s(e=location.host){ +return-1!==["i18n.tradingview.com","partial.tradingview.com","www.tradingview.com","wwwcn.tradingview.com"].indexOf(e)||-1!==["d33t3vvu2t2yu5.cloudfront.net","dwq4do82y8xi7.cloudfront.net","s.tradingview.com","s3.tradingview.com"].indexOf(e)||e.match(/^[a-z]{2}\.tradingview\.com/)||e.match(/prod-[^.]+.tradingview.com/)?"battle":e.includes("tradingview.com")||e.includes("staging")?"staging":e.match(/webcharts/)?"staging_local":(e.match(/^localhost(:\d+)?$/),"local")}function r(){return"local"===s()}function n(){return"battle"===s()}function o(){return!n()}i.r(t),i.d(t,{environment:()=>s,isLocal:()=>r,isProd:()=>n,isDebug:()=>o})},52541:(e,t,i)=>{"use strict";i.d(t,{preventDefault:()=>r,wrapHandlerWithPreventEvent:()=>n,preventScrollByWheelClick:()=>o});var s=i(43367);function r(e){e.cancelable&&e.preventDefault()}function n(e){return t=>{r(t),e()}}function o(e){s.isChrome&&e.addEventListener("mousedown",e=>{if(1===e.button)return e.preventDefault(),!1})}},85103:(e,t,i)=>{"use strict";i.d(t,{FeatureToggleWatchedValue:()=>n});var s=i(32856),r=i.n(s);class n extends(r()){constructor(e,t){super(function(e,t){return t}(0,t))}destroy(){0}}},67869:(e,t,i)=>{"use strict";var s=i(68177).TVLocalStorage,r=i(5729);i(43367);var n=new r;TradingView.FeatureToggle={force_prefix:"forcefeaturetoggle.",onChanged:new r,enableFeature:function(e){s.setItem(this.force_prefix+e,"true"),n.fire(e)},disableFeature:function(e){s.setItem(this.force_prefix+e,"false"),n.fire(e)},resetFeature:function(e){s.removeItem(this.force_prefix+e),n.fire(e)},onFeaturesStateChanged:function(){return n}},TradingView.isFeatureEnabled=function(e){function t(e){try{var t=(void 0)(e+function(){if(window.user&&window.user.id)return window.user.id;var e=s.getItem("featuretoggle_seed");return null!==e||(e=Math.floor(1e6*Math.random()),s.setItem("featuretoggle_seed",e)),e}());return new DataView(t).getUint32(0,!0)/4294967296}catch(e){return.5}}return function(i){return!("local"!==window.environment||!function(e){var t=new RegExp("broker_[A-Z]+[a-zA-Z0-9_]+_dev","g"),i=new RegExp("hide_[A-Z]+[a-zA-Z0-9_]+_on_ios","g"),s=new RegExp("hide_[A-Z]+[a-zA-Z0-9_]+_on_android","g"),r=new RegExp("hide_[A-Z]+[a-zA-Z0-9_]+_on_mobile_web","g") +;return-1===["broker_FXCM_token_v2","broker_TRADESTATION_V3","broker_TRADOVATE_dev","black_friday_mainpage","black_friday_popup","datawindow","trading-fast-renew-oauth-token","switching_trial_year_to_month_disabled","switching_year_to_month_disabled","default_year_billing_cycle_switcher","marketing-analytics","google-ads","visible_address_fields_by_default","slow-support-warning","hide-trading-floating-toolbar","tvcoins_donations","save-short-streams","details_disable_bid_ask","vat_disabled","pro_plan_upgrades_disabled","pro_plan_downgrades_disabled","unit_conversion","disable_recaptcha_on_signup","braintree-order-one-click-dropdown","braintree-trial-implementation","braintree-gopro-in-order-dialog","braintree-apple-pay","braintree-google-pay","braintree-apple-pay-trial","braintree-google-pay-trial","hide_gopro_popup_upgrade_button","yandex_metric_enabled","broker_id_session","remove_line_tools_from_content","do_not_save_shared_line_tools_to_charts","save_shared_line_tools","chart_storage_with_broker_name","do_not_invalidate_chart_on_changing_line_tools","autosave_line_tools_immediately","log_removing_line_tools_group","oanda-european-accounts-warning","mobile_show_bottom_panel","disable_save_settings","desktop_version_notification_enabled","paperrest_2fa","paperrest_preview","favorites-in-broker-dropdown","streams_stats_profile","hide_ecomonic_events","aggregating_page_pings","mobile_trading_web","mobile_trading_ios","mobile_trading_android","hide_real_brokers_on_mobile","percentage_values_for_percentage_scale","hide_ranges_label_colors","disable_user_specific_encryption","remove_scale_settings_from_menu","enable_deep_history_backtesting","show_checkbox_of_house_rules_to_idea_and_script","disable_phone_verification_sms"].indexOf(e)&&-1===e.indexOf("-maintenance")&&!1===t.test(e)&&!1===i.test(e)&&!1===s.test(e)&&!1===r.test(e)}(i))||(!e[i]||-1!==e[i])&&(!!("true"===s.getItem(TradingView.FeatureToggle.force_prefix+i)||window.is_authenticated&&"undefined"!=typeof user&&user.settings&&"true"===user.settings[TradingView.FeatureToggle.force_prefix+i])||!("false"===s.getItem(TradingView.FeatureToggle.force_prefix+i)||window.is_authenticated&&"undefined"!=typeof user&&user.settings&&"false"===user.settings[TradingView.FeatureToggle.force_prefix+i])&&(!!e[i]&&(1===e[i]||t(i)<=e[i])))}}(window.featureToggleState||{}),t.FeatureToggle=TradingView.FeatureToggle,t.isFeatureEnabled=TradingView.isFeatureEnabled,t.onFeaturesStateChanged=TradingView.FeatureToggle.onFeaturesStateChanged.bind(TradingView.FeatureToggle)},82041:(e,t,i)=>{"use strict";function s(e){if(e instanceof Error)return e.stack||e.message;try{return e.outerHTML.slice(0,1024)}catch(e){}try{if(void 0!==e)return JSON.stringify(e).slice(0,1024)}catch(e){}return String(e)}function r(){window.__tv_js_errors||(window.__tv_js_errors=[]),window.addEventListener("error",e=>{const t=(new Date).toISOString();window.__tv_js_errors.push(`${t} ${e.message||"JS error"}. ${e.filename||""}, line ${e.lineno}, col ${e.colno}.\nError: `+s(e.error))},!1), +window.addEventListener("unhandledrejection",e=>{const t=(new Date).toISOString();window.__tv_js_errors.push(t+" Unhandled rejection.\nReason: "+s(e.reason))},!1),document.addEventListener("securitypolicyviolation",e=>{var t,i;const r=(new Date).toISOString(),n="report"===e.disposition?"CSP report-only":"CSP violation";window.__tv_js_errors.push(`${r} ${n}: ${e.violatedDirective||e.effectiveDirective}. ${e.sourceFile||""}, line ${null!==(t=e.lineno)&&void 0!==t?t:e.lineNumber}, col ${null!==(i=e.colno)&&void 0!==i?i:e.columnNumber}.\nBlocked URI: ${e.blockedURL||e.blockedURI}\nSample: ${e.sample}\nTarget: `+s(e.target))},!1)}i.d(t,{install:()=>r})},18437:(e,t,i)=>{"use strict";i.r(t),i.d(t,{unsubscribe:()=>l,on:()=>c,subscribe:()=>h,subscribeToAll:()=>d,emit:()=>u,emitOnce:()=>p});var s=i(5729),r=i.n(s);const n={},o=[],a={};function l(e,t,i){n[e].unsubscribe(i,t)}function c(e,t,i){h(e,t,i)}function h(e,t,i,s){n.hasOwnProperty(e)||(n[e]=new(r())),a[e]?t.call(i):n[e].subscribe(i,t,s)}function d(e){o.push(e)}function u(e,...t){const i=[e].concat(t);o.forEach(e=>{e.apply(null,i)}),n.hasOwnProperty(e)&&n[e].fire.apply(n[e],t)}function p(e){a[e]&&console.warn(`Something went wrong: emitOnce called multiple times with same event (${e})`),a[e]=!0,u.apply(null,arguments)}},60934:(e,t,i)=>{"use strict";i.r(t),i.d(t,{Modifiers:()=>s.Modifiers,createGroup:()=>u,pressedKeys:()=>d,registerWindow:()=>p,unregisterWindow:()=>_});var s=i(42998),r=i(15738),n=i(32856),o=i.n(n);var a=i(87438);class l{constructor(e,t){this._group=e,this.hotkey=t.hotkey,this.handler=t.handler,this.desc=t.desc,this.element=t.element||null,t.isDisabled?"function"==typeof t.isDisabled?this.isDisabled=t.isDisabled:this.isDisabled=()=>!0:this.isDisabled=()=>!1}destroy(){this._group&&(this._group.remove(this),this._group=null)}}class c{constructor(e,t){this._actions=[],this._manager=e,this.modal=!(!t||!t.modal),t&&(this.desc=t.desc),t&&t.isDisabled?"function"==typeof t.isDisabled?this.isDisabled=t.isDisabled:this.isDisabled=()=>!0:this.isDisabled=()=>!1,this._manager.registerGroup(this)}add(e){const t=new l(this,e);return this._actions.push(t),t}remove(e){for(let t=this._actions.length;t-- >0;)this._actions[t]===e&&this._actions.splice(t,1)}handleHotkey(e,t){for(let i=this._actions.length;i-- >0;){const r=this._actions[i];if(r.hotkey===e&&((!r.element||t.target&&r.element.contains(t.target))&&!r.isDisabled()))return r.handler(t),t.preventDefault(),(0,a.trackEvent)("Keyboard Shortcuts",(0,s.humanReadableHash)(e)),!0}return!1}promote(){this._manager.promoteGroup(this)}destroy(){this._actions.length=0,this._manager.unregisterGroup(this)}}const h=new class{constructor(){this._groups=[],this._pressedKeys=new(o())(0),this._keyDownListener=e=>{if(e.defaultPrevented)return;const t=(0,s.hashFromEvent)(e);if(this._pressedKeys.setValue(t),!(0,r.isNativeUIInteraction)(t,e.target))for(let i=this._groups.length;i-- >0;){const s=this._groups[i];if(!s.isDisabled()){if(s.handleHotkey(t,e))return;if(s.modal)return}}},this._keyUpListener=e=>{const t=(0, +s.hashFromEvent)(e);this._pressedKeys.setValue(t)},this._blurEvent=()=>{this._pressedKeys.setValue(0)},this._mouseEvent=e=>{const t=(0,s.modifiersFromEvent)(e),i=255&this._pressedKeys.value();this._pressedKeys.setValue(t|i)}}listen(e){e.addEventListener("keydown",this._keyDownListener),e.addEventListener("keyup",this._keyUpListener),e.addEventListener("blur",this._blurEvent),e.addEventListener("mousemove",this._mouseEvent)}unlisten(e){e.removeEventListener("keydown",this._keyDownListener),e.removeEventListener("keyup",this._keyUpListener),e.removeEventListener("blur",this._blurEvent),e.removeEventListener("mousemove",this._mouseEvent)}registerGroup(e){this._groups.push(e)}unregisterGroup(e){for(let t=this._groups.length;t--;)this._groups[t]===e&&this._groups.splice(t,1)}promoteGroup(e){let t=this._groups.length-1;for(let i=this._groups.length;i--;){if(this._groups[i]===e)return void(i!==t&&(this._groups.splice(i,1),this._groups.splice(t,0,e)));this._groups[i].modal&&(t=i-1)}}pressedKeys(){return this._pressedKeys}},d=h.pressedKeys();function u(e){return new c(h,e)}function p(e){h.listen(e)}function _(e){h.unlisten(e)}p(window)},42998:(e,t,i)=>{"use strict";i.r(t),i.d(t,{isMacKeyboard:()=>r,Modifiers:()=>n,modifiersFromEvent:()=>o,hashFromEvent:()=>a,hashShiftPlusEnter:()=>l,humanReadableModifiers:()=>c,humanReadableHash:()=>d});var s=i(43367);const r=(0,s.isMac)()||s.CheckMobile.iOS();var n;function o(e){let t=0;return e.shiftKey&&(t+=1024),e.altKey&&(t+=512),e.ctrlKey&&(t+=256),e.metaKey&&(t+=2048),t}function a(e){return o(e)|e.keyCode}!function(e){e[e.None=0]="None",e[e.Alt=512]="Alt",e[e.Shift=1024]="Shift",e[e.Mod=r?2048:256]="Mod",e[e.Control=256]="Control",e[e.Meta=2048]="Meta"}(n||(n={}));const l=1037;function c(e,t=!r){let i="";return 256&e&&(i+=r?"^":"Ctrl",t&&(i+=" + ")),512&e&&(i+=r?"⌥":"Alt",t&&(i+=" + ")),1024&e&&(i+=r?"⇧":"Shift",t&&(i+=" + ")),2048&e&&(i+=r?"⌘":"Win",t&&(i+=" + ")),i}const h={9:"⇥",13:"↵",27:"Esc",8:r?"⌫":"Backspace",32:"Space",35:"End",36:"Home",37:"←",38:"↑",39:"→",40:"↓",45:"Ins",46:"Del",188:",",191:"/"};for(let e=1;e<=16;e++)h[e+111]="F"+e;function d(e){let t=c(e);const i=255&e;return t+=i in h?h[i]:String.fromCharCode(i),t}},27192:(e,t,i)=>{"use strict";i.d(t,{migrateShortcut:()=>o});var s=i(42998);function r(e){if("number"==typeof e)return e;switch(e.toLowerCase()){case"ctrl":return s.Modifiers.Control;case"shift":return s.Modifiers.Shift;case"alt":return s.Modifiers.Alt;default:return e.toUpperCase().charCodeAt(0)}}function n(e){let t=0;for(let i=0;i{"use strict";i.d(t,{isTextEditingField:()=>r,isNativeUIInteraction:()=>n});var s=i(42998);function r(e){if("INPUT"===e.tagName){const t=e.type;return"text"===t||"email"===t||"number"===t||"password"===t||"search"===t||"tel"===t||"url"===t}return"TEXTAREA"===e.tagName||e.isContentEditable}function n(e,t){if(!t)return!1;const i=255&e;if(27===i||i>>>4==7)return!1;switch(e^i){ +case s.Modifiers.Alt:return(38===i||40===i)&&"SELECT"===t.tagName||r(t);case s.Modifiers.Alt+s.Modifiers.Shift:return r(t);case s.Modifiers.Mod:if(67===i||!s.isMacKeyboard&&45===i){const e=t.ownerDocument&&t.ownerDocument.getSelection();if(e&&!e.isCollapsed)return!0}return r(t);case s.Modifiers.Mod+s.Modifiers.Shift:return i>=33&&i<=40&&r(t);case s.Modifiers.Shift:case 0:return!!(9!==i||t.ownerDocument&&t!==t.ownerDocument.body&&t!==t.ownerDocument.documentElement)&&((13===i||32===i||!function(e){if("BUTTON"===e.tagName)return!0;if("INPUT"===e.tagName){const t=e.type;if("submit"===t||"button"===t||"reset"===t||"checkbox"===t||"radio"===t)return!0}return!1}(t))&&("form"in t||t.isContentEditable))}return!1}},24287:(e,t,i)=>{"use strict";i.d(t,{linking:()=>u});var s=i(99479),r=i(32856),n=i.n(r),o=i(27490),a=i(25436),l=i(65447),c=i(96675);const h=(0,l.getLogger)("Linking");var d;!function(e){e[e.NotBound=0]="NotBound",e[e.BoundToWidget=1]="BoundToWidget",e[e.BoundToModel=2]="BoundToModel"}(d||(d={}));const u=new class{constructor(){this._watchedSymbol=new(n()),this._seriesShortSymbol=new(n()),this._proSymbol=new(n()),this._watchedInterval=new(n()),this._watchedIntraday=new(n()),this._watchedSeconds=new(n()),this._watchedTicks=new(n()),this._watchedRange=new(n()),this._watchedSupportedResolutions=new(n()),this._watchedSupportedChartStyles=new(n())([]),this._symbolNamesList=new(n()),this._chartWidgetBindingState=d.NotBound,this._activeChartWidget=null,this._watchedSymbolListenerBound=this._watchedSymbolListener.bind(this),this._watchedIntervalListenerBound=this._watchedIntervalListener.bind(this),this._onSymbolLinkBound=this._onSymbolLink.bind(this),this._searchCharts=null,this._searchChartsLoadDebounced=null,this._selfEmit=!1,this._preventFeedBySymbol=!1,this._feedBySymbolDebounceCounter=0}get symbol(){return this._watchedSymbol}get proSymbol(){return this._proSymbol}get symbolNamesList(){return this._symbolNamesList}get seriesShortSymbol(){return this._seriesShortSymbol.readonly()}get interval(){return this._watchedInterval}get intraday(){return this._watchedIntraday.readonly()}get seconds(){return this._watchedSeconds.readonly()}get ticks(){return this._watchedTicks.readonly()}get range(){return this._watchedRange.readonly()}get supportedResolutions(){return this._watchedSupportedResolutions.readonly()}get supportedChartStyles(){return this._watchedSupportedChartStyles.readonly()}get preventFeedBySymbol(){return this._preventFeedBySymbol}bindToChartWidget(e){if(this.unbindFromChartWidget(),this._activeChartWidget=e,e.hasModel())return void this._onChartModelCreated(e.model());e.modelCreated().subscribe(this,this._onChartModelCreated),this._chartWidgetBindingState=d.BoundToWidget;const t=e.properties().childs().mainSeriesProperties.childs();this._watchedSymbol.setValue(t.symbol.value()),this._watchedInterval.setValue(t.interval.value())}unbindFromChartWidget(){switch(this._chartWidgetBindingState){case d.BoundToWidget:if(!this._activeChartWidget)throw new Error("ChartWidget is undefined") +;this._activeChartWidget.modelCreated().unsubscribe(this,this._onChartModelCreated);break;case d.BoundToModel:this._symbolProperty().unsubscribe(this,this._onSymbolPropertyChange),this._watchedSymbol.unsubscribe(this._watchedSymbolListenerBound),this._mainSeries().dataEvents().symbolResolved().unsubscribe(this,this._updateSeriesSymbolInfo),this._mainSeries().dataEvents().symbolError().unsubscribe(this,this._updateSeriesSymbolInfo),this._intervalProperty().unsubscribe(this,this._onIntervalPropertyChange),this._watchedInterval.unsubscribe(this._watchedIntervalListenerBound),delete this._watchedSymbol.hook,delete this._watchedSymbol.writeLock}this._activeChartWidget=null,this._chartWidgetBindingState=d.NotBound}getChartWidget(){return this._activeChartWidget}bindToChartWidgetCollection(e){this._chartWidgetCollection=e,this.unbindFromChartWidget(),e.activeChartWidget.subscribe(e=>{this.unbindFromChartWidget(),this.bindToChartWidget(e)},{callWithLast:!0})}bindToSearchCharts(e){this.unbindFromSearchCharts(),this._searchCharts=e,e.onSearchBySymbol.subscribe(this,this._onSearchBySymbol),e.loadingSymbol.subscribe(e=>{!1===e&&(this._feedBySymbolDebounceCounter=0)}),this._watchedSymbol.subscribe(this._onSymbolLinkBound)}unbindFromSearchCharts(){this._searchCharts&&(this._searchCharts.onSearchBySymbol.unsubscribe(this,this._onSearchBySymbol),this._watchedSymbol.unsubscribe(this._onSymbolLinkBound),this._searchCharts=null)}setPreventFeedBySymbol(e){this._preventFeedBySymbol=e}_onSearchBySymbol(e){if(!e.resolved_symbol)throw new Error("no resolved_symbol");this._selfEmit=!0,this._watchedSymbol.setValue(e.resolved_symbol),this._selfEmit=!1}_onSymbolLink(e){if(!this._selfEmit){if(!this._searchCharts){const e="No search charts defined";throw h.logError(e),new Error(e)}this._preventFeedBySymbol||this._loadSearchCharts(e)}}_loadSearchCharts(e){if(!this._searchCharts){const e="No search charts defined";throw h.logError(e),new Error(e)}if(this._searchChartsLoadDebounced)return void(this._feedBySymbolDebounceCounter<100&&(this._feedBySymbolDebounceCounter++,this._searchChartsLoadDebounced(e)));const t=e=>this._searchCharts?(!0===this._searchCharts.loadingSymbol.value()?this._feedBySymbolDebounceCounter<100&&(this._feedBySymbolDebounceCounter++,this._searchChartsLoadDebounced=(0,s.default)(t,2e3),this._searchChartsLoadDebounced(e)):this._searchChartsLoadDebounced=null,this._searchCharts.feedBySymbol.call(this._searchCharts,e)):()=>{};!0===this._searchCharts.loadingSymbol.value()?this._feedBySymbolDebounceCounter<100&&(this._feedBySymbolDebounceCounter++,this._searchChartsLoadDebounced=(0,s.default)(t,2e3),this._searchChartsLoadDebounced(e)):this._searchCharts.feedBySymbol(e)}_mainSeries(){if(!this._activeChartWidget)throw new Error("ChartWidget is undefined");return this._activeChartWidget.model().mainSeries()}_properties(){return this._mainSeries().properties()}_symbolProperty(){return this._properties().symbol}_intervalProperty(){return this._properties().interval}_watchedSymbolListener(e){ +this._symbolProperty().value()!==e&&this._chartWidgetCollection.setSymbol(e)}_sendSnowplowAnalytics(){if(!window.user.do_not_track)throw new Error("unsupported")}_onSymbolPropertyChange(){const e=this._symbolProperty().value()!==this._watchedSymbol.value();this._watchedSymbol.setValue(this._symbolProperty().value()),e&&this._chartWidgetCollection.setSymbol(this._symbolProperty().value())}_onSymbolResolved(e){const t=this._mainSeries().symbolInfo();t&&this._applyValuesFromSymbolInfo(t)}_applyValuesFromSymbolInfo(e){const t=e.pro_name||o.enabled("trading_terminal")&&(e.full_name||e.name)||"";this._proSymbol.setValue(t),e.aliases&&this._symbolNamesList.setValue(e.aliases)}_updateSeriesSymbolInfo(){this._seriesShortSymbol.setValue(this._properties().shortName.value());const e=this._mainSeries().symbolInfo();if(e){this._applyValuesFromSymbolInfo(e);{const t=e.supported_resolutions;t?this._watchedSupportedResolutions.setValue(t):this._watchedSupportedResolutions.setValue(void 0)}let t=(0,c.allChartStyles)();(0,a.isCloseBasedSymbol)(e)&&(t=t.filter(e=>(0,a.isSingleValueBasedStyle)(e))),this._watchedSupportedChartStyles.setValue(t),this._watchedIntraday.setValue(!!e.has_intraday),this._watchedSeconds.setValue(!!e.has_seconds),this._watchedTicks.setValue(!(0,a.isCloseBasedSymbol)(e)&&!!e.has_ticks),this._watchedRange.setValue(!(0,a.isCloseBasedSymbol)(e))}else this._watchedIntraday.deleteValue(),this._watchedSeconds.deleteValue(),this._watchedTicks.deleteValue(),this._watchedRange.deleteValue(),this._proSymbol.deleteValue()}_watchedIntervalListener(e){this._intervalProperty().value()!==e&&this._chartWidgetCollection.setResolution(e)}_onIntervalPropertyChange(){const e=this._intervalProperty().value()!==this._watchedInterval.value();this._watchedInterval.setValue(this._intervalProperty().value()),e&&this._chartWidgetCollection.setResolution(this._intervalProperty().value())}_onChartModelCreated(e){if(!this._activeChartWidget)throw new Error("ChartWidget is undefined");this._chartWidgetBindingState=d.BoundToModel,this._activeChartWidget.modelCreated().unsubscribe(this,this._onChartModelCreated);const t=this._symbolProperty();t.subscribe(this,this._onSymbolPropertyChange),this._watchedSymbol.setValue(t.value()),this._watchedSymbol.subscribe(this._watchedSymbolListenerBound);const i=this._mainSeries();i.dataEvents().symbolResolved().subscribe(this,this._onSymbolResolved),this._watchedSymbol.hook=e=>(i.symbolSameAsCurrent(e)&&(e=i.symbol()),e),i.dataEvents().symbolResolved().subscribe(this,this._updateSeriesSymbolInfo),i.dataEvents().symbolError().subscribe(this,this._updateSeriesSymbolInfo),i.dataEvents().symbolNotPermitted().subscribe(this,this._updateSeriesSymbolInfo),i.dataEvents().symbolGroupNotPermitted().subscribe(this,this._updateSeriesSymbolInfo),this._updateSeriesSymbolInfo();const s=this._intervalProperty();s.subscribe(this,this._onIntervalPropertyChange),this._watchedInterval.setValue(s.value()),this._watchedInterval.subscribe(this._watchedIntervalListenerBound), +this._activeChartWidget.readOnly()&&(this._watchedSymbol.writeLock=!0)}};window.TradingViewApi||(window.TradingViewApi={linking:u})},68177:(e,t,i)=>{"use strict";const{getLogger:s}=i(65447),r=s("TVLocalStorage");var n=function(){try{this.isAvailable=!0,this.localStorage=window.localStorage,this.localStorage.setItem("tvlocalstorage.available","true")}catch(e){delete this.isAvailable,delete this.localStorage}this._updateLength();try{this._report()}catch(e){}};n.prototype._report=function(){if(this.isAvailable){const e=10,t=[];for(let e=0;et.length-e.length);const i=t.slice(0,e);t.sort((e,t)=>t.key.length-e.key.length);const s=t.slice(0,e);r.logNormal("Total amount of keys in Local Storage: "+this.length),r.logNormal(`Top ${e} keys with longest values: ${JSON.stringify(i)}`),r.logNormal(`Top ${e} longest key names: ${JSON.stringify(s)}`);try{navigator.storage.estimate().then(e=>{r.logNormal("Storage estimate: "+JSON.stringify(e))})}catch(e){}}},n.prototype.length=0,n.prototype.isAvailable=!1,n.prototype.localStorage={"tvlocalstorage.available":"false"},n.prototype._updateLength=function(){if(this.isAvailable)this.length=this.localStorage.length;else{var e,t=0;for(e in this.localStorage)this.localStorage.hasOwnProperty(e)&&t++;this.length=t}},n.prototype.key=function(e){return this.isAvailable?this.localStorage.key(e):Object.keys(this.localStorage)[e]},n.prototype.getItem=function(e){return this.isAvailable?this.localStorage.getItem(e):void 0===this.localStorage[e]?null:this.localStorage[e]},n.prototype.setItem=function(e,t){this.isAvailable?this.localStorage.setItem(e,t):this.localStorage[e]=t,this._updateLength()},n.prototype.removeItem=function(e){this.isAvailable?this.localStorage.removeItem(e):delete this.localStorage[e],this._updateLength()},n.prototype.clear=function(){this.isAvailable?this.localStorage.clear():this.localStorage={},this._updateLength()};var o=function(e){this.storage=e};o.prototype.getItem=function(e){return Promise.resolve(this.storage.getItem(e))},o.prototype.setItem=function(e,t){return Promise.resolve(this.storage.setItem(e,t))},window.TVLocalStorage=new n,window.TVLocalStorageAsync=new o(window.TVLocalStorage),e.exports={TVLocalStorage:window.TVLocalStorage,TVLocalStorageAsync:window.TVLocalStorageAsync}},22900:(e,t,i)=>{"use strict";function s(e,t=!1){return!1}function r(e){return e}i.d(t,{isOnMobileAppPage:()=>s,urlWithMobileAppParams:()=>r})},73305:(e,t,i)=>{"use strict";function s(){}i.d(t,{addPerfMark:()=>o});const r=console.timeStamp?console.timeStamp.bind(console):s,n=window.performance&&performance.mark?performance.mark.bind(performance):s;window.performance&&performance.measure&&performance.measure.bind(performance),window.performance&&performance.clearMarks&&performance.clearMarks.bind(performance);function o(e){r(e),n(e)}},36413:(e,t,i)=>{"use strict";function s(e){return e===r(e)}function r(e){const t=e.indexOf("$"),i=e.indexOf("@") +;return t<0&&i>=0?null:e.substring(Math.max(t+1,0),i>=0?i:e.length)}i.d(t,{isPineIdString:()=>s,extractPineId:()=>r})},86573:(e,t,i)=>{"use strict";i.r(t),i.d(t,{registerService:()=>o,unregisterService:()=>a,hasService:()=>l,service:()=>c,waitServiceRegistered:()=>h});var s=i(61389);const r={},n=new Map;function o(e,t){if(l(e))throw new Error("Service already registered");r[e.id]=t;const i=n.get(e.id);void 0!==i&&(n.delete(e.id),i.resolve(t))}function a(e){if(!l(e))throw new Error("Service not found");r[e.id]=void 0}function l(e){return void 0!==r[e.id]}function c(e){const t=r[e.id];if(void 0===t)throw new Error("ServiceLocator: Service "+e.id+" not found");return t}function h(e){if(l(e))return Promise.resolve(c(e));let t=n.get(e.id);return void 0===t&&(t=(0,s.createDeferredPromise)(),n.set(e.id,t)),t.promise}},64222:(e,t,i)=>{"use strict";e=i.nmd(e),i(43367);i(95152).fetch;var s=i(46568).regExpEscape,r=i(2308).TVXWindowEvents,n=i(68177).TVLocalStorage,o=i(5729),a=i(27490),l=["s.tradingview.com","betacdn.tradingview.com"],c=a.enabled("use_localstorage_for_settings"),h=window.TVSettings=function(){var e=!1,t=null;function i(){return!t&&c}try{e=!TradingView.onWidget()&&parent&&parent!==window&&!!parent.IS_DEMO_PAGE}catch(e){}if(e){var d={"widgetbar.layout-settings":{widgets:{},settings:{minimized:!0}},notShowMainWizard:!0},u=function(e,t,i){var s=d[e];return null==s?t:s},p=function(){};return{loaded:!1,loadedModel:!1,getValue:u,getJSON:u,getBool:u,getFloat:u,getInt:u,setValue:p,setJSON:p,remove:p,keys:function(){return Object.keys(d)},keysMask:function(){return[]},sync:p,onSync:{subscribe:function(){}}}}window.environment;var _,m=TradingView.onWidget()?"tradingview-widget":"tradingview",g=m+".",f={},v=[/^widgetbar\.widget\.watchlist.+/,/.+quicks$/,/^widgetbar\.layout-settings$/,/^ChartSideToolbarWidget\.visible$/,/^onwidget\.watchlist$/,/^domepanel.visible$/,/^orderpanel.visible$/,/^chart\.favoriteDrawings$/,/^chart\.favoriteDrawingsPosition$/,/^loadChartDialog.favorites$/,/^ChartFavoriteDrawingToolbarWidget\.visible/,/^trading\.chart\.proterty$/,/^trading_floating_toolbar\.position$/,/^trading\.orderWidgetMode\./,/^symbolWatermark$/,/^pinereference\.size$/,/^pinereference\.position$/,/^hint\.+/,/^ChartDrawingToolbarWidget\.visible/];const S=["current_theme.name"];function y(e){return g+e}function b(e){return e.substring(g.length)}function w(e,t){var i=f[e];return null==i?t:i}function P(e,t,i){i=i||{};var s=""+t;return f[e]!==s&&(f[e]=s,T(e)),i.forceFlush&&!_&&(_=setTimeout((function(){_=void 0,x()}),10)),h}function C(e,t){return t=t||{},null!=f[e]&&(delete f[e],T(e)),t.forceFlush&&x(),h}function T(e){if(t)null==f[e]?t.removeValue(e):t.setValue(e,f[e]);else if(i())try{null==f[e]?n.removeItem(y(e)):n.setItem(y(e),f[e])}catch(e){}else 0;r.emit("settings",JSON.stringify({key:e,value:f[e]}))}function x(e){}function I(){return Object.keys(f)}function M(e){for(var t=0;t=0;n--)e.test(i[n])&&r.push(i[n]),e.lastIndex=0;return r},sync:function(e){null!==e?(t?A(t.initialSettings||{}):i()?(function(){if(TradingView.onWidget()&&l.includes(window.location.host))for(var e=n.length;e--;){var t=n.key(e);if(0===t.indexOf("tradingview.")){var i=t.replace("tradingview.",m+".");n.setItem(i,n.getItem(t)),n.removeItem(t)}}}(),function(){for(const e of S)f[e]&&!n.getItem(y(e))&&n.setItem(y(e),f[e])}(),function(){f={};for(var e=!a.enabled("save_chart_properties_to_local_storage"),t=n.length;t--;){var i=n.key(t);if(i&&L(i)){var s=i.substring(g.length);e&&!M(s)||(f[s]=n.getItem(i))}}}()):A(e||{}),k.fire()):!0},onSync:k,setSettingsAdapter:function(e){t=e}}}();e&&e.exports&&(e.exports=h)},71577:(e,t,i)=>{"use strict";i.d(t,{StdTheme:()=>a.StdTheme,getStdChartTheme:()=>h,getStdThemeNames:()=>c,isStdTheme:()=>u,translateThemeName:()=>d});var s=i(79881),r=i(14563) +;const n=JSON.parse('{"content":{"chartProperties":{"scalesProperties":{"textColor":"#131722","lineColor":"rgba(42, 46, 57, 0.14)","backgroundColor":"#ffffff"},"paneProperties":{"vertGridProperties":{"color":"rgba(42, 46, 57, 0.06)"},"horzGridProperties":{"color":"rgba(42, 46, 57, 0.06)"},"crossHairProperties":{"color":"#9598A1"},"background":"#ffffff","backgroundGradientStartColor":"#ffffff","backgroundGradientEndColor":"#ffffff"}},"sessions":{"graphics":{"backgrounds":{"outOfSession":{"color":"#2962FF","transparency":92},"preMarket":{"color":"#FF9800","transparency":92},"postMarket":{"color":"#2962FF","transparency":92}},"vertlines":{"sessBreaks":{"color":"#4985e7","style":2,"width":1}}}},"mainSourceProperties":{"baseLineColor":"#B2B5BE","candleStyle":{"borderColor":"#378658","upColor":"#26a69a","wickColor":"#737375","wickUpColor":"#26a69a","wickDownColor":"#ef5350","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350"},"haStyle":{"borderColor":"#378658","upColor":"#26a69a","wickColor":"#737375","wickUpColor":"#26a69a","wickDownColor":"#ef5350","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350"},"barStyle":{"downColor":"#ef5350","upColor":"#26a69a"},"pnfStyle":{"downColor":"#ef5350","upColor":"#26a69a","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae"},"baselineStyle":{"baselineColor":"rgba( 117, 134, 150, 1)","topFillColor1":"rgba( 38, 166, 154, 0.28)","topFillColor2":"rgba( 38, 166, 154, 0.05)","bottomFillColor1":"rgba( 239, 83, 80, 0.05)","bottomFillColor2":"rgba( 239, 83, 80, 0.28)","topLineColor":"rgba( 38, 166, 154, 1)","bottomLineColor":"rgba( 239, 83, 80, 1)"},"areaStyle":{"transparency":100,"color1":"rgba(41, 98, 255, 0.28)","color2":"#2962FF","linecolor":"#2962FF","linewidth":2,"linestyle":0},"renkoStyle":{"upColor":"#26a69a","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae","borderUpColorProjection":"#a9dcc3","borderDownColorProjection":"#f5a6ae","wickUpColor":"#26a69a","wickDownColor":"#ef5350"},"lineStyle":{"color":"#2962FF","linewidth":2,"linestyle":0},"kagiStyle":{"downColor":"#ef5350","upColor":"#26a69a","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae"},"pbStyle":{"upColor":"#26a69a","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae","borderUpColorProjection":"#a9dcc3","borderDownColorProjection":"#f5a6ae"},"rangeStyle":{"upColor":"#26a69a","downColor":"#ef5350","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae"}}}}'),o=JSON.parse('{"content":{"chartProperties":{"scalesProperties":{"textColor":"#B2B5BE","lineColor":"rgba(240, 243, 250, 0.12)","backgroundColor":"#ffffff"},"paneProperties":{"vertGridProperties":{"color":"rgba(240, 243, 250, 0.06)"},"horzGridProperties":{"color":"rgba(240, 243, 250, 0.06)"},"crossHairProperties":{"color":"#9598A1"},"background":"#131722","backgroundGradientStartColor":"#181C27","backgroundGradientEndColor":"#131722","backgroundType":"gradient"}},"sessions":{"graphics":{"backgrounds":{"outOfSession":{"color":"#2962FF","transparency":92},"preMarket":{"color":"#FF9800","transparency":92},"postMarket":{"color":"#2962FF","transparency":92}},"vertlines":{"sessBreaks":{"color":"#4985e7","style":2,"width":1}}}},"mainSourceProperties":{"baseLineColor":"#5d606b","candleStyle":{"borderColor":"#378658","upColor":"#26a69a","wickColor":"#B5B5B8","wickUpColor":"#26a69a","wickDownColor":"#ef5350","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350"},"haStyle":{"borderColor":"#378658","upColor":"#26a69a","wickColor":"#B5B5B8","wickUpColor":"#26a69a","wickDownColor":"#ef5350","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350"},"barStyle":{"downColor":"#ef5350","upColor":"#26a69a"},"pnfStyle":{"downColor":"#ef5350","upColor":"#26a69a","upColorProjection":"#336854","downColorProjection":"#7f323f"},"baselineStyle":{"baselineColor":"rgba( 117, 134, 150, 1)","topFillColor1":"rgba( 38, 166, 154, 0.28)","topFillColor2":"rgba( 38, 166, 154, 0.05)","bottomFillColor1":"rgba( 239, 83, 80, 0.05)","bottomFillColor2":"rgba( 239, 83, 80, 0.28)","topLineColor":"rgba( 38, 166, 154, 1)","bottomLineColor":"rgba( 239, 83, 80, 1)"},"areaStyle":{"transparency":100,"color1":"rgba(41, 98, 255, 0.28)","color2":"#2962FF","linecolor":"#2962FF","linewidth":2,"linestyle":0},"renkoStyle":{"upColor":"#26a69a","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350","upColorProjection":"#336854","downColorProjection":"#7f323f","borderUpColorProjection":"#336854","borderDownColorProjection":"#7f323f","wickUpColor":"#26a69a","wickDownColor":"#ef5350"},"lineStyle":{"color":"#2962FF","linewidth":2,"linestyle":0},"kagiStyle":{"downColor":"#ef5350","upColor":"#26a69a","upColorProjection":"#336854","downColorProjection":"#7f323f"},"pbStyle":{"upColor":"#26a69a","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350","upColorProjection":"#336854","downColorProjection":"#7f323f","borderUpColorProjection":"#336854","borderDownColorProjection":"#7f323f"},"rangeStyle":{"upColor":"#26a69a","downColor":"#ef5350","upColorProjection":"#336854","downColorProjection":"#7f323f"}}}}') +;var a=i(87822);function l(){return{[a.StdTheme.Light]:JSON.parse(JSON.stringify(n)),[a.StdTheme.Dark]:JSON.parse(JSON.stringify(o))}}function c(){return[a.StdTheme.Light,a.StdTheme.Dark]}function h(e){return l()[e]}function d(e){return{[a.StdTheme.Light]:s.t("Light",{context:"colorThemeName"}),[a.StdTheme.Dark]:s.t("Dark",{context:"colorThemeName"})}[e]||e}function u(e){const t=l();return c().some(i=>p(t[i],e))}function p(e,t){let i=e.content===t.content;return function(e={},t){try{!function e(t,i,s){for(const r in t)if(t.hasOwnProperty(r)){const n=i.concat(r);if("object"==typeof t[r])e(t[r],n,s);else if(s(n,t[r]))throw new Error("exit")}}(e,[],t)}catch(e){return}}(e.content,(e,s)=>{const n=function(e,t={}){let i=t;for(let t=0;t{"use strict";var s;i.d(t,{StdTheme:()=>s}),function(e){e.Light="light",e.Dark="dark"}(s||(s={}))},99182:(e,t,i)=>{"use strict";i.r(t),i.d(t,{DEFAULT_THEME:()=>p,extractThemeFromModel:()=>R,getCurrentTheme:()=>S,getStdTheme:()=>L,getStdThemeNames:()=>I,getStdThemedValue:()=>A,getTheme:()=>T,getThemeNames:()=>x,getThemedColor:()=>y,isPublicTheme:()=>v,isStdTheme:()=>N,isStdThemeName:()=>M,isStdThemedDefaultValue:()=>k,isThemeExist:()=>V,loadTheme:()=>b,removeTheme:()=>D,restoreTheme:()=>w,saveTheme:()=>E,savedThemeName:()=>P,syncTheme:()=>C,themes:()=>f,translateStdThemeName:()=>B});var s=i(14563),r=i(18130),n=i(64222);function o(){return(0,n.getValue)("current_theme.name")||null}var a=i(95152);const l=(0,i(65447).getLogger)("Themes.Provider");let c=null;function h(e){return(0,a.fetch)("/theme/?themeName="+encodeURIComponent(e),{credentials:"include",method:"GET"}).then(e=>e.json()).then(e=>{const t={};return e.content&&(t.content=JSON.parse(e.content)),t})}var d=i(71577),u=i(14829);const p="light";var _=i(79881) +;const m=JSON.parse('{"color-bg-primary":"color-cold-gray-850","color-bg-primary-hover":"color-cold-gray-800","color-bg-secondary":"color-cold-gray-900","color-bg-highlight":"color-cold-gray-900","color-bg-scroll-buttons":"color-cold-gray-800","color-legacy-bg-scroll-buttons":"color-cold-gray-550","color-legacy-bg-widget":"color-cold-gray-900","color-text-primary":"color-cold-gray-200","color-text-secondary":"color-cold-gray-500","color-text-tertiary":"color-cold-gray-400","color-text-disabled":"color-cold-gray-650","color-accent-content":"color-white","color-divider":"color-cold-gray-700","color-divider-hover":"color-cold-gray-800","color-divider-secondary":"color-cold-gray-800","color-box-shadow":"color-cold-gray-900","color-active-hover-text":"color-cold-gray-300","color-alert-text":"color-cold-gray-200","color-border":"color-cold-gray-750","color-border-chat-fields":"color-cold-gray-750","color-border-hover":"color-cold-gray-650","color-border-table":"color-cold-gray-800","color-brand":"color-tv-blue-500","color-brand-hover":"color-tv-blue-600","color-brand-active":"color-tv-blue-700","color-button-hover-bg":"color-cold-gray-850","color-chart-page-bg":"color-cold-gray-800","color-common-tooltip-bg":"color-cold-gray-750","color-danger":"color-ripe-red-600","color-danger-hover":"color-ripe-red-500","color-danger-active":"color-ripe-red-400","color-depthrenderer-fill-style":"color-cold-gray-150","color-depthrenderer-stroke-style":"color-cold-gray-650","color-disabled-border-and-color":"color-cold-gray-800","color-disabled-input":"color-cold-gray-750","color-empty-container-message":"color-cold-gray-500","color-highlight-new":"color-tv-blue-a800","color-icons":"color-cold-gray-500","color-input-bg":"color-cold-gray-800","color-input-textarea-readonly":"color-cold-gray-650","color-input-placeholder-text":"color-cold-gray-700","color-input-publish-bg":"color-cold-gray-900","color-item-active-blue":"color-tv-blue-a800","color-item-hover-active-bg":"color-cold-gray-800","color-item-hover-bg":"color-cold-gray-800","color-item-hover-blue":"color-tv-blue-a800","color-item-selected-blue":"color-tv-blue-a800","color-item-active-text":"color-cold-gray-200","color-item-active-bg":"color-tv-blue-500","color-link":"color-tv-blue-500","color-link-hover":"color-tv-blue-600","color-link-active":"color-tv-blue-700","color-list-item":"color-cold-gray-500","color-list-nth-child-bg":"color-cold-gray-850","color-news-highlight":"color-cold-gray-800","color-pane-bg":"color-cold-gray-900","color-pane-secondary-bg":"color-cold-gray-850","color-placeholder":"color-cold-gray-650","color-popup-menu-item-hover-bg":"color-cold-gray-800","color-popup-menu-separator":"color-cold-gray-700","color-row-hover-active-bg":"color-cold-gray-800","color-sb-scrollbar-body-bg":"color-cold-gray-650","color-screener-description":"color-cold-gray-200","color-section-separator-border":"color-cold-gray-750","color-search-button-hover":"color-cold-gray-700","color-separator-table-chat":"color-cold-gray-750","color-success":"color-minty-green-700","color-success-hover":"color-minty-green-600","color-success-active":"color-minty-green-500","color-tag-active-bg":"color-cold-gray-750","color-tag-hover-bg":"color-cold-gray-800","color-text-regular":"color-cold-gray-200","color-toolbar-button-text":"color-cold-gray-300","color-toolbar-button-text-hover":"color-cold-gray-300","color-toolbar-button-text-active":"color-tv-blue-500","color-toolbar-button-text-active-hover":"color-tv-blue-600","color-toolbar-button-background-hover":"color-cold-gray-800","color-toolbar-button-background-secondary-hover":"color-cold-gray-750","color-toolbar-toggle-button-background-active":"color-tv-blue-500","color-toolbar-toggle-button-background-active-hover":"color-tv-blue-600","color-toolbar-interactive-element-text-normal":"color-cold-gray-300","color-toolbar-interactive-element-text-hover":"color-cold-gray-250","color-toolbar-opened-element-bg":"color-cold-gray-800","color-tooltip-bg":"color-cold-gray-750","color-tv-button-checked":"color-cold-gray-500","color-tv-dialog-caption":"color-cold-gray-50","color-tv-dropdown-item-hover-bg":"color-cold-gray-800","color-underlined-text":"color-cold-gray-300","color-widget-pages-bg":"color-cold-gray-900","color-warning":"color-tan-orange-700","color-forex-icon":"color-white","color-list-item-active-bg":"color-tv-blue-500","color-list-item-hover-bg":"color-cold-gray-800","color-list-item-text":"color-cold-gray-200","color-price-axis-label-back":"color-cold-gray-800","color-price-axis-label-text":"color-cold-gray-500","color-price-axis-gear":"color-cold-gray-500","color-price-axis-gear-hover":"color-cold-gray-400","color-price-axis-highlight":"color-cold-gray-800","color-bid":"color-tv-blue-500","color-scroll-bg":"color-cold-gray-750","color-scroll-border":"color-cold-gray-850","color-widget-border":"color-cold-gray-800","color-scroll-buttons-arrow":"color-white","color-control-intent-default":"color-cold-gray-650","color-control-intent-success":"color-minty-green-600","color-control-intent-primary":"color-tv-blue-500","color-control-intent-warning":"color-tan-orange-500","color-control-intent-danger":"color-ripe-red-700","color-growing":"color-minty-green-600","color-falling":"color-ripe-red-600","color-pre-market":"color-tan-orange-600","color-pre-market-bg":"color-tan-orange-400","color-post-market":"color-tv-blue-500","color-post-market-bg":"color-tv-blue-400","color-market-open":"color-minty-green-500","color-market-open-bg":"color-minty-green-400","color-market-closed":"color-cold-gray-400","color-market-holiday":"color-cold-gray-400","color-invalid-symbol":"color-ripe-red-400","color-invalid-symbol-hover":"color-ripe-red-500","color-replay-mode":"color-tv-blue-500","color-replay-mode-icon":"color-tv-blue-50","color-replay-mode-hover":"color-tv-blue-600","color-notaccurate-mode":"color-berry-pink-700","color-notaccurate-mode-bg":"color-berry-pink-400","color-delay-mode":"color-tan-orange-700","color-delay-mode-bg":"color-tan-orange-400","color-eod-mode":"color-grapes-purple-700","color-eod-mode-bg":"color-grapes-purple-400","color-data-problem":"color-ripe-red-600","color-data-problem-bg":"color-ripe-red-400","color-data-problem-hover":"color-ripe-red-500","color-list-item-bg-highlighted":"color-tv-blue-a900","color-list-item-bg-selected":"color-tv-blue-a800","color-list-item-bg-highlighted-hover":"color-tv-blue-a800","color-list-item-bg-selected-hover":"color-tv-blue-a700","color-screener-header-bg":"color-cold-gray-850","color-screener-header-bg-hover":"color-cold-gray-800","color-overlay":"color-cold-gray-950","color-card-border":"color-cold-gray-700","color-card-border-hover":"color-cold-gray-600","color-background-special-primary":"color-black","color-stroke-special-primary":"color-cold-gray-800","color-selection-bg":"color-tv-blue-a700"}') +;var g=i(53312);const f={[d.StdTheme.Light]:{name:d.StdTheme.Light,label:()=>(0,_.t)("Light",{context:"colorThemeName"}),order:2,getThemedColor:e=>(0,g.getHexColorByName)(e)},[d.StdTheme.Dark]:{name:d.StdTheme.Dark,label:()=>(0,_.t)("Dark",{context:"colorThemeName"}),order:1,getThemedColor:e=>{const t=m[e]||e;return(0,g.getHexColorByName)(t)}}};function v(e){return!e.isPrivate}function S(){return f[u.watchedTheme.value()]||f[p]}function y(e){return S().getThemedColor(e)}async function b(e,t,i,s,n=!0,o=!1,a=!1){const l=await(t?Promise.resolve(L(e)):T(e));if(void 0!==l.content){const h=!t;a&&(void 0!==(c=l.content).chartProperties&&(0,r.applyDefaultsOverrides)(c.chartProperties),void 0!==c.mainSourceProperties&&(0,r.applyDefaultsOverrides)(c.mainSourceProperties,void 0,!0,"mainSeriesProperties")),await s.applyTheme(l.content,h,i,e,t,n,o)}var c;return l}function w(){(0,u.setTheme)(o()||p)}function P(){return o()}function C(){var e;e=S().name,(0,n.setValue)("current_theme.name",e,{forceFlush:!0})}function T(e){return h(e)}function x(){return c||(0,a.fetch)("/themes/",{credentials:"include",method:"GET"}).then(e=>(c=e.json(),c))}function I(){return d.getStdThemeNames()}function M(e){return I().includes(e)}function L(e){return d.getStdChartTheme(e)||{content:void 0}}function A(e,t){const i=t||S().name,s=d.getStdChartTheme(i),r=0!==e.length&&e.split(".");return s&&s.content&&r?r.reduce((e,t)=>e[t],s.content):null}function k(e,t,i){const r=A(e,i);return null!==r&&(0,s.areEqualRgba)((0,s.parseRgba)(r),(0,s.parseRgba)(String(t)))}function E(e,t){return function(e,t){const i=new FormData;return i.append("content",JSON.stringify(t)),i.append("name",e),c=null,(0,a.fetch)("/save-theme/",{credentials:"include",method:"POST",body:i}).then(e=>e.json(),e=>l.logError(e))}(e,t)}function D(e){return function(e){const t=new FormData;return t.append("name",e),c=null,(0,a.fetch)("/remove-theme/",{credentials:"include",method:"POST",body:t}).then(e=>e.json(),e=>l.logError(e))}(e)}function V(e){return function(e){return h(e).then(e=>Boolean(e.content))}(e)}function B(e){return d.translateThemeName(e)}function N(e){return d.isStdTheme(e)}function R(e){return{content:{chartProperties:{paneProperties:e.model().properties().childs().paneProperties.state(),scalesProperties:e.model().properties().childs().scalesProperties.state()},sessions:e.model().sessions().properties().state(),mainSourceProperties:e.model().mainSeries().properties().state()}}}},14829:(e,t,i)=>{"use strict";i.d(t,{setTheme:()=>n,watchedTheme:()=>r});var s=i(32856);const r=new(i.n(s)());function n(e){r.setValue(e)}r.subscribe(e=>{!function(e,t=window){const i="theme-"+e,s=t.document.documentElement.classList;for(const e of Array.from(s))e.startsWith("theme-")&&e!==i&&s.remove(e);s.add(i)}(e,window)})},87438:(e,t,i)=>{"use strict";i.d(t,{trackEvent:()=>l,disableTrackingEvents:()=>c});var s=i(18437),r=i(27490);const n=(0,i(65447).getLogger)("Common.TrackEvent"),o=[/Study_(Drawing)_(.*)/,/(Study)_(.*)@tv-basicstudies/,/(Study)_(.*)/,/(Chart Style) (.*)/];let a=!1;const l=(e,t,i)=>{ +if(a)return;if(r.enabled("charting_library_base"))return void((e,t,i)=>{t=t||e||i||"";let r="";for(let e=0;e{"use strict";i.d(t,{TVXWindowEvents:()=>o});i(95068);var s=i(65447),r=i(68177);const n=(0,s.getLogger)("XWindowEvents");var o;!function(e){const t="tvxwevents.",i={};let s;window.BroadcastChannel?(s=new BroadcastChannel("tvxwevents"),s.addEventListener("message",(function(e){const{data:{event:t,value:s}}=e;i[t]&&i[t].forEach(e=>{e(s)})})),function(){const e=[],i=performance.now();for(let i=0;i{t(e.newValue)});r.TVLocalStorage.removeItem(n)})),e.on=function(e,t){i[e]||(i[e]=[]),i[e].push(t)},e.off=function(e,t){if(!i[e])return;const s=i[e].indexOf(t);-1!==s&&(1===i[e].length?delete i[e]:i[e].splice(s,1))},e.emit=function(e,i=Date.now()){try{s?s.postMessage({event:e,value:i}):r.TVLocalStorage.setItem(t+e,i.toString())}catch(e){n.logError(e.message)}}}(o||(o={}))},96811:(e,t,i)=>{"use strict";i.r(t),i.d(t,{activateKeyPressHandler:()=>m,showDialog:()=>g});const s=[];let r=null;function n(e){for(let t=0;t=0&&!0!==s[t].func(e);t--);}window.addEventListener("keypress",o,!1);var a=i(72454),l=i(27490),c=i(21273),h=i(41062),d=i(40801),u=i(87438);let p=null;function _(e){if(!(0,a.globalKeypressMatches)(e))return!1;e.preventDefault();const t=String.fromCharCode(e.charCode);return l.enabled("show_interval_dialog_on_key_press")&&function(e){return/[1-9]/.test(e)}(t)?(0,c.showChangeIntervalDialogAsync)({initVal:t}):l.enabled("symbol_search_hot_key")&&(g({defaultValue:t,selectSearchOnInit:!1,source:"keyboard"}),(0,u.trackEvent)("GUI","SS","hotkey")),!0}function m(){(0,h.loadChangeIntervalDialog)(),function(e,t){const i={name:e,func:t},r=n(i.name);r>-1&&s.splice(r,1),s.unshift(i)}("symbolEdit",_)}function g(e){const t=p=(0,d.loadNewSymbolSearch)().then(i=>{t===p&&i.showDefaultSearchDialog(e)});return t}},67985:(e,t,i)=>{"use strict";let s;function r(){ +return s}function n(e){s=e}i.d(t,{getSearchRequestDelay:()=>r,setSearchRequestDelay:()=>n})},28164:(e,t,i)=>{"use strict";i.d(t,{CLOSE_POPUPS_AND_DIALOGS_COMMAND:()=>s});const s="CLOSE_POPUPS_AND_DIALOGS_COMMAND"},98489:(e,t,i)=>{"use strict";i.d(t,{CompareDialogRenderer:()=>r});var s=i(58738);class r extends s.DialogRenderer{constructor(e){super(),this._dialog=null,this._subscribe=e=>{this._setVisibility(e)},this._chartWidgetCollection=e}show(){this._load().then(e=>{var t,i;null===(t=this._dialog)||void 0===t||t.hide(),null===(i=this._dialog)||void 0===i||i.visible().unsubscribe(this._subscribe),this._dialog=e,e.visible().subscribe(this._subscribe),e.show()})}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}_load(){return Promise.all([i.e(7271).then(i.bind(i,66664)),Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(4595),i.e(5698),i.e(9448),i.e(3894),i.e(3996),i.e(7936),i.e(3708),i.e(706),i.e(8858),i.e(7757),i.e(4834),i.e(5514),i.e(306),i.e(2402),i.e(1529),i.e(5383),i.e(3590),i.e(5030),i.e(9772),i.e(731)]).then(i.bind(i,42857))]).then(([e,t])=>{const i=new e.CompareModel(this._chartWidgetCollection);return t.getCompareDialogRenderer(i)})}}},87614:(e,t,i)=>{"use strict";async function s(e,t){const s=await Promise.all([i.e(3876),i.e(7039),i.e(4078),i.e(8193),i.e(2273),i.e(4882),i.e(5514),i.e(306),i.e(2402),i.e(1829),i.e(8890)]).then(i.bind(i,68442));return s.showSimpleDialog(e,s.renameModule,t)}async function r(e,t){const s=await Promise.all([i.e(3876),i.e(7039),i.e(4078),i.e(8193),i.e(2273),i.e(4882),i.e(5514),i.e(306),i.e(2402),i.e(1829),i.e(8890)]).then(i.bind(i,68442));return s.showSimpleDialog(e,s.confirmModule,t)}async function n(e,t){const s=await Promise.all([i.e(3876),i.e(7039),i.e(4078),i.e(8193),i.e(2273),i.e(4882),i.e(5514),i.e(306),i.e(2402),i.e(1829),i.e(8890)]).then(i.bind(i,68442));return s.showSimpleDialog(e,s.warningModule,t)}i.d(t,{showRename:()=>s,showConfirm:()=>r,showWarning:()=>n})},49088:(e,t,i)=>{"use strict";i.d(t,{hideStateChange:()=>r});var s=i(5729);const r=new(i.n(s)())},35036:(e,t,i)=>{"use strict";i.d(t,{getHideOptions:()=>h,toggleHideMode:()=>d,getSavedHideMode:()=>u});var s=i(16282),r=i(79881),n=i(64222),o=i(80525),a=i(15521),l=i(49088);let c=null;function h(){if(null!==c)return c;const e=(0,o.tradingService)();return c=new Map([["drawings",{label:(0,r.t)("Hide drawings"),dataName:"hide-drawing-tools",tooltip:{active:(0,r.t)("Show all drawings"),inactive:(0,r.t)("Hide all drawings")},getBoxedValue:()=>(0,a.hideAllDrawings)(),trackLabel:"hide drawings"}],["indicators",{label:(0,r.t)("Hide indicators"),dataName:"hide-indicators",tooltip:{active:(0,r.t)("Show all indicators"),inactive:(0,r.t)("Hide all indicators")},getBoxedValue:()=>(0,a.hideAllIndicators)(),trackLabel:"hide indicators"}],["positions",{label:(0,r.t)("Hide positions & orders"),dataName:"hide-positions-and-orders",tooltip:{active:(0,r.t)("Show all positions & orders"),inactive:(0,r.t)("Hide all positions & orders")},getBoxedValue:()=>(0,s.ensureNotNull)(e).showTradedSources,inverted:!0,trackLabel:"hide positions" +}],["all",{label:(0,r.t)("Hide all"),dataName:"hide-all",tooltip:{active:e?(0,r.t)("Show all drawings, indicators, positions & orders"):(0,r.t)("Show all drawings and indicators"),inactive:e?(0,r.t)("Hide all drawings, indicators, positions & orders"):(0,r.t)("Hide all drawings and indicators")},trackLabel:"hide all"}]]),e||c.delete("positions"),c}function d(e){e?n.setValue("ChartToolsHideMode",e):e=u();const t=p();let i=!t;return"all"===e?(_((e,t,s)=>{e.setValue(s?!i:i)}),l.hideStateChange.fire({hideMode:e,isActive:i}),i):(_((s,r,n)=>{if(r===e){const e=t?!n:!s.value();s.setValue(e),i=n?!e:e}else s.setValue(Boolean(n))}),l.hideStateChange.fire({hideMode:e,isActive:i}),i)}function u(){const e=n.getValue("ChartToolsHideMode","drawings");return h().has(e)?e:"drawings"}function p(){let e=!0;return _((t,i,s)=>{const r=t.value();e=e&&(s?!r:r)}),e}function _(e){h().forEach((t,i)=>{var s;const r=null===(s=t.getBoxedValue)||void 0===s?void 0:s.call(t);r&&e(r,i,t.inverted)})}},99392:(e,t,i)=>{"use strict";i.d(t,{showConfirmInputsDialog:()=>l});var s=i(79881),r=i(16282),n=i(47903),o=i(674),a=i.n(o);async function l(e,t,o,l,h="default"){let d,u=null;const p=e.model().model(),_=(0,n.clone)((0,r.ensureDefined)(t.defaults.inputs)),m=new(a())({inputs:_}),g=function(e,t){return"symbol"===t?e.inputs.filter(t=>t.id===e.symbolInputId()):e.inputs.filter(e=>e.confirm)}(t,h),f=()=>{d&&p.removeCustomSource(d)},v=()=>{f(),l()},S=e=>{o({inputs:e,parentSource:u}),f()},y=g.filter(c);if(y.length>0)try{const s=await Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(3996),i.e(4078),i.e(8193),i.e(7936),i.e(3708),i.e(706),i.e(9602),i.e(8858),i.e(6548),i.e(9305),i.e(2778),i.e(83),i.e(8933),i.e(2321),i.e(2162),i.e(5551),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(1829),i.e(5030),i.e(7591),i.e(9772),i.e(708),i.e(2391),i.e(7365),i.e(847),i.e(9628),i.e(4093),i.e(3030)]).then(i.bind(i,6825)),r=await s.selectInputValuesOnChart(e,y,m,t.shortDescription);d=r.customSourceId,u=r.destPane?r.destPane.mainDataSource():null}catch(e){return void v()}y.length!==g.length?Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(3996),i.e(4078),i.e(8193),i.e(7936),i.e(3708),i.e(706),i.e(9602),i.e(8858),i.e(6548),i.e(9305),i.e(2778),i.e(83),i.e(8933),i.e(2321),i.e(2162),i.e(5551),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(1829),i.e(5030),i.e(7591),i.e(9772),i.e(708),i.e(2391),i.e(7365),i.e(847),i.e(9628),i.e(4093),i.e(3030)]).then(i.bind(i,19932)).then(t=>{const i=new t.ConfirmInputsDialogRenderer(function(e){if("symbol"===e)return(0,s.t)("Add Symbol");return(0,s.t)("Confirm Inputs")}(h),g,m,h,e.model(),S,v);return i.show(),i}):S(m.state().inputs||{})}function c(e){return"time"===e.type||"price"===e.type}},72087:(e,t,i)=>{"use strict";i.d(t,{GeneralChartPropertiesRenderer:()=>r});var s=i(58738);class r extends s.DialogRenderer{constructor(e){super(),this._dialog=null,this._subscribe=e=>{this._setVisibility(e)},this._chartWidgetCollection=e} +show(){const e=this._chartWidgetCollection,t=e.activeChartWidget.value();return t.generalPropertiesDefinitions().then(s=>Promise.all([i.e(9685),i.e(3876),i.e(7039),i.e(7610),i.e(4595),i.e(5698),i.e(9448),i.e(3894),i.e(3996),i.e(4078),i.e(8193),i.e(7936),i.e(3708),i.e(706),i.e(8604),i.e(9602),i.e(8858),i.e(6473),i.e(6548),i.e(9305),i.e(2778),i.e(83),i.e(8933),i.e(8969),i.e(2850),i.e(2269),i.e(5514),i.e(306),i.e(2402),i.e(4940),i.e(1529),i.e(5383),i.e(3590),i.e(1829),i.e(5030),i.e(7591),i.e(9772),i.e(8680),i.e(708),i.e(2391),i.e(7365),i.e(847),i.e(8625),i.e(7078)]).then(i.bind(i,76270)).then(i=>{var r,n;const o=new i.GeneralChartPropertiesDialogRenderer({chartWidgetCollection:e,propertyPages:s,activePageId:this._activePageId,model:t.model()});return null===(r=this._dialog)||void 0===r||r.hide(),null===(n=this._dialog)||void 0===n||n.visible().unsubscribe(this._subscribe),this._dialog=o,o.visible().subscribe(this._subscribe),o.show(),this._activePageId=void 0,o}))}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}isVisible(){return this.visible().value()}focusOnText(){}setActivePage(e){this._activePageId=e}}},17722:(e,t,i)=>{"use strict";var s;i.d(t,{ToolboxType:()=>s}),function(e){e[e.Delete=0]="Delete"}(s||(s={}))},79424:(e,t,i)=>{"use strict";i.d(t,{globalCloseDelegate:()=>r,globalCloseMenu:()=>n});var s=i(5729);const r=new(i.n(s)());function n(){r.fire()}},58589:e=>{e.exports=''},25292:e=>{e.exports=''},96527:e=>{e.exports=''},26971:e=>{e.exports=''},3948:e=>{ +e.exports=''},97033:e=>{e.exports=''},4754:e=>{e.exports=''},63708:e=>{e.exports=''},63310:e=>{e.exports=''},2116:e=>{ +e.exports=''},78544:e=>{e.exports=''},23353:e=>{e.exports=''},62781:e=>{e.exports=''},65511:e=>{ +e.exports=''},94817:e=>{e.exports=''},6857:e=>{e.exports=''},97663:e=>{e.exports=''},38069:e=>{"use strict";e.exports=JSON.parse('{"4":["v",["h",0,2],["h",1,3]],"6":["v",["h",0,2,4],["h",1,3,5]],"8":["v",["h",0,2,4,6],["h",1,3,5,7]],"2h":["h",0,1],"2v":["v",0,1],"2-1":["v",["h",0,2],1],"3s":["h",0,["v",1,2]],"3h":["h",0,1,2],"3v":["v",0,1,2],"1-2":["v",0,["h",1,2]],"3r":["h",["v",0,1],2],"4h":["h",0,1,2,3],"4v":["v",0,1,2,3],"4s":["h",0,["v",1,2,3]],"1-3":["v",0,["h",1,2,3]],"2-2":["v",["h",0,1],["v",2,3]],"1-4":["v",0,["h",1,2,3,4]],"5s":["h",0,["v",1,2,3,4]],"6c":["v",["h",0,1],["h",2,3],["h",4,5]],"8c":["v",["h",0,1],["h",2,3],["h",4,5],["h",6,7]],"s":0}')}},e=>{e.O(0,[8445,1216],()=>{return t=55218,e(e.s=t);var t});e.O()}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/line-tools-icons.2ebfde56d4ef0139cc64.js b/public/static/charting_library/bundles/line-tools-icons.2ebfde56d4ef0139cc64.js new file mode 100644 index 0000000..1fc64bf --- /dev/null +++ b/public/static/charting_library/bundles/line-tools-icons.2ebfde56d4ef0139cc64.js @@ -0,0 +1,28 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1890],{94317:(l,h,t)=>{"use strict";t.r(h),t.d(h,{lineToolsIcons:()=>o});const o={LineTool5PointsPattern:t(93822),LineToolABCD:t(43694),LineToolArc:t(31615),LineToolArrow:t(40201),LineToolArrowMarker:t(26157),LineToolArrowMarkDown:t(29121),LineToolArrowMarkLeft:t(75410),LineToolArrowMarkRight:t(97833),LineToolArrowMarkUp:t(37936),LineToolBalloon:t(36693),LineToolBarsPattern:t(57715),LineToolBezierCubic:t(94062),LineToolBezierQuadro:t(50874),LineToolBrush:t(27731),LineToolCallout:t(2415),LineToolCircle:t(62098),LineToolCircleLines:t(89026),LineToolCypherPattern:t(34082),LineToolDateAndPriceRange:t(9368),LineToolDateRange:t(25001),LineToolDisjointAngle:t(45845),LineToolElliottCorrection:t(4542),LineToolElliottDoubleCombo:t(37171),LineToolElliottImpulse:t(51475),LineToolElliottTriangle:t(45400),LineToolElliottTripleCombo:t(9446),LineToolEllipse:t(30655),LineToolExtended:t(83836),LineToolFibChannel:t(68097),LineToolFibCircles:t(23464),LineToolFibRetracement:t(93685),LineToolFibSpeedResistanceArcs:t(48574),LineToolFibSpeedResistanceFan:t(45293),LineToolFibSpiral:t(58853),LineToolFibTimeZone:t(35386),LineToolFibWedge:t(73530),LineToolFlagMark:t(22959),LineToolFlatBottom:t(72613),LineToolAnchoredVWAP:"",LineToolGannComplex:t(4147),LineToolGannFixed:t(12185),LineToolGannFan:t(40837),LineToolGannSquare:t(6382),LineToolGhostFeed:t(28597),LineToolHeadAndShoulders:t(72716),LineToolHorzLine:t(10559),LineToolHorzRay:t(36307),LineToolIcon:"icon",LineToolInsidePitchfork:t(63760),LineToolNote:t(7118),LineToolNoteAbsolute:t(51534),LineToolSignpost:t(56019),LineToolTweet:"",LineToolIdea:"",LineToolParallelChannel:t(39720),LineToolPitchfan:t(8190),LineToolPitchfork:t(79377),LineToolPolyline:t(19769),LineToolPath:t(39994),LineToolPrediction:t(89784),LineToolPriceLabel:t(16959),LineToolPriceNote:t(77654),LineToolPriceRange:t(89721),LineToolProjection:t(98828),LineToolRay:t(62844),LineToolRectangle:t(83238),LineToolRegressionTrend:t(38422),LineToolRiskRewardLong:t(55899),LineToolRiskRewardShort:t(34232),LineToolFixedRangeVolumeProfile:t(2349),LineToolRotatedRectangle:t(37273),LineToolSchiffPitchfork:t(98249),LineToolSchiffPitchfork2:t(39336),LineToolSineLine:t(76102),LineToolText:t(87500),LineToolTextAbsolute:t(3872),LineToolThreeDrivers:t(4490),LineToolTimeCycles:t(41688),LineToolTrendAngle:t(96178),LineToolTrendBasedFibExtension:t(43877),LineToolTrendBasedFibTime:t(4321),LineToolTrendLine:t(72411),LineToolInfoLine:t(22046),LineToolTriangle:t(66400),LineToolTrianglePattern:t(83198),LineToolVertLine:t(77451),LineToolCrossLine:t(99825),LineToolHighlighter:t(92818),LineToolImage:""}},43694:l=>{ +l.exports=''},51534:l=>{l.exports=''},3872:l=>{l.exports=''},31615:l=>{l.exports=''},29121:l=>{ +l.exports=''},75410:l=>{l.exports=''},97833:l=>{l.exports=''},37936:l=>{l.exports=''},26157:l=>{l.exports=''},36693:l=>{l.exports=''},57715:l=>{l.exports=''},27731:l=>{ +l.exports=''},2415:l=>{l.exports=''},62098:l=>{l.exports=''},99825:l=>{l.exports=''},50874:l=>{l.exports=''},89026:l=>{ +l.exports=''},34082:l=>{l.exports=''},9368:l=>{ +l.exports=''},25001:l=>{l.exports=''},45845:l=>{l.exports=''},94062:l=>{ +l.exports=''},4542:l=>{l.exports=''},37171:l=>{ +l.exports=''},51475:l=>{l.exports=''},45400:l=>{ +l.exports=''},9446:l=>{l.exports=''},30655:l=>{ +l.exports=''},83836:l=>{l.exports=''},68097:l=>{l.exports=''},23464:l=>{ +l.exports=''},93685:l=>{l.exports=''},48574:l=>{l.exports=''},45293:l=>{ +l.exports=''},58853:l=>{l.exports=''},35386:l=>{l.exports=''},73530:l=>{ +l.exports=''},2349:l=>{l.exports=''},22959:l=>{l.exports=''},72613:l=>{l.exports=''},89784:l=>{ +l.exports=''},6382:l=>{l.exports=''},40837:l=>{l.exports=''},12185:l=>{l.exports=''},4147:l=>{ +l.exports=''},28597:l=>{l.exports=''},72716:l=>{ +l.exports=''},92818:l=>{l.exports=''},10559:l=>{l.exports=''},36307:l=>{ +l.exports=''},22046:l=>{l.exports=''},63760:l=>{l.exports=''},40201:l=>{ +l.exports=''},72411:l=>{l.exports=''},55899:l=>{l.exports=''},98249:l=>{l.exports=''},7118:l=>{ +l.exports=''},39720:l=>{l.exports=''},39994:l=>{l.exports=''},8190:l=>{l.exports=''},79377:l=>{ +l.exports=''},19769:l=>{l.exports=''},16959:l=>{ +l.exports=''},77654:l=>{l.exports=''},89721:l=>{l.exports=''},98828:l=>{l.exports=''},62844:l=>{l.exports=''},83238:l=>{ +l.exports=''},38422:l=>{l.exports=''},37273:l=>{ +l.exports=''},39336:l=>{l.exports=''},34232:l=>{ +l.exports=''},56019:l=>{l.exports=''},76102:l=>{l.exports=''},87500:l=>{l.exports=''},4490:l=>{ +l.exports=''},41688:l=>{l.exports=''},96178:l=>{ +l.exports=''},43877:l=>{l.exports=''},4321:l=>{l.exports=''},83198:l=>{ +l.exports=''},66400:l=>{l.exports=''},77451:l=>{l.exports=''},93822:l=>{ +l.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/load-chart-dialog.418fa6c99a7803f5cc10.js b/public/static/charting_library/bundles/load-chart-dialog.418fa6c99a7803f5cc10.js new file mode 100644 index 0000000..7484fd9 --- /dev/null +++ b/public/static/charting_library/bundles/load-chart-dialog.418fa6c99a7803f5cc10.js @@ -0,0 +1,5 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5009],{69040:e=>{e.exports={highlight:"highlight-1aROqc2m",active:"active-1aROqc2m"}},83963:e=>{e.exports={dialog:"dialog-1xjtlTJV",contentList:"contentList-1xjtlTJV"}},2789:e=>{e.exports={container:"container-1NQ91aze",list:"list-1NQ91aze",overlayScrollWrap:"overlayScrollWrap-1NQ91aze",scroll:"scroll-1NQ91aze"}},41350:e=>{e.exports={container:"container-30_lleAw",title:"title-30_lleAw"}},6960:e=>{e.exports={container:"container-3n5_2-hI",inputContainer:"inputContainer-3n5_2-hI",withCancel:"withCancel-3n5_2-hI",input:"input-3n5_2-hI",icon:"icon-3n5_2-hI",cancel:"cancel-3n5_2-hI"}},48325:e=>{e.exports={container:"container-xPtOXn4t",labelWrap:"labelWrap-xPtOXn4t",icon:"icon-xPtOXn4t",text:"text-xPtOXn4t"}},18342:e=>{e.exports={sortButton:"sortButton-Srpxcu6T",icon:"icon-Srpxcu6T"}},75695:e=>{e.exports={highlighted:"highlighted-1Qud56dI"}},19330:(e,t,o)=>{"use strict";o.d(t,{VerticalAttachEdge:()=>n,HorizontalAttachEdge:()=>r,VerticalDropDirection:()=>i,HorizontalDropDirection:()=>a,getPopupPositioner:()=>s});var n,r,i,a,l=o(16282);!function(e){e[e.Top=0]="Top",e[e.Bottom=1]="Bottom"}(n||(n={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(r||(r={})),function(e){e[e.FromTopToBottom=0]="FromTopToBottom",e[e.FromBottomToTop=1]="FromBottomToTop"}(i||(i={})),function(e){e[e.FromLeftToRight=0]="FromLeftToRight",e[e.FromRightToLeft=1]="FromRightToLeft"}(a||(a={}));const c={verticalAttachEdge:n.Bottom,horizontalAttachEdge:r.Left,verticalDropDirection:i.FromTopToBottom,horizontalDropDirection:a.FromLeftToRight,verticalMargin:0,horizontalMargin:0,matchButtonAndListboxWidths:!1};function s(e,t){return(o,s)=>{const d=(0,l.ensureNotNull)(e).getBoundingClientRect(),{verticalAttachEdge:u=c.verticalAttachEdge,verticalDropDirection:m=c.verticalDropDirection,horizontalAttachEdge:h=c.horizontalAttachEdge,horizontalDropDirection:g=c.horizontalDropDirection,horizontalMargin:f=c.horizontalMargin,verticalMargin:p=c.verticalMargin,matchButtonAndListboxWidths:v=c.matchButtonAndListboxWidths}=t,y=u===n.Top?-1*p:p,x=h===r.Right?d.right:d.left,S=u===n.Top?d.top:d.bottom,C={x:x-(g===a.FromRightToLeft?o:0)+f,y:S-(m===i.FromBottomToTop?s:0)+y};return v&&(C.overrideWidth=d.width),C}}},59879:(e,t,o)=>{"use strict";o.r(t),o.d(t,{LoadChartDialogRenderer:()=>re});var n=o(67294),r=o(73935),i=o(16282),a=o(79881),l=o(64222),c=o(43367),s=o(93590),d=o(94184),u=o.n(d),m=o(76420),h=o(19330),g=o(49775),f=o(33512),p=o(86879),v=o(18342);function y(e){const{sortDirection:t,children:o,...r}=e,i=(0,n.useRef)(null),[a,l]=(0,n.useState)(!1);return n.createElement("div",{...r,ref:i,className:d(v.sortButton,"apply-common-tooltip","common-tooltip-vertical"),onClick:function(){l(!a)}},n.createElement(g.Icon,{className:v.icon,icon:0===t?f:p}),n.createElement(m.PopupMenu,{doNotCloseOn:i.current,isOpened:a,onClose:()=>{l(!1)},position:(0,h.getPopupPositioner)(i.current,{verticalMargin:-35,verticalAttachEdge:0})},o))}var x=o(95860),S=o(48325);function C(e){ +const{label:t,listSortField:o,itemSortField:r,listSortDirection:i,itemSortDirection:a,onClick:l,className:c,...s}=e,u=r===o&&a===i;return n.createElement(x.PopupMenuItem,{...s,className:d(S.container,c),label:n.createElement("div",{className:S.labelWrap},n.createElement(g.Icon,{className:S.icon,icon:0===a?f:p}),n.createElement("span",{className:S.text},t)),isActive:u,onClick:function(){l(r,a)},"data-active":u.toString(),"data-sort-field":r,"data-sort-direction":0===a?"asc":"desc"})}var E=o(40834),D=o(41350);function w(e){const{children:t,className:o}=e;return n.createElement("div",{className:u()(D.container,o)},t)}function F(e){const{title:t}=e;return n.createElement("div",{className:D.title},t)}var b=o(75496);var N=o(33093),T=o(5383),I=o.n(T),R=o(76553),k=o(88098),M=o(77400);var L=o(27947),z=o(2789);function P(e){const{className:t,onScroll:o,onTouchStart:r,reference:i,children:a,scrollbar:l,...s}=e,[d,m]=(0,k.useDimensions)(),[h,g,f,p]=(0,M.useOverlayScroll)();return(0,n.useEffect)(()=>{const e=()=>{};return c.isFF?(document.addEventListener("wheel",()=>e),()=>{document.removeEventListener("wheel",e)}):e},[]),n.createElement(I(),{onMeasure:d},n.createElement("div",{..."overlay"===l&&g,className:u()(z.container,t),onTouchStart:r,onScrollCapture:o},"overlay"===l&&n.createElement(L.OverlayScrollContainer,{...h,className:z.overlayScrollWrap}),n.createElement(N.FixedSizeList,{ref:i,className:u()("native"===l?z.scroll:z.list),outerRef:"overlay"===l?f:void 0,onItemsRendered:p,layout:"vertical",width:"100%",height:(null==m?void 0:m.height)||0,children:a,direction:(0,R.isRtl)()?"rtl":"ltr",...s})))}var A=o(22900);var B=o(62638),O=o(1467),W=o(78106),_=o(87614);var H=o(54041),K=o(18675),V=o(11945),q=o(65802),$=o(69040);const j=(0,a.t)("Do you really want to delete Chart Layout '{name}' ?");const Q=new H.DateFormatter("dd-MM-yyyy"),J=new K.TimeFormatter("%h:%m");function X(e){const{chart:t,chartWidgetCollection:o,trackEvent:r,localFavorites:i,onClose:a,searchString:l,onClickRemove:c,onRemoveCanceled:s,isSelected:d}=e,[m,h]=(0,n.useState)(()=>t.active()),g=t.url?function(e){const t=e.chartId?`/chart/${e.chartId}/`:"/chart/",o=new URL(t,location.href);return e.symbol&&o.searchParams.append("symbol",e.symbol),e.interval&&o.searchParams.append("interval",e.interval),e.style&&o.searchParams.append("style",e.style),(0,A.urlWithMobileAppParams)(o.href)}({chartId:t.url}):void 0,f=(0,n.useContext)(W.SlotContext),p=(0,n.useMemo)(()=>new Date(1e3*t.modified),[t]),v=(0,n.useMemo)(()=>(0,q.createRegExpList)(l),[l]),y=u()($.highlight,m&&$.active);return(0,n.useEffect)(()=>(o&&o.metaInfo.id.subscribe(S),()=>{o&&o.metaInfo.id.unsubscribe(S)}),[]),n.createElement(B.DialogContentItem,{url:g,title:n.createElement(V.HighlightedText,{className:y,queryString:l,rules:v,text:t.title}),subtitle:n.createElement(n.Fragment,null,n.createElement(V.HighlightedText,{className:y,queryString:l,rules:v,text:t.description})," ","(",Q.format(p).replace(/-/g,".")," ",J.formatLocal(p),")"),onClick:function(e){0;t.openAction(),!1},onClickFavorite:function(){0 +;const e={...i};e[t.id]?delete e[t.id]:e[t.id]=!0;t.favoriteAction(e)},onClickRemove:function(){!function(e,t,o,n){(0,_.showConfirm)({text:e,onConfirm:({dialogClose:e})=>{t(),e()},onClose:()=>{o()}},n)}(j.format({name:t.title}),x,s,f)},isFavorite:Boolean(i[t.id]),isActive:m,isSelected:d,"data-name":"load-chart-dialog-item"});function x(){t.deleteAction().then(()=>c(t.id))}function S(e){h(t.id===e)}}var Z=o(79424),U=o(42998);var G=o(83963);const Y={sortField:"modified",sortDirection:1},ee=function(e){const{paddingTop:t=0,paddingBottom:o=0}=e;return(0,n.forwardRef)(({style:e,...r},i)=>{const{height:a=0}=e;return n.createElement("div",{ref:i,style:{...e,height:((0,b.isNumber)(a)?a:parseFloat(a))+t+o+"px"},...r})})}({paddingBottom:6});function te(e){let t;try{t=(0,O.getTranslatedResolution)(e)}catch(o){t=e}return t}function oe(e){const{charts:t,onClose:o,favoriteChartsService:r,chartWidgetCollection:d}=e,[u,m]=(0,n.useState)(""),[h,g]=(0,n.useState)(u),[f,p]=(0,n.useState)([]),v=(0,n.useRef)(null),[x,S]=(0,n.useState)(()=>r.get()),[D,b]=(0,n.useState)(()=>l.getJSON("loadChartDialog.viewState",Y)),N=(0,n.useRef)(null),T=(0,n.useRef)(null),I=(0,n.useMemo)(()=>t.map(e=>({...e,description:`${e.symbol}, ${te(e.interval)}`})),[t]);(0,n.useEffect)(()=>{c.CheckMobile.any()||(0,i.ensureNotNull)(N.current).focus()},[]);const R=(0,n.useRef)();(0,n.useEffect)(()=>(R.current=setTimeout(()=>{m(h)},300),()=>{clearTimeout(R.current)}),[h]),(0,n.useEffect)(()=>(r.getOnChange().subscribe(null,H),()=>{r.getOnChange().unsubscribe(null,H)}),[]);const k=(0,n.useCallback)(()=>!0,[]),M=(0,n.useMemo)(()=>{return(0,q.rankedSearch)({data:I.filter(e=>!f.includes(e.id)).sort((e=D.sortDirection,(t,o)=>{if(x[t.id]&&!x[o.id])return-1;if(!x[t.id]&&x[o.id])return 1;const n=0===e?1:-1;return"modified"===D.sortField?n*(t.modified-o.modified):n*t.title.localeCompare(o.title)})),rules:(0,q.createRegExpList)(u),queryString:u,primaryKey:"title",secondaryKey:"description"});var e},[u,D,f,x]),{selectedItemIndex:L,setSelectedItemIndex:z,handleKeyboardSelection:A}=function(e,t,o){const[r,i]=(0,n.useState)(-1);return(0,n.useEffect)(()=>{var e;-1!==r&&(null===(e=o.current)||void 0===e||e.scrollToItem(r))},[r]),{selectedItemIndex:r,setSelectedItemIndex:i,handleKeyboardSelection:function(o){switch((0,U.hashFromEvent)(o)){case 40:if(r===e-1)return;i(r+1);break;case 38:if(0===r)return;if(-1===r)return void i(r+1);i(r-1);break;case 13:t(o)}}}}(M.length,(function(e){const t=M[L];if(-1===L||!t)return;0;t.openAction(),!1}),T);return n.createElement(s.AdaptivePopupDialog,{ref:v,onClose:o,onClickOutside:o,onKeyDown:A,isOpened:!0,className:G.dialog,title:(0,a.t)("Load layout"),dataName:"load-layout-dialog",render:function(){return n.createElement(n.Fragment,null,n.createElement(E.DialogSearch,{reference:N,onChange:O,placeholder:(0,a.t)("Search")}),n.createElement(w,null,n.createElement(F,{title:(0,a.t)("Layout name")}),n.createElement(y,{sortDirection:D.sortDirection,title:(0,a.t)("Sort by layout name, date changed"),"data-name":"load-chart-dialog-sort-button" +},n.createElement(C,{label:(0,a.t)("Layout name (A to Z)"),listSortField:D.sortField,itemSortField:"title",listSortDirection:D.sortDirection,itemSortDirection:0,onClick:V,"data-name":"load-chart-dialog-sort-menu-item"}),n.createElement(C,{label:(0,a.t)("Layout name (Z to A)"),listSortField:D.sortField,itemSortField:"title",listSortDirection:D.sortDirection,itemSortDirection:1,onClick:V,"data-name":"load-chart-dialog-sort-menu-item"}),n.createElement(C,{label:(0,a.t)("Date modified (oldest first)"),listSortField:D.sortField,itemSortField:"modified",listSortDirection:D.sortDirection,itemSortDirection:0,onClick:V,"data-name":"load-chart-dialog-sort-menu-item"}),n.createElement(C,{label:(0,a.t)("Date modified (newest first)"),listSortField:D.sortField,itemSortField:"modified",listSortDirection:D.sortDirection,itemSortDirection:1,onClick:V,"data-name":"load-chart-dialog-sort-menu-item"}))),n.createElement(P,{scrollbar:"native",reference:T,itemCount:M.length,itemSize:52,className:G.contentList,onScroll:B,innerElementType:ee,itemKey:e=>(x[M[e].id]?"f_":"")+M[e].id,children:({style:e,index:t})=>n.createElement("div",{style:e},n.createElement(X,{chart:M[t],onClose:o,chartWidgetCollection:d,trackEvent:W,onRemoveCanceled:K,localFavorites:x,searchString:u,onClickRemove:_,isSelected:t===L}))}))},forceCloseOnEsc:k});function B(){Z.globalCloseDelegate.fire()}function O(e){const t=e.currentTarget.value;g(t),z(-1)}function W(e){0}function _(e){p([e,...f])}function H(e){S(e)}function K(){(0,i.ensureNotNull)(v.current).focus()}function V(e,t){const o={sortField:e,sortDirection:t};b(o),l.setValue("loadChartDialog.viewState",JSON.stringify(o),{forceFlush:!0}),W()}}var ne=o(58738);class re extends ne.DialogRenderer{constructor(e){super(),this._options=e}show(){r.render(n.createElement(oe,{...this._options,onClose:()=>this.hide()}),this._container),this._setVisibility(!0)}hide(){r.unmountComponentAtNode(this._container),this._setVisibility(!1)}}},40834:(e,t,o)=>{"use strict";o.d(t,{DialogSearch:()=>d});var n=o(67294),r=o(94184),i=o.n(r),a=o(79881),l=o(49775),c=o(2796),s=o(6960);function d(e){const{children:t,renderInput:o,onCancel:r,...d}=e;return n.createElement("div",{className:s.container},n.createElement("div",{className:i()(s.inputContainer,r&&s.withCancel)},o||n.createElement(u,{...d})),t,n.createElement(l.Icon,{className:s.icon,icon:c}),r&&n.createElement("div",{className:s.cancel,onClick:r},(0,a.t)("Cancel")))}function u(e){const{className:t,reference:o,value:r,onChange:a,onFocus:l,onBlur:c,onKeyDown:d,onSelect:u,placeholder:m,...h}=e;return n.createElement("input",{...h,ref:o,type:"text",className:i()(t,s.input),autoComplete:"off","data-role":"search",placeholder:m,value:r,onChange:a,onFocus:l,onBlur:c,onSelect:u,onKeyDown:d})}},65802:(e,t,o)=>{"use strict";o.d(t,{rankedSearch:()=>r,createRegExpList:()=>i,getHighlightedChars:()=>a});var n=o(47903);function r(e){const{data:t,rules:o,queryString:r,isPreventedFromFiltering:i,primaryKey:a,secondaryKey:l=a,optionalPrimaryKey:c}=e;return t.map(e=>{const t=c&&e[c]?e[c]:e[a],i=e[l] +;let s,d=0;return o.forEach(e=>{var o,a,l,c;const{re:u,fullMatch:m}=e;return u.lastIndex=0,t&&t.toLowerCase()===r.toLowerCase()?(d=3,void(s=null===(o=t.match(m))||void 0===o?void 0:o.index)):(0,n.isString)(t)&&m.test(t)?(d=2,void(s=null===(a=t.match(m))||void 0===a?void 0:a.index)):(0,n.isString)(i)&&m.test(i)?(d=1,void(s=null===(l=i.match(m))||void 0===l?void 0:l.index)):void((0,n.isString)(i)&&u.test(i)&&(d=1,s=null===(c=i.match(u))||void 0===c?void 0:c.index))}),{matchPriority:d,matchIndex:s,item:e}}).filter(e=>i||e.matchPriority).sort((e,t)=>{if(e.matchPriorityt.matchPriority)return-1;if(e.matchPriority===t.matchPriority){if(void 0===e.matchIndex||void 0===t.matchIndex)return 0;if(e.matchIndex>t.matchIndex)return 1;if(e.matchIndexe)}function i(e,t){const o=[],n=e.toLowerCase(),r=e.split("").map((e,t)=>`(${0!==t?"[/\\s-]"+l(e):l(e)})`).join("(.*?)")+"(.*)";return o.push({fullMatch:new RegExp(`(${l(e)})`,"i"),re:new RegExp("^"+r,"i"),reserveRe:new RegExp(r,"i"),fuzzyHighlight:!0}),t&&t.hasOwnProperty(n)&&o.push({fullMatch:t[n],re:t[n],fuzzyHighlight:!1}),o}function a(e,t,o){const n=[];return e&&o?(o.forEach(e=>{const{fullMatch:o,re:r,reserveRe:i}=e;o.lastIndex=0,r.lastIndex=0;const a=o.exec(t),l=a||r.exec(t)||i&&i.exec(t);if(e.fuzzyHighlight=!a,l)if(e.fuzzyHighlight){let e=l.index;for(let t=1;t{"use strict";o.d(t,{HighlightedText:()=>l});var n=o(67294),r=o(94184),i=o(65802),a=o(75695);function l(e){const{queryString:t,rules:o,text:l,className:c}=e,s=(0,n.useMemo)(()=>(0,i.getHighlightedChars)(t,l,o),[t,o,l]);return n.createElement(n.Fragment,null,s.length?l.split("").map((e,t)=>n.createElement(n.Fragment,{key:t},s[t]?n.createElement("span",{className:r(a.highlighted,c)},e):n.createElement("span",null,e))):l)}},86879:e=>{e.exports=''},33512:e=>{e.exports=''},2796:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/lollipop-tooltip-renderer.76349a508c9e9d8b8af2.js b/public/static/charting_library/bundles/lollipop-tooltip-renderer.76349a508c9e9d8b8af2.js new file mode 100644 index 0000000..12141f4 --- /dev/null +++ b/public/static/charting_library/bundles/lollipop-tooltip-renderer.76349a508c9e9d8b8af2.js @@ -0,0 +1,5 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[9039],{67891:function(e,t){var n,o,r;o=[t],void 0===(r="function"==typeof(n=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t{e.exports={drawer:"drawer-zv4KaX-F",drawerItem:"drawerItem-zv4KaX-F",menuWrap:"menuWrap-zv4KaX-F",menuBox:"menuBox-zv4KaX-F",card:"card-zv4KaX-F",mini:"mini-zv4KaX-F",fadeTop:"fadeTop-zv4KaX-F", +fadeBottom:"fadeBottom-zv4KaX-F"}},34811:e=>{e.exports={content:"content-SNaRagqV",titleWrapper:"titleWrapper-SNaRagqV",title:"title-SNaRagqV",subtitle:"subtitle-SNaRagqV",text:"text-SNaRagqV",icon:"icon-SNaRagqV",group:"group-SNaRagqV",groupIcon:"groupIcon-SNaRagqV",beforeMarketOpen:"beforeMarketOpen-SNaRagqV",afterMarketClose:"afterMarketClose-SNaRagqV",groupTitle:"groupTitle-SNaRagqV",groupRow:"groupRow-SNaRagqV",groupCell:"groupCell-SNaRagqV",link:"link-SNaRagqV",mob:"mob-SNaRagqV",mini:"mini-SNaRagqV"}},64526:e=>{e.exports={wrap:"wrap-164vy-kj",positionBottom:"positionBottom-164vy-kj",backdrop:"backdrop-164vy-kj",drawer:"drawer-164vy-kj",positionLeft:"positionLeft-164vy-kj"}},14391:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LollipopCardType:()=>M,showLollipopTooltip:()=>T});var o=n(67294),r=n(73935),a=n(16282),l=n(94184),s=n.n(l);function i(e,t,n){(0,o.useEffect)(()=>{const o=new IntersectionObserver(e=>{e[e.length-1].intersectionRatio<.25?n():t()},{threshold:[0,.25,.5,.75,1],root:null,rootMargin:"0px"});return e.current&&o.observe(e.current),()=>o.disconnect()},[])}var c=n(68521),u=n(57374),d=n(94004),m=n(76420),p=n(42998),v=n(79424),f=n(47903);const g=(0,o.forwardRef)((e,t)=>{const{onClose:n,onForceClose:r,onClickOutside:a,customCloseSubscriptions:l=[],...s}=e,i=(0,o.useRef)(null),c=(0,o.useCallback)(e=>{27===(0,p.hashFromEvent)(e)&&r()},[r]),u=(0,o.useCallback)(()=>{(0,v.globalCloseMenu)(),r()},[r]),d=(0,o.useCallback)(()=>{i.current&&i.current.focus({preventScroll:!0})},[]);return(0,o.useEffect)(()=>{const e=(t=u,window.addEventListener("scroll",t),()=>window.removeEventListener("scroll",t));var t;const n=l&&function(e,t){for(const n of e)n.subscribe(null,t);return()=>{for(const n of e)n.unsubscribe(null,t)}}(l,u);return()=>{e(),(0,f.isFunction)(n)&&n()}},[l,u]),o.createElement(m.PopupMenu,{isOpened:!0,tabIndex:-1,reference:e=>{"function"==typeof t?t(e):(0,f.isObject)(t)&&(t.current=e),i.current=e},onClose:n,onClickOutside:a,onKeyDown:c,onOpen:d,...s},e.children)});var h,w=n(4598),E=n(90901),C=n(49775),y=n(34811);function b(e){const{name:t,value:n,style:r,valueRightIcon:a}=e;return o.createElement("div",{key:t,className:y.groupRow,style:r},o.createElement("div",{className:y.groupCell},o.createElement("span",{className:y.text},t)),o.createElement("div",{className:y.groupCell},o.createElement("span",{className:y.text},n),a&&o.createElement(C.Icon,{icon:a.iconContent,className:s()(y.groupIcon,a.iconClass,"apply-common-tooltip"),title:a.tooltipText})))}function k(e){const{text:t,href:n,onClick:r}=e;return o.createElement("a",{href:n,onClick:r&&(e=>{e.preventDefault(),r()}),className:y.link},t)}function S(e){var t;const{content:n=[],subTitle:r,cardType:a,anchor:l}=e,i=n.map(e=>{const{title:t,content:n}=e;return o.createElement("div",{key:`${t}:${n.length}`,className:y.group},t&&o.createElement("span",{className:y.groupTitle},t),n.map(e=>o.createElement(b,{key:e.name,...e})))}),c=a?s()(y.content,y[a]):y.content,u="string"==typeof r?r:r.map(e=>o.createElement(b,{key:e.name,...e})) +;return o.createElement(o.Fragment,null,o.createElement("div",{className:c},o.createElement("div",{className:y.titleWrapper},e.tooltipIcon&&o.createElement(C.Icon,{icon:e.tooltipIcon,className:y.icon,style:{color:null===(t=e.style)||void 0===t?void 0:t.color}}),o.createElement("span",{className:y.title},e.title)),o.createElement("span",{className:y.subtitle},u),i.length>0&&o.createElement("div",null,i),l&&o.createElement("div",{className:y.group},o.createElement(k,{...l}))))}!function(e){e[e.BeforeMarketOpen=y.beforeMarketOpen]="BeforeMarketOpen",e[e.AfterMarketClose=y.afterMarketClose]="AfterMarketClose"}(h||(h={}));var N=n(99838);const x=(0,w.mergeThemes)(E.DEFAULT_MENU_THEME,{menuWrap:N.menuWrap,menuBox:N.menuBox});function D(e){const{tooltips:t,onClose:n,onForceClose:r,onClickOutside:a,position:l,customCloseSubscriptions:m,showScrollFades:p,cardType:v}=e,f=(0,o.useRef)(null),h=(0,o.useRef)(null),w=(0,o.useRef)(null),E=(0,o.useRef)(null),[C,y]=(0,o.useState)("100%"),b=e=>{null!==e&&y(e.clientWidth+"px")},[k,D]=(0,o.useState)(!1);i(w,()=>D(!1),()=>D(!0));const R={display:k?"block":"none",width:C},[T,O]=(0,o.useState)(!1);i(E,()=>O(!1),()=>O(!0));const B={display:T?"block":"none",width:C},F=v?s()(N.card,N[v]):N.card;return o.createElement(d.DrawerManager,null,o.createElement(c.MatchMedia,{rule:"screen and (max-width: 419px)"},e=>e?o.createElement(u.Drawer,{className:N.drawer,onClose:r||n,position:"Bottom"},t.map((e,t)=>o.createElement("div",{key:""+t,className:N.drawerItem},o.createElement(S,{cardType:M.Mobile,...e})))):o.createElement(g,{position:l,theme:x,onClose:n,onForceClose:r||n,onClickOutside:a,customCloseSubscriptions:m},p&&o.createElement(o.Fragment,null,o.createElement("div",{ref:f,className:N.fadeTop,style:R}),o.createElement("div",{ref:w})),o.createElement("div",{ref:b},t.map((e,t)=>{var n;return o.createElement("div",{key:""+t,className:F,style:{borderColor:null===(n=e.style)||void 0===n?void 0:n.color}},o.createElement(S,{cardType:v,...e}))})),p&&o.createElement(o.Fragment,null,o.createElement("div",{ref:E}),o.createElement("div",{ref:h,className:N.fadeBottom,style:B})))))}var M;!function(e){e.Mobile="mob",e.Minimal="mini"}(M||(M={}));let R=null;function T(e){if(!e.items.length)return;const t={tooltips:e.items,onClose:O,onForceClose:()=>{O(),"function"==typeof e.onCustomClose&&e.onCustomClose()},onClickOutside:e.onClickOutside,position:B.bind(null,e.position),customCloseSubscriptions:e.customCloseSubscriptions,showScrollFades:e.showScrollFades,cardType:e.cardType};null===R&&(R=document.createElement("div"),document.body.appendChild(R)),r.render(o.createElement(D,{...t}),R)}function O(){null!==R&&(r.unmountComponentAtNode(R),R.remove(),R=null)}function B(e,t,n){const o=e.target,r=o.getBoundingClientRect(),l=r.width-e.targetSize.w,s=r.height-e.targetSize.h,i=(0,a.ensureNotNull)(o.closest(".chart-container")),c=i.getBoundingClientRect(),u=(0,a.ensureNotNull)(i.parentElement).getBoundingClientRect(),d=r.left+e.point.x+l,m=Math.round(d-t/2),p=Math.min(m+t,c.right,u.right) +;let v,f,g=Math.max(p-t,c.left,u.left);g+t>=u.right&&(g=u.right-t);const h=c.bottom-(r.top+e.point.y+s),w=c.height-h-e.marginTop;return w{"use strict";function o(e,t,n,o,r){function a(r){if(e>r.timeStamp)return;const a=r.target;void 0!==n&&null!==t&&null!==a&&a.ownerDocument===o&&(t.contains(a)||n(r))}return r.click&&o.addEventListener("click",a,!1),r.mouseDown&&o.addEventListener("mousedown",a,!1),r.touchEnd&&o.addEventListener("touchend",a,!1),r.touchStart&&o.addEventListener("touchstart",a,!1),()=>{o.removeEventListener("click",a,!1),o.removeEventListener("mousedown",a,!1),o.removeEventListener("touchend",a,!1),o.removeEventListener("touchstart",a,!1)}}n.d(t,{addOutsideEventListener:()=>o})},94004:(e,t,n)=>{"use strict";n.d(t,{DrawerManager:()=>r,DrawerContext:()=>a});var o=n(67294);class r extends o.PureComponent{constructor(e){super(e),this._addDrawer=()=>{const e=this.state.currentDrawer+1;return this.setState({currentDrawer:e}),e},this._removeDrawer=()=>{const e=this.state.currentDrawer-1;return this.setState({currentDrawer:e}),e},this.state={currentDrawer:0}}render(){return o.createElement(a.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.currentDrawer}},this.props.children)}}const a=o.createContext(null)},57374:(e,t,n)=>{"use strict";n.d(t,{Drawer:()=>p});var o=n(67294),r=n(16282),a=n(94184),l=n(67891),s=n(75761),i=n(4735),c=n(94004),u=n(43367),d=n(94884),m=n(64526);function p(e){const{position:t="Bottom",onClose:n,children:p,className:v,theme:f=m}=e,g=(0,r.ensureNotNull)((0,o.useContext)(c.DrawerContext)),[h,w]=(0,o.useState)(0),E=(0,o.useRef)(null),C=(0,o.useContext)(d.CloseDelegateContext);return(0,o.useEffect)(()=>{const e=(0,r.ensureNotNull)(E.current);return e.focus({preventScroll:!0}),C.subscribe(g,n),(0,s.setFixedBodyState)(!0),u.CheckMobile.iOS()&&(0,l.disableBodyScroll)(e),w(g.addDrawer()),()=>{C.unsubscribe(g,n);const t=g.removeDrawer();u.CheckMobile.iOS()&&(0,l.enableBodyScroll)(e),0===t&&(0,s.setFixedBodyState)(!1)}},[]),o.createElement(i.Portal,null,o.createElement("div",{className:a(m.wrap,m["position"+t])},h===g.currentDrawer&&o.createElement("div",{className:m.backdrop,onClick:n}),o.createElement("div",{className:a(m.drawer,f.drawer,m["position"+t],v),ref:E,tabIndex:-1,"data-name":e["data-name"]},p)))}},76420:(e,t,n)=>{"use strict";n.d(t,{PopupMenu:()=>c});var o=n(67294),r=n(73935),a=n(4735),l=n(90901),s=n(94884),i=n(47165);function c(e){const{controller:t,children:n,isOpened:c,closeOnClickOutside:u=!0,doNotCloseOn:d,onClickOutside:m,onClose:p,...v}=e,f=(0,o.useContext)(s.CloseDelegateContext),g=(0,i.useOutsideEvent)({handler:function(e){m&&m(e);if(!u)return;if(d&&e.target instanceof Node){const t=r.findDOMNode(d);if(t instanceof Node&&t.contains(e.target))return}p()},mouseDown:!0,touchStart:!0});return c?o.createElement(a.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},o.createElement("span",{ref:g,style:{ +pointerEvents:"auto"}},o.createElement(l.Menu,{...v,onClose:p,onScroll:function(t){const{onScroll:n}=e;n&&n(t)},customCloseDelegate:f,ref:t},n))):null}},4598:(e,t,n)=>{"use strict";function o(e,t,n={}){const o=Object.assign({},t);for(const r of Object.keys(t)){const a=n[r]||r;a in e&&(o[r]=[e[a],t[r]].join(" "))}return o}function r(e,t,n={}){return Object.assign({},e,o(e,t,n))}n.d(t,{weakComposeClasses:()=>o,mergeThemes:()=>r})}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/lt-pane-views.a54c6c59d86ab4d390bf.js b/public/static/charting_library/bundles/lt-pane-views.a54c6c59d86ab4d390bf.js new file mode 100644 index 0000000..ea209e8 --- /dev/null +++ b/public/static/charting_library/bundles/lt-pane-views.a54c6c59d86ab4d390bf.js @@ -0,0 +1,101 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1583],{83764:(e,t,i)=>{e.exports=i.p+"f55394b616ed1ae9462c37daab941d93.png"},141:(e,t,i)=>{e.exports=i.p+"898929f1acdb622689e0fc0c95c8fcd0.png"},80985:(e,t,i)=>{e.exports=i.p+"4fafff07d8914dc11f6d335f606ff47c.png"},27867:(e,t,i)=>{"use strict";i.d(t,{getImage:()=>s});const n=new Map;function r(e){e.crossOrigin="anonymous"}function s(e,t,i=r){let s=n.get(e);return void 0===s&&(s=new Promise((e,n)=>{const r=new Image;r.onload=()=>{e(r),r.onload=null,r.onerror=null},r.onerror=()=>{n(),r.onload=null,r.onerror=null},i(r),r.src=t}),n.set(e,s)),s}},14768:(e,t,i)=>{"use strict";i.d(t,{splitThousands:()=>r});var n=i(75496);function r(e,t=" "){let i=e+"";-1!==i.indexOf("e")&&(i=function(e){return(0,n.fixComputationError)(e).toFixed(10).replace(/\.?0+$/,"")}(Number(e)));const r=i.split(".");return r[0].replace(/\B(?=(\d{3})+(?!\d))/g,t)+(r[1]?"."+r[1]:"")}},57583:(e,t,i)=>{"use strict";var n=i(62159).PercentageFormatter,r=i(57649).NumericFormatter,s=i(54837).CHART_FONT_FAMILY,a=i(75235).fibLevelPrice,o=i(16932).drawScaled;function l(e,t,i){this._fibLevelsBasedOnLogScaleProperty=e,this._sourcesToRow={},this._rowsToSources={},this._currentSymbol="",this._actualCapacity=1,this._actualWidth=1,this._numericFormatter=new r,this._percentageFormatter=new n,this._pixelRatio=i.pixelRatio,this._recreateCanvas(this._actualWidth,l.ROW_HEIGHT*this._actualCapacity),this._levelsCount=t}l.prototype.destroy=function(){this._canvas=null,this._cache=null},l.prototype.topByRow=function(e){return e*l.ROW_HEIGHT},l.prototype.rowHeight=function(e){return l.ROW_HEIGHT},l.prototype.devicePixelRatio=function(){return this._canvas&&this._canvas.pixelRatio||0},l.prototype._recreateCanvas=function(e,t){this._canvas=document.createElement("canvas"),this._canvas.width=Math.ceil(e*this._pixelRatio),this._canvas.height=Math.ceil(t*this._actualCapacity*this._pixelRatio),this._cache=this._canvas.getContext("2d"),this._cache.font="12px "+s},l.prototype.canvas=function(){return this._canvas},l.ROW_HEIGHT=14,l.prototype.points=function(e){return[e.points()[0],e.points()[1]]},l.prototype._selectStartPrice=function(e,t){return t?e.points()[0].price:e.points()[1].price},l.prototype.startPoint=function(e,t){var i=this._selectStartPrice(e,t);if(!this._calculateLogLevels(e))return{price:i};var n=e.ownerSource().firstValue();return{price:i,coordinate:e.priceScale().priceToCoordinate(i,n)}},l.prototype._calculatePriceRange=function(e,t,i){return i?t.price-e.price:e.price-t.price},l.prototype.priceRange=function(e,t){var i=this.points(e),n=i[0],r=i[1],s=this._calculatePriceRange(n,r,t);if(!this._calculateLogLevels(e))return{price:s};var a=e.priceScale(),o=e.ownerSource().firstValue(),l=a.priceToCoordinate(n.price,o),d=a.priceToCoordinate(r.price,o);return{price:s,coordinate:t?d-l:l-d}},l.prototype.sourceIsReady=function(e){return e.points().length>=2},l.prototype._calculateLogLevels=function(e){return e.fibLevelsBasedOnLogScale&&e.fibLevelsBasedOnLogScale()},l.prototype._calculateWidth=function(e){ +if(!this.sourceIsReady(e))return null;var t=this._canvas.getContext("2d");t.font="12px "+s;var i=!!e.properties().showPrices&&e.properties().showPrices.value(),n=!!e.properties().coeffsAsPercents&&e.properties().coeffsAsPercents.value(),r=e.properties().showCoeffs.value(),o=this.points(e),l=o[0],d=o[1];if(!l||!d)return null;var h=e.ownerSource().firstValue();if(null===h)return 0;var c=!1,u=e.properties();u.reverse&&u.reverse.value()&&(c=u.reverse.value());for(var _=this.startPoint(e,c),p=this.priceRange(e,c),g=this._calculateLogLevels(e),f=0,v=[],x=1;x<=this._levelsCount;x++){var w=u["level"+x].coeff.value(),m="";if(r&&(m+=n?this._percentageFormatter.format(Math.round(1e4*w)/100):this._numericFormatter.format(w)),i){var R=e.priceScale(),y=a(_,p,w,R,h,g);m+="("+R.formatPrice(y,h)+")"}var T={text:m,left:f,width:t.measureText(m).width+4};v.push(T),f+=T.width}return{totalWidth:f,cells:v}},l.prototype._effectiveState=function(e){var t={},i=e.properties();i.showPrices&&(t.showPrices=i.showPrices.value()),i.coeffsAsPercents&&(t.coeffsAsPercents=i.coeffsAsPercents.value()),t.showCoeffs=i.showCoeffs.value();var n=e.priceScale();n&&(n.formatter().state&&(t.formatter=e.priceScale().formatter().state()),t.logLevels=this._calculateLogLevels(e)),i.reverse&&(t.reverse=i.reverse.value()),t.p1=e.points()[0],t.p2=e.points()[1],3===e.points().length&&(t.p3=e.points()[2]),t.items=[];for(var r=1;r<=this._levelsCount;r++){var s=i["level"+r],a={coeff:s.coeff.value(),color:s.color.value()};t.items.push(a)}return t},l.prototype._findEmptyRow=function(e){for(var t=0;this._rowsToSources[t];)t++;return this._rowsToSources[t]=e,t>=this._actualCapacity&&(this._actualCapacity++,this._recreateCanvas(this._actualWidth,l.ROW_HEIGHT*this._actualCapacity)),t},l.prototype._repaintSource=function(e,t,i){var n=l.ROW_HEIGHT*i.row;o(this._cache,this._pixelRatio,function(){this._cache.clearRect(0,n,this._actualWidth,l.ROW_HEIGHT),this._cache.textBaseline="bottom",this._cache.font="12px "+s,n+=l.ROW_HEIGHT;for(var i=0;ithis._actualWidth&&(this._recreateCanvas(s.totalWidth,l.ROW_HEIGHT*this._actualCapacity),this._actualWidth=s.totalWidth);i=this._sourcesToRow[e.id()];this._repaintSource(s,r,i),this._sourcesToRow[e.id()].effectiveState=r,this._sourcesToRow[e.id()].preparedCells=s}else this._sourcesToRow[e.id()].effectiveState=null}return this._sourcesToRow[e.id()]},e.exports={LevelledLineToolLabelsCache:l}},55913:(e,t,i)=>{"use strict";i.r(t),i.d(t,{Pattern5pointsPaneView:()=>p});var n=i(33420),r=i(71172),s=i(87088),a=i(44896),o=i(18614),l=i(6397),d=i(57649),h=i(10288),c=i(59943),u=i(67857),_=i(54837);class p extends u.LineSourcePaneView{constructor(e,t){super(e,t),this._abRetracement=NaN,this._bcRetracement=NaN,this._cdRetracement=NaN,this._xdRetracement=NaN,this._numericFormatter=new d.NumericFormatter,this._bcRetracementTrend=new l.TrendLineRenderer,this._xdRetracementTrend=new l.TrendLineRenderer,this._xbTrend=new l.TrendLineRenderer,this._bdTrend=new l.TrendLineRenderer,this._polylineRenderer=new c.PolygonRenderer(new h.HitTestResult(h.HitTestResult.MOVEPOINT)),this._mainTriangleRenderer=new o.TriangleRenderer,this._triangleRendererPoints234=new o.TriangleRenderer,this._xbLabelRenderer=new a.TextRenderer,this._acLabelRenderer=new a.TextRenderer,this._bdLabelRenderer=new a.TextRenderer,this._xdLabelRenderer=new a.TextRenderer,this._textRendererALabel=new a.TextRenderer,this._textRendererBLabel=new a.TextRenderer,this._textRendererCLabel=new a.TextRenderer,this._textRendererDLabel=new a.TextRenderer,this._textRendererXLabel=new a.TextRenderer,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._updateBaseData(),this._renderer=null,this._points.length<2)return;const e=this._source.properties().childs(),t=new s.CompositeRenderer,i=(t,i)=>({points:[t],text:i,color:e.textcolor.value(),vertAlign:"middle",horzAlign:"center",font:_.CHART_FONT_FAMILY,offsetX:0,offsetY:0,bold:e.bold&&e.bold.value(),italic:e.italic&&e.italic.value(),fontsize:e.fontsize.value(),backgroundColor:e.color.value(),backgroundRoundRect:4}),a=(t,i)=>({points:[t,i],color:e.color.value(),linewidth:1,linestyle:n.LINESTYLE_DOTTED,extendleft:!1,extendright:!1,leftend:r.LineEnd.Normal,rightend:r.LineEnd.Normal}),[o,l,d,h,c]=this._points,u={points:[o,l,this._points.length<3?l:d],color:"rgba(0, 0, 0, 0)",linewidth:e.linewidth.value(), +backcolor:e.backgroundColor.value(),fillBackground:e.fillBackground.value(),transparency:e.transparency.value()};if(this._mainTriangleRenderer.setData(u),t.append(this._mainTriangleRenderer),this._points.length>3){const i={points:[d,h,5===this._points.length?c:h],color:"rgba(0, 0, 0, 0)",linewidth:e.linewidth.value(),backcolor:e.backgroundColor.value(),fillBackground:e.fillBackground.value(),transparency:e.transparency.value()};this._triangleRendererPoints234.setData(i),t.append(this._triangleRendererPoints234)}const p={points:this._points,color:e.color.value(),linewidth:e.linewidth.value(),backcolor:e.backgroundColor.value(),fillBackground:!1,linestyle:n.LINESTYLE_SOLID,filled:!1};if(this._polylineRenderer.setData(p),t.append(this._polylineRenderer),this._points.length>=3){const e=i(o.add(d).scaled(.5),this._numericFormatter.format(this._abRetracement));this._xbLabelRenderer.setData(e),t.append(this._xbLabelRenderer),this._xbTrend.setData(a(o,d)),t.append(this._xbTrend)}if(this._points.length>=4){this._bcRetracementTrend.setData(a(l,h)),t.append(this._bcRetracementTrend);const e=i(l.add(h).scaled(.5),this._numericFormatter.format(this._bcRetracement));this._acLabelRenderer.setData(e),t.append(this._acLabelRenderer)}if(this._points.length>=5){const e=i(d.add(c).scaled(.5),this._numericFormatter.format(this._cdRetracement));this._bdLabelRenderer.setData(e),t.append(this._bdLabelRenderer),this._xdRetracementTrend.setData(a(o,c)),t.append(this._xdRetracementTrend);const n=i(o.add(c).scaled(.5),this._numericFormatter.format(this._xdRetracement));this._xdLabelRenderer.setData(n),t.append(this._xdLabelRenderer),this._bdTrend.setData(a(d,c)),t.append(this._bdTrend)}const g=i(o,"X");l.y>o.y?(g.vertAlign="bottom",g.offsetY=5):(g.vertAlign="top",g.offsetY=5),this._textRendererXLabel.setData(g),t.append(this._textRendererXLabel);const f=i(l,"A");if(l.y2){const e=i(d,"B");d.y3){const e=i(h,"C");h.y4){const e=i(c,"D");c.y=3){const[e,t,i]=this._source.points();this._abRetracement=Math.round(1e3*Math.abs((i.price-t.price)/(t.price-e.price)))/1e3}if(this._source.points().length>=4){const[,e,t,i]=this._source.points();this._bcRetracement=Math.round(1e3*Math.abs((i.price-t.price)/(t.price-e.price)))/1e3}if(this._source.points().length>=5){const[e,t,i,n,r]=this._source.points() +;this._cdRetracement=Math.round(1e3*Math.abs((r.price-n.price)/(n.price-i.price)))/1e3,this._xdRetracement=Math.round(1e3*Math.abs((r.price-t.price)/(t.price-e.price)))/1e3}}}},31017:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ABCDPaneView:()=>_});var n=i(33420),r=i(87088),s=i(57649),a=i(6397),o=i(44896),l=i(71172),d=i(59943),h=i(10288),c=i(67857),u=i(54837);class _ extends c.LineSourcePaneView{constructor(e,t){super(e,t),this._numericFormatter=new s.NumericFormatter,this._abRetracementTrend=new a.TrendLineRenderer,this._cdRetracementTrend=new a.TrendLineRenderer,this._polylineRenderer=new d.PolygonRenderer(new h.HitTestResult(h.HitTestResult.MOVEPOINT)),this._abLabelRenderer=new o.TextRenderer,this._cdLabelRenderer=new o.TextRenderer,this._textRendererALabel=new o.TextRenderer,this._textRendererBLabel=new o.TextRenderer,this._textRendererCLabel=new o.TextRenderer,this._textRendererDLabel=new o.TextRenderer,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._points.length<2)return void(this._renderer=null);const e=this._source.properties().childs(),t=new r.CompositeRenderer,i=(t,i)=>({points:[t],text:i,color:e.textcolor.value(),vertAlign:"middle",horzAlign:"center",font:u.CHART_FONT_FAMILY,offsetX:0,offsetY:0,bold:e.bold&&e.bold.value(),italic:e.italic&&e.italic.value(),fontsize:e.fontsize.value(),backgroundColor:e.color.value(),backgroundRoundRect:4}),s=(t,i)=>({points:[t,i],color:e.color.value(),linewidth:e.linewidth.value(),linestyle:n.LINESTYLE_DOTTED,extendleft:!1,extendright:!1,leftend:l.LineEnd.Normal,rightend:l.LineEnd.Normal}),[a,o,d,h]=this._points,c={points:this._points,color:e.color.value(),linewidth:e.linewidth.value(),linestyle:n.LINESTYLE_SOLID,fillBackground:!1,filled:!1,backcolor:"rgba(0, 0, 0, 0)"};this._polylineRenderer.setData(c),t.append(this._polylineRenderer);const _=i(a,"A");o.y>a.y?(_.vertAlign="bottom",_.offsetY=5):(_.vertAlign="top",_.offsetY=5),this._textRendererALabel.setData(_),t.append(this._textRendererALabel);const p=i(o,"B");if(o.y2){const e=i(d,"C");d.y3){const e=i(h,"D");h.y=3){this._abRetracementTrend.setData(s(a,d)),t.append(this._abRetracementTrend);const e=a.add(d).scaled(.5),[n,r,o]=this._source.points(),l=Math.round(1e3*Math.abs((o.price-r.price)/(r.price-n.price)))/1e3,h=i(e,this._numericFormatter.format(l));this._abLabelRenderer.setData(h),t.append(this._abLabelRenderer)}if(this._points.length>=4){this._cdRetracementTrend.setData(s(o,h)),t.append(this._cdRetracementTrend) +;const e=o.add(h).scaled(.5),[,n,r,a]=this._source.points(),l=Math.round(1e3*Math.abs((a.price-r.price)/(r.price-n.price)))/1e3,d=i(e,this._numericFormatter.format(l));this._cdLabelRenderer.setData(d),t.append(this._cdLabelRenderer)}this.addAnchors(t),this._renderer=t}}},35049:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ArcPaneView:()=>p});var n=i(89684),r=i(72927),s=i(51102),a=i(10992),o=i(87088),l=i(67857),d=i(50968),h=i(10288),c=i(58729),u=i(21344);class _ extends c.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data={...e,angleFrom:0,angleTo:Math.PI,clockwise:!1}}hitTest(e){if(null===this._data||this._data.points.length<3)return null;const t=(0,u.interactionTolerance)().curve,i=this._data.points[0],a=this._data.points[1];let o=this._data.points[2],l=(0,n.distanceToLine)(i,a,o).distance;if(l<1)return l=(0,n.distanceToLine)(i,a,e).distance,l=0?new r.Point(p.x,p.y):new r.Point(w.x,w.y);S.data=2,d.push(S);const P=[a.PaneCursorType.Default,a.PaneCursorType.Default,(0,l.thirdPointCursorType)(h,u)];i.append(this.createLineAnchor({points:d,pointsCursorType:P},0))}}},92713:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ArrowMarkPaneView:()=>u});var n=i(54837),r=i(67857),s=i(87088),a=i(73301),o=i(44896),l=i(10288),d=i(71044),h=i(57968);class c{constructor(){this._data=null}setData(e){this._data=e}draw(e,t){if(null!==this._data){switch(e.save(),e.fillStyle=this._data.color,this._data.direction){case"up":case"down":!function(e,t,i,n){const r=Math.max(1,Math.floor(n))%2?.5:0,s="up"===i?1:-1,a=s*Math.round(12*n),o=(0,h.ceiledEven)(19.5*n)/2+r,l=s*Math.round(10*n),d=(0,h.ceiledEven)(10*n)/2+r,c=Math.round(t.x*n)+r,u=Math.round(t.y*n);e.beginPath(),e.moveTo(c,u),e.lineTo(c+o,u+a),e.lineTo(c+d,u+a),e.lineTo(c+d,u+a+l),e.lineTo(c-d,u+a+l),e.lineTo(c-d,u+a),e.lineTo(c-o,u+a),e.moveTo(c,u),e.fill()}(e,this._data.point,this._data.direction,t.pixelRatio);break;case"left":case"right":!function(e,t,i,n){const r=Math.max(1,Math.floor(n))%2?.5:0,s="left"===i?1:-1,a=s*Math.round(12*n)+r,o=(0,h.ceiledEven)(19.5*n)/2+r,l=s*Math.round(22*n)+r,d=(0,h.ceiledEven)(10*n)/2+r,c=Math.round(t.x*n)+r,u=Math.round(t.y*n)+r;e.beginPath(),e.moveTo(c,u),e.lineTo(c+a,u+o),e.lineTo(c+a,u+d),e.lineTo(c+l,u+d),e.lineTo(c+l,u-d),e.lineTo(c+a,u-d),e.lineTo(c+a,u-o),e.moveTo(c,u),e.fill()}(e,this._data.point,this._data.direction,t.pixelRatio)}e.restore()}}hitTest(e){if(null===this._data)return null;let t,i,n,r;switch(this._data.direction){case"up":t=this._data.point.x-9.75,n=t+19.5,i=this._data.point.y,r=i+12+10;break;case"down":t=this._data.point.x-9.75,n=t+19.5,r=this._data.point.y,i=r-12-10;break;case"left":t=this._data.point.x,n=t+12+10,i=this._data.point.y-9.75,r=i+19.5;break;case"right":n=this._data.point.x,t=n-12-10, +i=this._data.point.y-9.75,r=i+19.5}return e.xn||e.yr?null:new l.HitTestResult(l.HitTestResult.MOVEPOINT)}doesIntersectWithBox(e){return null!==this._data&&(0,d.pointInBox)(this._data.point,e)}}class u extends r.LineSourcePaneView{constructor(){super(...arguments),this._arrowMarkRenderer=new c,this._textRenderer=new o.TextRenderer,this._renderer=null,this._anchorsOffset=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,1!==this._points.length)return;const e=this._getSource(),t=e.properties().childs(),i=this._getModel();this._arrowMarkRenderer.setData({point:this._points[0],direction:e.direction(),color:t.arrowColor.value()}),this._renderer=new s.CompositeRenderer,this._renderer.append(this._arrowMarkRenderer),""!==t.text.value()&&t.showLabel.value()&&(this._textRenderer.setData({points:this._points,font:n.CHART_FONT_FAMILY,bold:t.bold.value(),italic:t.italic.value(),fontSize:t.fontsize.value(),text:t.text.value(),color:t.color.value(),...e.textAlignParams()}),this._renderer.append(this._textRenderer));const r=[this._anchorsOffset?this._points[0].add(this._anchorsOffset):this._points[0].clone()];this._renderer.append(new a.SelectionRenderer({points:r,bgColors:this._lineAnchorColors(r),visible:this.areAnchorsVisible(),barSpacing:i.timeScale().barSpacing(),hittestResult:l.HitTestResult.MOVEPOINT}))}}},3305:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ArrowMarkerPaneView:()=>p});var n=i(67857),r=i(87088),s=i(44896),a=i(72927),o=i(58729),l=i(10288),d=i(21344);function h(e){if(e<92)return 18;let t=.25*e;return t=Math.min(t,106),t=Math.max(t,18),t=Math.min(t,.9*e),t}class c extends o.ScaledPaneRenderer{constructor(e){super(),this._data=e}setData(e){this._data=e}hitTest(e){if(this._data.points.length<2)return null;let t=this._data.points[0],i=this._data.points[1].subtract(t);const n=i.length();i=this._data.points[1].subtract(this._data.points[0]);i.length()<22&&(t=this._data.points[1].addScaled(i.normalized(),-22),i=this._data.points[1].subtract(t));const r=e.subtract(t),s=i.dotProduct(r)/n;if(s<0||s>n)return null;const a=i.scaled(1/n),o=t.addScaled(a,s),h=e.subtract(o),c=(0,d.interactionTolerance)().line,u=this._hittestGeometry(n);for(let e=u.length-2;e>=0;e--){const t=u[e];if(s>=t.x){const i=u[e+1],n=i.x-t.x,r=i.y-t.y,a=(s-t.x)/n,o=t.y+r*a;return h.length()<=o+c?new l.HitTestResult(l.HitTestResult.MOVEPOINT):null}}return h.length()<3?new l.HitTestResult(l.HitTestResult.MOVEPOINT):null}_drawImpl(e){if(this._data.points.length<2)return;e.fillStyle=this._data.color,e.strokeStyle=this._data.color,e.lineJoin="round",e.lineCap="round";let t=this._data.points[1].subtract(this._data.points[0]);const i=t.length();let n=this._data.points[0];i<22&&(n=this._data.points[1].addScaled(t.normalized(),-22),t=this._data.points[1].subtract(n));const r=new a.Point(t.y,-t.x).normalized(),s=this._arrowGeometry(t.length()),o=t.normalized();e.lineWidth=function(e){let t=Math.round(.02*e);return t=Math.min(t,5),t=Math.max(t,2),t}(t.length()),e.beginPath(), +e.moveTo(n.x,n.y);for(let t=0;t=0;t--){const i=s[t],a=n.addScaled(o,i.x).addScaled(r,-i.y);e.lineTo(a.x,a.y)}e.lineTo(n.x,n.y),e.stroke(),e.fill()}_arrowGeometry(e){const t=h(e),i=[],n=e>=35?.1:0;return i.push(new a.Point(0,0)),i.push(new a.Point(e-t+t*n,1.22*t/4)),i.push(new a.Point(e-t,1.22*t/2)),i.push(new a.Point(e,0)),i}_hittestGeometry(e){const t=h(e),i=[];return i.push(new a.Point(0,0)),i.push(new a.Point(e-t,1.22*t/4)),i.push(new a.Point(e-t,1.22*t/2)),i.push(new a.Point(e,0)),i}}var u=i(90212),_=i(54837);class p extends n.LineSourcePaneView{constructor(e,t){super(e,t),this._textRendererData={text:"",color:"",vertAlign:"middle",horzAlign:"center",font:"",offsetX:10,offsetY:10,points:[],forceTextAlign:!0},this._arrowRendererData={points:[],color:""},this._ellipseRendererData={color:"",linewidth:0,points:[],fillBackground:!0,backcolor:"",noHitTestOnBackground:!0},this._drawAsCircle=!1,this._textRenderer=new s.TextRenderer(this._textRendererData),this._arrowRenderer=new c(this._arrowRendererData),this._ellipseRenderer=new u.EllipseRendererSimple(this._ellipseRendererData)}renderer(e,t){this._invalidated&&this._updateImpl();const i=new r.CompositeRenderer;this._drawAsCircle?i.append(this._ellipseRenderer):i.append(this._arrowRenderer);const n=this._getSource().properties().childs();return this._textRendererData.points&&this._textRendererData.points.length>0&&n.showLabel.value()&&(this._textRenderer.setData({...this._textRendererData}),i.append(this._textRenderer)),this.addAnchors(i),i}_updateImpl(){super._updateImpl();const e=this._getPoints(),t=this._getSource().properties().childs();if(this._arrowRendererData.color=t.backgroundColor.value(),this._arrowRendererData.points=e,this._textRendererData.text=t.text.value(),this._textRendererData.color=t.textColor.value(),this._textRendererData.font=_.CHART_FONT_FAMILY,this._textRendererData.bold=t.bold.value(),this._textRendererData.italic=t.italic.value(),this._textRendererData.fontsize=t.fontsize.value(),e.length>=2){const i=this._getSource().points(),n=i[0].index-i[1].index,r=i[0].price-i[1].price;if(this._drawAsCircle=0===n&&Math.abs(r)<1e-8,this._textRendererData.points=[e[0]],this._drawAsCircle){this._textRendererData.horzAlign="left",this._textRendererData.vertAlign="middle";const i=new a.Point(e[0].x-9,e[0].y-9),n=new a.Point(e[0].x+9,e[0].y+9);this._ellipseRendererData.points=[i,n],this._ellipseRendererData.backcolor=t.backgroundColor.value(),this._ellipseRendererData.color=t.backgroundColor.value()}else{const t=e[1].subtract(e[0]);Math.abs(t.x)>=Math.abs(t.y)?(e[1].x>e[0].x?this._textRendererData.horzAlign="right":this._textRendererData.horzAlign="left",this._textRendererData.vertAlign="middle"):(e[1].y>e[0].y?this._textRendererData.vertAlign="bottom":this._textRendererData.vertAlign="top",this._textRendererData.horzAlign="center")}}}}},73955:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ +BalloonPaneView:()=>f});var n=i(73395),r=i(50968),s=i(54837),a=i(67857),o=i(72927),l=i(71044),d=i(76553),h=i(16932),c=i(58729),u=i(10288);class _ extends c.ScaledPaneRenderer{constructor(){super(),this._geometryCache={innerHeight:NaN,textHorizontalPadding:NaN,innerWidth:NaN,paddingLeft:NaN},this._geomertryCacheInvalidated=!0,this._data=null}setData(e){this._data=e,this._geomertryCacheInvalidated=!0}hitTest(e,t){if(null===this._data||0===this._data.points.length)return null;const i=this._data.points[0].x-(this._geometryCache.paddingLeft+20),n=this._data.points[0].y-(this._geometryCache.innerHeight+9),r=(0,o.box)(new o.Point(i,n),new o.Point(i+this._geometryCache.innerWidth,n+this._geometryCache.innerHeight));return(0,l.pointInBox)(e,r)?new u.HitTestResult(u.HitTestResult.MOVEPOINT,{areaName:u.AreaName.Text}):null}_drawImpl(e,t){if(null===this._data||0===this._data.points.length)return;e.font=this._data.font;const i=this._measureInfo(e,this._data.label,this._data.fontSize),{paddingLeft:n,innerHeight:r,innerWidth:s,textHorizontalPadding:a}=i;e.textAlign=(0,d.isRtl)()?"right":"left";const o=this._data.points[0].x-(n+20),l=this._data.points[0].y-(r+9);e.translate(o,l),e.beginPath(),e.moveTo(24,r),e.lineTo(15,r),e.arcTo(-1e3,0,1e3,0,r/2),e.lineTo(s-15,0),e.arcTo(1e3,r,-1e3,r,r/2),e.lineTo(33,r),e.quadraticCurveTo(33,r+4,35,r+9),e.quadraticCurveTo(27,r+6,24,r),e.fillStyle=this._data.backgroundColor,e.fill(),e.strokeStyle=this._data.borderColor,e.lineWidth=2,e.stroke(),e.closePath(),e.textBaseline="middle",e.fillStyle=this._data.color,e.fillText(this._data.label,n+a,r/2)}_measureInfo(e,t,i){if(this._geomertryCacheInvalidated){const n=e.measureText(t),r=i,s=15,a=Math.round(r/1.3),o=n.width+2*s,l=r+2*a,d=(0,h.calcTextHorizontalShift)(e,n.width);this._geometryCache={paddingLeft:s,innerWidth:o,innerHeight:l,textHorizontalPadding:d},this._geomertryCacheInvalidated=!1}return this._geometryCache}}var p=i(87088),g=i(73301);class f extends a.LineSourcePaneView{constructor(e,t){super(e,t),this._balloonRenderer=new _,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(e,t){super._updateImpl(e,t);const i=this._source.properties().childs(),a={points:this._points,color:i.color.value(),borderColor:i.borderColor.value(),backgroundColor:(0,r.generateColor)(i.backgroundColor.value(),i.transparency.value()),font:(0,n.makeFont)(i.fontsize.value(),s.CHART_FONT_FAMILY),fontSize:i.fontsize.value(),label:i.text.value()};if(this._balloonRenderer.setData(a),1===a.points.length){const e=new p.CompositeRenderer;return e.append(this._balloonRenderer),e.append(new g.SelectionRenderer({points:a.points,bgColors:this._lineAnchorColors(a.points),visible:this.areAnchorsVisible(),barSpacing:this._model.timeScale().barSpacing(),hittestResult:u.HitTestResult.MOVEPOINT})),void(this._renderer=e)}this._renderer=this._balloonRenderer}}},25009:(e,t,i)=>{"use strict";i.r(t),i.d(t,{BarsPatternPaneView:()=>x}) +;var n=i(72927),r=i(53312),s=i(33420),a=i(50968),o=i(10288),l=i(87088),d=i(71172),h=i(59109),c=i(72095),u=i(6397),_=i(69819),p=i(67857),g=i(83641);const f=r.colorsPalette["color-cold-gray-500"],v={[g.LineToolBarsPatternMode.Bars]:e=>[e[2],e[3]],[g.LineToolBarsPatternMode.Line]:e=>e[4],[g.LineToolBarsPatternMode.OpenClose]:e=>[e[1],e[4]],[g.LineToolBarsPatternMode.LineOpen]:e=>e[1],[g.LineToolBarsPatternMode.LineHigh]:e=>e[2],[g.LineToolBarsPatternMode.LineLow]:e=>e[3],[g.LineToolBarsPatternMode.LineHL2]:e=>(e[2]+e[3])/2};class x extends p.LineSourcePaneView{constructor(){super(...arguments),this._vertLineRenderer1=new _.VerticalLineRenderer,this._vertLineRenderer2=new _.VerticalLineRenderer,this._medianRenderer=new u.TrendLineRenderer,this._renderer=null}renderer(){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){var e,t;if(super._updateImpl(),this._renderer=null,this._points.length<2)return;const i=this._source.priceScale(),r=null!==(t=null===(e=this._source.ownerSource())||void 0===e?void 0:e.firstValue())&&void 0!==t?t:null;if(!i||i.isEmpty()||null===r)return;const u=this._source.points(),_=this._source.pattern(),p=_.length,x=new l.CompositeRenderer;if(p>0&&2===u.length){const e=this._source.properties().childs(),t=e.mode.value(),l=e.color.value(),d=Math.abs((this._points[0].x-this._points[1].x)/(p-1)),f=this._source.getPressCoeff(),w=e=>i.priceToCoordinate(e,r)*f,[{index:m},{index:R}]=u,y=mnew n.Point(i+(2*t-1),Math.round(w(e))+b)),s=new c.RectangleRenderer;s.setData({points:r,color:l,backcolor:l,linewidth:1,fillBackground:!0,transparency:10,extendLeft:!1,extendRight:!1}),x.append(s)}x.append(this.createLineAnchor({points:this._points},0))}else{const e=v[t],i=_.map((t,i)=>new n.Point(T+i*d,w(e(t))+b));x.append(new h.PaneRendererLine({barSpacing:d,items:i,lineColor:(0,a.generateColor)(l,10),lineStyle:s.LINESTYLE_SOLID,lineWidth:2,hittest:new o.HitTestResult(o.HitTestResult.MOVEPOINT),simpleMode:!0,withMarkers:!1})),x.append(this.createLineAnchor({points:this._points},1))}}else this._vertLineRenderer1.setData({x:this._points[0].x,color:f,linewidth:1,linestyle:s.LINESTYLE_SOLID}),x.append(this._vertLineRenderer1),this._vertLineRenderer2.setData({x:this._points[1].x,color:f,linewidth:1,linestyle:s.LINESTYLE_SOLID}),x.append(this._vertLineRenderer2),this._medianRenderer.setData({points:this._points,color:f,linewidth:1,linestyle:s.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:d.LineEnd.Normal,rightend:d.LineEnd.Normal}),x.append(this._medianRenderer);this._renderer=x}}},56095:(e,t,i)=>{"use strict";i.r(t),i.d(t,{BezierCubicPaneView:()=>v});var n=i(50968),r=i(67857),s=i(58729),a=i(10288),o=i(41454),l=i(5025),d=i(6397),h=i(71172),c=i(18815),u=i(21344);class _ extends s.ScaledPaneRenderer{constructor(e){super(),this._data=e||null}setData(e){ +this._data=e}hitTest(e,t){const i=this._data;if(null===i)return null;if(4===i.points.length){const t=(0,u.interactionTolerance)().curve,[n,r,s,l]=i.points,d=l.subtract(n),h=s.subtract(d.scaled(.25)),_=s.add(d.scaled(.25)),p=r.subtract(s),g=l.subtract(p.scaled(.25)),f=l.add(p.scaled(.25));if((0,o.quadroBezierHitTest)(s,n,h,e,t)||(0,o.cubicBezierHitTest)(s,l,_,g,e,t)||(0,o.quadroBezierHitTest)(l,r,f,e,t))return new a.HitTestResult(a.HitTestResult.MOVEPOINT);let v=(0,c.hitTestExtendedPoints)(e,t,i.extendLeftPoints);return null===v&&(v=(0,c.hitTestExtendedPoints)(e,t,i.extendRightPoints)),v}return null}_drawImpl(e,t){if(null===this._data)return;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=this._data.lineWidth,(0,l.setLineStyle)(e,this._data.lineStyle);const i=this._data.points[0],n=this._data.points[1];if(2===this._data.points.length)e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(n.x,n.y),e.stroke(),this._data.leftEnd===h.LineEnd.Arrow&&(0,d.drawArrow)(n,i,e,e.lineWidth,t.pixelRatio),this._data.rightEnd===h.LineEnd.Arrow&&(0,d.drawArrow)(i,n,e,e.lineWidth,t.pixelRatio);else{const r=this._data.points[2],s=this._data.points[3],a=s.subtract(i),o=r.subtract(a.scaled(.25)),l=r.add(a.scaled(.25)),u=n.subtract(r),_=s.subtract(u.scaled(.25)),p=s.add(u.scaled(.25));this._data.fillBack&&this._data.points.length>2&&(e.fillStyle=this._data.backColor,e.beginPath(),e.moveTo(i.x,i.y),e.quadraticCurveTo(o.x,o.y,r.x,r.y),e.bezierCurveTo(l.x,l.y,_.x,_.y,s.x,s.y),e.quadraticCurveTo(p.x,p.y,n.x,n.y),e.fill()),e.beginPath(),(0,c.buildExtendedSegments)(e,this._data.extendLeftPoints),e.moveTo(i.x,i.y),e.quadraticCurveTo(o.x,o.y,r.x,r.y),e.bezierCurveTo(l.x,l.y,_.x,_.y,s.x,s.y),e.quadraticCurveTo(p.x,p.y,n.x,n.y),(0,c.buildExtendedSegments)(e,this._data.extendRightPoints),e.stroke(),this._data.leftEnd===h.LineEnd.Arrow&&(0,d.drawArrow)(o,i,e,e.lineWidth,t.pixelRatio),this._data.rightEnd===h.LineEnd.Arrow&&(0,d.drawArrow)(p,n,e,e.lineWidth,t.pixelRatio)}}}var p=i(87088),g=i(60809),f=i(16282);class v extends r.LineSourcePaneView{constructor(){super(...arguments),this._bezierCubicRenderer=new _,this._renderer=null,this._extendedSegmentLeftCache=null,this._extendedSegmentRightCache=null}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){if(super._updateImpl(e,t),this._renderer=null,this._points.length<2)return;const i=this._source.properties().childs();let r=[],s=[];if(4===this._source.points().length){const n=(0,f.ensureNotNull)(this._source.pointToScreenPoint(this._source.points()[0])),a=(0,f.ensureNotNull)(this._source.pointToScreenPoint(this._source.points()[1])),o=(0,f.ensureNotNull)(this._source.pointToScreenPoint(this._source.points()[2])),l=(0,f.ensureNotNull)(this._source.pointToScreenPoint(this._source.points()[3])),d=l.subtract(n),h=o.subtract(d.scaled(.25)),c=a.subtract(o),u=l.add(c.scaled(.25));i.extendLeft.value()&&(r=this._extendSegmentLeft(o,n,h,t,e)),i.extendRight.value()&&(s=this._extendSegmentRight(l,a,u,t,e))}const a=this._points.slice(),o=this._source.controlPoints() +;null!==o&&(a.push((0,f.ensureNotNull)(this._source.pointToScreenPoint(o[0]))),a.push((0,f.ensureNotNull)(this._source.pointToScreenPoint(o[1]))));const l={points:a,color:i.linecolor.value(),lineWidth:i.linewidth.value(),lineStyle:i.linestyle.value(),leftEnd:i.leftEnd.value(),rightEnd:i.rightEnd.value(),fillBack:i.fillBackground.value(),backColor:(0,n.generateColor)(i.backgroundColor.value(),i.transparency.value()),extendLeftPoints:r,extendRightPoints:s};this._bezierCubicRenderer.setData(l);const d=new p.CompositeRenderer;d.append(this._bezierCubicRenderer),this.addAnchors(d),this._renderer=d}_extendSegmentLeft(e,t,i,n,r){return(0,g.cacheIsValid)(this._extendedSegmentLeftCache,e,t,i,n,r)||(this._extendedSegmentLeftCache={p1:e,p2:t,p3:i,width:n,height:r,segment:(0,o.extendQuadroBezier)(e,t,i,n,r)}),(0,f.ensureNotNull)(this._extendedSegmentLeftCache).segment}_extendSegmentRight(e,t,i,n,r){return(0,g.cacheIsValid)(this._extendedSegmentRightCache,e,t,i,n,r)||(this._extendedSegmentRightCache={p1:e,p2:t,p3:i,width:n,height:r,segment:(0,o.extendQuadroBezier)(e,t,i,n,r)}),(0,f.ensureNotNull)(this._extendedSegmentRightCache).segment}}},60809:(e,t,i)=>{"use strict";i.r(t),i.d(t,{cacheIsValid:()=>d,BezierQuadroPaneView:()=>h});var n=i(16282),r=i(50968),s=i(67857),a=i(87088),o=i(41454),l=i(18815);function d(e,t,i,n,r,s){return null!==e&&e.p1.x===t.x&&e.p1.y===t.y&&e.p2.x===i.x&&e.p2.y===i.y&&e.p3.x===n.x&&e.p3.y===n.y&&e.width===r&&e.height===s}class h extends s.LineSourcePaneView{constructor(){super(...arguments),this._bezierQuadroRenderer=new l.BezierQuadroRenderer,this._renderer=null,this._extendedSegmentLeftCache=null,this._extendedSegmentRightCache=null}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){if(super._updateImpl(e,t),this._renderer=null,this._points.length<2)return;const i=this._source.properties().childs();let s=[],o=[];if(3===this._source.points().length){const r=(0,n.ensureNotNull)(this._source.pointToScreenPoint(this._source.points()[0])),a=(0,n.ensureNotNull)(this._source.pointToScreenPoint(this._source.points()[1])),l=(0,n.ensureNotNull)(this._source.pointToScreenPoint(this._source.points()[2])),d=a.subtract(r),h=l.subtract(d.scaled(.25)),c=l.add(d.scaled(.25));i.extendLeft.value()&&(s=this._extendSegmentLeft(l,r,h,t,e)),i.extendRight.value()&&(o=this._extendSegmentRight(l,a,c,t,e))}const l=this._points.slice(),d=this._source.controlPoint();null!==d&&l.push((0,n.ensureNotNull)(this._source.pointToScreenPoint(d)));const h={points:l,color:i.linecolor.value(),lineWidth:i.linewidth.value(),lineStyle:i.linestyle.value(),leftEnd:i.leftEnd.value(),rightEnd:i.rightEnd.value(),fillBack:i.fillBackground.value(),backColor:(0,r.generateColor)(i.backgroundColor.value(),i.transparency.value()),extendLeftSegments:s,extendRightSegments:o};this._bezierQuadroRenderer.setData(h);const c=new a.CompositeRenderer;c.append(this._bezierQuadroRenderer),this.addAnchors(c),this._renderer=c}_extendSegmentLeft(e,t,i,r,s){ +return d(this._extendedSegmentLeftCache,e,t,i,r,s)||(this._extendedSegmentLeftCache={p1:e,p2:t,p3:i,width:r,height:s,segment:(0,o.extendQuadroBezier)(e,t,i,r,s)}),(0,n.ensureNotNull)(this._extendedSegmentLeftCache).segment}_extendSegmentRight(e,t,i,r,s){return d(this._extendedSegmentRightCache,e,t,i,r,s)||(this._extendedSegmentRightCache={p1:e,p2:t,p3:i,width:r,height:s,segment:(0,o.extendQuadroBezier)(e,t,i,r,s)}),(0,n.ensureNotNull)(this._extendedSegmentRightCache).segment}}},18815:(e,t,i)=>{"use strict";i.d(t,{hitTestExtendedPoints:()=>c,buildExtendedSegments:()=>u,BezierQuadroRenderer:()=>_});var n=i(89684),r=i(58729),s=i(71172),a=i(5025),o=i(10288),l=i(41454),d=i(6397),h=i(21344);function c(e,t,i){for(const r of i)for(let i=1;i2&&(e.fillStyle=this._data.backColor,e.beginPath(),e.moveTo(i.x,i.y),e.quadraticCurveTo(o.x,o.y,r.x,r.y),e.quadraticCurveTo(l.x,l.y,n.x,n.y),e.fill()),e.beginPath(),u(e,this._data.extendLeftSegments),e.moveTo(i.x,i.y),e.quadraticCurveTo(o.x,o.y,r.x,r.y),e.quadraticCurveTo(l.x,l.y,n.x,n.y),u(e,this._data.extendRightSegments),e.stroke(),this._data.leftEnd===s.LineEnd.Arrow&&(0,d.drawArrow)(o,i,e,e.lineWidth,t.pixelRatio),this._data.rightEnd===s.LineEnd.Arrow&&(0,d.drawArrow)(l,n,e,e.lineWidth,t.pixelRatio)}}}},58979:(e,t,i)=>{"use strict";i.d(t,{BrushBasePaneView:()=>d});var n=i(72927),r=i(59943),s=i(73301),a=i(87088),o=i(10288),l=i(67857);class d extends l.LineSourcePaneView{constructor(){super(...arguments),this._polygonRenderer=new r.PolygonRenderer,this._renderer=new a.CompositeRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl();const e=Math.max(1,this._source.smooth()),t=this._points;if(0===t.length)return void this._renderer.clear();const i=[t[0]];for(let n=1;n0){const t=1!==e?[n.points[0],n.points[e-1]]:[n.points[0]],i=new s.SelectionRenderer({points:t,bgColors:this._lineAnchorColors(t),visible:this.areAnchorsVisible(),hittestResult:o.HitTestResult.REGULAR,barSpacing:this._getModel().timeScale().barSpacing()});this._renderer.append(i)}}}_smoothArray(e,t){if(1===e.length)return e;const i=new Array(e.length);for(let r=0;r{"use strict";i.r(t),i.d(t,{BrushPaneView:()=>s});var n=i(33420),r=i(58979);class s extends r.BrushBasePaneView{_createPolygonRendererData(){const e=this._source.properties().childs(),t={points:this._points,color:e.linecolor.value(),linewidth:e.linewidth.value(),linestyle:n.LINESTYLE_SOLID,linecap:"round",skipClosePath:!0,leftend:e.leftEnd.value(),rightend:e.rightEnd.value(),filled:!1,fillBackground:!1,backcolor:e.backgroundColor.value()};return e.fillBackground.value()&&this._model.lineBeingCreated()!==this._source&&(t.filled=!0,t.fillBackground=!0,t.transparency=e.transparency.value()),t}}},58535:(e,t,i)=>{"use strict";var n,r=i(72927).Point,s=i(67857).LineSourcePaneView,a=i(10288).HitTestResult,o=i(10288).AreaName,l=i(87088).CompositeRenderer,d=i(50968),h=i(33682).CalloutConsts,c=i(16932).calcTextHorizontalShift,u=i(76553).isRtl,_=i(58729).ScaledPaneRenderer,p=i(54837);class g extends _{constructor(e){super(),this._data=null,this._textSizeCache=e}wordWrap(e,t){var i;n||((i=document.createElement("canvas")).width=0,i.height=0,n=i.getContext("2d"),i=null),t=+t;var r=(e+="").split(/[^\S\r\n]*(?:\r\n|\r|\n|$)/);if(r[r.length-1]||r.pop(),!isFinite(t)||t<=0)return r;n.font=this.fontStyle();for(var s=[],a=0;a0&&n.measureText(l.slice(0,3*--h-1).join("")).width>t;);if(h>0)s.push(l.slice(0,3*h-1).join("")),l.splice(0,3*h);else{var c=l[0]+(l[1]||"");if(e=1===e?1:~~(t/n.measureText(c)*c.length),n.measureText(c.substring(0,e)).width<=t)for(;n.measureText(c.substring(0,e+1)).width<=t;)e++;else for(;e>1&&n.measureText(c.substring(0,--e)).width>t;);e<1&&(e=1),s.push(c.substring(0,e)),l[0]=c.substring(e),l[1]=""}if((d=n.measureText(l.join("")).width)<=t){s.push(l.join(""));break}}}return s}setData(e){this._data=e, +this._data.lines=this.wordWrap(e.text,e.wordWrapWidth)}hitTest(e){if(null===this._data||this._data.points.length<2)return null;var t=this._data.points[0],i=this._data.points[1];if(t.subtract(e).length()<3)return new a(a.CHANGEPOINT,0);var n=i.x-this._textSizeCache.totalWidth/2,r=i.y-this._textSizeCache.totalHeight/2;return e.x>=n&&e.x<=n+this._textSizeCache.totalWidth&&e.y>=r&&e.y<=r+this._textSizeCache.totalHeight?new a(a.MOVEPOINT,{areaName:o.Text}):null}fontStyle(){return(this._data.bold?"bold ":"")+(this._data.italic?"italic ":"")+this._data.fontSize+"px "+this._data.font}_drawImpl(e){if(!(null===this._data||this._data.points.length<2)){var t=this._data.points[0].clone(),i=this._data.points[1].clone();e.lineCap="butt",e.strokeStyle=this._data.bordercolor,e.lineWidth=this._data.linewidth,e.textBaseline="bottom",e.font=this.fontStyle();var n=this._data.fontSize*this._data.lines.length,r=this._data.wordWrapWidth||this._data.lines.reduce((function(t,i){return Math.max(t,e.measureText(i).width)}),0);this._textSizeCache.textHeight=n,this._textSizeCache.textHeight=r;var s=h.RoundRadius,a=h.TextMargins,o=r+2*a+2*s,l=n+2*a+2*s;this._textSizeCache.totalWidth=o,this._textSizeCache.totalHeight=l;var _=i.x-o/2,p=i.y-l/2,g=0,f=r+2*a>2*s,v=n+2*a>2*s;e.textAlign=u()?"right":"left";var x=c(e,r);t.x>_+o?g=20:t.x>_&&(g=10),t.y>p+l?g+=2:t.y>p&&(g+=1),e.save(),e.translate(_,p),t.x-=_,t.y-=p,i.x-=_,i.y-=p,e.beginPath(),e.moveTo(s,0),10===g?f?(e.lineTo(i.x-s,0),e.lineTo(t.x,t.y),e.lineTo(i.x+s,0),e.lineTo(o-s,0)):(e.lineTo(t.x,t.y),e.lineTo(o-s,0)):e.lineTo(o-s,0),20===g?(e.lineTo(t.x,t.y),e.lineTo(o,s)):e.arcTo(o,0,o,s,s),21===g?v?(e.lineTo(o,i.y-s),e.lineTo(t.x,t.y),e.lineTo(o,i.y+s),e.lineTo(o,l-s)):(e.lineTo(t.x,t.y),e.lineTo(o,l-s)):e.lineTo(o,l-s),22===g?(e.lineTo(t.x,t.y),e.lineTo(o-s,l)):e.arcTo(o,l,o-s,l,s),12===g?f?(e.lineTo(i.x+s,l),e.lineTo(t.x,t.y),e.lineTo(i.x-s,l),e.lineTo(s,l)):(e.lineTo(t.x,t.y),e.lineTo(s,l)):e.lineTo(s,l),2===g?(e.lineTo(t.x,t.y),e.lineTo(0,l-s)):e.arcTo(0,l,0,l-s,s),1===g?v?(e.lineTo(0,i.y+s),e.lineTo(t.x,t.y),e.lineTo(0,i.y-s),e.lineTo(0,s)):(e.lineTo(t.x,t.y),e.lineTo(0,s)):e.lineTo(0,s),0===g?(e.lineTo(t.x,t.y),e.lineTo(s,0)):e.arcTo(0,0,s,0,s),e.stroke(),e.fillStyle=d.generateColor(this._data.backcolor,this._data.transparency),e.fill(),e.fillStyle=this._data.color,p=s+a+this._data.fontSize,_=s+a+x;for(var w=0;w>1)+h.RoundRadius+h.TextMargins,s.y);o.data=1,n.append(this.createLineAnchor({points:[o]},1))}this._renderer=n}}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}}},95636:(e,t,i)=>{"use strict";var n=i(72927).Point,r=i(67857).LineSourcePaneView,s=i(69819).VerticalLineRenderer,a=i(6397).TrendLineRenderer,o=i(10288).HitTestResult,l=i(87088).CompositeRenderer,d=i(71172).LineEnd;t.LineToolCircleLinesPaneView=class extends r{constructor(e,t){super(e,t),this._lines=[],this._trendRenderer=new a,this._renderer=null}_updateImpl(){if(super._updateImpl(),this._renderer=null,!(this._source.points().length<2)){var e=this._model.timeScale();if(this._source.priceScale()&&!this._source.priceScale().isEmpty()&&!e.isEmpty()){var t=this._source.points()[0],i=this._source.points()[1],r=i?i.index-t.index:1;if(this._lines=[],0!==r){var a=e.visibleBarsStrictRange();if(r>0)for(var h=t.index;h<=a.lastBar();h+=r)this._lines.push({x:e.indexToCoordinate(h)});else for(h=t.index;h>=a.firstBar();h+=r)this._lines.push({x:e.indexToCoordinate(h)});if(!(this._points.length<2)){var c=new l,u=this._source.properties(),_={points:[t,i],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:u.trendline.color.value(),linewidth:u.trendline.linewidth.value(),linestyle:u.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:d.Normal,rightend:d.Normal};this._trendRenderer.setData(_),c.append(this._trendRenderer);var p=this._model.timeScale().width(),g=this._source.priceScale().height();for(h=0;h{"use strict";i.r(t),i.d(t,{CirclePaneView:()=>d});var n=i(87088),r=i(67857),s=i(71044),a=i(10288),o=i(21344);class l{constructor(e){this._data=null!=e?e:null}setData(e){this._data=e}draw(e,t){if(null===this._data)return;const{center:i,radius:n,lineWidth:r,color:s,fillBackground:a,backColor:o}=this._data;e.save() +;const l=t.pixelRatio,d=Math.max(1,Math.floor(l)),h=d%2/2,c=Math.round(i.x*l)+h,u=Math.round(i.y*l)+h,_=Math.round(c+n*l),p=Math.max(1,Math.floor(r*l)),g=_-c-p;a&&g>0&&(e.fillStyle=o,e.beginPath(),e.moveTo(c+g,u),e.arc(c,u,g,0,2*Math.PI,!1),e.fill());const f=Math.max(d/2,_-c-p/2);e.strokeStyle=s,e.lineWidth=p,e.beginPath(),e.moveTo(c+f,u),e.arc(c,u,f,0,2*Math.PI,!1),e.stroke(),e.restore()}hitTest(e,t){if(null===this._data)return null;const{center:i,radius:n}=this._data,r=(0,o.interactionTolerance)().curve;if(!(0,s.pointInCircle)(e,i,n+r))return null;const l=n>r&&(0,s.pointInCircle)(e,i,n-r)?a.HitTestResult.MOVEPOINT_BACKGROUND:a.HitTestResult.MOVEPOINT;return new a.HitTestResult(l)}}class d extends r.LineSourcePaneView{constructor(){super(...arguments),this._circleRenderer=new l,this._renderer=new n.CompositeRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer.clear(),this._points.length<2)return;const e=this._source.properties().childs(),[t,i]=this._points;this._circleRenderer.setData({center:t,radius:Math.sqrt((i.x-t.x)**2+(i.y-t.y)**2),color:e.color.value(),lineWidth:e.linewidth.value(),backColor:e.backgroundColor.value(),fillBackground:e.fillBackground.value()}),this._renderer.append(this._circleRenderer),this.addAnchors(this._renderer,{hittestResult:[a.HitTestResult.MOVEPOINT,a.HitTestResult.CHANGEPOINT]})}}},78866:(e,t,i)=>{"use strict";i.r(t),i.d(t,{CrossLinePaneView:()=>l});var n=i(67857),r=i(29982),s=i(69819),a=i(87088),o=i(10288);class l extends n.LineSourcePaneView{constructor(e,t){super(e,t),this._renderer=null,this._horizLineRenderer=new r.HorizontalLineRenderer,this._vertLineRenderer=new s.VerticalLineRenderer,this._horizLineRenderer.setHitTest(new o.HitTestResult(o.HitTestResult.MOVEPOINT))}update(){this._invalidated=!0}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null;const e=this._getPoints();if(0===e.length)return;const t={color:this._getSource().lineColor(),linestyle:this._getSource().lineStyle(),linewidth:this._getSource().lineWidth(),x:e[0].x,y:e[0].y};this._horizLineRenderer.setData(t),this._horizLineRenderer.setHitTest(new o.HitTestResult(o.HitTestResult.MOVEPOINT,{snappingPrice:this._source.points()[0].price})),this._vertLineRenderer.setData(t),this._vertLineRenderer.setHitTest(new o.HitTestResult(o.HitTestResult.MOVEPOINT,{snappingIndex:this._source.points()[0].index}));const i=new a.CompositeRenderer;i.append(this._horizLineRenderer),i.append(this._vertLineRenderer),this.addAnchors(i),this._renderer=i}}},41308:(e,t,i)=>{"use strict";i.r(t),i.d(t,{CypherPaneView:()=>r});var n=i(55913);class r extends n.Pattern5pointsPaneView{_updateBaseData(){if(this._source.points().length>=3){const[e,t,i]=this._source.points();this._abRetracement=Math.round(1e3*Math.abs((i.price-t.price)/(t.price-e.price)))/1e3}if(this._source.points().length>=4){const[e,t,,i]=this._source.points() +;this._bcRetracement=Math.round(1e3*Math.abs((i.price-e.price)/(t.price-e.price)))/1e3}if(this._source.points().length>=5){const[e,,t,i,n]=this._source.points();this._cdRetracement=Math.round(1e3*Math.abs((n.price-i.price)/(i.price-t.price)))/1e3,this._xdRetracement=Math.round(1e3*Math.abs((n.price-i.price)/(e.price-i.price)))/1e3}}}},99178:(e,t,i)=>{"use strict";i.r(t),i.d(t,{DateAndPriceRangePaneView:()=>b});var n=i(16282),r=i(72927),s=i(79881),a=i(76553),o=i(67857),l=i(44896),d=i(72095),h=i(6397),c=i(87088),u=i(62159),_=i(33420),p=i(71172),g=i(1953),f=i(85421),v=i(76559),x=(i(86656),i(54837));const w=new g.TimeSpanFormatter,m=new u.PercentageFormatter,R=new v.VolumeFormatter,y=(0,s.t)("{count} bars"),T=(0,s.t)("Vol");class b extends o.LineSourcePaneView{constructor(){super(...arguments),this._distanceLineRenderer=new h.TrendLineRenderer,this._distancePriceRenderer=new h.TrendLineRenderer,this._backgroundRenderer=new d.RectangleRenderer,this._borderRenderer=new d.RectangleRenderer,this._textRenderer=new l.TextRenderer,this._renderer=new c.CompositeRenderer,this._pipFormatter=null,this._lastSymbolInfo=null}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){var i;if(super._updateImpl(),this._renderer.clear(),this._points.length<2||this._source.points().length<2)return;const s=this._source.properties().childs();s.fillBackground&&s.fillBackground.value()&&(this._backgroundRenderer.setData({points:this._points,color:"white",linewidth:0,backcolor:s.backgroundColor.value(),fillBackground:!0,transparency:s.backgroundTransparency.value(),extendLeft:!1,extendRight:!1}),this._renderer.append(this._backgroundRenderer));const[o,d]=this._points;s.drawBorder.value()&&(this._borderRenderer.setData({points:this._points,color:s.borderColor.value(),linewidth:s.borderWidth.value(),fillBackground:!1,extendLeft:!1,extendRight:!1,backcolor:""}),this._renderer.append(this._borderRenderer));const h=s.drawBorder.value()?s.borderWidth.value()/2:0,c=Math.round((o.y+d.y)/2),u=new r.Point(o.x+Math.sign(d.x-o.x)*h,c),g=new r.Point(d.x+Math.sign(o.x-d.x)*h,c);this._distanceLineRenderer.setData({points:[u,g],color:s.linecolor.value(),linewidth:s.linewidth.value(),linestyle:_.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:p.LineEnd.Normal,rightend:Math.abs(o.x-d.x)>=25*s.linewidth.value()?p.LineEnd.Arrow:p.LineEnd.Normal}),this._renderer.append(this._distanceLineRenderer);const v=Math.round((o.x+d.x)/2),b=new r.Point(v,o.y+Math.sign(d.y-o.y)*h),L=new r.Point(v,d.y+Math.sign(o.y-d.y)*h);this._distancePriceRenderer.setData({points:[b,L],color:s.linecolor.value(),linewidth:s.linewidth.value(),linestyle:_.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:p.LineEnd.Normal,rightend:Math.abs(b.y-L.y)>=25*s.linewidth.value()?p.LineEnd.Arrow:p.LineEnd.Normal}),this._renderer.append(this._distancePriceRenderer),s.showLabel.value();{const t=this._source.points()[0].price,h=this._source.points()[1].price,c=h-t,u=100*c/Math.abs(t),_=this._source.points()[0].index,p=this._source.points()[1].index,g=p-_,v=(0, +a.forceLTRStr)(g+""),b=this._model.timeScale().indexToUserTime(_),L=this._model.timeScale().indexToUserTime(p);let S="";if(b&&L){const e=(L.valueOf()-b.valueOf())/1e3;S=", "+(0,a.startWithLTR)(w.format(e))}const P=this._model.mainSeries().symbolInfo();P&&P!==this._lastSymbolInfo&&(this._pipFormatter=new f.PipFormatter(P.pricescale,P.minmov,P.type,P.minmove2),this._lastSymbolInfo=P);const C=(0,n.ensureNotNull)(this._source.ownerSource()).formatter().format(c)+" ("+m.format(Math.round(100*u)/100)+") "+(this._pipFormatter?this._pipFormatter.format(c):"");let M=(0,a.forceLTRStr)(C)+"\n"+y.format({count:v})+S;const I=this._source.volume();let N;Number.isNaN(I)||(M+=`\n${T} ${R.format(I)}`),N=h>t?new r.Point(.5*(o.x+d.x),d.y-2*s.fontsize.value()):new r.Point(.5*(o.x+d.x),d.y+.7*s.fontsize.value());const D={x:0,y:10},A=s.fontsize.value(),k={points:[N],text:M,color:s.textcolor.value(),font:x.CHART_FONT_FAMILY,offsetX:D.x,offsetY:D.y,padding:8,vertAlign:"middle",horzAlign:"center",fontsize:A,backgroundRoundRect:4,backgroundHorzInflate:.4*A,backgroundVertInflate:.2*A},E=null===(i=s.fillLabelBackground)||void 0===i?void 0:i.value();E&&(k.backgroundColor=s.labelBackgroundColor.value()),this._textRenderer.setData(k);const B=this._textRenderer.measure(),O=(0,l.calculateLabelPosition)(B,o,d,D,e);this._textRenderer.setPoints([O]),this._renderer.append(this._textRenderer)}this.addAnchors(this._renderer)}}},86656:(e,t,i)=>{"use strict";i.d(t,{rangeToolsDarkThemeColors:()=>r,rangeToolsLightThemeColors:()=>s});var n=i(53312);const r={textColor:(0,n.getHexColorByName)("color-white"),shadow:"rgba(0, 0, 0, 0.4)",background:(0,n.getHexColorByName)("color-cold-gray-800")},s={textColor:(0,n.getHexColorByName)("color-black"),shadow:"rgba(0, 0, 0, 0.2)",background:(0,n.getHexColorByName)("color-white")}},34286:(e,t,i)=>{"use strict";i.r(t),i.d(t,{DateRangePaneView:()=>w});var n=i(72927),r=i(79881),s=i(76553),a=i(67857),o=i(44896),l=i(72095),d=i(6397),h=i(87088),c=i(33420),u=i(71172),_=i(1953),p=i(76559),g=(i(86656),i(54837));const f=new p.VolumeFormatter,v=(0,r.t)("{count} bars"),x=(0,r.t)("Vol");class w extends a.LineSourcePaneView{constructor(){super(...arguments),this._leftBorderRenderer=new d.TrendLineRenderer,this._rightBorderRenderer=new d.TrendLineRenderer,this._distancePriceRenderer=new d.TrendLineRenderer,this._backgroundRenderer=new l.RectangleRenderer,this._textRenderer=new o.TextRenderer,this._renderer=new h.CompositeRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){var i;if(super._updateImpl(),this._renderer.clear(),this._points.length<2||this._source.points().length<2)return;const r=this._source.properties().childs(),a=r.extendTop.value(),l=r.extendBottom.value(),[d,h]=this._points,p=a?0:Math.min(d.y,h.y),w=l?this._height():Math.max(d.y,h.y);r.fillBackground.value()&&(this._backgroundRenderer.setData({points:[new n.Point(d.x,p),new n.Point(h.x,w)],color:"white",linewidth:0,backcolor:r.backgroundColor.value(),fillBackground:!0,transparency:r.backgroundTransparency.value(), +extendLeft:!1,extendRight:!1}),this._renderer.append(this._backgroundRenderer));const m=(e,t,i)=>{e.setData({points:[t,i],color:r.linecolor.value(),linewidth:r.linewidth.value(),linestyle:c.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:u.LineEnd.Normal,rightend:u.LineEnd.Normal}),this._renderer.append(e)};m(this._leftBorderRenderer,new n.Point(d.x,p),new n.Point(d.x,w)),m(this._rightBorderRenderer,new n.Point(h.x,p),new n.Point(h.x,w));const R=Math.round((d.y+h.y)/2),y=new n.Point(d.x,R),T=new n.Point(h.x,R);this._distancePriceRenderer.setData({points:[y,T],color:r.linecolor.value(),linewidth:r.linewidth.value(),linestyle:c.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:u.LineEnd.Normal,rightend:Math.abs(y.x-T.x)>=15*r.linewidth.value()?u.LineEnd.Arrow:u.LineEnd.Normal}),this._renderer.append(this._distancePriceRenderer),r.showLabel.value();{const t=this._source.points()[0].index,n=this._source.points()[1].index,a=n-t,l=this._model.timeScale().indexToUserTime(t),c=this._model.timeScale().indexToUserTime(n);let u="";if(l&&c){const e=(c.valueOf()-l.valueOf())/1e3;u=", "+(0,s.startWithLTR)((new _.TimeSpanFormatter).format(e))}const p=this._source.volume(),w=Number.isNaN(p)?"":`\n${x} ${f.format(p)}`,m=v.format({count:(0,s.forceLTRStr)(a.toString())})+u+w,R={x:0,y:10},y=r.fontsize.value(),T={text:m,color:r.textcolor.value(),font:g.CHART_FONT_FAMILY,offsetX:R.x,offsetY:R.y,padding:8,vertAlign:"middle",horzAlign:"center",fontsize:y,backgroundRoundRect:4,backgroundHorzInflate:.4*y,backgroundVertInflate:.2*y},b=null===(i=r.fillLabelBackground)||void 0===i?void 0:i.value();b&&(T.backgroundColor=r.labelBackgroundColor.value()),this._textRenderer.setData(T);const L=this._textRenderer.measure(),S=(0,o.calculateLabelPosition)(L,d,h,R,e);this._textRenderer.setPoints([S]),this._renderer.append(this._textRenderer)}this.addAnchors(this._renderer)}}},41065:(e,t,i)=>{"use strict";var n=i(67857).LineSourcePaneView,r=i(10847).DisjointChannelRenderer,s=i(6397).TrendLineRenderer,a=i(44896).TextRenderer,o=i(87088).CompositeRenderer,l=i(10992).PaneCursorType,d=i(54837),h=[l.Default,l.Default,l.VerticalResize,l.Default];t.DisjointChannelPaneView=class extends n{constructor(e,t){super(e,t),this._label=null,this._trendLineRendererPoints12=new s,this._trendLineRendererPoints43=new s,this._disjointChannelRenderer=new r,this._p1LabelRenderer=new a,this._p2LabelRenderer=new a,this._p3LabelRenderer=new a,this._p4LabelRenderer=new a,this._renderer=null}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._label=null,!(this._source.points().length<2)&&this._source.priceScale()){var e=this._source.points()[0],t=this._source.points()[1],i=this._source.ownerSource().firstValue();if(this._price1=this._source.priceScale().formatPrice(e.price,i),this._price2=this._source.priceScale().formatPrice(t.price,i),3===this._source.points().length){var n=this._source.points()[2];this._price3=this._source.priceScale().formatPrice(n.price,i);var r=t.price-e.price;this._price4=this._source.priceScale().formatPrice(n.price+r,i)} +if(!(this._points.length<2)){var s,a=new o,l=(e=this._points[0],t=this._points[1],this._source.properties()),c=this._model,u=this._source;if(this._points.length>=3){(n=this._points[2]).x=t.x,n.square=!0;var _=t.y-e.y;if((s=e.clone()).y=n.y+_,s.data=3,l.fillBackground.value()){var p=c.timeScale().width(),g=u.priceScale().height(),f=l.extendLeft.value(),v=l.extendRight.value();this._disjointChannelRenderer.setData({width:p,height:g,extendleft:f,extendright:v,points:[e,t,n,s],backcolor:l.backgroundColor.value(),transparency:l.transparency.value(),hittestOnBackground:TradingView.isMobile.any()}),a.append(this._disjointChannelRenderer)}}var x=function(e,t){return{points:[e,t],width:c.timeScale().width(),height:u.priceScale().height(),color:l.linecolor.value(),linewidth:l.linewidth.value(),linestyle:l.linestyle.value(),extendleft:l.extendLeft.value(),extendright:l.extendRight.value(),leftend:l.leftEnd.value(),rightend:l.rightEnd.value()}},w=this,m=function(e,t,i,n,r,s){if(w._source.properties().showPrices.value()){var o={points:[i],text:r,color:w._source.properties().textcolor.value(),horzAlign:i.x>n.x?"left":"right",vertAlign:"middle",font:d.CHART_FONT_FAMILY,offsetX:6,offsetY:0,boxPadding:0,bold:w._source.properties().bold.value(),italic:w._source.properties().italic.value(),fontsize:w._source.properties().fontsize.value(),forceTextAlign:!0};e.setData(o),a.append(e);o={points:[n],text:s,color:w._source.properties().textcolor.value(),horzAlign:i.x{"use strict";i.r(t),i.d(t,{ElliottLabelsPaneView:()=>v});var n=i(67857),r=i(87088),s=i(57968),a=i(50968),o=i(33420),l=i(10288),d=i(72927),h=i(71044),c=i(16932),u=i(73395);class _{constructor(e,t){this._data=e,this._hitTestResult=t}hitTest(e){const t=this._center(),i=this._data.circleRadius,n={min:new d.Point(t.x-i,t.y-i),max:new d.Point(t.x+i,t.y+i)};return(0,h.pointInBox)(e,n)?this._hitTestResult:null}draw(e,t){e.save();const i=t.pixelRatio,n=Math.max(1,Math.floor(i))%2/2,r=this._center(),s=Math.round(r.x*i)+n,a=Math.round(r.y*i)+n;if(this._data.showCircle){const t=Math.round(s+this._data.circleRadius*i)-s-this._data.circleBorderWidth*i/2 +;e.strokeStyle=this._data.color,e.lineWidth=this._data.circleBorderWidth*i,e.beginPath(),e.moveTo(s+t,a),e.arc(s,a,t,0,2*Math.PI,!1),e.stroke()}e.font=(0,u.makeFont)(this._data.fontSize,this._data.font,this._data.bold?"bold":void 0),e.textBaseline="middle",e.textAlign="center",e.fillStyle=this._data.color,(0,c.drawScaled)(e,i,()=>{e.fillText(this._data.letter,s/i,a/i+.05*this._data.fontSize)}),e.restore()}_center(){const e="bottom"===this._data.vertAlign?-1:1,t=this._data.point.y+e*this._data.yOffset+e*this._data.circleRadius,i=this._data.point.x;return new d.Point(i,t)}}var p=i(54837),g=i(59943);const f={4:{font:24,circle:36,circleBorderWidth:1,bold:!0},3:{font:20,circle:28,circleBorderWidth:1,bold:!1},2:{font:18,circle:22,circleBorderWidth:1,bold:!1},1:{font:16,circle:22,circleBorderWidth:1,bold:!1},0:{font:11,circle:14,circleBorderWidth:1,bold:!0}};class v extends n.LineSourcePaneView{constructor(e,t){super(e,t),this._renderer=null,this._polylineRenderer=new g.PolygonRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){var e;super._updateImpl(),this._renderer=null;const t=this._source.properties().childs(),i=this._source.priceScale(),n=this._model.timeScale(),d=null===(e=this._source.ownerSource())||void 0===e?void 0:e.firstValue();if(!i||i.isEmpty()||n.isEmpty()||null==d)return;const h=new r.CompositeRenderer;if(t.showWave.value()){const e={points:this._points,color:(0,a.generateColor)(t.color.value(),0),linewidth:t.linewidth.value(),linestyle:o.LINESTYLE_SOLID,fillBackground:!1,filled:!1,backcolor:"rgba(0, 0, 0, 0)",linejoin:"round"};this._polylineRenderer.setData(e),h.append(this._polylineRenderer)}const c=this.areAnchorsVisible()?0:1;let u=1;if(this._points.length>2){const e=this._points[2],t=this._points[1];u=(0,s.sign)(e.y-t.y)}let g=0;this._model.lineBeingCreated()===this._source&&(g=1);const v=(0,a.resetTransparency)(t.color.value());for(let e=0;e{"use strict";i.r(t),i.d(t,{EllipsePaneView:()=>p});var n=i(89684),r=i(72927),s=i(10992),a=i(87088),o=i(67857),l=i(51102),d=i(50968),h=i(10288),c=i(58729),u=i(21344);class _ extends c.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data={...e,angleFrom:0,angleTo:2*Math.PI,clockwise:!1}}hitTest(e){if(null===this._data||this._data.points.length<3)return null +;const t=this._data.points[0],i=this._data.points[1];let s=this._data.points[2];const a=(0,n.distanceToLine)(t,i,s).distance,o=i.subtract(t),d=t.add(i).scaled(.5),c=new r.Point(-o.y,o.x).normalized();s=d.add(c.scaled(a));const _=o.length(),p=o.x/_,g=o.y/_;let f=Math.acos(p);g<0&&(f=-f);let v=(0,l.translationMatrix)(-d.x,-d.y);e=(0,l.transformPoint)(v,e);let x=(0,l.transformPoint)(v,this._data.points[2]);v=(0,l.rotationMatrix)(-f),e=(0,l.transformPoint)(v,e),x=(0,l.transformPoint)(v,x),v=(0,l.scalingMatrix)(1,_/(2*a)),e=(0,l.transformPoint)(v,e),x=(0,l.transformPoint)(v,x);const w=e.length(),m=(0,u.interactionTolerance)().curve;return Math.abs(w-.5*_)<=m?new h.HitTestResult(h.HitTestResult.MOVEPOINT):this._data.fillBackground&&!this._data.noHitTestOnBackground&&w<=.5*_?new h.HitTestResult(h.HitTestResult.MOVEPOINT_BACKGROUND):null}_drawImpl(e){if(null===this._data||this._data.points.length<2)return;const t=this._data.points[0],i=this._data.points[1];if(this._data.points.length<3)return e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(i.x,i.y),void e.stroke();let s=this._data.points[2];const a=(0,n.distanceToLine)(t,i,s).distance;if(a<1)return e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(i.x,i.y),void e.stroke();const o=i.subtract(t),h=t.add(i).scaled(.5),c=new r.Point(-o.y,o.x).normalized();s=h.add(c.scaled(a)),e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth;const u=o.length(),_=o.x/u,p=o.y/u;let g=Math.acos(_);p<0&&(g=-g);let f=this._data.points[2],v=(0,l.translationMatrix)(-h.x,-h.y);f=(0,l.transformPoint)(v,f),v=(0,l.rotationMatrix)(-g),f=(0,l.transformPoint)(v,f),v=(0,l.scalingMatrix)(1,u/(2*a)),f=(0,l.transformPoint)(v,f),f.y<0?this._data.clockwise=!0:this._data.clockwise=!1,e.save(),e.beginPath(),e.translate(h.x,h.y),e.rotate(g),e.scale(1,2*a/u),e.arc(0,0,.5*u,this._data.angleFrom,this._data.angleTo,this._data.clockwise),e.restore(),e.stroke(),this._data.fillBackground&&(e.fillStyle=(0,d.generateColor)(this._data.backcolor,this._data.transparency),e.fill())}}class p extends o.LineSourcePaneView{constructor(){super(...arguments),this._ellipseRenderer=new _,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._points.length<2)return;const e=this._source.properties().childs(),t={points:this._points,color:e.color.value(),linewidth:e.linewidth.value(),backcolor:e.backgroundColor.value(),fillBackground:e.fillBackground.value(),transparency:e.transparency.value(),noHitTestOnBackground:!1};this._ellipseRenderer.setData(t);const i=new a.CompositeRenderer;i.append(this._ellipseRenderer);const l=t.points[0],d=t.points[1];if(2===this._points.length)return this.addAnchors(i),void(this._renderer=i);let h=t.points[2];const c=(0,n.distanceToLine)(l,d,h).distance,u=d.subtract(l),_=l.add(d).scaled(.5),p=new r.Point(-u.y,u.x).normalized();h=_.add(p.scaled(c)) +;const g=_.add(p.scaled(-c)),f=new r.Point(l.x,l.y);f.data=0;const v=new r.Point(d.x,d.y);v.data=1;const x=new r.Point(h.x,h.y);x.data=2;const w=new r.Point(g.x,g.y);w.data=3;const m=(0,o.thirdPointCursorType)(f,v),R=[s.PaneCursorType.Default,s.PaneCursorType.Default,m,m];i.append(this.createLineAnchor({points:[f,v,x,w],pointsCursorType:R},0)),this._renderer=i}}},34810:(e,t,i)=>{"use strict";var n=i(72927).Point,r=i(67857).LineSourcePaneView,s=i(55752),a=i(10288).HitTestResult,o=i(58729).ScaledPaneRenderer;class l extends o{constructor(e,t){super(),this._data=e,this._adapter=t}_textWidth(e){if(0===this._adapter.getText().length)return 0;e.save(),e.font=this._adapter.getFont();var t=e.measureText(this._adapter.getText()).width;return e.restore(),5+t}_drawArrow(e,t,i){e.save(),e.strokeStyle=this._adapter.getArrowColor(),e.fillStyle=this._adapter.getArrowColor();var n=this._adapter.getArrowHeight(),r=this._adapter.getDirection();e.translate(t-2,i),"buy"!==r&&(e.rotate(Math.PI),e.translate(-4,0)),CanvasEx.drawArrow(e,0,0,0,n,4),e.restore()}_drawText(e,t,i){var n=this._adapter.getText();if(n){e.save(),e.textAlign="center",e.textBaseline="middle",e.font=this._adapter.getFont(),e.fillStyle=this._adapter.getTextColor();var r=t+this._textWidth(e)/2,a=i+s.fontHeight(this._adapter.getFont())/2;e.fillText(n,r,a-1),e.restore()}}_drawImpl(e,t){var i=Math.round(this._data.points[0].x),n=Math.round(this._data.points[0].y);this._drawArrow(e,i,n);var r=this._textWidth(e);if(0!==r){var a=this._adapter.getArrowHeight(),o=this._adapter.getArrowSpacing(),l=s.fontHeight(this._adapter.getFont()),d="buy"===this._adapter.getDirection()?n+a+o:n-a-o-l;this._drawText(e,Math.round(i+.5-r/2),d)}}hitTest(e){var t,i,n=Math.round(this._data.points[0].x),r=Math.round(this._data.points[0].y),s=this._adapter.getArrowHeight();if("buy"===this._adapter.getDirection()?(t=r,i=r+s):(t=r-s,i=r),e.x>=n-2&&e.x<=n+2&&e.y>=t&&e.y<=i){var o=this._adapter.getTooltip();const e=()=>{TradingView.TradingWidget&&TradingView.TradingWidget.journalDialog()};return new a(a.CUSTOM,{clickHandler:e,tapHandler:e,tooltip:""!==o?{text:o,rect:{x:n,y:t,w:2,h:i-t}}:null})}return null}}class d extends r{_updateImpl(){super._updateImpl(),this._renderer=null,this._rendererCached=!1}renderer(e,t){if(this._invalidated&&this._updateImpl(),this._rendererCached)return this._renderer;this._rendererCached=!0;var i=this._source,r=i.points();if(0===r.length)return null;var s=i._adapter,a=i._model.timeScale(),o=this._source._model.paneForSource(this._source).executionsPositionController().getXYCoordinate(s,a,r[0].index);if(!isFinite(o.y)||o.y<0||o.y>e||o.x<0)return this._renderer=null,null;var d={points:[new n(o.x,o.y)]};return this._renderer=new l(d,s),this._renderer}}d.prototype._renderer=null,d.prototype._rendererCached=!1,t.ExecutionPaneView=d},89436:(e,t,i)=>{"use strict";i.r(t),i.d(t,{FibChannelPaneView:()=>g});var n=i(16282),r=i(72927),s=i(50968),a=i(57583),o=i(68791),l=i(71172),d=i(87088),h=i(21498),c=i(6397),u=i(44993);class _ extends a.LevelledLineToolLabelsCache{priceRange(e,t){ +const i=e.points()[2],r=e.points()[0],s=this._calculatePriceRange(i,r,t);if(!this._calculateLogLevels(e))return{price:s};const a=e.priceScale(),o=(0,n.ensureNotNull)(e.ownerSource()).firstValue();if(null===a||null===o)return{price:s};const l=a.priceToCoordinate(i.price,o),d=a.priceToCoordinate(r.price,o);return{price:s,coordinate:t?d-l:l-d}}_selectStartPrice(e){return e.points()[0].price}}class p extends h.ParallelChannelRenderer{_getColor(){const e=(0,n.ensureNotNull)(this._data);return(0,s.generateColor)(e.backcolor,e.transparency,!0)}}class g extends u.LineToolPaneViewWithLevelledTextCache{constructor(){super(...arguments),this._baseLineRenderer=new c.TrendLineRenderer,this._lastLevelTrendRenderer=new c.TrendLineRenderer,this._renderer=null,this._norm=null}getCacheRects(e,t){super.getCacheRects(e,t);const i=(0,n.ensureNotNull)(this._norm),s=this._source.properties(),a=(0,n.ensureDefined)(s.child("level"+t)).childs(),o=this._cacheState.preparedCells.cells[t-1];let l;const d=this._points[0],h=this._points[1],c=i.scaled(a.coeff.value()),u=d.add(c),_=h.add(c);switch(s.childs().horzLabelsAlign.value()){case"left":l=u;break;case"center":{l=u.add(_).scaled(.5);const e=Math.round(l.x+o.width/2);l=new r.Point(e,l.y);break}case"right":{l=_.clone();const e=Math.round(l.x+o.width);l=new r.Point(e,l.y);break}}l=(0,n.ensureDefined)(l);const p={left:o.left,top:(0,n.ensureNotNull)(this._cache).topByRow(this._cacheState.row),width:o.width,height:(0,n.ensureNotNull)(this._cache).rowHeight(this._cacheState.row)},g={left:Math.round(l.x-p.width),top:Math.round(l.y),width:o.width,height:p.height},f=s.childs().vertLabelsAlign.value();return"middle"===f&&(g.top-=g.height/2),"bottom"===f&&(g.top-=g.height),{cacheRect:p,targetRect:g}}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_createCache(e){return new _(this._source.properties().childs().fibLevelsBasedOnLogScale,this._source.levelsCount(),e)}_updateImpl(){super._updateImpl();if(null===this._source.priceScale())return;this._renderer=null,3===this._points.length&&3===this._source.points().length&&(this._norm=this._points[2].subtract(this._points[0]));const e=new d.CompositeRenderer;if(this._points.length<2)return this.addAnchors(e),void(this._renderer=e);const t=this._source.properties().childs(),i=this._points[0],r=this._points[1];if(this._points.length<3){const n={points:[i,r],color:t.level1.childs().color.value(),linewidth:t.levelsStyle.childs().linewidth.value(),linestyle:t.levelsStyle.childs().linestyle.value(),extendleft:t.extendLeft.value(),extendright:t.extendRight.value(),leftend:l.LineEnd.Normal,rightend:l.LineEnd.Normal};return this._baseLineRenderer.setData(n),e.append(this._baseLineRenderer),this.addAnchors(e),void(this._renderer=e)}const s=(t,i,n)=>{const r=new o.PaneRendererCachedImage(this,n);e.append(r)},a=this._source.levelsCount(),h=(0,n.ensureNotNull)(this._norm);for(let o=1;o=1;e--){if((0,n.ensureDefined)(this._source.properties().child("level"+e)).childs().visible.value()){c=e;break}}if(null!==c){const a=(0,n.ensureDefined)(this._source.properties().child("level"+c)).childs();if(a.visible.value()){const n=h.scaled(a.coeff.value()),o=i.add(n),d=r.add(n),u={points:[o,d],color:a.color.value(),linewidth:t.levelsStyle.childs().linewidth.value(),linestyle:t.levelsStyle.childs().linestyle.value(),extendleft:t.extendLeft.value(),extendright:t.extendRight.value(),leftend:l.LineEnd.Normal,rightend:l.LineEnd.Normal};this._lastLevelTrendRenderer.setData(u),e.append(this._lastLevelTrendRenderer),(t.showCoeffs.value()||t.showPrices.value())&&s(0,0,c)}}this.addAnchors(e),this._renderer=e}}},1509:(e,t,i)=>{"use strict";var n=i(72927).Point,r=i(6397).TrendLineRenderer,s=i(68791).PaneRendererCachedImage,a=i(10288).HitTestResult,o=i(87088).CompositeRenderer,l=i(57649).NumericFormatter,d=i(90212).EllipseRendererSimple,h=i(71172).LineEnd,c=i(44993).LineToolPaneViewWithLevelledTextCache;t.FibCirclesPaneView=class extends c{constructor(e,t){super(e,t),this._rendererCache={},this._numericFormatter=new l,this._trendLineRenderer=new r,this._renderer=null}getCacheRects(e,t){super.getCacheRects(e,t);var i=this._cacheState.preparedCells.cells[this._levels[t].index-1];if(i){var n=this._levels[t],r={left:i.left,top:this._cache.topByRow(this._cacheState.row),width:i.width,height:this._cache.rowHeight(this._cacheState.row)};return{cacheRect:r,targetRect:{left:Math.round(n.labelPoint.x-r.width),top:Math.round(n.labelPoint.y-r.height/2),width:i.width,height:r.height}}}}_updateImpl(){if(super._updateImpl(),this._renderer=null,!(this._source.points().length<2||this._points.length<2)&&this._source.priceScale()&&!this._source.priceScale().isEmpty()&&!this._model.timeScale().isEmpty()){var e=this._points[0],t=this._points[1];this._center=e.add(t).scaled(.5);var i=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);this._levels=[];for(var l=this._source.properties(),c=this._source.levelsCount(),u=1;u<=c;u++){var _=l["level"+u];if(_.visible.value()){var p=_.coeff.value(),g=_.color.value(),f=[];f.push(new n(this._center.x-.5*i*p,this._center.y-.5*r*p)),f.push(new n(this._center.x+.5*i*p,this._center.y+.5*r*p));var v=new n(this._center.x,this._center.y+.5*r*p);this._levels.push({color:g,points:f,labelPoint:v,linewidth:_.linewidth.value(), +linestyle:_.linestyle.value(),index:u})}}if(!(this._points.length<2)){var x=new o,w=l.fillBackground.value(),m=l.transparency.value();for(u=0;u0&&(y.wholePoints=this._levels[u-1].points),y.fillBackground=w,y.transparency=m;var T=new a(a.MOVEPOINT,null,R.index);if(x.append(new d(y,T)),l.showCoeffs.value()){var b=new s(this,u);x.append(b)}}if(l.trendline.visible.value()){var L={points:[this._points[0],this._points[1]],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:l.trendline.color.value(),linewidth:l.trendline.linewidth.value(),linestyle:l.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:h.Normal,rightend:h.Normal};this._trendLineRenderer.setData(L),x.append(this._trendLineRenderer)}this.addAnchors(x),this._renderer=x}}}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}}},75235:(e,t,i)=>{"use strict";i.d(t,{fibLevelCoordinate:()=>r,fibLevelPrice:()=>s});var n=i(16282);function r(e,t,i,r,s,a){if(a)return Math.round((0,n.ensureDefined)(e.coordinate)+(0,n.ensureDefined)(t.coordinate)*i);const o=e.price+t.price*i;return r.priceToCoordinate(o,s)}function s(e,t,i,r,s,a){if(!a)return e.price+t.price*i;const o=(0,n.ensureDefined)(e.coordinate)+(0,n.ensureDefined)(t.coordinate)*i;return r.coordinateToPrice(o,s)}},81247:(e,t,i)=>{"use strict";var n=i(16282).ensureNotNull,r=i(72927).Point,s=i(72095).RectangleRenderer,a=i(6397).TrendLineRenderer,o=i(68791).PaneRendererCachedImage,l=i(10288).HitTestResult,d=i(87088).CompositeRenderer,h=i(71172).LineEnd,c=i(75235).fibLevelCoordinate,u=i(44993).LineToolPaneViewWithLevelledTextCache;t.FibRetracementPaneView=class extends u{constructor(e,t){super(e,t),this._rendererCache={},this._trendLineRenderer=new a,this._renderer=null}getCacheRects(e,t){if(super.getCacheRects(e,t),!this._cacheState.preparedCells)return null;var i=this._levels[t].index-1,s=this._cacheState.preparedCells.cells[i];if(!s)return null;var a=this._points[0],o=this._points[1],l=Math.min(a.x,o.x),d=Math.max(a.x,o.x);a=new r(l,this._levels[t].y),o=new r(d,this._levels[t].y);var h,c=this._source.properties(),u=c.extendLines.value()?this._model.timeScale().width():d,_=n(this._cache);switch(c.horzLabelsAlign.value()){case"left":h=a;break;case"center":(h=a.add(o).scaled(.5)).x+=s.width/2,h.x=Math.round(h.x);break;case"right":c.extendLines.value()?h=new r(u-4,this._levels[t].y):((h=new r(u+4,this._levels[t].y)).x+=s.width,h.x=Math.round(h.x))}var p={left:s.left,top:_.topByRow(this._cacheState.row),width:s.width,height:_.rowHeight(this._cacheState.row)},g={left:h.x-p.width,top:h.y,width:s.width,height:p.height},f=c.vertLabelsAlign.value();return"middle"===f&&(g.top-=g.height/2),"bottom"===f&&(g.top-=g.height),{cacheRect:p,targetRect:g}}_updateImpl(){if(super._updateImpl(),this._renderer=null,!(this._source.points().length<2)){var e=this._source.priceScale();if(e&&!e.isEmpty()&&!this._model.timeScale().isEmpty()){ +var t=this._source.ownerSource().firstValue();if(null!=t){var i=this._source.points()[0],n=this._source.points()[1],u=!1;(P=this._source.properties()).reverse&&P.reverse.value()&&(u=P.reverse.value()),this._levels=[];var _,p,g=u?i.price:n.price,f=u?n.price:i.price,v=f-g,x=e.isLog()&&P.fibLevelsBasedOnLogScale.value();if(x)_=e.priceToCoordinate(g,t),p=e.priceToCoordinate(f,t)-_;for(var w={price:g,coordinate:_},m={price:v,coordinate:p},R=this._source.levelsCount(),y=1;y<=R;y++){var T=P["level"+y];if(T.visible.value()){var b=T.coeff.value(),L=T.color.value(),S=c(w,m,b,e,t,x);this._levels.push({color:L,y:S,price:e.coordinateToPrice(S,t),linewidth:P.levelsStyle.linewidth.value(),linestyle:P.levelsStyle.linestyle.value(),index:y})}}if(!(this._points.length<2)){var P,C=new d,M=(i=this._points[0],n=this._points[1],Math.min(i.x,n.x)),I=Math.max(i.x,n.x),N=(P=this._source.properties()).fillBackground.value(),D=P.transparency.value(),A=P.extendLinesLeft.value(),k=P.extendLines.value();if(N)for(y=0;y0&&N){var E=this._levels[y-1],B=(i=new r(M,this._levels[y].y),n=new r(I,E.y),{});B.points=[i,n],B.color=this._levels[y].color,B.linewidth=0,B.backcolor=this._levels[y].color,B.fillBackground=!0,B.transparency=D,B.extendLeft=A,B.extendRight=k,(z=new s(void 0,void 0,!0)).setData(B),C.append(z)}var O=M,H=I;O===H&&(A&&(O-=1),k&&(H+=1));for(y=0;y{"use strict";i.r(t),i.d(t,{FibSpeedResistanceArcsPaneView:()=>g});var n=i(72927),r=i(57968),s=i(10288),a=i(68791),o=i(87088),l=i(71172),d=i(6397),h=i(44993),c=i(50968),u=i(21344),_=i(58729);class p extends _.ScaledPaneRenderer{constructor(e,t,i){super(),this._data=e,this._hittest=t||new s.HitTestResult(s.HitTestResult.MOVEPOINT),this._backHittest=i||new s.HitTestResult(s.HitTestResult.MOVEPOINT_BACKGROUND)}hitTest(e){const t=this._data;if(null===t)return null;if((0,r.sign)(e.y-t.center.y)!==t.dir&&!t.fullCircles)return null;const i=e.subtract(t.center).length(),n=(0,u.interactionTolerance)().curve +;return Math.abs(i-t.radius)0?e.arc(0,0,t.radius,0,Math.PI,!1):e.arc(0,0,t.radius,Math.PI,0,!1),e.stroke(),t.fillBackground&&(t.radius2&&(t.fullCircles?e.arc(0,0,t.radius2,2*Math.PI,0,!0):t.dir>0?e.arc(0,0,t.radius2,Math.PI,0,!0):e.arc(0,0,t.radius2,0,Math.PI,!0)),e.fillStyle=(0,c.generateColor)(t.color,t.transparency,!0),e.fill()))}}class g extends h.LineToolPaneViewWithLevelledTextCache{constructor(){super(...arguments),this._trendLineRenderer=new d.TrendLineRenderer,this._renderer=null,this._levels=[]}getCacheRects(e,t){super.getCacheRects(e,t);const i=this._cache,n=this._cacheState.preparedCells.cells[this._levels[t].index-1];if(!n||!i)return null;const r=this._levels[t],s={left:n.left,top:i.topByRow(this._cacheState.row),width:n.width,height:i.rowHeight(this._cacheState.row)};return{cacheRect:s,targetRect:{left:Math.round(r.labelPoint.x-s.width),top:Math.round(r.labelPoint.y-s.height/2),width:n.width,height:s.height}}}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._points.length<2)return;const e=this._source.priceScale();if(!e||e.isEmpty()||this._model.timeScale().isEmpty())return;const t=this._points[0],i=this._points[1],d=t.subtract(i).length();this._levels=[];const h=this._source.properties().childs(),c=this._source.levelsCount();for(let e=1;e<=c;e++){const s="level"+e,a=this._source.properties().child(s).childs();if(!a.visible.value())continue;const o=a.coeff.value(),l=a.color.value(),h=i.subtract(t).length()*o,c=(0,r.sign)(i.y-t.y),u=new n.Point(t.x,t.y+c*d*o);this._levels.push({color:l,radius:h,dir:c,labelPoint:u,linewidth:a.linewidth.value(),linestyle:a.linestyle.value(),index:e})}if(this._points.length<2)return;const u=new o.CompositeRenderer,_=h.fillBackground.value(),g=h.transparency.value();for(let e=0;e0?this._levels[e-1].radius:void 0},r=new s.HitTestResult(s.HitTestResult.MOVEPOINT,void 0,i.index);if(u.append(new p(n,r)),h.showCoeffs.value()){const t=new a.PaneRendererCachedImage(this,e);u.append(t)}}const f=h.trendline.childs();if(f.visible.value()){const e={points:[this._points[0],this._points[1]],color:f.color.value(),linewidth:f.linewidth.value(),linestyle:f.linestyle.value(),extendleft:!1,extendright:!1,leftend:l.LineEnd.Normal,rightend:l.LineEnd.Normal};this._trendLineRenderer.setData(e),u.append(this._trendLineRenderer)}this.addAnchors(u),this._renderer=u}}},95292:(e,t,i)=>{"use strict";i.r(t),i.d(t,{FibSpeedResistanceFanPaneView:()=>p}) +;var n=i(16282),r=i(72927),s=i(57649),a=i(10288),o=i(16758),l=i(87088),d=i(71172),h=i(44896),c=i(6397),u=i(67857),_=i(54837);class p extends u.LineSourcePaneView{constructor(){super(...arguments),this._numericFormatter=new s.NumericFormatter,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._source.points().length<2)return;const e=this._source.priceScale(),t=(0,n.ensureNotNull)(this._source.ownerSource()).firstValue();if(null===t||!e||e.isEmpty()||this._model.timeScale().isEmpty())return;if(this._points.length<2)return;const i=this._source.points()[0],s=this._source.points()[1],u=this._source.properties().childs(),p=u.reverse.value(),g=[],f=p?s.price-i.price:i.price-s.price,v=p?i.price:s.price;for(let i=1;i<=7;i++){const n="hlevel"+i,r=this._source.properties().child(n).childs();if(!r.visible.value())continue;const s=r.coeff.value(),a=r.color.value(),o=v+s*f,l=e.priceToCoordinate(o,t);g.push({coeff:s,color:a,y:l,index:i})}const x=[],w=p?s.index-i.index:i.index-s.index,m=p?i.index:s.index;for(let e=1;e<=7;e++){const t="vlevel"+e,i=this._source.properties().child(t).childs();if(!i.visible.value())continue;const n=i.coeff.value(),r=i.color.value(),s=Math.round(m+n*w),a=this._model.timeScale().indexToCoordinate(s);x.push({coeff:n,color:r,x:a,index:e})}const R=new l.CompositeRenderer,y=this._points[0],T=this._points[1],b=Math.min(y.x,T.x),L=Math.min(y.y,T.y),S=Math.max(y.x,T.x),P=Math.max(y.y,T.y),C=u.grid.childs().color.value(),M=u.grid.childs().linewidth.value(),I=u.grid.childs().linestyle.value();for(let e=0;e0&&N){const i={p1:y,p2:t,p3:y,p4:new r.Point(T.x,g[e-1].y),color:g[e].color,transparency:D,hittestOnBackground:!0,extendLeft:!1},n=new o.ChannelRenderer;n.setData(i),R.append(n)}{const i={points:[y,t],color:g[e].color,linewidth:u.linewidth.value(),linestyle:u.linestyle.value(),extendleft:!1,extendright:!0,leftend:d.LineEnd.Normal,rightend:d.LineEnd.Normal},n=new c.TrendLineRenderer;n.setData(i),n.setHitTest(new a.HitTestResult(a.HitTestResult.MOVEPOINT,void 0,{type:"h",index:g[e].index})),R.append(n)}}for(let e=0;e0&&N){const i={p1:y,p2:t,p3:y,p4:new r.Point(x[e-1].x,T.y),color:x[e].color,transparency:D,hittestOnBackground:!0,extendLeft:!1},n=new o.ChannelRenderer;n.setData(i),R.append(n)}{const i={points:[y,t],color:x[e].color,linewidth:u.linewidth.value(),linestyle:u.linestyle.value(),extendleft:!1,extendright:!0,leftend:d.LineEnd.Normal,rightend:d.LineEnd.Normal},n=new c.TrendLineRenderer;n.setData(i),n.setHitTest(new a.HitTestResult(a.HitTestResult.MOVEPOINT,void 0,{type:"v",index:x[e].index})),R.append(n)}}this.addAnchors(R),this._renderer=R}}},33732:(e,t,i)=>{"use strict";i.r(t),i.d(t,{FibSpiralPaneView:()=>_});var n=i(87088),r=i(71172),s=i(6397),a=i(67857),o=i(5025),l=i(10288),d=i(21344),h=i(58729);const c=[0,1,2,3,5,8,13,21,34,55,89];class u extends h.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e){if(null===this._data||this._data.points.length<2)return null;const t=this._data.points[0],i=this._data.points[1].subtract(t),n=e.subtract(t),r=i.normalized(),s=r.transposed(),a=n.normalized();let o=Math.acos(r.dotProduct(a));Math.asin(s.dotProduct(a))<0&&(o=2*Math.PI-o);const h=this._data.counterclockwise?-1:1,c=n.length(),u=(0,d.interactionTolerance)().curve;for(let e=0;e<4;e++){const t=h*o/(.5*Math.PI);let n=this._continiusFib(t+4*e);if(null!==n&&(n=n*i.length()/5,Math.abs(n-c)=c.length)return null;let n=e-t +;n=Math.pow(n,1.15);return c[t]+(c[i]-c[t])*n}}class _ extends a.LineSourcePaneView{constructor(){super(...arguments),this._trendLineRenderer=new s.TrendLineRenderer,this._spiralRenderer=new u,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._points.length<2)return;const e=new n.CompositeRenderer,t=this._source.properties().childs();{const i={points:[this._points[0],this._points[1]],color:t.linecolor.value(),linewidth:t.linewidth.value(),linestyle:t.linestyle.value(),extendleft:!1,extendright:!0,leftend:r.LineEnd.Normal,rightend:r.LineEnd.Normal};this._trendLineRenderer.setData(i),e.append(this._trendLineRenderer)}{const i={points:this._points,color:t.linecolor.value(),linewidth:t.linewidth.value(),linestyle:t.linestyle.value(),counterclockwise:t.counterclockwise.value()};this._spiralRenderer.setData(i),e.append(this._spiralRenderer)}this.addAnchors(e),this._renderer=e}}},62585:(e,t,i)=>{"use strict";var n=i(72927).Point,r=i(67857).LineSourcePaneView,s=i(69819).VerticalLineRenderer,a=i(44896).TextRenderer,o=i(72095).RectangleRenderer,l=i(6397).TrendLineRenderer,d=i(10288).HitTestResult,h=i(87088).CompositeRenderer,c=i(71172).LineEnd,u=i(54837);t.FibTimeZonePaneView=class extends r{constructor(e,t){super(e,t),this._levels=[],this._trendRenderer=new l,this._renderer=null}_updateImpl(){if(super._updateImpl(),this._renderer=null,!(this._source.points().length<1)&&this._source.priceScale()&&!this._source.priceScale().isEmpty()&&!this._model.timeScale().isEmpty()){var e=this._source.points()[0];2===this._source.points().length&&(x=this._source.points()[1]);var t=this._source.properties(),i=this._source.points()[0].index;if(null!==this._model.timeScale().visibleBarsStrictRange()){this._levels=[];for(var r=x?x.index-e.index:1,l=1;l<=11;l++){var _=t["level"+l];if(_.visible.value()){var p=Math.round(i+_.coeff.value()*r),g={index:l,x:this._model.timeScale().indexToCoordinate(p),color:_.color.value(),width:_.linewidth.value(),style:_.linestyle.value()};t.showLabels.value()&&(g.text=_.coeff.value(),g.y=this._source.priceScale().height()),this._levels.push(g)}}var f=new h;if((t=this._source.properties()).fillBackground.value())for(l=1;l0&&f.append(this.createLineAnchor({points:[new n(this._points[0].x,this._source.priceScale().height()/2)],hittestResult:d.MOVEPOINT},0)),this._renderer=f}}}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}}},19027:(e,t,i)=>{"use strict";var n=i(72927).Point,r=i(6397).TrendLineRenderer,s=i(68791).PaneRendererCachedImage,a=i(10288).HitTestResult,o=i(87088).CompositeRenderer,l=i(93572).ArcWedgeRenderer,d=i(71172).LineEnd,h=i(44993).LineToolPaneViewWithLevelledTextCache;t.FibWedgePaneView=class extends h{constructor(e,t){super(e,t),this._levels=[],this._baseTrendRenderer=new r,this._edgeTrendRenderer=new r,this._renderer=null}getCacheRects(e,t){super.getCacheRects(e,t);var i=this._cacheState.preparedCells.cells[this._levels[t].index-1];if(i){var n=this._levels[t],r={left:i.left,top:this._cache.topByRow(this._cacheState.row),width:i.width,height:this._cache.rowHeight(this._cacheState.row)};return{cacheRect:r,targetRect:{left:Math.round(n.labelPoint.x-r.width),top:Math.round(n.labelPoint.y-r.height/2),width:i.width,height:r.height}}}}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._levels=[],this._points.length<3)this._updateRenderer();else{var e=this._points,t=e[0],i=e[1],r=e[2],s=i.subtract(t).normalized(),a=r.subtract(t).normalized(),o=new n(1,0),l=new n(0,1),d=Math.acos(s.dotProduct(o));s.dotProduct(l)<0&&(d=2*Math.PI-d),this._edge1=d;var h=Math.acos(a.dotProduct(o));a.dotProduct(l)<0&&(h=2*Math.PI-h),this._edge2=h,dMath.PI&&(this._edge1=Math.min(d,h),this._edge2=Math.max(d,h)-2*Math.PI);for(var c=this._source.properties(),u=1;u<=this._source.levelsCount();u++){var _=c["level"+u];if(_.visible.value()){var p=_.coeff.value(),g=_.color.value(),f=i.subtract(t).length()*p,v=s.add(a).scaled(.5).normalized().scaled(f),x=t.add(v);this._levels.push({coeff:p,color:g,radius:f,labelPoint:x,p1:t.add(s.scaled(f)),p2:t.add(a.scaled(f)),linewidth:_.linewidth.value(),linestyle:_.linestyle.value(),index:u})}}this._points.length<2||this._updateRenderer()}}_updateRenderer(){if(!((w=this._points).length<2)){var e=new o,t=this._source.properties(),i=w[0],n=w[1],r={points:[i,n],width:this._model.timeScale().width(),height:this._source.priceScale().height(), +color:t.trendline.color.value(),linewidth:t.trendline.visible.value()?t.trendline.linewidth.value():0,linestyle:t.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:d.Normal,rightend:d.Normal};if(this._baseTrendRenderer.setData(r),e.append(this._baseTrendRenderer),w.length<3)return this.addAnchors(e),void(this._renderer=e);var h=w[2],c=h.data,u=n.subtract(i).length(),_=h.subtract(i).normalized();(h=i.add(_.scaled(u))).data=c,r={points:[i,h],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:t.trendline.color.value(),linewidth:t.trendline.visible.value()?t.trendline.linewidth.value():0,linestyle:t.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:d.Normal,rightend:d.Normal},this._edgeTrendRenderer.setData(r),e.append(this._edgeTrendRenderer);for(var p=this._levels.length-1;p>=0;p--){var g=this._levels[p],f={};f.center=this._points[0],f.radius=g.radius,f.prevRadius=p>0?this._levels[p-1].radius:0,f.edge=this._edge,f.color=g.color,f.linewidth=g.linewidth,f.edge1=this._edge1,f.edge2=this._edge2,f.p1=g.p1,f.p2=g.p2,f.fillBackground=t.fillBackground.value(),f.transparency=t.transparency.value();var v=new l;if(v.setData(f),v.setHitTest(new a(a.MOVEPOINT,null,g.index)),e.append(v),t.showCoeffs.value()){var x=new s(this,p);e.append(x)}}var w=[i,n];this._model.lineBeingCreated()!==this._source&&w.push(h),e.append(this.createLineAnchor({points:w},0)),this._renderer=e}}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}}},16399:(e,t,i)=>{"use strict";i.r(t),i.d(t,{FlagMarkPaneView:()=>c});var n=i(67857),r=i(87088),s=i(73301),a=i(10288),o=i(71044),l=i(55430),d=i(58729);class h extends d.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e){if(null===this._data)return null;const{x:t,y:i}=this._data.point;return e.xt+20||e.yi?null:new a.HitTestResult(a.HitTestResult.MOVEPOINT)}doesIntersectWithBox(e){return null!==this._data&&(0,o.pointInBox)(this._data.point,e)}_drawImpl(e){null!==this._data&&(e.save(),e.translate(Math.round(this._data.point.x)-.5,Math.round(this._data.point.y-22)-.5),e.fillStyle="#434651",(0,l.drawRoundRect)(e,0,0,2,22,1),e.fill(),e.fillStyle=this._data.color,e.beginPath(),e.moveTo(6.87,0),e.bezierCurveTo(5.62,0,4.46,.23,3.32,.69),e.bezierCurveTo(3.26,.71,3.2,.75,3.15,.8),e.bezierCurveTo(3.06,.89,3,1.02,3,1.16),e.lineTo(3,1.19),e.lineTo(3,12.5),e.bezierCurveTo(3,12.8,3.3,13.02,3.59,12.93),e.bezierCurveTo(4.61,12.64,5.94,12.44,6.87,12.44),e.bezierCurveTo(8.5,12.44,10.09,12.83,11.63,13.21),e.bezierCurveTo(13.19,13.6,14.79,14,16.45,14),e.bezierCurveTo(17.59,14,18.65,13.81,19.69,13.43),e.bezierCurveTo(19.88,13.36,20,13.18,20,12.98),e.lineTo(20,1.19),e.bezierCurveTo(20,1.06,19.83,.93,19.66,.99),e.bezierCurveTo(18.63,1.38,17.58,1.56,16.45,1.56),e.bezierCurveTo(14.82,1.56,13.23,1.17,11.69,.79),e.bezierCurveTo(10.14,.4,8.53,0,6.87,0),e.closePath(),e.fill(),e.restore())}}class c extends n.LineSourcePaneView{constructor(){super(...arguments),this._flagMarkRenderer=new h, +this._renderer=null,this._anchorsOffset=null}setAnchors(e){this._anchorsOffset=e}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,1!==this._points.length)return;this._flagMarkRenderer.setData({point:this._points[0],color:this._getSource().properties().childs().flagColor.value()});const e=this._getModel();this._renderer=new r.CompositeRenderer,this._renderer.append(this._flagMarkRenderer);const t=[this._anchorsOffset?this._points[0].add(this._anchorsOffset):this._points[0].clone()];this._renderer.append(new s.SelectionRenderer({points:t,bgColors:this._lineAnchorColors(t),visible:this.areAnchorsVisible(),barSpacing:e.timeScale().barSpacing(),hittestResult:a.HitTestResult.MOVEPOINT}))}}},88589:(e,t,i)=>{"use strict";var n=i(67857).LineSourcePaneView,r=i(10847).DisjointChannelRenderer,s=i(6397).TrendLineRenderer,a=i(44896).TextRenderer,o=i(87088).CompositeRenderer,l=i(54837);t.FlatBottomPaneView=class extends n{constructor(e,t){super(e,t),this._label1=null,this._label2=null,this._trendLineRendererPoints12=new s,this._trendLineRendererPoints43=new s,this._disjointChannelRenderer=new r,this._p1LabelRenderer=new a,this._p2LabelRenderer=new a,this._p3LabelRenderer=new a,this._p4LabelRenderer=new a,this._renderer=null}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._label1=null,this._label2=null,!(this._source.points().length<2)&&this._source.priceScale()){var e=this._source.points()[0],t=this._source.points()[1],i=this._source.ownerSource().firstValue();if(this._price1=this._source.priceScale().formatPrice(e.price,i),this._price2=this._source.priceScale().formatPrice(t.price,i),3===this._source.points().length){var n=this._source.points()[2];this._price3=this._source.priceScale().formatPrice(n.price,i)}if(!(this._points.length<2)){var r,s=new o,a=(e=this._points[0],t=this._points[1],this._source.properties()),d=this._model,h=this._source;if(3===this._points.length&&((n=this._points[2]).x=t.x,(r=e.clone()).y=n.y,r.data=3,a.fillBackground.value())){var c=d.timeScale().width(),u=h.priceScale().height(),_=a.extendLeft.value(),p=a.extendRight.value();this._disjointChannelRenderer.setData({width:c,height:u,extendleft:_,extendright:p,points:[e,t,n,r],backcolor:a.backgroundColor.value(),transparency:a.transparency.value(),hittestOnBackground:TradingView.isMobile.any()}),s.append(this._disjointChannelRenderer)}var g=function(e,t){return{points:[e,t],width:d.timeScale().width(),height:h.priceScale().height(),color:a.linecolor.value(),linewidth:a.linewidth.value(),linestyle:a.linestyle.value(),extendleft:a.extendLeft.value(),extendright:a.extendRight.value(),leftend:a.leftEnd.value(),rightend:a.rightEnd.value()}};if(this._trendLineRendererPoints12.setData(g(e,t)),s.append(this._trendLineRendererPoints12),2===this._points.length)return this.addAnchors(s),void(this._renderer=s);var f=this,v=function(e,t,i,n,r,a){if(f._source.properties().showPrices.value()){var o={points:[i],text:r,color:f._source.properties().textcolor.value(), +horzAlign:i.x>n.x?"left":"right",vertAlign:"middle",font:l.CHART_FONT_FAMILY,offsetX:6,offsetY:0,boxPadding:0,bold:f._source.properties().bold.value(),italic:f._source.properties().italic.value(),fontsize:f._source.properties().fontsize.value(),forceTextAlign:!0};e.setData(o),s.append(e);o={points:[n],text:a,color:f._source.properties().textcolor.value(),horzAlign:i.x{"use strict";i.d(t,{GannArcRenderer:()=>o});var n=i(72927),r=i(50968),s=i(10288),a=i(58729);class o extends a.ScaledPaneRenderer{constructor(){super(),this._data=null}setData(e){this._data=e}hitTest(e){if(null===this._data)return null;e=e.subtract(this._data.center);const t=this._data.edge.subtract(this._data.center),i=t.y/t.x;e=new n.Point(e.x,e.y/i);let r=this._data.point.subtract(this._data.center);r=new n.Point(r.x,r.y/i);const a=r.length(),o=e.length();let l=this._data.prevPoint.subtract(this._data.center);l=new n.Point(l.x,l.y/i);const d=l.length();return Math.abs(o-a)<5&&t.x*e.x>=0&&t.y*e.y>=0?new s.HitTestResult(s.HitTestResult.MOVEPOINT):this._data.fillBack&&o>=d&&o<=a&&t.x*e.x>=0&&t.y*e.y>=0?new s.HitTestResult(s.HitTestResult.MOVEPOINT_BACKGROUND):null}_drawImpl(e){if(null===this._data)return;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,e.translate(this._data.center.x,this._data.center.y);const t=this._data.edge.subtract(this._data.center),i=t.y/t.x;let s=this._data.point.subtract(this._data.center);s=new n.Point(s.x,s.y/i);let a=s.length(),o=this._data.prevPoint.subtract(this._data.center);o=new n.Point(o.x,o.y/i);let l=o.length();e.scale(1,i),this._data.fillBack&&(this._data.point.xthis._data.center.x?e.arc(0,0,Math.abs(a),0,Math.PI/2,!1):e.arc(0,0,Math.abs(a),-Math.PI/2,-Math.PI,!0),e.scale(1,1/i),e.stroke()}}},2498:(e,t,i)=>{"use strict";i.r(t),i.d(t,{GannComplexPaneView:()=>u});var n=i(72927),r=i(67857),s=i(6397),a=i(44896),o=i(87088),l=i(71172),d=i(33420),h=i(18250),c=i(76553);class u extends r.LineSourcePaneView{constructor(e,t){super(e,t),this._verticalLevelsRenderers=[], +this._horizontalLevelsRenderers=[],this._fanRenderers=[],this._arcRenderers=[],this._priceDiffTextRenderer=new a.TextRenderer,this._indexDiffTextRenderer=new a.TextRenderer,this._ratioTextRenderer=new a.TextRenderer,this._renderer=null,this._initRenderers()}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null;const e=new o.CompositeRenderer,t=this._getPoints();if(t.length<2)return this.addAnchors(e),void(this._renderer=e);let[i,n]=t;const r=this._getSource(),s=r.isReversed();s&&([n,i]=t);const a=n.x-i.x,l=n.y-i.y,d=i,h=n,c=this._getModel(),u={barsCoordsRange:a,priceCoordsRange:l,startPoint:d,endPoint:h,p1:i,p2:n,isLabelsVisible:r.isLabelsVisible(),reversed:s};this._prepareLevels(e,u),this._prepareFanLines(e,u),this._prepareArcs(e,u),this._prepareLabels(e,u);const _=[i,n];c.lineBeingCreated()===r&&_.pop(),e.append(this.createLineAnchor({points:_},0)),this._renderer=e}_initRenderers(){const e=this._getSource(),t=e.levelsCount();for(let e=0;ec){u=s.x;const e=c/h;_=r.y+e*o}else{_=s.y;const e=h/c;u=r.x+e*a}const p={points:[i,new n.Point(u,_)],color:t.color,linewidth:t.width,linestyle:d.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:l.LineEnd.Normal,rightend:l.LineEnd.Normal},g=this._fanRenderers[t.index];g.setData(p),e.append(g)}}_prepareArcs(e,t){const{p1:i,startPoint:r,endPoint:s,barsCoordsRange:a,priceCoordsRange:o}=t;let l=i;const d=this._getSource(),h=d.isArcsBackgroundFilled(),c=d.arcsBackgroundTransparency(),u=d.arcs();for(const t of u){if(!t.visible)continue;const i=t.x/5,d=t.y/5,u=r.x+i*a,_=r.y+d*o,p={center:r,point:new n.Point(u,_),edge:s,color:t.color,linewidth:t.width,fillBack:h,transparency:c,prevPoint:l},g=this._arcRenderers[t.index];g.setData(p),e.append(g),l=p.point}}_prepareLabels(e,t){ +const{p1:i,p2:r,isLabelsVisible:s,reversed:a}=t;if(!s)return;const o=this._getSource(),l=o.ownerSource();let d=o.getPriceDiff(),h=o.getIndexDiff();if(null===d||null===h||null===l)return;a&&(d=-d,h=-h);const u=new n.Point(i.x,r.y),_=(0,c.forceLTRStr)(l.formatter().format(d)),p=this._getLabelData(u,_);p.horzAlign=h>0?"right":"left",p.vertAlign=d>0?"bottom":"top",p.offsetX=10,p.offsetY=d>0?8:10,p.forceTextAlign=!0,this._priceDiffTextRenderer.setData(p),e.append(this._priceDiffTextRenderer);const g=new n.Point(r.x,i.y),f=(0,c.forceLTRStr)(h.toString()),v=this._getLabelData(g,f);v.horzAlign=h>0?"left":"right",v.vertAlign=d>0?"top":"bottom",v.offsetX=10,v.offsetY=d>0?10:8,v.forceTextAlign=!0,this._indexDiffTextRenderer.setData(v),e.append(this._indexDiffTextRenderer);const x=o.getScaleRatio();if(null===x)return;const w=o.getScaleRatioFormatter(),m=(0,c.forceLTRStr)(w.format(x)),R=this._getLabelData(r,m);R.horzAlign=h>0?"left":"right",R.vertAlign=d>0?"bottom":"top",R.offsetX=10,R.offsetY=d>0?8:10,R.forceTextAlign=!0,this._ratioTextRenderer.setData(R),e.append(this._ratioTextRenderer)}_getLabelData(e,t){const i=this._getSource(),{textColor:n,font:r,fontSize:s,bold:a,italic:o}=i.getLabelsStyle();return{points:[e],backgroundColor:"transparent",text:t,font:r,bold:a,italic:o,fontsize:s,color:n,vertAlign:"top",horzAlign:"center",offsetX:0,offsetY:0,backgroundRoundRect:4}}}},69152:(e,t,i)=>{"use strict";i.r(t),i.d(t,{GannFanPaneView:()=>u});var n=i(72927),r=i(10288),s=i(16758),a=i(87088),o=i(71172),l=i(44896),d=i(6397),h=i(67857),c=i(54837);class u extends h.LineSourcePaneView{constructor(){super(...arguments),this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._source.points().length<2)return;const e=this._source.priceScale();if(!e||e.isEmpty()||this._model.timeScale().isEmpty())return;if(this._points.length<2)return;const t=this._points[0],i=this._points[1],h=[],u=i.x-t.x,_=i.y-t.y,p=this._source.properties().childs();for(let e=1;e<=9;e++){const n="level"+e,r=this._source.properties().child(n).childs();if(!r.visible.value())continue;const s=r.coeff1.value(),a=r.coeff2.value(),o=s/a,l=r.color.value(),d=s+"/"+a;let c,p;s>a?(c=i.x,p=t.y+_/o):(c=t.x+u*o,p=i.y),h.push({label:d,color:l,x:c,y:p,linewidth:r.linewidth.value(),linestyle:r.linestyle.value(),index:e})}const g=new a.CompositeRenderer,f=p.fillBackground.value(),v=p.transparency.value();for(let e=0;e4&&e>0){const r={p1:t,p2:i,p3:t,p4:new n.Point(h[e-1].x,h[e-1].y),color:h[e].color,transparency:v,hittestOnBackground:!0,extendLeft:!1},a=new s.ChannelRenderer;a.setData(r),g.append(a)}{const n={points:[t,i],color:h[e].color,linewidth:h[e].linewidth,linestyle:h[e].linestyle,extendleft:!1,extendright:!0, +leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal},s=new d.TrendLineRenderer;s.setData(n),s.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT,void 0,h[e].index)),g.append(s)}if(p.showLabels.value()){const t={points:[i],text:h[e].label,color:h[e].color,vertAlign:"middle",horzAlign:"left",font:c.CHART_FONT_FAMILY,offsetX:0,offsetY:5,fontsize:12};g.append(new l.TextRenderer(t))}}this.addAnchors(g),this._renderer=g}}},47536:(e,t,i)=>{"use strict";i.r(t),i.d(t,{GannFixedPaneView:()=>h});var n=i(72927),r=i(67857),s=i(6397),a=i(87088),o=i(71172),l=i(33420),d=i(18250);class h extends r.LineSourcePaneView{constructor(e,t){super(e,t),this._verticalLevelsRenderers=[],this._horizontalLevelsRenderers=[],this._fanRenderers=[],this._arcRenderers=[],this._renderer=null,this._initRenderers()}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null;const e=this._getSource(),t=this._getPoints(),i=e.getScreenPoints();if(t.length<2||i.length<2)return;const[n,r]=i;t[1]=n,t[1].data=1,t[2]=r;const s=this._getPoints(),o=new a.CompositeRenderer;if(s.length<2)return this.addAnchors(o),void(this._renderer=o);const l=s[0],d=3===s.length?s[2]:s[1],h=d.x-l.x,c=d.y-l.y,u=l,_=d,p=this._getModel(),g={barsCoordsRange:h,priceCoordsRange:c,startPoint:u,endPoint:_,p1:l,p2:d};this._prepareLevels(o,g),this._prepareFanLines(o,g),this._prepareArcs(o,g);const f=[l,s[1]];p.lineBeingCreated()===e&&f.pop(),o.append(this.createLineAnchor({points:f},0)),this._renderer=o}_initRenderers(){const e=this._getSource(),t=e.levelsCount();for(let e=0;ec){u=s.x;const e=c/h;_=r.y+e*d}else{_=s.y;const e=h/c;u=r.x+e*a}const p={points:[i,new n.Point(u,_)],color:t.color,linewidth:t.width,linestyle:l.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:o.LineEnd.Normal, +rightend:o.LineEnd.Normal},g=this._fanRenderers[t.index];g.setData(p),e.append(g)}}_prepareArcs(e,t){const{p1:i,startPoint:r,endPoint:s,barsCoordsRange:a,priceCoordsRange:o}=t;let l=i;const d=this._getSource(),h=d.isArcsBackgroundFilled(),c=d.arcsBackgroundTransparency(),u=d.arcs();for(const t of u){if(!t.visible)continue;const i=t.x/5,d=t.y/5,u=r.x+i*a,_=r.y+d*o,p={center:r,point:new n.Point(u,_),edge:s,color:t.color,linewidth:t.width,fillBack:h,transparency:c,prevPoint:l},g=this._arcRenderers[t.index];g.setData(p),e.append(g),l=p.point}}}},71600:(e,t,i)=>{"use strict";var n=i(72927).Point,r=i(67857).LineSourcePaneView,s=i(44896).TextRenderer,a=i(72095).RectangleRenderer,o=i(6397).TrendLineRenderer,l=i(87088).CompositeRenderer,d=i(57649).NumericFormatter,h=i(71172).LineEnd,c=i(54837);t.GannSquarePaneView=class extends r{constructor(e,t){super(e,t),this._numericFormatter=new d,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,!(this._source.points().length<2)&&this._source.priceScale()&&!this._source.priceScale().isEmpty()&&!this._model.timeScale().isEmpty()){var e=this._source.points()[0],t=this._source.points()[1],i=(C=this._source.properties()).reverse&&C.reverse.value();this._hlevels=[];for(var r=i?e.price-t.price:t.price-e.price,d=i?t.price:e.price,u=this._source.ownerSource().firstValue(),_=1;_<=7;_++){if((m=C["hlevel"+_]).visible.value()){var p=m.coeff.value(),g=m.color.value(),f=d+p*r,v=this._source.priceScale().priceToCoordinate(f,u);this._hlevels.push({coeff:p,color:g,y:v})}}this._vlevels=[];var x=i?e.index-t.index:t.index-e.index,w=i?t.index:e.index;for(_=1;_<=7;_++){var m;if((m=C["vlevel"+_]).visible.value()){p=m.coeff.value(),g=m.color.value();var R=Math.round(w+p*x),y=this._model.timeScale().indexToCoordinate(R);this._vlevels.push({coeff:p,color:g,x:y})}}if(this._hfans=[],this._vfans=[],C.fans.visible.value())for(_=1;_<=7;_++){R=Math.round(w+C["hlevel"+_].coeff.value()*x),f=d+C["vlevel"+_].coeff.value()*r;this._hfans.push(this._model.timeScale().indexToCoordinate(R)),this._vfans.push(this._source.priceScale().priceToCoordinate(f,u))}var T=new l;if(this._points.length<2)return this.addAnchors(T),void(this._renderer=T);e=this._points[0],t=this._points[1];var b=Math.min(e.x,t.x),L=Math.min(e.y,t.y),S=Math.max(e.x,t.x),P=Math.max(e.y,t.y),C=this._source.properties(),M=this._source.properties().fillHorzBackground.value(),I=this._source.properties().horzTransparency.value(),N=this._source.properties().fillVertBackground.value(),D=this._source.properties().vertTransparency.value();for(_=0;_0&&M){var A=this._hlevels[_-1];e=new n(b,this._hlevels[_].y),t=new n(S,A.y);(O={}).points=[e,t],O.color=this._hlevels[_].color,O.linewidth=0,O.backcolor=this._hlevels[_].color,O.fillBackground=!0,O.transparency=I,O.extendLeft=!1,O.extendRight=!1,(z=new a(void 0,void 0,!0)).setData(O),T.append(z)}var k={points:[e=new n(b,this._hlevels[_].y),t=new n(S,this._hlevels[_].y)], +width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:this._hlevels[_].color,linewidth:C.linewidth.value(),linestyle:C.linestyle.value(),extendleft:!1,extendright:!1,leftend:h.Normal,rightend:h.Normal};if((z=new o).setData(k),T.append(z),C.showLeftLabels.value()){var E={points:[e],text:this._numericFormatter.format(this._hlevels[_].coeff),color:this._hlevels[_].color,vertAlign:"middle",horzAlign:"right",font:c.CHART_FONT_FAMILY,offsetX:5,offsetY:0,fontsize:12,forceTextAlign:!0};T.append(new s(E))}if(C.showRightLabels.value()){var B={points:[t],text:this._numericFormatter.format(this._hlevels[_].coeff),color:this._hlevels[_].color,vertAlign:"middle",horzAlign:"left",font:c.CHART_FONT_FAMILY,offsetX:5,offsetY:0,fontsize:12};T.append(new s(B))}}for(_=0;_0&&N){A=this._vlevels[_-1];var O,H=new n(A.x,L);(O={}).points=[H,t],O.color=this._vlevels[_].color,O.linewidth=0,O.backcolor=this._vlevels[_].color,O.fillBackground=!0,O.transparency=D,O.extendLeft=!1,O.extendRight=!1,(z=new a(void 0,void 0,!0)).setData(O),T.append(z)}var z;k={points:[e,t],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:this._vlevels[_].color,linewidth:C.linewidth.value(),linestyle:C.linestyle.value(),extendleft:!1,extendright:!1,leftend:h.Normal,rightend:h.Normal};if((z=new o).setData(k),T.append(z),C.showTopLabels.value()){var V={points:[e],text:this._numericFormatter.format(this._vlevels[_].coeff),color:this._vlevels[_].color,vertAlign:"bottom",horzAlign:"center",font:c.CHART_FONT_FAMILY,offsetX:0,offsetY:3,fontsize:12};T.append(new s(V))}if(C.showBottomLabels.value()){var W={points:[t],text:this._numericFormatter.format(this._vlevels[_].coeff),color:this._vlevels[_].color,vertAlign:"top",horzAlign:"center",font:c.CHART_FONT_FAMILY,offsetX:0,offsetY:5,fontsize:12};T.append(new s(W))}}var F=this;U(T,this._hfans,!0),U(T,this._vfans,!1);var Y=new n(this._points[0].x,this._points[1].y);Y.data=2;var j=new n(this._points[1].x,this._points[0].y);j.data=3,T.append(this.createLineAnchor({points:[...this._points,Y,j]},0)),this._renderer=T}function U(e,t,i){var r=new n(b,L),s=new n(S,L),a=new n(b,P),l=new n(S,P),d={width:F._model.timeScale().width(),height:F._source.priceScale().height(),color:C.fans.color.value(),linewidth:C.linewidth.value(),linestyle:C.linestyle.value(),extendleft:!1,extendright:!1,leftend:h.Normal,rightend:h.Normal};function c(t){var i=new o;i.setData(Object.assign({},d,{points:t})),e.append(i)}for(var u=0;u{"use strict";i.r(t),i.d(t,{GhostFeedPaneView:()=>p});var n=i(53312),r=i(33420),s=i(47903),a=i(10288),o=i(87088),l=i(21344),d=i(71172),h=i(6397),c=i(67596),u=i(67857);const _=n.colorsPalette["color-cold-gray-500"];class p extends u.LineSourcePaneView{constructor(){super(...arguments),this._renderer=null, +this._segments=[]}renderer(){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){var e,t;super._updateImpl(),this._renderer=null,this._segments=[];const i=this._source.priceScale(),n=null!==(t=null===(e=this._source.ownerSource())||void 0===e?void 0:e.firstValue())&&void 0!==t?t:null;if(this._points.length<2||null===i||i.isEmpty()||null===n)return;const u=this._source.points(),p=this._source.properties().childs(),g=p.candleStyle.childs();this._segments=this._source.segments().map((e,t)=>{if(t>=this._points.length-1)return null;const r=this._points[t].x,s=u[t].price,a=u[t+1].price,o=i.priceToCoordinate(s,n),l=i.priceToCoordinate(a,n),d=u[t+1].index-u[t].index,h=this._model.timeScale().barSpacing()*Math.sign(d),c=(l-o)/(e.bars().length-1),_=g.upColor.value(),p=g.downColor.value(),f=g.borderUpColor.value(),v=g.borderDownColor.value();return{bars:e.bars().map((e,t)=>{const s=o+t*c,a=i.coordinateToPrice(s,n),l=e.c>=e.o;return{time:r+t*h,open:i.priceToCoordinate(a+e.o,n),high:i.priceToCoordinate(a+e.h,n),low:i.priceToCoordinate(a+e.l,n),close:i.priceToCoordinate(a+e.c,n),color:l?_:p,borderColor:l?f:v,hollow:!1}})}}).filter(s.notNull);const f=new o.CompositeRenderer;for(let e=1;e{"use strict";i.r(t),i.d(t,{LineToolHeadAndShouldersPaneView:()=>g});var n=i(95196),r=i(79881),s=i(33420),a=i(6397),o=i(18614),l=i(44896),d=i(87088),h=i(71172),c=i(59943),u=i(67857),_=i(54837);const p={leftShoulder:(0,r.t)("Left Shoulder"),rightShoulder:(0,r.t)("Right Shoulder"),head:(0,r.t)("Head")};class g extends u.LineSourcePaneView{constructor(){super(...arguments),this._trendLineRenderer=new a.TrendLineRenderer,this._triangleRendererPoints234=new o.TriangleRenderer,this._intersect1Renderer=new o.TriangleRenderer,this._intersect2Renderer=new o.TriangleRenderer,this._polyLineRenderer=new c.PolygonRenderer,this._leftShoulderLabelRenderer=new l.TextRenderer,this._headLabelRenderer=new l.TextRenderer,this._rightShoulderLabelRenderer=new l.TextRenderer,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){let e,t;super._updateImpl(),this._renderer=null;const[i,a,o,l,c,u,g]=this._points +;if(this._points.length>=5){const r=(0,n.intersectLineSegments)(o,c,i,a);if(null!==r){const t=c.subtract(o);e=o.add(t.scaled(r))}if(7===this._points.length){const e=(0,n.intersectLineSegments)(o,c,u,g);if(null!==e){const i=c.subtract(o);t=o.add(i.scaled(e))}}}if(this._points.length<2)return;const f=this._source.properties().childs(),v=new d.CompositeRenderer,x=(e,t)=>({points:[e],text:(0,r.t)(t),color:f.textcolor.value(),horzAlign:"center",vertAlign:"middle",font:_.CHART_FONT_FAMILY,offsetX:0,offsetY:0,bold:f.bold&&f.bold.value(),italic:f.italic&&f.italic.value(),fontsize:f.fontsize.value(),backgroundColor:f.color.value(),backgroundRoundRect:4}),w=(e,t,i)=>({points:[e,t,i],color:"rgba(0, 0, 0, 0)",linewidth:0,backcolor:f.backgroundColor.value(),fillBackground:f.fillBackground.value(),transparency:f.transparency.value()}),m={points:this._points,color:f.color.value(),linewidth:f.linewidth.value(),linestyle:s.LINESTYLE_SOLID,backcolor:"rgba(0, 0, 0, 0)",fillBackground:!1,filled:!1};if(this._polyLineRenderer.setData(m),v.append(this._polyLineRenderer),this._points.length>=5){let i,n,r=!1,a=!1;e?i=e:(i=o,r=!0),t?n=t:(n=c,a=!0);const d={points:[i,n],color:f.color.value(),linewidth:f.linewidth.value(),linestyle:s.LINESTYLE_DOTTED,extendleft:!1,extendright:!1,leftend:h.LineEnd.Normal,rightend:h.LineEnd.Normal};d.extendleft=r,d.extendright=a,this._trendLineRenderer.setData(d),v.append(this._trendLineRenderer);const u=w(o,l,c);this._triangleRendererPoints234.setData(u),v.append(this._triangleRendererPoints234)}if(e){const t=w(e,a,o);this._intersect1Renderer.setData(t),v.append(this._intersect1Renderer)}if(t){const e=w(c,u,t);this._intersect2Renderer.setData(e),v.append(this._intersect2Renderer)}if(this._points.length>=2){const e=x(a,p.leftShoulder);a.y=4){const e=x(l,p.head);l.y=6){const e=x(u,p.rightShoulder);u.y{"use strict";i.r(t),i.d(t,{HighlighterPaneView:()=>s});var n=i(33420),r=i(58979);class s extends r.BrushBasePaneView{_createPolygonRendererData(){const e=this._source.properties().childs();return{points:this._points,color:e.linecolor.value(),linewidth:20,backcolor:"rgba(0, 0, 0, 0)",fillBackground:!1,linestyle:n.LINESTYLE_SOLID,linecap:"round",linejoin:"round",filled:!1,transparency:e.transparency.value()}}}},98827:(e,t,i)=>{"use strict";i.r(t),i.d(t,{HorzLinePaneView:()=>u});var n=i(72927),r=i(10288),s=i(10992),a=i(44896),o=i(29982),l=i(87088),d=i(67857),h=i(54837);const c=[s.PaneCursorType.VerticalResize];class u extends d.LineSourcePaneView{constructor(e,t){ +super(e,t),this._renderer=null,this._labelRenderer=new a.TextRenderer,this._lineRenderer=new o.HorizontalLineRenderer,this._lineRenderer.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT))}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){if(super._updateImpl(e,t),this._renderer=null,0===this._points.length)return;const i=this._source.properties().childs(),s=new l.CompositeRenderer,a={y:this._points[0].y,color:i.linecolor.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value()};this._lineRenderer.setData(a),this._lineRenderer.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT,{snappingPrice:this._source.points()[0].price}));const o=a.linewidth/2+1;let d=a.y<-o||a.y>e+o;if(s.append(this._lineRenderer),i.showLabel.value()&&1===this._points.length&&i.text.value().length>0){const r=i.vertLabelsAlign.value(),a=i.horzLabelsAlign.value();let o=0,l=0;"left"===a?l=3:"right"===a?(l=this._model.timeScale().width(),o=3):l=this._model.timeScale().width()/2;const c={points:[new n.Point(l,this._points[0].y)],text:i.text.value(),color:i.textcolor.value(),vertAlign:r,horzAlign:a,font:h.CHART_FONT_FAMILY,offsetX:o,offsetY:0,bold:i.bold.value(),italic:i.italic.value(),fontsize:i.fontsize.value(),forceTextAlign:!0};this._labelRenderer.setData(c),s.append(this._labelRenderer),d=d&&this._labelRenderer.isOutOfScreen(t,e)}if(!d){if(1===this._points.length){const e=new n.Point(t/2,this._points[0].y);e.data=0,e.square=!0,s.append(this.createLineAnchor({points:[e],pointsCursorType:c},0))}0,this._renderer=s}}}},71250:(e,t,i)=>{"use strict";i.r(t),i.d(t,{HorzRayPaneView:()=>_});var n=i(72927),r=i(87088),s=i(44896),a=i(67857),o=i(5025),l=i(10288),d=i(55430),h=i(21344);class c{constructor(){this._data=null,this._data=null}setData(e){this._data=e}draw(e,t){if(null===this._data||0===this._data.points.length)return;const i=t.pixelRatio,n=t.physicalWidth,r=this._data.points[0].y,s=Math.max(0,this._data.points[0].x),a=Math.max(n,this._data.points[0].x);e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=Math.max(1,Math.floor(this._data.linewidth*i)),void 0!==this._data.linestyle&&(0,o.setLineStyle)(e,this._data.linestyle),(0,d.drawHorizontalLine)(e,Math.round(r*i),Math.round(s*i),Math.round(a*i))}hitTest(e){if(null===this._data||0===this._data.points.length)return null;if(e.x=t?o=o.add((0,n.point)(e+3,0)):(o=(0,n.point)(t,o.y),a=3)}else"center"===t&&(o=(0,n.point)((o.x+this._model.timeScale().width())/2,o.y));const p={points:[o],text:l,color:i.textcolor.value(),vertAlign:e,horzAlign:t,font:c,offsetX:a,offsetY:r,bold:d,italic:h,fontsize:_,forceTextAlign:!0};this._labelRenderer.setData(p),s.append(this._labelRenderer)}this.addAnchors(s),this._renderer=s}}},63245:(e,t,i)=>{"use strict";i.r(t),i.d(t,{IconPaneView:()=>x});var n=i(72927),r=i(51102),s=i(53312),a=i(87088),o=i(71172),l=i(33420),d=i(10992),h=i(6397),c=i(67857),u=i(76553),_=i(16932),p=i(58729),g=i(10288);class f extends p.ScaledPaneRenderer{constructor(e){super(),this._data=null,this._cache=e}setData(e){this._data=e}hitTest(e,t){if(null===this._data)return null;const i=65536*this._data.icon+this._data.size,n=this._cache[i]*this._data.scale,s=(0,r.rotationMatrix)(-this._data.angle);let a=e.subtract(this._data.point);return a=(0,r.transformPoint)(s,a),Math.abs(a.y)<=n/2&&Math.abs(a.x)<=this._data.size/2?new g.HitTestResult(g.HitTestResult.MOVEPOINT):null}_drawImpl(e,t){if(null===this._data)return;const i=String.fromCharCode(this._data.icon);e.font=this._data.size+"px FontAwesome";const n=e.measureText(i).width;e.textBaseline="middle";const r=this._data.point;e.translate(r.x,r.y),e.rotate(this._data.angle-Math.PI/2),e.scale(this._data.scale,1);const s=65536*this._data.icon+this._data.size;e.textAlign=(0,u.isRtl)()?"right":"left";const a=(0,_.calcTextHorizontalShift)(e,n);this._cache[s]=n,this._data.selected&&(e.fillStyle="rgba(80, 80, 80, 0.2)",e.fillRect(-this._cache[s]/2,-this._data.size/2,this._cache[s],this._data.size)),e.fillStyle=this._data.color,e.fillText(i,-this._cache[s]/2+a,0)}}const v=s.colorsPalette["color-cold-gray-500"];class x extends c.LineSourcePaneView{constructor(){super(...arguments),this._cache={},this._dashRenderer=new h.TrendLineRenderer,this._iconRenderer=new f(this._cache),this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._points.length<1)return;const e=new a.CompositeRenderer,t=this._source.properties().childs(),i={point:this._points[0],color:t.color.value(),size:t.size.value(),icon:t.icon.value(),angle:t.angle.value(),scale:t.scale.value(),selected:this.areAnchorsVisible()};this._iconRenderer.setData(i),e.append(this._iconRenderer) +;const s=65536*i.icon+i.size,h=this._cache[s],u=i.size,_=this._points[0],p=t.scale.value(),g=this._source.getAnchorLimit();let f=new n.Point(Math.max(g,u)/2,0),x=new n.Point(0,Math.max(g,p*h)/2);const w=(0,r.rotationMatrix)(t.angle.value());f=(0,r.transformPoint)(w,f),x=(0,r.transformPoint)(w,x);const m=_.add(f);m.data=0;const R=_.subtract(f);R.data=1;const y=_.add(x);y.data=2,y.square=!0;const T=_.subtract(x);if(T.data=3,T.square=!0,this.areAnchorsVisible()){const t={points:[m,R],color:v,linewidth:1,linestyle:l.LINESTYLE_DASHED,extendleft:!1,extendright:!1,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};this._dashRenderer.setData(t),e.append(this._dashRenderer)}const b=(0,c.thirdPointCursorType)(m,R),L=[d.PaneCursorType.Default,d.PaneCursorType.Default,b,b];e.append(this.createLineAnchor({points:[m,R,y,T],pointsCursorType:L},0)),this._renderer=e}}},67857:(e,t,i)=>{"use strict";i.d(t,{thirdPointCursorType:()=>u,LineSourcePaneView:()=>_});var n=i(72927),r=i(53312),s=i(87910),a=i(10288),o=i(73301),l=i(77042),d=i(10992),h=i(16282);const c=r.colorsPalette["color-tv-blue-600"];function u(e,t){const i=t.x-e.x,n=t.y-e.y,r=Math.abs(Math.atan2(i,n));return r>Math.PI/4&&r<3*Math.PI/4?d.PaneCursorType.VerticalResize:d.PaneCursorType.HorizontalResize}class _{constructor(e,t){this._invalidated=!0,this._points=[],this._middlePoint=null,this._selectionRenderers=[],this._lineAnchorRenderers=[],this._source=e,this._model=t}priceToCoordinate(e){const t=this._source.priceScale();if(null===t)return null;const i=this._source.ownerSource(),n=null!==i?i.firstValue():null;return null===n?null:t.priceToCoordinate(e,n)}currentPoint(){const e=this._model.crossHairSource();return new n.Point(e.originX(),e.originY())}anchorColor(){return c}isHoveredSource(){return this._source===this._model.hoveredSource()}isSelectedSource(){return this._model.selection().isSelected(this._source)}isBeingEdited(){return this._model.lineBeingEdited()===this._source}isEditMode(){return!this._model.isSnapshot()}areAnchorsVisible(){return(this.isHoveredSource()&&!this.isLocked()||this.isSelectedSource())&&this.isEditMode()}update(){this._invalidated=!0}isLocked(){return Boolean(this._source.isLocked&&this._source.isLocked())}addAnchors(e,t){let i=this._points;this._model.lineBeingCreated()===this._source&&(i=i.slice(0,-1));const n=i.map((e,t)=>{const i=this._source.points()[t],n=e;return n.snappingPrice=null==i?void 0:i.price,n.snappingIndex=null==i?void 0:i.index,n});e.append(this.createLineAnchor({...null!=t?t:{},points:n},0))}createLineAnchor(e,t){var i;if(this.isLocked()){const i=this._getSelectionRenderer(t);return i.setData({bgColors:this._lineAnchorColors(e.points),points:e.points,visible:this.areAnchorsVisible(),hittestResult:a.HitTestResult.REGULAR,barSpacing:this._model.timeScale().barSpacing()}),i}const n=(0,s.lastMouseOrTouchEventInfo)().isTouch,r=this._getLineAnchorRenderer(t);return r.setData({...e,color:this.anchorColor(),backgroundColors:this._lineAnchorColors(e.points),currentPoint:this.currentPoint(), +linePointBeingEdited:this.isBeingEdited()?this._model.linePointBeingEdited():null,hittestResult:null!==(i=e.hittestResult)&&void 0!==i?i:a.HitTestResult.CHANGEPOINT,radius:n?13:6,strokeWidth:n?2:1,selected:this.isSelectedSource(),selectedStrokeWidth:n?0:3,visible:this.areAnchorsVisible()}),r}_lineAnchorColors(e){const t=(0,h.ensureNotNull)(this._model.paneForSource(this._source)).height();return e.map(e=>this._model.backgroundColorAtYPercentFromTop(e.y/t))}_updateImpl(e,t){this._points=[];if(this._model.timeScale().isEmpty())return;if(!this._validatePriceScale())return;const i=this._source.points();for(let e=0;e{"use strict";i.r(t),i.d(t,{LineToolBeingCreatedPaneView:()=>c});var n=i(53312),r=i(67857),s=i(33420),a=i(71172),o=i(87088),l=i(69819),d=i(6397);const h=n.colorsPalette["color-cold-gray-500"];class c extends r.LineSourcePaneView{constructor(){super(...arguments),this._lineRenderer1=new l.VerticalLineRenderer,this._lineRenderer2=new l.VerticalLineRenderer,this._medianRenderer=new d.TrendLineRenderer,this._renderer=null}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null;const e=this._getPoints();if(e.length<1)return;this._renderer=new o.CompositeRenderer;const[t,i]=e;this._lineRenderer1.setData({x:t.x,color:h,linewidth:1,linestyle:s.LINESTYLE_SOLID}),this._renderer.append(this._lineRenderer1),e.length>1&&(this._lineRenderer2.setData({x:i.x,color:h,linewidth:1,linestyle:s.LINESTYLE_SOLID}),this._medianRenderer.setData({points:[t,i],color:h,linewidth:1,linestyle:s.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:a.LineEnd.Normal,rightend:a.LineEnd.Normal}),this._renderer.append(this._lineRenderer2),this._renderer.append(this._medianRenderer))}}},44993:(e,t,i)=>{"use strict";i.d(t,{LineToolPaneViewWithLevelledTextCache:()=>o});var n=i(16282),r=i(67857),s=i(57583),a=i(8356);class o extends r.LineSourcePaneView{constructor(e,t){super(e,t),this._cache=null,this._cacheDrawParams=null,this._cacheInvalidated=!0}getCacheCanvas(e){return this._createCacheIfRequired(e),(0,n.ensureNotNull)(this._cache).canvas()}getCacheRects(e,t){ +return this._createCacheIfRequired(e),null}destroy(){var e;null===(e=this._cache)||void 0===e||e.destroy()}_updateImpl(){super._updateImpl(),this._cacheInvalidated=!0}_createCache(e){return new s.LevelledLineToolLabelsCache(this._source.properties().fibLevelsBasedOnLogScale,this._source.levelsCount(),e)}_createCacheIfRequired(e){var t;null!==this._cache&&null!==this._cacheDrawParams&&(0,a.areEqualPaneRenderParams)(e,this._cacheDrawParams)||(null===(t=this._cache)||void 0===t||t.destroy(),this._cache=this._createCache(e),this._cacheState=this._cache.updateSource(this._source),this._cacheDrawParams=e,this._cacheInvalidated=!1),this._cacheInvalidated&&(this._cacheState=this._cache.updateSource(this._source),this._cacheInvalidated=!1)}}},50093:(e,t,i)=>{"use strict";i.r(t),i.d(t,{NotePaneView:()=>x});var n=i(67857),r=i(87088),s=i(73301),a=i(10288),o=i(16282),l=i(44896),d=i(50968),h=i(76553),c=i(16932),u=i(8356),_=i(72927),p=i(71044);class g{constructor(e){this._data=null,this._sourceCanvas=null,this._translate=new _.Point(0,0),this._renderParams=e}destroy(){var e;null===(e=this._sourceCanvas)||void 0===e||e.remove()}renderParams(){return this._renderParams}update(e){var t,i;t=this._data,i=e,(null===t||t.markerColor!==i.markerColor||t.borderColor!==i.borderColor||t.width!==i.width||t.height!==i.height)&&this._createSource(e.width,e.height,e.markerColor),this._data=e}drawOn(e){const t=(0,o.ensureNotNull)(this._data),i=new _.Point(Math.round(t.point.x),Math.round(t.point.y)).add(this._translate);e.drawImage((0,o.ensureNotNull)(this._sourceCanvas),Math.round(i.x*this._renderParams.pixelRatio),Math.round(i.y*this._renderParams.pixelRatio),Math.round(t.width*this._renderParams.pixelRatio),Math.round(t.height*this._renderParams.pixelRatio))}hasPoint(e){const t=(0,o.ensureNotNull)(this._data),i=t.point.add(this._translate),n=new _.Point(t.point.x-this._translate.x,t.point.y);return(0,p.pointInBox)(e,(0,_.box)(i,n))}_createSource(e,t,i){this._sourceCanvas=(0,c.createDisconnectedCanvas)(document,new c.Size(e,t),this._renderParams.pixelRatio),this._translate=new _.Point(-e/2,.5-t),this._translate.x%1==0&&(this._translate=new _.Point(this._translate.x+.5,this._translate.y));const n=(0,o.ensureNotNull)(this._sourceCanvas.getContext("2d"));(0,c.drawScaled)(n,this._renderParams.pixelRatio,()=>{const r=.6*e;n.fillStyle=i,n.beginPath(),n.moveTo(e/2,t),n.quadraticCurveTo(e,e/1.15,e,e/2),n.arc(e/2,e/2,e/2,0,Math.PI,!0),n.quadraticCurveTo(0,e/1.15,e/2,t),n.fill(),n.globalCompositeOperation="destination-out",n.beginPath(),n.moveTo((e-r)/2,e/2),n.arc(e/2,e/2,r/2,0,2*Math.PI),n.fill()})}}class f{constructor(){this._source=null,this._data=null}setData(e){this._data=e,this._source&&this._source.update(e)}draw(e,t){var i;if(null===this._data)return;null!==this._source&&(0,u.areEqualPaneRenderParams)(this._source.renderParams(),t)||(null===(i=this._source)||void 0===i||i.destroy(),this._source=new g(t),this._source.update(this._data));this._source.drawOn(e),this._data.tooltipVisible&&this._drawTooltipOn(e,t)}hitTest(e){ +return null!==this._data&&null!==this._source&&this._source.hasPoint(e)?new a.HitTestResult(a.HitTestResult.MOVEPOINT):null}_drawTooltipOn(e,t){e.save(),e.translate(.5,.5);const i=(0,o.ensureNotNull)(this._data),n=String(i.text).replace(/^\s+|\s+$/g,"");e.font=(i.bold?"bold ":"")+(i.italic?"italic ":"")+i.fontSize+"px "+i.font;const r=i.tooltipWidth-2*i.tooltipPadding,s=(0,l.wordWrap)(n,e.font,r),a=i.point,u=i.tooltipLineSpacing;let _=i.tooltipWidth,p=s.length*i.fontSize+2*i.tooltipPadding;s.length>1&&(p+=(s.length-1)*u);let g=Math.round(a.x-_/2),f=Math.round(a.y-i.height-p-8);const v=a.x<20||a.x+20>i.vpWidth;let x=v?null:"top",w=v?0:Math.round(a.x);f<10?f=a.y+13:x="bottom",g<10?g+=Math.abs(g-10):g+_+10>i.vpWidth&&(g-=g+_+10-i.vpWidth),e.fillStyle=(0,d.generateColor)(i.backgroundColor,i.backgroundTransparency),e.strokeStyle=i.borderColor,e.lineWidth=1,e.beginPath();const m=Math.round(g*t.pixelRatio),R=Math.round(f*t.pixelRatio);w=Math.round(w*t.pixelRatio),p=Math.round(p*t.pixelRatio),_=Math.round(_*t.pixelRatio);const y=Math.round(7*t.pixelRatio);e.moveTo(m,R),v||"top"!==x||(e.lineTo(w-y,R),e.lineTo(w,R-y),e.lineTo(w+y,R)),e.lineTo(m+_,R),e.lineTo(m+_,R+p),v||"bottom"!==x||(e.lineTo(w+y,R+p),e.lineTo(w,R+p+y),e.lineTo(w-y,R+p)),e.lineTo(m,R+p),e.closePath(),e.fill(),e.stroke(),e.textBaseline="middle",e.fillStyle=i.textColor,e.textAlign=(0,h.isRtl)()?"right":"left";const T=(0,c.calcTextHorizontalShift)(e,r),b=g+i.tooltipPadding+T;let L=f+i.tooltipPadding+i.fontSize/2;(0,c.drawScaled)(e,t.pixelRatio,()=>{for(let t=0;t{"use strict";i.r(t),i.d(t,{OrderPaneView:()=>v}) +;var n=i(72927),r=i(67857),s=i(87088),a=i(79881),o=i(14768),l=i(5025),d=i(58729),h=i(10288),c=i(22675),u=i(55752);const _=(0,a.t)("Modify Order"),p=(0,a.t)("Cancel Order");class g extends d.ScaledPaneRenderer{constructor(e){super(),this._data=null,this._cache={},this._data=null,this._adapter=e}setData(e){this._data=e}hitTest(e,t){if(null===this._data||0===this._data.points.length)return null;const i=this._cache;if(e.yi.bottom)return null;if(this._adapter.getBlocked()&&e.x>=i.left&&e.x=i.left&&e.x=i.bodyRight&&e.x=i.quantityRight&&e.x0){ +const t=this._points[0].y,i=e-3.5-1,r=this._adapter.hasMoveCallback()?h.HitTestResult.MOVEPOINT:h.HitTestResult.REGULAR,s=[new n.Point(i,t)];this._selectionData={barSpacing:this._model.timeScale().barSpacing(),points:s,bgColors:this._lineAnchorColors(s),hittestResult:r,visible:!0}}this._orderRenderer.setData({points:this._points}),this._selectionRenderer.setData(this._selectionData)}}},98906:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ParallelChannelPaneView:()=>d});var n=i(72927),r=i(10992),s=i(87088),a=i(21498),o=i(67857);const l=[r.PaneCursorType.Default,r.PaneCursorType.Default,r.PaneCursorType.Default,r.PaneCursorType.Default,r.PaneCursorType.VerticalResize,r.PaneCursorType.VerticalResize];class d extends o.LineSourcePaneView{constructor(){super(...arguments),this._channelRenderer=new a.ParallelChannelRenderer,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null;const e=this._source.priceScale();if(!e||e.isEmpty())return;if(0===this._source.points().length)return;let t=null,i=null;if(3===this._points.length){const e=this._points[0],r=this._points[1],s=this._points[2].y-this._points[0].y;t=e.add((0,n.point)(0,s)),i=r.add((0,n.point)(0,s))}if(this._points.length<=1)return;const r=this._source.properties(),a={points:this._points.length>2&&null!==t&&null!==i?[this._points[0],this._points[1],t,i]:[this._points[0],this._points[1]],color:r.childs().linecolor.value(),linewidth:r.childs().linewidth.value(),linestyle:r.childs().linestyle.value(),extendleft:r.childs().extendLeft.value(),extendright:r.childs().extendRight.value(),fillBackground:r.childs().fillBackground.value(),backcolor:r.childs().backgroundColor.value(),transparency:r.childs().transparency.value(),showMidline:r.childs().showMidline.value(),midlinewidth:r.childs().midlinewidth.value(),midlinestyle:r.childs().midlinestyle.value(),midcolor:r.childs().midlinecolor.value(),hittestOnBackground:!0};this._channelRenderer.setData(a);const o=new s.CompositeRenderer;o.append(this._channelRenderer);const d=[];if(this._points[0]&&d.push(this._points[0]),this._points[1]&&d.push(this._points[1]),t&&i){const e=t;e.data=2,d.push(e);const n=i;n.data=3,d.push(n);const r=t.add(i).scaled(.5);r.data=4,r.square=!0,d.push(r);const s=d[0].add(d[1]).scaled(.5);s.data=5,s.square=!0,d.push(s)}const h=3===this._points.length&&!t;this._model.lineBeingCreated()!==this._source||h||(d.pop(),d.pop()),o.append(this.createLineAnchor({points:d,pointsCursorType:l},0)),this._renderer=o}}},71544:(e,t,i)=>{"use strict";i.r(t),i.d(t,{PathPaneView:()=>a});var n=i(59943),r=i(87088),s=i(67857);class a extends s.LineSourcePaneView{constructor(e,t){super(e,t),this._polygonRenderer=new n.PolygonRenderer,this._renderer=new r.CompositeRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer.clear();const e=this._source.properties().childs(),t={points:this._points,color:e.lineColor.value(),linewidth:e.lineWidth.value(), +linestyle:e.lineStyle.value(),leftend:e.leftEnd.value(),rightend:e.rightEnd.value(),filled:!1,backcolor:"",fillBackground:!1,transparency:0};this._polygonRenderer.setData(t),this._renderer.append(this._polygonRenderer),this.addAnchors(this._renderer)}}},24425:(e,t,i)=>{"use strict";i.r(t),i.d(t,{PitchfanLinePaneView:()=>d});var n=i(10288),r=i(16758),s=i(87088),a=i(71172),o=i(6397),l=i(67857);class d extends l.LineSourcePaneView{constructor(){super(...arguments),this._medianRenderer=new o.TrendLineRenderer,this._sideRenderer=new o.TrendLineRenderer,this._renderer=null,this._medianPoint=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,0===this._points.length)return;if(3===this._points.length?(this._medianPoint=this._points[1].add(this._points[2]).scaled(.5),this._medianPoint.data=3):2===this._points.length?(this._medianPoint=this._points[1].clone(),this._medianPoint.data=3):(this._medianPoint=this._points[0].clone(),this._medianPoint.data=3),this._points.length<2)return;if(!this._medianPoint)return;const e=new s.CompositeRenderer,t=this._source.properties().childs(),i=t.median.childs(),l={points:[this._points[0],this._medianPoint],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:!1,extendright:!0,leftend:a.LineEnd.Normal,rightend:a.LineEnd.Normal};if(this._medianRenderer.setData(l),e.append(this._medianRenderer),this._points.length<3)return this.addAnchors(e),void(this._renderer=e);const d={points:[this._points[1],this._points[2]],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:!1,extendright:!1,leftend:a.LineEnd.Normal,rightend:a.LineEnd.Normal};this._sideRenderer.setData(d),e.append(this._sideRenderer);let h=0;const c=this._points[2].subtract(this._points[1]).scaled(.5),u=t.fillBackground.value(),_=t.transparency.value();for(let t=0;t<=8;t++){const i="level"+t,s=this._source.properties().child(i);if(s.childs().visible.value()){const i=this._medianPoint.addScaled(c,s.childs().coeff.value()),l=this._medianPoint.addScaled(c,-s.childs().coeff.value());if(u){{const t={p1:this._points[0],p2:i,p3:this._points[0],p4:this._medianPoint.addScaled(c,h),color:s.childs().color.value(),transparency:_,hittestOnBackground:!0,extendLeft:!1},n=new r.ChannelRenderer;n.setData(t),e.append(n)}{const t={p1:this._points[0],p2:l,p3:this._points[0],p4:this._medianPoint.addScaled(c,-h),color:s.childs().color.value(),transparency:_,hittestOnBackground:!0,extendLeft:!1},i=new r.ChannelRenderer;i.setData(t),e.append(i)}}h=s.childs().coeff.value();{const r={points:[this._points[0],i],color:s.childs().color.value(),linewidth:s.childs().linewidth.value(),linestyle:s.childs().linestyle.value(),extendleft:!1,extendright:!0,leftend:a.LineEnd.Normal,rightend:a.LineEnd.Normal},l=new o.TrendLineRenderer;l.setData(r),l.setHitTest(new n.HitTestResult(n.HitTestResult.MOVEPOINT,void 0,t)),e.append(l)}{const i={points:[this._points[0],l],color:s.childs().color.value(), +linewidth:s.childs().linewidth.value(),linestyle:s.childs().linestyle.value(),extendleft:!1,extendright:!0,leftend:a.LineEnd.Normal,rightend:a.LineEnd.Normal},r=new o.TrendLineRenderer;r.setData(i),r.setHitTest(new n.HitTestResult(n.HitTestResult.MOVEPOINT,void 0,t)),e.append(r)}}}this.addAnchors(e),this._renderer=e}}},71161:(e,t,i)=>{"use strict";i.r(t),i.d(t,{PitchforkLinePaneView:()=>h,SchiffPitchforkLinePaneView:()=>c,SchiffPitchfork2LinePaneView:()=>u,InsidePitchforkLinePaneView:()=>_});var n=i(72927),r=i(10288),s=i(16758),a=i(87088),o=i(71172),l=i(6397),d=i(67857);class h extends d.LineSourcePaneView{constructor(){super(...arguments),this._medianRenderer=new l.TrendLineRenderer,this._sideRenderer=new l.TrendLineRenderer,this._renderer=null,this._medianPoint=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null,0!==this._points.length&&(3===this._points.length?(this._medianPoint=this._points[1].add(this._points[2]).scaled(.5),this._medianPoint.data=3):2===this._points.length?(this._medianPoint=this._points[1].clone(),this._medianPoint.data=3):(this._medianPoint=this._points[0].clone(),this._medianPoint.data=3),this._updateRenderer())}_updateRenderer(){if(this._points.length<2)return;if(!this._medianPoint)return;const e=this._source.properties(),t=e.childs().median.childs(),i=new a.CompositeRenderer,n={points:[this._points[0],this._medianPoint],color:t.color.value(),linewidth:t.linewidth.value(),linestyle:t.linestyle.value(),extendleft:e.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};if(this._medianRenderer.setData(n),i.append(this._medianRenderer),this._points.length<3)return this.addAnchors(i),void(this._renderer=i);const d={points:[this._points[1],this._points[2]],color:t.color.value(),linewidth:t.linewidth.value(),linestyle:t.linestyle.value(),extendleft:!1,extendright:!1,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};this._sideRenderer.setData(d),i.append(this._sideRenderer);const h=this._points[2].subtract(this._points[1]).scaled(.5),c=this._medianPoint.subtract(this._points[0]);let u=0;const _=e.childs().fillBackground.value(),p=e.childs().transparency.value();for(let t=0;t<=8;t++){const n="level"+t,a=e.childs()[n];if(a.childs().visible.value()){const n=this._medianPoint.addScaled(h,a.childs().coeff.value()),d=n.add(c),g=this._medianPoint.addScaled(h,-a.childs().coeff.value()),f=g.add(c);if(_){{const t=this._medianPoint.addScaled(h,u),r={p1:n,p2:d,p3:t,p4:t.add(c),color:a.childs().color.value(),transparency:p,hittestOnBackground:!0,extendLeft:e.childs().extendLines.value()},o=new s.ChannelRenderer;o.setData(r),i.append(o)}{const t=this._medianPoint.addScaled(h,-u),n={p1:g,p2:f,p3:t,p4:t.add(c),color:a.childs().color.value(),transparency:p,hittestOnBackground:!0,extendLeft:e.childs().extendLines.value()},r=new s.ChannelRenderer;r.setData(n),i.append(r)}}u=a.childs().coeff.value();const v={points:[n,d],color:a.childs().color.value(),linewidth:a.childs().linewidth.value(), +linestyle:a.childs().linestyle.value(),extendleft:e.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal},x=new l.TrendLineRenderer;x.setData(v),x.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT,void 0,t)),i.append(x);const w={points:[g,f],color:a.childs().color.value(),linewidth:a.childs().linewidth.value(),linestyle:a.childs().linestyle.value(),extendleft:e.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal},m=new l.TrendLineRenderer;m.setData(w),m.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT,void 0,t)),i.append(m)}}this.addAnchors(i),this._renderer=i}}class c extends h{constructor(){super(...arguments),this._modifiedBase=null,this._backSideRenderer=new l.TrendLineRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateRenderer(){if(this._points.length<2)return;this._calcMofifiedBase();const e=this._source.properties(),t=new a.CompositeRenderer,i=e.childs().median.childs();{const e={points:[this._points[0],this._points[1]],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:!1,extendright:!1,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};if(this._backSideRenderer.setData(e),t.append(this._backSideRenderer),!this._medianPoint||!this._modifiedBase)return this.addAnchors(t),void(this._renderer=t)}{const n={points:[this._modifiedBase,this._medianPoint],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:e.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};if(this._medianRenderer.setData(n),t.append(this._medianRenderer),this._points.length<3)return this.addAnchors(t),void(this._renderer=t)}{const e={points:[this._points[1],this._points[2]],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:!1,extendright:!1,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};this._sideRenderer.setData(e),t.append(this._sideRenderer)}{const i=this._points[2].subtract(this._points[1]).scaled(.5),n=this._medianPoint.subtract(this._modifiedBase);let a=0;const d=e.childs().fillBackground.value(),h=e.childs().transparency.value();for(let c=0;c<=8;c++){const u="level"+c,_=e.child(u);if(_.childs().visible.value()){const u=this._medianPoint.addScaled(i,_.childs().coeff.value()),p=u.add(n),g=this._medianPoint.addScaled(i,-_.childs().coeff.value()),f=g.add(n);if(d){const r=this._medianPoint.addScaled(i,a);{const i={p1:u,p2:p,p3:r,p4:r.add(n),color:_.childs().color.value(),transparency:h,hittestOnBackground:!0,extendLeft:e.childs().extendLines.value()},a=new s.ChannelRenderer;a.setData(i),t.append(a)}{const r=this._medianPoint.addScaled(i,-a),o={p1:g,p2:f,p3:r,p4:r.add(n),color:_.childs().color.value(),transparency:h,hittestOnBackground:!0,extendLeft:e.childs().extendLines.value()},l=new s.ChannelRenderer;l.setData(o),t.append(l)}}a=_.childs().coeff.value();const v={points:[u,p],color:_.childs().color.value(), +linewidth:_.childs().linewidth.value(),linestyle:_.childs().linestyle.value(),extendleft:e.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal},x=new l.TrendLineRenderer;x.setData(v),x.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT,void 0,c)),t.append(x);const w={points:[g,f],color:_.childs().color.value(),linewidth:_.childs().linewidth.value(),linestyle:_.childs().linestyle.value(),extendleft:e.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal},m=new l.TrendLineRenderer;m.setData(w),m.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT,void 0,c)),t.append(m)}}}this.addAnchors(t),this._renderer=t}_calcMofifiedBase(){this._points.length>1&&(this._modifiedBase=this._points[0].add(this._points[1]).scaled(.5))}}class u extends c{_calcMofifiedBase(){if(this._points.length>2){const e=this._points[0].x,t=.5*(this._points[0].y+this._points[1].y),i=new n.Point(e,t);this._modifiedBase=i}}}class _ extends h{constructor(){super(...arguments),this._backSideRenderer=new l.TrendLineRenderer,this._centerRenderer=new l.TrendLineRenderer,this._modifiedBase=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateRenderer(){if(this._points.length>1&&(this._modifiedBase=this._points[0].add(this._points[1]).scaled(.5)),this._points.length<2)return;const e=new a.CompositeRenderer;if(!this._medianPoint||!this._modifiedBase)return void this.addAnchors(e);const t=this._source.properties(),i=t.childs().median.childs();if(3===this._points.length){const t={points:[this._modifiedBase,this._points[2]],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:!1,extendright:!1,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};this._medianRenderer.setData(t),e.append(this._medianRenderer)}{const t={points:[this._points[0],this._points[1]],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:!1,extendright:!1,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};if(this._backSideRenderer.setData(t),e.append(this._backSideRenderer),this._points.length<3)return this.addAnchors(e),void(this._renderer=e)}{const t={points:[this._points[1],this._points[2]],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:!1,extendright:!1,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};this._sideRenderer.setData(t),e.append(this._sideRenderer)}{const n=this._points[2].subtract(this._points[1]).scaled(.5),a=this._points[2].subtract(this._modifiedBase);let d=0;const h=t.childs().fillBackground.value(),c=t.childs().transparency.value(),u={points:[this._medianPoint,this._medianPoint.add(a)],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value(),extendleft:t.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal};this._centerRenderer.setData(u),e.append(this._centerRenderer);for(let i=0;i<=8;i++){const u="level"+i,_=t.child(u).childs();if(_.visible.value()){ +const u=this._medianPoint.addScaled(n,_.coeff.value()),p=u.add(a),g=this._medianPoint.addScaled(n,-_.coeff.value()),f=g.add(a);if(h){{const i=this._medianPoint.addScaled(n,d),r={p1:u,p2:p,p3:i,p4:i.add(a),color:_.color.value(),transparency:c,hittestOnBackground:!0,extendLeft:t.childs().extendLines.value()},o=new s.ChannelRenderer;o.setData(r),e.append(o)}{const i=this._medianPoint.addScaled(n,-d),r={p1:g,p2:f,p3:i,p4:i.add(a),color:_.color.value(),transparency:c,hittestOnBackground:!0,extendLeft:t.childs().extendLines.value()},o=new s.ChannelRenderer;o.setData(r),e.append(o)}}d=_.coeff.value();const v={points:[u,p],color:_.color.value(),linewidth:_.linewidth.value(),linestyle:_.linestyle.value(),extendleft:t.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal},x=new l.TrendLineRenderer;x.setData(v),x.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT,void 0,i)),e.append(x);const w={points:[g,f],color:_.color.value(),linewidth:_.linewidth.value(),linestyle:_.linestyle.value(),extendleft:t.childs().extendLines.value(),extendright:!0,leftend:o.LineEnd.Normal,rightend:o.LineEnd.Normal},m=new l.TrendLineRenderer;m.setData(w),m.setHitTest(new r.HitTestResult(r.HitTestResult.MOVEPOINT,void 0,i)),e.append(m)}}}this.addAnchors(e),this._renderer=e}}},177:(e,t,i)=>{"use strict";i.r(t),i.d(t,{PolylinePaneView:()=>a});var n=i(59943),r=i(87088),s=i(67857);class a extends s.LineSourcePaneView{constructor(e,t){super(e,t),this._polygonRenderer=new n.PolygonRenderer,this._renderer=new r.CompositeRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer.clear();const e=this._source.properties().childs(),t={points:this._points,color:e.linecolor.value(),linewidth:e.linewidth.value(),linestyle:e.linestyle.value(),filled:e.filled.value(),backcolor:e.backgroundColor.value(),fillBackground:e.fillBackground.value(),transparency:e.transparency.value()};this._polygonRenderer.setData(t),this._renderer.append(this._polygonRenderer),this.addAnchors(this._renderer)}}},44622:(e,t,i)=>{"use strict";var n=i(79881).t,r=i(67857).LineSourcePaneView,s=i(55752),a=i(10288).HitTestResult,o=i(14768).splitThousands,l=i(76553),d=i(22675).appendEllipsis,h=i(58729).ScaledPaneRenderer;class c extends h{constructor(e,t){super(),this._data=null,this._cache=e,this._adapter=t}setData(e){this._data=e}_height(){return Math.max(20,1+Math.max(s.fontHeight(this._adapter.getBodyFont()),s.fontHeight(this._adapter.getQuantityFont())))}_bodyWidth(e){if(0===this._adapter.getText().length)return 0;e.save(),e.font=this._adapter.getBodyFont();var t=e.measureText(this._adapter.getText()).width;return e.restore(),Math.round(10+t)}_getQuantity(){var e=this._adapter.getQuantity();return isNaN(e)?e:o(this._adapter.getQuantity()," ")}_quantityWidth(e){if(0===this._getQuantity().length)return 0;e.save(),e.font=this._adapter.getQuantityFont();var t=e.measureText(this._getQuantity()).width;return e.restore(),Math.round(Math.max(this._height(),10+t))} +_reverseButtonWidth(){return this._adapter.isOnReverseCallbackPresent()?this._height():0}_closeButtonWidth(){return this._adapter.isOnCloseCallbackPresent()?this._height():0}_drawLines(e,t,i,n,r){e.save(),e.strokeStyle=this._adapter.getLineColor(),e.lineStyle=this._adapter.getLineStyle(),e.lineWidth=this._adapter.getLineWidth(),CanvasEx.drawLine(e,i,n,r,n),this._adapter.getExtendLeft()&&CanvasEx.drawLine(e,0,n,t,n),e.restore()}_drawBody(e,t,i){e.strokeStyle=this._adapter.getBodyBorderColor(),e.fillStyle=this._adapter.getBodyBackgroundColor();var n=this._bodyWidth(e),r=this._height();e.fillRect(t+.5,i+.5,n-1,r-1),e.strokeRect(t,i,n,r)}_drawBodyText(e,t,i){e.save(),e.textAlign="center",e.textBaseline="middle",e.font=this._adapter.getBodyFont(),e.fillStyle=this._adapter.getBodyTextColor();var n=t+this._bodyWidth(e)/2,r=i+this._height()/2;e.fillText(this._adapter.getText(),n,r),e.restore()}_drawQuantity(e,t,i){e.strokeStyle=this._adapter.getQuantityBorderColor(),e.fillStyle=this._adapter.getQuantityBackgroundColor();var n=this._quantityWidth(e),r=this._height();e.fillRect(t+.5,i+.5,n-1,r-1),e.strokeRect(t,i,n,r)}_drawQuantityText(e,t,i){e.save(),e.textAlign="center",e.textBaseline="middle",e.font=this._adapter.getQuantityFont(),e.fillStyle=this._adapter.getQuantityTextColor();var n=t+this._quantityWidth(e)/2,r=i+this._height()/2;e.fillText(l.startWithLTR(this._getQuantity()+""),n,r),e.restore()}_drawReverseButton(e,t,i){e.save(),e.strokeStyle=this._adapter.getReverseButtonBorderColor(),e.fillStyle=this._adapter.getReverseButtonBackgroundColor();var n=this._reverseButtonWidth(),r=this._height();e.fillRect(t+.5,i+.5,n-1,r-1),e.strokeRect(t,i,n,r),e.strokeStyle=this._adapter.getReverseButtonIconColor();var s=function(e,t){CanvasEx.setLineStyle(e,CanvasEx.LINESTYLE_SOLID),CanvasEx.drawLine(e,0,0,0,t),CanvasEx.drawLine(e,-1,1,1,1),CanvasEx.drawLine(e,-2,2,2,2)},a=t+Math.round((this._reverseButtonWidth()-6)/2),o=i+5;e.save(),e.translate(a,o),s(e,10),e.translate(6,10),e.rotate(Math.PI),s(e,10),e.restore(),this._adapter._blocked&&(e.fillStyle="rgba(140, 140, 140, 0.75)",e.fillRect(t+.5,i+.5,n-1,r-1)),e.restore()}_drawCloseButton(e,t,i){e.save(),e.strokeStyle=this._adapter.getCloseButtonBorderColor(),e.fillStyle=this._adapter.getCloseButtonBackgroundColor();var n=this._closeButtonWidth(),r=this._height();e.fillRect(t+.5,i+.5,n-1,r-1),e.strokeRect(t,i,n,r);var s=t+n,a=i+r;e.strokeStyle=this._adapter.getCloseButtonIconColor();var o=(this._closeButtonWidth()-8)/2,l=(this._height()-8)/2;CanvasEx.drawPoly(e,[{x:t+o,y:i+l},{x:s-o,y:a-l}],!0),CanvasEx.drawPoly(e,[{x:s-o,y:i+l},{x:t+o,y:a-l}],!0),this._adapter._blocked&&(e.fillStyle="rgba(140, 140, 140, 0.75)",e.fillRect(t+.5,i+.5,n-1,r-1)),e.restore()}_drawImpl(e){if(null!==this._data&&this._data.points&&!(this._data.points.length<1)){ +var t=this._data.width,i=this._bodyWidth(e),n=this._quantityWidth(e),r=this._reverseButtonWidth(e),s=i+n+r+this._closeButtonWidth(),a=t-s,o=Math.max(this._adapter.getLineLength()/100*t,1),l=Math.round(t-Math.min(a,o)),d=l-s,h=Math.round(this._data.points[0].y),c=Math.round(h-(this._height()+1)/2);this._cache.bodyRight=d+i,this._cache.quantityRight=this._cache.bodyRight+n,this._cache.reverseButtonRight=this._cache.quantityRight+r,this._cache.top=c,this._cache.bottom=c+this._height(),this._cache.left=d,this._cache.right=l,this._drawLines(e,d,l,h,t),0!==i&&(this._drawBody(e,d,c),this._drawBodyText(e,d,c)),0!==n&&(this._drawQuantity(e,this._cache.bodyRight,c),this._drawQuantityText(e,this._cache.bodyRight,c)),0!==r&&this._drawReverseButton(e,this._cache.quantityRight,c),0!==this._closeButtonWidth()&&this._drawCloseButton(e,this._cache.reverseButtonRight,c)}}hitTest(e){return null===this._data||0===this._data.points.length||e.ythis._cache.bottom||e.x=this._cache.bodyRight&&e.x=this._cache.quantityRight&&e.x=this._cache.reverseButtonRight&&e.x{"use strict" +;var n=i(72927).Point,r=i(79881).t,s=i(67857).LineSourcePaneView,a=i(35001).Interval,o=i(10288).HitTestResult,l=i(87088).CompositeRenderer,d=i(27867).getImage,h=i(57968),c=i(62159).PercentageFormatter,u=i(54041).DateFormatter,_=i(18675).TimeFormatter,p=i(1953).TimeSpanFormatter,g=i(50968),f=i(84888),v=i(16932).calcTextHorizontalShift,x=i(76553).isRtl,w=i(55430).drawRoundRect,m=i(73395).makeFont,R=i(58729).ScaledPaneRenderer,y=i(76553),T=y.forceLTRStr,b=y.startWithLTR,L=i(54837).CHART_FONT_FAMILY;class S extends R{constructor(){super(),this._data=null,this._font=L,this._targetFontSize1=14,this._targetFontSize2=11,this._sourceFontSize1=12,this._sourceFontSize2=10,this._arrowOffset=6,this._arrowWidth=5,this._arrowHeight=5,this._radius=3,this._sourceWidth=void 0,this._sourceHeight=void 0,this._sourceRectLeftOffset=void 0,this._targetWidth=void 0,this._targetHeight=void 0,this._targetRectLeftOffset=void 0}setData(e){this._data=e}drawBalloon(e,t,i,r,s,a){var o=a||20;if(e.beginPath(),"down"===s){var l=new n(t.x-o,t.y-this._arrowOffset-this._arrowHeight-r);return e.moveTo(l.x+this._radius,l.y),e.lineTo(l.x+i-this._radius,l.y),e.arcTo(l.x+i,l.y,l.x+i,l.y+this._radius,this._radius),e.lineTo(l.x+i,l.y+r-this._radius),e.arcTo(l.x+i,l.y+r,l.x+i-this._radius,l.y+r,this._radius),e.lineTo(l.x+o+this._arrowWidth,l.y+r),e.lineTo(l.x+o,l.y+r+this._arrowHeight),e.lineTo(l.x+o-this._arrowWidth,l.y+r),e.lineTo(l.x+this._radius,l.y+r),e.arcTo(l.x,l.y+r,l.x,l.y+r-this._radius,this._radius),e.lineTo(l.x,l.y+this._radius),e.arcTo(l.x,l.y,l.x+this._radius,l.y,this._radius),l}var d=new n(t.x-o,t.y+this._arrowOffset+this._arrowHeight+r);return e.moveTo(d.x+this._radius,d.y),e.lineTo(d.x+i-this._radius,d.y),e.arcTo(d.x+i,d.y,d.x+i,d.y-this._radius,this._radius),e.lineTo(d.x+i,d.y-r+this._radius),e.arcTo(d.x+i,d.y-r,d.x+i-this._radius,d.y-r,this._radius),e.lineTo(d.x+o+this._arrowWidth,d.y-r),e.lineTo(d.x+o,d.y-r-this._arrowHeight),e.lineTo(d.x+o-this._arrowWidth,d.y-r),e.lineTo(d.x+this._radius,d.y-r),e.arcTo(d.x,d.y-r,d.x,d.y-r+this._radius,this._radius),e.lineTo(d.x,d.y-this._radius),e.arcTo(d.x,d.y,d.x+this._radius,d.y,this._radius),new n(d.x,d.y-r)}drawTargetLabel(e){e.save(),e.translate(.5,.5);var t=m(this._targetFontSize1,this._font,"normal"),i=m(this._targetFontSize2,this._font,"normal"),n=this._data.targetLine1,s=this._data.targetLine2,a=this._data.targetLine3,o=this._data.targetLine4;e.font=t;var l=e.measureText(n).width,d=e.measureText(s).width,h=e.measureText(" ").width;e.font=i;var c=e.measureText(a).width,u=e.measureText(o).width,_=e.measureText(" ").width,p=this._data.clockWhite&&this._data.clockWhite.width||0;this._targetWidth=Math.max(l+d+h,c+u+p+2*_)+8+4,this._targetHeight=this._targetFontSize1+this._targetFontSize2+9+4;var R=this._data.points[1],y=R.x+this._targetWidth-e.canvas.width+5;this._targetRectLeftOffset=Math.max(20,Math.min(this._targetWidth-15,y));var T="up"===this._data.direction?"down":"up",b=this.drawBalloon(e,R,this._targetWidth,this._targetHeight,T,this._targetRectLeftOffset) +;e.fillStyle=g.generateColor(this._data.targetBackColor,this._data.transparency),e.fill(),e.lineWidth=2,e.strokeStyle=g.generateColor(this._data.targetStrokeColor,this._data.transparency),e.stroke();e.beginPath(),e.arc(R.x,R.y,3,0,2*Math.PI,!1),e.fillStyle=this._data.centersColor,e.fill(),e.textBaseline="top",e.fillStyle=this._data.targetTextColor;var L=2+b.x+4,S=2+b.y+3,P=this._targetWidth-8-4;e.font=t,e.textAlign=x()?"right":"left";var C=v(e,P-d-h);e.fillText(n,L+C,S);var M=v(e,P-l);e.fillText(s,L+l+h+M,S),e.font=i;var I=S+this._targetFontSize1+3,N=v(e,P-u-p-_);e.fillText(a,L+N,I);var D=v(e,P-c-_-p-u);this._data.clockWhite&&e.drawImage(this._data.clockWhite,L+c+_+D,I+1);var A=v(e,P-c-p);if(e.fillText(o,L+c+p+2*_+A,I),this._data.status){var k,E,B,O;switch(e.font=m(this._targetFontSize1,this._font,"bold"),this._data.status){case f.AlertStatus.Success:k=r("SUCCESS"),E=g.generateColor(this._data.successBackground,this._data.transparency),B=this._data.successTextColor,O=this._data.successIcon;break;case f.AlertStatus.Failure:k=r("FAILURE"),E=g.generateColor(this._data.failureBackground,this._data.transparency),B=this._data.failureTextColor,O=this._data.failureIcon}var H=this._targetFontSize1+4,z=e.measureText(k).width,V=Math.round((this._targetWidth-z)/2),W=v(e,z);e.fillStyle=E,"up"===this._data.direction?(w(e,b.x-1,b.y-H-2,this._targetWidth+2,H,5),e.fill(),e.fillStyle=B,e.fillText(k,b.x+V+W,b.y-H+1),O&&e.drawImage(O,b.x+V-O.width-4,b.y-H-2+Math.abs(H-O.height)/2)):(w(e,b.x-1,b.y+this._targetHeight+2,this._targetWidth+2,H,5),e.fill(),e.fillStyle=B,e.fillText(k,b.x+V+W,b.y+this._targetHeight+5),O&&e.drawImage(O,b.x+V-O.width-4,b.y+this._targetHeight+10-Math.abs(H-O.height)/2)),e.restore()}else e.restore()}drawStartLabel(e){e.save(),e.translate(.5,.5);var t=m(this._sourceFontSize1,this._font,"normal"),i=m(this._sourceFontSize2,this._font,"normal");e.font=t;var n=e.measureText(this._data.sourceLine1).width;e.font=i;var r=e.measureText(this._data.sourceLine2).width;this._sourceWidth=Math.max(n,r)+6+4,this._sourceHeight=this._sourceFontSize1+this._sourceFontSize2+6+4;var s=this._data.points[0],a=s.x+this._sourceWidth-e.canvas.width+5;this._sourceRectLeftOffset=Math.max(20,Math.min(this._sourceWidth-15,a));var o=this.drawBalloon(e,s,this._sourceWidth,this._sourceHeight,this._data.direction,this._sourceRectLeftOffset);e.fillStyle=g.generateColor(this._data.sourceBackColor,this._data.transparency),e.fill(),e.lineWidth=2,e.strokeStyle=g.generateColor(this._data.sourceStrokeColor,this._data.transparency),e.stroke(),e.textAlign=x()?"right":"left",e.textBaseline="top",e.fillStyle=this._data.sourceTextColor;var l=v(e,this._sourceWidth-6-4),d=2+o.x+3+l,h=2+o.y+2;e.font=t,e.fillText(this._data.sourceLine1,d,h),e.font=i,e.fillText(this._data.sourceLine2,d,h+this._sourceFontSize1+2);e.beginPath(),e.arc(s.x,s.y,3,0,2*Math.PI,!1),e.fillStyle=this._data.centersColor,e.fill(),e.restore()}_drawImpl(e){if(!(null===this._data||this._data.points.length<2)){e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth, +e.lineStyle=this._data.linestyle;var t=this._data.points[0],i=this._data.points[1],n=i.subtract(t);Math.abs(n.x)<1||Math.abs(n.y)<1?(e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(i.x,i.y),e.stroke()):(e.save(),e.beginPath(),e.translate(t.x,t.y),e.scale(1,n.y/n.x),e.moveTo(0,0),e.arcTo(n.x,0,n.x,n.x,Math.abs(n.x)),e.lineTo(n.x,n.x),e.restore(),e.stroke()),this.drawTargetLabel(e),this.drawStartLabel(e);var r=Math.max(8,4*this._data.linewidth);e.fillStyle=this._data.color;var s=n.y<0?1:-1;if(Math.abs(n.x)<1||Math.abs(n.y)<1)var a=Math.atan(n.x/n.y);else{var o,l,d=Math.abs(n.x),h=Math.abs(n.y),c=0,u=Math.PI/2,_=(c+u)/2;if(n.length()>r)for(;;){o=d*Math.sin(_),l=h*(1-Math.cos(_));var p=Math.sqrt((o-d)*(o-d)+(l-h)*(l-h));if(Math.abs(p-r)<1)break;p>r?c=_:u=_,_=(c+u)/2}a=Math.atan((d-o)/(h-l)),n.x*n.y<0&&(a=-a)}e.save(),e.beginPath(),e.translate(i.x,i.y),e.rotate(-a),e.moveTo(0,0),e.lineTo(-r/2,s*r),e.lineTo(r/2,s*r),e.lineTo(0,0),e.restore(),e.fill()}}targetLabelHitTest(e){if(void 0===this._targetWidth||void 0===this._targetHeight||void 0===this._targetRectLeftOffset)return null;var t=this._targetHeight+this._arrowHeight;this._data.status&&(t+=this._targetFontSize1+10);var i="up"===this._data.direction?-1:1,n=this._radius,r=this._data.points[1],s=r.x-this._targetRectLeftOffset,a=r.y+i*n,l=r.y+i*(t+n),d=Math.min(a,l),h=Math.max(a,l);return e.x>=s&&e.x<=s+this._targetWidth&&e.y>=d&&e.y<=h?new o(o.MOVEPOINT):null}sourceLabelHitTest(e){if(void 0===this._sourceHeight||void 0===this._sourceWidth||void 0===this._sourceRectLeftOffset)return null;var t="up"===this._data.direction?1:-1,i=this._radius,n=this._data.points[0],r=n.x-this._sourceRectLeftOffset,s=n.y+i*t,a=n.y+(i+this._sourceHeight+this._arrowHeight)*t,l=Math.min(s,a),d=Math.max(s,a);return e.x>=r&&e.x<=r+this._sourceWidth&&e.y>=l&&e.y<=d?new o(o.MOVEPOINT):null}hitTest(e){if(null===this._data||this._data.points.length<2)return null;var t=this._data.points[0],i=this._data.points[1],n=i.subtract(t),r=(n=i.subtract(t),e.subtract(t)),s=Math.abs(n.x),a=Math.abs(n.y),l=h.sign(n.y)*(a-a*Math.sqrt(1-r.x*r.x/(s*s)));if(Math.abs(l-r.y)<3)return new o(o.MOVEPOINT);var d=this.targetLabelHitTest(e);return d||this.sourceLabelHitTest(e)}}t.PredictionPaneView=class extends s{constructor(e,t){super(e,t),this._pendingIcons=3;var n=this;function r(){n._pendingIcons-=1,0===n._pendingIcons&&n._source.model().updateSource(n._source)}this._clockWhite=null,this._successIcon=null,this._failureIcon=null,d("prediction-clock-white",i(83764)).then((function(e){n._clockWhite=e,r()})),d("prediction-success-white",i(80985)).then((function(e){n._successIcon=e,r()})),d("prediction-failure-white",i(141)).then((function(e){n._failureIcon=e,r()})),this._percentageFormatter=new c,this._predictionRenderer=new S,this._renderer=null}iconsReady(){return 0===this._pendingIcons}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if((super._updateImpl(),this._renderer=null,this._targetLine1="",this._targetLine2="",this._targetLine3="",this._targetLine4="", +!(this._source.points().length<2))&&this._source.priceScale()){var e=this._source.ownerSource().formatter(),t=this._source.points()[1],i=this._source.points()[0];this._targetLine3=T(e.format(t.price));var n=t.price-i.price,s=n/Math.abs(i.price)*100;this._targetLine1=T(e.format(n)+" ("+this._percentageFormatter.format(s)+")");var o=this._model.timeScale().indexToUserTime(i.index),d=this._model.timeScale().indexToUserTime(t.index);i.time&&t.time&&(o=TradingView.isString(i.time)?new Date(Date.parse(i.time)):i.time,d=TradingView.isString(t.time)?new Date(Date.parse(t.time)):t.time);var h=this._model.mainSeries().isDWM(),c=a.parse(this._model.mainSeries().interval()),g=c.isSeconds()||c.isTicks();if(d&&o){this._targetLine4=(new u).format(d),h||(this._targetLine4=this._targetLine4+" "+new _(g?"%h:%m:%s":"%h:%m").format(d));var v=(d.valueOf()-o.valueOf())/1e3;this._targetLine2=r("in",{context:"dates"})+" "+b((new p).format(v))}this._sourceLine1=e.format(i.price),this._sourceLine2="";var x=this._model.timeScale().indexToUserTime(i.index);x&&(this._sourceLine2=(new u).format(x),h||(this._sourceLine2=this._sourceLine2+" "+new _(g?"%h:%m:%s":"%h:%m").format(x))),this._direction=this._source.direction()===f.Direction.Up?"up":"down",this._finished=this._model.lineBeingCreated()!==this._source&&this._model.lineBeingEdited()!==this._source&&!this._model.sourcesBeingMoved().includes(this._source);var w={};w.points=this._points,w.color=this._source.properties().linecolor.value(),w.linewidth=this._source.properties().linewidth.value(),w.targetLine1=this._targetLine1,w.targetLine2=this._targetLine2,w.targetLine3=this._targetLine3,w.targetLine4=this._targetLine4,w.status=this._source.properties().status.value(),w.transparency=this._source.properties().transparency.value(),w.targetBackColor=this._source.properties().targetBackColor.value(),w.targetStrokeColor=this._source.properties().targetStrokeColor.value(),w.targetTextColor=this._source.properties().targetTextColor.value(),w.sourceBackColor=this._source.properties().sourceBackColor.value(),w.sourceStrokeColor=this._source.properties().sourceStrokeColor.value(),w.sourceTextColor=this._source.properties().sourceTextColor.value(),w.successBackground=this._source.properties().successBackground.value(),w.successTextColor=this._source.properties().successTextColor.value(),w.failureBackground=this._source.properties().failureBackground.value(),w.failureTextColor=this._source.properties().failureTextColor.value(),w.intermediateBackColor=this._source.properties().intermediateBackColor.value(),w.intermediateTextColor=this._source.properties().intermediateTextColor.value(),w.sourceLine1=this._sourceLine1,w.sourceLine2=this._sourceLine2,w.direction=this._direction,w.clockWhite=this._clockWhite,w.successIcon=this._successIcon,w.failureIcon=this._failureIcon,w.finished=this._finished,w.centersColor=this._model.backgroundCounterColor(),this._predictionRenderer.setData(w);var m=new l;m.append(this._predictionRenderer),this.addAnchors(m),this._renderer=m}}}},12396:(e,t,i)=>{"use strict" +;var n=i(72927),r=n.Point,s=n.box,a=i(71044).pointInBox,o=i(67857).LineSourcePaneView,l=i(73301).SelectionRenderer,d=i(10288).HitTestResult,h=i(87088).CompositeRenderer,c=i(50968),u=i(16932).calcTextHorizontalShift,_=i(76553).isRtl,p=i(58729).ScaledPaneRenderer,g=i(54837);class f extends p{constructor(e,t){super(),this._data=null,this._measureCache=e,this._chartModel=t,this._points=null}setData(e){this._data=e,this._points=e.points}_drawImpl(e){if(null!==this._data&&null!==this._points&&0!==this._points.length){e.font=[this._data.fontWeight,this._data.fontSize+"px",this._data.fontFamily].join(" ");var t=e.measureText(this._data.label);t.height=this._data.fontSize;var i=10,n=5,r=t.width+2*i,s=t.height+2*n,a=this._points[0].x- -9,o=this._points[0].y-(s+15);e.textAlign=_()?"right":"left";var l=u(e,t.width);this._measureCache&&Object.assign(this._measureCache,{innerWidth:r,innerHeight:s,tailLeft:-9,tailHeight:15}),e.translate(.5+a,.5+o),e.beginPath(),e.moveTo(12,s),e.lineTo(-9,s+15),e.lineTo(-10,s+15-1),e.lineTo(5,s),e.lineTo(3,s),e.arcTo(0,s,0,0,3),e.lineTo(0,3),e.arcTo(0,0,r,0,3),e.lineTo(r-3,0),e.arcTo(r,0,r,s,3),e.lineTo(r,s-3),e.arcTo(r,s,0,s,3),e.lineTo(12,s),e.fillStyle=c.generateColor(this._data.backgroundColor,this._data.transparency),e.fill(),e.strokeStyle=this._data.borderColor,e.lineWidth=2,e.stroke(),e.closePath(),e.textBaseline="alphabetic",e.fillStyle=this._data.color,e.fillText(this._data.label,i+l,s/2+Math.floor(.35*this._data.fontSize)),e.translate(-.5,-.5),e.beginPath(),e.arc(-9,s+15,2.5,0,2*Math.PI,!1),e.fillStyle=c.generateColor(this._data.borderColor,this._data.transparency),e.fill(),e.strokeStyle=this._chartModel.backgroundColor().value(),e.lineWidth=1,e.stroke(),e.closePath()}}hitTest(e){if(null===this._data||null===this._points||0===this._points.length)return null;var t=this._points[0].x-this._measureCache.tailLeft,i=this._points[0].y-(this._measureCache.innerHeight+this._measureCache.tailHeight),n=s(new r(t,i),new r(t+this._measureCache.innerWidth,i+this._measureCache.innerHeight));return a(e,n)?new d(d.MOVEPOINT):null}}t.PriceLabelPaneView=class extends o{constructor(e,t,i){super(e,t),this._rendererCache={},this._priceLabelRenderer=new f(this._rendererCache,t),this._renderer=null}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._source.points().length>0){var e=this._source.points()[0].price,t=this._source.priceScale();if(!t||t.isEmpty())return;var i=this._source.ownerSource().firstValue();this._priceLabel=t.formatPrice(e,i)}var n={};if(n.points=this._points,n.borderColor=this._source.properties().borderColor.value(),n.backgroundColor=this._source.properties().backgroundColor.value(),n.color=this._source.properties().color.value(),n.fontWeight=this._source.properties().fontWeight.value(),n.fontSize=this._source.properties().fontsize.value(),n.fontFamily=g.CHART_FONT_FAMILY,n.transparency=this._source.properties().transparency.value(),n.label=this._priceLabel,this._priceLabelRenderer.setData(n),1===n.points.length){var r=new h;return r.append(this._priceLabelRenderer), +r.append(new l({points:n.points,bgColors:this._lineAnchorColors(n.points),visible:this.areAnchorsVisible()})),void(this._renderer=r)}this._renderer=this._priceLabelRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}}},78240:(e,t,i)=>{"use strict";i.r(t),i.d(t,{PriceNotePaneView:()=>w});var n=i(16282),r=i(72927),s=i(53312),a=i(87088),o=i(44896),l=i(67857),d=i(89684),h=i(33420),c=i(5025),u=i(54837),_=i(87910),p=i(10288),g=i(55430),f=i(21344);function v(e){let t,i;return e>=-135&&e<=-45?(t="center",i="bottom"):e>-45&&e<45?(t="left",i="middle"):e>=45&&e<=135?(t="center",i="top"):(t="right",i="middle"),{horzAlign:t,vertAlign:i}}class x{constructor(){this._data=null,this._priceLabelRenderer=new o.TextRenderer(void 0,new p.HitTestResult(p.HitTestResult.MOVEPOINT,{areaName:p.AreaName.Style,activeItem:1})),this._hittest=new p.HitTestResult(p.HitTestResult.MOVEPOINT,{areaName:p.AreaName.Style})}setData(e){this._data=e;const t=e.points[0],i=e.points[1],n=Math.round(180*Math.atan2(i.y-t.y,i.x-t.x)/Math.PI);this._priceLabelRenderer.setData({...v(n),points:[i],text:e.text,color:e.textColor,font:u.CHART_FONT_FAMILY,fontSize:e.fontSize,bold:e.bold,italic:e.italic,offsetX:0,offsetY:0,borderColor:e.borderColor,borderWidth:1,backgroundColor:e.backgroundColor,backgroundRoundRect:4,boxPaddingVert:6,boxPaddingHorz:8})}setHitTest(e){this._hittest=e}draw(e,t){const i=this._data;if(null===i||i.points.length<2)return;e.save();const n=t.pixelRatio,r=Math.round(i.points[0].x*n),s=Math.round(i.points[0].y*n),a=Math.round(i.points[1].x*n),o=Math.round(i.points[1].y*n);e.lineCap="butt",(0,c.setLineStyle)(e,h.LINESTYLE_SOLID),e.strokeStyle=i.lineColor,e.fillStyle=i.lineColor,e.lineWidth=Math.round(1*n);const l=(0,f.fillScaledRadius)(2,n);(0,g.createCircle)(e,r,s,l),e.fill(),(0,c.drawLine)(e,r,s,a,o),this._priceLabelRenderer.draw(e,t);const d=1*n;e.strokeStyle=i.circleBorderColor,e.lineWidth=d;const u=l+d/2;(0,g.createCircle)(e,r,s,u),e.stroke(),e.restore()}hitTest(e){const t=this._data;if(null===t)return null;const i=(0,_.lastMouseOrTouchEventInfo)().isTouch?20:3;return(0,d.distanceToSegment)(t.points[0],t.points[1],e).distance<=i?this._hittest:this._priceLabelRenderer.hitTest(e)}}class w extends l.LineSourcePaneView{constructor(){super(...arguments),this._renderer=new a.CompositeRenderer,this._priceNoteRenderer=new x,this._customLabelRenderer=new o.TextRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer.clear();const e=this._source.priceScale();if(!e||e.isEmpty())return;const t=this._points;if(t.length<2)return;const i=this._source.properties().childs(),a=this._model.isDark()?s.colorsPalette["color-cold-gray-900"]:s.colorsPalette["color-white"],o=this._source.points()[0].price,l=(0,n.ensureNotNull)(this._source.ownerSource()).firstValue();if(null===l)return;const d=e.formatPrice(o,l);if(this._priceNoteRenderer.setData({text:d,points:t,lineColor:i.lineColor.value(),circleBorderColor:a,backgroundColor:i.priceLabelBackgroundColor.value(), +borderColor:i.priceLabelBorderColor.value(),textColor:i.priceLabelTextColor.value(),fontSize:i.priceLabelFontSize.value(),bold:i.priceLabelBold.value(),italic:i.priceLabelItalic.value()}),this._renderer.append(this._priceNoteRenderer),this._renderer.append(this.createLineAnchor({points:t},0)),i.showLabel&&i.showLabel.value()){const e=t[0],n=t[1],s=e.x{"use strict";i.r(t),i.d(t,{PriceRangePaneView:()=>v});var n=i(16282),r=i(72927),s=i(76553),a=i(67857),o=i(44896),l=i(72095),d=i(6397),h=i(87088),c=i(62159),u=i(33420),_=i(71172),p=i(85421),g=(i(86656),i(54837));const f=new c.PercentageFormatter;class v extends a.LineSourcePaneView{constructor(){super(...arguments),this._topBorderRenderer=new d.TrendLineRenderer,this._bottomBorderRenderer=new d.TrendLineRenderer,this._distanceRenderer=new d.TrendLineRenderer,this._backgroundRenderer=new l.RectangleRenderer,this._labelRenderer=new o.TextRenderer,this._renderer=new h.CompositeRenderer,this._pipFormatter=null,this._lastSymbolInfo=null}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){var i;if(super._updateImpl(),this._renderer.clear(),this._points.length<2||this._source.points().length<2)return;const a=this._source.properties().childs(),l=a.extendLeft.value(),d=a.extendRight.value(),[h,c]=this._points,v=Math.min(h.x,c.x),x=Math.max(h.x,c.x);a.fillBackground.value()&&(this._backgroundRenderer.setData({points:[new r.Point(v,h.y),new r.Point(x,c.y)],color:"white",linewidth:0,backcolor:a.backgroundColor.value(),fillBackground:!0,transparency:a.backgroundTransparency.value(),extendLeft:l,extendRight:d}),this._renderer.append(this._backgroundRenderer));const w=(e,t,i)=>{e.setData({points:[t,i],color:a.linecolor.value(),linewidth:a.linewidth.value(),linestyle:u.LINESTYLE_SOLID,extendleft:l,extendright:d,leftend:_.LineEnd.Normal,rightend:_.LineEnd.Normal}),this._renderer.append(e)};let m=v,R=x;m===R&&(l&&(m-=1),d&&(R+=1)),w(this._topBorderRenderer,new r.Point(m,h.y),new r.Point(R,h.y)),w(this._bottomBorderRenderer,new r.Point(m,c.y),new r.Point(R,c.y));const y=Math.round((h.x+c.x)/2),T=new r.Point(y,h.y),b=new r.Point(y,c.y);this._distanceRenderer.setData({points:[T,b],color:a.linecolor.value(),linewidth:a.linewidth.value(),linestyle:u.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:_.LineEnd.Normal,rightend:Math.abs(T.y-b.y)>=15*a.linewidth.value()?_.LineEnd.Arrow:_.LineEnd.Normal}),this._renderer.append(this._distanceRenderer),a.showLabel.value();{ +const t=this._source.points()[0].price,l=this._source.points()[1].price,d=l-t,u=100*d/Math.abs(t),_=this._model.mainSeries().symbolInfo();_&&_!==this._lastSymbolInfo&&(this._pipFormatter=new p.PipFormatter(_.pricescale,_.minmov,_.type,_.minmove2),this._lastSymbolInfo=_);const v=(0,s.forceLTRStr)((0,n.ensureNotNull)(this._source.ownerSource()).formatter().format(d)+" ("+f.format(u)+") "+(this._pipFormatter?this._pipFormatter.format(d):""));let x;x=l>t?new r.Point(.5*(h.x+c.x),c.y-2*a.fontsize.value()):new r.Point(.5*(h.x+c.x),c.y+.7*a.fontsize.value());const w={x:0,y:10},m=a.fontsize.value(),R={points:[x],text:v,color:a.textcolor.value(),font:g.CHART_FONT_FAMILY,offsetX:w.x,offsetY:w.y,padding:8,vertAlign:"middle",horzAlign:"center",fontsize:m,backgroundRoundRect:4,backgroundHorzInflate:.4*m,backgroundVertInflate:.2*m},y=null===(i=a.fillLabelBackground)||void 0===i?void 0:i.value();y&&(R.backgroundColor=a.labelBackgroundColor.value()),this._labelRenderer.setData(R);const T=this._labelRenderer.measure(),b=(0,o.calculateLabelPosition)(T,h,c,w,e);this._labelRenderer.setPoints([b]),this._renderer.append(this._labelRenderer)}this.addAnchors(this._renderer)}}},46474:(e,t,i)=>{"use strict";var n=i(93572).ArcWedgeRenderer,r=i(19027).FibWedgePaneView,s=i(6397).TrendLineRenderer,a=i(87088).CompositeRenderer,o=i(71172).LineEnd;t.ProjectionLinePaneView=class extends r{constructor(e,t){super(e,t),this._baseTrendRenderer=new s,this._edgeTrendRenderer=new s,this._arcWedgeRenderer=new n}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateRenderer(){if(!(this._points.length<2)){var e=new a,t=this._source.properties(),i=this._points,n=i[0],r=i[1],s={points:[n,r],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:t.trendline.color.value(),linewidth:t.linewidth.value(),linestyle:t.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:o.Normal,rightend:o.Normal};if(this._baseTrendRenderer.setData(s),e.append(this._baseTrendRenderer),this._points.length<3)return this.addAnchors(e),void(this._renderer=e);var l=i[2],d=l.data,h=r.subtract(n).length(),c=l.subtract(n).normalized();(l=n.add(c.scaled(h))).data=d,s={points:[n,l],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:t.trendline.color.value(),linewidth:t.linewidth.value(),linestyle:t.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:o.Normal,rightend:o.Normal},this._edgeTrendRenderer.setData(s),e.append(this._edgeTrendRenderer);var u=this._levels[0],_={};_.center=this._points[0],_.radius=u.radius,_.prevRadius=0,_.edge=this._edge,_.color=t.trendline.color.value(),_.color1=t.color1.value(),_.color2=t.color2.value(),_.linewidth=t.linewidth.value(),_.edge1=this._edge1,_.edge2=this._edge2,_.p1=u.p1,_.p2=u.p2,_.fillBackground=t.fillBackground.value(),_.transparency=t.transparency.value(),_.gradient=!0,this._arcWedgeRenderer.setData(_),e.append(this._arcWedgeRenderer),this.addAnchors(e),this._renderer=e}}}},75196:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ +RectanglePaneView:()=>h});var n=i(72927),r=i(54837),s=i(72095),a=i(87088),o=i(44896),l=i(67857),d=i(10992);class h extends l.LineSourcePaneView{constructor(e,t){super(e,t),this._rectangleRenderer=new s.RectangleRenderer,this._textRenderer=new o.TextRenderer,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._points.length<2)return;const e=this._getSource().properties().childs(),t={points:this._points,color:e.color.value(),linewidth:e.linewidth.value(),backcolor:e.backgroundColor.value(),fillBackground:e.fillBackground.value(),transparency:e.transparency.value(),extendLeft:e.extendLeft.value(),extendRight:e.extendRight.value(),includeRightEdge:!0};this._rectangleRenderer.setData(t);const i=new a.CompositeRenderer;i.append(this._rectangleRenderer);const s=this._points[0],o=this._points[1];if(e.showLabel.value()){const t=Math.min(s.x,o.x),a=Math.max(s.x,o.x),l=Math.min(s.y,o.y),d=Math.max(s.y,o.y);let h,c,u,_;const p=e.fontSize.value()/3;let g,f,v=0;switch(e.vertLabelsAlign.value()){case"middle":_=(l+d)/2,c="middle",v=p;break;case"top":_=d,c="top";break;case"bottom":_=l,c="bottom"}switch(e.horzLabelsAlign.value()){case"center":u=(t+a)/2,h="center";break;case"left":u=t,h="left";break;case"right":u=a,h="right"}"middle"===c&&(g=a-t-2*v,f=d-l);const x={points:[new n.Point(u,_)],text:e.text.value(),fontSize:e.fontSize.value(),font:r.CHART_FONT_FAMILY,bold:e.bold.value(),italic:e.italic.value(),horzAlign:h,vertAlign:c,color:e.textColor.value(),wordWrapWidth:g,maxHeight:f,offsetX:0,offsetY:0,boxPaddingVert:p,boxPaddingHorz:v,forceTextAlign:!0};this._textRenderer.setData(x),i.append(this._textRenderer)}this._addAnchors(s,o,i),this._renderer=i}_addAnchors(e,t,i){const r=new n.Point(e.x,t.y);r.data=2;const s=new n.Point(t.x,e.y);s.data=3;const a=new n.Point(e.x,.5*(e.y+t.y));a.data=4;const o=new n.Point(t.x,.5*(e.y+t.y));o.data=5;const l=new n.Point(.5*(e.x+t.x),e.y);l.data=6;const h=new n.Point(.5*(e.x+t.x),t.y);h.data=7,[a,o,l,h].forEach(e=>e.square=!0);const c=e.x-t.x,u=e.y-t.y,_=Math.sign(c*u),p=[_<0?d.PaneCursorType.DiagonalNeSwResize:d.PaneCursorType.DiagonalNwSeResize,_<0?d.PaneCursorType.DiagonalNeSwResize:d.PaneCursorType.DiagonalNwSeResize,_>0?d.PaneCursorType.DiagonalNeSwResize:d.PaneCursorType.DiagonalNwSeResize,_>0?d.PaneCursorType.DiagonalNeSwResize:d.PaneCursorType.DiagonalNwSeResize,d.PaneCursorType.HorizontalResize,d.PaneCursorType.HorizontalResize,d.PaneCursorType.VerticalResize,d.PaneCursorType.VerticalResize];i.append(this.createLineAnchor({points:[e,t,r,s,a,o,l,h],pointsCursorType:p},0))}}},56145:(e,t,i)=>{"use strict";i.r(t),i.d(t,{RegressionTrendPaneView:()=>g});var n=i(16282),r=i(50968),s=i(10288),a=i(87088),o=i(21498),l=i(44896),d=i(6397),h=i(73301),c=i(72927),u=i(71172),_=i(54837);var p=i(67857);class g extends p.LineSourcePaneView{constructor(e,t){super(e,t),this._data=null,this._pearsonsLabelRenderer=new l.TextRenderer,this._renderer=null,this._renderer=null}renderer(){ +return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._data=function(e,t){const i={lines:[],pearsons:null};if(!t.properties().visible.value())return i;const r=e.timeScale(),s=t.priceScale(),a=e.mainSeries().firstBar();if(!s||s.isEmpty()||r.isEmpty()||!a)return i;const o=t.startIndex(),l=t.endIndex();if(null===o||null===l)return i;const d=[t.baseLine(),t.downLine(),t.upLine()],h=Math.round(r.indexToCoordinate(o)),p=Math.round(r.indexToCoordinate(l)),g=t.properties(),f=[g.styles.baseLine,g.styles.downLine,g.styles.upLine],v=a[4];for(let r=0;r!!e),l=this._source.properties().childs().styles.childs().transparency.value();for(let t=1;t=1&&e.append(new h.SelectionRenderer({points:t,bgColors:this._lineAnchorColors(t),visible:this.areAnchorsVisible(),hittestResult:s.HitTestResult.REGULAR,barSpacing:this._model.timeScale().barSpacing()})),this._renderer=e}_getTransparencyResetLines(){return(0,n.ensureNotNull)(this._data).lines.map(e=>({...e,color:(0,r.resetTransparency)(e.color)}))}}},18452:(e,t,i)=>{"use strict" +;var n=i(72927).Point,r=i(79881).t,s=i(67857).LineSourcePaneView,a=i(6397).TrendLineRenderer,o=i(44896).TextRenderer,l=i(72095).RectangleRenderer,d=i(10288).HitTestResult,h=i(87088).CompositeRenderer,c=i(62159).PercentageFormatter,u=i(57649).NumericFormatter,_=i(85421).PipFormatter,p=i(50968),g=i(71172).LineEnd,f=i(67033).RiskRewardPointIndex,v=i(76553).forceLTRStr,x=i(10992).PaneCursorType,w=i(54837),m=[x.Default,x.HorizontalResize,x.VerticalResize,x.VerticalResize];class R extends s{constructor(e,t){super(e,t),this._percentageFormatter=new c,this._numericFormatter=new u,this._pipFormatter=null,this._lastSymbolInfo=null,this._entryLineRenderer=new a,this._stopLineRenderer=new a,this._targetLineRenderer=new a,this._positionLineRenderer=new a,this._fullStopBgRenderer=new l(new d(d.MOVEPOINT),new d(d.MOVEPOINT)),this._stopBgRenderer=new l(new d(d.MOVEPOINT),new d(d.MOVEPOINT)),this._fullTargetBgRenderer=new l(new d(d.MOVEPOINT),new d(d.MOVEPOINT)),this._targetBgRenderer=new l(new d(d.MOVEPOINT),new d(d.MOVEPOINT)),this._stopLabelRenderer=new o,this._middleLabelRenderer=new o,this._profitLabelRenderer=new o,this._renderer=null}_formatInTicks(e){var t=this._model.mainSeries().base();return Math.round(e*t)}isLabelVisible(){return this.isHoveredSource()||this.isSelectedSource()||this._source.properties().alwaysShowStats.value()}_updateImpl(e,t){super._updateImpl(e,t),this._renderer=null,this._stopLevel=null,this._profitLevel=null;var i=this._model.timeScale(),r=this._source.priceScale();if(!r||r.isEmpty()||i.isEmpty())return;var s=this._source.points();if(s.length<2||this._points.length<2)return;var a=this._model.mainSeries(),o=a.bars();if(0===o.length)return;if(null===o.last())return;this._isClosed=4===s.length;var l=this._source.lastBarData();if(!l)return;var d=this._source.stopPrice(),c=this._source.profitPrice();this._pl=this._source.calculatePL(l.closePrice);var u=this._source.ownerSource().firstValue();this._entryLevel=this._points[f.Entry].y,this._stopLevel=r.priceToCoordinate(d,u),this._profitLevel=r.priceToCoordinate(c,u),this._closeLevel=r.priceToCoordinate(l.closePrice,u),this._closeBar=this._source._model.timeScale().indexToCoordinate(l.index);var x=new h,R=this,y=this._source.properties(),T=this._points[f.Entry].x,b=this._points[f.ActualEntry]?this._points[f.ActualEntry].x:this._points[f.Close].x,L=this._points[f.ActualClose]?this._points[f.ActualClose].x:this._points[f.Close].x,S=this._points[f.Close].x;let P=S<-5||T>t+5;var C=new n(T,this._entryLevel),M=new n(S,this._stopLevel);if((k={}).points=[C,M],k.color="white",k.linewidth=0,k.backcolor=y.stopBackground.value(),k.fillBackground=!0,k.transparency=y.stopBackgroundTransparency.value(),k.extendLeft=!1,k.extendRight=!1,this._fullStopBgRenderer.setData(k),x.append(this._fullStopBgRenderer),this._pl<0&&b!==L){C=new n(b,this._entryLevel),M=new n(L,this._closeLevel);(k={}).points=[C,M],k.color="white",k.linewidth=0,k.backcolor=y.stopBackground.value(),k.fillBackground=!0;var I=100-100*(1-(N=.01*y.stopBackgroundTransparency.value())*N*N);k.transparency=I, +k.extendLeft=!1,k.extendRight=!1,this._stopBgRenderer.setData(k),x.append(this._stopBgRenderer)}C=new n(T,this._entryLevel),M=new n(S,this._profitLevel);if((k={}).points=[C,M],k.color="white",k.linewidth=0,k.backcolor=y.profitBackground.value(),k.fillBackground=!0,k.transparency=y.profitBackgroundTransparency.value(),k.extendLeft=!1,k.extendRight=!1,this._fullTargetBgRenderer.setData(k),x.append(this._fullTargetBgRenderer),this._pl>0&&b!==L){C=new n(b,this._entryLevel),M=new n(L,this._closeLevel);(k={}).points=[C,M],k.color="white",k.linewidth=0,k.backcolor=y.profitBackground.value(),k.fillBackground=!0;var N,D=100-100*(1-(N=.01*y.profitBackgroundTransparency.value())*N*N);k.transparency=D,k.extendLeft=!1,k.extendRight=!1,this._targetBgRenderer.setData(k),x.append(this._targetBgRenderer)}var A=function(e,t,i,n){var r={};r.points=[t,i],r.width=R._model.timeScale().width(),r.height=R._source.priceScale().height(),r.color=n||R._source.properties().linecolor.value(),r.linewidth=R._source.properties().linewidth.value(),r.linestyle=CanvasEx.LINESTYLE_SOLID,r.extendleft=!1,r.extendright=!1,r.leftend=g.Normal,r.rightend=g.Normal,e.setData(r),x.append(e)};if(this._points[f.ActualEntry]){var k;C=this._points[f.ActualEntry],M=this._isClosed?this._points[f.ActualClose]:new n(this._closeBar,this._closeLevel);(k={}).points=[C,M],k.width=R._model.timeScale().width(),k.height=R._source.priceScale().height(),k.color=R._source.properties().linecolor.value(),k.linewidth=1,k.linestyle=CanvasEx.LINESTYLE_DASHED,k.extendleft=!1,k.extendright=!1,k.leftend=g.Normal,k.rightend=g.Arrow,this._positionLineRenderer.setData(k),x.append(this._positionLineRenderer)}R=this;var E=function(i,n,r,s,a,o,l){if(R.isLabelVisible()){var d={};d.points=[n],d.text=r,d.color=y.textcolor.value(),d.font=w.CHART_FONT_FAMILY,d.offsetX=3,d.offsetY=o,d.vertAlign=a,d.horzAlign="center",d.backgroundRoundRect=4,d.backgroundColor=p.resetTransparency(s),d.fontsize=y.fontsize.value(),d.backgroundHorzInflate=4,l&&(d.borderColor=l),i.setData(d),P=P&&i.isOutOfScreen(t,e),x.append(i)}},B=this._source.entryPrice(),O=this._source.stopPrice(),H=this._source.profitPrice(),z=Math.abs(O-B),V=Math.round(1e4*z/B)/100,W=Math.abs(H-B),F=Math.round(1e4*W/B)/100,Y=Math.abs(B-H)/Math.abs(B-O);C=new n(T,this._points[f.Entry].y),M=new n(S,this._points[f.Entry].y);A(this._entryLineRenderer,C,M);var j=new n((T+S)/2,Math.round(this._points[0].y)+.5),U="",Q="",q=this._numericFormatter.format(Math.round(100*Y)/100);this._points[1]&&void 0!==this._pl&&(Q=this._source.ownerSource().formatter().format(this._pl));var G=y.qty.value()/y.lotSize.value(),Z=a.symbolInfo(),X="bitcoin"===Z.type||"crypto"===Z.type||"futures"===Z.type?Math.round(1e3*G)/1e3:Math.floor(G);if(y.compact.value())U+=Q?Q+" ~ ":"",U+=X+"\n",U+=q;else{var J=this._isClosed?this.i18nCache.closed:this.i18nCache.open;U+=Q?this.i18nCache.pnl.format({status:J,pnl:Q})+", ":"",U+=this.i18nCache.qty.format({qty:X})+"\n",U+=this.i18nCache.ratio.format({ratio:q})+" "}var K=y.linecolor.value() +;this._pl<0?K=y.stopBackground.value():this._pl>0&&(K=y.profitBackground.value()),E(this._middleLabelRenderer,j,U,K,"middle",0,"white");C=new n(T,this._stopLevel),M=new n(S,this._stopLevel);A(this._stopLineRenderer,C,M,y.stopBackground.value()),Z&&Z!==this._lastSymbolInfo&&(this._pipFormatter=new _(Z.pricescale,Z.minmov,Z.type,Z.minmove2),this._lastSymbolInfo=Z);j=new n((T+S)/2,this._stopLevel),U="";var $=this._source.ownerSource().formatter().format(z),ee=this._percentageFormatter.format(V);U=y.compact.value()?$+" ("+ee+") "+y.amountStop.value():this.i18nCache.stop.format({stopChange:v(this._source.ownerSource().formatter().format(z)),stopChangePercent:v(this._percentageFormatter.format(V)),stopChangePip:this._pipFormatter?v(this._pipFormatter.format(z)):"",amount:v(y.amountStop.value())}),E(this._stopLabelRenderer,j,U,y.stopBackground.value(),B{"use strict";var n=i(72927).Point,r=i(89684).distanceToLine,s=i(67857).LineSourcePaneView,a=i(67857).thirdPointCursorType,o=i(6397).TrendLineRenderer,l=i(59943).PolygonRenderer,d=i(87088).CompositeRenderer,h=i(71172).LineEnd,c=i(10992).PaneCursorType;t.RotatedRectanglePaneView=class extends s{constructor(e,t){super(e,t),this._poligonRenderer=new l,this._renderer=null}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._distance=0,3===this._points.length&&(this._distance=r(this._points[0],this._points[1],this._points[2]).distance),0!==this._points.length){ +var e,t,i,s,l=new d,u=this._source.properties(),_=this._points[0],p=this._points[1];if(2===this._points.length){(f={}).points=this._points,f.floatPoints=this._floatPoints,f.width=this._model.timeScale().width(),f.height=this._source.priceScale().height(),f.color=u.color.value(),f.linewidth=1,f.linestyle=CanvasEx.LINESTYLE_SOLID,f.extendleft=!1,f.extendright=!1,f.leftend=h.Normal,f.rightend=h.Normal;var g=new o;g.setData(f),l.append(g)}else if(3===this._points.length){var f,v=p.subtract(_),x=new n(v.y,-v.x).normalized().scaled(this._distance),w=x.scaled(-1);e=_.add(x),t=p.add(x),i=_.add(w),s=p.add(w),(f={}).points=[e,t,s,i],f.color=u.color.value(),f.linewidth=this._source.properties().linewidth.value(),f.linestyle=CanvasEx.LINESTYLE_SOLID,f.filled=!0,f.backcolor=u.backgroundColor.value(),f.fillBackground=u.fillBackground.value(),f.transparency=u.transparency.value(),this._poligonRenderer.setData(f),l.append(this._poligonRenderer)}var m=[];m.push(_),this._points.length>=2&&m.push(p);var R=[c.Default,c.Default];if(3===this._points.length){e.data=2,i.data=2,t.data=2,s.data=2,m.push(e,i,t,s);var y=a(_,p);R.push(y,y,y,y)}l.append(this.createLineAnchor({points:m,pointsCursorType:R},0)),this._renderer=l}}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}}},21857:(e,t,i)=>{"use strict";i.r(t),i.d(t,{SignpostPaneView:()=>I});var n=i(72927),r=i(53312),s=i(54837),a=i(71233),o=i(89684),l=i(71044),d=i(16282),h=i(87910),c=i(16932),u=i(44896),_=i(10288),p=i(79739),g=i(21344);const f=new WeakMap;function v(e,t,i,n){let r=f.get(e);return void 0!==r&&r.width===t||(r=function(e,t,i,n){const r=(0,c.createDisconnectedCanvas)(document,new c.Size(t,t),1),s=0===n?Math.min(e.width,e.height):Math.max(e.width,e.height),a=Math.round(e.width/2-s/2),o=Math.round(e.height/2-s/2),l=(0,c.getContext2D)(r);return i&&(l.beginPath(),l.arc(t/2,t/2,t/2,0,2*Math.PI,!0),l.closePath(),l.clip()),l.imageSmoothingEnabled=!0,l.imageSmoothingQuality="high",l.drawImage(e,a,o,s,s,0,0,t,t),r}(e,t,i,n),f.set(e,r)),r}function x(e){return e.poleStartY}function w(e){return e.inverseAnchorPosition?e.anchorY:e.anchorY+(e.labelHeight+e.poleTailHeight+2*e.circleRadius)*e.direction}function m(e){return e.inverseAnchorPosition?e.anchorY+(2*e.circleRadius+e.poleTailHeight)*e.direction:e.anchorY+e.labelHeight*e.direction}function R(e){return e.inverseAnchorPosition?m(e)-e.poleTailHeight*e.direction:m(e)+e.poleTailHeight*e.direction}function y(e,t,i,n,r,s){const a=s.pixelRatio,o=(0,g.fillScaledRadius)(t.circleRadius,a),l=Math.round(t.x*a),d=t.inverseAnchorPosition?Math.round(t.anchorY*a)+Math.round(t.circleRadius*a)*t.direction:Math.round(t.anchorY*a)+Math.round((t.labelHeight+t.poleTailHeight+t.circleRadius)*a)*t.direction,h=Math.max(1,Math.floor(a))%2/2,c=l+h,u=d+h;e.save();const _=u+.05*o,f=e.createRadialGradient(c,_,o/2,c,_,1.1*o);if(f.addColorStop(0,"transparent"),f.addColorStop(.1,n),f.addColorStop(1,"transparent"),e.fillStyle=f,e.beginPath(),e.arc(c,_,1.1*o,0,2*Math.PI,!0),e.closePath(),e.fill(),e.restore(),e.beginPath(),e.arc(c,u,o,0,2*Math.PI,!0), +e.closePath(),e.fill(),null!==t.image){const n=t.srcItem.type()===p.StoriesTimeLineItemType.Emoji,r=n?2*(0,g.fillScaledRadius)(i,a):2*o,s=v(t.image,r,!n,n?1:0);e.drawImage(s,c-r/2,u-r/2)}const x=Math.round(t.circleBorderWidth*a),w=(0,g.strokeScaledRadius)(t.circleRadius,a,x);if(e.lineWidth=x,e.beginPath(),e.arc(c,u,w,0,2*Math.PI,!0),e.closePath(),e.stroke(),t.outsideBorderWidth){e.save();const i=Math.round(t.outsideBorderWidth*a),n=w+x/2+i/2;e.lineWidth=i,e.strokeStyle=r,e.beginPath(),e.arc(c,u,n,0,2*Math.PI,!0),e.closePath(),e.stroke(),e.restore()}t.srcItem.sourceLabel()}class T{constructor(e,t,i,n){this._data=null,this._labels=[],this._cacheRects={},this._items=[],this._hitTestResult=e,this._showTooltipHandler=t,this._clearSelectedDataHandler=i,this._phantomMode=Boolean(n)}setData(e){this._data=e}clearItems(){this._labels=[],this._items=[],this._cacheRects={}}addItem(e){const t={circleBackgroundColor:e.circleBackgroundColor,circleBorderColor:e.circleBorderColor,circleBorderWidth:e.circleBorderWidth,outsideBorderWidth:e.outsideBorderWidth,image:e.image,itemIndex:e.itemIndex,labelIndex:e.labelIndex,x:e.x,anchorY:e.anchorY,poleTailHeight:e.poleTailHeight,poleStartY:e.poleStartY,circleRadius:e.circleRadius,srcItem:e.srcItem,direction:e.direction*(e.inverseAnchorPosition?-1:1),labelHeight:0,labelId:-1,inverseAnchorPosition:e.inverseAnchorPosition},i={offsetX:0,offsetY:0,points:[new n.Point(e.x,e.anchorY)],forceCalculateMaxLineWidth:!0,vertAlign:-1===e.labelDirection?"bottom":"top",horzAlign:"center",horzTextAlign:"center",font:e.labelFont,fontSize:e.labelFontSize,bold:e.labelFontBold,italic:e.labelFontItalic,backgroundRoundRect:e.labelBorderRadius,padding:e.labelPadding,boxPaddingVert:e.labelBoxPaddingVert,boxPaddingHorz:e.labelBoxPaddingHorz,wordWrapWidth:e.labelWordWrapWidth,color:e.labelColor,borderColor:e.labelBorderColor,borderWidth:1,backgroundColor:e.labelBackgroundColor,text:e.text};if(e.inverseAnchorPosition){const e=(0,d.ensureDefined)(i.points);e[0]=new n.Point(e[0].x,m(t)),t.labelId=this._labels.length}else{const r=new u.TextRenderer(i);this._labels.push(r),t.labelId=this._labels.length,t.labelHeight=r.measure().height;const s=1===e.direction?Math.min(t.poleStartY-t.labelHeight,t.anchorY):Math.max(t.poleStartY+t.labelHeight,t.anchorY);t.anchorY!==s&&(t.anchorY=s,i.points=[new n.Point(e.x,s)],r.setData(i))}const r=new u.TextRenderer(i);this._labels.push(r),this._items.push(t)}itemAnchorY(e){return e>=this._items.length?null:this._items[e].anchorY}hitTest(e,t){if(null===this._data)return null;for(let i=this._items.length-1;i>=0;--i){const r=this._items[i],[s,a,o]=this._doesPointBelongToItem(r,e);if(s||a||o){const e={hideCrosshairLinesOnHover:!0,activeItem:s||a?r.itemIndex:r.labelIndex};o?e.areaName=_.AreaName.Text:a&&(e.areaName=_.AreaName.Style);const i=this._showTooltipHandler;if(void 0!==i){const s={targetBox:this._itemRect(r,t.cssHeight),item:r.srcItem},a=e=>{const[t,i]=this._doesPointBelongToItem(r,e);return t||i};e.tapHandler=e=>{e.preventDefault(), +i(s,new n.Point(e.clientX-e.localX,e.clientY-e.localY),a)},e.clickHandler=e=>{i(s,new n.Point(e.clientX-e.localX,e.clientY-e.localY),a)};const o=this._clearSelectedDataHandler;void 0!==o&&(e.doubleClickHandler=e=>o(),e.pressedMouseMoveHandler=e=>o(),e.executeDefaultAction={pressedMouseMoveHandler:!0,touchMoveHandler:!0})}return new _.HitTestResult(this._hitTestResult,e)}}return null}draw(e,t){if(null===this._data)return;e.save(),this._phantomMode&&(e.globalAlpha=.5);const{poleColor:i,emojiRadius:n}=this._data,r=t.pixelRatio,s=Math.max(1,Math.floor(r)),a=s%2?.5:0;e.beginPath(),e.strokeStyle=i,e.lineWidth=s;for(const t of this._items){const i=Math.round(t.x*r)+a;e.moveTo(i,Math.round(x(t)*r)),e.lineTo(i,Math.round(w(t)*r)),0!==t.poleTailHeight&&(e.moveTo(i,Math.round(m(t)*r)),e.lineTo(i,Math.round(R(t)*r)))}e.stroke();for(const i of this._items)e.strokeStyle=i.circleBorderColor,e.fillStyle=i.circleBackgroundColor,i.circleRadius>0&&y(e,i,n,this._data.shadowColor,this._data.outsideBorderColor,t),this._labels[i.labelId].draw(e,t);e.restore()}_itemRect(e,t){if(!this._cacheRects[e.labelId]){const i=this._labels[e.labelId].rect(),n=e.circleRadius>0?e.circleRadius+e.circleBorderWidth:0,r=i.y0&&(0,l.pointInCircle)(t,new n.Point(r,function(e){return e.inverseAnchorPosition?e.anchorY+e.circleRadius*e.direction:e.anchorY+(e.labelHeight+e.poleTailHeight+e.circleRadius)*e.direction}(e)),e.circleRadius+i);return[s,a,!s&&!a&&null!==this._labels[e.labelId].hitTest(t)]}}const b={circleBackgroundColor:r.colorsPalette["color-cold-gray-800"],circleBorderColor:r.colorsPalette["color-cold-gray-900"],labelBackgroundColor:r.colorsPalette["color-cold-gray-900"],labelBorderColor:r.colorsPalette["color-cold-gray-800"],labelTextColor:r.colorsPalette["color-cold-gray-200"],poleColor:r.colorsPalette["color-cold-gray-500"],shadowColor:"rgba(0,0,0,0.4)",selectionColor:r.colorsPalette["color-tv-blue-500"],labelHoveredColor:r.colorsPalette["color-cold-gray-800"],labelSelectedColor:r.colorsPalette["color-tv-blue-a900"]},L={circleBackgroundColor:r.colorsPalette["color-cold-gray-100"],circleBorderColor:r.colorsPalette["color-white"],labelBackgroundColor:r.colorsPalette["color-white"],labelBorderColor:r.colorsPalette["color-cold-gray-150"],labelTextColor:r.colorsPalette["color-cold-gray-900"],poleColor:r.colorsPalette["color-cold-gray-500"],shadowColor:"rgba(107,121,136,0.4)",selectionColor:r.colorsPalette["color-tv-blue-500"],labelHoveredColor:r.colorsPalette["color-cold-gray-100"],labelSelectedColor:r.colorsPalette["color-tv-blue-50"]};class S{constructor(e,t,i,n,r){this._renderer=null,this._invalidated=!0,this._model=e,this._timeLine=t, +this._timeLineItemsRenderer=new T(i,null==n?void 0:n.tooltipHandler,null==n?void 0:n.clearSelectedDataHandler,r)}update(){this._invalidated=!0}renderer(e,t){return this._invalidated&&(this._updateImpl(e),this._invalidated=!1),this._renderer}itemAnchorY(e){return this._timeLineItemsRenderer.itemAnchorY(e)}_updateImpl(e){this._renderer=null,this._timeLineItemsRenderer.clearItems();const t=this._timeLine.priceSource();if(null===t)return;const i=this._model.timeScale(),n=t.priceScale(),r=t.firstValue();if(i.isEmpty()||null===n||n.isEmpty()||null===r)return;const o=this._model.isDark(),l=o?b:L;let d;const h=this._model.mainSeries();for(const c of this._timeLine.items()){if(this._timeLine.isHidden(c))continue;const u=c.position(),_=t===h?(0,a.getSeriesPosition)(h,c):(0,a.getNoDataPosition)(c,n,r);if(null===_)continue;const p=i.indexToCoordinate(_.index),g=n.priceToCoordinate(_.price,r),f=c.showPlate();let v=(0,a.positionToCoordinate)(u,e,g,_.positionPointDirection);v>=-1e-10&&v<=e+1e-10&&(v=Math.min(e-2,Math.max(2,v)));const x=_.visualDirection!==_.positionPointDirection,w=_.visualDirection,m=this._timeLine.isItemSelected(c),R=this._timeLine.isItemHovered(c),y={circleBackgroundColor:c.backgroundPlateColor(o)||l.circleBackgroundColor,outsideBorderWidth:m?2:R?1:0,circleBorderColor:l.circleBorderColor,circleBorderWidth:1,image:c.image(),itemIndex:c.itemIndex(),labelIndex:c.labelIndex(),x:p,anchorY:v,poleTailHeight:c.headline()&&f?10:0,poleStartY:_.poleStartY,circleRadius:f?35:0,direction:w,inverseAnchorPosition:x,srcItem:c,text:c.headline(),labelDirection:_.positionPointDirection,labelFont:s.CHART_FONT_FAMILY,labelFontSize:c.fontSize&&c.fontSize()||12,labelFontBold:c.fontBold&&c.fontBold()||!1,labelFontItalic:c.fontItalic&&c.fontItalic()||!1,labelBorderRadius:4,labelPadding:3,labelBoxPaddingVert:6,labelBoxPaddingHorz:8,labelWordWrapWidth:134,labelColor:l.labelTextColor,labelBorderColor:l.labelBorderColor,labelBackgroundColor:m?l.labelSelectedColor:R?l.labelHoveredColor:l.labelBackgroundColor};this._timeLine.isItemHovered(c)?d=y:this._timeLineItemsRenderer.addItem(y)}void 0!==d&&this._timeLineItemsRenderer.addItem(d),this._timeLineItemsRenderer.setData({emojiRadius:16,poleColor:l.poleColor,shadowColor:l.shadowColor,outsideBorderColor:l.selectionColor}),this._renderer=this._timeLineItemsRenderer}}var P=i(87088),C=i(10992),M=i(67857);class I extends M.LineSourcePaneView{constructor(e,t){super(e,t),this._renderer=new P.CompositeRenderer,this._storiesEventsPaneView=new S(t,e,_.HitTestResult.MOVEPOINT,void 0,e.isPhantom())}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){super._updateImpl(),this._renderer.clear(),this._storiesEventsPaneView.update();const i=this._storiesEventsPaneView.renderer(e,t);if(null!==i&&this._renderer.append(i),this._source.isPhantom())return;const r=this._storiesEventsPaneView.itemAnchorY(0);if(null===r)return;const s=this._points[0],a=new n.Point(s.x,r);a.data=s.data,a.square=!0,this._renderer.append(this.createLineAnchor({points:[a], +pointsCursorType:[C.PaneCursorType.VerticalResize]},0))}}},69486:(e,t,i)=>{"use strict";i.r(t),i.d(t,{SineLinePaneView:()=>h});var n=i(72927),r=i(67857),s=i(87088),a=i(58729),o=i(10288),l=i(5025);class d extends a.ScaledPaneRenderer{constructor(e){super(),this._data=e}hitTest(e,t){const i=(e.x-this._data.point.x)*Math.PI/this._data.width;let n=Math.sin(i-Math.PI/2)*this._data.height/2;return n=this._data.point.y+n+this._data.height/2,Math.abs(n-e.y)<=3?new o.HitTestResult(o.HitTestResult.MOVEPOINT):null}_drawImpl(e,t){e.strokeStyle=this._data.color,e.lineWidth=this._data.lineWidth,(0,l.setLineStyle)(e,this._data.lineStyle),e.beginPath(),e.moveTo(this._data.point.x,this._data.point.y);const i=Math.max(1,this._data.width/30),n=t.cssWidth-this._data.point.x+i;for(let t=1;t<=n;t+=i){const i=t*Math.PI/this._data.width,n=Math.sin(i-Math.PI/2)*this._data.height/2;e.lineTo(this._data.point.x+t,this._data.point.y+n+this._data.height/2)}e.stroke()}}class h extends r.LineSourcePaneView{constructor(e,t){super(e,t),this._renderer=new s.CompositeRenderer}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){if(super._updateImpl(),this._renderer.clear(),this._points.length<2)return;const[i,r]=this._source.points();if(0===2*Math.abs(i.index-r.index))return void this.addAnchors(this._renderer);const[s,a]=this._points,o=Math.abs(s.x-a.x),l=a.y-s.y,h=this._source.properties().childs(),c=h.linewidth.value();if(s.y<-c&&a.y<-c||s.y>e+c&&a.y>e+c)return;const u=2*o,_=s.x>0?s.x-Math.ceil(s.x/u)*u:s.x+Math.floor(-s.x/u)*u,p={point:new n.Point(_,s.y),width:o,height:l,color:h.linecolor.value(),lineWidth:h.linewidth.value(),lineStyle:h.linestyle.value()};this._renderer.append(new d(p)),this.addAnchors(this._renderer)}}},70014:(e,t,i)=>{"use strict";i.r(t),i.d(t,{StudyLineDataSourceAnchorsPaneView:()=>r});var n=i(67857);class r extends n.LineSourcePaneView{renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this.createLineAnchor({points:this._getPoints()},0)}}},15253:(e,t,i)=>{"use strict";i.r(t),i.d(t,{TextPaneView:()=>p});var n=i(16282),r=i(72927),s=i(54837),a=i(10992),o=i(44896),l=i(87088),d=i(73301),h=i(77036),c=i(10288),u=i(67857);const _=[a.PaneCursorType.HorizontalResize];class p extends u.LineSourcePaneView{constructor(e,t,i,n,r,s,a,l){super(e,t),this._textRenderer=new o.TextRenderer,this._noSelection=!1,this._renderer=null,this._offsetX=i,this._offsetY=n,this._vertAlign=r,this._horzAlign=s,this._forceTextAlign=Boolean(a),this._noSelection=!1,this._renderer=null,this._recalculateSourcePointsOnFirstUpdate=l}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}disableSelection(){this._noSelection=!0}isEditMode(){return!this._getModel().readOnly()}_updateImpl(e,t){super._updateImpl(e,t),this._renderer=null;const i=this._getSource(),a=i.priceScale();if(!a||a.isEmpty())return;const o=i.properties().childs(),u=this._getModel(),p={text:o.text.value(),color:o.color.value(),fontSize:o.fontsize.value(),boxPadding:o.fontsize.value()/6,font:s.CHART_FONT_FAMILY, +vertAlign:this._vertAlign||"top",horzAlign:this._horzAlign||"left",offsetX:this._offsetX||0,offsetY:this._offsetY||0,forceTextAlign:this._forceTextAlign};if(p.points=i.isFixed()?i.fixedPoints():this._points,o.fillBackground&&o.fillBackground.value()&&(p.backgroundColor=o.backgroundColor.value()),o.drawBorder&&o.drawBorder.value()&&(p.borderColor=o.borderColor.value()),o.wordWrap&&o.wordWrap.value()&&(p.wordWrapWidth=o.wordWrapWidth.value()),p.bold=o.bold&&o.bold.value(),p.italic=o.italic&&o.italic.value(),p.highlightBorder=u.selection().isSelected(i),!i.isFixed()&&o.fixedSize&&!o.fixedSize.value()){p.scaleX=u.timeScale().barSpacing()/i.barSpacing();const e=(0,n.ensureNotNull)(a.priceRange());let t=a.height()/e.length();const r=a.logFormula();i.isPriceDencityLog()&&!a.isLog()&&(t=a.height()/((0,h.toLog)(e.maxValue(),r)-(0,h.toLog)(e.minValue(),r))),!i.isPriceDencityLog()&&a.isLog()&&(t=a.height()/((0,h.fromLog)(e.maxValue(),r)-(0,h.fromLog)(e.minValue(),r)));const s=i.priceDencity();void 0!==s&&(p.scaleY=t/s),(void 0===s||void 0===p.scaleY||p.scaleY<=0)&&delete p.scaleY}if(this._textRenderer.setData(p),this._textRenderer.isOutOfScreen(t,e))return;const g=1===p.points.length;if(g&&void 0!==this._recalculateSourcePointsOnFirstUpdate){this._renderer=null;const e=this._textRenderer.measure();return this._recalculateSourcePointsOnFirstUpdate(e.width,e.height),void(this._recalculateSourcePointsOnFirstUpdate=void 0)}if(g&&!this._noSelection){const e=new l.CompositeRenderer;e.append(this._textRenderer);const t=p.points[0].clone(),i=this._textRenderer.measure(),n=i.width,s=i.height;if(p.wordWrapWidth){const i=new r.Point(t.x+n,t.y+s/2);i.data=1,e.append(this.createLineAnchor({points:[i],pointsCursorType:_},1))}const a=new r.Point(t.x+n/2,t.y+s);return a.data=0,e.append(new d.SelectionRenderer({points:[a],bgColors:this._lineAnchorColors([a]),visible:this.areAnchorsVisible(),hittestResult:c.HitTestResult.MOVEPOINT,barSpacing:u.timeScale().barSpacing()})),void(this._renderer=e)}this._renderer=this._textRenderer}}},10319:(e,t,i)=>{"use strict";i.r(t),i.d(t,{LineToolThreeDrivesPaneView:()=>u});var n=i(33420),r=i(87088),s=i(44896),a=i(57649),o=i(6397),l=i(71172),d=i(59943),h=i(67857),c=i(54837);class u extends h.LineSourcePaneView{constructor(){super(...arguments),this._numericFormatter=new a.NumericFormatter,this._retrace1LabelRenderer=new s.TextRenderer,this._retrace12LabelRenderer=new s.TextRenderer,this._polyLineRenderer=new d.PolygonRenderer,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null;let e=NaN,t=NaN;if(this._source.points().length>=4){const[,t,i,n]=this._source.points();e=Math.round(100*Math.abs((n.price-i.price)/(i.price-t.price)))/100}if(this._source.points().length>=6){const[,,,e,i,n]=this._source.points();t=Math.round(100*Math.abs((n.price-i.price)/(i.price-e.price)))/100}if(this._points.length<2)return;const i=this._source.properties().childs(),s=new r.CompositeRenderer,a=(e,t)=>({points:[e],text:t, +color:i.textcolor.value(),vertAlign:"middle",horzAlign:"center",font:c.CHART_FONT_FAMILY,offsetX:0,offsetY:0,bold:i.bold&&i.bold.value(),italic:i.italic&&i.italic.value(),fontsize:i.fontsize.value(),backgroundColor:i.color.value(),backgroundRoundRect:4}),d=(e,t)=>({points:[e,t],color:i.color.value(),linewidth:i.linewidth.value(),linestyle:n.LINESTYLE_DOTTED,extendleft:!1,extendright:!1,leftend:l.LineEnd.Normal,rightend:l.LineEnd.Normal}),h={points:this._points,color:i.color.value(),linewidth:i.linewidth.value(),linestyle:n.LINESTYLE_SOLID,leftend:l.LineEnd.Normal,rightend:l.LineEnd.Normal,backcolor:"rgba(0, 0, 0, 0)",fillBackground:!1,filled:!1};if(this._polyLineRenderer.setData(h),s.append(this._polyLineRenderer),!isNaN(e)){const t=new o.TrendLineRenderer;t.setData(d(this._points[1],this._points[3])),s.append(t);const i=a(this._points[1].add(this._points[3]).scaled(.5),this._numericFormatter.format(e));this._retrace1LabelRenderer.setData(i),s.append(this._retrace1LabelRenderer)}if(!isNaN(t)){const e=new o.TrendLineRenderer;e.setData(d(this._points[3],this._points[5])),s.append(e);const i=a(this._points[5].add(this._points[3]).scaled(.5),this._numericFormatter.format(t));this._retrace12LabelRenderer.setData(i),s.append(this._retrace12LabelRenderer)}this.addAnchors(s),this._renderer=s}}},24216:(e,t,i)=>{"use strict";var n=i(72927).Point,r=i(67857).LineSourcePaneView,s=i(10288).HitTestResult,a=i(87088).CompositeRenderer,o=i(50968),l=i(58729).ScaledPaneRenderer;class d extends l{constructor(){super(),this._data=null}setData(e){this._data=e}_drawImpl(e){null!==this._data&&(e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,CanvasEx.setLineStyle(e,this._data.linestyle),e.save(),e.translate(this._data.point.x+1,this._data.point.y),e.scale(this._data.width,this._data.height),e.beginPath(),e.arc(.5,0,.5,Math.PI,0,!1),e.restore(),e.stroke(),this._data.fillBackground&&(e.fillStyle=o.generateColor(this._data.backcolor,this._data.transparency),e.fill()))}hitTest(e){if(null===this._data||e.y>this._data.point.y)return null;if(e.xthis._data.point.x+this._data.width)return null;var t=new n(this._data.point.x+this._data.width/2,this._data.point.y),i=e.subtract(t),r=this._data.height/this._data.width;i.y/=r;var a=i.length();return Math.abs(a-this._data.width/2)<3?new s(s.MOVEPOINT):null}}t.TimeCyclesPaneView=class extends r{constructor(e,t){super(e,t),this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){if(super._updateImpl(),this._renderer=null,!(this._points.length<2)){var e=this._source.points(),t=e[0],i=e[1],r=Math.min(t.index,i.index),s=Math.max(t.index,i.index),o=s-r,l=this._points[0],h=this._points[1],c=Math.abs(l.x-h.x),u=new a,_=this._source.properties(),p=this._model.timeScale();if(0!==o){for(var g=Math.min(l.x,h.x),f=[],v=r;g>-c;v-=o)g=p.indexToCoordinate(v),f.push(g);g=Math.max(l.x,h.x);for(v=s;g{"use strict";var n=i(72927).Point,r=i(79881).t,s=i(67857).LineSourcePaneView,a=i(56224).TrendLineStatsRenderer,o=i(44896).TextRenderer,l=i(6397).TrendLineRenderer,d=i(87088).CompositeRenderer,h=i(62159).PercentageFormatter,c=i(73301).SelectionRenderer,u=i(85421).PipFormatter,_=i(71172).LineEnd,p=i(3785).LabelSettings,g=i(54837),f=i(10288).HitTestResult,v=i(58729).ScaledPaneRenderer,x=i(58729).ScaledPaneRendererWrapper,w=i(76553).forceLTRStr;class m extends v{constructor(){super(),this._data=null}setData(e){this._data=e}hitTest(){return null}_drawImpl(e){if(null!==this._data){e.save(),e.translate(this._data.point.x,this._data.point.y),e.strokeStyle=this._data.color;var t=[1,2];"function"==typeof e.setLineDash?e.setLineDash(t):void 0!==e.mozDash?e.mozDash=t:void 0!==e.webkitLineDash&&(e.webkitLineDash=t);var i=this._data.size;e.beginPath(),e.moveTo(0,0),e.lineTo(i,0),e.arc(0,0,i,0,-this._data.angle,this._data.angle>0),e.stroke(),e.restore()}}}t.TrendAnglePaneView=class extends s{constructor(e,t){super(e,t),this._label=null,this._rendererCache={},this._pipFormatter=null,this._lastSymbolInfo=null,this._trendLineRenderer=new l,this._angleRenderer=new m,this._angleLabelRenderer=new o,this._renderer=null}_updateImpl(){if(super._updateImpl(),this._renderer=null,this._points.length>0&&void 0!==this._source._angle){var e=this._points[0],t=Math.cos(this._source._angle),i=-Math.sin(this._source._angle),s=new n(t,i);this._secondPoint=e.addScaled(s,this._source._distance),this._secondPoint.data=1,this._middlePoint=this._source.calcMiddlePoint(this._points[0],this._secondPoint)}if(this._label=null,!(this._source.points().length<2)){e=this._source.points()[0];var o,l,v=this._source.points()[1],m=[];if(this._source.properties().showPriceRange.value()&&this._source.priceScale()){var R=v.price-e.price,y=R/Math.abs(e.price);o=this._source.ownerSource().formatter().format(R)+" ("+(new h).format(100*y)+") ";var T=this._model.mainSeries().symbolInfo();T&&T!==this._lastSymbolInfo&&(this._pipFormatter=new u(T.pricescale,T.minmov,T.type,T.minmove2),this._lastSymbolInfo=T),o+=this._pipFormatter?", "+this._pipFormatter.format(R):"",m.push("priceRange")}if(this._source.properties().showBarsRange.value()){l="";var b=v.index-e.index;l+=r("{count} bars").format({count:w(b)}),m.push("barsRange")}this._label=[w(o),l].filter((function(e){return e})).join("\n")||null,this._icons=m;var L=new d,S={},P=this.isHoveredSource()||this.isSelectedSource()||this._source.properties().alwaysShowStats.value(),C=(this.isHoveredSource()||this.isSelectedSource())&&this._source.properties().showMiddlePoint.value();if(this._secondPoint&&this._points.length>0){var M=this._source.properties().linecolor.value();if(S.points=[this._points[0],this._secondPoint], +S.width=this._model.timeScale().width(),S.height=this._source.priceScale().height(),S.color=M,S.linewidth=this._source.properties().linewidth.value(),S.linestyle=this._source.properties().linestyle.value(),S.extendleft=this._source.properties().extendLeft.value(),S.extendright=this._source.properties().extendRight.value(),S.leftend=_.Normal,S.rightend=_.Normal,this._trendLineRenderer.setData(S),L.append(this._trendLineRenderer),P&&this._label&&2===this._points.length){var I=this._source.properties().statsPosition.value(),N=this._source.getPointByPosition(I,S.points[0],this._middlePoint,S.points[1]),D=this._model.isDark(),A=D?p.bgColorDark:p.bgColorLight,k=D?p.textColorDark:p.textColorLight,E={points:[N],text:this._label,color:k,isDark:D,font:g.CHART_FONT_FAMILY,fontSize:p.fontSize,lineSpacing:p.lineSpacing,backgroundColor:A,backgroundRoundRect:p.rectRadius,paddingLeft:p.paddingLeftRight,paddingRight:p.paddingLeftRight,paddingTop:p.paddingTopBottom,paddingBottom:p.paddingTopBottom,textPadding:p.textPadding,doNotAlignText:!0,icons:this._icons},B=p.offset;E.offsetX=B,E.offsetY=B,(this._points[1].ythis._points[0].y&&this._points[1].x>this._points[0].x)&&(E.vertAlign="bottom"),L.append(new x(new a(E,this._rendererCache)))}this._middlePoint&&L.append(new c({points:[this._middlePoint],bgColors:this._lineAnchorColors([this._middlePoint]),color:M,visible:C&&this.areAnchorsVisible(),hittestResult:f.REGULAR}));var O={};O.point=this._points[0],O.angle=this._source._angle,O.color=this._source.properties().linecolor.value(),O.size=50,this._angleRenderer.setData(O),L.append(this._angleRenderer);var H=Math.round(180*O.angle/Math.PI)+"º";(N=this._points[0].clone()).x=N.x+50;var z={points:[N],text:w(H),color:this._source.properties().textcolor.value(),horzAlign:"left",font:g.CHART_FONT_FAMILY,offsetX:5,offsetY:0,bold:this._source.properties().bold.value(),italic:this._source.properties().italic.value(),fontsize:this._source.properties().fontsize.value(),vertAlign:"middle"};this._angleLabelRenderer.setData(z),L.append(this._angleLabelRenderer)}0,this._secondPoint&&this._points.length>0&&L.append(this.createLineAnchor({points:[this._points[0],this._secondPoint]},0)),this._renderer=L}}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}}},67390:(e,t,i)=>{"use strict";var n=i(72927).Point,r=i(72095).RectangleRenderer,s=i(6397).TrendLineRenderer,a=i(68791).PaneRendererCachedImage,o=i(10288).HitTestResult,l=i(87088).CompositeRenderer,d=i(71172).LineEnd,h=i(75235).fibLevelCoordinate,c=i(44993).LineToolPaneViewWithLevelledTextCache,u=i(57583).LevelledLineToolLabelsCache;class _ extends u{_selectStartPrice(e){return e.points()[2].price}priceRange(e,t){var i=this.points(e),n=i[0],r=i[1],s=t?n.price-r.price:r.price-n.price;if(!this._calculateLogLevels(e))return{price:s};var a=e.priceScale(),o=e.ownerSource().firstValue(),l=a.priceToCoordinate(n.price,o),d=a.priceToCoordinate(r.price,o);return{price:s,coordinate:t?l-d:d-l}}} +t.TrendBasedFibExtensionPaneView=class extends c{constructor(e,t){super(e,t),this._rendererCache={},this._trendLineRendererPoints12=new s,this._trendLineRendererPoints23=new s,this._renderer=null}getCacheRects(e,t){super.getCacheRects(e,t);var i=this._cacheState.preparedCells.cells[this._levels[t].index-1];if(i){var r=this._points[1],s=this._points[2],a=Math.min(r.x,s.x),o=Math.max(r.x,s.x);r=new n(a,this._levels[t].y),s=new n(o,this._levels[t].y);var l,d=this._source.properties(),h=d.extendLines.value()?this._model.timeScale().width():o;switch(d.horzLabelsAlign.value()){case"left":l=r;break;case"center":(l=r.add(s).scaled(.5)).x+=i.width/2,l.x=Math.round(l.x);break;case"right":d.extendLines.value()?l=new n(h-4,this._levels[t].y):((l=new n(h+4,this._levels[t].y)).x+=i.width,l.x=Math.round(l.x))}var c={left:i.left,top:this._cache.topByRow(this._cacheState.row),width:i.width,height:this._cache.rowHeight(this._cacheState.row)},u={left:l.x-c.width,top:l.y,width:i.width,height:c.height},_=d.vertLabelsAlign.value();return"middle"===_&&(u.top-=u.height/2),"bottom"===_&&(u.top-=u.height),{cacheRect:c,targetRect:u}}}_createCache(e){return new _(this._source.properties().fibLevelsBasedOnLogScale,this._source.levelsCount(),e)}_updateImpl(){if(super._updateImpl(),this._renderer=null,3===this._source.points().length){var e=this._source.priceScale();if(!e||e.isEmpty()||this._model.timeScale().isEmpty())return;var t=this._source.ownerSource().firstValue();if(null==t)return;var i=this._source.points()[0],c=this._source.points()[1],u=this._source.points()[2],_=!1;(C=this._source.properties()).reverse&&C.reverse.value()&&(_=C.reverse.value()),this._levels=[];var p,g,f=_?i.price:c.price,v=_?c.price:i.price,x=f-v,w=e.isLog()&&C.fibLevelsBasedOnLogScale.value();if(w)p=e.priceToCoordinate(f,t)-e.priceToCoordinate(v,t),g=e.priceToCoordinate(u.price,t);for(var m={price:u.price,coordinate:g},R={price:x,coordinate:p},y=this._source.levelsCount(),T=1;T<=y;T++){var b=C["level"+T];if(b.visible.value()){var L=b.coeff.value(),S=b.color.value(),P=h(m,R,L,e,t,w);this._levels.push({color:S,price:e.coordinateToPrice(P,t),y:P,linewidth:C.levelsStyle.linewidth.value(),linestyle:C.levelsStyle.linestyle.value(),index:T})}}}if(!(this._points.length<2)){var C,M=new l;i=this._points[0],c=this._points[1];if((C=this._source.properties()).trendline.visible.value()){var I={points:[i,c],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:C.trendline.color.value(),linewidth:C.trendline.linewidth.value(),linestyle:C.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:d.Normal,rightend:d.Normal};this._trendLineRendererPoints12.setData(I),M.append(this._trendLineRendererPoints12)}if(this._points.length<3)return this.addAnchors(M),void(this._renderer=M);u=this._points[2];if(C.trendline.visible.value()){I={points:[c,u],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:C.trendline.color.value(),linewidth:C.trendline.linewidth.value(),linestyle:C.trendline.linestyle.value(),extendleft:!1, +extendright:!1,leftend:d.Normal,rightend:d.Normal};this._trendLineRendererPoints23.setData(I),M.append(this._trendLineRendererPoints23)}var N=Math.min(u.x,c.x),D=Math.max(u.x,c.x),A=C.fillBackground.value(),k=C.transparency.value(),E=C.extendLinesLeft.value(),B=C.extendLines.value();if(A)for(T=0;T0&&A){var O=this._levels[T-1],H=(i=new n(N,this._levels[T].y),c=new n(D,O.y),{});H.points=[i,c],H.color=this._levels[T].color,H.linewidth=0,H.backcolor=this._levels[T].color,H.fillBackground=!0,H.transparency=k,H.extendLeft=E,H.extendRight=B;var z=new r(void 0,void 0,!0);z.setData(H),M.append(z)}var V=N,W=D;V===W&&(E&&(V-=1),B&&(W+=1));for(T=0;T{"use strict";var n=i(72927).Point,r=i(69819).VerticalLineRenderer,s=i(67857).LineSourcePaneView,a=i(44896).TextRenderer,o=i(72095).RectangleRenderer,l=i(6397).TrendLineRenderer,d=i(10288).HitTestResult,h=i(87088).CompositeRenderer,c=i(71172).LineEnd,u=i(54837);t.TrendBasedFibTimePaneView=class extends s{constructor(e,t){super(e,t),this._trendLineRendererPoints12=new l,this._trendLineRendererPoints23=new l,this._renderer=null}_updateImpl(){if(super._updateImpl(),this._renderer=null,3===this._source.points().length){if(!this._source.priceScale()||this._source.priceScale().isEmpty()||this._model.timeScale().isEmpty())return;var e=this._source.points()[0],t=this._source.points()[1],i=this._source.points()[2];if(this._levels=[],t.index===e.index)return;var s=t.index-e.index,l=this._source.properties(),_=i.index;if(null===this._model.timeScale().visibleBarsStrictRange())return;for(var p=1;p<=11;p++){var g=l["level"+p];if(g.visible.value()){var f=g.coeff.value(),v=g.color.value(),x=Math.round(_+f*s),w={x:this._model.timeScale().indexToCoordinate(x),coeff:f,color:v,linewidth:g.linewidth.value(),linestyle:g.linestyle.value(),index:p};l.showCoeffs.value()&&(w.text=f,w.y=this._source.priceScale().height()),this._levels.push(w)}}}if(!(this._points.length<2)){var m=new h;e=this._points[0],t=this._points[1];if((l=this._source.properties()).trendline.visible.value()){var R={points:[e,t],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:l.trendline.color.value(),linewidth:l.trendline.linewidth.value(),linestyle:l.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:c.Normal,rightend:c.Normal};this._trendLineRendererPoints12.setData(R), +m.append(this._trendLineRendererPoints12)}if(this._points.length<3)return this.addAnchors(m),void(this._renderer=m);i=this._points[2];if(l.trendline.visible.value()){R={points:[t,i],width:this._model.timeScale().width(),height:this._source.priceScale().height(),color:l.trendline.color.value(),linewidth:l.trendline.linewidth.value(),linestyle:l.trendline.linestyle.value(),extendleft:!1,extendright:!1,leftend:c.Normal,rightend:c.Normal};this._trendLineRendererPoints23.setData(R),m.append(this._trendLineRendererPoints23)}var y=l.fillBackground.value(),T=l.transparency.value(),b=this._model.timeScale().width(),L=this._source.priceScale().height();if(y)for(p=1;p{"use strict";var n;i.d(t,{LabelSettings:()=>n}),function(e){e.offset=8,e.fontSize=12,e.lineSpacing=16,e.rectRadius=4,e.bgColorLight="rgba(227,242,253,0.9)",e.bgColorDark="rgba(67,70,81,0.9)",e.textColorLight="#2A2E39",e.textColorDark="#F8F9FD",e.textPadding=10,e.paddingTopBottom=13,e.paddingLeftRight=10}(n||(n={}))},45127:(e,t,i)=>{"use strict";var n=i(16282).ensureNotNull,r=i(72927).Point,s=i(79881).t,a=i(67857).LineSourcePaneView,o=i(68791).PaneRendererCachedImage,l=i(87088).CompositeRenderer,d=i(62159).PercentageFormatter,h=i(57649).NumericFormatter,c=i(1953).TimeSpanFormatter,u=i(85421).PipFormatter,_=i(73301).SelectionRenderer,p=i(6397).TrendLineRenderer,g=i(44896).TextRenderer,f=i(3785).LabelSettings,v=i(54837),x=i(10288).HitTestResult,w=i(45188).TrendLineStatsCache,m=i(8356).areEqualPaneRenderParams,R=i(56224).iconsContainer,y=i(76553),T=y.forceLTRStr,b=y.startWithLTR;t.TrendLinePaneView=class extends a{constructor(e,t){super(e,t),this._label=null,this._rendererCache={},this._cacheInvalidated=!0,this._percentageFormatter=new d,this._numericFormatter=new h,this._pipFormatter=null, +this._lastSymbolInfo=null,this._trendRenderer=new p,this._labelRenderer=new g,this._renderer=null,this._cache=null,this._cacheDrawParams=null,this._iconsReady=!1,R.onAllIconsReady().subscribe(this,(function(){this._cache&&(this._cache.destroy(),this._cache=null),this._iconsReady=!0,t.lightUpdate()}))}iconsReady(){return this._iconsReady}update(){super.update(),this._cacheInvalidated=!0}getCacheCanvas(e){return this._createCacheIfRequired(e),n(this._cache).canvas()}getCacheRects(e,t){this._createCacheIfRequired(e);var i=this._source.properties().statsPosition.value(),n=this._source.getPointByPosition(i,this._points[0],this._middlePoint,this._points[1]),r={left:0,top:this._cache.topByRow(this._statCache.rowIndex),width:this._cache.rowWidth(this._statCache.rowIndex),height:this._cache.rowHeight(this._statCache.rowIndex)},s={left:Math.floor(n.x),top:Math.floor(n.y),width:r.width,height:r.height};return s.left+=f.paddingLeftRight,this._points[1].ythis._points[0].y&&this._points[1].x>this._points[0].x?s.top-=f.paddingLeftRight+s.height:s.top+=f.paddingLeftRight,{cacheRect:r,targetRect:s}}_createCacheIfRequired(e){null!=this._cache&&null!=this._cacheDrawParams&&m(e,this._cacheDrawParams)||(this._cache&&this._cache.destroy(),this._cache=new w(e),this._statCache=this._cache.updateSource(this._source,function(){return this._statLabelData()}.bind(this)),this._cacheDrawParams=e,this._cacheInvalidated=!1),this._cacheInvalidated&&(this._cacheState=this._cache.updateSource(this._source,function(){return this._statLabelData()}.bind(this)),this._cacheInvalidated=!1)}destroy(){this._cache&&(this._cache.destroy(),this._cache=null),R.onAllIconsReady().unsubscribeAll(this)}_updateImpl(){this._renderer=null,this._invalidated=!1;var e=this._source.priceScale(),t=this._model.timeScale();if(e&&!e.isEmpty()&&!t.isEmpty()){var i=this._model.timeScale().visibleBarsStrictRange();if(null!==i){var n=this._source.points();if(!(n.length<2)){var s=n[0],a=n[1],d=this._source.properties();if((!(s.index0){s=this._points[0],a=this._points[1];var b,L=s.x0&&(a=a.normalized(),w=Math.acos(a.x),a.y>0&&(w=-w)),"number"!=typeof w||TradingView.isNaN(w)||(i=Math.round(180*w/Math.PI)+"º",p.push("angle")));this._label=[T(e),t,i].filter((function(e){return e})).join("\n")||null,this._icons=p;var N=this._model.isDark(),D=N?f.bgColorDark:f.bgColorLight,A=N?f.textColorDark:f.textColorLight,k={points:[this._points[1]],text:this._label,color:A,isDark:N,font:v.CHART_FONT_FAMILY,fontSize:f.fontSize,lineSpacing:f.lineSpacing,backgroundColor:D,backgroundRoundRect:f.rectRadius,paddingLeft:f.paddingLeftRight,paddingRight:f.paddingLeftRight,paddingTop:f.paddingTopBottom,paddingBottom:f.paddingTopBottom,textPadding:f.textPadding,doNotAlignText:!0,icons:this._icons};return this._points[1].y{"use strict";i.d(t,{TrendLineStatsCache:()=>g}) +;var n=i(16282),r=i(72927),s=i(65447),a=i(56224),o=i(54837),l=i(3785),d=i(16932),h=l.LabelSettings.fontSize,c=l.LabelSettings.lineSpacing,u=l.LabelSettings.paddingTopBottom;const _=(0,s.getLogger)("Chart.LineToolTrendLine");function p(e,t){return!(!e&&!t)&&(!(!e||t)||(!(e||!t)||(e.index!==t.index||e.price!==t.price)))}class g{constructor(e){this._sourcesToRow=new Map,this._rowsToSources=new Map,this._currentWidth=400,this._actualCapacity=1,this._currentSymbol="",this._params=e;const t=c,i=h+t;this._maxRowHeight=3*i-t+2*u+2,this._recreateCanvas()}destroy(){delete this._canvas,delete this._ctx}canvas(){return this._canvas}topByRow(e){return e*this._maxRowHeight}rowHeight(e){const t=(0,n.ensureDefined)(this._rowsToSources.get(e)),i=(0,n.ensureDefined)(this._sourcesToRow.get(t)).effectiveState;return null!==i?i.realRowHeight:this._maxRowHeight}rowWidth(e){const t=(0,n.ensureDefined)(this._rowsToSources.get(e));return(0,n.ensureDefined)(this._sourcesToRow.get(t)).width}currentWidth(){return this._currentWidth}updateSource(e,t){const i=e.properties().symbol.value();this._currentSymbol!==i&&(_.logDebug("TrendLineCache. Clearing canvas because of changing symbol from "+this._currentSymbol+" to "+i),this._currentSymbol=i,this._sourcesToRow.clear(),this._rowsToSources.clear());const n=e.id();let r=this._sourcesToRow.get(n);if(void 0===r){const e=this._findEmptyRow(n);r={effectiveState:null,rowIndex:e,width:0},this._sourcesToRow.set(n,r),this._rowsToSources.set(e,n)}const s=r.effectiveState,a=this._effectiveState(e);if(!this._effectiveStatesEquals(s,a)){const e=t();this._repaintSource(n,r.rowIndex,e),r.effectiveState=a}return r}_findEmptyRow(e){let t=0;for(;void 0!==this._rowsToSources.get(t);)t++;return this._rowsToSources.set(t,e),t>=this._actualCapacity&&(this._actualCapacity++,this._recreateCanvas()),t}_effectiveState(e){const t=e.properties(),i=t.showBarsRange.value(),r=t.showDateTimeRange.value(),s=t.showDistance.value(),a=t.showPriceRange.value(),o=t.showAngle.value();let l=0;(i||r||s)&&l++,o&&l++,a&&l++;const d=(h+c)*l-c+2*u+2;return{p1:Object.assign({},e.points()[0]),p2:Object.assign({},e.points()[1]),props:e.properties(),showBars:i,showTimeRange:r,showDistance:s,showPriceRange:a,showAngle:o,dark:e.model().isDark(),priceRange:(0,n.ensureNotNull)((0,n.ensureNotNull)(e.priceScale()).priceRange()).state(),barSpacing:e.model().timeScale().barSpacing(),realRowHeight:d}}_effectiveStatesEquals(e,t){if(null!==e&&null===t)return!1;if(null===e&&null!==t)return!1;const i=(0,n.ensureNotNull)(e),r=(0,n.ensureNotNull)(t);if(p(i.p1,r.p1))return!1;if(p(i.p2,r.p2))return!1;if(i.dark!==r.dark)return!1;if(i.showBars!==r.showBars)return!1;if(i.showTimeRange!==r.showTimeRange)return!1;if(i.showDistance!==r.showDistance)return!1;if(i.showPriceRange!==r.showPriceRange)return!1;if(i.showAngle!==r.showAngle)return!1;if(i.showAngle||i.showDistance){if(i.priceRange.min!==r.priceRange.min)return!1;if(i.priceRange.max!==r.priceRange.max)return!1;if(i.barSpacing!==r.barSpacing)return!1}return!0}_repaintSource(e,t,i){i.points[0]=new r.Point(0,0), +i.offsetX=0,i.offsetY=0,delete i.horzAlign,delete i.vertAlign,(0,d.drawScaled)(this._ctx,this._params.pixelRatio,()=>{this._ctx.translate(.5,this.topByRow(t)+.5),this._ctx.clearRect(0,0,this._currentWidth,this._maxRowHeight);const r=new a.TrendLineStatsRenderer(i,{widths:[]}).draw(this._ctx,this._params);(0,n.ensureDefined)(this._sourcesToRow.get(e)).width=r.width})}_recreateCanvas(){this._canvas=(0,n.ensureNotNull)(document.createElement("canvas")),this._canvas.width=this._currentWidth*this._params.pixelRatio,this._canvas.height=this._maxRowHeight*this._actualCapacity*this._params.pixelRatio,this._ctx=(0,n.ensureNotNull)(this._canvas.getContext("2d")),this._ctx.font=`${h}px ${o.CHART_FONT_FAMILY}`,this._sourcesToRow.clear(),this._rowsToSources.clear()}}},90137:(e,t,i)=>{"use strict";i.r(t),i.d(t,{LineToolTrianglePatternPaneView:()=>_});var n=i(16282),r=i(72927),s=i(33420),a=i(87088),o=i(6397),l=i(18614),d=i(44896),h=i(71172),c=i(67857),u=i(54837);class _ extends c.LineSourcePaneView{constructor(){super(...arguments),this._trendLineRendererPoints01=new o.TrendLineRenderer,this._trendLineRendererPoints12=new o.TrendLineRenderer,this._trendLineRendererPoints23=new o.TrendLineRenderer,this._intersectionRenderer=new l.TriangleRenderer,this._aLabelRenderer=new d.TextRenderer,this._bLabelRenderer=new d.TextRenderer,this._cLabelRenderer=new d.TextRenderer,this._dLabelRenderer=new d.TextRenderer,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null;const[e,t,i,o]=this._points;let l,d,c;if(4===this._points.length){if(Math.abs(i.x-e.x)<1||Math.abs(o.x-t.x)<1)return;let n=Math.min(e.x,t.x);n=Math.min(n,i.x),n=Math.min(n,o.x);const s=(i.y-e.y)/(i.x-e.x),a=e.y+(n-e.x)*s,h=(o.y-t.y)/(o.x-t.x),u=t.y+(n-t.x)*h;if(Math.abs(s-h)<1e-6)return;d=new r.Point(n,a),c=new r.Point(n,u);const _=(t.y-e.y+(e.x*s-t.x*h))/(s-h);if(_({points:[e],text:t,color:_.textcolor.value(),vertAlign:"middle",horzAlign:"center",font:u.CHART_FONT_FAMILY,offsetX:0,offsetY:0,bold:_.bold&&_.bold.value(),italic:_.italic&&_.italic.value(),fontsize:_.fontsize.value(),backgroundColor:_.color.value(),backgroundRoundRect:4}),f=(e,t)=>({points:[e,t],color:_.color.value(),linewidth:_.linewidth.value(),linestyle:s.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:h.LineEnd.Normal,rightend:h.LineEnd.Normal});if(this._trendLineRendererPoints01.setData(f(e,t)),p.append(this._trendLineRendererPoints01),this._points.length>=3&&(this._trendLineRendererPoints12.setData(f(t,i)),p.append(this._trendLineRendererPoints12)),4===this._points.length&&(this._trendLineRendererPoints23.setData(f(i,o)),p.append(this._trendLineRendererPoints23),l)){const e={points:[(0,n.ensureDefined)(d),(0,n.ensureDefined)(c),l], +color:_.color.value(),linewidth:_.linewidth.value(),backcolor:_.backgroundColor.value(),fillBackground:_.fillBackground.value(),transparency:_.transparency.value(),linestyle:s.LINESTYLE_DOTTED};this._intersectionRenderer.setData(e),p.append(this._intersectionRenderer)}const v=g(e,"A");t.y>e.y?(v.vertAlign="bottom",v.offsetY=5):(v.vertAlign="top",v.offsetY=5),this._aLabelRenderer.setData(v),p.append(this._aLabelRenderer);const x=g(t,"B");if(t.y2){const e=g(i,"C");i.y3){const e=g(o,"D");o.y{"use strict";var n=i(67857).LineSourcePaneView,r=i(87088).CompositeRenderer,s=i(18614).TriangleRenderer;t.TrianglePaneView=class extends n{constructor(e,t){super(e,t),this._triangleRenderer=new s,this._renderer=null}renderer(e,t){return this._invalidated&&this._updateImpl(),this._renderer}_updateImpl(){super._updateImpl(),this._renderer=null;var e={};e.points=this._points,e.color=this._source.properties().color.value(),e.linewidth=this._source.properties().linewidth.value(),e.backcolor=this._source.properties().backgroundColor.value(),e.fillBackground=this._source.properties().fillBackground.value(),e.transparency=this._source.properties().transparency.value(),this._triangleRenderer.setData(e);var t=new r;t.append(this._triangleRenderer),this.addAnchors(t),this._renderer=t}}},73184:(e,t,i)=>{"use strict";i.r(t),i.d(t,{VertLinePaneView:()=>u});var n=i(72927),r=i(87088),s=i(44896),a=i(10992),o=i(69819),l=i(67857),d=i(10288),h=i(54837);const c=[a.PaneCursorType.HorizontalResize];class u extends l.LineSourcePaneView{constructor(e,t,i){super(e,t),this._lineRenderer=new o.VerticalLineRenderer,this._labelRenderer=new s.TextRenderer,this._renderer=null,this._pane=i}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_validatePriceScale(){return!0}_updateImpl(e,t){if(super._updateImpl(),this._renderer=null,0===this._points.length)return;const i=this._source.properties().childs(),s={x:this._points[0].x,color:i.linecolor.value(),linewidth:i.linewidth.value(),linestyle:i.linestyle.value()},a=s.linewidth/2+1;let o=s.x<-a||s.x>t+a;this._lineRenderer.setData(s),this._lineRenderer.setHitTest(new d.HitTestResult(d.HitTestResult.MOVEPOINT,{snappingIndex:this._source.points()[0].index}));const l=new r.CompositeRenderer;if(l.append(this._lineRenderer),i.showLabel.value()&&i.text.value().length>0&&this._source.model().paneForSource(this._source)===this._pane){let r=0,s=5,a="center",d="middle";const c=this._points[0].x;let u=0;switch(i.vertLabelsAlign.value()){case"top":u=e;break;case"middle":u=e/2;break;case"bottom":u=0} +if("horizontal"===i.textOrientation.value()){switch(i.horzLabelsAlign.value()){case"left":a="right";break;case"right":a="left";break;case"center":a="center"}switch(i.vertLabelsAlign.value()){case"top":d="bottom";break;case"middle":d="middle";break;case"bottom":d="top"}}else{switch(r=-Math.PI/2,s=0,i.horzLabelsAlign.value()){case"left":d="bottom";break;case"right":d="top";break;case"center":d="middle"}switch(i.vertLabelsAlign.value()){case"top":a="left";break;case"middle":a="center";break;case"bottom":a="right"}}const _={points:[new n.Point(c,u)],text:i.text.value(),color:i.textcolor.value(),vertAlign:d,horzAlign:a,font:h.CHART_FONT_FAMILY,offsetX:s,offsetY:0,bold:i.bold.value(),italic:i.italic.value(),fontsize:i.fontsize.value(),forceTextAlign:!0,angle:r};this._labelRenderer.setData(_),l.append(this._labelRenderer),o=o&&this._labelRenderer.isOutOfScreen(t,e)}if(!o){if(1===this._points.length){const t=new n.Point(this._points[0].x,e/2);t.data=0,t.square=!0,t.snappingIndex=this._source.points()[0].index,l.append(this.createLineAnchor({points:[t],pointsCursorType:c},0))}this._renderer=l}}}},68791:(e,t,i)=>{"use strict";i.d(t,{PaneRendererCachedImage:()=>a});var n=i(72927),r=i(71044),s=i(10288);class a{constructor(e,t){this._cacheRect=null,this._targetRect=null,this._cacheProvider=e,this._index=t}draw(e,t){const i=this._cacheProvider.getCacheRects(t,this._index);if(null===i)return this._cacheRect=null,void(this._targetRect=null);if(this._cacheRect=i.cacheRect,this._targetRect=i.targetRect,0===this._cacheRect.width||0===this._cacheRect.height||0===this._targetRect.width||0===this._targetRect.height)return;e.save(),e.setTransform(1,0,0,1,0,0);const n=t.pixelRatio,r=this._cacheProvider.getCacheCanvas(t);e.drawImage(r,Math.round(this._cacheRect.left*n),Math.round(this._cacheRect.top*n),this._cacheRect.width*n,this._cacheRect.height*n,Math.round(this._targetRect.left*n),Math.round(this._targetRect.top*n),this._targetRect.width*n,this._targetRect.height*n),e.restore()}hitTest(e){if(null===this._targetRect)return null;const t=new n.Point(this._targetRect.left,this._targetRect.top),i=t.add(new n.Point(this._targetRect.width,this._targetRect.height));return(0,r.pointInBox)(e,(0,n.box)(t,i))?new s.HitTestResult(s.HitTestResult.REGULAR):null}}},93572:(e,t,i)=>{"use strict";i.d(t,{ArcWedgeRenderer:()=>a});var n=i(10288),r=i(50968),s=i(58729);class a extends s.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null,this._hitTest=new n.HitTestResult(n.HitTestResult.MOVEPOINT),this._backHitTest=new n.HitTestResult(n.HitTestResult.MOVEPOINT_BACKGROUND)}setData(e){this._data=e}setHitTest(e){this._hitTest=e}hitTest(e){if(null===this._data)return null;const t=e.subtract(this._data.center),i=t.length();if(Math.abs(i-this._data.radius)<=4){const t=e.subtract(this._data.p1).length(),i=e.subtract(this._data.p2).length();if(Math.max(t,i)<=this._data.p1.subtract(this._data.p2).length())return this._hitTest}if(this._data.fillBackground&&i<=this._data.radius){ +const e=this._data.p1.subtract(this._data.center).normalized(),i=this._data.p2.subtract(this._data.center).normalized(),n=t.normalized(),r=e.dotProduct(i),s=n.dotProduct(e),a=n.dotProduct(i);if(s>=r&&a>=r)return this._backHitTest}return null}_drawImpl(e){if(null!==this._data&&(e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,e.beginPath(),e.arc(this._data.center.x,this._data.center.y,this._data.radius,this._data.edge1,this._data.edge2,!0),e.stroke(),this._data.fillBackground)){if(e.arc(this._data.center.x,this._data.center.y,this._data.prevRadius,this._data.edge2,this._data.edge1,!1),this._data.gradient){const t=e.createRadialGradient(this._data.center.x,this._data.center.y,this._data.prevRadius,this._data.center.x,this._data.center.y,this._data.radius);t.addColorStop(0,(0,r.generateColor)(this._data.color1,this._data.transparency)),t.addColorStop(1,(0,r.generateColor)(this._data.color2,this._data.transparency)),e.fillStyle=t}else e.fillStyle=(0,r.generateColor)(this._data.color,this._data.transparency,!0);e.fill()}}}},41454:(e,t,i)=>{"use strict";i.d(t,{quadroBezierHitTest:()=>r,cubicBezierHitTest:()=>s,extendQuadroBezier:()=>a});var n=i(89684);function r(e,t,i,r,s){const a=i.subtract(e).length()+i.subtract(t).length(),o=Math.max(3/a,.02);let l;for(let a=0;;a+=o){a>1&&(a=1);const o=e.scaled((1-a)*(1-a)),d=i.scaled(2*a*(1-a)),h=t.scaled(a*a),c=o.add(d).add(h);if(void 0!==l){if((0,n.distanceToSegment)(c,l,r).distance1&&(o=1);const l=e.scaled((1-o)*(1-o)*(1-o)),h=i.scaled(3*(1-o)*(1-o)*o),c=r.scaled(3*(1-o)*o*o),u=t.scaled(o*o*o),_=l.add(h).add(c).add(u);if(void 0!==d){if((0,n.distanceToSegment)(_,d,s).distance=0&&o<=n&&s.push(a[r])}const d=o(e.x,t.x,i.x,0).concat(o(e.x,t.x,i.x,n));for(let n=0;n=0&&a<=r&&s.push(d[n])}return s}(e,t,i,n,r).filter(e=>e>1).sort((e,t)=>e-t);t.x>=0&&t.x<=n&&t.y>=0&&t.y<=r&&a.unshift(1);const d=3/s,h=[];for(let n=0;n0){l[l.length-1].subtract(h).length()<2&&(o+=r,r*=2)}l.push(h),s+=r}l.length>0&&h.push(l)}return h}function o(e,t,i,n){const r=[],s=e-2*i+t,a=2*i-2*e,o=e-n;if(Math.abs(s)>1e-8){const e=a*a-4*s*o;e>=0&&(r.push((-a+Math.sqrt(e))/(2*s)),r.push((-a-Math.sqrt(e))/(2*s)))}else r.push(-o/a);return r}function l(e,t,i,n){return(1-n)*(1-n)*e+2*(1-n)*n*i+n*n*t}},16758:(e,t,i)=>{"use strict";i.d(t,{ChannelRenderer:()=>c}) +;var n=i(16282),r=i(72927),s=i(71044),a=i(89684),o=i(95196),l=i(10288),d=i(50968),h=i(58729);class c extends h.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e,t){if(null===this._data||!this._data.hittestOnBackground)return null;const i=this._visiblePolygon(t);return null!==i&&(0,s.pointInPolygon)(e,i)?new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND):null}_drawImpl(e,t){if(null===this._data)return;const i=this._visiblePolygon(t);if(null!==i){e.beginPath(),e.moveTo(i[0].x,i[0].y);for(let t=1;t{"use strict";i.d(t,{DisjointChannelRenderer:()=>_});var n=i(16282),r=i(72927),s=i(71044),a=i(89684),o=i(95196),l=i(33420),d=i(10288),h=i(21498),c=i(50968),u=i(58729);class _{constructor(){this._parallelChannelRenderer=new h.ParallelChannelRenderer,this._disjointChannelIntersectionRenderer=new p,this._selectedRenderer=this._disjointChannelIntersectionRenderer}setData(e){if(e.points.length<4)return;const[t,i,n,s]=e.points;if((0,r.equalPoints)(t,i)||(0,r.equalPoints)(n,s)||(0,a.distanceToLine)(t,i,n).distance<1e-6&&(0,a.distanceToLine)(t,i,s).distance<1e-6)this._selectedRenderer=null;else{null!==(0,o.intersectLines)((0,r.lineThroughPoints)(t,i),(0,r.lineThroughPoints)(n,s))?(this._disjointChannelIntersectionRenderer.setData(e),this._selectedRenderer=this._disjointChannelIntersectionRenderer):(this._parallelChannelRenderer.setData({extendleft:e.extendleft,extendright:e.extendright,points:[t,i,s,n],fillBackground:!0,backcolor:e.backcolor,transparency:e.transparency,color:"rgba(0,0,0,0)",linestyle:l.LINESTYLE_SOLID,linewidth:0,showMidline:!1,hittestOnBackground:e.hittestOnBackground}),this._selectedRenderer=this._parallelChannelRenderer)}}hitTest(e,t){return null!==this._selectedRenderer?this._selectedRenderer.hitTest(e,t):null}draw(e,t){null!==this._selectedRenderer&&this._selectedRenderer.draw(e,t)}}class p extends u.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e,t){if(null===this._data||!this._data.hittestOnBackground)return null;for(const i of this._visiblePolygons(t))if((0,s.pointInPolygon)(e,i))return new d.HitTestResult(d.HitTestResult.MOVEPOINT_BACKGROUND) +;return null}_drawImpl(e,t){if(!(null===this._data||this._data.points.length<4)){e.fillStyle=(0,c.generateColor)(this._data.backcolor,this._data.transparency);for(const i of this._visiblePolygons(t)){e.beginPath(),e.moveTo(i[0].x,i[0].y);for(let t=1;t{"use strict";i.d(t,{EllipseRendererSimple:()=>d});var n=i(10288),r=i(57968),s=i(72927),a=i(50968),o=i(5025),l=i(58729);class d extends l.ScaledPaneRenderer{constructor(e,t,i){super(),this._data=e,this._hitTest=t||new n.HitTestResult(n.HitTestResult.MOVEPOINT),this._backgroundHitTest=i||new n.HitTestResult(n.HitTestResult.MOVEPOINT_BACKGROUND)}hitTest(e){if(this._data.points.length<2)return null;const t=this._data.points[0],i=this._data.points[1],n=.5*Math.abs(t.x-i.x),a=Math.abs(t.x-i.x),o=Math.abs(t.y-i.y),l=t.add(i).scaled(.5);let d=e.subtract(l);if(a<1||o<1)return null;const h=(i.y-t.y)/(i.x-t.x);d=new s.Point(d.x,d.y/h);let c=d.x*d.x+d.y*d.y-n*n;return c=(0,r.sign)(c)*Math.sqrt(Math.abs(c/n)),Math.abs(c)<3?this._hitTest:this._data.fillBackground&&!this._data.noHitTestOnBackground&&c<3?this._backgroundHitTest:null}_drawImpl(e){e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,void 0!==this._data.linestyle&&(0,o.setLineStyle)(e,this._data.linestyle);const t=this._data.points[0],i=this._data.points[1],n=Math.abs(t.x-i.x),r=Math.abs(t.y-i.y),s=t.add(i).scaled(.5);if(n<1||r<1)return;let l=0;if(this._data.wholePoints){const e=this._data.wholePoints[0],t=this._data.wholePoints[1];l=Math.abs(e.x-t.x)}e.save(),e.translate(s.x,s.y),e.scale(1,r/n),e.beginPath(),e.arc(0,0,n/2,0,2*Math.PI,!1),e.restore(),e.stroke(),this._data.fillBackground&&(this._data.wholePoints&&(e.translate(s.x,s.y),e.scale(1,r/n),e.arc(0,0,l/2,0,2*Math.PI,!0)),e.fillStyle=(0,a.generateColor)(this._data.backcolor,this._data.transparency,!0),e.fill())}}},77042:(e,t,i)=>{"use strict";i.d(t,{LineAnchorRenderer:()=>v}) +;var n=i(72927),r=i(71044),s=i(55430),a=i(47903),o=i(10288),l=i(10992),d=i(21344),h=i(16282);class c extends n.Point{constructor(e,t,i,n){super(e,t),this.data=i,this.square=n}}function u(e,t,i,n){const r=i+n/2;(0,s.drawRoundRect)(e,t.x-r,t.y-r,2*r,2*r,(i+n)/2),e.closePath(),e.lineWidth=n}function _(e,t,i,n){e.globalAlpha=.2,u(e,t,i,n),e.stroke(),e.globalAlpha=1}function p(e,t,i,n){u(e,t,i-n,n),e.fill(),e.stroke()}function g(e,t,i,n){e.globalAlpha=.2,e.beginPath(),e.arc(t.x,t.y,i+n/2,0,2*Math.PI,!0),e.closePath(),e.lineWidth=n,e.stroke(),e.globalAlpha=1}function f(e,t,i,n){e.beginPath(),e.arc(t.x,t.y,i-n/2,0,2*Math.PI,!0),e.closePath(),e.lineWidth=n,e.fill(),e.stroke()}class v{constructor(e){this._data=null!=e?e:null}setData(e){this._data=e}draw(e,t){if(null===this._data||!this._data.visible)return;const i=[],n=[],r=[],s=[];for(let e=0;e(0,r.pointInBox)(t,e))}_drawPoints(e,t,i,n,r,s){const o=(0,h.ensureNotNull)(this._data),l=o.currentPoint,u=o.radius;let _=Math.max(1,Math.floor((o.strokeWidth||2)*t));o.selected&&(_+=Math.max(1,Math.floor(t/2)));const p=Math.max(1,Math.floor(t));let g=Math.round(u*t*2);g%2!=p%2&&(g+=1);const f=p%2/2,v=(0,d.interactionTolerance)().anchor;for(let d=0;d{"use strict";i.d(t,{ParallelChannelRenderer:()=>u});var n=i(16282),r=i(72927),s=i(89684),a=i(95196),o=i(5025),l=i(10288),d=i(21344),h=i(50968),c=i(58729);class u extends c.ScaledPaneRenderer{constructor(e,t){super(),this._data=null,this._hittestResult=e||new l.HitTestResult(l.HitTestResult.MOVEPOINT),this._backHittestResult=t||new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND)}setData(e){this._data=e}hitTest(e,t){if(null===this._data||this._data.points.length<2)return null +;const[i,n]=this._data.points,r=this._extendAndHitTestLineSegment(e,i,n,t);if(null!==r)return r;if(4===this._data.points.length&&!this._data.skipTopLine){const[,,r,s]=this._data.points,a=this._extendAndHitTestLineSegment(e,r,s,t);if(null!==a)return a;if(this._data.showMidline&&!this._data.skipLines){const a=i.add(r).scaled(.5),o=n.add(s).scaled(.5),l=this._extendAndHitTestLineSegment(e,a,o,t);if(null!==l)return l}}return this._data.hittestOnBackground&&this._data.fillBackground?this._hitTestBackground(e):null}_drawImpl(e,t){if(null===this._data||this._data.points.length<2)return;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,(0,o.setLineStyle)(e,this._data.linestyle);const[i,n]=this._data.points;if(this._data.points.some(e=>!isFinite(e.y)))this._extendAndDrawLineSegment(e,i,n,t);else if(this._data.skipLines||this._extendAndDrawLineSegment(e,i,n,t),4===this._data.points.length){const[,,r,s]=this._data.points;if(this._data.skipLines||this._data.skipTopLine||this._extendAndDrawLineSegment(e,r,s,t),this._data.fillBackground&&this._drawBackground(e,this._data.points,t),this._data.showMidline&&!this._data.skipLines){e.strokeStyle=this._data.midcolor,e.lineWidth=this._data.midlinewidth,(0,o.setLineStyle)(e,this._data.midlinestyle);const a=i.add(r).scaled(.5),l=n.add(s).scaled(.5);this._extendAndDrawLineSegment(e,a,l,t)}}}_getColor(){const e=(0,n.ensureNotNull)(this._data);return(0,h.generateColor)(e.backcolor,e.transparency)}_extendAndDrawLineSegment(e,t,i,n){const r=this._extendAndClipLineSegment(t,i,n);null!==r&&(0,o.drawLine)(e,r[0].x,r[0].y,r[1].x,r[1].y)}_extendAndHitTestLineSegment(e,t,i,n){const r=this._extendAndClipLineSegment(t,i,n);if(null!==r){if((0,s.distanceToSegment)(r[0],r[1],e).distance<=3)return this._hittestResult}return null}_extendAndClipLineSegment(e,t,i){const r=(0,n.ensureNotNull)(this._data);return(0,d.extendAndClipLineSegment)(e,t,i.cssWidth,i.cssHeight,r.extendleft,r.extendright)}_drawBackground(e,t,i){const a=(0,n.ensureNotNull)(this._data),[o,l,d,h]=t;if((0,r.equalPoints)(o,l)||(0,r.equalPoints)(d,h)||(0,s.distanceToLine)(o,l,d).distance<1e-6||(0,s.distanceToLine)(o,l,h).distance<1e-6)return;if(i.cssWidth<=0||i.cssHeight<=0)return;let c=[new r.Point(0,0),new r.Point(i.cssWidth,0),new r.Point(i.cssWidth,i.cssHeight),new r.Point(0,i.cssHeight)];if(c=_(c,o,l,h),a.extendright||(c=_(c,l,h,d)),c=_(c,h,d,o),a.extendleft||(c=_(c,d,o,l)),null!==c){e.beginPath(),e.moveTo(c[0].x,c[0].y);for(let t=1;tu?null:e.y>=h&&e.y<=d?this._backHittestResult:null}}function _(e,t,i,n){return null!==e?(0,a.intersectPolygonAndHalfplane)(e,(0,r.halfplaneThroughPoint)((0,r.lineThroughPoints)(t,i),n)):null}},59943:(e,t,i)=>{ +"use strict";i.d(t,{PolygonRenderer:()=>u});var n=i(71044),r=i(89684),s=i(5025),a=i(6397),o=i(71172),l=i(10288),d=i(50968),h=i(58729),c=i(21344);class u extends h.ScaledPaneRenderer{constructor(e){super(),this._data=null,this._backHittest=new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND),this._points=[],this._hittest=null!=e?e:new l.HitTestResult(l.HitTestResult.MOVEPOINT)}setData(e){this._data=e,this._points=e.points}hitTest(e){if(null===this._data||void 0!==this._data.mouseTouchable&&!this._data.mouseTouchable)return null;const t=Math.max((0,c.interactionTolerance)().line,Math.ceil(this._data.linewidth/2)),i=this._points.length;if(1===i){return(0,n.pointInCircle)(e,this._points[0],t)?this._hittest:null}for(let n=1;n0){const n=this._points[0],s=this._points[i-1];if((0,r.distanceToSegment)(n,s,e).distance<=t)return this._hittest}return this._data.filled&&this._data.fillBackground&&(0,n.pointInPolygon)(e,this._data.points)?this._backHittest:null}_drawImpl(e,t){var i,n;const r=this._points.length;if(null===this._data||0===r)return;if(1===r)return void this._drawPoint(e,this._points[0],this._data.linewidth/2,this._data.color);e.beginPath();const l=null!==(i=this._data.linecap)&&void 0!==i?i:"butt";e.lineCap=l,e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,e.lineJoin=null!==(n=this._data.linejoin)&&void 0!==n?n:"miter",(0,s.setLineStyle)(e,this._data.linestyle);const h=this._points[0];e.moveTo(h.x,h.y);for(const t of this._points)e.lineTo(t.x,t.y);if(this._data.filled&&this._data.fillBackground&&(e.fillStyle=(0,d.generateColor)(this._data.backcolor,this._data.transparency),e.fill()),this._data.filled&&!this._data.skipClosePath&&e.closePath(),this._data.linewidth>0&&e.stroke(),r>1){if("butt"!==l&&(e.lineCap="butt"),this._data.leftend===o.LineEnd.Arrow){const i=this._correctArrowPoints(this._points[1],this._points[0],e.lineWidth,l);(0,a.drawArrow)(i[0],i[1],e,e.lineWidth,t.pixelRatio)}if(this._data.rightend===o.LineEnd.Arrow){const i=this._correctArrowPoints(this._points[r-2],this._points[r-1],e.lineWidth,l);(0,a.drawArrow)(i[0],i[1],e,e.lineWidth,t.pixelRatio)}}}_drawPoint(e,t,i,n){0!==i&&(e.beginPath(),e.fillStyle=n,e.arc(t.x,t.y,i,0,2*Math.PI,!0),e.fill(),e.closePath())}_correctArrowPoints(e,t,i,n){const r=t.subtract(e),s=r.length();if("butt"===n||s<1)return[e,t];const a=s+i/2;return[e,r.scaled(a/s).add(e)]}}},56224:(e,t,i)=>{"use strict";i.d(t,{TrendLineStatsRenderer:()=>x,iconsContainer:()=>f});var n=i(72927),r=i(71044),s=i(16282),a=i(43367),o=i(44896),l=i(10288),d=i(55430),h=i(47903),c=i(16932),u=i(5729),_=i.n(u);class p{constructor(e,t,i){this._ready=!1,this._img=function(e,t,i){const n=new Image;return n.width=t,n.height=t,n.onload=i,n.src=e,n}(e,t,()=>{this._ready=!0,i()})}ready(){return this._ready}image(){return this._img}}let g=null;const f=new class{constructor(e,t){this._icons=new Map,this._onAllIconsLoaded=new(_()), +this._pendingLoading=e.length;const i=()=>{0==--this._pendingLoading&&this._onAllIconsLoaded.fire()};e.forEach(e=>{const n=this._icons.get(e.name)||new Map;n.set(e.theme,new p(e.imageData,t,i)),this._icons.set(e.name,n)})}getIcon(e,t){return(0,s.ensureDefined)((0,s.ensureDefined)(this._icons.get(e)).get(t))}onAllIconsReady(){return this._onAllIconsLoaded}}([{name:"angle",theme:"dark",imageData:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjQ5OTk5IDE1SDIuNjU3NzFMMy4wNjEwNCAxNC4yNjA2TDkuMDYxMDQgMy4yNjA1N0w5LjMwMDQ2IDIuODIxNjJMMTAuMTc4NCAzLjMwMDQ4TDkuOTM4OTMgMy43Mzk0Mkw3LjUxMzg1IDguMTg1NDJDMTAuNTYyMSA5LjY3MjA1IDEwLjk0NTEgMTIuNjI2MSAxMC45OTMxIDE0SDE0LjVIMTVWMTVIMTQuNUgzLjQ5OTk5Wk05Ljk5MTk3IDE0QzkuOTQyMzYgMTIuNzI1OSA5LjU4NjI5IDEwLjI4OCA3LjAzNDM1IDkuMDY0NDlMNC4zNDIyNiAxNEg5Ljk5MTk3WiIgZmlsbD0iI0Y4RjlGRCIvPgo8L3N2Zz4K"},{name:"angle",theme:"light",imageData:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMy40OTk5OSAxNUgyLjY1NzcxTDMuMDYxMDQgMTQuMjYwNkw5LjA2MTA0IDMuMjYwNTdMOS4zMDA0NiAyLjgyMTYyTDEwLjE3ODQgMy4zMDA0OEw5LjkzODkzIDMuNzM5NDJMNy41MTM4NSA4LjE4NTQyQzEwLjU2MjEgOS42NzIwNSAxMC45NDUxIDEyLjYyNjEgMTAuOTkzMSAxNEgxNC41SDE1VjE1SDE0LjVIMy40OTk5OVpNOS45OTE5NyAxNEM5Ljk0MjM2IDEyLjcyNTkgOS41ODYyOSAxMC4yODggNy4wMzQzNSA5LjA2NDQ5TDQuMzQyMjYgMTRIOS45OTE5N1oiIGZpbGw9IiMyQTJFMzkiLz4NCjwvc3ZnPg0K"},{name:"barsRange",theme:"dark",imageData:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMiAzVjMuNVY1SDFWNlYxM1YxNEgyVjE1LjVWMTZIM1YxNS41VjE0SDRWMTNWNlY1SDNWMy41VjNIMlpNOC4yMDcxMSA3LjVMNy44NTM1NSA3Ljg1MzU1TDYuNzA3MTEgOUgxMS4yOTI5TDEwLjE0NjQgNy44NTM1NUw5Ljc5Mjg5IDcuNUwxMC41IDYuNzkyODlMMTAuODUzNiA3LjE0NjQ1TDEyLjg1MzYgOS4xNDY0NUwxMy4yMDcxIDkuNUwxMi44NTM2IDkuODUzNTVMMTAuODUzNiAxMS44NTM2TDEwLjUgMTIuMjA3MUw5Ljc5Mjg5IDExLjVMMTAuMTQ2NCAxMS4xNDY0TDExLjI5MjkgMTBINi43MDcxMUw3Ljg1MzU1IDExLjE0NjRMOC4yMDcxMSAxMS41TDcuNSAxMi4yMDcxTDcuMTQ2NDUgMTEuODUzNkw1LjE0NjQ1IDkuODUzNTVMNC43OTI4OSA5LjVMNS4xNDY0NSA5LjE0NjQ1TDcuMTQ2NDUgNy4xNDY0NUw3LjUgNi43OTI4OUw4LjIwNzExIDcuNVpNMyA2SDJWMTNIM1Y2Wk0xNSAzLjVWM0gxNlYzLjVWNUgxN1Y2VjEzVjE0SDE2VjE1LjVWMTZIMTVWMTUuNVYxNEgxNFYxM1Y2VjVIMTVWMy41Wk0xNSA2SDE2VjEzSDE1VjZaIiBmaWxsPSIjRjhGOUZEIi8+DQo8L3N2Zz4NCg=="},{name:"barsRange",theme:"light", +imageData:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMiAzVjMuNVY1SDFWNlYxM1YxNEgyVjE1LjVWMTZIM1YxNS41VjE0SDRWMTNWNlY1SDNWMy41VjNIMlpNOC4yMDcxMSA3LjVMNy44NTM1NSA3Ljg1MzU1TDYuNzA3MTEgOUgxMS4yOTI5TDEwLjE0NjQgNy44NTM1NUw5Ljc5Mjg5IDcuNUwxMC41IDYuNzkyODlMMTAuODUzNiA3LjE0NjQ1TDEyLjg1MzYgOS4xNDY0NUwxMy4yMDcxIDkuNUwxMi44NTM2IDkuODUzNTVMMTAuODUzNiAxMS44NTM2TDEwLjUgMTIuMjA3MUw5Ljc5Mjg5IDExLjVMMTAuMTQ2NCAxMS4xNDY0TDExLjI5MjkgMTBINi43MDcxMUw3Ljg1MzU1IDExLjE0NjRMOC4yMDcxMSAxMS41TDcuNSAxMi4yMDcxTDcuMTQ2NDUgMTEuODUzNkw1LjE0NjQ1IDkuODUzNTVMNC43OTI4OSA5LjVMNS4xNDY0NSA5LjE0NjQ1TDcuMTQ2NDUgNy4xNDY0NUw3LjUgNi43OTI4OUw4LjIwNzExIDcuNVpNMyA2SDJWMTNIM1Y2Wk0xNSAzLjVWM0gxNlYzLjVWNUgxN1Y2VjEzVjE0SDE2VjE1LjVWMTZIMTVWMTUuNVYxNEgxNFYxM1Y2VjVIMTVWMy41Wk0xNSA2SDE2VjEzSDE1VjZaIiBmaWxsPSIjMkEyRTM5Ii8+DQo8L3N2Zz4NCg=="},{name:"priceRange",theme:"dark",imageData:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAySDMuNUgxMy41SDE0VjNIMTMuNUgzLjVIM1YyWk04LjUgMy43OTI4OUw4Ljg1MzU1IDQuMTQ2NDVMMTAuODUzNiA2LjE0NjQ1TDExLjIwNzEgNi41TDEwLjUgNy4yMDcxMUwxMC4xNDY0IDYuODUzNTVMOSA1LjcwNzExVjEyLjI5MjlMMTAuMTQ2NCAxMS4xNDY0TDEwLjUgMTAuNzkyOUwxMS4yMDcxIDExLjVMMTAuODUzNiAxMS44NTM2TDguODUzNTUgMTMuODUzNkw4LjUgMTQuMjA3MUw4LjE0NjQ1IDEzLjg1MzZMNi4xNDY0NSAxMS44NTM2TDUuNzkyODkgMTEuNUw2LjUgMTAuNzkyOUw2Ljg1MzU1IDExLjE0NjRMOCAxMi4yOTI5VjUuNzA3MTFMNi44NTM1NSA2Ljg1MzU1TDYuNSA3LjIwNzExTDUuNzkyODkgNi41TDYuMTQ2NDUgNi4xNDY0NUw4LjE0NjQ1IDQuMTQ2NDVMOC41IDMuNzkyODlaTTMuNSAxNkgzVjE1SDMuNUgxMy41SDE0VjE2SDEzLjVIMy41WiIgZmlsbD0iI0Y4RjlGRCIvPg0KPC9zdmc+DQo="},{name:"priceRange",theme:"light",imageData:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAySDMuNUgxMy41SDE0VjNIMTMuNUgzLjVIM1YyWk04LjUgMy43OTI4OUw4Ljg1MzU1IDQuMTQ2NDVMMTAuODUzNiA2LjE0NjQ1TDExLjIwNzEgNi41TDEwLjUgNy4yMDcxMUwxMC4xNDY0IDYuODUzNTVMOSA1LjcwNzExVjEyLjI5MjlMMTAuMTQ2NCAxMS4xNDY0TDEwLjUgMTAuNzkyOUwxMS4yMDcxIDExLjVMMTAuODUzNiAxMS44NTM2TDguODUzNTUgMTMuODUzNkw4LjUgMTQuMjA3MUw4LjE0NjQ1IDEzLjg1MzZMNi4xNDY0NSAxMS44NTM2TDUuNzkyODkgMTEuNUw2LjUgMTAuNzkyOUw2Ljg1MzU1IDExLjE0NjRMOCAxMi4yOTI5VjUuNzA3MTFMNi44NTM1NSA2Ljg1MzU1TDYuNSA3LjIwNzExTDUuNzkyODkgNi41TDYuMTQ2NDUgNi4xNDY0NUw4LjE0NjQ1IDQuMTQ2NDVMOC41IDMuNzkyODlaTTMuNSAxNkgzVjE1SDMuNUgxMy41SDE0VjE2SDEzLjVIMy41WiIgZmlsbD0iIzJBMkUzOSIvPg0KPC9zdmc+DQo="}],18),v=new Map;class x{constructor(e,t,i){this._fontSize=0,this._preRendered=!1,this._boundingBox=null,this._rect=null,this._padding=null,this._textPoint=null,this._textSizeCache=t,this._data=e,this._fontSize=e.fontSize?e.fontSize:12,this._lineSpacing=(0, +h.isNumber)(this._data.lineSpacing)&&this._data.lineSpacing?this._data.lineSpacing:0,e.lines=this._lines=null===e.text?[]:(0,o.wordWrap)(e.text,this.fontStyle(),e.wordWrapWidth),this._hittest=i||new l.HitTestResult(l.HitTestResult.MOVEPOINT)}fontStyle(){return`${this._data.bold?"bold ":""}${this._data.italic?"italic ":""}${this._fontSize}px ${this._data.font}`}draw(e,t){if(0===this._data.points.length||null===this._data.text)return{width:0};this._preRender();const i=this._fontSize+this._lineSpacing;e.textBaseline="top",e.font=this.fontStyle();const n=(0,s.ensureNotNull)(this._rect);if(this._rect){if("right"!==this._data.horzAlign&&"center"!==this._data.horzAlign||!0!==this._data.doNotAlignText&&(e.textAlign="right"===this._data.horzAlign?"end":"center"),this._data.backgroundRoundRect?((0,d.drawRoundRect)(e,n.x,n.y,n.w,n.h,this._data.backgroundRoundRect),e.fillStyle=this._data.backgroundColor,e.fill(),e.globalAlpha=1):(e.fillStyle=this._data.backgroundColor,e.fillRect(n.x,n.y,n.w,n.h),e.globalAlpha=1),this._data.icons){let r=0;const a=Math.ceil((18-this._fontSize)/2),o=(0,s.ensureNotNull)(this._padding);for(const s of this._data.icons){const l=Math.round(n.x+o.left),d=Math.round(n.y+o.top+i*r-a);this._drawIcon(e,l,d,s,Boolean(this._data.isDark),t),r+=1}}}else"right"===this._data.horzAlign?e.textAlign="end":"center"===this._data.horzAlign&&(e.textAlign="center");const r=(0,s.ensureNotNull)(this._textPoint),a=r.x;let o=r.y;e.fillStyle=this._data.color;for(const t of this._lines)e.fillText(t,a,o),o+=i;return{width:n.w+2}}hitTest(e){return 0===this._data.points.length?null:(this._preRender(),this._boundingBox&&(0,r.pointInBox)(e,this._boundingBox)?this._hittest:null)}_preRender(){if(this._preRendered)return;const e=function(){if(null!==g)return g;const e=(0,c.createDisconnectedCanvas)(document,new c.Size(0,0));return g=(0,c.getPrescaledContext2D)(e),g}(),t=this._data.points[0].x+(this._data.offsetX||0);let i=t;const r=this._data.points[0].y+(this._data.offsetY||0);let s=r;const a=this._fontSize,o=this._lineSpacing,l=(a+o)*this._lines.length-o;e.textBaseline="top",e.font=this.fontStyle();const d=[];let h;if(this._data.wordWrapWidth){h=this._data.wordWrapWidth;for(let e=0;e{"use strict";i.d(t,{TriangleRenderer:()=>h});var n=i(89684),r=i(71044),s=i(58729),a=i(10288),o=i(50968),l=i(5025),d=i(21344);class h extends s.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e){if(null===this._data||this._data.points.length<2)return null;const[t,i]=this._data.points;let s=(0,n.distanceToSegment)(t,i,e);const o=(0,d.interactionTolerance)().line;if(s.distance<=o)return new a.HitTestResult(a.HitTestResult.MOVEPOINT);if(3!==this._data.points.length)return null;const l=this._data.points[2];return s=(0,n.distanceToSegment)(i,l,e),s.distance<=o?new a.HitTestResult(a.HitTestResult.MOVEPOINT):(s=(0,n.distanceToSegment)(l,t,e),s.distance<=o?new a.HitTestResult(a.HitTestResult.MOVEPOINT):this._data.fillBackground&&(0,r.pointInTriangle)(e,t,i,l)?new a.HitTestResult(a.HitTestResult.MOVEPOINT_BACKGROUND):null)}_drawImpl(e){if(null===this._data||this._data.points.length<2)return;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=this._data.linewidth,void 0!==this._data.linestyle&&(0,l.setLineStyle)(e,this._data.linestyle);const[t,i]=this._data.points,n=2===this._data.points.length?i:this._data.points[2];e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(i.x,i.y),e.lineTo(n.x,n.y),e.lineTo(t.x,t.y),this._data.fillBackground&&(e.fillStyle=(0,o.generateColor)(this._data.backcolor,this._data.transparency),e.fill()),e.stroke()}}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/lt-property-pages-with-definitions.ced0df22c184338b3396.js b/public/static/charting_library/bundles/lt-property-pages-with-definitions.ced0df22c184338b3396.js new file mode 100644 index 0000000..2ab860a --- /dev/null +++ b/public/static/charting_library/bundles/lt-property-pages-with-definitions.ced0df22c184338b3396.js @@ -0,0 +1,39 @@ +"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[8537],{34954:(e,t,i)=>{i.d(t,{getCoordinateYMetaInfo:()=>d,getCoordinateXMetaInfo:()=>h,getCoordinatesPropertiesDefinitions:()=>g});var r=i(79881),o=i(90963),n=i(68680),l=i(32856),s=i.n(l),a=i(5225);const c=new o.TranslatedString("change price Y coordinate",(0,r.t)("change price Y coordinate")),p=new o.TranslatedString("change bar X coordinate",(0,r.t)("change bar X coordinate"));function d(e,t,i){return{property:(0,n.convertToDefinitionProperty)(e,t.price,c),info:{typeY:1,stepY:i}}}function h(e,t){return{property:(0,n.convertToDefinitionProperty)(e,t.bar,p),info:{typeX:0,minX:new(s())(-5e4),maxX:new(s())(15e3),stepX:new(s())(1)}}}function g(e,t,i,r,o,l){const s=h(e,t),c=d(e,t,r);return(0,n.createCoordinatesPropertyDefinition)({x:s.property,y:c.property},{id:(0,a.removeSpaces)(`${l}Coordinates${o}`),title:o,...s.info,...c.info})}},78672:(e,t,i)=>{i.d(t,{floor:()=>o,convertToInt:()=>n,limitedPrecision:()=>l});var r=i(43434);function o(e){return Math.floor(e)}function n(e){return parseInt(String(e))}function l(e){const t=new r.LimitedPrecisionNumericFormatter(e);return e=>{if(null===e)return e;const i=t.parse(t.format(e));return i.res?i.value:null}}},88101:(e,t,i)=>{i.d(t,{getLinesStylesPropertiesDefinitions:()=>y});var r=i(79881),o=i(90963),n=i(62684),l=i(68680),s=i(5225);const a=new o.TranslatedString("change {title} price label visibility",(0,r.t)("change {title} price label visibility")),c=new o.TranslatedString("change {title} extension",(0,r.t)("change {title} extension")),p=new o.TranslatedString("change {title} time label visibility",(0,r.t)("change {title} time label visibility")),d=(0,r.t)("Price label"),h=(0,r.t)("Time label"),g=(0,r.t)("Extend");function y(e,t,i){const r=(0,s.removeSpaces)(i.originalText()),o=[],y=(0,n.createLineStyleDefinition)(e,{lineColor:t.linecolor,lineWidth:t.linewidth,lineStyle:t.linestyle},i,"Line");if(o.push(y),"showPrice"in t){const n=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showPrice,a.format({title:i}))},{id:r+"ShowPrice",title:d});o.push(n)}if("extendLine"in t){const n=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.extendLine,c.format({title:i}))},{id:r+"ExtendLine",title:g});o.push(n)}if("showTime"in t){const n=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showTime,p.format({title:i}))},{id:r+"ShowTime",title:h});o.push(n)}return o}},46566:(e,t,i)=>{i.d(t,{getTrendLineToolsStylePropertiesDefinitions:()=>M});var r=i(79881),o=i(90963),n=i(62684),l=i(68680),s=i(32856),a=i.n(s),c=i(98678),p=i(5225);const d=new o.TranslatedString("change {title} middle point visibility",(0,r.t)("change {title} middle point visibility")),h=new o.TranslatedString("change {title} price labels visibility",(0,r.t)("change {title} price labels visibility")),g=new o.TranslatedString("change {title} price range visibility",(0, +r.t)("change {title} price range visibility")),y=new o.TranslatedString("change {title} bars range visibility",(0,r.t)("change {title} bars range visibility")),u=new o.TranslatedString("change {title} date/time range visibility",(0,r.t)("change {title} date/time range visibility")),f=new o.TranslatedString("change {title} distance visibility",(0,r.t)("change {title} distance visibility")),v=new o.TranslatedString("change {title} angle visibility",(0,r.t)("change {title} angle visibility")),b=new o.TranslatedString("change {title} always show stats",(0,r.t)("change {title} always show stats")),_=new o.TranslatedString("change {title} stats position",(0,r.t)("change {title} stats position")),D=[{value:c.StatsPosition.Left,title:(0,r.t)("Left")},{value:c.StatsPosition.Center,title:(0,r.t)("Center")},{value:c.StatsPosition.Right,title:(0,r.t)("Right")}],T=(0,r.t)("Middle point"),w=(0,r.t)("Price labels"),P=(0,r.t)("Stats position"),S=(0,r.t)("Price range"),m=(0,r.t)("Bars range"),x=(0,r.t)("Date/time range"),C=(0,r.t)("Distance"),k=(0,r.t)("Angle"),L=(0,r.t)("Always show stats"),A=(0,r.t)("Stats");function M(e,t,i,r){const o=(0,p.removeSpaces)(i.originalText()),s=[],c=t,M=(0,n.createLineStyleDefinition)(e,{...c,lineColor:t.linecolor,lineWidth:t.linewidth,lineStyle:t.linestyle},i,"Line");s.push(M);const V=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showMiddlePoint,d.format({title:i}))},{id:o+"MiddlePoint",title:r&&r.middlePoint||T});s.push(V);const B=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showPriceLabels,h.format({title:i}))},{id:o+"ShowPriceLabels",title:r&&r.showPriceLabelsTitle||w});s.push(B);const N=[],W=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showPriceRange,g.format({title:i}))},{id:o+"PriceRange",title:r&&r.priceRange||S});N.push(W);const z=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showBarsRange,y.format({title:i}))},{id:o+"BarsRange",title:r&&r.barRange||m});if(N.push(z),"showDateTimeRange"in t){const n=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showDateTimeRange,u.format({title:i}))},{id:o+"DateTimeRange",title:r&&r.dateTimeRange||x});N.push(n)}if("showDistance"in t){const n=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showDistance,f.format({title:i}))},{id:o+"Distance",title:r&&r.distance||C});N.push(n)}if("showAngle"in t){const n=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.showAngle,v.format({title:i}))},{id:o+"Angle",title:r&&r.angle||k});N.push(n)}const R=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(e,t.alwaysShowStats,b.format({title:i}))},{id:o+"ShowStats",title:r&&r.showStats||L});N.push(R);const E=(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(e,t.statsPosition,_.format({title:i}))},{id:o+"StatsPosition", +title:r&&r.statsPosition||P,options:new(a())(D)});return N.push(E),s.push((0,l.createPropertyDefinitionsGeneralGroup)(N,o+"StatsGroup",A)),s}},62684:(e,t,i)=>{i.d(t,{createLineStyleDefinition:()=>b});var r=i(79881),o=i(90963),n=i(68680),l=i(5225);const s=new o.TranslatedString("change {toolName} line visibility",(0,r.t)("change {toolName} line visibility")),a=new o.TranslatedString("change {toolName} line width",(0,r.t)("change {toolName} line width")),c=new o.TranslatedString("change {toolName} line style",(0,r.t)("change {toolName} line style")),p=new o.TranslatedString("change {toolName} line color",(0,r.t)("change {toolName} line color")),d=new o.TranslatedString("change {toolName} line extending left",(0,r.t)("change {toolName} line extending left")),h=new o.TranslatedString("change {toolName} line left end",(0,r.t)("change {toolName} line left end")),g=new o.TranslatedString("change {toolName} line extending right",(0,r.t)("change {toolName} line extending right")),y=new o.TranslatedString("change {toolName} line right end",(0,r.t)("change {toolName} line right end")),u=(0,r.t)("Line"),f=(0,r.t)("Extend left line"),v=(0,r.t)("Extend right line");function b(e,t,i,r,o){const b={},_={id:`${(0,l.removeSpaces)(i.originalText())}${r}`,title:o&&o.line||u};return void 0!==t.showLine&&(b.checked=(0,n.convertToDefinitionProperty)(e,t.showLine,s.format({toolName:i}))),void 0!==t.lineWidth&&(b.width=(0,n.convertToDefinitionProperty)(e,t.lineWidth,a.format({toolName:i}))),void 0!==t.lineStyle&&(b.style=(0,n.convertToDefinitionProperty)(e,t.lineStyle,c.format({toolName:i}))),void 0!==t.lineColor&&(b.color=(0,n.getColorDefinitionProperty)(e,t.lineColor,null,p.format({toolName:i}))),void 0!==t.extendLeft&&(b.extendLeft=(0,n.convertToDefinitionProperty)(e,t.extendLeft,d.format({toolName:i})),_.extendLeftTitle=o&&o.extendLeftTitle||f),void 0!==t.leftEnd&&(b.leftEnd=(0,n.convertToDefinitionProperty)(e,t.leftEnd,h.format({toolName:i}))),void 0!==t.extendRight&&(b.extendRight=(0,n.convertToDefinitionProperty)(e,t.extendRight,g.format({toolName:i})),_.extendRightTitle=o&&o.extendRightTitle||v),void 0!==t.rightEnd&&(b.rightEnd=(0,n.convertToDefinitionProperty)(e,t.rightEnd,y.format({toolName:i}))),(0,n.createLinePropertyDefinition)(b,_)}},92785:(e,t,i)=>{i.d(t,{createTextStyleDefinition:()=>m});var r=i(79881),o=i(90963),n=i(68680),l=i(5225);const s=new o.TranslatedString("change {toolName} text visibility",(0,r.t)("change {toolName} text visibility")),a=new o.TranslatedString("change {toolName} text color",(0,r.t)("change {toolName} text color")),c=new o.TranslatedString("change {toolName} text font size",(0,r.t)("change {toolName} text font size")),p=new o.TranslatedString("change {toolName} text font bold",(0,r.t)("change {toolName} text font bold")),d=new o.TranslatedString("change {toolName} text font italic",(0,r.t)("change {toolName} text font italic")),h=new o.TranslatedString("change {toolName} text",(0,r.t)("change {toolName} text")),g=new o.TranslatedString("change {toolName} labels alignment vertical",(0, +r.t)("change {toolName} labels alignment vertical")),y=new o.TranslatedString("change {toolName} labels alignment horizontal",(0,r.t)("change {toolName} labels alignment horizontal")),u=new o.TranslatedString("change {toolName} labels direction",(0,r.t)("change {toolName} labels direction")),f=new o.TranslatedString("change {toolName} text background visibility",(0,r.t)("change {toolName} text background visibility")),v=new o.TranslatedString("change {toolName} text background color",(0,r.t)("change {toolName} text background color")),b=new o.TranslatedString("change {toolName} text border visibility",(0,r.t)("change {toolName} text border visibility")),_=new o.TranslatedString("change {toolName} text border width",(0,r.t)("change {toolName} text border width")),D=new o.TranslatedString("change {toolName} text border color",(0,r.t)("change {toolName} text border color")),T=new o.TranslatedString("change {toolName} text wrap",(0,r.t)("change {toolName} text wrap")),w=(0,r.t)("Background"),P=(0,r.t)("Border"),S=(0,r.t)("Text wrap");function m(e,t,i,r){const o={},m={id:(0,l.removeSpaces)(i.originalText())+"Text",title:r.customTitles&&r.customTitles.text||""};if(void 0!==t.showText&&(o.checked=(0,n.convertToDefinitionProperty)(e,t.showText,s.format({toolName:i}))),void 0!==t.textColor&&(o.color=(0,n.getColorDefinitionProperty)(e,t.textColor,t.transparency||null,a.format({toolName:i}))),void 0!==t.fontSize&&(o.size=(0,n.convertToDefinitionProperty)(e,t.fontSize,c.format({toolName:i}))),void 0!==t.bold&&(o.bold=(0,n.convertToDefinitionProperty)(e,t.bold,p.format({toolName:i}))),void 0!==t.italic&&(o.italic=(0,n.convertToDefinitionProperty)(e,t.italic,d.format({toolName:i}))),void 0!==t.text&&(o.text=(0,n.convertToDefinitionProperty)(e,t.text,h.format({toolName:i})),m.isEditable=Boolean(r.isEditable),m.isMultiLine=Boolean(r.isMultiLine)),void 0!==t.vertLabelsAlign&&(o.alignmentVertical=(0,n.convertToDefinitionProperty)(e,t.vertLabelsAlign,g.format({toolName:i})),m.alignmentVerticalItems=r.alignmentVerticalItems),void 0!==t.horzLabelsAlign&&(o.alignmentHorizontal=(0,n.convertToDefinitionProperty)(e,t.horzLabelsAlign,y.format({toolName:i})),m.alignmentHorizontalItems=r.alignmentHorizontalItems),void 0!==t.textOrientation&&(o.orientation=(0,n.convertToDefinitionProperty)(e,t.textOrientation,u.format({toolName:i}))),void 0!==t.backgroundVisible&&(o.backgroundVisible=(0,n.convertToDefinitionProperty)(e,t.backgroundVisible,f.format({toolName:i}))),void 0!==t.backgroundColor){let r=null;void 0!==t.backgroundTransparency&&(r=t.backgroundTransparency),o.backgroundColor=(0,n.getColorDefinitionProperty)(e,t.backgroundColor,r,v.format({toolName:i}))}return void 0===t.backgroundVisible&&void 0===t.backgroundColor||(m.backgroundTitle=r.customTitles&&r.customTitles.backgroundTitle||w),void 0!==t.borderVisible&&(o.borderVisible=(0,n.convertToDefinitionProperty)(e,t.borderVisible,b.format({toolName:i}))),void 0!==t.borderWidth&&(o.borderWidth=(0,n.convertToDefinitionProperty)(e,t.borderWidth,_.format({toolName:i}))), +void 0!==t.borderColor&&(o.borderColor=(0,n.getColorDefinitionProperty)(e,t.borderColor,null,D.format({toolName:i}))),void 0===t.borderVisible&&void 0===t.borderColor&&void 0===t.borderWidth||(m.borderTitle=r.customTitles&&r.customTitles.borderTitle||P),void 0!==t.wrap&&(o.wrap=(0,n.convertToDefinitionProperty)(e,t.wrap,T.format({toolName:i})),m.wrapTitle=r.customTitles&&r.customTitles.wrapTitle||S),(0,n.createTextPropertyDefinition)(o,m)}},68854:(e,t,i)=>{i.r(t),i.d(t,{ArrowMarkDefinitionsViewModel:()=>d});var r=i(79881),o=i(90963),n=i(92785),l=i(3619),s=i(68680);const a=new o.TranslatedString("change arrow color",(0,r.t)("change arrow color")),c=(0,r.t)("Text"),p=(0,r.t)("Arrow");class d extends l.LineDataSourceDefinitionsViewModel{_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,n.createTextStyleDefinition)(this._propertyApplier,{text:e.text,showText:e.showLabel,textColor:e.color,fontSize:e.fontsize,bold:e.bold,italic:e.italic},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:c}})]}_stylePropertyDefinitions(){const e=this._source.properties().childs();return[(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.arrowColor,null,a)},{id:"ArrowColor",title:p})]}}},60810:(e,t,i)=>{i.r(t),i.d(t,{ArrowMarkerDefinitionsViewModel:()=>h});var r=i(79881),o=i(90963),n=i(68680),l=i(3619),s=i(5225),a=i(92785);const c=new o.TranslatedString("change {title} color",(0,r.t)("change {title} color")),p=(0,r.t)("Color"),d=(0,r.t)("Text");class h extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,n.createColorPropertyDefinition)({color:(0,n.getColorDefinitionProperty)(this._propertyApplier,e.backgroundColor,null,c.format({title:i}))},{id:(0,s.removeSpaces)(t+"Color"),title:p})]}_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,a.createTextStyleDefinition)(this._propertyApplier,{text:e.text,showText:e.showLabel,textColor:e.textColor,fontSize:e.fontsize,bold:e.bold,italic:e.italic},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:d}})]}}},27340:(e,t,i)=>{i.r(t),i.d(t,{BalloonDefinitionsViewModel:()=>a});var r=i(79881),o=i(90963),n=i(92785),l=i(3619);const s=(0,r.t)("Text");class a extends l.LineDataSourceDefinitionsViewModel{_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,n.createTextStyleDefinition)(this._propertyApplier,{textColor:e.color,fontSize:e.fontsize,text:e.text,backgroundColor:e.backgroundColor,backgroundTransparency:e.transparency,borderColor:e.borderColor},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:s}})]}}},23478:(e,t,i)=>{i.r(t),i.d(t,{BarsPatternDefinitionsViewModel:()=>T}) +;var r=i(79881),o=i(90963),n=i(3619),l=i(68680),s=i(32856),a=i.n(s),c=i(83641),p=i(78672),d=i(5225);const h=new o.TranslatedString("change {title} color",(0,r.t)("change {title} color")),g=new o.TranslatedString("change {title} mode",(0,r.t)("change {title} mode")),y=new o.TranslatedString("change {title} mirrored",(0,r.t)("change {title} mirrored")),u=new o.TranslatedString("change {title} flipped",(0,r.t)("change {title} flipped")),f=(0,r.t)("Color"),v=(0,r.t)("Mode"),b=(0,r.t)("Mirrored"),_=(0,r.t)("Flipped"),D=[{value:c.LineToolBarsPatternMode.Bars,title:(0,r.t)("HL bars")},{value:c.LineToolBarsPatternMode.OpenClose,title:(0,r.t)("OC bars")},{value:c.LineToolBarsPatternMode.Line,title:(0,r.t)("Line - close")},{value:c.LineToolBarsPatternMode.LineOpen,title:(0,r.t)("Line - open")},{value:c.LineToolBarsPatternMode.LineHigh,title:(0,r.t)("Line - high")},{value:c.LineToolBarsPatternMode.LineLow,title:(0,r.t)("Line - low")},{value:c.LineToolBarsPatternMode.LineHL2,title:(0,r.t)("Line - HL/2")}];class T extends n.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title()),r=(0,d.removeSpaces)(t);return[(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(this._propertyApplier,e.color,null,h.format({title:i}))},{id:r+"Color",title:f}),(0,l.createOptionsPropertyDefinition)({option:(0,l.convertToDefinitionProperty)(this._propertyApplier,e.mode,g.format({title:i}),[p.convertToInt])},{id:r+"Mode",title:v,options:new(a())(D)}),(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,e.mirrored,y.format({title:i}))},{id:r+"Mirrored",title:b}),(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,e.flipped,u.format({title:i}))},{id:r+"Flipped",title:_})]}}},72862:(e,t,i)=>{i.r(t),i.d(t,{BrushDefinitionsViewModel:()=>h});var r=i(79881),o=i(90963),n=i(62684),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),p=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),d=(0,r.t)("Background");class h extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.linecolor,lineWidth:e.linewidth,leftEnd:e.leftEnd,rightEnd:e.rightEnd},i,"Line"),(0,s.createColorPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,e.fillBackground,c.format({title:i})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.backgroundColor,e.transparency,p.format({title:i}))},{id:(0,a.removeSpaces)(t+"BackgroundColor"),title:d})]}}},58023:(e,t,i)=>{i.r(t),i.d(t,{CalloutDefinitionsViewModel:()=>l});var r=i(92785),o=i(3619),n=i(90963) +;class l extends o.LineDataSourceDefinitionsViewModel{_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,r.createTextStyleDefinition)(this._propertyApplier,{textColor:e.color,fontSize:e.fontsize,bold:e.bold,italic:e.italic,text:e.text,backgroundColor:e.backgroundColor,backgroundTransparency:e.transparency,borderColor:e.bordercolor,borderWidth:e.linewidth,wrap:e.wordWrap},new n.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0})]}}},82781:(e,t,i)=>{i.r(t),i.d(t,{CrossLineDefinitionsViewModel:()=>c});var r=i(79881),o=i(90963),n=i(3619),l=i(88101),s=i(92785);const a=(0,r.t)("Text");class c extends n.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return(0,l.getLinesStylesPropertiesDefinitions)(this._propertyApplier,e,new o.TranslatedString(this._source.name(),this._source.title()))}_textPropertyDefinitions(){const e=this._source.properties().childs();if("showLabel"in e){return[(0,s.createTextStyleDefinition)(this._propertyApplier,{...e,showText:e.showLabel,textColor:e.textcolor,fontSize:e.fontsize},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:a}})]}return null}}},60468:(e,t,i)=>{i.r(t),i.d(t,{CyclicAndSineLinesPatternDefinitionsViewModel:()=>a});var r=i(79881),o=i(90963),n=i(62684),l=i(3619);const s=(0,r.t)("Lines");class a extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return[(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.linecolor,lineWidth:e.linewidth,lineStyle:e.linestyle},new o.TranslatedString(this._source.name(),this._source.title()),"Line",{line:s})]}}},60312:(e,t,i)=>{i.r(t),i.d(t,{ElliottPatternDefinitionsViewModel:()=>f});var r=i(79881),o=i(90963),n=i(62684),l=i(3619),s=i(68680),a=i(32856),c=i.n(a),p=i(5225);const d=new o.TranslatedString("change {title} color",(0,r.t)("change {title} color")),h=new o.TranslatedString("change {title} degree",(0,r.t)("change {title} degree")),g=(0,r.t)("Color"),y=(0,r.t)("Wave"),u=(0,r.t)("Degree");class f extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.color,null,d.format({title:i}))},{id:(0,p.removeSpaces)(t+"BackgroundColor"),title:g}),(0,n.createLineStyleDefinition)(this._propertyApplier,{showLine:e.showWave,lineWidth:e.linewidth},i,"Line",{line:y}),(0,s.createOptionsPropertyDefinition)({option:(0,s.convertToDefinitionProperty)(this._propertyApplier,e.degree,h.format({title:i}))},{id:t+"Degree",title:u,options:new(c())(this._source.availableDegreesValues())})]}}},40804:(e,t,i)=>{i.r(t),i.d(t,{FibCirclesDefinitionsViewModel:()=>m});var r=i(16282),o=i(79881),n=i(90963),l=i(62684),s=i(68680),a=i(3619),c=i(5225),p=i(3925) +;const d=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),h=new n.TranslatedString("change {title} levels visibility",(0,o.t)("change {title} levels visibility")),g=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),y=new n.TranslatedString("change {title} level {index} line width",(0,o.t)("change {title} level {index} line width")),u=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),f=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),v=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),b=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),_=new n.TranslatedString("change {title} coeffs as percents visibility",(0,o.t)("change {title} coeffs as percents visibility")),D=(0,o.t)("Trend line"),T=(0,o.t)("Use one color"),w=(0,o.t)("Background"),P=(0,o.t)("Levels"),S=(0,o.t)("Coeffs as percents");class m extends a.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,c.removeSpaces)(i),a=new n.TranslatedString(i,this._source.title()),m=t.trendline.childs(),x=(0,l.createLineStyleDefinition)(this._propertyApplier,{showLine:m.visible,lineColor:m.color,lineStyle:m.linestyle,lineWidth:m.linewidth},a,"TrendLine",{line:D});e.push(x);const C=this._source.levelsCount();for(let i=1;i<=C;i++){const r=t["level"+i].childs(),n=(0,s.createLeveledLinePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.visible,d.format({title:a,index:i})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,r.color,null,g.format({title:a,index:i})),width:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.linewidth,y.format({title:a,index:i})),level:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.coeff,u.format({title:a,index:i}))},{id:`${o}LineLevel${i}`});e.push(n)}const k=(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,new p.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,f.format({title:a}),!0)},{id:o+"AllLineColor",title:T});e.push(k);const L=(0,s.createTransparencyPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,v.format({title:a})),transparency:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.transparency,b.format({title:a}))},{id:o+"Background",title:w});e.push(L);const A=(0,s.createCheckablePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.showCoeffs,h.format({title:a}))},{id:o+"Levels",title:P});e.push(A);const M=(0,s.createCheckablePropertyDefinition)({checked:(0, +s.convertToDefinitionProperty)(this._propertyApplier,t.coeffsAsPercents,_.format({title:a}))},{id:o+"Percentage",title:S});return e.push(M),e}}},58481:(e,t,i)=>{i.r(t),i.d(t,{FibDrawingsWith24LevelsDefinitionsViewModel:()=>$});var r=i(16282),o=i(79881),n=i(90963),l=i(62684),s=i(68680),a=i(3619),c=i(46446),p=i(32856),d=i.n(p),h=i(5225),g=i(3925);const y=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),u=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),f=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),v=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),b=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),_=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),D=new n.TranslatedString("change {title} reverse",(0,o.t)("change {title} reverse")),T=new n.TranslatedString("change {title} prices visibility",(0,o.t)("change {title} prices visibility")),w=new n.TranslatedString("change {title} labels alignment",(0,o.t)("change {title} labels alignment")),P=new n.TranslatedString("change {title} style",(0,o.t)("change {title} style")),S=new n.TranslatedString("change {title} fib levels based on log scale",(0,o.t)("change {title} fib levels based on log scale")),m=(0,o.t)("Trend line"),x=(0,o.t)("Levels line"),C=(0,o.t)("Extend right"),k=(0,o.t)("Extend left"),L=(0,o.t)("Extend lines right"),A=(0,o.t)("Extend lines left"),M=(0,o.t)("Reverse"),V=(0,o.t)("Prices"),B=(0,o.t)("Levels"),N=(0,o.t)("Labels"),W=(0,o.t)("Use one color"),z=(0,o.t)("Background"),R=(0,o.t)("Fib levels based on log scale"),E=[{id:"values",value:!1,title:(0,o.t)("Values")},{id:"percents",value:!0,title:(0,o.t)("Percents")}],G=[{id:"bottom",value:"bottom",title:(0,o.t)("Top")},{id:"middle",value:"middle",title:(0,o.t)("Middle")},{id:"top",value:"top",title:(0,o.t)("Bottom")}];class $ extends a.LineDataSourceDefinitionsViewModel{constructor(e,t){super(e,t),this._disabledBasedOnLog=null;if("fibLevelsBasedOnLogScale"in this._source.properties().childs()){const e=this._source.priceScale();null!==e&&(this._disabledBasedOnLog=new(d())(Boolean(!e.mode().log)),this._createPropertyRages(),e.modeChanged().subscribe(this,(e,t)=>{null!==this._disabledBasedOnLog&&this._disabledBasedOnLog.setValue(Boolean(!t.log))}))}}destroy(){super.destroy();const e=this._source.priceScale();null!==e&&e.modeChanged().unsubscribeAll(this)}_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,h.removeSpaces)(i),a=new n.TranslatedString(i,this._source.title());if("trendline"in t){const i=t.trendline.childs(),r=(0,l.createLineStyleDefinition)(this._propertyApplier,{showLine:i.visible,lineColor:i.color,lineStyle:i.linestyle,lineWidth:i.linewidth},a,"TrendLine",{line:m +});e.push(r)}const p=t.levelsStyle.childs(),$={lineStyle:p.linestyle,lineWidth:p.linewidth},O={line:x};"extendLines"in t&&($.extendRight=t.extendLines,O.extendRightTitle=L),"extendLinesLeft"in t&&($.extendLeft=t.extendLinesLeft,O.extendLeftTitle=A),"extendRight"in t&&($.extendRight=t.extendRight,O.extendRightTitle=C),"extendLeft"in t&&($.extendLeft=t.extendLeft,O.extendLeftTitle=k);const F=(0,l.createLineStyleDefinition)(this._propertyApplier,$,a,"LevelsStyleLine",O);e.push(F);const I=[],U=this._source.levelsCount();for(let e=1;e<=U;e++){const i=t["level"+e].childs(),r=(0,s.createLeveledLinePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,i.visible,y.format({title:a,index:e})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,i.color,null,u.format({title:a,index:e})),level:(0,s.convertToDefinitionProperty)(this._propertyApplier,i.coeff,f.format({title:a,index:e}))},{id:`${o}LineLevel${e}`});I.push(r)}const H=(0,s.createPropertyDefinitionsLeveledLinesGroup)(I,o+"LeveledLinesGroup");e.push((0,s.createPropertyDefinitionsGeneralGroup)([H],o+"Group"));const Y=(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,new g.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,v.format({title:a}),!0)},{id:o+"AllLineColor",title:W});e.push(Y);const j=(0,s.createTransparencyPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,b.format({title:a})),transparency:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.transparency,_.format({title:a}))},{id:o+"Background",title:z});e.push(j);const X=t;if("reverse"in X){const t=(0,s.createCheckablePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,X.reverse,D.format({title:a}))},{id:o+"Reverse",title:M});e.push(t)}const K=(0,s.createCheckablePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.showPrices,T.format({title:a}))},{id:o+"Prices",title:V});e.push(K);const q=(0,s.createOptionsPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.showCoeffs,P.format({title:a})),option:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.coeffsAsPercents,P.format({title:a}))},{id:o+"PitchStyle",title:B,options:new(d())(E)});e.push(q);const J=(0,s.createTwoOptionsPropertyDefinition)({option1:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.horzLabelsAlign,w.format({title:a})),option2:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.vertLabelsAlign,w.format({title:a}))},{id:o+"Alignment",title:N,optionsItems1:new(d())(c.availableAlignmentHorizontalItems),optionsItems2:new(d())(G)});if(e.push(J),"fibLevelsBasedOnLogScale"in t&&null!==this._disabledBasedOnLog){const i=(0,s.createCheckablePropertyDefinition)({disabled:(0,s.convertFromWVToDefinitionProperty)(this._propertyApplier,this._disabledBasedOnLog,S.format({title:a})),checked:(0, +s.convertToDefinitionProperty)(this._propertyApplier,t.fibLevelsBasedOnLogScale,S.format({title:a}))},{id:o+"BasedOnLog",title:R});e.push(i)}return e}}},8545:(e,t,i)=>{i.r(t),i.d(t,{FibSpeedResistanceArcsDefinitionsViewModel:()=>m});var r=i(16282),o=i(79881),n=i(90963),l=i(62684),s=i(68680),a=i(3619),c=i(5225),p=i(3925);const d=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),h=new n.TranslatedString("change {title} levels visibility",(0,o.t)("change {title} levels visibility")),g=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),y=new n.TranslatedString("change {title} level {index} line width",(0,o.t)("change {title} level {index} line width")),u=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),f=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),v=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),b=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),_=new n.TranslatedString("change {title} full circles visibility",(0,o.t)("change {title} full circles visibility")),D=(0,o.t)("Trend line"),T=(0,o.t)("Use one color"),w=(0,o.t)("Background"),P=(0,o.t)("Levels"),S=(0,o.t)("Full circles");class m extends a.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,c.removeSpaces)(i),a=new n.TranslatedString(i,this._source.title()),m=t.trendline.childs(),x=(0,l.createLineStyleDefinition)(this._propertyApplier,{showLine:m.visible,lineColor:m.color,lineStyle:m.linestyle,lineWidth:m.linewidth},a,"TrendLine",{line:D});e.push(x);const C=this._source.levelsCount();for(let i=1;i<=C;i++){const r=t["level"+i].childs(),n=(0,s.createLeveledLinePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.visible,d.format({title:a,index:i})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,r.color,null,g.format({title:a,index:i})),width:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.linewidth,y.format({title:a,index:i})),level:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.coeff,u.format({title:a,index:i}))},{id:`${o}LineLevel${i}`});e.push(n)}const k=(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,new p.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,f.format({title:a}),!0)},{id:o+"AllLineColor",title:T});e.push(k);const L=(0,s.createTransparencyPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,v.format({title:a})),transparency:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.transparency,b.format({title:a}))},{id:o+"Background", +title:w});e.push(L);const A=(0,s.createCheckablePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.showCoeffs,h.format({title:a}))},{id:o+"Levels",title:P});e.push(A);const M=(0,s.createCheckablePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.fullCircles,_.format({title:a}))},{id:o+"FullCircles",title:S});return e.push(M),e}}},84061:(e,t,i)=>{i.r(t),i.d(t,{FibSpeedResistanceFanDefinitionsViewModel:()=>W});var r=i(16282),o=i(79881),n=i(90963),l=i(68680),s=i(3619),a=i(5225),c=i(3925);const p=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),d=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),h=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),g=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),y=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),u=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),f=new n.TranslatedString("change {title} left labels visibility",(0,o.t)("change {title} left labels visibility")),v=new n.TranslatedString("change {title} right labels visibility",(0,o.t)("change {title} right labels visibility")),b=new n.TranslatedString("change {title} top labels visibility",(0,o.t)("change {title} top labels visibility")),_=new n.TranslatedString("change {title} bottom labels visibility",(0,o.t)("change {title} bottom labels visibility")),D=new n.TranslatedString("change {title} reverse",(0,o.t)("change {title} reverse")),T=new n.TranslatedString("change {title} grid visibility",(0,o.t)("change {title} grid visibility")),w=new n.TranslatedString("change {title} grid line color",(0,o.t)("change {title} grid line color")),P=new n.TranslatedString("change {title} grid line width",(0,o.t)("change {title} grid line width")),S=new n.TranslatedString("change {title} grid line style",(0,o.t)("change {title} grid line style")),m=(0,o.t)("Use one color"),x=(0,o.t)("Background"),C=(0,o.t)("Price levels"),k=(0,o.t)("Time levels"),L=(0,o.t)("Left labels"),A=(0,o.t)("Right labels"),M=(0,o.t)("Top labels"),V=(0,o.t)("Bottom labels"),B=(0,o.t)("Grid"),N=(0,o.t)("Reverse");class W extends s.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,a.removeSpaces)(i),s=new n.TranslatedString(i,this._source.title()),W=[],z=this._source.hLevelsCount();for(let e=1;e<=z;e++){const i=t["hlevel"+e].childs(),r=(0,l.createLeveledLinePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,i.visible,p.format({title:s,index:e})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,i.color,null,d.format({title:s,index:e})),level:(0, +l.convertToDefinitionProperty)(this._propertyApplier,i.coeff,h.format({title:s,index:e}))},{id:`${o}HLineLevel${e}`});W.push(r)}const R=(0,l.createPropertyDefinitionsLeveledLinesGroup)(W,o+"HLeveledLinesGroup"),E=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showLeftLabels,f.format({title:s}))},{id:o+"LeftLabels",title:L}),G=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showRightLabels,v.format({title:s}))},{id:o+"RightLabels",title:A}),$=(0,l.createPropertyDefinitionsGeneralGroup)([R,E,G],o+"HLevelGroup",C);e.push($);const O=[],F=this._source.vLevelsCount();for(let e=1;e<=F;e++){const i=t["vlevel"+e].childs(),r=(0,l.createLeveledLinePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,i.visible,p.format({title:s,index:e})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,i.color,null,d.format({title:s,index:e})),level:(0,l.convertToDefinitionProperty)(this._propertyApplier,i.coeff,h.format({title:s,index:e}))},{id:`${o}VLineLevel${e}`});O.push(r)}const I=(0,l.createPropertyDefinitionsLeveledLinesGroup)(O,o+"VLeveledLinesGroup"),U=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showTopLabels,b.format({title:s}))},{id:o+"TopLabels",title:M}),H=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showBottomLabels,_.format({title:s}))},{id:o+"BottomLabels",title:V}),Y=(0,l.createPropertyDefinitionsGeneralGroup)([I,U,H],o+"VLevelGroup",k);e.push(Y);const j=(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(this._propertyApplier,new c.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,g.format({title:s}),!0)},{id:o+"AllLineColor",title:m});e.push(j);const X=(0,l.createTransparencyPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,y.format({title:s})),transparency:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.transparency,u.format({title:s}))},{id:o+"Background",title:x});e.push(X);const K=t.grid.childs(),q=(0,l.createLinePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,K.visible,T.format({title:s})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,K.color,null,w.format({title:s})),width:(0,l.convertToDefinitionProperty)(this._propertyApplier,K.linewidth,P.format({title:s})),style:(0,l.convertToDefinitionProperty)(this._propertyApplier,K.linestyle,S.format({title:s}))},{id:o+"GridLine",title:B});e.push(q);const J=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.reverse,D.format({title:s}))},{id:o+"Reverse",title:N});return e.push(J),e}}},73546:(e,t,i)=>{i.r(t),i.d(t,{FibSpiralDefinitionsViewModel:()=>y});var r=i(79881),o=i(90963),n=i(68680),l=i(3619),s=i(5225) +;const a=new o.TranslatedString("change {title} line color",(0,r.t)("change {title} line color")),c=new o.TranslatedString("change {title} line width",(0,r.t)("change {title} line width")),p=new o.TranslatedString("change {title} line style",(0,r.t)("change {title} line style")),d=new o.TranslatedString("change {title} counterclockwise",(0,r.t)("change {title} counterclockwise")),h=(0,r.t)("Line"),g=(0,r.t)("Counterclockwise");class y extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=(0,s.removeSpaces)(t),r=new o.TranslatedString(t,this._source.title());return[(0,n.createLinePropertyDefinition)({color:(0,n.getColorDefinitionProperty)(this._propertyApplier,e.linecolor,null,a.format({title:r})),width:(0,n.convertToDefinitionProperty)(this._propertyApplier,e.linewidth,c.format({title:r})),style:(0,n.convertToDefinitionProperty)(this._propertyApplier,e.linestyle,p.format({title:r}))},{id:i+"Line",title:h}),(0,n.createCheckablePropertyDefinition)({checked:(0,n.convertToDefinitionProperty)(this._propertyApplier,e.counterclockwise,d.format({title:r}))},{id:i+"Counterclockwise",title:g})]}}},46446:(e,t,i)=>{i.r(t),i.d(t,{availableAlignmentVerticalItems:()=>m,availableAlignmentHorizontalItems:()=>x,FibTimezoneDefinitionsViewModel:()=>C});var r=i(16282),o=i(79881),n=i(90963),l=i(68680),s=i(3619),a=i(32856),c=i.n(a),p=i(5225),d=i(3925);const h=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),g=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),y=new n.TranslatedString("change {title} level {index} line width",(0,o.t)("change {title} level {index} line width")),u=new n.TranslatedString("change {title} level {index} line style",(0,o.t)("change {title} level {index} line style")),f=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),v=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),b=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),_=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),D=new n.TranslatedString("change {title} labels visibility",(0,o.t)("change {title} labels visibility")),T=new n.TranslatedString("change {title} labels alignment",(0,o.t)("change {title} labels alignment")),w=(0,o.t)("Use one color"),P=(0,o.t)("Background"),S=(0,o.t)("Labels"),m=[{id:"top",value:"top",title:(0,o.t)("Top")},{id:"middle",value:"middle",title:(0,o.t)("Middle")},{id:"bottom",value:"bottom",title:(0,o.t)("Bottom")}],x=[{id:"left",value:"left",title:(0,o.t)("Left")},{id:"center",value:"center",title:(0,o.t)("Center")},{id:"right",value:"right",title:(0,o.t)("Right")}];class C extends s.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){ +const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,p.removeSpaces)(i),s=new n.TranslatedString(i,this._source.title()),a=this._source.levelsCount();for(let i=1;i<=a;i++){const r=t["level"+i].childs(),n=(0,l.createLeveledLinePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,r.visible,h.format({title:s,index:i})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,r.color,null,g.format({title:s,index:i})),width:(0,l.convertToDefinitionProperty)(this._propertyApplier,r.linewidth,y.format({title:s,index:i})),style:(0,l.convertToDefinitionProperty)(this._propertyApplier,r.linestyle,u.format({title:s,index:i})),level:(0,l.convertToDefinitionProperty)(this._propertyApplier,r.coeff,f.format({title:s,index:i}))},{id:`${o}LineLevel${i}`});e.push(n)}const C=(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(this._propertyApplier,new d.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,v.format({title:s}),!0)},{id:o+"AllLineColor",title:w});e.push(C);const k=(0,l.createTransparencyPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,b.format({title:s})),transparency:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.transparency,_.format({title:s}))},{id:o+"Background",title:P});e.push(k);const L=(0,l.createTwoOptionsPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showLabels,D.format({title:s})),option1:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.horzLabelsAlign,T.format({title:s})),option2:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.vertLabelsAlign,T.format({title:s}))},{id:o+"Labels",title:S,optionsItems1:new(c())(x),optionsItems2:new(c())(m)});return e.push(L),e}}},82731:(e,t,i)=>{i.r(t),i.d(t,{FibWedgeDefinitionsViewModel:()=>P});var r=i(16282),o=i(79881),n=i(90963),l=i(62684),s=i(68680),a=i(3619),c=i(5225),p=i(3925);const d=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),h=new n.TranslatedString("change {title} levels visibility",(0,o.t)("change {title} levels visibility")),g=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),y=new n.TranslatedString("change {title} level {index} line width",(0,o.t)("change {title} level {index} line width")),u=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),f=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),v=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),b=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),_=(0,o.t)("Trend line"),D=(0,o.t)("Use one color"),T=(0,o.t)("Background"),w=(0,o.t)("Levels") +;class P extends a.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,c.removeSpaces)(i),a=new n.TranslatedString(i,this._source.title()),P=t.trendline.childs(),S=(0,l.createLineStyleDefinition)(this._propertyApplier,{showLine:P.visible,lineColor:P.color,lineWidth:P.linewidth},a,"TrendLine",{line:_});e.push(S);const m=this._source.levelsCount();for(let i=1;i<=m;i++){const r=t["level"+i].childs(),n=(0,s.createLeveledLinePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.visible,d.format({title:a,index:i})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,r.color,null,g.format({title:a,index:i})),width:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.linewidth,y.format({title:a,index:i})),level:(0,s.convertToDefinitionProperty)(this._propertyApplier,r.coeff,u.format({title:a,index:i}))},{id:`${o}LineLevel${i}`});e.push(n)}const x=(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,new p.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,f.format({title:a}),!0)},{id:o+"AllLineColor",title:D});e.push(x);const C=(0,s.createTransparencyPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,v.format({title:a})),transparency:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.transparency,b.format({title:a}))},{id:o+"Background",title:T});e.push(C);const k=(0,s.createCheckablePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,t.showCoeffs,h.format({title:a}))},{id:o+"Levels",title:w});return e.push(k),e}}},84017:(e,t,i)=>{i.r(t),i.d(t,{FlagMarkDefinitionsViewModel:()=>c});var r=i(79881),o=i(90963),n=i(3619),l=i(68680);const s=new o.TranslatedString("change flag color",(0,r.t)("change flag color")),a=(0,r.t)("Flag");class c extends n.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return[(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(this._propertyApplier,e.flagColor,null,s)},{id:"FlagColor",title:a})]}}},96832:(e,t,i)=>{i.r(t),i.d(t,{isGannComplexLineTool:()=>R,GannComplexAndFixedDefinitionsViewModel:()=>E});var r=i(16282),o=i(79881),n=i(90963),l=i(92785),s=i(68680),a=i(3619),c=i(76112),p=i(32856),d=i.n(p),h=i(78672),g=i(5225),y=i(3925);const u=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),f=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),v=new n.TranslatedString("change {title} level {index} line width",(0,o.t)("change {title} level {index} line width")),b=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),_=new n.TranslatedString("change {title} background visibility",(0, +o.t)("change {title} background visibility")),D=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),T=new n.TranslatedString("change {title} reverse",(0,o.t)("change {title} reverse")),w=new n.TranslatedString("change {title} fan {index} line visibility",(0,o.t)("change {title} fan {index} line visibility")),P=new n.TranslatedString("change {title} fan {index} line color",(0,o.t)("change {title} fan {index} line color")),S=new n.TranslatedString("change {title} fan {index} line width",(0,o.t)("change {title} fan {index} line width")),m=new n.TranslatedString("change {title} arcs {index} line visibility",(0,o.t)("change {title} arcs {index} line visibility")),x=new n.TranslatedString("change {title} arcs {index} line color",(0,o.t)("change {title} arcs {index} line color")),C=new n.TranslatedString("change {title} arcs {index} line width",(0,o.t)("change {title} arcs {index} line width")),k=new n.TranslatedString("change top margin",(0,o.t)("change top margin")),L=(0,o.t)("Reverse"),A=(0,o.t)("Use one color"),M=(0,o.t)("Background"),V=(0,o.t)("Price/bar ratio"),B=(0,o.t)("Ranges and ratio"),N=(0,o.t)("Levels"),W=(0,o.t)("Fans"),z=(0,o.t)("Arcs");function R(e){return e instanceof c.LineToolGannComplex}class E extends a.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,g.removeSpaces)(i),a=new n.TranslatedString(i,this._source.title()),c=[],p=t.levels.childCount();for(let e=0;enull!==e?parseFloat(t.getScaleRatioFormatter().format(""+e)):null])},{id:"scaleRatio",title:V,min:new(d())(1e-7),max:new(d())(1e8),step:new(d())(t.getScaleRatioStep())});e.push(r);const o=i.labelsStyle.childs(),n=(0,l.createTextStyleDefinition)(this._propertyApplier,{showText:i.showLabels,fontSize:o.fontSize,bold:o.bold,italic:o.italic},a,{customTitles:{text:B}});e.push(n)}return e}}},96634:(e,t,i)=>{i.r(t),i.d(t,{GannFanDefinitionsViewModel:()=>T});var r=i(16282),o=i(79881),n=i(90963),l=i(68680),s=i(3619),a=i(5225),c=i(3925);const p=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),d=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),h=new n.TranslatedString("change {title} level {index} line width",(0,o.t)("change {title} level {index} line width")),g=new n.TranslatedString("change {title} level {index} line style",(0,o.t)("change {title} level {index} line style")),y=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),u=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),f=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),v=new n.TranslatedString("change {title} labels visibility",(0,o.t)("change {title} labels visibility")),b=(0,o.t)("Use one color"),_=(0,o.t)("Background"),D=(0,o.t)("Labels");class T extends s.LineDataSourceDefinitionsViewModel{ +_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,a.removeSpaces)(i),s=new n.TranslatedString(i,this._source.title()),T=this._source.levelsCount();for(let i=1;i<=T;i++){const r=t["level"+i].childs(),n=(0,l.createLeveledLinePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,r.visible,p.format({title:s,index:i})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,r.color,null,d.format({title:s,index:i})),width:(0,l.convertToDefinitionProperty)(this._propertyApplier,r.linewidth,h.format({title:s,index:i})),style:(0,l.convertToDefinitionProperty)(this._propertyApplier,r.linestyle,g.format({title:s,index:i}))},{id:`${o}LineLevel${i}`,title:`${r.coeff1.value()}/${r.coeff2.value()}`});e.push(n)}const w=(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(this._propertyApplier,new c.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,y.format({title:s}))},{id:o+"AllLineColor",title:b});e.push(w);const P=(0,l.createTransparencyPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,u.format({title:s})),transparency:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.transparency,f.format({title:s}))},{id:o+"Background",title:_});e.push(P);const S=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showLabels,v.format({title:s}))},{id:o+"Labels",title:D});return e.push(S),e}}},12101:(e,t,i)=>{i.r(t),i.d(t,{GannSquareDefinitionsViewModel:()=>B});var r=i(16282),o=i(79881),n=i(90963),l=i(68680),s=i(3619),a=i(5225),c=i(3925);const p=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),d=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),h=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),g=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),y=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),u=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),f=new n.TranslatedString("change {title} reverse",(0,o.t)("change {title} reverse")),v=new n.TranslatedString("change {title} left labels visibility",(0,o.t)("change {title} left labels visibility")),b=new n.TranslatedString("change {title} right labels visibility",(0,o.t)("change {title} right labels visibility")),_=new n.TranslatedString("change {title} top labels visibility",(0,o.t)("change {title} top labels visibility")),D=new n.TranslatedString("change {title} bottom labels visibility",(0,o.t)("change {title} bottom labels visibility")),T=new n.TranslatedString("change {title} fans visibility",(0, +o.t)("change {title} fans visibility")),w=new n.TranslatedString("change {title} fans line color",(0,o.t)("change {title} fans line color")),P=(0,o.t)("Use one color"),S=(0,o.t)("Background"),m=(0,o.t)("Price levels"),x=(0,o.t)("Time levels"),C=(0,o.t)("Left labels"),k=(0,o.t)("Right labels"),L=(0,o.t)("Top labels"),A=(0,o.t)("Bottom labels"),M=(0,o.t)("Angles"),V=(0,o.t)("Reverse");class B extends s.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),o=(0,a.removeSpaces)(i),s=new n.TranslatedString(i,this._source.title()),B=[],N=this._source.hLevelsCount();for(let e=1;e<=N;e++){const i=t["hlevel"+e].childs(),r=(0,l.createLeveledLinePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,i.visible,p.format({title:s,index:e})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,i.color,null,d.format({title:s,index:e})),level:(0,l.convertToDefinitionProperty)(this._propertyApplier,i.coeff,h.format({title:s,index:e}))},{id:`${o}HLineLevel${e}`});B.push(r)}const W=(0,l.createPropertyDefinitionsLeveledLinesGroup)(B,o+"HLeveledLinesGroup"),z=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showLeftLabels,v.format({title:s}))},{id:o+"LeftLabels",title:C}),R=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showRightLabels,b.format({title:s}))},{id:o+"RightLabels",title:k}),E=(0,l.createTransparencyPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.fillHorzBackground,y.format({title:s})),transparency:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.horzTransparency,u.format({title:s}))},{id:o+"BackgroundH",title:S}),G=(0,l.createPropertyDefinitionsGeneralGroup)([W,z,R,E],o+"HLevelGroup",m);e.push(G);const $=[],O=this._source.vLevelsCount();for(let e=1;e<=O;e++){const i=t["vlevel"+e].childs(),r=(0,l.createLeveledLinePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,i.visible,p.format({title:s,index:e})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,i.color,null,d.format({title:s,index:e})),level:(0,l.convertToDefinitionProperty)(this._propertyApplier,i.coeff,h.format({title:s,index:e}))},{id:`${o}VLineLevel${e}`});$.push(r)}const F=(0,l.createPropertyDefinitionsLeveledLinesGroup)($,o+"VLeveledLinesGroup"),I=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showTopLabels,_.format({title:s}))},{id:o+"TopLabels",title:L}),U=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.showBottomLabels,D.format({title:s}))},{id:o+"BottomLabels",title:A}),H=(0,l.createTransparencyPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.fillVertBackground,y.format({title:s})),transparency:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.vertTransparency,u.format({title:s +}))},{id:o+"BackgroundV",title:S}),Y=(0,l.createPropertyDefinitionsGeneralGroup)([F,I,U,H],o+"VLevelGroup",x);e.push(Y);const j=(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(this._propertyApplier,new c.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,g.format({title:s}),!0)},{id:o+"AllLineColor",title:P});e.push(j);const X=t.fans.childs(),K=(0,l.createColorPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,X.visible,T.format({title:s})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,X.color,null,w.format({title:s}))},{id:o+"FansLines",title:M});e.push(K);const q=(0,l.createCheckablePropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,t.reverse,f.format({title:s}))},{id:o+"Reverse",title:V});return e.push(q),e}}},28415:(e,t,i)=>{i.r(t),i.d(t,{GeneralBezierDefinitionsViewModel:()=>h});var r=i(79881),o=i(90963),n=i(62684),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),p=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),d=(0,r.t)("Background");class h extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,n.createLineStyleDefinition)(this._undoModel,{lineColor:e.linecolor,lineWidth:e.linewidth,lineStyle:e.linestyle,extendLeft:e.extendLeft,extendRight:e.extendRight,leftEnd:e.leftEnd,rightEnd:e.rightEnd},i,"Line"),(0,s.createColorPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._undoModel,e.fillBackground,c.format({title:i})),color:(0,s.getColorDefinitionProperty)(this._undoModel,e.backgroundColor,e.transparency,p.format({title:i}))},{id:(0,a.removeSpaces)(t+"BackgroundColor"),title:d})]}}},44558:(e,t,i)=>{i.r(t),i.d(t,{GeneralDatePriceRangeDefinitionsViewModel:()=>S});var r=i(79881),o=i(90963),n=i(62684),l=i(92785),s=i(3619),a=i(68680),c=i(5225);const p=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),d=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),h=new o.TranslatedString("change {title} extend top",(0,r.t)("change {title} extend top")),g=new o.TranslatedString("change {title} extend bottom",(0,r.t)("change {title} extend bottom")),y=new o.TranslatedString("change {title} extend left",(0,r.t)("change {title} extend left")),u=(new o.TranslatedString("change {title} stats visibility",(0,r.t)("change {title} stats visibility")),(0,r.t)("Line")),f=(0,r.t)("Border"),v=(0,r.t)("Background"),b=(0,r.t)("Extend top"),_=(0,r.t)("Extend bottom"),D=(0,r.t)("Extend left"),T=(0,r.t)("Extend right"),w=(0,r.t)("Label"),P=(0,r.t)("Label background");(0,r.t)("Show stats");class S extends s.LineDataSourceDefinitionsViewModel{ +_stylePropertyDefinitions(){const e=[],t=this._source.properties().childs(),i=this._source.name(),r=(0,c.removeSpaces)(i),s=new o.TranslatedString(i,this._source.title()),S=(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:t.linecolor,lineWidth:t.linewidth},s,"Line",{line:u});if(e.push(S),t.hasOwnProperty("borderWidth")){const i=(0,n.createLineStyleDefinition)(this._propertyApplier,{showLine:t.drawBorder,lineColor:t.borderColor,lineWidth:t.borderWidth},s,"Border",{line:f});e.push(i)}const m=(0,a.createColorPropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,t.fillBackground,p.format({title:s})),color:(0,a.getColorDefinitionProperty)(this._propertyApplier,t.backgroundColor,t.backgroundTransparency,d.format({title:s}))},{id:r+"BackgroundColor",title:v});if(e.push(m),function(e){return e.hasOwnProperty("extendTop")}(t)){const i=(0,a.createCheckablePropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,t.extendTop,h.format({title:s}))},{id:r+"ExtendTop",title:b}),o=(0,a.createCheckablePropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,t.extendBottom,g.format({title:s}))},{id:r+"ExtendBottom",title:_});e.push(i,o)}if(function(e){return e.hasOwnProperty("extendLeft")}(t)){const i=(0,a.createCheckablePropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,t.extendLeft,y.format({title:s}))},{id:r+"extendLeft",title:D}),o=(0,a.createCheckablePropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,t.extendRight,g.format({title:s}))},{id:r+"ExtendBottom",title:T});e.push(i,o)}{const i=(0,l.createTextStyleDefinition)(this._propertyApplier,{textColor:t.textcolor,backgroundColor:t.labelBackgroundColor,backgroundTransparency:t.backgroundTransparency,fontSize:t.fontsize,backgroundVisible:t.fillLabelBackground},s,{isEditable:!0,isMultiLine:!0,customTitles:{text:w,backgroundTitle:P}});e.push(i)}return e}}},32454:(e,t,i)=>{i.r(t),i.d(t,{GeneralFiguresDefinitionsViewModelBase:()=>g,GeneralFiguresDefinitionsViewModel:()=>y});var r=i(79881),o=i(90963),n=i(62684),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),p=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),d=(0,r.t)("Border"),h=(0,r.t)("Background");class g extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title()),r=(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.color,lineWidth:e.linewidth},i,"Line",{line:d}),l="transparency"in e?e.transparency:null;return[r,(0,s.createColorPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,e.fillBackground,c.format({title:i})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.backgroundColor,l,p.format({title:i}))},{id:(0, +a.removeSpaces)(t+"BackgroundColor"),title:h})]}}class y extends g{}},44150:(e,t,i)=>{i.r(t),i.d(t,{GeneralTrendFiguresDefinitionsViewModel:()=>y});var r=i(79881),o=i(90963),n=i(62684),l=i(92785),s=i(3619),a=i(68680),c=i(5225);const p=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),d=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),h=(0,r.t)("Prices"),g=(0,r.t)("Background");class y extends s.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,n.createLineStyleDefinition)(this._propertyApplier,{...e,lineColor:e.linecolor,lineWidth:e.linewidth,lineStyle:e.linestyle},i,"Line"),(0,l.createTextStyleDefinition)(this._propertyApplier,{showText:e.showPrices,textColor:e.textcolor,fontSize:e.fontsize,bold:e.bold,italic:e.italic},i,{customTitles:{text:h}}),(0,a.createColorPropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.fillBackground,p.format({title:i})),color:(0,a.getColorDefinitionProperty)(this._propertyApplier,e.backgroundColor,e.transparency,d.format({title:i}))},{id:(0,c.removeSpaces)(t+"Background"),title:g})]}}},24708:(e,t,i)=>{i.r(t),i.d(t,{GhostFeedDefinitionsViewModel:()=>x});var r=i(79881),o=i(90963),n=i(3619),l=i(68680),s=i(32856),a=i.n(s),c=i(5225);const p=new o.TranslatedString("change {title} candle up color",(0,r.t)("change {title} candle up color")),d=new o.TranslatedString("change {title} candle down color",(0,r.t)("change {title} candle down color")),h=new o.TranslatedString("change {title} candle border visibility",(0,r.t)("change {title} candle border visibility")),g=new o.TranslatedString("change {title} candle border up color",(0,r.t)("change {title} candle border up color")),y=new o.TranslatedString("change {title} candle border down color",(0,r.t)("change {title} candle border down color")),u=new o.TranslatedString("change {title} candle wick visibility",(0,r.t)("change {title} candle wick visibility")),f=new o.TranslatedString("change {title} candle wick color",(0,r.t)("change {title} candle wick color")),v=new o.TranslatedString("change {title} transparency",(0,r.t)("change {title} transparency")),b=new o.TranslatedString("change {title} average HL value",(0,r.t)("change {title} average HL value")),_=new o.TranslatedString("change {title} variance value",(0,r.t)("change {title} variance value")),D=(0,r.t)("Candles"),T=(0,r.t)("Borders"),w=(0,r.t)("Wick"),P=(0,r.t)("Transparency"),S=(0,r.t)("Avg HL in minticks"),m=(0,r.t)("Variance");class x extends n.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=(0,c.removeSpaces)(t),r=new o.TranslatedString(t,this._source.title()),n=e.candleStyle.childs();return[(0,l.createTwoColorsPropertyDefinition)({color1:(0,l.getColorDefinitionProperty)(this._propertyApplier,n.upColor,null,p.format({title:r})), +color2:(0,l.getColorDefinitionProperty)(this._propertyApplier,n.downColor,null,d.format({title:r}))},{id:i+"Candle2Colors",title:D}),(0,l.createTwoColorsPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,n.drawBorder,h.format({title:r})),color1:(0,l.getColorDefinitionProperty)(this._propertyApplier,n.borderUpColor,null,g.format({title:r})),color2:(0,l.getColorDefinitionProperty)(this._propertyApplier,n.borderDownColor,null,y.format({title:r}))},{id:i+"CandleBorder2Colors",title:T}),(0,l.createColorPropertyDefinition)({checked:(0,l.convertToDefinitionProperty)(this._propertyApplier,n.drawWick,u.format({title:r})),color:(0,l.getColorDefinitionProperty)(this._propertyApplier,n.wickColor,null,f.format({title:r}))},{id:i+"CandleWickColor",title:w}),(0,l.createTransparencyPropertyDefinition)({transparency:(0,l.convertToDefinitionProperty)(this._propertyApplier,e.transparency,v.format({title:r}))},{id:i+"Transparency",title:P})]}_inputsPropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=(0,c.removeSpaces)(t),r=new o.TranslatedString(t,this._source.title());return[(0,l.createNumberPropertyDefinition)({value:(0,l.convertToDefinitionProperty)(this._propertyApplier,e.averageHL,b.format({title:r}))},{id:i+"AvgHL",title:S,type:0,min:new(a())(1),max:new(a())(5e4),step:new(a())(1)}),(0,l.createNumberPropertyDefinition)({value:(0,l.convertToDefinitionProperty)(this._propertyApplier,e.variance,_.format({title:r}))},{id:i+"Variance",title:m,type:0,min:new(a())(1),max:new(a())(100),step:new(a())(1)})]}}},53856:(e,t,i)=>{i.r(t),i.d(t,{HighlighterDefinitionsViewModel:()=>l});var r=i(62684),o=i(3619),n=i(90963);class l extends o.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return[(0,r.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.linecolor},new n.TranslatedString(this._source.name(),this._source.title()),"Line")]}}},41847:(e,t,i)=>{i.r(t),i.d(t,{HorizontalLineDefinitionsViewModel:()=>g});var r=i(79881),o=i(90963),n=i(68680),l=i(34954),s=i(5225),a=i(3619),c=i(88101),p=i(92785);const d=(0,r.t)("Text"),h=(0,r.t)("#1 (price)",{context:"linetool point"});class g extends a.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return(0,c.getLinesStylesPropertiesDefinitions)(this._propertyApplier,e,new o.TranslatedString(this._source.name(),this._source.title()))}_coordinatesPropertyDefinitions(){const e=this._source.pointsProperty().childs().points[0].childs(),t=this._getYCoordinateStepWV(),i=(0,l.getCoordinateYMetaInfo)(this._propertyApplier,e,t);return[(0,n.createCoordinatesPropertyDefinition)({y:i.property},{id:(0,s.removeSpaces)(this._source.name()+"Point"),title:h,...i.info})]}_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,p.createTextStyleDefinition)(this._propertyApplier,{...e,showText:e.showLabel,textColor:e.textcolor,fontSize:e.fontsize,textOrientation:e.textOrientation +},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:d}})]}}},78564:(e,t,i)=>{i.r(t),i.d(t,{HorizontalRayDefinitionsViewModel:()=>c});var r=i(79881),o=i(90963),n=i(3619),l=i(88101),s=i(92785);const a=(0,r.t)("Text");class c extends n.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return(0,l.getLinesStylesPropertiesDefinitions)(this._propertyApplier,e,new o.TranslatedString(this._source.name(),this._source.title()))}_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,s.createTextStyleDefinition)(this._propertyApplier,{...e,showText:e.showLabel,textColor:e.textcolor,fontSize:e.fontsize,textOrientation:e.textOrientation},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:a}})]}}},93619:(e,t,i)=>{i.r(t),i.d(t,{IconsDefinitionsViewModel:()=>p});var r=i(79881),o=i(90963),n=i(3619),l=i(68680),s=i(5225);const a=new o.TranslatedString("change {title} color",(0,r.t)("change {title} color")),c=(0,r.t)("Color");class p extends n.LineDataSourceDefinitionsViewModel{constructor(e,t){super(e,t)}_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,l.createColorPropertyDefinition)({color:(0,l.getColorDefinitionProperty)(this._propertyApplier,e.color,null,a.format({title:i}))},{id:(0,s.removeSpaces)(t+"Color"),title:c})]}}},3619:(e,t,i)=>{i.d(t,{LineDataSourceDefinitionsViewModel:()=>D});var r=i(16282),o=i(79881),n=i(90963),l=(i(95068),i(68680)),s=i(97806),a=i(32856),c=i.n(a),p=i(63725),d=i(34954),h=i(80538),g=i(85103);const y=(0,o.t)("Visibility"),u=(0,o.t)("Coordinates"),f=(0,o.t)("Style"),v=(0,o.t)("Text"),b=(0,o.t)("Inputs"),_=(0,o.t)("#{count} (price, bar)",{context:"linetool point"});class D{constructor(e,t){this._yCoordinateStepWV=null,this._propertyPages=[],this._lineToolsDoNotAffectChartInvalidation=new g.FeatureToggleWatchedValue("do_not_invalidate_chart_on_changing_line_tools",!1),this._source=t,this._undoModel=e,this._ownerSource=(0,r.ensureNotNull)(this._source.ownerSource()),this._propertyApplier=new h.PropertyApplierWithoutSavingChart(()=>e,this._lineToolsDoNotAffectChartInvalidation),this._createPropertyRages()}destroy(){null!==this._yCoordinateStepWV&&(this._source.ownerSourceChanged().unsubscribeAll(this),this._ownerSource.priceStepChanged().unsubscribeAll(this)),this._propertyPages.forEach(e=>{(0,l.destroyDefinitions)(e.definitions.value())}),this._lineToolsDoNotAffectChartInvalidation.destroy()}propertyPages(){return Promise.resolve(this._propertyPages)}_createPropertyRages(){this._propertyPages=[];const e=this._createInputsPropertyPage();null!==e&&this._propertyPages.push(e);const t=this._createStylePropertyPage();null!==t&&this._propertyPages.push(t);const i=this._createTextPropertyPage();if(null!==i&&this._propertyPages.push(i),this._source.hasEditableCoordinates()){ +const e=this._createCoordinatesPropertyPage();null!==e&&this._propertyPages.push(e)}const r=this._createVisibilitiesPropertyPage();this._propertyPages.push(r)}_createVisibilitiesPropertyPage(){const e=this._source.properties().childs().intervalsVisibilities.childs();return(0,s.createPropertyPage)((0,p.getIntervalsVisibilitiesPropertiesDefinitions)(this._undoModel,e,new n.TranslatedString(this._source.name(),this._source.title(!0))),"visibility",y)}_createCoordinatesPropertyPage(){const e=this._coordinatesPropertyDefinitions();return null!==e?(0,s.createPropertyPage)(e,"coordinates",u):null}_getYCoordinateStepWV(){return null===this._yCoordinateStepWV&&(this._yCoordinateStepWV=new(c())(function(e){if(null!==e){const t=e.priceStep();if(null!==t)return t}return 1}(this._source.ownerSource())),this._ownerSource.priceStepChanged().subscribe(this,()=>this._updateYCoordinateStep()),this._source.ownerSourceChanged().subscribe(this,()=>{this._ownerSource.priceStepChanged().unsubscribeAll(this),this._ownerSource=(0,r.ensureNotNull)(this._source.ownerSource()),this._ownerSource.priceStepChanged().subscribe(this,()=>this._updateYCoordinateStep())})),this._yCoordinateStepWV}_coordinatesPropertyDefinitions(){const e=this._source.points(),t=this._source.pointsProperty().childs().points,i=[],r=this._getYCoordinateStepWV();return e.forEach((e,o)=>{const n=t[o].childs();n&&i.push((0,d.getCoordinatesPropertiesDefinitions)(this._propertyApplier,n,e,r,_.format({count:(o+1).toString()}),this._source.name()))}),i}_createStylePropertyPage(){const e=this._stylePropertyDefinitions();return null!==e?(0,s.createPropertyPage)(e,"style",f):null}_stylePropertyDefinitions(){return null}_createTextPropertyPage(){const e=this._textPropertyDefinitions();return null!==e?(0,s.createPropertyPage)(e,"text",v):null}_textPropertyDefinitions(){return null}_createInputsPropertyPage(){const e=this._inputsPropertyDefinitions();return null!==e?(0,s.createPropertyPage)(e,"inputs",b):null}_inputsPropertyDefinitions(){return null}_updateYCoordinateStep(){const e=this._ownerSource.priceStep();this._getYCoordinateStepWV().setValue(e||1)}}},94222:(e,t,i)=>{i.r(t),i.d(t,{NoteDefinitionsViewModel:()=>d});var r=i(79881),o=i(90963),n=i(92785),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),p=(0,r.t)("Label");class d extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.markerColor,null,c.format({title:i}))},{id:(0,a.removeSpaces)(t+"LabelColor"),title:p})]}_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,n.createTextStyleDefinition)(this._propertyApplier,{textColor:e.textColor,fontSize:e.fontSize,bold:e.bold,italic:e.italic,text:e.text,backgroundColor:e.backgroundColor, +backgroundTransparency:e.backgroundTransparency,borderColor:e.borderColor},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0})]}}},79641:(e,t,i)=>{i.r(t),i.d(t,{ParallelChannelDefinitionsViewModel:()=>b});var r=i(79881),o=i(90963),n=i(68680),l=i(3619),s=i(62684),a=i(5225);const c=new o.TranslatedString("change {title} extending left",(0,r.t)("change {title} extending left")),p=new o.TranslatedString("change {title} extending right",(0,r.t)("change {title} extending right")),d=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),h=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),g=(0,r.t)("Background"),y=(0,r.t)("Extend left line"),u=(0,r.t)("Extend right line"),f=(0,r.t)("Channel"),v=(0,r.t)("Middle");class b extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=(0,a.removeSpaces)(t),r=new o.TranslatedString(t,this._source.title());return[(0,s.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.linecolor,lineStyle:e.linestyle,lineWidth:e.linewidth},r,"ChannelLine",{line:f}),(0,s.createLineStyleDefinition)(this._propertyApplier,{showLine:e.showMidline,lineColor:e.midlinecolor,lineStyle:e.midlinestyle,lineWidth:e.midlinewidth},r,"MiddleLine",{line:v}),(0,n.createCheckablePropertyDefinition)({checked:(0,n.convertToDefinitionProperty)(this._propertyApplier,e.extendLeft,c.format({title:r}))},{id:i+"ExtendLeft",title:y}),(0,n.createCheckablePropertyDefinition)({checked:(0,n.convertToDefinitionProperty)(this._propertyApplier,e.extendRight,p.format({title:r}))},{id:i+"ExtendRight",title:u}),(0,n.createColorPropertyDefinition)({checked:(0,n.convertToDefinitionProperty)(this._propertyApplier,e.fillBackground,d.format({title:r})),color:(0,n.getColorDefinitionProperty)(this._propertyApplier,e.backgroundColor,e.transparency,h.format({title:r}))},{id:i+"Background",title:g})]}}},49431:(e,t,i)=>{i.r(t),i.d(t,{PathDefinitionsViewModel:()=>a});var r=i(79881),o=i(90963),n=i(62684),l=i(3619);const s=(0,r.t)("Line");class a extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return[(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.lineColor,lineWidth:e.lineWidth,lineStyle:e.lineStyle,leftEnd:e.leftEnd,rightEnd:e.rightEnd},new o.TranslatedString(this._source.name(),this._source.title()),"Line",{line:s})]}}},84377:(e,t,i)=>{i.r(t),i.d(t,{PatternWithBackgroundDefinitionViewModel:()=>u});var r=i(79881),o=i(90963),n=i(62684),l=i(92785),s=i(3619),a=i(68680),c=i(5225);const p=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),d=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),h=(0,r.t)("Label"),g=(0,r.t)("Border"),y=(0,r.t)("Background");class u extends s.LineDataSourceDefinitionsViewModel{ +_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,l.createTextStyleDefinition)(this._propertyApplier,{textColor:e.textcolor,fontSize:e.fontsize,bold:e.bold,italic:e.italic},i,{isEditable:!0,isMultiLine:!0,customTitles:{text:h}}),(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.color,lineWidth:e.linewidth},i,"Line",{line:g}),(0,a.createColorPropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.fillBackground,p.format({title:i})),color:(0,a.getColorDefinitionProperty)(this._propertyApplier,e.backgroundColor,e.transparency,d.format({title:i}))},{id:(0,c.removeSpaces)(t+"BackgroundColor"),title:y})]}}},39942:(e,t,i)=>{i.r(t),i.d(t,{PatternWithoutBackgroundDefinitionsViewModel:()=>p});var r=i(79881),o=i(90963),n=i(62684),l=i(92785),s=i(3619);const a=(0,r.t)("Label"),c=(0,r.t)("Border");class p extends s.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=new o.TranslatedString(this._source.name(),this._source.title());return[(0,l.createTextStyleDefinition)(this._propertyApplier,{textColor:e.textcolor,fontSize:e.fontsize,bold:e.bold,italic:e.italic},t,{isEditable:!0,isMultiLine:!0,customTitles:{text:a}}),(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.color,lineWidth:e.linewidth},t,"Line",{line:c})]}}},19530:(e,t,i)=>{i.r(t),i.d(t,{PitchBaseDefinitionsViewModel:()=>S});var r=i(16282),o=i(79881),n=i(90963),l=i(62684),s=i(3619),a=i(68680),c=i(5225),p=i(3925);const d=new n.TranslatedString("change {title} extend lines",(0,o.t)("change {title} extend lines")),h=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),g=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),y=new n.TranslatedString("change {title} level {index} line width",(0,o.t)("change {title} level {index} line width")),u=new n.TranslatedString("change {title} level {index} line style",(0,o.t)("change {title} level {index} line style")),f=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),v=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),b=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),_=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),D=(0,o.t)("Median"),T=(0,o.t)("Use one color"),w=(0,o.t)("Background"),P=(0,o.t)("Extend lines");class S extends s.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties(),i=t.childs(),o=this._source.name(),s=(0,c.removeSpaces)(o),S=new n.TranslatedString(o,this._source.title());t.hasChild("extendLines")&&e.push((0,a.createCheckablePropertyDefinition)({checked:(0, +a.convertToDefinitionProperty)(this._propertyApplier,i.extendLines,d.format({title:S}))},{id:s+"ExtendLines",title:P}));const m=i.median.childs(),x=(0,l.createLineStyleDefinition)(this._propertyApplier,{lineColor:m.color,lineStyle:m.linestyle,lineWidth:m.linewidth},S,"Median",{line:D});e.push(x);const C=this._source.levelsCount();for(let t=0;t<=C;t++){const r=i["level"+t].childs(),o=(0,a.createLeveledLinePropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,r.visible,h.format({title:S,index:t+1})),color:(0,a.getColorDefinitionProperty)(this._propertyApplier,r.color,null,g.format({title:S,index:t+1})),width:(0,a.convertToDefinitionProperty)(this._propertyApplier,r.linewidth,y.format({title:S,index:t+1})),style:(0,a.convertToDefinitionProperty)(this._propertyApplier,r.linestyle,u.format({title:S,index:t+1})),level:(0,a.convertToDefinitionProperty)(this._propertyApplier,r.coeff,f.format({title:S,index:t+1}))},{id:`${s}LineLevel${t+1}`});e.push(o)}const k=(0,a.createColorPropertyDefinition)({color:(0,a.getColorDefinitionProperty)(this._propertyApplier,new p.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,v.format({title:S}),!0)},{id:s+"AllLineColor",title:T});e.push(k);const L=(0,a.createTransparencyPropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,i.fillBackground,b.format({title:S})),transparency:(0,a.convertToDefinitionProperty)(this._propertyApplier,i.transparency,_.format({title:S}))},{id:s+"Background",title:w});return e.push(L),e}}},18775:(e,t,i)=>{i.r(t),i.d(t,{PitchForkDefinitionsViewModel:()=>g});var r=i(79881),o=i(90963),n=i(68680),l=i(19530),s=i(13953),a=i(32856),c=i.n(a);const p=new o.TranslatedString("change {title} style",(0,r.t)("change {title} style")),d=(0,r.t)("Style"),h=[{value:s.LineToolPitchforkStyle.Original,title:(0,r.t)("Original")},{value:s.LineToolPitchforkStyle.Schiff2,title:(0,r.t)("Schiff")},{value:s.LineToolPitchforkStyle.Schiff,title:(0,r.t)("Modified Schiff")},{value:s.LineToolPitchforkStyle.Inside,title:(0,r.t)("Inside")}];class g extends l.PitchBaseDefinitionsViewModel{_stylePropertyDefinitions(){const e=super._stylePropertyDefinitions(),t=this._source.properties().childs(),i=this._source.name(),r=new o.TranslatedString(i,this._source.title()),l=(0,n.createOptionsPropertyDefinition)({option:(0,n.convertToDefinitionProperty)(this._propertyApplier,t.style,p.format({title:r}))},{id:i+"PitchStyle",title:d,options:new(c())(h)});return e.push(l),e}}},50525:(e,t,i)=>{i.r(t),i.d(t,{PolylinesDefinitionsViewModel:()=>g});var r=i(79881),o=i(90963),n=i(62684),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),p=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),d=(0,r.t)("Border"),h=(0,r.t)("Background");class g extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){ +const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.linecolor,lineWidth:e.linewidth},i,"Line",{line:d}),(0,s.createColorPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,e.fillBackground,c.format({title:i})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.backgroundColor,e.transparency,p.format({title:i}))},{id:(0,a.removeSpaces)(t+"BackgroundColor"),title:h})]}}},93786:(e,t,i)=>{i.r(t),i.d(t,{PredictionDefinitionsViewModel:()=>L});var r=i(79881),o=i(90963),n=i(62684),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} source text color",(0,r.t)("change {title} source text color")),p=new o.TranslatedString("change {title} source background color",(0,r.t)("change {title} source background color")),d=new o.TranslatedString("change {title} source border color",(0,r.t)("change {title} source border color")),h=new o.TranslatedString("change {title} target text color",(0,r.t)("change {title} target text color")),g=new o.TranslatedString("change {title} target background color",(0,r.t)("change {title} target background color")),y=new o.TranslatedString("change {title} target border color",(0,r.t)("change {title} target border color")),u=new o.TranslatedString("change {title} success text color",(0,r.t)("change {title} success text color")),f=new o.TranslatedString("change {title} success background color",(0,r.t)("change {title} success background color")),v=new o.TranslatedString("change {title} failure text color",(0,r.t)("change {title} failure text color")),b=new o.TranslatedString("change {title} failure background color",(0,r.t)("change {title} failure background color")),_=(0,r.t)("Source text"),D=(0,r.t)("Source background"),T=(0,r.t)("Source border"),w=(0,r.t)("Target text"),P=(0,r.t)("Target background"),S=(0,r.t)("Target border"),m=(0,r.t)("Success text"),x=(0,r.t)("Success background"),C=(0,r.t)("Failure text"),k=(0,r.t)("Failure background");class L extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=(0,a.removeSpaces)(t),r=new o.TranslatedString(t,this._source.title());return[(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.linecolor,lineWidth:e.linewidth},r,"Line"),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.sourceTextColor,null,c.format({title:r}))},{id:i+"SourceTextColor",title:_}),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.sourceBackColor,e.transparency,p.format({title:r}))},{id:i+"SourceBackgroundColor",title:D}),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.sourceStrokeColor,null,d.format({title:r}))},{id:i+"SourceBorderColor",title:T}),(0,s.createColorPropertyDefinition)({color:(0, +s.getColorDefinitionProperty)(this._propertyApplier,e.targetTextColor,null,h.format({title:r}))},{id:i+"TargetTextColor",title:w}),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.targetBackColor,null,g.format({title:r}))},{id:i+"TargetBackgroundColor",title:P}),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.targetStrokeColor,null,y.format({title:r}))},{id:i+"TargetBorderColor",title:S}),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.successTextColor,null,u.format({title:r}))},{id:i+"SuccessTextColor",title:m}),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.successBackground,null,f.format({title:r}))},{id:i+"SuccessBackgroundColor",title:x}),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.failureTextColor,null,v.format({title:r}))},{id:i+"FailureTextColor",title:C}),(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.failureBackground,null,b.format({title:r}))},{id:i+"FailureBackgroundColor",title:k})]}}},45816:(e,t,i)=>{i.r(t),i.d(t,{PriceLabelDefinitionsViewModel:()=>a});var r=i(79881),o=i(90963),n=i(92785),l=i(3619);const s=(0,r.t)("Text");class a extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return[(0,n.createTextStyleDefinition)(this._propertyApplier,{textColor:e.color,fontSize:e.fontsize,backgroundColor:e.backgroundColor,backgroundTransparency:e.transparency,borderColor:e.borderColor},new o.TranslatedString(this._source.name(),this._source.title()),{customTitles:{text:s}})]}}},75256:(e,t,i)=>{i.r(t),i.d(t,{PriceNoteDefinitionsViewModel:()=>u});var r=i(79881),o=i(90963),n=i(92785),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} line color",(0,r.t)("change {title} line color")),p=(0,r.t)("Label text"),d=(0,r.t)("Text"),h=(0,r.t)("Line color"),g=(0,r.t)("Label border"),y=(0,r.t)("Label background");class u extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=(0,a.removeSpaces)(t),r=new o.TranslatedString(t,this._source.title()),l=(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.lineColor,null,c.format({title:r}))},{id:i+"LineColor",title:h});return[(0,n.createTextStyleDefinition)(this._propertyApplier,{textColor:e.priceLabelTextColor,fontSize:e.priceLabelFontSize,bold:e.priceLabelBold,italic:e.priceLabelItalic,backgroundColor:e.priceLabelBackgroundColor,borderColor:e.priceLabelBorderColor},r,{isEditable:!1,isMultiLine:!1,customTitles:{text:p,borderTitle:g,backgroundTitle:y}}),l]}_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,n.createTextStyleDefinition)(this._propertyApplier,{...e,showText:e.showLabel,textColor:e.textColor,fontSize:e.fontSize +},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:d}})]}}},92557:(e,t,i)=>{i.r(t),i.d(t,{ProjectionDefinitionsViewModel:()=>g});var r=i(79881),o=i(90963),n=i(62684),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} background color 1",(0,r.t)("change {title} background color 1")),p=new o.TranslatedString("change {title} background color 2",(0,r.t)("change {title} background color 2")),d=(0,r.t)("Border"),h=(0,r.t)("Background");class g extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,s.createTwoColorsPropertyDefinition)({color1:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.color1,e.transparency,c.format({title:i})),color2:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.color2,e.transparency,p.format({title:i}))},{id:(0,a.removeSpaces)(t+"Background2Color"),title:h}),(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.trendline.childs().color,lineWidth:e.linewidth},i,"Line",{line:d})]}}},29286:(e,t,i)=>{i.r(t),i.d(t,{RectangleDefinitionsViewModel:()=>y});var r=i(79881),o=i(90963),n=i(68680),l=i(32454),s=i(92785);const a=new o.TranslatedString("change {title} extending left",(0,r.t)("change {title} extending left")),c=new o.TranslatedString("change {title} extending right",(0,r.t)("change {title} extending right")),p=(0,r.t)("Text"),d=(0,r.t)("Extend left"),h=(0,r.t)("Extend right"),g=[{value:"bottom",title:(0,r.t)("Top")},{value:"middle",title:(0,r.t)("Inside")},{value:"top",title:(0,r.t)("Bottom")}];class y extends l.GeneralFiguresDefinitionsViewModelBase{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title()),r=super._stylePropertyDefinitions(),l=(0,n.createCheckablePropertyDefinition)({checked:(0,n.convertToDefinitionProperty)(this._propertyApplier,e.extendRight,c.format({title:i}))},{id:t+"ExtendRight",title:h});r.push(l);const s=(0,n.createCheckablePropertyDefinition)({checked:(0,n.convertToDefinitionProperty)(this._propertyApplier,e.extendLeft,a.format({title:i}))},{id:t+"ExtendLeft",title:d});return r.push(s),r}_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,s.createTextStyleDefinition)(this._propertyApplier,{textColor:e.textColor,text:e.text,bold:e.bold,italic:e.italic,fontSize:e.fontSize,horzLabelsAlign:e.horzLabelsAlign,vertLabelsAlign:e.vertLabelsAlign,showText:e.showLabel},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,alignmentVerticalItems:g,customTitles:{text:p}})]}}},57591:(e,t,i)=>{i.r(t),i.d(t,{RiskRewardDefinitionsViewModel:()=>H});var r=i(79881),o=i(90963),n=i(62684),l=i(92785),s=i(3619),a=i(68680),c=i(53785),p=i(32856),d=i.n(p),h=i(5225);const g=new o.TranslatedString("change {title} stop color",(0, +r.t)("change {title} stop color")),y=new o.TranslatedString("change {title} target color",(0,r.t)("change {title} target color")),u=new o.TranslatedString("change {title} price labels visibility",(0,r.t)("change {title} price labels visibility")),f=new o.TranslatedString("change {title} compact stats mode",(0,r.t)("change {title} compact stats mode")),v=new o.TranslatedString("change {title} always show stats",(0,r.t)("change {title} always show stats")),b=new o.TranslatedString("change {title} account size",(0,r.t)("change {title} account size")),_=new o.TranslatedString("change {title} lot size",(0,r.t)("change {title} lot size")),D=new o.TranslatedString("change {title} risk",(0,r.t)("change {title} risk")),T=new o.TranslatedString("change {title} risk display mode",(0,r.t)("change {title} risk display mode")),w=new o.TranslatedString("change {title} entry price",(0,r.t)("change {title} entry price")),P=new o.TranslatedString("change {title} profit level",(0,r.t)("change {title} profit level")),S=new o.TranslatedString("change {title} profit price",(0,r.t)("change {title} profit price")),m=new o.TranslatedString("change {title} stop level",(0,r.t)("change {title} stop level")),x=new o.TranslatedString("change {title} stop price",(0,r.t)("change {title} stop price")),C=(0,r.t)("Lines"),k=(0,r.t)("Stop color"),L=(0,r.t)("Target color"),A=(0,r.t)("Text"),M=(0,r.t)("Compact stats mode"),V=(0,r.t)("Ticks"),B=(0,r.t)("Price"),N=(0,r.t)("Entry price"),W=(0,r.t)("Profit level"),z=(0,r.t)("Stop level"),R=(0,r.t)("Account size"),E=(0,r.t)("Lot size"),G=(0,r.t)("Risk"),$=(0,r.t)("Always show stats"),O=(0,r.t)("Price labels"),F=(0,r.t)("%"),I=(0,r.t)("Cash");function U(e){return[{value:c.RiskDisplayMode.Percentage,title:F},{value:c.RiskDisplayMode.Money,title:e||I}]}class H extends s.LineDataSourceDefinitionsViewModel{constructor(e,t){super(e,t);const i=this._source.properties().childs(),r=i.riskDisplayMode.value();this._riskMaxWV=new(d())(this._getRiskMax(r)),this._riskStepWV=new(d())(this._getRiskStep(r)),this._riskPrecisionWV=new(d())(this._getRiskPrecision(r)),this._riskUnitWV=new(d())(this._getRiskUnit()),this._riskUnitOptionsWV=new(d())(this._getRiskUnitOptions()),this._lotSizeStepWV=new(d())(this._getLotSizeStep()),this._createPropertyRages(),i.riskDisplayMode.subscribe(this,e=>this._onRiskDisplayChanged(e)),i.accountSize.subscribe(this,()=>this._onAccountSizeChanged()),i.lotSize.subscribe(this,()=>this._onLotSizeChanged()),this._undoModel.model().mainSeries().dataEvents().symbolResolved().subscribe(this,this._onSymbolInfoChanged)}destroy(){super.destroy();const e=this._source.properties().childs();e.riskDisplayMode.unsubscribeAll(this),e.accountSize.unsubscribeAll(this),e.lotSize.unsubscribeAll(this),this._undoModel.model().mainSeries().dataEvents().symbolResolved().unsubscribeAll(this)}_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=(0,h.removeSpaces)(t),r=new o.TranslatedString(t,this._source.title());return[(0,n.createLineStyleDefinition)(this._propertyApplier,{ +lineColor:e.linecolor,lineWidth:e.linewidth},r,"Line",{line:C}),(0,a.createColorPropertyDefinition)({color:(0,a.getColorDefinitionProperty)(this._propertyApplier,e.stopBackground,e.stopBackgroundTransparency,g.format({title:r}))},{id:i+"StopColor",title:k}),(0,a.createColorPropertyDefinition)({color:(0,a.getColorDefinitionProperty)(this._propertyApplier,e.profitBackground,e.profitBackgroundTransparency,y.format({title:r}))},{id:i+"ProfitColor",title:L}),(0,l.createTextStyleDefinition)(this._propertyApplier,{textColor:e.textcolor,fontSize:e.fontsize},r,{isEditable:!0,isMultiLine:!0,customTitles:{text:A}}),(0,a.createCheckablePropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.showPriceLabels,u.format({title:r}))},{id:i+"ShowPriceLabels",title:O}),(0,a.createCheckablePropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.compact,f.format({title:r}))},{id:i+"CompactMode",title:M}),(0,a.createCheckablePropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.alwaysShowStats,v.format({title:r}))},{id:i+"AlwaysShowStats",title:$})]}_inputsPropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=(0,h.removeSpaces)(t),r=new o.TranslatedString(t,this._source.title()),n=this._getYCoordinateStepWV(),l=(0,a.createNumberPropertyDefinition)({value:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.accountSize,b.format({title:r}))},{id:i+"AccountSize",title:R,type:1,min:new(d())(1e-9),max:new(d())(1e9),step:new(d())(1),unit:this._riskUnitWV}),s=(0,a.createNumberPropertyDefinition)({value:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.lotSize,_.format({title:r}))},{id:i+"LotSize",title:E,type:1,min:new(d())(1e-9),max:new(d())(1e8),step:this._lotSizeStepWV}),c=(0,a.createNumberPropertyDefinition)({value:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.risk,D.format({title:r}),[e=>parseFloat(e)]),unitOptionsValue:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.riskDisplayMode,T.format({title:r}))},{id:i+"Risk",title:G,type:1,min:new(d())(1e-9),max:this._riskMaxWV,precision:this._riskPrecisionWV,step:this._riskStepWV,unitOptions:this._riskUnitOptionsWV}),p=(0,a.createNumberPropertyDefinition)({value:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.entryPrice,w.format({title:r}))},{id:i+"EntryPrice",title:N,type:1,step:n}),g=(0,a.createPropertyDefinitionsGeneralGroup)([l,s,c,p],i+"AccountRisk"),y=(0,a.createNumberPropertyDefinition)({value:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.profitLevel,P.format({title:r}))},{id:i+"ProfitLevelTicks",title:V,type:0,min:new(d())(0),max:new(d())(1e9),step:new(d())(1)}),u=(0,a.createNumberPropertyDefinition)({value:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.targetPrice,S.format({title:r}),[e=>e,e=>this._source.preparseProfitPrice(e)])},{id:i+"ProfitLevelPrice",title:B,type:1,step:n}),f=(0,a.createPropertyDefinitionsGeneralGroup)([y,u],i+"ProfitLevel",W),v=(0,a.createNumberPropertyDefinition)({ +value:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.stopLevel,m.format({title:r}))},{id:i+"StopLevelTicks",title:V,type:0,min:new(d())(0),max:new(d())(1e9),step:new(d())(1)}),C=(0,a.createNumberPropertyDefinition)({value:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.stopPrice,x.format({title:r}),[e=>e,e=>this._source.preparseStopPrice(e)])},{id:i+"StopLevelPrice",title:B,type:1,step:n});return[g,f,(0,a.createPropertyDefinitionsGeneralGroup)([v,C],i+"StopLevel",z)]}_onRiskDisplayChanged(e){const t=e.value();this._riskMaxWV.setValue(this._getRiskMax(t)),this._riskStepWV.setValue(this._getRiskStep(t)),this._riskPrecisionWV.setValue(this._getRiskPrecision(t))}_onAccountSizeChanged(){this._riskMaxWV.setValue(this._getRiskMax(this._source.properties().childs().riskDisplayMode.value()))}_onLotSizeChanged(){this._lotSizeStepWV.setValue(this._getLotSizeStep())}_onSymbolInfoChanged(){this._riskUnitWV.setValue(this._getRiskUnit()),this._riskUnitOptionsWV.setValue(this._getRiskUnitOptions())}_getRiskMax(e){return e===c.RiskDisplayMode.Percentage?100:this._source.properties().childs().accountSize.value()}_getRiskStep(e){return e===c.RiskDisplayMode.Percentage?.01:1}_getRiskPrecision(e){if(e===c.RiskDisplayMode.Percentage)return 2}_getLotSizeStep(){const e=this._source.properties().childs().lotSize.value();if(e%1==0)return 1;const t=e.toString(),i=t.split(".");if(2===i.length)return Number("1e-"+i[1].length);{const e=/\d+e-(\d+)/.exec(t);if(null!==e)return Number("1e-"+e[1])}return this._lotSizeStepWV.value()}_getRiskUnit(){const e=this._undoModel.model().mainSeries().symbolInfo();return null!==e&&e.currency_code||""}_getRiskUnitOptions(){const e=this._undoModel.model().mainSeries().symbolInfo();return null!==e?U(e.currency_code):U()}}},69172:(e,t,i)=>{i.r(t),i.d(t,{SignpostDefinitionsViewModel:()=>b});var r=i(79881),o=i(90963),n=i(5225),l=i(32856),s=i.n(l),a=i(68680),c=i(92785),p=i(34954),d=i(3619);const h=new o.TranslatedString("change vertical position Y coordinate",(0,r.t)("change vertical position Y coordinate")),g=new o.TranslatedString("change {title} emoji visibility",(0,r.t)("change {title} emoji visibility")),y=new o.TranslatedString("change {title} image background color",(0,r.t)("change {title} image background color")),u=new o.TranslatedString("change {title} emoji",(0,r.t)("change {title} emoji")),f=(0,r.t)("#1 (vertical position %, bar)",{context:"linetool point"}),v=(0,r.t)("Emoji pin");class b extends d.LineDataSourceDefinitionsViewModel{_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,c.createTextStyleDefinition)(this._propertyApplier,{text:e.text,fontSize:e.fontSize,bold:e.bold,italic:e.italic},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0})]}_coordinatesPropertyDefinitions(){const e=this._source.pointsProperty().childs().points[0].childs(),t=this._source.name(),i=(0,p.getCoordinateXMetaInfo)(this._propertyApplier,e),r={property:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.price,h),info:{typeY:1, +stepY:new(s())(1),minY:new(s())(-100),maxY:new(s())(100)}};return[(0,a.createCoordinatesPropertyDefinition)({x:i.property,y:r.property},{id:(0,n.removeSpaces)(`${t}Coordinates${f}`),title:f,...i.info,...r.info})]}_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,a.createEmojiPropertyDefinition)({checked:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.showImage,g.format({title:i})),backgroundColor:(0,a.getColorDefinitionProperty)(this._propertyApplier,e.plateColor,null,y.format({title:i})),emoji:(0,a.convertToDefinitionProperty)(this._propertyApplier,e.emoji,u.format({title:i}))},{id:(0,n.removeSpaces)(`${t}Emoji${f}`),title:v})]}}},74146:(e,t,i)=>{i.r(t),i.d(t,{TextDefinitionsViewModel:()=>l});var r=i(92785),o=i(3619),n=i(90963);class l extends o.LineDataSourceDefinitionsViewModel{_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,r.createTextStyleDefinition)(this._propertyApplier,{textColor:e.color,fontSize:e.fontsize,bold:e.bold,italic:e.italic,text:e.text,backgroundVisible:e.fillBackground,backgroundColor:e.backgroundColor,backgroundTransparency:e.backgroundTransparency,borderVisible:e.drawBorder,borderColor:e.borderColor,wrap:e.wordWrap},new n.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0})]}}},48549:(e,t,i)=>{i.r(t),i.d(t,{TimeCyclesPatternDefinitionsViewModel:()=>g});var r=i(79881),o=i(90963),n=i(62684),l=i(3619),s=i(68680),a=i(5225);const c=new o.TranslatedString("change {title} background visibility",(0,r.t)("change {title} background visibility")),p=new o.TranslatedString("change {title} background color",(0,r.t)("change {title} background color")),d=(0,r.t)("Line"),h=(0,r.t)("Background");class g extends l.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs(),t=this._source.name(),i=new o.TranslatedString(t,this._source.title());return[(0,n.createLineStyleDefinition)(this._propertyApplier,{lineColor:e.linecolor,lineWidth:e.linewidth,lineStyle:e.linestyle},i,"Line",{line:d}),(0,s.createColorPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,e.fillBackground,c.format({title:i})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,e.backgroundColor,e.transparency,p.format({title:i}))},{id:(0,a.removeSpaces)(t+"BackgroundColor"),title:h})]}}},27138:(e,t,i)=>{i.r(t),i.d(t,{TrendAngleDefinitionsViewModel:()=>u});var r=i(79881),o=i(90963),n=i(68680),l=i(3619),s=i(32856),a=i.n(s),c=i(34954),p=i(46566);const d=new o.TranslatedString("change angle",(0,r.t)("change angle")),h=(0,r.t)("Angle"),g=(0,r.t)("Text"),y=(0,r.t)("#1 (price, bar)",{context:"linetool point"});class u extends l.LineDataSourceDefinitionsViewModel{_coordinatesPropertyDefinitions(){const e=this._source.points(),t=[],i=this._source.pointsProperty().childs().points[0].childs(),r=this._getYCoordinateStepWV();t.push((0, +c.getCoordinatesPropertiesDefinitions)(this._propertyApplier,i,e[0],r,y,this._source.name()));const o=(0,n.createNumberPropertyDefinition)({value:(0,n.convertToDefinitionProperty)(this._propertyApplier,this._source.properties().childs().angle,d)},{id:"TrendLineAngleCoordinate",title:h,min:new(a())(-360),max:new(a())(360),step:new(a())(1)});return t.push(o),t}_stylePropertyDefinitions(){const e=this._source.properties().childs();return(0,p.getTrendLineToolsStylePropertiesDefinitions)(this._propertyApplier,e,new o.TranslatedString(this._source.name(),this._source.title()),{text:g})}}},72487:(e,t,i)=>{i.r(t),i.d(t,{TrendBasedFibTimeDefinitionsViewModel:()=>k});var r=i(16282),o=i(79881),n=i(90963),l=i(62684),s=i(68680),a=i(3619),c=i(46446),p=i(32856),d=i.n(p),h=i(5225),g=i(3925);const y=new n.TranslatedString("change {title} level {index} line visibility",(0,o.t)("change {title} level {index} line visibility")),u=new n.TranslatedString("change {title} level {index} line color",(0,o.t)("change {title} level {index} line color")),f=new n.TranslatedString("change {title} level {index} line width",(0,o.t)("change {title} level {index} line width")),v=new n.TranslatedString("change {title} level {index} line style",(0,o.t)("change {title} level {index} line style")),b=new n.TranslatedString("change {title} level {index} line coeff",(0,o.t)("change {title} level {index} line coeff")),_=new n.TranslatedString("change {title} all lines color",(0,o.t)("change {title} all lines color")),D=new n.TranslatedString("change {title} background visibility",(0,o.t)("change {title} background visibility")),T=new n.TranslatedString("change {title} background transparency",(0,o.t)("change {title} background transparency")),w=new n.TranslatedString("change {title} labels visibility",(0,o.t)("change {title} labels visibility")),P=new n.TranslatedString("change {title} labels alignment",(0,o.t)("change {title} labels alignment")),S=(0,o.t)("Trend line"),m=(0,o.t)("Use one color"),x=(0,o.t)("Background"),C=(0,o.t)("Labels");class k extends a.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=[],t=this._source.properties(),i=t.childs(),o=this._source.name(),a=(0,h.removeSpaces)(o),p=new n.TranslatedString(o,this._source.title()),k=i.trendline.childs(),L=(0,l.createLineStyleDefinition)(this._propertyApplier,{showLine:k.visible,lineColor:k.color,lineStyle:k.linestyle,lineWidth:k.linewidth},p,"TrendLine",{line:S});e.push(L);const A=this._source.levelsCount();for(let i=1;i<=A;i++){const o=(0,r.ensureDefined)(t.child("level"+i)).childs(),n=(0,s.createLeveledLinePropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,o.visible,y.format({title:p,index:i})),color:(0,s.getColorDefinitionProperty)(this._propertyApplier,o.color,null,u.format({title:p,index:i})),width:(0,s.convertToDefinitionProperty)(this._propertyApplier,o.linewidth,f.format({title:p,index:i})),style:(0,s.convertToDefinitionProperty)(this._propertyApplier,o.linestyle,v.format({title:p,index:i})),level:(0, +s.convertToDefinitionProperty)(this._propertyApplier,o.coeff,b.format({title:p,index:i}))},{id:`${a}LineLevel${i}`});e.push(n)}const M=(0,s.createColorPropertyDefinition)({color:(0,s.getColorDefinitionProperty)(this._propertyApplier,new g.CollectibleColorPropertyUndoWrapper((0,r.ensureNotNull)(this._source.lineColorsProperty()),this._propertyApplier,null),null,_.format({title:p}),!0)},{id:a+"AllLineColor",title:m});e.push(M);const V=(0,s.createTransparencyPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,i.fillBackground,D.format({title:p})),transparency:(0,s.convertToDefinitionProperty)(this._propertyApplier,i.transparency,T.format({title:p}))},{id:a+"Background",title:x});e.push(V);const B=(0,s.createTwoOptionsPropertyDefinition)({checked:(0,s.convertToDefinitionProperty)(this._propertyApplier,i.showCoeffs,w.format({title:p})),option1:(0,s.convertToDefinitionProperty)(this._propertyApplier,i.horzLabelsAlign,P.format({title:p})),option2:(0,s.convertToDefinitionProperty)(this._propertyApplier,i.vertLabelsAlign,P.format({title:p}))},{id:a+"Labels",title:C,optionsItems1:new(d())(c.availableAlignmentHorizontalItems),optionsItems2:new(d())(c.availableAlignmentVerticalItems)});return e.push(B),e}}},74231:(e,t,i)=>{i.r(t),i.d(t,{TrendLineDefinitionsViewModel:()=>c});var r=i(79881),o=i(90963),n=i(3619),l=i(46566),s=i(92785);const a=(0,r.t)("Text");class c extends n.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return(0,l.getTrendLineToolsStylePropertiesDefinitions)(this._propertyApplier,e,new o.TranslatedString(this._source.name(),this._source.title()))}_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,s.createTextStyleDefinition)(this._propertyApplier,{...e,showText:e.showLabel,textColor:e.textcolor,fontSize:e.fontsize},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:a}})]}}},30066:(e,t,i)=>{i.r(t),i.d(t,{VerticalLineDefinitionsViewModel:()=>g});var r=i(79881),o=i(90963),n=i(68680),l=i(34954),s=i(88101),a=i(5225),c=i(3619),p=i(92785);const d=(0,r.t)("Text"),h=(0,r.t)("#1 (bar)",{context:"linetool point"});class g extends c.LineDataSourceDefinitionsViewModel{_stylePropertyDefinitions(){const e=this._source.properties().childs();return(0,s.getLinesStylesPropertiesDefinitions)(this._propertyApplier,e,new o.TranslatedString(this._source.name(),this._source.title()))}_coordinatesPropertyDefinitions(){const e=this._source.pointsProperty().childs().points[0].childs(),t=(0,l.getCoordinateXMetaInfo)(this._propertyApplier,e);return[(0,n.createCoordinatesPropertyDefinition)({x:t.property},{id:(0,a.removeSpaces)(this._source.name()+"Point1"),title:h,...t.info})]}_textPropertyDefinitions(){const e=this._source.properties().childs();return[(0,p.createTextStyleDefinition)(this._propertyApplier,{...e,showText:e.showLabel,textColor:e.textcolor,fontSize:e.fontsize,textOrientation:e.textOrientation +},new o.TranslatedString(this._source.name(),this._source.title()),{isEditable:!0,isMultiLine:!0,customTitles:{text:d}})]}}},3925:(e,t,i)=>{i.d(t,{CollectibleColorPropertyUndoWrapper:()=>s,CollectibleColorPropertyDirectWrapper:()=>a});var r=i(16282),o=i(674),n=i.n(o);class l extends(n()){constructor(e){super(),this._listenersMappers=[],this._isProcess=!1,this._baseProperty=e}destroy(){this._baseProperty.destroy()}value(){const e=this._baseProperty.value();return"mixed"===e?"":e}visible(){return this._baseProperty.visible()}setValue(e){this._isProcess=!0,this._baseProperty.setValue(""===e?"mixed":e,void 0,{applyValue:this._applyValue.bind(this)}),this._isProcess=!1,this._listenersMappers.forEach(e=>{e.method.call(e.obj,this)})}subscribe(e,t){const i=i=>{this._isProcess||t.call(e,this)},r={obj:e,method:t,callback:i};this._listenersMappers.push(r),this._baseProperty.subscribe(e,i)}unsubscribe(e,t){var i;const o=(0,r.ensureDefined)(null===(i=this._listenersMappers.find(i=>i.obj===e&&i.method===t))||void 0===i?void 0:i.callback);this._baseProperty.unsubscribe(e,o)}unsubscribeAll(e){this._baseProperty.unsubscribeAll(e)}}class s extends l{constructor(e,t,i){super(e),this._propertyApplier=t,this._undoText=i}_applyValue(e,t){this._propertyApplier.setProperty(e,t,this._undoText)}}class a extends l{_applyValue(e,t){e.setValue(t)}}},80538:(e,t,i)=>{i.d(t,{PropertyApplierWithoutSavingChart:()=>r});class r{constructor(e,t){this._undoModelSupplier=e,this._featureToggle=t}setProperty(e,t,i){this._undoModelSupplier().setProperty(e,t,i,this._featureToggle.value())}beginUndoMacro(e){return this._undoModelSupplier().beginUndoMacro(e,this._shouldWeKeepChartValidated())}endUndoMacro(){this._undoModelSupplier().endUndoMacro()}setWatchedValue(e,t,i){this._undoModelSupplier().undoHistory().setWatchedValue(e,t,i,!0)}_shouldWeKeepChartValidated(){const e=this._undoModelSupplier().model().isAutoSaveEnabled().value();return this._featureToggle.value()&&e}}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/manage-drawings-dialog.ce43d4b42ea019cc5518.js b/public/static/charting_library/bundles/manage-drawings-dialog.ce43d4b42ea019cc5518.js new file mode 100644 index 0000000..3cf8cea --- /dev/null +++ b/public/static/charting_library/bundles/manage-drawings-dialog.ce43d4b42ea019cc5518.js @@ -0,0 +1 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1702],{9134:e=>{e.exports={dialog:"dialog-Gd2kEiLq",wrap:"wrap-Gd2kEiLq"}},28098:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ManageDrawingsDialogRenderer:()=>C});var s=i(67294),a=i(73935),n=i(79881),r=i(86573),o=i(468),l=i(93590),d=i(69117),h=i(9134);class c extends s.PureComponent{constructor(e){super(e),this._dialogRef=s.createRef(),this._renderChildren=e=>s.createElement("div",{className:h.wrap},s.createElement(d.ManageDrawings,{onInitialized:e.centerAndFit,chartWidget:this._activeChartWidget}));const t=(0,r.service)(o.CHART_WIDGET_COLLECTION_SERVICE);this._activeChartWidget=t.activeChartWidget.value(),this.state={layoutName:t.metaInfo.name.value()}}render(){return s.createElement(l.AdaptivePopupDialog,{className:h.dialog,dataName:"manage-drawings-dialog",isOpened:!0,onClickOutside:this.props.onClose,onClose:this.props.onClose,ref:this._dialogRef,render:this._renderChildren,showSeparator:!0,title:(0,n.t)("Manage layout drawings"),subtitle:this.state.layoutName})}}class C{constructor(e){this._container=document.createElement("div"),this._isVisible=!1,this._handleClose=()=>{this._onClose&&this._onClose(),a.unmountComponentAtNode(this._container),this._isVisible=!1},this._onClose=e}hide(){this._handleClose()}isVisible(){return this._isVisible}show(){a.render(s.createElement(c,{onClose:this._handleClose}),this._container),this._isVisible=!0}}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/new-confirm-inputs-dialog.88813711209cf273d882.js b/public/static/charting_library/bundles/new-confirm-inputs-dialog.88813711209cf273d882.js new file mode 100644 index 0000000..5ce37dd --- /dev/null +++ b/public/static/charting_library/bundles/new-confirm-inputs-dialog.88813711209cf273d882.js @@ -0,0 +1,2 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[3030],{2125:t=>{t.exports={separator:"separator-3wSrFLTr",scrollable:"scrollable-3wSrFLTr"}},19932:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ConfirmInputsDialogRenderer:()=>f});var i=n(73935),o=n(67294),r=n(79881),s=n(7591),c=n(79424),l=n(73991),u=n(4093),a=n(5729),p=n.n(a),d=n(43367),h=n(2125);function m(t){const{title:e,confirmInputs:n,inputsProperty:i,model:a,confirmInputsType:m,onCancel:f,onSubmit:y,onClose:S,onStudyInputChange:C}=t,[I,b]=(0,o.useState)(!0),_=(0,o.useMemo)((function(){const t=new(p());return{isInputsStudy:!0,symbolsResolved:()=>t,resolvedSymbolInfoBySymbol:()=>null,tempProperties:i}}),[]),w=(0,o.useRef)(null),[D,g]=(0,o.useState)(E());return(0,o.useEffect)(()=>{if(!d.CheckMobile.any()&&I&&"symbol"===m&&w.current){const t=w.current.querySelector("input");t&&t.focus()}},[I]),o.createElement(s.AdaptiveConfirmDialog,{dataName:"confirm-inputs-dialog",title:e,isOpened:I,onSubmit:function(){y(i.state().inputs),T()},onCancel:f,onClickOutside:T,onClose:T,render:()=>o.createElement(o.Fragment,null,o.createElement("div",{className:h.separator}),o.createElement(l.TouchScrollContainer,{className:h.scrollable,onScroll:v},o.createElement(u.InputsTabContent,{reference:w,property:i,model:a,study:_,inputs:n,onStudyInputChange:P}))),defaultActionOnClose:"none",submitButtonText:(0,r.t)("Apply"),submitButtonDisabled:D,submitOnEnterKey:!1});function v(){c.globalCloseDelegate.fire()}function T(){b(!1),S()}function E(){const{inputs:t}=i.state();for(const e of n)if("symbol"===e.type&&!e.optional&&""===t[e.id])return!0;return!1}function P(t,e){null==C||C(t,e),g(E())}}class f{constructor(t,e,n,o,r,s,c,l){this._container=document.createElement("div"),this._handleClose=()=>{i.unmountComponentAtNode(this._container),this._onClose()},this._title=t,this._confirmInputs=e,this._model=r,this._confirmInputsType=o,this._onSubmit=s,this._onClose=c,this._onStudyInputChange=l,this._inputsProperty=n}show(){i.render(o.createElement(m,{title:this._title,confirmInputs:this._confirmInputs,inputsProperty:this._inputsProperty,model:this._model,confirmInputsType:this._confirmInputsType,onSubmit:this._onSubmit,onCancel:()=>{},onClose:this._handleClose,onStudyInputChange:this._onStudyInputChange}),this._container)}}},6825:(t,e,n)=>{"use strict";n.r(e),n.d(e,{selectInputValuesOnChart:()=>c});var i=n(16282),o=n(53312),r=n(79881),s=n(36135);o.colorsPalette["color-cold-gray-500"];async function c(t,e,n,o){let c;const l=(0,s.getInputGroups)(e);t.model().model();for await(const t of l)await u(t).catch(t=>{throw new Error(t)});return{customSourceId:void 0,destPane:c};async function u(t){if((0,s.isGroup)(t))if((0,s.isInputInlines)(t)){const e=function(t){if(2!==t.length||t[0].type===t[1].type)return null;return"price"===t[0].type?{price:t[0],time:t[1]}:{price:t[1],time:t[0]}}(t.children);if(e){const{time:n,price:i}=e,s=n.inline?(0,r.t)('Set the "{inputInline}" time and price for "{studyShortDescription}"',{replace:{inputInline:n.inline,studyShortDescription:o}}):(0, +r.t)('Set the time and price for "{studyShortDescription}"',{replace:{studyShortDescription:o}});await p(t,"all",s,n.id,i.id)}else for await(const e of t.children)await a(e)}else for await(const e of t.children)await u(e);else await a(t)}async function a(t){const e="time"===t.type,n=e?"time":"price",i=t.name?(0,r.t)('Set the "{inputTitle}" time for "{studyShortDescription}"',{replace:{inputTitle:t.name,studyShortDescription:o}}):(0,r.t)('Set the time for "{studyShortDescription}"',{replace:{studyShortDescription:o}}),s=t.name?(0,r.t)('Set the "{inputTitle}" price for "{studyShortDescription}"',{replace:{inputTitle:t.name,studyShortDescription:o}}):(0,r.t)('Set the price for "{studyShortDescription}"',{replace:{studyShortDescription:o}}),c=e?i:s,l=e?t.id:void 0,u=e?void 0:t.id;await p(t,n,c,l,u)}async function p(e,o,r,s,l){const u=await t.requestSelectPoint({pointType:o,pane:c,lineColor:void 0},r);void 0===c&&(c=u.pane);const a=n.childs().inputs;a&&(s&&(0,i.ensureDefined)(a.child(s)).setValue(1e3*(u.point.time||0)),l&&(0,i.ensureDefined)(a.child(l)).setValue(u.point.price))}}}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/new-edit-object-dialog.e069889125138e0cf97a.js b/public/static/charting_library/bundles/new-edit-object-dialog.e069889125138e0cf97a.js new file mode 100644 index 0000000..e08fd88 --- /dev/null +++ b/public/static/charting_library/bundles/new-edit-object-dialog.e069889125138e0cf97a.js @@ -0,0 +1,19 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[6265],{6920:e=>{e.exports={switcherWrapper:"switcherWrapper-ZOZ_o9xK","size-small":"size-small-ZOZ_o9xK","size-large":"size-large-ZOZ_o9xK","intent-select":"intent-select-ZOZ_o9xK",switcherThumbWrapper:"switcherThumbWrapper-ZOZ_o9xK",input:"input-ZOZ_o9xK",switcherTrack:"switcherTrack-ZOZ_o9xK","intent-default":"intent-default-ZOZ_o9xK",switcherThumb:"switcherThumb-ZOZ_o9xK",focus:"focus-ZOZ_o9xK"}},79948:e=>{e.exports={wrapper:"wrapper-1Eudat6L",hovered:"hovered-1Eudat6L",labelRow:"labelRow-1Eudat6L",label:"label-1Eudat6L",labelHint:"labelHint-1Eudat6L",labelOn:"labelOn-1Eudat6L"}},46941:e=>{e.exports={recalculateCheckbox:"recalculateCheckbox-2z5ytJSA",singleInputTooltip:"singleInputTooltip-2z5ytJSA",checkboxTooltip:"checkboxTooltip-2z5ytJSA",descriptionCell:"descriptionCell-2z5ytJSA",group:"group-2z5ytJSA"}},28687:e=>{e.exports={smallStyleControl:"smallStyleControl-11tnC1DU",additionalSelect:"additionalSelect-11tnC1DU",childRowContainer:"childRowContainer-11tnC1DU",defaultSelect:"defaultSelect-11tnC1DU",defaultSelectItem:"defaultSelectItem-11tnC1DU",block:"block-11tnC1DU",group:"group-11tnC1DU",wrapGroup:"wrapGroup-11tnC1DU",textMarkGraphicBlock:"textMarkGraphicBlock-11tnC1DU",textMarkGraphicWrapGroup:"textMarkGraphicWrapGroup-11tnC1DU"}},2442:e=>{e.exports={scrollable:"scrollable-2CTvqFKf"}},78706:e=>{e.exports={separator:"separator-eqcGT_ow",small:"small-eqcGT_ow",normal:"normal-eqcGT_ow",large:"large-eqcGT_ow"}},84264:(e,t,l)=>{"use strict";l.d(t,{DEFAULT_MENU_ITEM_SWITCHER_THEME:()=>h,MenuItemSwitcher:()=>u});var r=l(67294),n=l(94184),o=l.n(n),s=l(6920),a=l.n(s);function i(e){const{className:t="",intent:l="default",size:r="small",disabled:o}=e;return n(t,a().switcherWrapper,a()["size-"+r],!o&&a()["intent-"+l])}class c extends r.PureComponent{render(){const{reference:e,size:t,intent:l,...o}=this.props,s=n(a().input,-1!==this.props.tabIndex&&a().focus);return r.createElement("div",{className:i(this.props)},r.createElement("input",{...o,type:"checkbox",className:s,ref:e}),r.createElement("div",{className:a().switcherThumbWrapper},r.createElement("div",{className:a().switcherTrack}),r.createElement("div",{className:a().switcherThumb})))}}var p=l(74818),d=l(79948);const h=d;function u(e){const{className:t,checked:l,id:n,label:s,labelDescription:a,value:i,preventLabelHighlight:h,reference:u,switchReference:m,theme:y=d,disabled:g}=e,v=o()(y.label,l&&!h&&y.labelOn),b=o()(t,y.wrapper,l&&y.wrapperWithOnLabel);return r.createElement("label",{className:b,htmlFor:n,ref:u},r.createElement("div",{className:y.labelRow},r.createElement("div",{className:v},s),a&&r.createElement("div",{className:y.labelHint},a)),r.createElement(c,{disabled:g,className:y.switch,reference:m,checked:l,onChange:function(t){const l=t.target.checked;void 0!==e.onChange&&e.onChange(l)},value:i,tabIndex:-1,id:n,...(0,p.filterDataProps)(e)}))}},19442:(e,t,l)=>{"use strict";l.r(t),l.d(t,{EditObjectDialogRenderer:()=>Sl}) +;var r=l(73935),n=l(67294),o=l(16282),s=l(79881),a=l(90963),i=l(79039),c=l(64222),p=l(27490),d=l(18437),h=l(87438),u=l(77658),m=l(58789),y=l(7591),g=l(79424),v=l(73991),b=l(17e3),C=l(1706),w=l(67945),S=l(54046),E=l(2442);class P extends n.PureComponent{constructor(e){super(e),this._renderFooterLeft=e=>{const{source:t,model:l}=this.props;if((0,w.isLineTool)(t))return n.createElement(S.FooterMenu,{source:t,model:l});if((0,b.isStudy)(t))return n.createElement(m.StudyDefaultsManager,{model:l,source:t,mode:e?"compact":"normal"});throw new TypeError("Unsupported source type.")},this._handleSelect=e=>{this.setState({activeTabId:e},()=>{this._requestResize&&this._requestResize()}),this.props.onActiveTabChanged&&this.props.onActiveTabChanged(e)},this._handleScroll=()=>{g.globalCloseDelegate.fire()},this._handleSubmit=()=>{this.props.onSubmit(),this.props.onClose()};const{pages:t,initialActiveTab:l}=this.props;this.state={activeTabId:t.allIds.includes(l)?l:t.allIds[0]}}render(){const{title:e,onCancel:t,onClose:l}=this.props,{activeTabId:r}=this.state;return n.createElement(y.AdaptiveConfirmDialog,{dataName:"indicator-properties-dialog",title:e,isOpened:!0,onSubmit:this._handleSubmit,onCancel:t,onClickOutside:l,onClose:l,footerLeftRenderer:this._renderFooterLeft,render:this._renderChildren(r),submitOnEnterKey:!1})}_renderChildren(e){return({requestResize:t})=>{this._requestResize=t;const{pages:l,source:r,model:o}=this.props,s=l.byId[e],a="Component"in s?void 0:s.page;return n.createElement(n.Fragment,null,n.createElement(u.DialogTabs,{activeTabId:e,onSelect:this._handleSelect,tabs:l}),n.createElement(v.TouchScrollContainer,{className:E.scrollable,onScroll:this._handleScroll},"Component"in s?n.createElement(s.Component,{source:r,model:o}):n.createElement(C.PropertiesEditorTab,{page:a,tableKey:e})))}}}var f=l(64512),_=l(84254),T=l(76470);class x extends n.PureComponent{render(){const{input:e,value:t,onChange:l,onBlur:r,onKeyDown:o}=this.props,a=e.options.reduce((e,t)=>(e[t]="NONE"===t?(0,s.t)("Default"):t,e),{}),i={...e,optionsTitles:a};return n.createElement(T.SelectInputComponent,{input:i,value:t,onChange:l,onBlur:r,onKeyDown:o})}}const k=(0,_.bind)(x);var I=l(13656),L=l(38754),R=l(22489),N=l(41497),M=l(35665),D=l(7202);l(95068);const V=n.createContext(null),B=(0,s.t)("{currency} per order"),z=(0,s.t)("{currency} per contract");class W extends n.PureComponent{render(){const{input:e}=this.props,t=(0,o.ensureNotNull)(this.context),l={...e,optionsTitles:{percent:"%",cash_per_order:B.format({currency:t}),cash_per_contract:z.format({currency:t})}};return n.createElement(T.SelectInput,{input:l})}}W.contextType=V;const A=(0,s.t)("Contracts"),O=(0,s.t)("% of equity");class H extends n.PureComponent{render(){const{input:e}=this.props,t=(0,o.ensureNotNull)(this.context),l={...e,optionsTitles:{fixed:A,cash_per_order:t,percent_of_equity:O}};return n.createElement(T.SelectInput,{input:l})}}H.contextType=V;var G=l(46941);class F extends n.PureComponent{render(){const{inputs:e}=this.props +;return n.createElement(M.PropertyTable,null,n.createElement(L.InputRow,{label:(0,s.t)("Initial capital")},n.createElement(f.StudyInput,{input:e.initial_capital}),e.initial_capital.tooltip&&n.createElement(D.InputTooltip,{className:G.singleInputTooltip,title:(0,o.ensureDefined)(U(e.initial_capital.tooltip))})),n.createElement(L.InputRow,{label:(0,s.t)("Base currency")},n.createElement(k,{input:e.currency}),e.currency.tooltip&&n.createElement(D.InputTooltip,{className:G.singleInputTooltip,title:(0,o.ensureDefined)(U(e.currency.tooltip))})),n.createElement(L.InputRow,{label:(0,s.t)("Order size"),labelAlign:"adaptive",tooltip:U(e.default_qty_type.tooltip)},n.createElement(R.InputGroup,{className:G.group},n.createElement(f.StudyInput,{input:e.default_qty_value}),n.createElement(H,{input:e.default_qty_type}))),n.createElement(L.InputRow,{label:(0,s.t)("Pyramiding"),tooltip:U(e.pyramiding.tooltip)},n.createElement("span",null,n.createElement(f.StudyInput,{input:e.pyramiding})),n.createElement("span",{className:G.descriptionCell},(0,s.t)("orders",{context:"Pyramiding: count orders"}))),n.createElement(M.PropertyTable.Separator,null),n.createElement(L.InputRow,{label:(0,s.t)("Commission"),labelAlign:"adaptive",tooltip:U(e.commission_type.tooltip)},n.createElement(R.InputGroup,{className:G.group},n.createElement(f.StudyInput,{input:e.commission_value}),n.createElement(W,{input:e.commission_type}))),n.createElement(L.InputRow,{label:(0,s.t)("Verify price for limit orders"),tooltip:U(e.backtest_fill_limits_assumption.tooltip)},n.createElement("span",null,n.createElement(f.StudyInput,{input:e.backtest_fill_limits_assumption})),n.createElement("span",{className:G.descriptionCell},(0,s.t)("ticks",{context:"slippage ... ticks"}))),n.createElement(L.InputRow,{label:(0,s.t)("Slippage"),tooltip:U(e.slippage.tooltip)},n.createElement("span",null,n.createElement(f.StudyInput,{input:e.slippage})),n.createElement("span",{className:G.descriptionCell},(0,s.t)("ticks",{context:"slippage ... ticks"}))),n.createElement(M.PropertyTable.Separator,null),e.margin_long&&e.margin_short&&n.createElement(n.Fragment,null,n.createElement(L.InputRow,{label:(0,s.t)("Margin for long positions"),tooltip:U(e.margin_long.tooltip)},n.createElement("span",null,n.createElement(f.StudyInput,{input:e.margin_long})),n.createElement("span",{className:G.descriptionCell},"%")),n.createElement(L.InputRow,{label:(0,s.t)("Margin for short positions"),tooltip:U(e.margin_short.tooltip)},n.createElement("span",null,n.createElement(f.StudyInput,{input:e.margin_short})),n.createElement("span",{className:G.descriptionCell},"%")),n.createElement(M.PropertyTable.Separator,null)),n.createElement(L.InputRow,{label:(0,s.t)("Recalculate"),labelAlign:"top"},n.createElement("div",null,n.createElement("div",{className:G.recalculateCheckbox},n.createElement(I.BoolInput,{label:(0,s.t)("After order is filled"),input:e.calc_on_order_fills}),e.calc_on_order_fills.tooltip&&n.createElement(D.InputTooltip,{className:G.checkboxTooltip,title:(0,o.ensureDefined)(U(e.calc_on_order_fills.tooltip)) +})),n.createElement("div",{className:G.recalculateCheckbox},n.createElement(I.BoolInput,{label:(0,s.t)("On every tick"),input:e.calc_on_every_tick}),e.calc_on_every_tick.tooltip&&n.createElement(D.InputTooltip,{className:G.checkboxTooltip,title:(0,o.ensureDefined)(U(e.calc_on_every_tick.tooltip))})))))}}function U(e){return e?(0,s.t)(e):e}function Z(e){const{property:t,model:l,inputs:r,study:o}=e;return n.createElement(N.PropertyContainer,{property:t.inputs,model:l,study:o},n.createElement(F,{inputs:r}))}F.contextType=N.PropertyContext;var q=l(98824),K=l(65447);const j=(0,K.getLogger)("Platform.GUI.PropertyDialog.Indicators.StrategyPage");class J extends n.PureComponent{constructor(e){super(e),this._handleWatchedDataChange=()=>{this.setState({currency:this._getCurrency()})};const{source:t}=this.props;if(this._source=t,!(0,b.isStudy)(this._source))throw new TypeError("Strategy page works only for study.");this._properties=t.properties();const l=t.metaInfo(),r=new q.MetaInfoHelper(l);this._inputs=r.getStrategyProperties(),this.state={currency:this._getCurrency()}}componentDidMount(){this._source.watchedData.subscribe(this._handleWatchedDataChange)}componentWillUnmount(){this._source.watchedData.unsubscribe(this._handleWatchedDataChange)}render(){return n.createElement(V.Provider,{value:this.state.currency},n.createElement(Z,{inputs:this._inputs,property:this._properties,model:this.props.model,study:this.props.source}))}_getCurrency(){const e=this._source,t=e.reportData();if(null===t||void 0===t.currency){void 0!==this.state&&null===this.state.currency||j.logWarn("Can't obtain currency from strategy report");const t=e.metaInfo().inputs.find(e=>"currency"===e.internalID),l=null==t?void 0:t.defval;if(l&&"NONE"!==l)return l.toString();const r=this.props.model.mainSeries().symbolInfo();return(null==r?void 0:r.original_currency_code)||(null==r?void 0:r.currency_code)||null}return t.currency}}var Q=l(4093);class X extends n.PureComponent{constructor(e){super(e),this._properties=this.props.source.properties(),this._inputs=new q.MetaInfoHelper(this.props.source.metaInfo()).getUserEditableInputs()}render(){return n.createElement(Q.InputsTabContent,{property:this._properties,model:this.props.model,study:this.props.source,inputs:this._inputs})}}var Y=l(41615),$=l(77455),ee=l(85062),te=l.n(ee),le=l(91967),re=l(37763);const ne=new a.TranslatedString("change visibility",(0,s.t)("change visibility"));class oe extends n.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{setValue:t}=this.context,{visible:l}=this.props;l&&(0,re.setPropertyValue)(l,l=>t(l,e,ne))}}render(){const{id:e,title:t,visible:l,disabled:r}=this.props,o=(0,i.clean)((0,s.t)(t,{context:"input"}),!0);return n.createElement(I.BoolInputComponent,{label:o,disabled:r,input:{id:e,type:"bool",defval:!0,name:"visible"},value:!l||(0,re.getPropertyValue)(l),onChange:this._onChange})}}oe.contextType=le.StylePropertyContext +;var se=l(10869),ae=l(84264),ie=l(93265),ce=l(13624),pe=l(73642),de=l(35720),he=l(99600),ue=l(90980),me=l(61830),ye=l(37319),ge=l(65052),ve=l(69627),be=l(89447);const Ce={[$.LineStudyPlotStyle.Line]:{type:$.LineStudyPlotStyle.Line,order:0,icon:ce,label:(0,s.t)("Line")},[$.LineStudyPlotStyle.LineWithBreaks]:{type:$.LineStudyPlotStyle.LineWithBreaks,order:1,icon:pe,label:(0,s.t)("Line with breaks")},[$.LineStudyPlotStyle.StepLine]:{type:$.LineStudyPlotStyle.StepLine,order:2,icon:de,label:(0,s.t)("Step line")},[$.LineStudyPlotStyle.StepLineWithDiamonds]:{type:$.LineStudyPlotStyle.StepLineWithDiamonds,order:3,icon:he,label:(0,s.t)("Step line with diamonds")},[$.LineStudyPlotStyle.Histogram]:{type:$.LineStudyPlotStyle.Histogram,order:4,icon:ue,label:(0,s.t)("Histogram")},[$.LineStudyPlotStyle.Cross]:{type:$.LineStudyPlotStyle.Cross,order:5,icon:me,label:(0,s.t)("Cross",{context:"chart_type"})},[$.LineStudyPlotStyle.Area]:{type:$.LineStudyPlotStyle.Area,order:6,icon:ye,label:(0,s.t)("Area")},[$.LineStudyPlotStyle.AreaWithBreaks]:{type:$.LineStudyPlotStyle.AreaWithBreaks,order:7,icon:ge,label:(0,s.t)("Area with breaks")},[$.LineStudyPlotStyle.Columns]:{type:$.LineStudyPlotStyle.Columns,order:8,icon:ve,label:(0,s.t)("Columns")},[$.LineStudyPlotStyle.Circles]:{type:$.LineStudyPlotStyle.Circles,order:9,icon:be,label:(0,s.t)("Circles")}},we=Object.values(Ce).sort((e,t)=>e.order-t.order).map(e=>({value:e.type,selectedContent:n.createElement(ie.DisplayItem,{icon:e.icon}),content:n.createElement(ie.DropItem,{icon:e.icon,label:e.label})})),Se=(0,s.t)("Price line");class Ee extends n.PureComponent{render(){const{id:e,plotType:t,className:l,priceLine:r,plotTypeChange:o,priceLineChange:s,disabled:a}=this.props;if(!(t in Ce))return null;const i={readonly:!0,content:n.createElement(n.Fragment,null,n.createElement(ae.MenuItemSwitcher,{id:"PlotTypePriceLineSwitch",checked:r,label:Se,preventLabelHighlight:!0,value:"priceLineSwitcher",onChange:s}),n.createElement(se.PopupMenuSeparator,null))};return n.createElement(ie.IconDropdown,{id:e,disabled:a,className:l,hideArrowButton:!0,items:[i,...we],value:t,onChange:o})}}var Pe=l(78736),fe=l(28687);const _e=new a.TranslatedString("change plot type",(0,s.t)("change plot type")),Te=new a.TranslatedString("change price line visibility",(0,s.t)("change price line visibility"));class xe extends n.PureComponent{constructor(){super(...arguments),this._onPlotTypeChange=e=>{const{setValue:t}=this.context,{styleProp:{plottype:l}}=this.props;l&&t(l,e,_e)},this._onPriceLineChange=e=>{const{setValue:t}=this.context,{styleProp:{trackPrice:l}}=this.props;l&&t(l,e,Te)}}render(){const{id:e,paletteColor:t,paletteColorProps:l,styleProp:r,isLine:o,hasPlotTypeSelect:a,grouped:i,offset:c}=this.props,p=l.childs();return n.createElement(L.InputRow,{grouped:i,label:n.createElement("div",{className:fe.childRowContainer},(0,s.t)(t.name,{context:"input"})),offset:c},n.createElement(Pe.ColorWithThicknessSelect,{disabled:!r.visible.value(),color:p.color,transparency:r.transparency,thickness:o?p.width:void 0,isPaletteColor:!0 +}),o&&a&&r.plottype&&r.trackPrice?n.createElement(Ee,{id:(0,Y.createDomId)(e,"plot-type-select"),disabled:!r.visible.value(),className:fe.smallStyleControl,plotType:r.plottype.value(),priceLine:r.trackPrice.value(),plotTypeChange:this._onPlotTypeChange,priceLineChange:this._onPriceLineChange}):null)}}xe.contextType=le.StylePropertyContext;class ke extends n.PureComponent{render(){const{plot:e,area:t,palette:l,paletteProps:r,hideVisibilitySwitch:s,styleProp:a,showOnlyTitle:i,showSeparator:c=!0,offset:p}=this.props,d=e?e.id:(0,o.ensureDefined)(t).id,h=!d.startsWith("fill")&&e&&(0,$.isLinePlot)(e);return n.createElement(n.Fragment,null,!s&&n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2,offset:p},i?n.createElement("div",null,t?t.title:a.title.value()):n.createElement(oe,{id:d,title:t?t.title:a.title.value(),visible:a.visible}))),function(e,t,l,r,s,a){const i=t.colors,c=l.colors;return Object.keys(i).map((t,l)=>n.createElement(xe,{key:t,id:e,grouped:!0,paletteColor:(0,o.ensureDefined)(i[t]),paletteColorProps:(0,o.ensureDefined)(c[t]),styleProp:r,isLine:s,hasPlotTypeSelect:0===l,offset:a}))}(d,l,r,a,h,p),c&&n.createElement(M.PropertyTable.GroupSeparator,null))}}ke.contextType=le.StylePropertyContext;var Ie=l(98687);const Le=new a.TranslatedString("change plot type",(0,s.t)("change plot type")),Re=new a.TranslatedString("change price line visibility",(0,s.t)("change price line visibility"));class Ne extends n.PureComponent{constructor(){super(...arguments),this._onPlotTypeChange=e=>{const{setValue:t}=this.context,{property:{plottype:l}}=this.props;l&&t(l,e,Le)},this._onPriceLineChange=e=>{const{setValue:t}=this.context,{property:{trackPrice:l}}=this.props;l&&t(l,e,Re)}}render(){const{id:e,isRGB:t,isFundamental:l,property:{title:r,color:o,plottype:s,linewidth:a,transparency:i,trackPrice:c,visible:p}}=this.props;return n.createElement(L.InputRow,{label:n.createElement(oe,{id:e,title:r.value(),visible:p})},t&&!l?this._getInputForRgb():n.createElement(Pe.ColorWithThicknessSelect,{disabled:!p.value(),color:o,transparency:i,thickness:a}),n.createElement(Ee,{id:(0,Y.createDomId)(e,"plot-type-select"),disabled:!p.value(),className:fe.smallStyleControl,plotType:s.value(),priceLine:c.value(),plotTypeChange:this._onPlotTypeChange,priceLineChange:this._onPriceLineChange}))}_getInputForRgb(){const{id:e,showLineWidth:t,property:l}=this.props,{linewidth:r,visible:o}=l;return r&&t?n.createElement(Ie.LineWidthSelect,{id:(0,Y.createDomId)(e,"line-width-select"),property:r,disabled:!o.value()}):null}}Ne.contextType=le.StylePropertyContext;const Me=n.createContext(null);class De extends n.PureComponent{render(){const{id:e,isRGB:t,title:l,visible:r,color:o,transparency:s,thickness:a,children:i,switchable:c=!0,offset:p,grouped:d}=this.props;return n.createElement(L.InputRow,{label:c?n.createElement(oe,{id:e,title:l,visible:r}):l,offset:p,grouped:d},t?null:n.createElement(Pe.ColorWithThicknessSelect,{disabled:r&&!(Array.isArray(r)?r[0].value():r.value()),color:o,transparency:s, +thickness:a}),i)}}De.contextType=le.StylePropertyContext;class Ve extends n.PureComponent{render(){const{id:e,isRGB:t,property:{colorup:l,colordown:r,transparency:s,visible:a}}=this.props;return n.createElement(Me.Consumer,null,i=>n.createElement(n.Fragment,null,n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2,grouped:!0},n.createElement(oe,{id:e,title:pt((0,o.ensureNotNull)(i),e),visible:a}))),!t&&n.createElement(n.Fragment,null,n.createElement(De,{id:e,title:nt,color:l,transparency:s,visible:a,switchable:!1,offset:!0,grouped:!0}),n.createElement(De,{id:e,title:ot,color:r,transparency:s,visible:a,switchable:!1,offset:!0,grouped:!0})),n.createElement(M.PropertyTable.GroupSeparator,null)))}}Ve.contextType=le.StylePropertyContext;var Be=l(68277),ze=l.n(Be),We=l(94184),Ae=l(81829),Oe=l(45221),He=l(64417);const Ge={[He.MarkLocation.AboveBar]:{value:He.MarkLocation.AboveBar,content:(0,s.t)("Above bar"),order:0},[He.MarkLocation.BelowBar]:{value:He.MarkLocation.BelowBar,content:(0,s.t)("Below bar"),order:1},[He.MarkLocation.Top]:{value:He.MarkLocation.Top,content:(0,s.t)("Top"),order:2},[He.MarkLocation.Bottom]:{value:He.MarkLocation.Bottom,content:(0,s.t)("Bottom"),order:3},[He.MarkLocation.Absolute]:{value:He.MarkLocation.Absolute,content:(0,s.t)("Absolute"),order:4}},Fe=Object.values(Ge).sort((e,t)=>e.order-t.order);class Ue extends n.PureComponent{render(){const{id:e,shapeLocation:t,className:l,menuItemClassName:r,shapeLocationChange:o,disabled:s}=this.props;return n.createElement(Oe.Select,{id:e,disabled:s,className:l,menuItemClassName:r,items:Fe,value:t,onChange:o})}}const Ze=new a.TranslatedString("change char",(0,s.t)("change char")),qe=new a.TranslatedString("change location",(0,s.t)("change location"));class Ke extends n.PureComponent{constructor(){super(...arguments),this._onCharChange=e=>{const{setValue:t}=this.context,l=e.currentTarget.value.trim(),r=ze()(l),n=0===r.length?"":r[r.length-1],{property:{char:o}}=this.props;t(o,n,Ze)},this._onLocationChange=e=>{const{setValue:t}=this.context,{property:{location:l}}=this.props;t(l,e,qe)}}render(){const{id:e,isRGB:t,property:{title:l,color:r,transparency:o,char:s,location:a,visible:i},hasPalette:c}=this.props;return n.createElement(L.InputRow,{grouped:c,label:n.createElement(oe,{id:e,title:l.value(),visible:i})},!c&&!t&&n.createElement(Pe.ColorWithThicknessSelect,{disabled:!i.value(),color:r,transparency:o}),n.createElement(Ae.InputControl,{disabled:!i.value(),className:fe.smallStyleControl,value:s.value(),onChange:this._onCharChange}),n.createElement(Ue,{id:(0,Y.createDomId)(e,"shape-style-select"),disabled:!i.value(),className:We(fe.defaultSelect,fe.additionalSelect),menuItemClassName:fe.defaultSelectItem,shapeLocation:a.value(),shapeLocationChange:this._onLocationChange}))}}Ke.contextType=le.StylePropertyContext;var je=l(13618);const Je={arrow_down:l(87736),arrow_up:l(41723),circle:l(62450),cross:l(72720),diamond:l(76702),flag:l(21437),label_down:l(54908),label_up:l(52213),square:l(66935), +triangle_down:l(10838),triangle_up:l(89991),x_cross:l(12688)};function Qe(e){return Je[e]}const Xe=[];Object.keys(je.plotShapesData).forEach(e=>{const t=je.plotShapesData[e];Xe.push({id:t.id,value:t.id,selectedContent:n.createElement(ie.DisplayItem,{icon:Qe(t.icon)}),content:n.createElement(ie.DropItem,{icon:Qe(t.icon),label:t.guiName})})});class Ye extends n.PureComponent{render(){const{id:e,shapeStyleId:t,className:l,shapeStyleChange:r,disabled:o}=this.props;return n.createElement(ie.IconDropdown,{id:e,disabled:o,className:l,hideArrowButton:!0,items:Xe,value:t,onChange:r})}}const $e=new a.TranslatedString("change shape",(0,s.t)("change shape")),et=new a.TranslatedString("change location",(0,s.t)("change location"));class tt extends n.PureComponent{constructor(){super(...arguments),this._onPlotTypeChange=e=>{const{setValue:t}=this.context,{property:{plottype:l}}=this.props;t(l,e,$e)},this._onLocationChange=e=>{const{setValue:t}=this.context,{property:{location:l}}=this.props;t(l,e,et)}}render(){const{id:e,isRGB:t,hasPalette:l,property:{title:r,color:o,transparency:s,plottype:a,location:i,visible:c}}=this.props;return n.createElement(L.InputRow,{grouped:l,label:n.createElement(oe,{id:e,title:r.value(),visible:c})},!l&&!t&&n.createElement(Pe.ColorWithThicknessSelect,{disabled:!c.value(),color:o,transparency:s}),n.createElement(Ye,{id:(0,Y.createDomId)(e,"shape-style-select"),disabled:!c.value(),className:fe.smallStyleControl,shapeStyleId:a.value(),shapeStyleChange:this._onPlotTypeChange}),n.createElement(Ue,{id:(0,Y.createDomId)(e,"shape-location-select"),disabled:!c.value(),className:We(fe.defaultSelect,fe.additionalSelect),menuItemClassName:fe.defaultSelectItem,shapeLocation:i.value(),shapeLocationChange:this._onLocationChange}))}}tt.contextType=le.StylePropertyContext;var lt=l(68137);const rt=(0,K.getLogger)("Chart.Study.PropertyPage"),nt=(0,s.t)("Up"),ot=(0,s.t)("Down"),st=(0,s.t)("Body"),at=(0,s.t)("Wick"),it=(0,s.t)("Border");class ct extends n.PureComponent{render(){const{plot:e,palettes:t,study:l}=this.props,r=e.id,o=l.properties().styles[r],s=e.type,a=t.main,i=!!l.metaInfo().isRGB;if("line"===s||"bar_colorer"===s||"bg_colorer"===s)return a&&a.palette&&a.paletteProps?n.createElement(ke,{plot:e,palette:a.palette,paletteProps:a.paletteProps,styleProp:o}):n.createElement(Ne,{id:r,property:o,isRGB:i,isFundamental:!1,showLineWidth:"line"===s});if("arrows"===s){const s=this._getPlotSwitch(r,pt(l,r),o.visible);if(i)return s;const a=t.up,c=t.down;return a||c?n.createElement(n.Fragment,null,s,a&&a.palette&&a.paletteProps?n.createElement(ke,{plot:e,palette:a.palette,paletteProps:a.paletteProps,styleProp:{...o,title:(0,lt.createPrimitiveProperty)(nt)},showSeparator:!1,showOnlyTitle:!0,offset:!0}):n.createElement(De,{id:r,isRGB:i,title:nt,color:o.colorup,visible:o.visible,transparency:o.transparency,switchable:!1,grouped:!0,offset:!0}),c&&c.palette&&c.paletteProps?n.createElement(ke,{plot:e,palette:c.palette,paletteProps:c.paletteProps,styleProp:{...o,title:(0,lt.createPrimitiveProperty)(ot)},showSeparator:!1, +showOnlyTitle:!0,offset:!0}):n.createElement(De,{id:r,isRGB:i,title:ot,color:o.colordown,visible:o.visible,transparency:o.transparency,switchable:!1,grouped:!0,offset:!0}),n.createElement(M.PropertyTable.GroupSeparator,null)):n.createElement(Ve,{id:r,property:o,isRGB:i,plot:e,palettes:t,styleProp:o})}if("chars"===s||"shapes"===s)return n.createElement(n.Fragment,null,"chars"===s?n.createElement(Ke,{id:r,property:o,hasPalette:Boolean(a&&a.palette),isRGB:i}):n.createElement(tt,{id:r,property:o,hasPalette:Boolean(a&&a.palette),isRGB:i}),a&&a.palette&&a.paletteProps&&n.createElement(ke,{plot:e,palette:a.palette,paletteProps:a.paletteProps,hideVisibilitySwitch:!0,styleProp:o}));if((0,$.isOhlcPlot)(e)){const o=e.target,s=l.properties().ohlcPlots[o],c=this._getPlotSwitch(r,s.title.value(),s.visible);if(i)return c;const p=t.wick&&t.wick.palette&&t.wick.paletteProps,d=t.border&&t.border.palette&&t.border.paletteProps;return n.createElement(n.Fragment,null,c,a&&a.palette&&a.paletteProps?n.createElement(ke,{plot:e,palette:a.palette,paletteProps:a.paletteProps,styleProp:{...s,title:(0,lt.createPrimitiveProperty)(st)},showSeparator:!1,showOnlyTitle:!0,offset:!0}):n.createElement(De,{id:r,isRGB:i,title:st,visible:s.visible,color:s.color,transparency:s.transparency,switchable:!1,grouped:!0,offset:!0}),t.wick&&t.wick.palette&&t.wick.paletteProps&&n.createElement(ke,{plot:e,palette:t.wick.palette,paletteProps:t.wick.paletteProps,styleProp:{...s,title:(0,lt.createPrimitiveProperty)(at)},showSeparator:!1,showOnlyTitle:!0,offset:!0}),Boolean(!p&&s.wickColor)&&n.createElement(De,{id:r,isRGB:i,title:at,visible:s.visible,color:s.wickColor,transparency:s.transparency,switchable:!1,grouped:!0,offset:!0}),t.border&&t.border.palette&&t.border.paletteProps&&n.createElement(ke,{plot:e,palette:t.border.palette,paletteProps:t.border.paletteProps,styleProp:{...s,title:(0,lt.createPrimitiveProperty)(it)},showSeparator:!1,showOnlyTitle:!0,offset:!0}),Boolean(!d&&s.borderColor)&&n.createElement(De,{id:r,isRGB:i,title:it,visible:s.visible,color:s.borderColor,transparency:s.transparency,switchable:!1,grouped:!0,offset:!0}),n.createElement(M.PropertyTable.GroupSeparator,null))}return rt.logError("Unknown plot type: "+s),null}_getPlotSwitch(e,t,l){return n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(oe,{id:e,title:t,visible:l})))}}function pt(e,t){const l=(0,o.ensureDefined)(e.metaInfo().styles),{title:r}=(0,o.ensureDefined)(l[t]);return(0,o.ensureDefined)(r)}var dt=l(93425),ht=l(13278);const ut=new a.TranslatedString("change line style",(0,s.t)("change line style"));class mt extends n.PureComponent{constructor(){super(...arguments),this._onLineStyleChange=e=>{const{setValue:t}=this.context,{lineStyle:l}=this.props;(0,re.setPropertyValue)(l,l=>t(l,e,ut))}}render(){const{lineStyle:e,...t}=this.props;return n.createElement(ht.LineStyleSelect,{...t,lineStyle:(0,re.getPropertyValue)(e),lineStyleChange:this._onLineStyleChange})}}mt.contextType=le.StylePropertyContext +;const yt=new a.TranslatedString("change value",(0,s.t)("change value"));class gt extends n.PureComponent{constructor(){super(...arguments),this._onValueChange=e=>{const{setValue:t}=this.context,{value:l}=this.props.property;t(l,e,yt)}}render(){const{id:e,property:{name:t,color:l,linestyle:r,linewidth:o,transparency:s,value:a,visible:i}}=this.props;return n.createElement(L.InputRow,{labelAlign:"adaptive",label:n.createElement(oe,{id:e,title:t.value(),visible:i})},n.createElement("div",{className:fe.block},n.createElement("div",{className:fe.group},n.createElement(Pe.ColorWithThicknessSelect,{disabled:!i.value(),color:l,transparency:s,thickness:o}),n.createElement(mt,{id:(0,Y.createDomId)(e,"line-style-select"),disabled:!i.value(),className:fe.smallStyleControl,lineStyle:r})),n.createElement("div",{className:We(fe.wrapGroup,fe.defaultSelect,fe.additionalSelect)},n.createElement(dt.FloatInputComponent,{input:{id:"",name:"",type:"float",defval:0},value:a.value(),disabled:!i.value(),onChange:this._onValueChange}))))}}gt.contextType=le.StylePropertyContext;class vt extends n.PureComponent{render(){const{orders:{visible:e,showLabels:t,showQty:l}}=this.props;return n.createElement(n.Fragment,null,n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(oe,{id:"chart-orders-switch",title:(0,s.t)("Trades on chart"),visible:e}))),n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(oe,{id:"chart-orders-labels-switch",title:(0,s.t)("Signal labels"),visible:t}))),n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(oe,{id:"chart-orders-qty-switch",title:(0,s.t)("Quantity"),visible:l}))))}}vt.contextType=le.StylePropertyContext;var bt=l(31505),Ct=l(82823);const wt=new a.TranslatedString("change percent width",(0,s.t)("change percent width")),St=new a.TranslatedString("change placement",(0,s.t)("change placement")),Et=new a.TranslatedString("change values visibility",(0,s.t)("change values visibility")),Pt=[{value:bt.HHistDirection.LeftToRight,content:(0,s.t)("Left")},{value:bt.HHistDirection.RightToLeft,content:(0,s.t)("Right")}],ft=(0,s.t)("Width (% of the box)"),_t=(0,s.t)("Placement"),Tt=(0,s.t)("Values"),xt=(0,s.t)("Text color");class kt extends n.PureComponent{constructor(){super(...arguments),this._onPercentWidthChange=e=>{const{setValue:t}=this.context,{percentWidth:l}=this.props.property.childs();t(l,e,wt)},this._onPlacementChange=e=>{const{setValue:t}=this.context,{direction:l}=this.props.property.childs();t(l,e,St)},this._onShowValuesChange=e=>{const{setValue:t}=this.context,{showValues:l}=this.props.property.childs();t(l,e,Et)}}render(){const{title:e,percentWidth:t,direction:l,showValues:r,valuesColor:o,visible:s}=this.props.property.childs();return n.createElement(n.Fragment,null,n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2,grouped:!0 +},n.createElement(oe,{id:e.value(),title:e.value(),visible:s}))),n.createElement(L.InputRow,{label:n.createElement("div",{className:fe.childRowContainer},ft),grouped:!0},n.createElement(Ct.IntegerInputComponent,{input:{id:"",name:"",type:"integer",defval:0},value:t.value(),disabled:!s.value(),onChange:this._onPercentWidthChange})),n.createElement(L.InputRow,{label:n.createElement("div",{className:fe.childRowContainer},_t),grouped:!0},n.createElement(Oe.Select,{id:"hhist-graphic-placement-select",disabled:!s.value(),className:fe.defaultSelect,menuItemClassName:fe.defaultSelectItem,items:Pt,value:l.value(),onChange:this._onPlacementChange})),n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{className:fe.childRowContainer,placement:"first",colSpan:2,grouped:!0},n.createElement(I.BoolInputComponent,{label:Tt,input:{id:e.value()+"_showValues",type:"bool",defval:!0,name:"visible"},value:!r||r.value(),disabled:!s.value(),onChange:this._onShowValuesChange}))),n.createElement(L.InputRow,{label:n.createElement("div",{className:fe.childRowContainer},xt),grouped:!0},n.createElement(Pe.ColorWithThicknessSelect,{disabled:s&&!s.value(),color:o})),this._renderColors(),n.createElement(M.PropertyTable.GroupSeparator,null))}_renderColors(){const{colors:e,titles:t,transparencies:l,visible:r}=this.props.property.childs();return e.childNames().map(o=>n.createElement(L.InputRow,{key:o,grouped:!0,label:n.createElement("div",{className:fe.childRowContainer},t.childs()[o].value())},n.createElement(Pe.ColorWithThicknessSelect,{disabled:!r.value(),color:e.childs()[o],transparency:l.childs()[o]})))}}kt.contextType=le.StylePropertyContext;class It extends n.PureComponent{render(){const{title:e}=this.props,{color:t,transparency:l,width:r,style:o,visible:s}=this.props.property.childs();return n.createElement(L.InputRow,{label:n.createElement(oe,{id:e.value(),title:e.value(),visible:s})},n.createElement(Pe.ColorWithThicknessSelect,{disabled:!s.value(),color:t,transparency:l,thickness:r}),n.createElement(mt,{id:(0,Y.createDomId)(e.value(),"line-style-select"),disabled:!s.value(),className:fe.smallStyleControl,lineStyle:o}))}}It.contextType=le.StylePropertyContext;class Lt extends n.PureComponent{render(){const{graphicType:e,study:t}=this.props,l=t.metaInfo().graphics,r=t.properties().graphics,s=(0,o.ensureDefined)(l[e]);return Object.keys(s).map((t,l)=>{const o=r[e][t];return"horizlines"===e||"vertlines"===e||"lines"===e?n.createElement(It,{key:t,title:"lines"===e?o.title:o.name,property:o}):"hhists"===e?n.createElement(kt,{key:t,property:o}):null})}}var Rt=l(3220);const Nt=new a.TranslatedString("change font size",(0,s.t)("change font size")),Mt=[10,11,12,14,16,20,24,28,32,40].map(e=>({value:e,title:e.toString()}));class Dt extends n.PureComponent{constructor(){super(...arguments),this._onFontSizeChange=e=>{const{setValue:t}=this.context,{fontSize:l}=this.props;t(l,e,Nt)}}render(){const{fontSize:e,...t}=this.props;return n.createElement(Rt.FontSizeSelect,{...t,fontSizes:Mt,fontSize:e.value(), +fontSizeChange:this._onFontSizeChange})}}Dt.contextType=le.StylePropertyContext;const Vt=new a.TranslatedString("change visibility",(0,s.t)("change visibility")),Bt=(0,s.t)("Labels font"),zt=(0,s.t)("Labels"),Wt={Traditional:new Set(["S5/R5","S4/R4","S3/R3","S2/R2","S1/R1","P"]),Fibonacci:new Set(["S3/R3","S2/R2","S1/R1","P"]),Woodie:new Set(["S4/R4","S3/R3","S2/R2","S1/R1","P"]),Classic:new Set(["S4/R4","S3/R3","S2/R2","S1/R1","P"]),DM:new Set(["S1/R1","P"]),DeMark:new Set(["S1/R1","P"]),Camarilla:new Set(["S4/R4","S3/R3","S2/R2","S1/R1","P"])};class At extends n.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{setValue:t}=this.context,{levelsStyle:l}=this.props.property.childs(),{showLabels:r}=l.childs();t(r,e,Vt)}}render(){const{fontsize:e,levelsStyle:t}=this.props.property.childs();return n.createElement(n.Fragment,null,n.createElement(L.InputRow,{labelAlign:"adaptive",label:n.createElement("span",null,Bt)},n.createElement("div",{className:fe.block},n.createElement("div",{className:We(fe.wrapGroup,fe.additionalSelect)},n.createElement(Dt,{id:"pivot-points-standard-font-size-select",fontSize:e})))),n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(I.BoolInputComponent,{label:zt,input:{id:"ShowLabels",type:"bool",defval:!0,name:"visible"},value:t.childs().showLabels.value(),onChange:this._onChange}))),this._renderColors())}_renderColors(){const{levelsStyle:e,inputs:t}=this.props.property.childs(),{colors:l,widths:r,visibility:s}=e.childs(),{kind:a}=t.childs(),i=(0,o.ensureDefined)(Wt[a.value()]);return l.childNames().filter(e=>i.has(e)).map(e=>n.createElement(De,{key:e,id:e,title:e,color:l.childs()[e],visible:s.childs()[e],thickness:r.childs()[e]}))}}At.contextType=le.StylePropertyContext;const Ot=new a.TranslatedString("change visibility",(0,s.t)("change visibility")),Ht=(0,s.t)("Volume profile"),Gt=(0,s.t)("Values"),Ft=(0,s.t)("Width (% of the box)"),Ut=(0,s.t)("Placement"),Zt=(0,s.t)("Developing VA"),qt=(0,s.t)("Values in status line"),Kt=(0,s.t)("Labels on price scale"),jt=[{value:bt.HHistDirection.RightToLeft,content:(0,s.t)("Right")},{value:bt.HHistDirection.LeftToRight,content:(0,s.t)("Left")}];class Jt extends n.PureComponent{constructor(){super(...arguments),this._onChange=e=>{this._setHhistsProperty("visible",e)},this._onShowValuesChange=e=>{this._setHhistsProperty("showValues",e)},this._onValueChange=e=>{this._setHhistsProperty("percentWidth",e)},this._onDirectionChange=e=>{this._setHhistsProperty("direction",e)}}render(){var e,t;const{metaInfo:l}=this.props,{graphics:r,styles:a,showLabelsOnPriceScale:i,showLegendValues:c}=this.props.property.childs(),{hhists:p,horizlines:d,polygons:h}=r.childs(),u=(0,o.ensureDefined)(l.graphics.hhists),m=Object.keys(u),y=p.childs()[m[0]],g=y.childs().visible,v=m.map(e=>p.childs()[e].childs().showValues),b=y.childs().percentWidth,C=y.childs().direction,w=m.map(e=>p.childs()[e].childs().valuesColor),S=d.childs().pocLines,E=(0, +o.ensureDefined)(null===(e=l.graphics.horizlines)||void 0===e?void 0:e.pocLines),P=a.childs().developingPoc,f=(0,o.ensureDefined)(null===(t=l.styles)||void 0===t?void 0:t.developingPoc),_=a.childs().developingVAHigh,T=a.childs().developingVALow,x=l.graphics.polygons&&l.graphics.polygons.histBoxBg;return n.createElement(n.Fragment,null,n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(I.BoolInputComponent,{label:Ht,input:{id:"VolumeProfile",type:"bool",defval:!0,name:"visible"},value:g.value(),onChange:this._onChange}))),n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first"},n.createElement("div",{className:fe.childRowContainer},n.createElement(I.BoolInputComponent,{disabled:!g.value(),label:Gt,input:{id:"ShowValues",type:"bool",defval:!0,name:"visible"},value:v[0].value(),onChange:this._onShowValuesChange}))),n.createElement(M.PropertyTable.Cell,{placement:"last"},n.createElement(Pe.ColorWithThicknessSelect,{disabled:!g.value()||!v[0].value(),color:w}))),n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first"},n.createElement("div",{className:fe.childRowContainer},Ft)),n.createElement(M.PropertyTable.Cell,{placement:"last"},n.createElement(Ct.IntegerInputComponent,{disabled:!g.value(),input:{id:"",name:"",type:"integer",defval:0},value:b.value(),onChange:this._onValueChange}))),n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.Cell,{placement:"first"},n.createElement("div",{className:fe.childRowContainer},Ut)),n.createElement(M.PropertyTable.Cell,{placement:"last"},n.createElement(Oe.Select,{id:"hhist-direction-select",disabled:!g.value(),className:fe.defaultSelect,menuItemClassName:fe.defaultSelectItem,items:jt,value:C.value(),onChange:this._onDirectionChange}))),m.map(e=>n.createElement(n.Fragment,{key:e},p.childs()[e].childs().colors.childNames().map((t,l)=>{const r=u[e];return n.createElement(L.InputRow,{key:l,label:n.createElement("div",{className:fe.childRowContainer},r&&(0,s.t)(r.titles[l])||"")},n.createElement(Pe.ColorWithThicknessSelect,{disabled:!g.value(),color:p.childs()[e].childs().colors.childs()[l],transparency:p.childs()[e].childs().transparencies.childs()[l]}))}))),n.createElement(De,{id:"pocLines",title:E.name,color:S.childs().color,visible:S.childs().visible,thickness:S.childs().width},n.createElement(mt,{id:"poc-lines-line-style-select",disabled:!S.childs().visible.value(),className:fe.smallStyleControl,lineStyle:S.childs().style})),P&&n.createElement(De,{id:"developingPoc",title:f.title&&(0,s.t)(f.title)||"",color:P.childs().color,visible:P.childs().visible,thickness:P.childs().linewidth},n.createElement(mt,{id:"developing-poc-line-style-select",disabled:!P.childs().visible.value(),className:fe.smallStyleControl,lineStyle:P.childs().linestyle})),_&&T&&n.createElement(De,{id:"developingPoc",title:Zt,color:[_.childs().color,T.childs().color],visible:[_.childs().visible,T.childs().visible], +thickness:[_.childs().linewidth,T.childs().linewidth]},n.createElement(mt,{id:"developing-VA-line-style-select",disabled:!_.childs().visible.value()&&!T.childs().visible.value(),className:fe.smallStyleControl,lineStyle:[_.childs().linestyle,T.childs().linestyle]})),h&&n.createElement(L.InputRow,{label:n.createElement("div",null,x&&(0,s.t)(x.name)||"")},n.createElement(Pe.ColorWithThicknessSelect,{color:h.childs().histBoxBg.childs().color,transparency:h.childs().histBoxBg.childs().transparency})),"VbPFixed"!==l.shortId&&n.createElement(n.Fragment,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(oe,{id:"showLabelsOnPriceScale",title:Kt,visible:i})),n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(oe,{id:"showLegendValues",title:qt,visible:c}))))}_setHhistsProperty(e,t){const{setValue:l}=this.context,{metaInfo:r,property:n}=this.props,s=n.childs().graphics.childs().hhists,a=Object.keys((0,o.ensureDefined)(r.graphics.hhists));for(let r=0;rn.createElement(le.StylePropertyContainer,{property:(0,o.ensureNotNull)(t).properties(),model:e},n.createElement(M.PropertyTable,null,this._renderCustomContent((0,o.ensureNotNull)(t).metaInfo().shortId))))}_renderCustomContent(e){if(e in Yt){const t=Yt[e];return n.createElement(t,null)}return null}}$t.contextType=Xt.ModelContext;var el=l(12642);const tl=new a.TranslatedString("change precision",(0,s.t)("change precision")),ll=(0,s.t)("Default"),rl=(0,s.t)("Precision"),nl=[{value:"default",content:ll}];for(let e=0;e<=8;e++)nl.push({value:e,content:e.toString()});class ol extends n.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{setValue:t}=this.context,{precision:l}=this.props;t(l,e,tl)}}render(){const{id:e,precision:t}=this.props;return n.createElement(L.InputRow,{label:rl},n.createElement(Oe.Select,{id:e,className:fe.defaultSelect,menuItemClassName:fe.defaultSelectItem,items:nl,value:t.value(),onChange:this._onChange}))}}ol.contextType=le.StylePropertyContext;const sl=new a.TranslatedString("change min tick",(0,s.t)("change min tick")),al=(0,s.t)("Default"),il=(0,s.t)("Override min tick"),cl=[{priceScale:1,minMove:1,frac:!1},{priceScale:10,minMove:1,frac:!1},{priceScale:100,minMove:1,frac:!1},{priceScale:1e3,minMove:1,frac:!1},{priceScale:1e4,minMove:1,frac:!1},{priceScale:1e5,minMove:1,frac:!1},{priceScale:1e6,minMove:1,frac:!1},{priceScale:1e7,minMove:1,frac:!1},{priceScale:1e8,minMove:1,frac:!1},{priceScale:2, +minMove:1,frac:!0},{priceScale:4,minMove:1,frac:!0},{priceScale:8,minMove:1,frac:!0},{priceScale:16,minMove:1,frac:!0},{priceScale:32,minMove:1,frac:!0},{priceScale:64,minMove:1,frac:!0},{priceScale:128,minMove:1,frac:!0},{priceScale:320,minMove:1,frac:!0}],pl=[{id:"tick-default",value:"default",content:al}];for(let e=0;e{const{setValue:t}=this.context,{minTick:l}=this.props;t(l,e,sl)}}render(){const{id:e,minTick:t}=this.props;return n.createElement(L.InputRow,{label:il},n.createElement(Oe.Select,{id:e,className:fe.defaultSelect,menuItemClassName:fe.defaultSelectItem,items:pl,value:t.value(),onChange:this._onChange}))}}dl.contextType=le.StylePropertyContext;var hl=l(48854),ul=l(46358);const ml=(0,s.t)("Outputs");class yl extends n.PureComponent{constructor(){super(...arguments),this._findPlotPalettes=e=>{const{study:t}=this.props,l=t.metaInfo(),r=(0,o.ensureDefined)(l.palettes);return(0,$.isBarColorerPlot)(e)||(0,$.isBgColorerPlot)(e)?{main:{palette:r[e.palette],paletteProps:t.properties().palettes[e.palette]}}:this._findPalettesByTargetId(e.id)}}render(){const{study:e}=this.props,t=e.metaInfo();if((0,el.isCustomStudy)(t.shortId))return n.createElement($t,null);const l=e.properties(),{precision:r,strategy:o,minTick:s,showLabelsOnPriceScale:a,showLegendValues:i}=l,c=t.plots.length>0,p=t.plots.some(e=>!(0,$.isPlotWithTechnicalValues)(e)),d=c||t.inputs.some(e=>"price"===e.type),h=(0,hl.createAdapter)(e).canOverrideMinTick();return n.createElement(M.PropertyTable,null,this._plotsElement(),this._bandsElement(),this._bandsBackgroundsElement(),this._areasBackgroundsElement(),this._filledAreasElement(),this._graphicsElement(),h&&n.createElement(dl,{id:(0,Y.createDomId)(t.id,"min-tick-select"),minTick:s}),te().isScriptStrategy(t)&&n.createElement(vt,{orders:o.orders}),(d||p)&&n.createElement(M.PropertyTable.Row,null,n.createElement(M.PropertyTable.GroupSeparator,{size:1}),n.createElement(ul.GroupTitleSection,{title:ml,name:ml}),d&&n.createElement(ol,{id:(0,Y.createDomId)(t.id,"precision-select"),precision:r}),p&&n.createElement(n.Fragment,null,n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(oe,{id:"showLabelsOnPriceScale",title:"Labels on price scale",visible:a})),n.createElement(M.PropertyTable.Cell,{placement:"first",colSpan:2},n.createElement(oe,{id:"showLegendValues",title:"Values in status line",visible:i})))))}_plotsElement(){const{study:e}=this.props,t=e.metaInfo();return new q.MetaInfoHelper(t).getUserEditablePlots().filter(e=>!((0,$.isUpColorerPlot)(e)||(0,$.isDownColorerPlot)(e)||(0,$.isCandleBorderColorerPlot)(e)||(0,$.isCandleWickColorerPlot)(e))).map(t=>{const l=(0,$.isOhlcPlot)(t)?{...t,id:t.target}:t,r=this._findPlotPalettes(l);return n.createElement(ct,{key:t.id,plot:t,palettes:r,study:e})})}_bandsElement(){const{study:e}=this.props,t=e.properties(),{bands:l}=t +;return l&&l.childNames().map((e,t)=>{const r=l.child(e);if(!r.isHidden||!r.isHidden.value())return n.createElement(gt,{key:t,id:r.name.value(),property:r})})}_bandsBackgroundsElement(){const{study:e}=this.props,t=e.properties(),{bandsBackground:l}=t;return l&&n.createElement(De,{id:"bandsBackground",title:"Background",visible:l.fillBackground,color:l.backgroundColor,transparency:l.transparency})}_areasBackgroundsElement(){const{study:e}=this.props,t=e.metaInfo(),l=e.properties(),{areaBackground:r}=l;return t.isRGB?null:r&&n.createElement(De,{id:"areaBackground",title:"Background",visible:r.fillBackground,color:r.backgroundColor,transparency:r.transparency})}_filledAreasElement(){const{study:e}=this.props,t=e.metaInfo(),l=t.filledAreas;return!l||t.isRGB?[]:l.map(t=>{if(t.isHidden)return null;const l=e.properties().filledAreasStyle[t.id],r=t.title||"Background";if(t.palette){const e=this._findPalettesByTargetId(t.id),r=(0,o.ensureDefined)(e.main);return n.createElement(ke,{key:t.id,area:t,palette:(0,o.ensureDefined)(r.palette),paletteProps:(0,o.ensureDefined)(r.paletteProps),styleProp:l})}return n.createElement(De,{key:t.id,id:t.id,title:r,color:l.color,visible:l.visible,transparency:l.transparency})})}_graphicsElement(){const{study:e}=this.props,t=e.metaInfo().graphics;return t&&Object.keys(t).map((t,l)=>n.createElement(Lt,{key:t,graphicType:t,study:e}))}_findPalettesByTargetId(e){const{study:t}=this.props,l=t.metaInfo(),r=l.plots,n=(0,o.ensureDefined)(l.palettes),s={};for(const l of r)((0,$.isColorerPlot)(l)||(0,$.isOhlcColorerPlot)(l))&&l.target===e&&(s.main={palette:n[l.palette],paletteProps:t.properties().palettes[l.palette]}),(0,$.isUpColorerPlot)(l)&&l.target===e&&(s.up={palette:n[l.palette],paletteProps:t.properties().palettes[l.palette]}),(0,$.isDownColorerPlot)(l)&&l.target===e&&(s.down={palette:n[l.palette],paletteProps:t.properties().palettes[l.palette]}),(0,$.isCandleWickColorerPlot)(l)&&l.target===e&&(s.wick={palette:n[l.palette],paletteProps:t.properties().palettes[l.palette]}),(0,$.isCandleBorderColorerPlot)(l)&&l.target===e&&(s.border={palette:n[l.palette],paletteProps:t.properties().palettes[l.palette]});return s}}function gl(e){return(0,le.bindPropertyContext)(yl,{...e,property:e.study.properties()})}class vl extends n.PureComponent{render(){return n.createElement(Xt.ModelContext.Provider,{value:this.props.model},n.createElement(Me.Provider,{value:this.props.source},n.createElement(gl,{study:this.props.source})))}}var bl=l(97806),Cl=l(58738),wl=l(63725);class Sl extends Cl.DialogRenderer{constructor(e,t,l,n){super(),this._timeout=null,this._handleClose=()=>{r.unmountComponentAtNode(this._container),this._setVisibility(!1),this._subscription.unsubscribe(this,this._handleCollectionChanged)},this._handleCancel=()=>{this._model.undoToCheckpoint(this._checkpoint)},this._handleSubmit=()=>{},this._handleActiveTabChanged=e=>{c.setValue(this._activeTabSettingsName(),e)},this._source=e,this._model=t,this._propertyPages=n,this._checkpoint=this._ensureCheckpoint(l), +this._subscription=this._model.model().dataSourceCollectionChanged(),this._subscription.subscribe(this,this._handleCollectionChanged)}hide(e){e?this._handleCancel():this._handleSubmit(),this._handleClose()}isVisible(){return this.visible().value()}show(e={}){if(!p.enabled("property_pages"))return;const t=this._source.metaInfo();if((0,w.isLineTool)(this._source)&&(0,h.trackEvent)("GUI","Drawing Properties",this._source.name()),(0,b.isStudy)(this._source)){const e=!this._source.isPine()||this._source.isStandardPine()?t.description:"Custom Pine";(0,h.trackEvent)("GUI","Study Properties",e)}let l={byId:{inputs:{title:(0,s.t)("Inputs"),Component:X},style:{title:(0,s.t)("Style"),Component:vl},properties:{title:(0,s.t)("Properties"),Component:J}},allIds:[]};const o=new q.MetaInfoHelper(t);o.hasUserEditableInputs()&&l.allIds.push("inputs"),o.hasUserEditableProperties()&&l.allIds.push("properties"),o.hasUserEditableStyles()&&l.allIds.push("style"),this._propertyPages||(l.byId.visibilities={title:(0,s.t)("Visibility"),page:this._createVisibilitiesPropertyPage()},l.allIds.push("visibilities")),l=this._getPagesForStudyLineTool(l);const a=e.initialTab||c.getValue(this._activeTabSettingsName())||"inputs";let u=(0,i.clean)(t.shortDescription,!0);r.render(n.createElement(P,{title:u,model:this._model,source:this._source,initialActiveTab:l.allIds.includes(a)?a:l.allIds[0],pages:l,onSubmit:this._handleSubmit,onCancel:this._handleCancel,onClose:this._handleClose,onActiveTabChanged:this._handleActiveTabChanged}),this._container),this._setVisibility(!0),d.emit("edit_object_dialog",{objectType:"study",scriptTitle:this._source.title()})}_createVisibilitiesPropertyPage(){const e=this._source.properties().childs().intervalsVisibilities.childs();return(0,bl.createPropertyPage)((0,wl.getIntervalsVisibilitiesPropertiesDefinitions)(this._model,e,new a.TranslatedString(this._source.name(!0),this._source.title(!0))),"visibility",(0,s.t)("Visibility"))}_activeTabSettingsName(){return"properties_dialog.active_tab.study"}_ensureCheckpoint(e){return void 0===e&&(e=this._model.createUndoCheckpoint()),e}_getPagesForStudyLineTool(e){if(this._propertyPages){const t=this._propertyPages.filter(e=>"coordinates"===e.id||"visibility"===e.id),l={allIds:t.map(e=>e.id),byId:t.reduce((e,t)=>({...e,[t.id]:{title:t.title,page:t}}),{})};return{allIds:[...e.allIds,...l.allIds],byId:{...e.byId,...l.byId}}}return e}_handleCollectionChanged(){null===this._timeout&&(this._timeout=setTimeout(()=>{this._closeDialogIfSourceIsDeleted(),this._timeout=null}))}_closeDialogIfSourceIsDeleted(){null===this._model.model().dataSourceForId(this._source.id())&&this._handleClose()}}},10869:(e,t,l)=>{"use strict";l.d(t,{PopupMenuSeparator:()=>a});var r=l(67294),n=l(94184),o=l.n(n),s=l(78706);function a(e){const{size:t="normal",className:l}=e;return r.createElement("div",{className:o()(s.separator,"small"===t&&s.small,"normal"===t&&s.normal,"large"===t&&s.large,l)})}},87736:e=>{ +e.exports=''},41723:e=>{e.exports=''},62450:e=>{e.exports=''},72720:e=>{e.exports=''},76702:e=>{e.exports=''},21437:e=>{e.exports=''},54908:e=>{e.exports=''},52213:e=>{e.exports=''},66935:e=>{e.exports=''},10838:e=>{e.exports=''},89991:e=>{e.exports=''},12688:e=>{e.exports=''},65052:e=>{e.exports=''},37319:e=>{e.exports=''},89447:e=>{ +e.exports=''},69627:e=>{e.exports=''},61830:e=>{e.exports=''},90980:e=>{e.exports=''},73642:e=>{e.exports=''},13624:e=>{e.exports=''},99600:e=>{e.exports=''},35720:e=>{e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/object-tree-dialog.ec325666665d14d13dd5.js b/public/static/charting_library/bundles/object-tree-dialog.ec325666665d14d13dd5.js new file mode 100644 index 0000000..2cc7d27 --- /dev/null +++ b/public/static/charting_library/bundles/object-tree-dialog.ec325666665d14d13dd5.js @@ -0,0 +1,57 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[4862],{67891:function(e,t){var n,r,o;r=[t],void 0===(o="function"==typeof(n=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t{e.exports={button:"button-2YcRd2gv"}},70294:e=>{e.exports={dropTargetInside:"dropTargetInside-3UxYcxls",dropTarget:"dropTarget-3UxYcxls",before:"before-3UxYcxls",after:"after-3UxYcxls"}},58686:e=>{ +e.exports={wrap:"wrap-1a1_EyKG",selected:"selected-1a1_EyKG",childOfSelected:"childOfSelected-1a1_EyKG",disabled:"disabled-1a1_EyKG",expandHandle:"expandHandle-1a1_EyKG",expanded:"expanded-1a1_EyKG"}},18343:e=>{e.exports={separator:"separator-3U2Wf-wc",tree:"tree-3U2Wf-wc",overlayScrollWrap:"overlayScrollWrap-3U2Wf-wc",listContainer:"listContainer-3U2Wf-wc"}},7279:e=>{e.exports={title:"title-3eZ-_4gp",empty:"empty-3eZ-_4gp",image:"image-3eZ-_4gp",contentList:"contentList-3eZ-_4gp"}},47937:e=>{e.exports={dialog:"dialog-3q1-PXu-",button:"button-3q1-PXu-"}},37953:e=>{e.exports={title:"title-2PJRtZNU",withoutIcon:"withoutIcon-2PJRtZNU",buttons:"buttons-2PJRtZNU",button:"button-2PJRtZNU",disabled:"disabled-2PJRtZNU"}},84917:e=>{e.exports={wrap:"wrap-3Onbn19L",dialog:"dialog-3Onbn19L",offset:"offset-3Onbn19L",title:"title-3Onbn19L",main:"main-3Onbn19L",disabled:"disabled-3Onbn19L",icon:"icon-3Onbn19L",textIcon:"textIcon-3Onbn19L",syncIconWrap:"syncIconWrap-3Onbn19L",syncIcon:"syncIcon-3Onbn19L",rightButtons:"rightButtons-3Onbn19L",hover:"hover-3Onbn19L",expandHandle:"expandHandle-3Onbn19L",button:"button-3Onbn19L",selected:"selected-3Onbn19L",childOfSelected:"childOfSelected-3Onbn19L",renameInput:"renameInput-3Onbn19L",warn:"warn-3Onbn19L",visible:"visible-3Onbn19L"}},25199:e=>{e.exports={wrap:"wrap-3jZ5H2Ul",space:"space-3jZ5H2Ul",tree:"tree-3jZ5H2Ul"}},59404:e=>{e.exports={button:"button-2zRC9WmY",disabled:"disabled-2zRC9WmY"}},45650:(e,t,n)=>{"use strict";n.d(t,{ToolWidgetIconButton:()=>a});var r=n(67294),o=n(94184),i=n(47218),s=n(27754);const a=r.forwardRef((e,t)=>{const{className:n,id:a,...c}=e;return r.createElement(i.ToolWidgetButton,{"data-name":a,...c,ref:t,className:o(n,s.button)})})},69117:(e,t,n)=>{"use strict";n.d(t,{ManageDrawings:()=>T});var r=n(67294),o=n(16282),i=n(49775),s=n(71577),a=n(14829),c=n(79881),l=n(90963),u=n(65447),d=n(67945),h=n(62638),f=n(47903),p=n(25659),g=n(78944),v=n(75412),y=n(7279);(0,u.getLogger)("Chart.ManageDrawings");const m=new l.TranslatedString("remove all line tools for {symbol}",(0,c.t)("remove all line tools for {symbol}")),b=e=>(0,c.t)("{drawingsCount} drawing",{plural:"{drawingsCount} drawings",count:e}).format({drawingsCount:e.toString()}),S=(0,c.t)("Remove all drawings for this symbol"),w=(0,c.t)("No drawings yet");class T extends r.PureComponent{constructor(e){super(e),this._totalCount=0,this._model=null,this._symbolDrawingsMap=null,this._storageContentLoadingPromise=null,this._onItemClick=e=>{""!==e&&(this.props.chartWidget.setSymbol(e),null!==this._model&&this.setState({currentSymbol:e}),this.props.onClose&&this.props.onClose())},this._onRemove=async e=>{if(this._model&&this._symbolDrawingsMap){const t=this._symbolDrawingsMap.get(e);if(t){const n=Array.from(t).map(e=>(0,o.ensureNotNull)(this._model).model().dataSourceForId(e)).filter(f.notNull);n.length>0&&this._model.removeSources(n,!1,m.format({symbol:e})),this._updateItems()}}},this._updateItems=async()=>{if(null!==this._model){const e=await this._getItems(this._model.model().dataSources());this.setState({items:e})}}, +this._updateTheme=()=>{const e=a.watchedTheme.value();this.setState({theme:e})},this.state={currentSymbol:null,items:null,theme:a.watchedTheme.value()}}componentDidMount(){this.props.chartWidget.withModel(this,async()=>{this._model=this.props.chartWidget.model(),this._model.model().dataSourceCollectionChanged().subscribe(this,this._updateItems);const e=await this._getItems(this._model.model().dataSources());this.setState({currentSymbol:this._model.mainSeries().symbol(),items:e},()=>{var e,t;return null===(t=(e=this.props).onInitialized)||void 0===t?void 0:t.call(e)})}),a.watchedTheme.subscribe(this._updateTheme)}componentWillUnmount(){a.watchedTheme.unsubscribe(this._updateTheme),null!==this._model&&this._model.model().dataSourceCollectionChanged().unsubscribe(this,this._updateItems)}render(){const{isMobile:e}=this.props,{currentSymbol:t,items:n}=this.state,o=this._symbolDrawingsMap?this._symbolDrawingsMap.size:0,i=`${s=o,(0,c.t)("{symbolsCount} symbol",{plural:"{symbolsCount} symbols",context:"symbols_and_drawings_count",count:s}).format({symbolsCount:s.toString()})} ${(e=>(0,c.t)("with {drawingsCount} drawing",{plural:"with {drawingsCount} drawings",context:"symbols_and_drawings_count",count:e}).format({drawingsCount:e.toString()}))(this._totalCount)}`;var s;return r.createElement(r.Fragment,null,r.createElement("div",{className:y.title},i),null===n||0===n.length?this._renderEmptyContent():n.map(n=>r.createElement(h.DialogContentItem,{key:n.symbol,title:n.symbol,subtitle:b(n.drawingsCount),removeBtnLabel:S,isActive:n.symbol===t,isMobile:e,onClick:this._onItemClick.bind(this,n.symbol),onClickRemove:this._onRemove.bind(this,n.symbol),showFavorite:!1})))}_renderEmptyContent(){const{theme:e}=this.state,t=e===s.StdTheme.Dark?v:g;return null===this._symbolDrawingsMap?r.createElement(p.Spinner,null):r.createElement("div",{className:y.empty},r.createElement(i.Icon,{className:y.image,icon:t}),r.createElement("span",null,w))}async _getStorageContent(){return new Map}async _getItems(e){const t=[],n=this._getSymbolDrawingsMap(e);return(await this._getStorageContent()).forEach((e,t)=>{const r=n.get(t)||new Set;e.forEach(e=>r.add(e)),n.set(t,r)}),this._symbolDrawingsMap=n,this._totalCount=0,this._symbolDrawingsMap.forEach((e,n)=>{t.push({symbol:n,drawingsCount:e.size}),this._totalCount=this._totalCount+e.size}),t.sort((e,t)=>e.drawingsCount===t.drawingsCount?e.symbol.localeCompare(t.symbol):e.drawingsCount>t.drawingsCount?-1:1)}_getSymbolDrawingsMap(e){const t=new Map;return e.forEach(e=>{var n;if((0,d.isLineTool)(e)&&e.showInObjectTree()){const r=null!==(n=e.symbol())&&void 0!==n?n:"",o=t.get(r)||new Set;o.add(e.id()),t.set(r,o)}}),t}}},72651:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ObjectTreeDialogRenderer:()=>Pa});var r={};n.r(r),n.d(r,{FILE:()=>ee,HTML:()=>re,TEXT:()=>ne,URL:()=>te});var o=n(67294),i=n(73935);async function s(e,t,n){let r;for(let o=0;oPromise.resolve())}var c=n(65447);const l=(0,c.getLogger)("DataSourcesIcons") +;let u=null;function d(){const e=n.c[94317];return e?Promise.resolve(e.exports.lineToolsIcons):n.e(1890).then(n.bind(n,94317)).then(e=>e.lineToolsIcons)}function h(){const e=n.c[1495];return e?Promise.resolve(e.exports.SERIES_ICONS):n.e(3718).then(n.bind(n,1495)).then(e=>e.SERIES_ICONS)}let f=null;function p(){return null===f&&(f=function(){const e=a(d,2).then(e=>e).catch(e=>(l.logWarn(e),{})),t=a(h,2).then(e=>e).catch(e=>(l.logWarn(e),{}));return Promise.all([e,t])}()),f.then(e=>(u={linetool:e[0],series:e[1]},u))}var g=n(57374),v=n(94004),y=n(68521),m=n(79881),b=n(93590),S=n(72923),w=n(69117);var T=n(5383),_=n.n(T),C=n(34857),O=n(96404),E=n(16282),I=n(94184),D=n.n(I),k=n(49775),M=n(95860),x=n(67842),N=n(77727);const P=o.createContext(null);var A=n(45650),L=n(6577),R=n(79805),j=n(81973),B=n(37953),F=n(87438);function H(e){const{viewModel:t}=(0,E.ensureNotNull)((0,o.useContext)(P)),n=(0,N.useForceUpdate)(),r=t.selection();(0,o.useEffect)(()=>{const e={};return t.onChange().subscribe(e,()=>n()),()=>{t.onChange().unsubscribeAll(e)}},[t]),(0,o.useEffect)(()=>{const e={};return r.onChange().subscribe(e,()=>n()),()=>{r.onChange().unsubscribeAll(e)}},[r]);const i=!t.canSelectionBeUnmerged(),s=t.isSelectionCopiable(),a=t.isSelectionCloneable(),c=!s&&!a,l=t.canSelectionBeGrouped();return o.createElement(o.Fragment,null,o.createElement("div",{className:I(B.title,B.withoutIcon)},(0,m.t)("Object tree"),!1),o.createElement("div",{className:B.buttons},o.createElement(A.ToolWidgetIconButton,{className:I(B.button,!l&&B.disabled),icon:j,onClick:function(){t.createGroupFromSelection()},isDisabled:!l,title:(0,m.t)("Create a group of drawings"),"data-name":"group-button"}),o.createElement(x.ToolWidgetMenu,{className:I(B.button,c&&B.disabled),isDisabled:c,content:o.createElement(k.Icon,{icon:L}),title:(0,m.t)("Clone, Copy"),arrow:!1,isShowTooltip:!0,"data-name":"copy-clone-button"},s&&o.createElement(M.PopupMenuItem,{"data-name":"copy",label:(0,m.t)("Copy"),onClick:function(){t.copySelection()}}),a&&o.createElement(M.PopupMenuItem,{"data-name":"clone",label:(0,m.t)("Clone"),onClick:function(){t.cloneSelection()}})),o.createElement(x.ToolWidgetMenu,{className:I(B.button,i&&B.disabled),isDisabled:i,content:o.createElement(k.Icon,{icon:R}),title:(0,m.t)("Move to"),arrow:!1,isShowTooltip:!0,"data-name":"move-to-button"},o.createElement(M.PopupMenuItem,{"data-name":"new-pane-above",label:(0,m.t)("New pane above"),onClick:function(){t.unmergeSelectionUp()}}),o.createElement(M.PopupMenuItem,{"data-name":"new-pane-below",label:(0,m.t)("New pane below"),onClick:function(){t.unmergeSelectionDown()}}))))}var z=n(30797),U=n(37703);function G(e){var t=null;return function(){return null==t&&(t=e()),t}}function V(e,t){for(var n=0;n0}},{key:"leave",value:function(e){var t,n,r=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),n=e,t.filter((function(e){return e!==n}))),r>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}])&&V(t.prototype,n),r&&V(t,r),e}(),K=G((function(){return/firefox/i.test(navigator.userAgent)})),Y=G((function(){return Boolean(window.safari)}));function q(e,t){for(var n=0;ne))return n[a];l=a-1}}var d=e-t[s=Math.max(0,l)],h=d*d;return n[s]+r[s]*d+o[s]*h+i[s]*d*h}}])&&q(t.prototype,n),r&&q(t,r),e}();function Z(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var n=t.getBoundingClientRect(),r=n.top;return{x:n.left,y:r}}function $(e){return{x:e.clientX,y:e.clientY}}function J(e,t,n,r,o){var i,s,a,c="IMG"===(i=t).nodeName&&(K()||!(null!==(s=document.documentElement)&&void 0!==s&&s.contains(i))),l=Z(c?e:t),u={x:n.x-l.x,y:n.y-l.y},d=e.offsetWidth,h=e.offsetHeight,f=r.anchorX,p=r.anchorY,g=function(e,t,n,r){var o=e?t.width:n,i=e?t.height:r;return Y()&&e&&(i/=window.devicePixelRatio,o/=window.devicePixelRatio),{dragPreviewWidth:o,dragPreviewHeight:i}}(c,t,d,h),v=g.dragPreviewWidth,y=g.dragPreviewHeight,m=o.offsetX,b=o.offsetY,S=0===b||b;return{x:0===m||m?m:new X([0,.5,1],[u.x,u.x/d*v,u.x+v-d]).interpolate(f),y:S?b:(a=new X([0,.5,1],[u.y,u.y/h*y,u.y+y-h]).interpolate(p),Y()&&c&&(a+=(window.devicePixelRatio-1)*y),a)}}var Q,ee="__NATIVE_FILE__",te="__NATIVE_URL__",ne="__NATIVE_TEXT__",re="__NATIVE_HTML__";function oe(e,t,n){var r=t.reduce((function(t,n){return t||e.getData(n)}),"");return null!=r?r:n}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n, +enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var se=(ie(Q={},ee,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items}},matchesTypes:["Files"]}),ie(Q,re,{exposeProperties:{html:function(e,t){return oe(e,t,"")}},matchesTypes:["Html","text/html"]}),ie(Q,te,{exposeProperties:{urls:function(e,t){return oe(e,t,"").split("\n")}},matchesTypes:["Url","text/uri-list"]}),ie(Q,ne,{exposeProperties:{text:function(e,t){return oe(e,t,"")}},matchesTypes:["Text","text/plain"]}),Q);function ae(e,t){for(var n=0;n-1}))}))[0]||null}function ue(e,t){for(var n=0;n0&&o.actions.hover(t,{clientOffset:$(e)}),t.some((function(e){return o.monitor.canDropOnTarget(e)}))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=o.getCurrentDropEffect())))},this.handleTopDragOverCapture=function(){o.dragOverTargetIds=[]},this.handleTopDragOver=function(e){var t=o.dragOverTargetIds;if(o.dragOverTargetIds=[],!o.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));o.altKeyPressed=e.altKey,o.actions.hover(t||[],{clientOffset:$(e)}),(t||[]).some((function(e){return o.monitor.canDropOnTarget(e)}))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=o.getCurrentDropEffect())):o.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=function(e){o.isDraggingNativeItem()&&e.preventDefault(),o.enterLeaveCounter.leave(e.target)&&o.isDraggingNativeItem()&&setTimeout((function(){return o.endDragNativeItem()}),0)},this.handleTopDropCapture=function(e){var t;(o.dropTargetIds=[],o.isDraggingNativeItem())&&(e.preventDefault(),null===(t=o.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer));o.enterLeaveCounter.reset()},this.handleTopDrop=function(e){var t=o.dropTargetIds;o.dropTargetIds=[],o.actions.hover(t,{clientOffset:$(e)}),o.actions.drop({dropEffect:o.getCurrentDropEffect()}),o.isDraggingNativeItem()?o.endDragNativeItem():o.monitor.isDragging()&&o.actions.endDrag()},this.handleSelectStart=function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))},this.options=new de(n,r),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new W(this.isNodeInDocument)}var t,n,o;return t=e,(n=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null===(e=this.dragStartSourceIds)||void 0===e?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null===(t=this.dragOverTargetIds)||void 0===t?void 0:t.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var e=this.rootElement;if(void 0!==e){if(e.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}},{ +key:"teardown",value:function(){var e,t=this.rootElement;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&(null===(e=this.window)||void 0===e||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,n){var r=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,n);var o=function(t){return r.handleDragStart(t,e)},i=function(e){return r.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",o),t.addEventListener("selectstart",i),function(){r.sourceNodes.delete(e),r.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",o),t.removeEventListener("selectstart",i),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=function(t){return n.handleDragEnter(t,e)},o=function(t){return n.handleDragOver(t,e)},i=function(t){return n.handleDrop(t,e)};return t.addEventListener("dragenter",r),t.addEventListener("dragover",o),t.addEventListener("drop",i),function(){t.removeEventListener("dragenter",r),t.removeEventListener("dragover",o),t.removeEventListener("drop",i)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return fe({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){ +return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return fe({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(r).some((function(t){return r[t]===e}))}},{key:"beginDragNativeItem",value:function(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){var n=new ce(se[e]);return n.loadDataTransfer(t),n}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((function(){var e;return null===(e=t.rootElement)||void 0===e?void 0:e.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}},{key:"clearCurrentDragSourceNode",value:function(){var e;return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.rootElement&&(null===(e=this.window)||void 0===e||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}}])&&ge(t.prototype,n),o&&ge(t,o),e}(),me=function(e,t,n){return new ye(e,t,n)};function be(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o=o[s].start)&&(null==o[s].end||i<=o[s].end))return!0;return!1 +}(o._mouseClientOffset.x||0,o._mouseClientOffset.y||0,l.x,l.y,o.options.scrollAngleRanges))o._isScrolling=!0;else if(!o.monitor.isDragging()&&o._mouseClientOffset.hasOwnProperty("x")&&s&&(t=o._mouseClientOffset.x||0,n=o._mouseClientOffset.y||0,r=l.x,i=l.y,Math.sqrt(Math.pow(Math.abs(r-t),2)+Math.pow(Math.abs(i-n),2))>(o.options.touchSlop?o.options.touchSlop:0))&&(o.moveStartSourceIds=void 0,o.actions.beginDrag(s,{clientOffset:o._mouseClientOffset,getSourceClientOffset:o.getSourceClientOffset,publishSource:!1})),o.monitor.isDragging()){var u=o.sourceNodes.get(o.monitor.getSourceId());o.installSourceNodeRemovalObserver(u),o.actions.publishDragSource(),e.cancelable&&e.preventDefault();var d=(a||[]).map((function(e){return o.targetNodes.get(e)})).filter((function(e){return!!e})),h=o.options.getDropTargetElementsAtPoint?o.options.getDropTargetElementsAtPoint(l.x,l.y,d):o.document.elementsFromPoint(l.x,l.y),f=[];for(var p in h)if(h.hasOwnProperty(p)){var g=h[p];for(f.push(g);g;)(g=g.parentElement)&&-1===f.indexOf(g)&&f.push(g)}var v=f.filter((function(e){return d.indexOf(e)>-1})).map((function(e){return o._getDropTargetId(e)})).filter((function(e){return!!e})).filter((function(e,t,n){return n.indexOf(e)===t}));if(c)for(var y in o.targetNodes){var m=o.targetNodes.get(y);if(u&&m&&m.contains(u)&&-1===v.indexOf(y)){v.unshift(y);break}}v.reverse(),o.actions.hover(v,{clientOffset:l})}}},this._getDropTargetId=function(e){for(var t=o.targetNodes.keys(),n=t.next();!1===n.done;){var r=n.value;if(e===o.targetNodes.get(r))return r;n=t.next()}},this.handleTopMoveEndCapture=function(e){o._isScrolling=!1,o.lastTargetTouchFallback=void 0,function(e){return void 0===e.buttons||0==(e.buttons&Se)}(e)&&(o.monitor.isDragging()&&!o.monitor.didDrop()?(e.cancelable&&e.preventDefault(),o._mouseClientOffset={},o.uninstallSourceNodeRemovalObserver(),o.actions.drop(),o.actions.endDrag()):o.moveStartSourceIds=void 0)},this.handleCancelOnEscape=function(e){"Escape"===e.key&&o.monitor.isDragging()&&(o._mouseClientOffset={},o.uninstallSourceNodeRemovalObserver(),o.actions.endDrag())},this.options=new De(r,n),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(ve.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(ve.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(ve.keyboard)}var t,n,r;return t=e,(n=[{key:"profile",value:function(){var e;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:(null===(e=this.dragOverTargetIds)||void 0===e?void 0:e.length)||0}}},{key:"document",get:function(){return this.options.document}},{key:"setup",value:function(){this.document&&(be(!e.isSetUp,"Cannot have two Touch backends at the same time."), +e.isSetUp=!0,this.addEventListener(this.document,"start",this.getTopMoveStartHandler()),this.addEventListener(this.document,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(this.document,"move",this.handleTopMove),this.addEventListener(this.document,"move",this.handleTopMoveCapture,!0),this.addEventListener(this.document,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(this.document,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(this.document,"keydown",this.handleCancelOnEscape,!0))}},{key:"teardown",value:function(){this.document&&(e.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(this.document,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(this.document,"start",this.handleTopMoveStart),this.removeEventListener(this.document,"move",this.handleTopMoveCapture,!0),this.removeEventListener(this.document,"move",this.handleTopMove),this.removeEventListener(this.document,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(this.document,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(this.document,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}},{key:"addEventListener",value:function(e,t,n,r){var o=Oe?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var i=xe[r][t];i&&e.addEventListener(i,n,o)}))}},{key:"removeEventListener",value:function(e,t,n,r){var o=Oe?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var i=xe[r][t];i&&e.removeEventListener(i,n,o)}))}},{key:"connectDragSource",value:function(e,t){var n=this,r=this.handleMoveStart.bind(this,e);return this.sourceNodes.set(e,t),this.addEventListener(t,"start",r),function(){n.sourceNodes.delete(e),n.removeEventListener(t,"start",r)}}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDropTarget",value:function(e,t){var n=this;if(!this.document)return function(){};var r=function(r){if(n.document&&n.monitor.isDragging()){var o;switch(r.type){case xe.mouse.move:o={x:r.clientX,y:r.clientY};break;case xe.touch.move:o={x:r.touches[0].clientX,y:r.touches[0].clientY}}var i=null!=o?n.document.elementFromPoint(o.x,o.y):void 0,s=i&&t.contains(i);return i===t||s?n.handleMove(r,e):void 0}};return this.addEventListener(this.document.body,"move",r),this.targetNodes.set(e,t),function(){n.document&&(n.targetNodes.delete(e),n.removeEventListener(n.document.body,"move",r))}}},{key:"getTopMoveStartHandler",value:function(){return this.options.delayTouchStart||this.options.delayMouseStart?this.handleTopMoveStartDelay:this.handleTopMoveStart}},{key:"installSourceNodeRemovalObserver",value:function(e){var t=this +;this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=e,this.draggedSourceNodeRemovalObserver=new MutationObserver((function(){e&&!e.parentElement&&(t.resurrectSourceNode(),t.uninstallSourceNodeRemovalObserver())})),e&&e.parentElement&&this.draggedSourceNodeRemovalObserver.observe(e.parentElement,{childList:!0})}},{key:"resurrectSourceNode",value:function(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}},{key:"uninstallSourceNodeRemovalObserver",value:function(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}}])&&ke(t.prototype,n),r&&ke(t,r),e}(),Pe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Ne(e,t,n)},Ae=n(85893),Le="dnd-core/INIT_COORDS",Re="dnd-core/BEGIN_DRAG",je="dnd-core/PUBLISH_DRAG_SOURCE",Be="dnd-core/HOVER",Fe="dnd-core/DROP",He="dnd-core/END_DRAG";function ze(e,t){return{type:Le,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}function Ue(e){return(Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ge(e,t,n){return t.split(".").reduce((function(e,t){return e&&e[t]?e[t]:n||null}),e)}function Ve(e,t){return e.filter((function(e){return e!==t}))}function We(e){return"object"===Ue(e)}function Ke(e,t){var n=new Map,r=function(e){n.set(e,n.has(e)?n.get(e)+1:1)};e.forEach(r),t.forEach(r);var o=[];return n.forEach((function(e,t){1===e&&o.push(t)})),o}var Ye={type:Le,payload:{clientOffset:null,sourceClientOffset:null}};function qe(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{publishSource:!0},r=n.publishSource,o=void 0===r||r,i=n.clientOffset,s=n.getSourceClientOffset,a=e.getMonitor(),c=e.getRegistry();e.dispatch(ze(i)),Xe(t,a,c);var l=Je(t,a);if(null!==l){var u=null;if(i){if(!s)throw new Error("getSourceClientOffset must be defined");Ze(s),u=s(l)}e.dispatch(ze(i,u));var d=c.getSource(l),h=d.beginDrag(a,l);if(null!=h){$e(h),c.pinSource(l);var f=c.getSourceType(l);return{type:Re,payload:{itemType:f,item:h,sourceId:l,clientOffset:i||null,sourceClientOffset:u||null,isSourcePublic:!!o}}}}else e.dispatch(Ye)}}function Xe(e,t,n){be(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach((function(e){be(n.getSource(e),"Expected sourceIds to be registered.")}))}function Ze(e){be("function"==typeof e,"When clientOffset is provided, getSourceClientOffset must be a function.")}function $e(e){be(We(e),"Item must be an object.")}function Je(e,t){for(var n=null,r=e.length-1;r>=0;r--)if(t.canDragSource(e[r])){n=e[r];break}return n}function Qe(e){return function(){ +if(e.getMonitor().isDragging())return{type:je}}}function et(e,t){return null===t?null===e:Array.isArray(e)?e.some((function(e){return e===t})):e===t}function tt(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.clientOffset;nt(t);var o=t.slice(0),i=e.getMonitor(),s=e.getRegistry();rt(o,i,s);var a=i.getItemType();return ot(o,s,a),it(o,i,s),{type:Be,payload:{targetIds:o,clientOffset:r||null}}}}function nt(e){be(Array.isArray(e),"Expected targetIds to be an array.")}function rt(e,t,n){be(t.isDragging(),"Cannot call hover while not dragging."),be(!t.didDrop(),"Cannot call hover after drop.");for(var r=0;r=0;r--){var o=e[r];et(t.getTargetType(o),n)||e.splice(r,1)}}function it(e,t,n){e.forEach((function(e){n.getTarget(e).hover(t,e)}))}function st(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function at(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=e.getMonitor(),r=e.getRegistry();ut(n);var o=ht(n);o.forEach((function(o,i){var s=dt(o,i,r,n),a={type:Fe,payload:{dropResult:at(at({},t),s)}};e.dispatch(a)}))}}function ut(e){be(e.isDragging(),"Cannot call drop while not dragging."),be(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function dt(e,t,n,r){var o=n.getTarget(e),i=o?o.drop(r,e):void 0;return function(e){be(void 0===e||We(e),"Drop result must either be an object or undefined.")}(i),void 0===i&&(i=0===t?{}:r.getDropResult()),i}function ht(e){var t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function ft(e){return function(){var t=e.getMonitor(),n=e.getRegistry();!function(e){be(e.isDragging(),"Cannot call endDrag while not dragging.")}(t);var r=t.getSourceId();null!=r&&(n.getSource(r,!0).endDrag(t,r),n.unpinSource());return{type:He}}}function pt(e,t){for(var n=0;n0 +;r.backend&&(e&&!r.isSetUp?(r.backend.setup(),r.isSetUp=!0):!e&&r.isSetUp&&(r.backend.teardown(),r.isSetUp=!1))},this.store=t,this.monitor=n,t.subscribe(this.handleRefCountChange)}var t,n,r;return t=e,(n=[{key:"receiveBackend",value:function(e){this.backend=e}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.monitor.registry}},{key:"getActions",value:function(){var e=this,t=this.store.dispatch,n=function(e){return{beginDrag:qe(e),publishDragSource:Qe(e),hover:tt(e),drop:lt(e),endDrag:ft(e)}}(this);return Object.keys(n).reduce((function(r,o){var i,s=n[o];return r[o]=(i=s,function(){for(var n=arguments.length,r=new Array(n),o=0;o2&&void 0!==arguments[2]?arguments[2]:yt;if(e.length!==t.length)return!1;for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:_t,t=arguments.length>1?arguments[1]:void 0,n=t.payload;switch(t.type){case Le:case Re:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case Be:return mt(e.clientOffset,n.clientOffset)?e:wt(wt({},e),{},{clientOffset:n.clientOffset});case He:case Fe:return _t;default:return e}}var Ot="dnd-core/ADD_SOURCE",Et="dnd-core/ADD_TARGET",It="dnd-core/REMOVE_SOURCE",Dt="dnd-core/REMOVE_TARGET";function kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Mt(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:Nt,t=arguments.length>1?arguments[1]:void 0,n=t.payload;switch(t.type){case Re:return Mt(Mt({},e),{},{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case je:return Mt(Mt({},e),{},{isSourcePublic:!0});case Be:return Mt(Mt({},e),{},{targetIds:n.targetIds});case Dt:return-1===e.targetIds.indexOf(n.targetId)?e:Mt(Mt({},e),{},{targetIds:Ve(e.targetIds,n.targetId)});case Fe:return Mt(Mt({},e),{},{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case He:return Mt(Mt({},e),{},{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function At(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case Ot:case Et:return e+1;case It:case Dt:return e-1;default:return e}}var Lt=[],Rt=[];function jt(e,t){return e!==Lt&&(e===Rt||void 0===t||(n=e,t.filter((function(e){return n.indexOf(e)>-1}))).length>0);var n}function Bt(){var e=arguments.length>1?arguments[1]:void 0;switch(e.type){case Be:break;case Ot:case Et:case Dt:case It:return Lt;case Re:case je:case He:case Fe:default:return Rt}var t=e.payload,n=t.targetIds,r=void 0===n?[]:n,o=t.prevTargetIds,i=void 0===o?[]:o,s=Ke(r,i),a=s.length>0||!bt(r,i);if(!a)return Lt;var c=i[i.length-1],l=r[r.length-1];return c!==l&&(c&&s.push(c),l&&s.push(l)),s}function Ft(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e+1}function Ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function zt(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return{dirtyHandlerIds:Bt(e.dirtyHandlerIds,{type:t.type,payload:zt(zt({},t.payload),{},{prevTargetIds:Ge(e,"dragOperation.targetIds",[])})}),dragOffset:Ct(e.dragOffset,t),refCount:At(e.refCount,t),dragOperation:Pt(e.dragOperation,t),stateId:Ft(e.stateId)}}function Vt(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Wt(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{handlerIds:void 0},r=n.handlerIds;be("function"==typeof e,"listener must be a function."),be(void 0===r||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");var o=this.store.getState().stateId,i=function(){var n=t.store.getState(),i=n.stateId;try{i===o||i===o+1&&!jt(n.dirtyHandlerIds,r)||e()}finally{o=i}};return this.store.subscribe(i)}},{key:"subscribeToOffsetChange",value:function(e){var t=this;be("function"==typeof e,"listener must be a function.");var n=this.store.getState().dragOffset;return this.store.subscribe((function(){var r=t.store.getState().dragOffset;r!==n&&(n=r,e())}))}},{key:"canDragSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e);return be(t,"Expected to find a valid source. sourceId=".concat(e)),!this.isDragging()&&t.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){if(!e)return!1;var t=this.registry.getTarget(e);return be(t,"Expected to find a valid target. targetId=".concat(e)),!(!this.isDragging()||this.didDrop())&&et(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}},{key:"isDragging",value:function(){return Boolean(this.getItemType())}},{key:"isDraggingSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e,!0);return be(t,"Expected to find a valid source. sourceId=".concat(e)),!(!this.isDragging()||!this.isSourcePublic())&&this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e)}},{key:"isOverTarget",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shallow:!1};if(!e)return!1;var n=t.shallow;if(!this.isDragging())return!1;var r=this.registry.getTargetType(e),o=this.getItemType();if(o&&!et(r,o))return!1;var i=this.getTargetIds();if(!i.length)return!1;var s=i.indexOf(e);return n?s===i.length-1:s>-1}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){ +return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return e=this.store.getState().dragOffset,r=e.clientOffset,o=e.initialClientOffset,i=e.initialSourceClientOffset,r&&o&&i?Vt((n=i,{x:(t=r).x+n.x,y:t.y+n.y}),o):null;var e,t,n,r,o,i}},{key:"getDifferenceFromInitialOffset",value:function(){return e=this.store.getState().dragOffset,t=e.clientOffset,n=e.initialClientOffset,t&&n?Vt(t,n):null;var e,t,n}}])&&Wt(t.prototype,n),r&&Wt(t,r),e}(),qt=0;function Xt(e){return(Xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zt(e,t){t&&Array.isArray(e)?e.forEach((function(e){return Zt(e,!1)})):be("string"==typeof e||"symbol"===Xt(e),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}!function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"}(Kt||(Kt={}));const $t="undefined"!=typeof global?global:self,Jt=$t.MutationObserver||$t.WebKitMutationObserver;function Qt(e){return function(){const t=setTimeout(r,0),n=setInterval(r,50);function r(){clearTimeout(t),clearInterval(n),e()}}}const en="function"==typeof Jt?function(e){let t=1;const n=new Jt(e),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}:Qt;class tn{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,t){this.onError=e,this.release=t,this.task=null}}const nn=new class{enqueueTask(e){const{queue:t,requestFlush:n}=this;t.length||(n(),this.flushing=!0),t[t.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:e}=this;for(;this.indexthis.capacity){for(let t=0,n=e.length-this.index;t{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=en(this.flush),this.requestErrorThrow=Qt(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},rn=new class{create(e){const t=this.freeTasks,n=t.length?t.pop():new tn(this.onError,e=>t[t.length]=e);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}}(nn.registerPendingError);function on(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]&&arguments[1];be(this.isSourceId(e),"Expected a valid source ID.");var n=t&&e===this.pinnedSourceId,r=n?this.pinnedSource:this.dragSources.get(e);return r}},{key:"getTarget",value:function(e){return be(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}},{key:"getSourceType",value:function(e){return be(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}},{key:"getTargetType",value:function(e){return be(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}},{key:"isSourceId",value:function(e){return ln(e)===Kt.SOURCE}},{key:"isTargetId",value:function(e){return ln(e)===Kt.TARGET}},{key:"removeSource",value:function(e){var t,n=this +;be(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(e){return{type:It,payload:{sourceId:e}}}(e)),t=function(){n.dragSources.delete(e),n.types.delete(e)},nn.enqueueTask(rn.create(t))}},{key:"removeTarget",value:function(e){be(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(e){return{type:Dt,payload:{targetId:e}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}},{key:"pinSource",value:function(e){var t=this.getSource(e);be(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}},{key:"unpinSource",value:function(){be(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}},{key:"addHandler",value:function(e,t,n){var r=cn(e);return this.types.set(r,t),e===Kt.SOURCE?this.dragSources.set(r,n):e===Kt.TARGET&&this.dropTargets.set(r,n),r}}])&&on(t.prototype,n),r&&on(t,r),e}();function hn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=fn(r),i=new Yt(o,new dn(o)),s=new gt(o,i),a=e(s,t,n);return s.receiveBackend(a),s}function fn(e){var t="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__;return(0,vt.createStore)(Gt,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}var pn=(0,o.createContext)({dragDropManager:void 0});function gn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return vn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var mn=0,bn=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__"),Sn=(0,o.memo)((function(e){var t=e.children,n=gn(function(e){if("manager"in e){return[{dragDropManager:e.manager},!1]}var t=function(e){ +var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:wn(),n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=t;o[bn]||(o[bn]={dragDropManager:hn(e,t,n,r)});return o[bn]}(e.backend,e.context,e.options,e.debugMode),n=!e.context;return[t,n]}(yn(e,["children"])),2),r=n[0],i=n[1];return(0,o.useEffect)((function(){if(i){var e=wn();return++mn,function(){0==--mn&&(e[bn]=null)}}}),[]),(0,Ae.jsx)(pn.Provider,Object.assign({value:r},{children:t}),void 0)}));function wn(){return void 0!==n.g?n.g:window}const Tn=(_n="OBJECT_TREE",e=>_n+"__"+e);var _n;const Cn=Tn("SET_NODES"),On=Tn("SYNC_NODES"),En=Tn("UPDATE_NODE"),In=Tn("UPDATE_NODES"),Dn=Tn("RESET_TREE"),kn=Tn("SET_SELECTED_IDS"),Mn=Tn("DROP_SELECTION"),xn=Tn("SELECT_PREVIOUS"),Nn=Tn("SELECT_NEXT"),Pn=Tn("MULTI_SELECT_PREVIOUS"),An=Tn("MULTI_SELECT_NEXT"),Ln=Tn("PROCESS_DROP_TARGET"),Rn=Tn("UPDATE_DROP_TARGET"),jn=Tn("HIDE_DROP_TARGET"),Bn=Tn("START_MULTI_SELECT"),Fn=Tn("STOP_MULTI_SELECT"),Hn=(Tn("REMOVE_NODE"),Tn("SET_FOCUSED_NODE")),zn=Tn("SCROLL_TO_ID"),Un=Tn("SET_IS_SELECTED"),Gn=Tn("SET_IS_EXPANDED"),Vn=Tn("SET_DISABLED_NODES"),Wn=Tn("MOVE_NODES"),Kn=(Tn("START_DRAG"),Tn("END_DRAG")),Yn=()=>({type:xn}),qn=()=>({type:Nn}),Xn=()=>({type:Pn}),Zn=()=>({type:An}),$n=(e,t,n,r,o)=>({type:Ln,dropTarget:e,dropType:t,isHoveredLeft:n,boundBox:r,isLastChild:o}),Jn=()=>({type:Mn}),Qn=e=>({type:kn,ids:e}),er=(e,t,n)=>({type:Wn,ids:e,targetId:t,dropType:n}),tr=()=>({type:Bn}),nr=()=>({type:Fn}),rr=e=>({type:Hn,nodeId:e}),or=e=>({type:zn,nodeId:e}),ir=(e,t,n=0)=>({type:Un,nodeId:e,isSelected:t,mode:n}),sr=(e,t)=>({type:Gn,nodeId:e,isExpanded:t}),ar=e=>({type:Vn,ids:e}),cr=()=>({type:Kn});var lr=n(22222);const ur=e=>e.nodes,dr=e=>e.selection,hr=e=>e.dropTarget,fr=e=>e.expanded,pr=e=>e.scrollToId,gr=(e,t)=>t,vr=(0,lr.createSelector)([ur,gr],(e,t)=>e[t]),yr=(0,lr.createSelector)([dr,gr],(e,t)=>e.ids.includes(t)),mr=(0,lr.createSelector)([fr,gr],(e,t)=>e.includes(t)),br=(0,lr.createSelector)([e=>e.disabled,dr,gr],(e,t,n)=>!t.ids.includes(n)&&e.includes(n)),Sr=(0,lr.createSelector)(ur,e=>Object.keys(e)),wr=(0,lr.createSelector)(dr,({ids:e})=>e),Tr=(0,lr.createSelector)(dr,({lastFocusedNodeId:e})=>e),_r=(0,lr.createSelector)(dr,({isMultiSelecting:e})=>e),Cr=(0,lr.createSelector)([ur,wr],(e,t)=>t.map(t=>e[t])),Or=(0,lr.createSelector)(ur,e=>Object.values(e).filter(e=>0===e.level)),Er=(0,lr.createSelector)([ur,Or],(e,t)=>t.reduce((t,n)=>[...t,...Ir(e,(0,E.ensureDefined)(n))],[]));function Ir(e,t){const n=[];for(const r of t.children)n.push(e[r]),n.push(...Ir(e,e[r]));return n}const Dr=(0,lr.createSelector)([ur,Or,fr],(e,t,n)=>{const r=new Set(n);return t.reduce((t,n)=>[...t,...Mr(e,(0,E.ensureDefined)(n),r)],[])}),kr=(0,lr.createSelector)([ur,wr,fr],(e,t,n)=>{const r=new Set(n);return[{id:"drag-list",level:-1,children:t}].reduce((t,n)=>[...t,...Mr(e,(0,E.ensureDefined)(n),r)],[])});function Mr(e,t,n){const r=[];for(const o of t.children){const t=e[o];void 0!==t&&(r.push(t),n.has(o)&&r.push(...Mr(e,t,n)))}return r}function*xr(e){ +const{selectedIds:t,nodes:n}=yield(0,C.call)(e),r={};for(let e=0;e({type:Cn,nodes:e}))(r)),yield(0,C.put)(Qn(t));!Tr(yield(0,C.select)())&&t.length>0&&(yield(0,C.put)(rr(t[0])),yield(0,C.put)(or(t[0])))}function*Nr(e){for(;;){if((yield(0,C.take)([Bn,Fn])).type===Bn){const t=Sr(yield(0,C.select)()).filter(t=>!e(t));yield(0,C.put)(ar(t))}else yield(0,C.put)(ar([]))}}function*Pr(){for(;;){const{type:e}=yield(0,C.take)([An,Pn]),t=yield(0,C.select)(),n=Er(t),r=n.length,o=Tr(t),i=[...wr(t)],s=1===i.length&&i[0]!==o,a=n.findIndex(e=>e.id===(s?i[0]:o));if(e===Pn&&0===a||e===An&&a===r-1)continue;const c=Hr(t,e===An?"next":"previous",n,a),{id:l}=c;i.includes(l)&&o?(yield(0,C.put)(ir(o,!1,1)),yield(0,C.put)(rr(l))):yield(0,C.put)(ir(l,!0,1)),yield(0,C.put)(or(l))}}function*Ar(e,t){for(;;){const{type:n}=yield(0,C.take)([Nn,xn]),r=yield(0,C.select)(),o=Er(r),i=Cr(r),s=Tr(r);if(1===i.length&&i[0].id!==s&&!s){if(n===Nn){yield(0,C.put)(rr(i[0].id));continue}if(n===xn){const e=o.findIndex(e=>e.id===i[0].id),t=Hr(r,"previous",o,e);yield(0,C.put)(rr(t.id));continue}}const a=o.findIndex(e=>e.id===s),c=n===Nn?"next":"previous",l=Hr(r,c,o,a),{id:u}=l;e?e([u],c):yield(0,C.put)(Qn([u])),t&&t(u),yield(0,C.put)(rr(u))}}function*Lr(e,t=(()=>!0)){for(;;){const{mode:n,nodeId:r,isSelected:o}=yield(0,C.take)(Un);let i=[...wr(yield(0,C.select)())];const s=Er(yield(0,C.select)());if(1===n)o?i.push(r):i.splice(i.indexOf(r),1);else if(2===n&&i.length>0){const e=Tr(yield(0,C.select)());let n=s.findIndex(t=>t.id===e);-1===n&&(n=s.reduce((e,t,n)=>i.includes(t.id)?n:e,-1));const o=s.findIndex(e=>e.id===r);if(n!==o)for(let e=Math.min(n,o);e<=Math.max(n,o);e++){const n=s[e].id;!i.includes(n)&&t(n)&&i.push(n)}}else i=r?[r]:[];const a=new Set(i);i=s.reduce((e,t)=>(a.has(t.id)&&e.push(t.id),e),[]),e?e(i):yield(0,C.put)(Qn(i)),yield(0,C.put)(rr(r))}}function*Rr(e=(()=>!0),t){const{dropTarget:n,dropType:r,isHoveredLeft:o,boundBox:i,isLastChild:s}=t,a=hr(yield(0,C.select)()),c=vr(yield(0,C.select)(),(0,E.ensureDefined)(n.parentId)),l=s&&"after"===r,u=Cr(yield(0,C.select)()),d=!l||!o&&e(u,n,r)?n:c,h=a.node&&a.node.id!==d.id||a.dropType!==r;u.map(e=>e.id).includes(d.id)?yield(0,C.put)({type:jn}):h&&e(u,d,r)&&(yield(0,C.put)(((e,t,n)=>({type:Rn,node:e,dropType:t,boundBox:n}))(d,r,i)))}function*jr(e){yield(0,C.throttle)(0,Ln,Rr,e)}function*Br(e){for(;;){yield(0,C.take)(Mn);const t=Cr(yield(0,C.select)()),{node:n,dropType:r}=hr(yield(0,C.select)());if(n&&r){const o=new CustomEvent("tree-node-drop",{detail:{nodes:t,target:n.id,type:r}});if(e&&e(o),!o.defaultPrevented){const e=wr(yield(0,C.select)());yield(0,C.put)(er(e,n.id,r))}}}}function*Fr(e){for(;;){yield(0,C.take)(Wn);e(ur(yield(0,C.select)()))}}function Hr(e,t,n,r){const o=n.length;let i,s=0;for(;!i||Math.abs(s)1&&!mr(e,(0,E.ensureDefined)(a.parentId)));)s+="next"===t?1:-1,i=n[(r+s+o)%o];var a;return i}function*zr(e={}){const{saga:t,onDrop:n,canMove:r,onMove:o,onSelect:i,onKeyboardSelect:s,initState:a,canBeAddedToSelection:c}=e,l=[(0, +C.fork)(jr,r),(0,C.fork)(Br,n),(0,C.fork)(Lr,i,c),(0,C.fork)(Ar,i,s),(0,C.fork)(Pr)];for(t&&l.push((0,C.fork)(t)),o&&l.push((0,C.fork)(Fr,o)),c&&l.push((0,C.fork)(Nr,c));;){a&&(yield(0,C.call)(xr,a));const e=yield(0,C.all)(l);yield(0,C.take)(Dn);for(const t of e)yield(0,C.cancel)(t)}}var Ur=n(47903);const Gr=(0,c.getLogger)("Platform.GUI.ObjectTree.CallApi");const Vr={ids:[],lastFocusedNodeId:void 0,isMultiSelecting:!1};const Wr={node:void 0,dropType:void 0,boundBox:void 0};const Kr=(0,vt.combineReducers)({nodes:function(e={},t){switch(t.type){case Cn:return t.nodes;case On:{const{nodes:n}=t,r=n.map(e=>e.id),o={...e};for(const t of Object.keys(e))if(!r.includes(t)){const{parentId:e}=o[t];e&&(o[e]={...o[e],children:o[e].children.filter(e=>e!==t)}),delete o[t]}for(const e of n){const t=e.id;if(o.hasOwnProperty(t)){!(0,Ur.deepEquals)(o[t].children,e.children)[0]&&(o[t]={...o[t],children:[...e.children]})}else{o[t]=e;const{parentId:n}=e;if(n&&!o[n].children.includes(t))throw new Error("Not implemented")}}return o}case En:{const{type:n,nodeId:r,...o}=t;return{...e,[r]:{...e[r],...o}}}case In:{const{nodes:n}=t,r={...e};return Object.keys(n).forEach(e=>{r[e]={...r[e],...n[e]}}),{...e,...r}}case Wn:{const{ids:n,targetId:r,dropType:o}=t,i=(0,E.ensureDefined)(e[r].parentId),s=e[i],a={};for(const t of n){const n=e[t];if(n.parentId){const r=a[n.parentId]||e[n.parentId];a[n.parentId]={...r,children:r.children.filter(e=>e!==t)}}a[t]={...n,parentId:i,level:s.level+1}}const c=s.children.filter(e=>!n.includes(e));return c.splice(((e,t,n)=>{switch(n){case"before":return e.indexOf((0,E.ensureDefined)(t));case"inside":return e.length;case"after":return e.indexOf((0,E.ensureDefined)(t))+1;default:return 0}})(c,r,o),0,...n),a[i]={...e[i],children:c,isExpanded:!0},{...e,...a}}default:return e}},selection:function(e=Vr,t){switch(t.type){case kn:{const{ids:n}=t;return{...e,ids:n,lastFocusedNodeId:n.length>0?e.lastFocusedNodeId:void 0}}case Bn:return{...e,isMultiSelecting:!0};case Fn:return{...e,isMultiSelecting:!1};case Hn:return{...e,lastFocusedNodeId:t.nodeId};case On:{const n=new Set(t.nodes.map(e=>e.id));return e.lastFocusedNodeId&&!n.has(e.lastFocusedNodeId)&&delete e.lastFocusedNodeId,{...e,ids:e.ids.filter(e=>n.has(e))}}default:return e}},dropTarget:function(e=Wr,t){switch(t.type){case Rn:{const{node:n,dropType:r,boundBox:o}=t;return{...e,node:n,dropType:r,boundBox:o}}case jn:case Kn:case Dn:return{...Wr};default:return e}},expanded:function(e=[],t){switch(t.type){case Gn:{const{nodeId:n,isExpanded:r}=t;if(r)return[...e,n];const o=[...e];return o.splice(e.indexOf(n),1),o}default:return e}},disabled:function(e=[],t){switch(t.type){case Vn:return[...t.ids];default:return e}},scrollToId:function(e=null,t){switch(t.type){case zn:return null===t.nodeId?null:{id:t.nodeId};default:return e}}});function Yr(e,t,n){var r=n.getRegistry(),o=r.addTarget(e,t);return[o,function(){return r.removeTarget(o)}]}function qr(e,t,n){var r=n.getRegistry(),o=r.addSource(e,t);return[o,function(){return r.removeSource(o)}]}function Xr(e,t){ +for(var n=0;n, or turn it into a ")+"drag source or a drop target itself.")}}function eo(e){var t={};return Object.keys(e).forEach((function(n){var r=e[n];if(n.endsWith("Ref"))t[n]=e[n];else{var i=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!(0,o.isValidElement)(t)){var r=t;return e(r,n),r}var i=t;Qr(i);var s=n?function(t){return e(t,n)}:e;return no(i,s)}}(r);t[n]=function(){return i}}})),t}function to(e,t){ +"function"==typeof e?e(t):e.current=t}function no(e,t){var n=e.ref;return be("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),n?(0,o.cloneElement)(e,{ref:function(e){to(n,e),to(t,e)}}):(0,o.cloneElement)(e,{ref:t})}function ro(e){return(ro="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function oo(e){return null!==e&&"object"===ro(e)&&Object.prototype.hasOwnProperty.call(e,"current")}function io(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1,'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',Po.join(", "),t),be("function"==typeof e[t],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target",t,t,e[t])})),function(t,n){return new Ao(e,t,n)}}function Ro(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e;"function"!=typeof e&&(be(po(e,!0),'Expected "type" provided as the first argument to DropTarget to be a string, an array of strings, or a function that returns either given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',e),o=function(){return e}),be(fo(t),'Expected "spec" provided as the second argument to DropTarget to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',t);var i=Lo(t);return be("function"==typeof n,'Expected "collect" provided as the third argument to DropTarget to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',n),be(fo(r),'Expected "options" provided as the fourth argument to DropTarget to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',n),function(e){return xo({containerDisplayName:"DropTarget",createHandler:i,registerHandler:Yr,createMonitor:function(e){return new $r(e)},createConnector:function(e){return new so(e)},DecoratedComponent:e,getType:o,collect:n,options:r})}}var jo=n(33093),Bo=n(43367);function Fo(e,t){for(var n=0;n-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',Yo.join(", "),t),be("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source",t,t,e[t])})),qo.forEach((function(t){be("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source",t,t,e[t])})),function(t,n){return new Xo(e,t,n)}}var $o=n(42998),Jo=n(66213),Qo=n(11086);const ei=o.createContext({size:0,smallSizeTreeNodeAction:1}),ti={[$o.Modifiers.Mod]:1,[$o.Modifiers.Shift]:2};var ni=n(60096),ri=n(58686);const oi=()=>{};class ii extends o.PureComponent{constructor(){super(...arguments),this._ref=null,this._handleRef=e=>{this._ref=e;const{connectDragSource:t,connectDropTarget:n,connectDragPreview:r}=this.props;(0,E.ensureDefined)(n)(this._ref),(0,E.ensureDefined)(t)(this._ref),(0,E.ensureDefined)(r)((Ko||((Ko=new Image).src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),Ko),{captureDraggingState:!0})},this._handleTouchStart=e=>{const t=(e,t)=>{const n=function(e,t){try{const n=document.createEvent("TouchEvent");return n.initTouchEvent(e,!0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,t.touches,t.targetTouches,t.changedTouches),n}catch(e){return null}}(e,t);if(n)return n;const r=Array.from(t.changedTouches),o=Array.from(t.touches),i=Array.from(t.targetTouches);return new TouchEvent(e,{bubbles:!0,changedTouches:r,touches:o,targetTouches:i})},n=e.target;if(n instanceof Element){const e=e=>{const r=e;if(!n.isConnected){r.preventDefault();const e=t("touchmove",r);document.body.dispatchEvent(e)}},r=o=>{const i=o;if(!n.isConnected){i.preventDefault();const e=t("touchend",i);document.body.dispatchEvent(e)}n.removeEventListener("touchend",r),n.removeEventListener("touchmove",e)};n.addEventListener("touchend",r),n.addEventListener("touchmove",e)}}}componentDidMount(){ +var e;null===(e=this._ref)||void 0===e||e.addEventListener("touchstart",this._handleTouchStart)}componentWillUnmount(){var e;null===(e=this._ref)||void 0===e||e.removeEventListener("touchstart",this._handleTouchStart)}render(){return o.createElement(si,{...this.props,reference:this._handleRef})}getNode(){return(0,E.ensureNotNull)(this._ref)}}const si=e=>{const{id:t,isSelected:n,isOffset:r,isExpandable:i,setIsSelected:s,isDisabled:a,isExpanded:c,onClick:l,parentId:u,setIsExpanded:d,reference:h,isFirstListItem:f,isLastListItem:p,nodeRenderer:g,isChildOfSelected:v=!1}=e,{size:y,smallSizeTreeNodeAction:m}=(0,o.useContext)(ei),b=(0,o.useRef)(null),S=(0,Jo.createSafeMulticastEventHandler)(e=>b.current=e,h);let[w,T]=(0,Qo.useHover)();return Bo.CheckMobile.any()&&(w=n,T={onMouseOut:oi,onMouseOver:oi}),o.createElement("div",{className:I(ri.wrap,n&&ri.selected,v&&ri.childOfSelected,a&&ri.disabled,i&&ri.expandable),onClick:1===y&&0===m?_:function(e){if(e.defaultPrevented)return;const r=ti[(0,$o.modifiersFromEvent)(e)]||0;!a&&s&&s(t,!n,r);l&&0===r&&l(e,t)},onContextMenu:_,ref:S,...T},i&&o.createElement(k.Icon,{icon:ni,className:I(ri.expandHandle,c&&ri.expanded),onClick:function(e){e.preventDefault(),i&&d(t,!c)},onMouseDown:function(e){e.preventDefault()}}),g({id:t,isOffset:r,parentId:u,isDisabled:a,isSelected:n,isChildOfSelected:v,isHovered:w,isExpanded:c,isFirstListItem:f,isLastListItem:p}));function _(){a||n||!s||s(t,!0)}},ai=o.createContext({});function ci(e,t){const{id:n}=t,r=vr(e,n),o=yr(e,n);let i=!1,s=r.parentId;for(;s&&!i;)i=yr(e,s),s=vr(e,s).parentId;return{...r,isSelected:o,isChildOfSelected:i,isExpanded:r.children.length>0&&mr(e,n),isExpandable:r.children.length>0,isDisabled:br(e,n)}}function li(e){return(0,vt.bindActionCreators)({setIsExpanded:sr,processDropTarget:$n,dropSelection:Jn,selectNext:qn,selectPrevious:Yn,setIsSelected:ir,endDrag:cr},e)}const ui=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e;"function"!=typeof e&&(be(po(e),'Expected "type" provided as the first argument to DragSource to be a string, or a function that returns a string given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',e),o=function(){return e}),be(fo(t),'Expected "spec" provided as the second argument to DragSource to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',t);var i=Zo(t);return be("function"==typeof n,'Expected "collect" provided as the third argument to DragSource to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',n),be(fo(r),'Expected "options" provided as the fourth argument to DragSource to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',n),function(e){return xo({containerDisplayName:"DragSource",createHandler:i,registerHandler:qr,createConnector:function(e){return new Ho(e)}, +createMonitor:function(e){return new Vo(e)},DecoratedComponent:e,getType:o,collect:n,options:r})}}("node",{beginDrag:e=>{const{id:t,isDisabled:n,isSelected:r}=e;return n||r||e.setIsSelected(t,!0),e},endDrag:e=>e.endDrag()},e=>({connectDragSource:e.dragSource(),connectDragPreview:e.dragPreview()})),di=Ro("node",{hover:(e,t,n)=>{if(!n)return;const r=n.getNode(),o=r.getBoundingClientRect(),i=o.bottom-o.top,s=t.getClientOffset();if(s){const t=s.y-o.top;let n,a;if(n=0===e.children.length?t=i/3&&t<2*i/3?"inside":"after",void 0!==e.getContainerElement){const t=e.getContainerElement().getBoundingClientRect();a={top:o.top-t.top,left:o.left-t.left,bottom:o.top-t.top+o.height,right:o.left-t.left+o.width,height:o.height,width:o.width}}else a={top:r.offsetTop,left:r.offsetLeft,bottom:r.offsetTop+r.offsetHeight,right:r.offsetLeft+r.offsetWidth,height:r.offsetHeight,width:r.offsetWidth};e.processDropTarget(e,n,s.x-o.left<48,a,e.isLastChild)}}},e=>({connectDropTarget:e.dropTarget()})),hi=(0,U.connect)(ci,li,null,{context:ai})(ui(di(ii))),fi=(0,U.connect)(ci,li,null,{context:ai})(si);var pi=n(15738);function gi(e){return(gi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vi(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yi(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{} +;return be("function"==typeof e,'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ',"Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer",e),be(fo(t),'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer',t),function(n){var r=n,i=t.arePropsEqual,s=void 0===i?Jr:i,a=r.displayName||r.name||"Component",c=function(t){bi(i,t);var n=wi(i);function i(){var e;return vi(this,i),(e=n.apply(this,arguments)).isCurrentlyMounted=!1,e.ref=(0,o.createRef)(),e.handleChange=function(){if(e.isCurrentlyMounted){var t=e.getCurrentState();Jr(t,e.state)||e.setState(t)}},e}return mi(i,[{key:"getDecoratedComponentInstance",value:function(){return be(this.ref.current,"In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()"),this.ref.current}},{key:"shouldComponentUpdate",value:function(e,t){return!s(e,this.props)||!Jr(t,this.state)}},{key:"componentDidMount",value:function(){this.isCurrentlyMounted=!0,this.handleChange()}},{key:"componentWillUnmount",value:function(){this.isCurrentlyMounted=!1,this.unsubscribeFromOffsetChange&&(this.unsubscribeFromOffsetChange(),this.unsubscribeFromOffsetChange=void 0),this.unsubscribeFromStateChange&&(this.unsubscribeFromStateChange(),this.unsubscribeFromStateChange=void 0)}},{key:"render",value:function(){var e=this;return(0,Ae.jsx)(pn.Consumer,{children:function(t){var n=t.dragDropManager;return void 0===n?null:(e.receiveDragDropManager(n),e.isCurrentlyMounted?(0,Ae.jsx)(r,Object.assign({},e.props,e.state,{ref:lo(r)?e.ref:null}),void 0):null)}},void 0)}},{key:"receiveDragDropManager",value:function(e){if(void 0===this.manager){this.manager=e,be("object"===gi(e),"Could not find the drag and drop manager in the context of %s. Make sure to render a DndProvider component in your top-level component. Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context",a,a);var t=this.manager.getMonitor();this.unsubscribeFromOffsetChange=t.subscribeToOffsetChange(this.handleChange),this.unsubscribeFromStateChange=t.subscribeToStateChange(this.handleChange)}}},{key:"getCurrentState",value:function(){if(!this.manager)return{};var t=this.manager.getMonitor();return e(t,this.props)}}]),i}(o.Component);return c.displayName="DragLayer(".concat(a,")"),c.DecoratedComponent=n,To()(c,n)}}var Oi=n(4735);function Ei(e){const t=e(),n=(0,o.useRef)(t);n.current=t;const[r,i]=(0,o.useState)(n.current),s=(0,o.useRef)(null);return(0,o.useEffect)(()=>{null===s.current&&(s.current=requestAnimationFrame(()=>{s.current=null,i(n.current)}))}),(0,o.useEffect)(()=>()=>{s.current&&cancelAnimationFrame(s.current)},[]),r}function Ii(e){const{dropTargetOffset:t,mousePosition:n}=e;if(!t)return{display:"none"} +;const{x:r,y:o}=t,i=n&&t?n.y-t.y:0,s=`translate(${r+(n&&t?n.x-t.x:0)}px, ${o+i}px)`;return{transform:s,WebkitTransform:s}}const Di={top:0,left:0,position:"fixed",pointerEvents:"none",zIndex:100,opacity:.5,width:300,backgroundColor:"red"};const ki=Ci((function(e){return{isDragging:e.isDragging()&&"node"===e.getItemType(),mousePosition:e.getClientOffset(),dropTargetOffset:e.getSourceClientOffset()}}))((0,U.connect)((function(e){return{items:kr(e)}}),null,null,{context:ai})((function(e){const{items:t,isDragging:n,nodeRenderer:r,dragPreviewRenderer:i}=e;return Ei((function(){return n?o.createElement(Oi.Portal,null,o.createElement("div",{style:{...Di,...Ii(e)}},t.map(e=>{if(i){const t=i;return o.createElement(t,{key:e.id,...e})}return o.createElement(fi,{id:e.id,key:e.id,nodeRenderer:r,isDragPreview:!0,isOffset:e.level>1})}))):null}))})));var Mi=n(27947),xi=n(77400);const Ni=o.forwardRef((e,t)=>{const n=(0,o.useRef)(null);return e.connectDropTarget(n),(0,o.useImperativeHandle)(t,()=>({getNode:()=>(0,E.ensureNotNull)(n.current)}),[]),o.createElement("div",{ref:n,style:{height:"100%",width:"100%"}})}),Pi=Ro("node",{hover:(e,t,n)=>{if(!n)return;const r=t.getClientOffset();if(null===r)return;const o=e.getOrderedNodes();if(0===o.length)return;const i=n.getNode().getBoundingClientRect(),s=e.getContainerElement().getBoundingClientRect();if("first"===e.type){const t={top:i.top-s.top+i.height,left:i.left-s.left,bottom:i.top-s.top+i.height,right:i.left-s.left+i.width,height:0,width:i.width};e.processDropTarget(o[0],"before",!1,t,!1)}if("last"===e.type){const t=r.x-i.left<48,n=o[o.length-1],a=t&&2===n.level?(0,E.ensureDefined)(o.find(e=>e.id===n.parentId)):n,c={top:i.top-s.top,left:i.left-s.left,bottom:i.top-s.top,right:i.left-s.left+i.width,height:i.height,width:i.width};e.processDropTarget(a,"after",t,c,!1)}}},e=>({connectDropTarget:e.dropTarget()}))(Ni),Ai=o.createContext({isOver:!1,transform:void 0});var Li=n(70294);function Ri(e){const{dropType:t,boundBox:n}=e,{top:r,bottom:o,left:i}=(0,E.ensureDefined)(n);return[i,"before"===t||"inside"===t?r:o]}const ji=Ci((function(e){return{isDragging:e.isDragging()}}))((0,U.connect)((function(e){const{boundBox:t,dropType:n,node:r}=hr(e);return{boundBox:t,dropType:n,level:r?r.level:void 0}}),null,null,{context:ai})((function(e){const{dropType:t,boundBox:n,isDragging:r,level:i,transform:s=Ri}=e;return Ei((function(){if(!r||!t||!n)return null;const a={[Li.dropTarget]:"inside"!==t,[Li.dropTargetInside]:"inside"===t},{width:c,height:l}=n,[u,d]=s(e),h=`translate(${u}px, ${d}px)`;return o.createElement("div",{className:I(a),style:{position:"absolute",transform:h,WebkitTransform:h,top:0,left:2===i?"46px":0,width:2===i?c-46+"px":c,height:"inside"===t?l:"2px"}})}))}))),Bi=o.forwardRef((e,t)=>{const n=(0,o.useContext)(Ai);return o.createElement("div",{...e,ref:t},e.children,n.isOver&&o.createElement(ji,{transform:n.transform}))});var Fi=n(76553),Hi=n(18343);const zi=38+$o.Modifiers.Shift,Ui=40+$o.Modifiers.Shift;const Gi=o.forwardRef((function(e,t){ +const{navigationKeys:n,renderList:r,stopMultiSelect:i,startMultiSelect:s,isMultiSelecting:a,nodeRenderer:c,dragPreviewRenderer:l,className:u,connectDropTarget:d,readOnly:h,onClick:f,dropLayerTransform:p,setFocusedNode:g,scrollToId:v,rowHeight:y,onMultiSelectPrevious:m,onMultiSelectNext:b,onMoveCursorToNext:S,onMoveCursorToPrevious:w,outerRef:T,width:_,height:C,isOver:O,processDropTarget:I}=e,k=(0,o.useContext)(P),M=(0,o.useRef)(null);(0,o.useEffect)(()=>{const e=e=>{[$o.Modifiers.Mod,$o.Modifiers.Shift].includes((0,$o.modifiersFromEvent)(e))&&s()},t=e=>{a&&![$o.Modifiers.Mod,$o.Modifiers.Shift].includes((0,$o.modifiersFromEvent)(e))&&i()};return document.addEventListener("keydown",e),document.addEventListener("keyup",t),document.addEventListener("mousemove",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t),document.removeEventListener("mousemove",t)}},[a]),function(e){(0,o.useEffect)(()=>{if(Bo.isEdge){let t=null;const n=(0,E.ensureNotNull)(e.current),r=e=>{if(e.target instanceof Element){const n=(0,E.ensureNotNull)(e.target.closest("[draggable]"));n instanceof HTMLElement&&(n.style.opacity="0",t=requestAnimationFrame(()=>n.style.opacity="1"))}};return n.addEventListener("dragstart",r),()=>{n.removeEventListener("dragstart",r),null!==t&&cancelAnimationFrame(t)}}return()=>{}},[])}(M);const x=(0,o.useCallback)(()=>(0,E.ensureNotNull)(W.current),[]),N=(0,o.useCallback)(()=>r,[r]),A=(0,o.useMemo)(()=>{const e=h?fi:hi,t=[];let n;t.push({type:"padding",node:o.createElement(Pi,{type:"first",key:"padding-top",getContainerElement:x,getOrderedNodes:N,processDropTarget:I})});for(let i=0;i0,nodeRenderer:c,readOnly:h,onClick:f,isOffset:s.level>1,getContainerElement:x})})}return t.push({type:"padding",node:o.createElement(Pi,{type:"last",key:"padding-bottom",getContainerElement:x,getOrderedNodes:N,processDropTarget:I})}),t},[r]),L=(0,o.useRef)([]);L.current=A;const R=(0,o.useCallback)(e=>{let{style:t}=e;const{index:n}=e;return n===L.current.length-1&&(t={...t,bottom:0,minHeight:t.height},delete t.height),o.createElement("div",{style:t},L.current[n].node)},[]),j=(0,o.useCallback)(e=>{const t=L.current[e];return"padding"===t.type?6:"function"==typeof y?y(e,t):y},[y]),B=(0,o.useCallback)(e=>(0,E.ensure)(L.current[e].node.key),[]),F=(0,o.useMemo)(()=>null===v?{index:-1}:{index:L.current.findIndex(e=>e.node.key===v.id)},[v]);d(M);const[H,z,U,G]=(0,xi.useOverlayScroll)(),V=(0,o.useRef)(null);(0,o.useEffect)(()=>(0,E.ensureNotNull)(V.current).resetAfterIndex(0,!0),[A]),(0,o.useEffect)(()=>(0,E.ensureNotNull)(V.current).scrollToItem(F.index),[F]);const W=(0,o.useRef)(null),K=(0,o.useMemo)(()=>({isOver:O,transform:p}),[O,p]),Y=(0,o.useRef)(null),q=(0,o.useRef)({startScroll(e){ +const t=()=>{null!==U.current&&(Y.current=requestAnimationFrame(t),U.current.scrollBy({top:e}))};this.stopScroll(),t()},stopScroll(){null!==Y.current&&(cancelAnimationFrame(Y.current),Y.current=null)},getListElement:()=>U.current});return(0,o.useImperativeHandle)(t,()=>q.current,[]),(0,o.useEffect)(()=>()=>q.current.stopScroll(),[O]),o.createElement(Ai.Provider,{value:K},o.createElement("div",{...z,className:D()(Hi.tree,u),ref:M,tabIndex:-1,onKeyDown:function(e){const t=(0,$o.hashFromEvent)(e);if(e.defaultPrevented||(0,pi.isNativeUIInteraction)(t,e.target))return;k||t!==zi||(e.preventDefault(),m());k||t!==Ui||(e.preventDefault(),b());(38===t||void 0!==n&&"previous"===n[t])&&(e.preventDefault(),w());(40===t||void 0!==n&&"next"===n[t])&&(e.preventDefault(),S());if((8===t||46===t)&&k){const{viewModel:e}=k,t=e.selection(),n=t.selected();if(1!==n.length)return;const r=e.getNextNodeIdAfterRemove(n[0]);if(null===r)return;e.onChange().subscribe(null,()=>{if(t.selected().length)return;const n=e.entity(r);n&&(t.set([n]),g(r))},!0)}}},o.createElement(Mi.OverlayScrollContainer,{...H,className:Hi.overlayScrollWrap}),o.createElement(jo.VariableSizeList,{ref:function(e){V.current=e},className:Hi.listContainer,width:_,height:C,itemCount:A.length,itemSize:j,children:R,itemKey:B,outerRef:function(e){U.current=e,T&&T(e)},innerRef:function(e){W.current=e},innerElementType:Bi,onItemsRendered:function(){G()},overscanCount:20,direction:(0,Fi.isRtl)()?"rtl":"ltr"}),o.createElement(ki,{dragPreviewRenderer:l,nodeRenderer:c})))})),Vi=Ro("node",{drop:(e,t,n)=>{("touch"===e.drag||Bo.isFF)&&n.stopScroll(),t.getItem().dropSelection()},hover:(e,t,n)=>{if("touch"!==e.drag&&!Bo.isFF)return;const r=t.getClientOffset();if(null===r)return;const o=n.getListElement();if(null===o)return;const i=o.getBoundingClientRect();((t,r,o)=>{const i=Math.abs(t-o),s=Math.abs(t-r);if(s>40&&i>40||i<=40&&s<=40)return void n.stopScroll();var a,c,l,u;a=s>20&&s<=40,l=i<=20,u=s<=20,(c=i>20&&i<=40)||a?"touch"===e.drag?n.startScroll(c?-5:5):n.startScroll(c?-2:2):(l||u)&&("touch"===e.drag?n.startScroll(l?-10:10):n.startScroll(l?-5:5))})(r.y,i.bottom,i.top)}},(e,t)=>({connectDropTarget:e.dropTarget(),isOver:t.isOver()}))(Gi);const Wi=(0,U.connect)((function(e){return{renderList:Dr(e),orderedNodes:Er(e),isMultiSelecting:_r(e),selectedIds:wr(e),scrollToId:pr(e)}}),(function(e){return(0,vt.bindActionCreators)({startMultiSelect:tr,stopMultiSelect:nr,setFocusedNode:rr,processDropTarget:$n,onMoveCursorToNext:qn,onMoveCursorToPrevious:Yn,onMultiSelectPrevious:Xn,onMultiSelectNext:Zn},e)}),null,{context:ai})(Vi),Ki={delayTouchStart:100};function Yi(e){const{canBeAddedToSelection:t,initState:n,onSelect:r,canMove:i,onDrop:s,onMove:a,nodes:c,selectedIds:l,onKeyboardSelect:u,saga:d,lastFocusedNodeObject:h,lastSyncTimestampRef:f,scrollToId:p,...g}=e,[v,y]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const e=(0,z.default)();y(function(e){const t=(0,vt.applyMiddleware)(e);return(0,vt.createStore)(Kr,t)}(e));const o=e.run(zr,{initState:n,onKeyboardSelect:u,saga:d,canMove:i,onMove:a,onDrop:s, +onSelect:r,canBeAddedToSelection:t});return()=>o.cancel()},[]),(0,o.useEffect)(()=>(null!==v&&c&&(f&&(f.current=performance.now()),v.dispatch((e=>({type:On,nodes:e}))(c))),()=>{}),[v,c]),(0,o.useEffect)(()=>{null!==v&&l&&v.dispatch(Qn(l))},[v,l]),(0,o.useEffect)(()=>{null!==v&&(null==h?void 0:h.id)&&v.dispatch(rr(h.id))},[v,h]),null===v?null:o.createElement(qi,{store:v,scrollToId:p,...g})}const qi=o.memo((function(e){const{store:t,scrollToId:n,...r}=e,i="touch"===e.drag?Pe:me;return(0,o.useEffect)(()=>{var e;t.dispatch(or(null!==(e=null==n?void 0:n.id)&&void 0!==e?e:null))},[n]),o.createElement(Sn,{backend:i,options:Ki},o.createElement(U.Provider,{store:t,context:ai},o.createElement(Wi,{...r})))}));function Xi(e,t){(0,F.trackEvent)("Object Tree",e,t)}function Zi(e){return e.length>1?"Multi select":e[0].gaLabel()}function $i(e){return(0,z.eventChannel)(t=>{const n={};return e.onChange().subscribe(n,()=>t({type:Dn})),e.onGroupCreated().subscribe(n,e=>t(sr(e,!0))),e.selection().onChange().subscribe(n,e=>t(Qn(e))),()=>{e.onChange().unsubscribeAll(n),e.selection().onChange().unsubscribeAll(n),e.onGroupCreated().unsubscribeAll(n)}},z.buffers.expanding())}function*Ji(){for(;;)yield(0,C.take)([Nn,xn]),Xi("Select","Arrow")}function*Qi(){for(;;){const{mode:e}=yield(0,C.take)(Un);1===e&&Xi("Multi select","Ctrl"),2===e&&Xi("Multi select","Shift")}}function*es(e){for(;;){yield(0,C.take)(Mn);const{node:t,dropType:n}=hr(yield(0,C.select)());if(t){const r=Cr(yield(0,C.select)()),o=r.map(t=>(0,E.ensureNotNull)(e.entity(t.id)));let i="Drag";1===t.level&&"inside"!==n&&r.some(e=>2===e.level)?i="From the group":2!==t.level&&"inside"!==n||!r.some(e=>1===e.level)?1===r.length&&r[0].parentId!==t.parentId&&(i="Existing pane"):i="To the group",Xi(i,Zi(o))}}}function*ts(e){yield(0,C.fork)(Ji),yield(0,C.fork)(Qi),yield(0,C.fork)(es,e)}function*ns(e){yield(0,C.fork)(ts,e);const t=yield(0,C.call)($i,e);Gr.logNormal("Opened object tree data source channel");try{for(;;){const e=yield(0,C.take)(t);yield(0,C.put)(e)}}finally{Gr.logNormal("Closed object tree data source channel"),t.close()}}const rs=o.createContext(null);var os=n(39197),is=n(88098),ss=n(25199);const as=O.mobiletouch?"touch":"native";function cs(e){const{viewModel:t,showHeader:n=!0,nodeRenderer:r,isDialog:i=!1}=e,s=(0,o.useRef)(null),a=function(e){const[t,n]=(0,o.useState)(e.getChartId()),r=(0,o.useRef)(t);return r.current=t,(0,o.useEffect)(()=>{return e.onChange().subscribe(null,t),()=>{e.onChange().unsubscribe(null,t)};function t(){const t=e.getChartId();r.current!==t&&n(t)}},[]),t}(t),[c,l]=(0,is.useDimensions)(),[u,d]=(0,o.useState)(null),h=(0,o.useMemo)(()=>({isTouch:O.touch,isDialog:i}),[i]);return o.createElement(rs.Provider,{value:h},o.createElement(P.Provider,{value:{viewModel:t}},o.createElement("div",{className:ss.wrap,onContextMenu:os.preventDefaultForContextMenu},n&&o.createElement(H,null),o.createElement(_(),{onMeasure:c},o.createElement("div",{className:ss.space,onClick:function(e){if(e.defaultPrevented)return;if(!(e.target instanceof Element)||null===s.current)return +;e.target===s.current&&t.selection().set([])}},null!==l&&o.createElement(Yi,{key:a,height:l.height,width:l.width,canBeAddedToSelection:function(e){const n=t.entity(e);return t.selection().canBeAddedToSelection(n)},nodeRenderer:r,initState:function(){const{nodes:e,selection:n}=t.getState();return{selectedIds:n,nodes:e}},canMove:function(e,n,r){return t.isSelectionDropable(n.id,r)},drag:as,rowHeight:ls,onSelect:function(e){const n=e.map(e=>t.entity(e)).filter(e=>null!==e);t.selection().set(n)},onDrop:function(e){e.preventDefault();const{detail:{target:n,type:r}}=e;t.insertSelection(n,r)},scrollToId:u,saga:function*(){yield(0,C.fork)(ns,t)},onKeyboardSelect:function(e){d({id:e})},outerRef:function(e){s.current=e}}))))))}function ls(e,t){switch(t.type){case"node":return 38;case"separator":return 13}}var us;!function(e){e.Svg="svg",e.Text="text"}(us||(us={}));var ds=n(81829),hs=n(59404);function fs(e){const{className:t,disabled:n,...r}=e;return o.createElement(k.Icon,{className:D()(hs.button,n&&hs.disabled,t),...r})}var ps=n(27278),gs=n(36535),vs=n(23707),ys=n(56350),ms=n(25700),bs=n(95716),Ss=n(84917);function ws(e){const{id:t}=e,n=(0,o.useContext)(P),{viewModel:r}=(0,E.ensureNotNull)(n),i=r.entity(t);return null===i?null:o.createElement(Ts,{...e,entity:i})}function Ts(e){const{id:t,isOffset:n,isDisabled:r,isSelected:i,isChildOfSelected:s,isHovered:a,parentId:c,entity:l,isExpanded:u}=e,d=(0,o.useContext)(P),{viewModel:h}=(0,E.ensureNotNull)(d),f=(0,o.useContext)(rs),{size:p}=(0,o.useContext)(ei),[g,v]=(0,o.useState)(!1),y=(0,o.useRef)(null),[b,S]=(0,o.useState)(l.title()),[w,T]=(0,o.useState)(l.isLocked()),[_,C]=(0,o.useState)(l.isVisible()),[O,D]=(0,o.useState)(l.isActualInterval()),[M,x]=(0,o.useState)(l.getDrawingSyncState()),[N,A]=(0,o.useState)(!1),[L,R]=((0,ps.useWatchedValueReadonly)({watchedValue:h.getChartLayout()}),(0,o.useState)(!1)),j=(0,o.useRef)(null);(0,o.useEffect)(()=>{const e={};l.onLockChanged().subscribe(e,()=>T(l.isLocked())),l.onVisibilityChanged().subscribe(e,()=>C(l.isVisible()));const t=l.onTitleChanged();return t&&t.subscribe(e,()=>S(l.title())),l.onIsActualIntervalChange().subscribe(e,()=>D(l.isActualInterval())),l.onSyncStateChanged().subscribe(e,()=>x(l.getDrawingSyncState())),()=>{l.onIsActualIntervalChange().unsubscribeAll(e),l.onLockChanged().unsubscribeAll(e),l.onVisibilityChanged().unsubscribeAll(e),l.onSyncStateChanged().unsubscribeAll(e),t&&t.unsubscribeAll(e),j.current&&clearTimeout(j.current)}},[l]),(0,o.useEffect)(()=>{g&&y.current&&(y.current.focus(),y.current.setSelectionRange(0,b.length))},[g]),(0,o.useEffect)(()=>{const e={};return h.hoveredObjectChanged().subscribe(e,X),()=>{h.hoveredObjectChanged().unsubscribeAll(e)}},[u]),(0,o.useEffect)(()=>{h.setHoveredObject(a?t:null)},[a]),(0,o.useEffect)(()=>{!i&&j.current&&(clearTimeout(j.current),j.current=null),v(!1)},[i]);const B=l.getIcon(),F={};if(c){const e=h.entity(c);e&&(F["data-parent-name"]=e.title()),F["data-type"]=l.hasChildren()?"group":"data-source"} +const H=l.title(),z=a||N,U=g&&i,G=!!f&&f.isTouch,V=!!f&&f.isDialog,W=O&&_?ms:bs,K=l.hasChildren()?(0,m.t)("Group is hidden on current interval"):(0,m.t)("Drawing is hidden on current interval");return o.createElement("span",{className:I(Ss.wrap,r&&Ss.disabled,i&&Ss.selected,n&&Ss.offset,s&&Ss.childOfSelected,N&&!r&&!i&&!s&&Ss.hover,V&&!r&&!i&&!s&&Ss.dialog),onMouseDown:function(e){g&&!(0,E.ensureNotNull)(y.current).contains(e.target)&&R(!0)},onClick:1===p?Y:function(e){if(e.defaultPrevented)return;if(0!==(0,$o.modifiersFromEvent)(e))return;if(j.current)e.preventDefault(),clearTimeout(j.current),j.current=null,h.openProperties(l),R(!1);else{const e=h.selection().selected();j.current=setTimeout(()=>{j.current=null,i&&!L&&1===e.length&&h.rename(l,()=>v(!0)),R(!1)},500)}},onContextMenu:G?void 0:Y},!U&&o.createElement(o.Fragment,null,B&&B.type===us.Svg&&o.createElement(k.Icon,{icon:B.content||"",className:Ss.icon}),B&&B.type===us.Text&&o.createElement("span",{className:I(Ss.icon,Ss.textIcon)},B.content),!1,o.createElement("span",{className:I(Ss.title,h.isMain(l)&&Ss.main,(!l.isVisible()||!O)&&Ss.disabled),...F},H),o.createElement("span",{className:Ss.rightButtons},l.canBeLocked()&&o.createElement(fs,{icon:w?vs:ys,className:I(Ss.button,(z||w)&&Ss.visible),onClick:function(e){if(e.defaultPrevented)return;e.preventDefault(),h.setIsLocked(t,!l.isLocked())},"data-role":"button","data-name":"lock","data-active":w}),o.createElement(fs,{icon:W,className:I(Ss.button,!O&&[Ss.warn,"apply-common-tooltip"],(z||!_||!O)&&Ss.visible),onClick:O?function(e){if(e.defaultPrevented)return;e.preventDefault(),h.setIsVisible(t,!l.isVisible())}:void 0,title:O?void 0:K,disabled:!O,"data-role":"button","data-name":"hide","data-active":!_}),l.canBeRemoved()&&o.createElement(fs,{icon:gs,className:I(Ss.button,(G||z)&&Ss.visible),onClick:function(e){if(e.defaultPrevented)return;e.preventDefault(),e.stopPropagation(),h.remove(t)},"data-role":"button","data-name":"remove"}))),U&&o.createElement(ds.InputControl,{value:b,onChange:function(e){S(e.currentTarget.value)},onClick:os.preventDefault,className:Ss.renameInput,onKeyDown:function(e){27===(0,$o.hashFromEvent)(e)?(e.preventDefault(),S(l.title()),v(!1)):13===(0,$o.hashFromEvent)(e)&&(e.preventDefault(),q())},reference:function(e){y.current=e},onBlur:q,onDragStart:function(e){e.preventDefault(),e.stopPropagation()},draggable:!0,stretch:!0}));function Y(e){e.defaultPrevented||g||!l.fullyConstructed()||(e.preventDefault(),e.persist(),h.openContextMenu(l,()=>v(!0),e))}function q(){""!==b&&l.setName(b),S(l.title()),v(!1)}function X(e){if(l.hasChildren()&&!u){const t=null!==e&&l.childrenIds().has(e);A(t)}else A(t===e)}}var _s=n(47937);class Cs extends o.PureComponent{constructor(e){super(e),this._isMounted=!1,this._dialogRef=o.createRef(),this._renderChildren=e=>o.createElement(Os,{isSmallTablet:e,viewModel:this.props.viewModel}),this._handleMediaChange=()=>{this.state.showDrawer&&!window.matchMedia(S.DialogBreakpoints.TabletSmall).matches&&this.setState({showDrawer:!1})},this._onManageDrawings=e=>{ +throw new Error("not supported")},this._closeDrawer=()=>{this.setState({showDrawer:!1})},this._handleContextMenuOpened=e=>{this.setState({isContextMenuOpened:e})},this._matchMedia=window.matchMedia(S.DialogBreakpoints.TabletSmall),this.state={showDrawer:!1,showDialog:!1,isContextMenuOpened:!1}}componentDidMount(){this._isMounted=!0,this._matchMedia.addListener(this._handleMediaChange),this.props.viewModel.isContextMenuOpened().subscribe(this._handleContextMenuOpened)}componentWillUnmount(){this._isMounted=!1,this._matchMedia.removeListener(this._handleMediaChange),this.props.viewModel.isContextMenuOpened().unsubscribe(this._handleContextMenuOpened)}render(){return o.createElement(o.Fragment,null,o.createElement(y.MatchMedia,{rule:S.DialogBreakpoints.TabletSmall},e=>o.createElement(b.AdaptivePopupDialog,{additionalElementPos:"after",additionalHeaderElement:!1,className:_s.dialog,dataName:"object-tree-dialog",isOpened:!0,onClickOutside:this.state.showDialog||e||this.state.isContextMenuOpened?()=>{}:this.props.onClose,onClose:this.props.onClose,ref:this._dialogRef,render:()=>this._renderChildren(e),title:(0,m.t)("Object tree"),showSeparator:!0})),o.createElement(v.DrawerManager,null,this.state.showDrawer&&o.createElement(g.Drawer,{onClose:this._closeDrawer,position:"Bottom"},o.createElement(w.ManageDrawings,{onClose:this._closeDrawer,chartWidget:this.props.activeChartWidget,isMobile:!0}))))}}function Os(e){const{isSmallTablet:t,viewModel:n}=e,r=(0,o.useMemo)(()=>({size:t?1:0,smallSizeTreeNodeAction:0}),[t]);return o.createElement(ei.Provider,{value:r},o.createElement(cs,{nodeRenderer:ws,showHeader:!1,viewModel:n,isDialog:!0}))}var Es=n(86573),Is=n(468),Ds=n(5729),ks=n.n(Ds);var Ms=n(9062);function xs(e,t){return`${e}:${t}`}function Ns(e){const t=e.split(":");return{persistentId:t[0],instanceId:t[1]}}class Ps{constructor(e){this._onChange=new(ks()),this._recalculate=()=>{const e=this._groupModel.groups().map(e=>xs(e.id,e.instanceId())),t=this._selectionApi.allSources();this._selected=this._selected.filter(n=>e.includes(n)||t.includes(n)),this._onChange.fire(this._selected)},this._model=e,this._selectionApi=new Ms.SelectionApi(this._model),this._groupModel=this._model.lineToolsGroupModel(),this._selected=this._getSelectedIds(),this._selectionApi.onChanged().subscribe(this,()=>{this._selected=this._getSelectedIds(),this._onChange.fire(this._selected)}),this._groupModel.onChanged().subscribe(this,this._recalculate)}destroy(){this._selectionApi.onChanged().unsubscribeAll(this),this._groupModel.onChanged().unsubscribeAll(this)}set(e){const t=[];let n=e.map(e=>e.id());for(const r of e)if(r.hasChildren()){const e=r.childrenIds();t.push(...Array.from(e.values())),n=n.filter(t=>!e.has(t))}else t.push(r.id());this._selectionApi.set(t.map(e=>Ns(e).persistentId)),this._selected=n,this._onChange.fire(this._selected)}canBeAddedToSelection(e){return null!==e&&e.canBeAddedToSelection()}onChange(){return this._onChange}selected(){return this._selected}_getSelectedIds(){ +return this._selectionApi.allSources().map(e=>this._model.dataSourceForId(e)).filter(Ur.notNull).filter(e=>e.showInObjectTree()).map(e=>xs(e.id(),e.instanceId()))}}class As{constructor(e,t){this._controller=e,this._facade=t,this._groupModel=e.model().lineToolsGroupModel()}buildTree(){const e={};for(const t of this._controller.model().panes()){const n=t.sourcesByGroup().all().filter(e=>e.showInObjectTree());e[t.id()]=Ls(t.id(),0);for(const n of this._groupModel.groups()){const r=xs(n.id,n.instanceId()),o=(0,E.ensureNotNull)(this._facade.getObjectById(r));if(o.pane()===t){const r=[...n.lineTools()].sort((e,t)=>e.zorder()>t.zorder()?-1:1).map(e=>xs(e.id(),e.instanceId()));e[o.id()]=Ls(o.id(),1,t.id(),r),e[t.id()].children.push(o.id());for(const t of r)e[t]=Ls(t,2,o.id())}}for(const r of n){const n=xs(r.id(),r.instanceId());e[n]||(e[n]=Ls(n,1,t.id()),e[t.id()].children.push(n))}e[t.id()].children.sort((e,t)=>{const n=(0,E.ensureNotNull)(this._facade.getObjectById(e)),r=(0,E.ensureNotNull)(this._facade.getObjectById(t));return(0,E.ensureNotNull)(r.zOrder())-(0,E.ensureNotNull)(n.zOrder())})}return this._facade.invalidateCache(new Set(Object.keys(e))),e}}function Ls(e,t,n,r=[]){return{id:e,level:t,parentId:n,children:r}}var Rs=n(90963),js=n(67945),Bs=n(17e3),Fs=n(46015),Hs=n(95975),zs=n(21209),Us=n(15521),Gs=n(82462),Vs=n(33434),Ws=n(61619),Ks=n(85103);const Ys=new Rs.TranslatedString("show {title}",(0,m.t)("show {title}")),qs=new Rs.TranslatedString("hide {title}",(0,m.t)("hide {title}")),Xs=new Rs.TranslatedString("lock {title}",(0,m.t)("lock {title}")),Zs=new Rs.TranslatedString("unlock {title}",(0,m.t)("unlock {title}")),$s=new Rs.TranslatedString("change {sourceTitle} title to {newSourceTitle}",(0,m.t)("change {sourceTitle} title to {newSourceTitle}")),Js=new Rs.TranslatedString("insert source(s) after",(0,m.t)("insert source(s) after"));function Qs(e,t){return t.every(t=>!(t.pane()!==e&&!t.allowsMovingbetweenPanes()))}function ea(e){return e instanceof Fs.DataSource&&e.showInObjectTree()?xs(e.id(),e.instanceId()):null}function ta(e){return new Rs.TranslatedString(e.name(),e.title())}const na=new(ks());class ra{constructor(e,t){this._syncStateChanged=new(ks()),this._lineToolsAffectChartInvalidation=new Ks.FeatureToggleWatchedValue("do_not_invalidate_chart_on_changing_line_tools",!1),this._updateSyncState=()=>{this._syncStateChanged.fire((0,E.ensureNotNull)(this.getDrawingSyncState()))},this._undoModel=e,this._dataSource=t,(0,js.isLineTool)(this._dataSource)&&this._dataSource.linkKey().subscribe(this._updateSyncState);const n=this._undoModel.lineBeingCreated();null!==n&&n===t&&n.isSynchronizable()&&Us.isToolCreatingNow.subscribe(this._updateSyncState)}destroy(){(0,js.isLineTool)(this._dataSource)&&this._dataSource.linkKey().unsubscribe(this._updateSyncState),Us.isToolCreatingNow.unsubscribe(this._updateSyncState)}id(){return xs(this._dataSource.id(),this._dataSource.instanceId())}title(){const e=this._dataSource;return(0,js.isLineTool)(e)?e.properties().title.value()||e.translatedType():(0, +Hs.isSeries)(e)&&this._undoModel.mainSeries()===e?e.symbolTitle(void 0,void 0,(0,Bo.onWidget)()?"exchange":"listed_exchange"):e.title()}gaLabel(){return(0,Bs.isStudy)(this._dataSource)?"Study":(0,js.isLineTool)(this._dataSource)?"Drawing":"Symbol"}canBeLocked(){return(0,js.isLineTool)(this._dataSource)&&this._dataSource.userEditEnabled()}canBeRemoved(){return this._undoModel.mainSeries()!==this._dataSource&&this._dataSource.isUserDeletable()}canBeHidden(){return this._dataSource.canBeHidden()}canBeRenamed(){return(0,js.isLineTool)(this._dataSource)}fullyConstructed(){return this._undoModel.lineBeingCreated()!==this._dataSource}isVisible(){return this._dataSource.properties().visible.value()}isActualInterval(){return!(0,js.isLineTool)(this._dataSource)&&!(0,Bs.isStudy)(this._dataSource)||this._dataSource.isActualInterval()}onIsActualIntervalChange(){return(0,js.isLineTool)(this._dataSource)||(0,Bs.isStudy)(this._dataSource)?this._dataSource.onIsActualIntervalChange():na}isLocked(){return!!(0,js.isLineTool)(this._dataSource)&&this._dataSource.properties().frozen.value()}onVisibilityChanged(){return this._dataSource.properties().visible.listeners()}onLockChanged(){return(0,js.isLineTool)(this._dataSource)?this._dataSource.properties().frozen.listeners():na}getIcon(){const e=u,t=this._dataSource.getSourceIcon(),n=(0,Bs.isStudyStrategy)(this._dataSource);let r={type:us.Svg,content:n?Gs:Vs};if(e&&t)if("loadSvg"===t.type){const[n,o]=t.svgId.split("."),i="linetool"===n?e.linetool[o]:e.series[Number(o)];r={type:us.Svg,content:i||Vs}}else"text"===t.type&&(r={type:us.Text,content:t.text});return r}setVisible(e){const t=(e?Ys:qs).format({title:ta(this._dataSource)});this._undoModel.setProperty(this._dataSource.properties().visible,e,t)}setLocked(e){if((0,js.isLineTool)(this._dataSource)){const t=(e?Xs:Zs).format({title:ta(this._dataSource)});this._undoModel.setProperty(this._dataSource.properties().frozen,e,t)}}setName(e){if((0,js.isLineTool)(this._dataSource)){const t=$s.format({sourceTitle:this._dataSource.properties().title.value()||ta(this._dataSource),newSourceTitle:e});this._undoModel.setProperty(this._dataSource.properties().title,e,t,this._lineToolsAffectChartInvalidation.value())}}isCopiable(){return this._dataSource.copiable()}isClonable(){return this._dataSource.cloneable()}zOrder(){return this._dataSource.zorder()}remove(){this._undoModel.removeSource(this._dataSource,!1)}canBeAddedToSelection(){return this._undoModel.selection().canBeAddedToSelection(this._dataSource)}setAsSelection(){this._undoModel.model().selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection(this._dataSource)})}addToSelection(){this._undoModel.model().selectionMacro(e=>{e.addSourceToSelection(this._dataSource)})}addSourcesToArray(e){return e.push(this._dataSource),e}insertSourcesBeforeThis(e){this._insertSources(e,e=>this._undoModel.insertBefore(e,this._dataSource))}insertSourcesAfterThis(e){this._insertSources(e,e=>this._undoModel.insertAfter(e,this._dataSource))}childrenIds(){return new Set}hasChildren(){return!1}pane(){return(0, +E.ensureNotNull)(this._undoModel.model().paneForSource(this._dataSource))}allowsMovingbetweenPanes(){return!(0,js.isLineTool)(this._dataSource)}canBeAddedToGroup(){return(0,js.isLineTool)(this._dataSource)}canInsertBeforeThis(e){return this._canInsertBeforeOrAfter(e)}canInsertAfterThis(e){return this._canInsertBeforeOrAfter(e)}detachFromParent(){if((0,js.isLineTool)(this._dataSource)){const e=this._undoModel.model(),t=this._undoModel.lineToolsGroupController(),n=e.lineToolsGroupModel().groupForLineTool(this._dataSource);null!==n&&t.excludeLineToolFromGroup(n,this._dataSource)}}onTitleChanged(){const e=this._dataSource.properties().title;return e?e.listeners():void 0}canBeSyncedInLayout(){return(0,js.isLineTool)(this._dataSource)&&this._dataSource.isSynchronizable()}onSyncStateChanged(){return this._syncStateChanged}setDrawingSyncState(e){if(!this.canBeSyncedInLayout()||!this.fullyConstructed())return;const t=this._dataSource;switch(e){case 0:if(null===t.linkKey().value())return;this._undoModel.unlinkLines([t]);break;case 1:if(null!==t.linkKey().value())return;this._undoModel.copyToOtherCharts([t])}}getDrawingSyncState(){return this.canBeSyncedInLayout()?this.fullyConstructed()&&null!==this._dataSource.linkKey().value()?1:0:null}doNotAffectChartInvalidation(){return(0,js.isLineTool)(this._dataSource)&&this._lineToolsAffectChartInvalidation.value()}_canInsertBeforeOrAfter(e){const t=this._undoModel.model();if(!Qs(this.pane(),e))return!1;if((0,js.isLineTool)(this._dataSource)){if(null!==t.lineToolsGroupModel().groupForLineTool(this._dataSource)&&e.some(e=>!e.canBeAddedToGroup()))return!1}return!0}_insertSources(e,t){const n=this._undoModel.model(),r=this._undoModel.lineToolsGroupController();this._undoModel.beginUndoMacro(Js);const o=()=>{e.forEach(e=>e.detachFromParent())},i=e.reduce((e,t)=>t.addSourcesToArray(e),[]);if((0,js.isLineTool)(this._dataSource)){const t=n.lineToolsGroupModel().groupForLineTool(this._dataSource);null!==t?((0,E.assert)(!e.some(e=>e.hasChildren())),i.forEach(e=>{(0,js.isLineTool)(e)&&(t.containsLineTool(e)||r.addLineToolToGroup(t,e))})):o()}else o();t(i),this._undoModel.endUndoMacro()}}class oa{constructor(e,t){this._onTitleChanged=new(ks()),this._onVisibilityChanged=new(ks()),this._onLockChanged=new(ks()),this._onIsActualIntervalChanged=new(ks()),this._syncStateChanged=new(ks()),this._linkKeyChangedBound=this._linkKeyChanged.bind(this),this._lineToolsAffectChartInvalidation=new Ks.FeatureToggleWatchedValue("do_not_invalidate_chart_on_changing_line_tools",!1),this._undoModel=e,this._group=t,this._lineTools=t.lineTools(),this._paneId=(0,E.ensureNotNull)(e.model().paneForSource(this._lineTools[0])).id();const n=()=>{this._lineTools.forEach(e=>{e.properties().visible.listeners().subscribe(this,()=>this._onVisibilityChanged.fire()),e.properties().frozen.listeners().subscribe(this,()=>this._onLockChanged.fire()),e.onIsActualIntervalChange().subscribe(this,()=>this._onIsActualIntervalChanged.fire()),e.linkKey().subscribe(this._linkKeyChangedBound)})};this._group.onChanged().subscribe(this,e=>{ +this._unsubscribeFromAllLineTools(),this._lineTools=this._group.lineTools(),n(),e.lockedChanged&&this._onLockChanged.fire(),e.visibilityChanged&&this._onVisibilityChanged.fire(),e.titleChanged&&this._onTitleChanged.fire(),e.isActualIntervalChanged&&this._onIsActualIntervalChanged.fire();const t=this.getDrawingSyncState();null!==t&&this._syncStateChanged.fire(t)}),n(),this._lastActualZOrder=this.zOrder(),this._lastIsVisible=this.isVisible(),this._lastIsActualInterval=this.isActualInterval(),this._lastIsLocked=this.isLocked()}destroy(){this._unsubscribeFromAllLineTools(),this._group.onChanged().unsubscribeAll(this)}id(){return xs(this._group.id,this._group.instanceId())}title(){return this._group.name()}gaLabel(){return"Group"}getIcon(){return{type:us.Svg,content:Ws}}canBeRemoved(){return!0}canBeHidden(){return!0}canBeLocked(){return!0}canBeRenamed(){return!0}fullyConstructed(){return!0}isVisible(){return this._group.lineTools().length>0&&(this._lastIsVisible="Invisible"!==this._group.visibility()),this._lastIsVisible}isActualInterval(){return this._group.lineTools().length>0&&(this._lastIsActualInterval=this._group.lineTools().some(e=>e.isActualInterval())),this._lastIsActualInterval}onIsActualIntervalChange(){return this._onIsActualIntervalChanged}isLocked(){return this._group.lineTools().length>0&&(this._lastIsLocked="Locked"===this._group.locked()),this._lastIsLocked}onTitleChanged(){return this._onTitleChanged}onVisibilityChanged(){return this._onVisibilityChanged}onLockChanged(){return this._onLockChanged}setVisible(e){this._undoModel.lineToolsGroupController().setGroupVisibility(this._group,e)}setLocked(e){this._undoModel.lineToolsGroupController().setGroupLock(this._group,e)}setName(e){this._undoModel.lineToolsGroupController().setGroupName(this._group,e)}isCopiable(){return!1}isClonable(){return!1}zOrder(){return this._group.lineTools().length>0&&(this._lastActualZOrder=this._group.lineTools()[0].zorder()),this._lastActualZOrder}remove(){this._undoModel.lineToolsGroupController().removeGroup(this._group)}canBeAddedToSelection(){const e=this._undoModel.model();return this._lineTools.every(t=>e.selection().canBeAddedToSelection(t))}setAsSelection(){this._undoModel.model().selectionMacro(e=>{e.clearSelection(),this._lineTools.forEach(t=>e.addSourceToSelection(t))})}addToSelection(){this._undoModel.model().selectionMacro(e=>{this._lineTools.forEach(t=>e.addSourceToSelection(t))})}addSourcesToArray(e){return e.push(...this._lineTools),e}detachFromParent(){}insertSourcesBeforeThis(e){const t=this._insertBeforeTarget();this._insertSources(e,e=>this._undoModel.insertBefore(e,t))}insertSourcesAfterThis(e){const t=this._insertAfterTarget();this._insertSources(e,e=>this._undoModel.insertAfter(e,t))}childrenIds(){const e=[...this._lineTools];return e.sort((e,t)=>t.zorder()-e.zorder()),new Set(e.map(e=>xs(e.id(),e.instanceId())))}hasChildren(){return!0}pane(){return(0,E.ensureDefined)(this._undoModel.model().panes().find(e=>e.id()===this._paneId))}allowsMovingbetweenPanes(){return!1}canBeAddedToGroup(){return!1} +canInsertBeforeThis(e){return this._canInsertBeforeOrAfter(e)}canInsertAfterThis(e){return this._canInsertBeforeOrAfter(e)}canBeSyncedInLayout(){return this._lineTools.length>0&&this._lineTools[0].isSynchronizable()}onSyncStateChanged(){return this._syncStateChanged}setDrawingSyncState(e){if(this.canBeSyncedInLayout())switch(e){case 0:const e=this._lineTools.filter(e=>null!==e.linkKey().value());e.length>0&&this._undoModel.unlinkLines(e);break;case 1:const t=this._lineTools.filter(e=>null===e.linkKey().value());t.length>0&&this._undoModel.copyToOtherCharts(t)}}getDrawingSyncState(){return this.canBeSyncedInLayout()?this._lineTools.every(e=>null!==e.linkKey().value())?1:0:null}doNotAffectChartInvalidation(){return this._lineToolsAffectChartInvalidation.value()}_linkKeyChanged(){this._syncStateChanged.fire((0,E.ensureNotNull)(this.getDrawingSyncState()))}_canInsertBeforeOrAfter(e){return Qs(this.pane(),e)}_insertSources(e,t){this._undoModel.beginUndoMacro(Js);const n=e.reduce((e,t)=>t.addSourcesToArray(e),[]);e.forEach(e=>e.detachFromParent()),t(n),this._undoModel.endUndoMacro()}_insertBeforeTarget(){return(0,E.ensureNotNull)(this._lineTools.reduce((e,t)=>null===e?t:e.zorder()null===e?t:e.zorder()>t.zorder()?e:t,null))}_unsubscribeFromAllLineTools(){this._lineTools.forEach(e=>{e.properties().visible.listeners().unsubscribeAll(this),e.properties().frozen.listeners().unsubscribeAll(this),e.onIsActualIntervalChange().unsubscribeAll(this),e.linkKey().unsubscribe(this._linkKeyChangedBound)})}}class ia{constructor(e){this._hoveredObjectChanged=new(ks()),this._entitiesCache=new Map,this._undoModel=e,this._undoModel.model().hoveredSourceChanged().subscribe(this,this._onModelHoveredSourceChanged)}destroy(){for(const e of this._entitiesCache.values())null==e||e.destroy()}getObjectById(e){if(this._entitiesCache.has(e))return(0,E.ensureDefined)(this._entitiesCache.get(e));const t=this._createObjectById(e);return this._entitiesCache.set(e,t),t}invalidateCache(e){Array.from(this._entitiesCache.keys()).forEach(t=>{var n;e.has(t)||(null===(n=this._entitiesCache.get(t))||void 0===n||n.destroy(),this._entitiesCache.delete(t))})}canBeGroupped(e){if(0===e.length||1===e.length&&e[0].hasChildren())return!1;const t=[];if(e.forEach(e=>e.addSourcesToArray(t)),t.some(e=>!(0,js.isLineTool)(e)))return!1;const n=this._undoModel.model(),r=t.map(e=>n.paneForSource(e));return new Set(r).size<2}contextMenuActions(e,t,n){const r=new zs.ActionsProvider(e,n),o=[];return t.forEach(e=>e.addSourcesToArray(o)),r.contextMenuActionsForSources(o)}insertBefore(e,t){t.insertSourcesAfterThis(e)}insertAfter(e,t){t.insertSourcesBeforeThis(e)}setHoveredObject(e){const t=this._undoModel.model();if(null===e)return void t.setHoveredSource(null,null);const n=t.dataSourceForId(e);null!==n&&t.setHoveredSource(n,null)}hoveredObjectId(){return ea(this._undoModel.model().hoveredSource())}hoveredObjectChanged(){return this._hoveredObjectChanged}_onModelHoveredSourceChanged(e){ +this._hoveredObjectChanged.fire(ea(e))}_createObjectById(e){const t=Ns(e).persistentId,n=this._undoModel.model(),r=n.dataSourceForId(t);if(null!==r)return new ra(this._undoModel,r);const o=n.lineToolsGroupModel().groupForId(t);return null!==o?new oa(this._undoModel,o):null}}var sa=n(50044),aa=n(6799),ca=n(46374),la=n(32856),ua=n.n(la),da=n(65511),ha=n(26971),fa=n(62781),pa=n(89295),ga=n(4917),va=n(23353);const ya=(0,c.getLogger)("Platform.GUI.ObjectTree");const ma=new Rs.TranslatedString("move objects",(0,m.t)("move objects")),ba=new Rs.TranslatedString("lock objects",(0,m.t)("lock objects")),Sa=new Rs.TranslatedString("unlock objects",(0,m.t)("unlock objects")),wa=new Rs.TranslatedString("show objects",(0,m.t)("show objects")),Ta=new Rs.TranslatedString("hide objects",(0,m.t)("hide objects")),_a=new Rs.TranslatedString("remove objects",(0,m.t)("remove objects")),Ca=(0,m.t)("Create a group of drawings"),Oa=(0,m.t)("Rename"),Ea=(0,m.t)("Unlock"),Ia=(0,m.t)("Lock"),Da=(0,m.t)("Hide"),ka=(0,m.t)("Show"),Ma=(0,m.t)("Remove");class xa{constructor(e){this._nodes={},this._onChange=new(ks()),this._onGroupCreated=new(ks()),this._subscriptions=[],this._removeSourcesPromise=null,this._timeout=null,this._objects=[],this._options={general:!0,mainSeries:!0,mainSeriesTrade:!0,esdStudies:!0,fundamentals:!0,studies:!0,lineTools:!0,publishedCharts:!0,ordersAndPositions:!0,alerts:!1,chartEvents:!0,objectTree:!1,gotoLineTool:!0},this._isContextMenuOpened=new(ua())(!1),this._getObjectsToModify=e=>{const t=this.selection().selected();return t.find(t=>t===e)?t.map(this._ensuredEntity):[this._ensuredEntity(e)]},this._onActiveChartChanged=()=>{this._cleanup(),this._init()},this._cleanup=()=>{null!==this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this._subscriptions.forEach(e=>{e.unsubscribeAll(this)}),this._selection.destroy(),this._chart.unsubscribe(this._onActiveChartChanged),null!==this._removeSourcesPromise&&this._removeSourcesPromise.cancel(),this._facade.destroy()},this._init=()=>{this._controller=this._chart.value().model(),this._groupController=this._controller.lineToolsGroupController(),this._model=this._controller.model(),this._groupModel=this._model.lineToolsGroupModel(),this._facade=new ia(this._controller),this._subscriptions=[this._model.mainSeries().onStyleChanged(),this._model.mainSeries().dataEvents().symbolResolved(),this._model.mainSeries().onIntervalChanged(),this._model.panesCollectionChanged(),this._model.dataSourceCollectionChanged(),this._groupModel.onChanged()],this._subscriptions.forEach(e=>{e.subscribe(this,this._update)}),this._chart.subscribe(this._onActiveChartChanged),this._selection=new Ps(this._model),this._update()},this._update=()=>{null===this._timeout&&(this._timeout=setTimeout(()=>{this._recalculateTree(),this._onChange.fire(),this._timeout=null}))},this._ensuredEntity=e=>(0,E.ensureNotNull)(this._getEntityById(e)),this._chart=e,this._init()}destroy(){this._cleanup()}getState(){return{nodes:Object.values(this._nodes),selection:this._selection.selected()}}getChartId(){ +return this._chart.value().id()}insertSelection(e,t){const n=this._facade,r=this.selection().selected().map(this._ensuredEntity),[o,i]=this._normalizeTargetAndDropType(e,t);this._controller.withMacro(ma,()=>{switch(i){case"before":n.insertBefore(r,o);break;case"after":n.insertAfter(r,o)}}),this._update()}entity(e){return this._facade.getObjectById(e)}isMain(e){return Ns(e.id()).persistentId===this._controller.mainSeries().id()}selection(){return this._selection}setIsLocked(e,t){const n=this._getObjectsToModify(e),r=n.every(e=>e.doNotAffectChartInvalidation()),o=t?ba:Sa;this._controller.withMacro(o,()=>{for(const e of n)e.setLocked(t)},r),Xi("Lock",Zi(n))}setIsVisible(e,t){const n=this._getObjectsToModify(e),r=n.every(e=>e.doNotAffectChartInvalidation()),o=t?wa:Ta;this._controller.withMacro(o,()=>{for(const e of n)e.setVisible(t)},r),Xi("Hide",Zi(n))}remove(e){const t=()=>{const e=n.every(e=>e.doNotAffectChartInvalidation());this._controller.withMacro(_a,()=>{for(const e of n)e.remove()},e),Xi("Delete",Zi(n)),this._update()},n=this._getObjectsToModify(e);t()}canSelectionBeGrouped(){const e=this._getSelectedEntities();return this._facade.canBeGroupped(e)}createGroupFromSelection(){const e=this._groupController.createGroupFromSelection();Xi("Create Group");const t=xs(e.id,e.instanceId());this.selection().set([this._ensuredEntity(t)]),this._onGroupCreated.fire(t),this._update()}isSelectionDropable(e,t){const n=this.selection().selected().map(this._ensuredEntity),[r,o]=this._normalizeTargetAndDropType(e,t);switch(o){case"after":return r.canInsertAfterThis(n);case"before":return r.canInsertBeforeThis(n)}}onChange(){return this._onChange}onGroupCreated(){return this._onGroupCreated}isSelectionCloneable(){const e=this._getSelectedEntities();return e.length>0&&e.every(e=>e.isClonable())}isSelectionCopiable(){const e=this._getSelectedEntities();return e.length>0&&e.every(e=>e.isCopiable())}openProperties(e){const t=this._model.dataSourceForId(Ns(e.id()).persistentId);this.selection().set([e]),null!==t&&(this._controller.mainSeries()===t?this._chart.value().showGeneralChartProperties():((0,js.isLineTool)(t)||(0,Bs.isStudy)(t))&&this._chart.value().showChartPropertiesForSource(t))}canSelectionBeUnmerged(){const e=this._getSelectedEntities();return 1===e.length&&this.canNodeWithIdBeUnmerged(Ns(e[0].id()).persistentId)}canNodeWithIdBeUnmerged(e){const t=this._model.dataSourceForId(e);return null!==t&&(0,sa.isPriceDataSource)(t)&&this._model.isUnmergeAvailableForSource(t)}unmergeSelectionUp(){this._unmergeSelection(0)}unmergeSelectionDown(){this._unmergeSelection(1)}copySelection(){const e=this._getSelectedEntities(),t=e.map(e=>(0,E.ensureNotNull)(this._model.dataSourceForId(Ns(e.id()).persistentId)));this._chart.value().chartWidgetCollection().clipboard.uiRequestCopy(t),Xi("Copy",Zi(e))}cloneSelection(){const e=this._getSelectedEntities(),t=e.map(e=>(0,E.ensureNotNull)(this._model.dataSourceForId(Ns(e.id()).persistentId)));t.every(js.isLineTool)&&(this._controller.cloneLineTools([...t],!1),Xi("Clone",Zi(e)))}rename(e,t){ +const n=this._getObjectsToModify(e.id());1===n.length&&n.some(e=>e.canBeRenamed())&&(t(),Xi("Rename",Zi(n)))}async openContextMenu(e,t,n){var r;this._objects=this._getObjectsToModify(e.id());const o=this._facade.canBeGroupped(this._objects);let i;if(this._objects.some(e=>e.hasChildren()))i=this._getActionsForGroupItem(e,t,o);else{const e=await this._facade.contextMenuActions(this._chart.value(),this._objects,this._options);if(i=Array.from(e).filter((e,t,n)=>"separator"!==e.type||!n[t+1]||"separator"!==n[t+1].type),1===this._objects.length&&this._objects[0].canBeRenamed()){const e=i.findIndex(e=>"Copy"===e.id);i.splice(-1===e?i.length:e+1,0,this._getRenameAction(t))}if(o){const e=i.findIndex(e=>"Clone"===e.id);i.splice(-1===e?0:e,0,this._getGroupAction())}}if(i.length>0){this._chart.value().updateActions();const t=Ns(e.id()).persistentId,o=this._model.dataSourceForId(t),s=o instanceof Hs.Series,a=0!==e.childrenIds().size;let c;c=s?{menuName:"ObjectTreeContextMenu",detail:{type:"series",id:o.instanceId()}}:(0,js.isLineTool)(o)?{menuName:"ObjectTreeContextMenu",detail:{type:"shape",id:null!==(r=null==o?void 0:o.id())&&void 0!==r?r:null}}:a?{menuName:"ObjectTreeContextMenu",detail:{type:"groupOfShapes",id:t||null}}:{menuName:"ObjectTreeContextMenu",detail:{type:"study",id:(null==o?void 0:o.id())||null}},aa.ContextMenuManager.showMenu(i,n,{takeFocus:!0,returnFocus:!0},c,()=>{this._isContextMenuOpened.setValue(!1)}).then(()=>{this._isContextMenuOpened.setValue(!0)})}}setHoveredObject(e){this._facade.setHoveredObject(e)}hoveredObjectChanged(){return this._facade.hoveredObjectChanged()}getNextNodeIdAfterRemove(e){var t;const{nodes:n}=this.getState(),r=Ns(e).persistentId,o=n.find(t=>t.id===e),i=this.entity(e);if(!(o&&o.parentId&&i&&i.canBeRemoved()))return null;if((null===(t=i.pane().mainDataSource())||void 0===t?void 0:t.id())===r&&!this.canNodeWithIdBeUnmerged(r)){const e=n.filter(e=>0===e.level).map(e=>e.id),t=this._takeNextOrPrevElement(e,o.parentId);return(0,E.ensureDefined)(n.find(e=>e.id===t)).children[0]}const s=(0,E.ensureDefined)(n.find(e=>e.id===o.parentId)).children;return 1===s.length?this.getNextNodeIdAfterRemove(o.parentId):this._takeNextOrPrevElement(s,e)}isContextMenuOpened(){return this._isContextMenuOpened.readonly()}getChartLayout(){return this._chart.value().chartWidgetCollection().layout}_takeNextOrPrevElement(e,t){const n=e.indexOf(t);return e[n===e.length-1?n-1:n+1]}_getGroupAction(){return new ca.Action({actionId:"ObjectsTree.CreateGroup",label:Ca,icon:j,onExecute:()=>{this.createGroupFromSelection()}})}_getRenameAction(e){return new ca.Action({actionId:"ObjectsTree.RenameItem",label:Oa,icon:ga,onExecute:()=>{e(),Xi("Context menu rename",Zi(this._objects))}})}_getActionsForGroupItem(e,t,n){const r=[];this._objects.forEach(e=>e.addSourcesToArray(r));const o=[];1===this._objects.length&&o.unshift(this._getRenameAction(t),new ca.Separator),n&&o.unshift(this._getGroupAction(),new ca.Separator);const i=(0,zs.createSyncDrawingActions)(this._chart.value(),r.filter(js.isLineTool));return i.length&&(i.shift(), +i.push(new ca.Separator),o.push(...i)),o.push(new ca.Action({actionId:"ObjectsTree.ToggleItemLocked",label:e.isLocked()?Ea:Ia,icon:e.isLocked()?da:ha,onExecute:()=>this.setIsLocked(e.id(),!e.isLocked())}),new ca.Action({actionId:"ObjectsTree.ToggleItemVisibility",label:e.isVisible()?Da:ka,icon:e.isVisible()?fa:pa,onExecute:()=>this.setIsVisible(e.id(),!e.isVisible())}),new ca.Action({actionId:"ObjectsTree.RemoveItem",label:Ma,icon:va,onExecute:()=>this.remove(e.id()),hotkeyHash:$o.isMacKeyboard?8:46}),new ca.Separator,this._chart.value().actions().format),o}_unmergeSelection(e){const t=this._getSelectedEntities();if(1!==t.length)throw new Error("Only one object can be unmerged");const n=t[0],r=(0,E.ensureNotNull)(this._model.dataSourceForId(Ns(n.id()).persistentId));if(!(0,sa.isPriceDataSource)(r))throw new Error("Entity is not IPriceDataSource");(0===e?this._controller.unmergeSourceUp:this._controller.unmergeSourceDown).call(this._controller,r);Xi(0===e?"New pane above":"New pane below",Zi([n]))}_recalculateTree(){const e=new As(this._controller,this._facade);this._nodes=e.buildTree()}_normalizeTargetAndDropType(e,t){let n=this._ensuredEntity(e);return"inside"===t&&(t="before",n=(0,E.ensureNotNull)(this.entity([...n.childrenIds()].shift()||""))),[n,t]}_getSelectedEntities(){const{selected:e,removed:t}=this._selection.selected().reduce((e,t)=>{const n=this._getEntityById(t);return n?(e.selected.push(n),e):(e.removed.push(t),e)},{selected:[],removed:[]});return t.length&&ya.logWarn("Detected dangling sources in selection. They will be ignored: "+JSON.stringify(t)),e}_getEntityById(e){return this._facade.getObjectById(e)}}var Na=n(58738);class Pa extends Na.DialogRenderer{constructor(){super(),this._handleClose=()=>{i.unmountComponentAtNode(this._container),this._setVisibility(!1),null!==this._viewModel&&(this._viewModel.destroy(),this._viewModel=null)};const e=(0,Es.service)(Is.CHART_WIDGET_COLLECTION_SERVICE);this._activeChartWidget=e.activeChartWidget.value(),this._viewModel=new xa(e.activeChartWidget)}hide(){this._handleClose()}isVisible(){return this.visible().value()}show(){p().then(()=>{null!==this._viewModel&&(i.render(o.createElement(Cs,{onClose:this._handleClose,viewModel:this._viewModel,activeChartWidget:this._activeChartWidget}),this._container),this._setVisibility(!0))})}}},77727:(e,t,n)=>{"use strict";n.d(t,{useForceUpdate:()=>o});var r=n(67294);const o=()=>{const[,e]=(0,r.useReducer)((e,t)=>e+1,0);return e}},27278:(e,t,n)=>{"use strict";n.d(t,{useWatchedValueReadonly:()=>o});var r=n(67294);const o=(e,t=!1)=>{const n="watchedValue"in e?e.watchedValue:void 0,o="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[i,s]=(0,r.useState)(n?n.value():o);return(t?r.useLayoutEffect:r.useEffect)(()=>{if(n){s(n.value());const e=e=>s(e);return n.subscribe(e),()=>n.unsubscribe(e)}return()=>{}},[n]),i}},25659:(e,t,n)=>{"use strict";n.d(t,{Spinner:()=>s});var r=n(67294),o=n(94184),i=n(98852);n(11739);function s(e){ +const t=o(e.className,"tv-spinner","tv-spinner--shown","tv-spinner--size_"+i.spinnerSizeMap[e.size||i.DEFAULT_SIZE]);return r.createElement("div",{className:t,style:e.style,role:"progressbar"},r.createElement("div",{className:"tv-spinner__spinner-layer"},r.createElement("div",{className:"tv-spinner__background tv-spinner__width_element"}),r.createElement("div",{className:"tv-spinner__circle-clipper tv-spinner__width_element tv-spinner__circle-clipper--left"}),r.createElement("div",{className:"tv-spinner__circle-clipper tv-spinner__width_element tv-spinner__circle-clipper--right"})))}},75412:e=>{e.exports=''},78944:e=>{ +e.exports=''},6577:e=>{e.exports=''},4917:e=>{e.exports=''},60096:e=>{ +e.exports=''},61619:e=>{e.exports=''},81973:e=>{e.exports=''},25700:e=>{e.exports=''},23707:e=>{e.exports=''},79805:e=>{e.exports=''},89295:e=>{ +e.exports=''},82462:e=>{e.exports=''},33434:e=>{e.exports=''},56350:e=>{e.exports=''},95716:e=>{ +e.exports=''}}]); \ No newline at end of file diff --git a/public/static/charting_library/bundles/react.13567dea1b1173009d35.js b/public/static/charting_library/bundles/react.13567dea1b1173009d35.js new file mode 100644 index 0000000..bb0e563 --- /dev/null +++ b/public/static/charting_library/bundles/react.13567dea1b1173009d35.js @@ -0,0 +1,45 @@ +(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5514],{94184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function l(){for(var e=[],t=0;t{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,l=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,o=n?Symbol.for("react.strict_mode"):60108,u=n?Symbol.for("react.profiler"):60114,i=n?Symbol.for("react.provider"):60109,s=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,f=n?Symbol.for("react.concurrent_mode"):60111,d=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,y=n?Symbol.for("react.lazy"):60116,v=n?Symbol.for("react.block"):60121,g=n?Symbol.for("react.fundamental"):60117,b=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case f:case a:case u:case o:case p:return e;default:switch(e=e&&e.$$typeof){case s:case d:case y:case m:case i:return e;default:return t}}case l:return t}}}function S(e){return k(e)===f}t.AsyncMode=c,t.ConcurrentMode=f,t.ContextConsumer=s,t.ContextProvider=i,t.Element=r,t.ForwardRef=d,t.Fragment=a,t.Lazy=y,t.Memo=m,t.Portal=l,t.Profiler=u,t.StrictMode=o,t.Suspense=p,t.isAsyncMode=function(e){return S(e)||k(e)===c},t.isConcurrentMode=S,t.isContextConsumer=function(e){return k(e)===s},t.isContextProvider=function(e){return k(e)===i},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===d},t.isFragment=function(e){return k(e)===a},t.isLazy=function(e){return k(e)===y},t.isMemo=function(e){return k(e)===m},t.isPortal=function(e){return k(e)===l},t.isProfiler=function(e){return k(e)===u},t.isStrictMode=function(e){return k(e)===o},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===f||e===u||e===o||e===p||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===y||e.$$typeof===m||e.$$typeof===i||e.$$typeof===s||e.$$typeof===d||e.$$typeof===g||e.$$typeof===b||e.$$typeof===w||e.$$typeof===v)},t.typeOf=k},21296:(e,t,n)=>{"use strict";e.exports=n(96103)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function l(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de", +"5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,a){for(var o,u,i=l(e),s=1;s{"use strict";var r=n(50414);function l(){}function a(){}a.resetWarningCache=l,e.exports=function(){function e(e,t,n,l,a,o){if(o!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:l};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,n)=>{"use strict";var r=n(67294),l=n(27418),a=n(63840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n
, + ]} + /> + ); + case 0: + return ( + + {/*
{currentAsset.payout_range}
*/} + { + e.stopPropagation(); + if (!isFavourite) { + setFavourites([...favourites, currentAsset.tv_id]); + } else { + setFavourites( + favourites.filter( + (favourite) => favourite !== currentAsset.tv_id + ) + ); + } + }} + > + + +
, + ]} + /> + ); + + default: + return
Unhandled Column.
; + } + }; + + return ( + {}} + shouldShowWalletMsg={false} + /> + } + v1 + isBodyTransparent + selectedIndex={BodyArr.findIndex( + (asset) => qtInfo.activePair.pair === asset.pair + )} + onRowClick={(rowNumber) => { + const selectedAsset = BodyArr[rowNumber]; + addCardHandler(selectedAsset); + replaceAssetHandler(selectedAsset.pair, false); + }} + /> + ); +}; diff --git a/src/Views/BinaryOptions/Favourites/AssetTypeSelector.tsx b/src/Views/BinaryOptions/Favourites/AssetTypeSelector.tsx new file mode 100644 index 0000000..7f6a7d2 --- /dev/null +++ b/src/Views/BinaryOptions/Favourites/AssetTypeSelector.tsx @@ -0,0 +1,56 @@ +import styled from "@emotion/styled"; + +const AssetTypeSelectorStyles = styled.div` + display: flex; + width: fit-content; + overflow-y: hidden; + .toggle-tab { + margin-left: 1.4rem; + cursor: pointer; + font-size: 1.6rem; + font-weight: 400; + color: var(--text-6); + transition: 0.2s ease; + &.active { + color: var(--text-1); + } + &:hover { + color: var(--text-1); + } + } +`; + +export function AssetTypeSelector({ + assetTypes, + activeAsset, + setActiveAsset, +}: { + assetTypes: string[]; + activeAsset: string; + setActiveAsset: (activeAssetType: string) => void; +}) { + return ( + + {assetTypes.map((child, idx) => { + // if (child === "favourites") + // return ( + // setActiveAsset(child)} className="!pr-1"> + // + // + // ); + // else + return ( +
setActiveAsset(child)} + > + {child} +
+ ); + })} +
+ ); +} diff --git a/src/Views/BinaryOptions/Favourites/FavouriteAssetDD.tsx b/src/Views/BinaryOptions/Favourites/FavouriteAssetDD.tsx new file mode 100644 index 0000000..bd80814 --- /dev/null +++ b/src/Views/BinaryOptions/Favourites/FavouriteAssetDD.tsx @@ -0,0 +1,91 @@ +import styled from "@emotion/styled"; +import React, { useState } from "react"; +import V2BufferInput from "@Views/Common/v2-BufferInput"; +import { useQTinfo } from ".."; +import { getAssetTypes } from "./Utils/getAssetTypes"; +import { AssetTable } from "./AssetTable"; +import { AssetTypeSelector } from "./AssetTypeSelector"; + +const FavouriteAssetDDStyles = styled.div` + padding: 2rem; + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + height: fit-content; + gap: 1.4rem; + border-radius: 0.4rem; + + .input-full-max { + max-width: 100%; + } +`; +export const FavouriteAssetDD: React.FC<{ + className: string; + setToggle: (state) => void; +}> = ({ className, setToggle }) => { + const qtInfo = useQTinfo(); + const [searchText, setSearchText] = useState(""); + const assetTypes = getAssetTypes(qtInfo.pairs); + const [activeAsset, setActiveAsset] = useState(assetTypes[1]); + + const handleClickOutside = (e) => { + e.stopPropagation(); + setToggle(false); + }; + + return ( + <> + + setSearchText(newValue)} + value={searchText} + placeholder="Search" + className="full-width input-full-max" + isGrey + unit={ +
+ + + + +
+ } + hideSearchBar={false} + /> + setActiveAsset(newAsset)} + /> +
+ +
+
+ {/*
*/} + + ); +}; diff --git a/src/Views/BinaryOptions/Favourites/Favourites.tsx b/src/Views/BinaryOptions/Favourites/Favourites.tsx new file mode 100644 index 0000000..223e360 --- /dev/null +++ b/src/Views/BinaryOptions/Favourites/Favourites.tsx @@ -0,0 +1,216 @@ +import { IconButton, Popover, Skeleton } from '@mui/material'; +import { useState } from 'react'; +import Background from './style'; +import { useAtom, useAtomValue } from 'jotai'; +import { + activeAssetStateAtom, + DisplayAssetsAtom, + IMarket, + useQTinfo, +} from '..'; +import { FavouriteAssetDD } from './FavouriteAssetDD'; +import { CloseOutlined } from '@mui/icons-material'; +import { useFavouritesFns } from '../Hooks/useFavouritesFns'; +import { marketPriceAtom } from 'src/TradingView/useDataFeed'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { useActivePoolObj } from '../PGDrawer/PoolDropDown'; + +export default function Favourites({ className }: { className?: string }) { + const [toggle, setToggle] = useState(false); + const [assets] = useAtom(DisplayAssetsAtom); + const [anchor, setAnchor] = useState(null); + const qtInfo = useQTinfo(); + const activeAsset = qtInfo.activePair; + const { activePoolObj } = useActivePoolObj(); + + const getFavourtiesObjs = () => { + return assets + .map((singleMarket) => { + const foundMarket = qtInfo.pairs.find( + (pair) => pair.pair === singleMarket + ); + if (foundMarket) { + return foundMarket; + } else return null; + }) + .filter((singleMarket) => singleMarket); + }; + + if (!assets) { + return ; + } + + const filteredAsset = assets.filter((singleMarket) => + qtInfo.pairs.find((m) => m.pair === singleMarket) + ); + const { replaceAssetHandler } = useFavouritesFns(); + return ( + +
+
+ { + if (anchor) setAnchor(null); + else { + setAnchor(e.currentTarget); + } + }} + > + + + + + + + setAnchor(null)} + > + + + +
+ {assets.length ? ( + getFavourtiesObjs().map((singleMarket, index) => ( + { + // if next exists, make next the selected. + if (index + 1 < filteredAsset.length) { + replaceAssetHandler(filteredAsset[index + 1], false); + } + + // if prev exists make prev the selected. + else if (index > 0) { + replaceAssetHandler(filteredAsset[index - 1], false); + } + // make default asset selected + else replaceAssetHandler(assets[0], false); + }} + /> + )) + ) : ( + + )} +
+
+
+
+ ); +} + +function FavouriteCard({ + data, + onCross, + isPrevActive, + id, +}: { + data: IMarket; + onCross: () => void; + isPrevActive: boolean; + id: number; +}) { + const qtInfo = useQTinfo(); + const activeAsset = qtInfo.activePair; + const isActive = data.tv_id === activeAsset.tv_id; + const { deleteCardHandler, replaceAssetHandler } = useFavouritesFns(); + const [marketPrice] = useAtom(marketPriceAtom); + const marketPriceObj = marketPrice?.[data.tv_id]; + const price = marketPrice?.[data.tv_id]?.length + ? marketPriceObj[marketPrice?.[data.tv_id].length - 1]?.close + : null; + const { routerPermission } = useAtomValue(activeAssetStateAtom); + const isAssetActive = + routerPermission && + routerPermission[data.pools[0].options_contracts.current]; + + return ( + + ); +} diff --git a/src/Views/BinaryOptions/Favourites/LastDayChange.tsx b/src/Views/BinaryOptions/Favourites/LastDayChange.tsx new file mode 100644 index 0000000..452a2ea --- /dev/null +++ b/src/Views/BinaryOptions/Favourites/LastDayChange.tsx @@ -0,0 +1,21 @@ +import { useAtom } from "jotai"; +import { + get24hChange, + market2dayChangeAtom, + marketPriceAtom, +} from "src/TradingView/useDataFeed"; +import { Stats } from "../Components/BinaryInfo"; + +export const LastDayChange = ({ currentAsset }) => { + const [marketPrice] = useAtom(market2dayChangeAtom); + const change24h = get24hChange(marketPrice, currentAsset); + return ( +
+ +
+ ); +}; diff --git a/src/Views/BinaryOptions/Favourites/Utils/getAssetTypes.ts b/src/Views/BinaryOptions/Favourites/Utils/getAssetTypes.ts new file mode 100644 index 0000000..033d36d --- /dev/null +++ b/src/Views/BinaryOptions/Favourites/Utils/getAssetTypes.ts @@ -0,0 +1,10 @@ +import { IMarket } from "@Views/BinaryOptions"; + +export const getAssetTypes = (assets: IMarket[]) => { + let types = new Set(); + assets.forEach((asset) => { + const type = asset.category; + types.add(type); + }); + return ["favourites", ...types]; +}; diff --git a/src/Views/BinaryOptions/Favourites/Utils/getFavouriteKey.ts b/src/Views/BinaryOptions/Favourites/Utils/getFavouriteKey.ts new file mode 100644 index 0000000..b20380f --- /dev/null +++ b/src/Views/BinaryOptions/Favourites/Utils/getFavouriteKey.ts @@ -0,0 +1,10 @@ +import { IMarket } from "@Views/BinaryOptions"; + +export function getFavouriteKey( + asset: IMarket, + account: string, + chain: string +) { + if (!chain) return; + return `${asset.tv_id}-${account}-${chain}-v1`; +} diff --git a/src/Views/BinaryOptions/Favourites/Utils/getFilteredAssets.ts b/src/Views/BinaryOptions/Favourites/Utils/getFilteredAssets.ts new file mode 100644 index 0000000..b352123 --- /dev/null +++ b/src/Views/BinaryOptions/Favourites/Utils/getFilteredAssets.ts @@ -0,0 +1,43 @@ +import { useAtom } from "jotai"; +import { FavouriteAtom, IMarket, useQTinfo } from "@Views/BinaryOptions"; +import { useActivePoolObj } from "@Views/BinaryOptions/PGDrawer/PoolDropDown"; +import { getAssetTypes } from "./getAssetTypes"; + +export function getFilteredAssets( + assets: IMarket[], + searchText: string, + category: string + // AssetTypes: string[] +) { + const qtInfo = useQTinfo(); + const AssetTypes = getAssetTypes(qtInfo.pairs); + const [favourites] = useAtom(FavouriteAtom); + const { activePoolObj } = useActivePoolObj(); + + let filteredAssets: IMarket[] = []; + if (!!searchText && searchText !== "") + filteredAssets = assets.filter((asset) => + asset.pair.toLowerCase().includes(searchText.toLowerCase()) + ); + else { + filteredAssets = assets; + } + switch (category) { + case AssetTypes[0]: + return filteredAssets.filter((asset) => favourites.includes(asset.tv_id)); + case AssetTypes[1]: + return filteredAssets.filter( + (asset) => asset.category.toLowerCase() === AssetTypes[1].toLowerCase() + ); + case AssetTypes[2]: + return filteredAssets.filter( + (asset) => asset.category.toLowerCase() === AssetTypes[2].toLowerCase() + ); + case AssetTypes[3]: + return filteredAssets.filter( + (asset) => asset.category.toLowerCase() === AssetTypes[3].toLowerCase() + ); + default: + return filteredAssets; + } +} diff --git a/src/Views/BinaryOptions/Favourites/style.ts b/src/Views/BinaryOptions/Favourites/style.ts new file mode 100644 index 0000000..ac224fe --- /dev/null +++ b/src/Views/BinaryOptions/Favourites/style.ts @@ -0,0 +1,175 @@ +import styled from "styled-components"; + +const Background = styled.div` + .dd-wrapper { + display: flex; + /* padding-top: 9px; */ + /* column-gap: 1.2rem; */ + align-items: center; + + .scrollbar { + ::-webkit-scrollbar { + background: var(--bg-grey); + height: 1px; + width: 0px; + @media (min-width: 800px) { + height: 0px; + } + } + } + .before-border { + ::before { + background-color: #232334; + content: ""; + position: absolute; + height: 100%; + width: 2px; + left: 0; + bottom: 0; + top: 0; + margin: auto; + z-index: -1; + } + } + .after-border { + &:last-of-type { + &::after { + z-index: -1; + background-color: #232334; + content: ""; + position: absolute; + height: 100%; + width: 2px; + right: 0; + bottom: 0; + top: 0; + margin: auto; + } + } + } + } + + .left-border-needed { + &::after { + content: ""; + height: 100%; + width: 10px; + position: absolute; + top: 0px; + right: -10px; + /* z-index: 10000; */ + border-radius: 0 0 0 25px; + box-shadow: 0 25px 0 0 #131722; + } + &::before { + content: ""; + height: 100%; + width: 10px; + position: absolute; + top: 0px; + /* z-index: 10000; */ + border-radius: 16px 0 25px 0; + box-shadow: 0 25px 0 0 #131722; + left: -10px; + } + } + + @media (max-width: 500px) { + /* margin: 0px 5px; */ + } + .asset-dropdown-wrapper { + position: absolute; + top: calc(100% + 1rem); + z-index: 2000; + width: min(calc(100vw - 10px), 520px); + @media (max-width: 1200px) { + padding: 0rem; + border-radius: 9px; + width: 100%; + border: 2px solid var(--bg-4); + } + } + .cross-iconmm { + background-color: #242731; + /* position: absolute; */ + width: 1.7rem; + height: 1.7rem; + border-radius: 50%; + padding: 0rem; + right: -0.4rem; + top: -0.4rem; + /* color: white; */ + span.crrr { + font-size: 1rem; + transform: scaleX(1.8) scaleY(1.4); + } + &:hover { + background-color: #242731; + } + } + .fav-card { + background: #0e1014; + /* border-radius: 1.1rem; */ + position: relative; + color: white; + display: grid; + /* padding: 0.8rem 1.2rem 0.4rem 1.2rem; */ + grid-template-areas: + "img name" + "img perc"; + grid-column-gap: 0.5rem; + &:hover { + background-color: #292c34; + transform: scale(1.03); + } + transition: 100ms ease-in-out; + &:active { + transform: scale(0.97); + } + .img { + grid-area: img; + width: 2rem; + height: 2rem; + align-self: flex-start; + border-radius: 50%; + object-fit: cover; + margin-top: 0.3rem; + margin-right: 0.2rem; + } + .name { + grid-area: name; + font-weight: 500; + font-size: 1.4rem; + } + .arrow { + display: none; + pointer-events: none; + grid-area: arrow; + } + .perc { + grid-area: perc; + font-weight: 500; + justify-self: flex-start; + font-size: 1.5rem; + } + &.light { + &:hover { + transform: scale(1); + } + &:active { + transform: scale(1); + } + background-color: #353945; + .cross-iconmm { + display: none; + pointer-events: none; + } + .arrow { + display: block; + pointer-events: all; + } + } + cursor: pointer; + } +`; +export default Background; diff --git a/src/Views/BinaryOptions/Hooks/BinaryOptionsABI.json b/src/Views/BinaryOptions/Hooks/BinaryOptionsABI.json new file mode 100644 index 0000000..f80f862 --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/BinaryOptionsABI.json @@ -0,0 +1,1680 @@ + [ + { + "inputs": [ + { + "internalType": "contract ERC20", + "name": "_tokenX", + "type": "address" + }, + { + "internalType": "contract IPriceProvider", + "name": "pp", + "type": "address" + }, + { + "internalType": "contract BufferBinaryIBFRPoolBinary", + "name": "_pool", + "type": "address" + }, + { + "internalType": "contract OptionConfigBinaryV2", + "name": "_config", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "approval", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + } + ], + "name": "ApprovalUnits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementFee", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalFee", + "type": "uint256" + } + ], + "name": "Create", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "profit", + "type": "uint256" + } + ], + "name": "Exercise", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "premium", + "type": "uint256" + } + ], + "name": "Expire", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "targetTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mergeUnits", + "type": "uint256" + } + ], + "name": "Merge", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "PayAdminFee", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "PayReferralFee", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "splitUnits", + "type": "uint256" + } + ], + "name": "Split", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "targetTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transferUnits", + "type": "uint256" + } + ], + "name": "TransferUnits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "startHour", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startMinute", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endHour", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endMinute", + "type": "uint256" + } + ], + "name": "UpdateOptionCreationWindow", + "type": "event" + }, + { + "inputs": [], + "name": "AUTO_CLOSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "_units", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "optionId_", + "type": "uint256" + }, + { + "internalType": "address", + "name": "spender_", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "optionId_", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "allowance_", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "approvePoolToTransferTokenX", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "binaryOptionType", + "outputs": [ + { + "internalType": "bool", + "name": "isYes", + "type": "bool" + }, + { + "internalType": "bool", + "name": "isAbove", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId_", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "config", + "outputs": [ + { + "internalType": "contract OptionConfigBinaryV2", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "totalFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "period", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isYes", + "type": "bool" + }, + { + "internalType": "bool", + "name": "isAbove", + "type": "bool" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "create", + "outputs": [ + { + "internalType": "uint256", + "name": "optionID", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "optionID", + "type": "uint256" + } + ], + "name": "exercise", + "outputs": [ + { + "internalType": "uint256", + "name": "profit", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "optionID", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "expiryToRoundID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "period", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isYes", + "type": "bool" + }, + { + "internalType": "bool", + "name": "isAbove", + "type": "bool" + } + ], + "name": "fees", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "premium", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxUnits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "optionIDs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "targetOptionID", + "type": "uint256" + } + ], + "name": "merge", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "minimumYield", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nextTokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "optionSizeBought", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "optionSlotMapping", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "options", + "outputs": [ + { + "internalType": "enum IBufferBinaryOptions.State", + "name": "state", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lockedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "premium", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiration", + "type": "uint256" + }, + { + "internalType": "enum IBufferBinaryOptions.OptionType", + "name": "optionType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "totalFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAt", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pool", + "outputs": [ + { + "internalType": "contract BufferBinaryIBFRPoolBinary", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "contract IPriceProvider", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "roundId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "optionID", + "type": "uint256" + } + ], + "name": "setRoundIDForExpiry", + "outputs": [ + { + "internalType": "bool", + "name": "isCorrectRoundId", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "slotDetails", + "outputs": [ + { + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiration", + "type": "uint256" + }, + { + "internalType": "enum IBufferBinaryOptions.OptionType", + "name": "optionType", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "isValid", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "optionId_", + "type": "uint256" + } + ], + "name": "slotOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "optionID", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "splitUnits_", + "type": "uint256[]" + } + ], + "name": "split", + "outputs": [ + { + "internalType": "uint256[]", + "name": "newOptionIDs", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "slot_", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "index_", + "type": "uint256" + } + ], + "name": "tokenOfSlotByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenX", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "slot_", + "type": "uint256" + } + ], + "name": "tokensInSlot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from_", + "type": "address" + }, + { + "internalType": "address", + "name": "to_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "optionID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "targetOptionID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "transferUnits_", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from_", + "type": "address" + }, + { + "internalType": "address", + "name": "to_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "optionID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "transferUnits_", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "uint256", + "name": "newOptionID", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unitDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "slot_", + "type": "uint256" + } + ], + "name": "unitsInSlot", + "outputs": [ + { + "internalType": "uint256", + "name": "units_", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "optionId_", + "type": "uint256" + } + ], + "name": "unitsInToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "optionID", + "type": "uint256" + } + ], + "name": "unlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "optionIDs", + "type": "uint256[]" + } + ], + "name": "unlockAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "userOptionCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "userOptionIds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], \ No newline at end of file diff --git a/src/Views/BinaryOptions/Hooks/useActiveAssetState.ts b/src/Views/BinaryOptions/Hooks/useActiveAssetState.ts new file mode 100644 index 0000000..26aa1e9 --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useActiveAssetState.ts @@ -0,0 +1,297 @@ +import { useReadCall } from '@Utils/useReadCall'; +import { setActiveAssetStateAtom, useQTinfo } from '..'; +import ERC20ABI from '@Views/Earn/Config/Abis/Token.json'; +import MaxTradeABI from '../ABI/MaxTrade.json'; +import RouterABI from '../ABI/routerABI.json'; +import ConfigABI from '../ABI/configABI.json'; +import { getContract } from '../Address'; +import { useBinaryActiveChainId } from './useBinaryActiveChainId'; +import { divide, gt, multiply } from '@Utils/NumString/stringArithmatics'; +import { ethers } from 'ethers'; +import BinaryOptionsABI from '../ABI/optionsABI.json'; +import { toFixed } from '@Utils/NumString'; +import { useActivePoolObj } from '../PGDrawer/PoolDropDown'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import { useMemo } from 'react'; +import { useAtom, useSetAtom } from 'jotai'; +import { knowTillAtom } from './useIsMerketOpen'; +import { useHighestTierNFT } from '@Hooks/useNFTGraph'; +import { useActiveChain } from '@Hooks/useActiveChain'; + +export function useActiveAssetState(amount = null, referralData) { + const { address: account } = useUserAccount(); + const qtInfo = useQTinfo(); + const { activeChain } = useActiveChain(); + const activeChainId = activeChain?.id; + + const { activePoolObj } = useActivePoolObj(); + const [knowtil, setKnowTill] = useAtom(knowTillAtom); + const setResInAtom = useSetAtom(setActiveAssetStateAtom); + const { highestTierNFT } = useHighestTierNFT(); + const payoutCalls = useMemo(() => { + // return []; + return qtInfo.pairs + .map((pairObj) => { + return pairObj.pools.map((pool, index) => { + return { + address: getContract( + activeChainId, + index === 0 ? 'USDC-reader' : 'BFR-reader' + ), + abi: MaxTradeABI, + name: 'getPayout', + params: [ + pool.options_contracts.current, + referralData[2], + // 'BJP', + account || '0x0000000000000000000000000000000000000000', + highestTierNFT?.tokenId || 0, + true, + ], + }; + }); + }) + .flat(1); + }, [referralData, account, highestTierNFT]); + + const routerPermissionCalls = useMemo( + () => + qtInfo.pairs + .map((pairObj) => { + return pairObj.pools.map((pool) => { + return { + address: qtInfo.routerContract, + abi: RouterABI, + name: 'contractRegistry', + params: [pool.options_contracts.current], + }; + }); + }) + .flat(1), + [] + ); + + const assetCalls = useMemo( + () => [ + { + address: getContract( + activeChainId, + activePoolObj.token.name === 'USDC' ? 'USDC-reader' : 'BFR-reader' + ), + abi: MaxTradeABI, + name: 'calculateMaxAmount', + params: [ + activePoolObj.options_contracts.current, + highestTierNFT?.tokenId || 0, + referralData[2], + account || '0x0000000000000000000000000000000000000000', + ], + }, + { + address: activePoolObj.options_contracts.current, + abi: BinaryOptionsABI, + name: 'fees', + params: [ + (1e18).toString(), + account || ethers.constants.AddressZero, + true, + referralData[2], + highestTierNFT?.tokenId || 0, + ], + }, + ], + [activePoolObj, account, referralData] + ); + + const userSpecificCalls = useMemo( + () => [ + { + address: activePoolObj.token.address, + abi: ERC20ABI, + name: 'balanceOf', + params: [account], + }, + { + address: activePoolObj.token.address, + abi: ERC20ABI, + name: 'allowance', + params: [account, qtInfo.routerContract], + }, + ], + [account, activePoolObj] + ); + const marketStateCalls = useMemo(() => { + // return []; + const currDay = new Date().getUTCDay(); + // TODO verify Sunday - Saturday : 0 - 6 + + return [ + { + address: activePoolObj.options_contracts.config, + abi: ConfigABI, + name: 'marketTimes', + params: [currDay.toString()], + }, + ]; + }, [activePoolObj]); + + const calls = activePoolObj + ? account + ? [ + ...assetCalls, + ...payoutCalls, + ...routerPermissionCalls, + ...marketStateCalls, + ...userSpecificCalls, + ] + : [ + ...assetCalls, + ...payoutCalls, + ...routerPermissionCalls, + ...marketStateCalls, + ] + : []; + + let copy = useReadCall({ contracts: calls }).data as unknown as string[]; + let response = [null, null, null, null]; + + if (copy) { + let [maxAmounts, fees] = copy.slice(0, assetCalls.length); + + //calculate maxTradeValue + const maxTrade = maxAmounts?.[0] + ? divide( + gt(maxAmounts[0], maxAmounts[1]) ? maxAmounts[0] : maxAmounts[1], + activePoolObj.token.decimals + ) + : null; + + //multiply the userInput with 1e18 + let userInput = toFixed( + multiply(+amount < 1 || !amount ? '1' : amount, 18), + 0 + ); + + //calculate max_payout and max_loss + const stats = fees?.[0] && { + max_payout: divide(userInput, fees[0]), + max_loss: amount || '0', + }; + + const payoutRes = copy.slice( + assetCalls.length, + assetCalls.length + payoutCalls.length + ); + + const payouts = {}; + qtInfo.pairs.forEach((pair) => { + pair.pools.forEach((pool) => { + payouts[pool.options_contracts.current] = divide( + payoutRes.shift()[0], + 2 + ); + }); + }); + + const routerPermissionRes = copy.slice( + assetCalls.length + payoutCalls.length, + assetCalls.length + payoutCalls.length + routerPermissionCalls.length + ); + const routerPermission = {}; + qtInfo.pairs.forEach((pair) => { + pair.pools.forEach((pool) => { + routerPermission[pool.options_contracts.current] = + routerPermissionRes.shift()[0]; + }); + }); + const marketStatusCalls = copy.slice( + assetCalls.length + payoutCalls.length + routerPermissionCalls.length, + assetCalls.length + payoutCalls.length + routerPermissionCalls.length + 1 + ); + if (marketStateCalls?.length) { + const [openHour, openMin, closeHour, closeMin] = + marketStatusCalls[0] as number[]; + + const currentTime = + new Date().getUTCHours() * 60 + new Date().getUTCMinutes(); + const openTime = openHour * 60 + openMin; + + const closeTime = closeHour * 60 + closeMin; + + const closeTs = new Date(); + closeTs.setUTCHours(closeHour); + closeTs.setUTCMinutes(closeMin); + closeTs.setUTCSeconds(0); + closeTs.setUTCMilliseconds(0); + const openTs = new Date(); + openTs.setUTCHours(openHour); + openTs.setUTCMinutes(openMin); + openTs.setUTCSeconds(0); + openTs.setUTCMilliseconds(0); + let tempKnowTill = { date: -1, open: false }; + // o....t....c - knowtill:c ,market open knowtil c Tested + if (currentTime > openTime && currentTime < closeTime) + tempKnowTill = { date: closeTs.getTime(), open: true }; + // TODO - Test + // t o--------c - knowtill:o ,market close knowtill o + else if (currentTime < openTime && currentTime < closeTime) + tempKnowTill = { date: openTs.getTime(), open: false }; + // TODO - Test + // o.......c t - knowtill:-1 ,market close for the day knowtill:-1 + else if (currentTime > openTime && currentTime > closeTime) + tempKnowTill = { date: -1, open: false }; + if (knowtil.date !== tempKnowTill.date) { + setKnowTill(tempKnowTill); + } + } + /* + + + const timings = { + openHour: 12, + openMin: 0, + closeHour: 18, + closeMin: 0, + }; + const currentTime = + new Date().getUTCHours() * 60 + new Date().getUTCMinutes(); + const openTime = timings.openHour * 60 + timings.openMin; + const closeTime = timings.closeHour * 60 + timings.closeMin; + + const closeTs = new Date(); + closeTs.setUTCHours(timings.closeHour); + closeTs.setUTCMinutes(timings.closeMin); + const openTs = new Date(); + openTs.setUTCHours(timings.closeHour); + openTs.setUTCMinutes(timings.closeMin); + // o....t....c - knowtill:c ,market open knowtil c + if (currentTime > openTime && currentTime < closeTime) + setKnowTill({ date: closeTs.getTime(), open: true }); + // t o--------c - knowtill:o ,market close knowtill o + else if (currentTime < openTime && currentTime < closeTime) + setKnowTill({ date: openTs.getTime(), open: false }); + // o.......c t - knowtill:-1 ,market close for the day knowtill:-1 + else if (currentTime > openTime && currentTime > closeTime) + setKnowTill({ date: -1, open: false }); + + +*/ + //destructuring the account response + const [balance, allowance] = account + ? copy.slice(-userSpecificCalls.length) + : new Array(userSpecificCalls.length).fill(null); + + setResInAtom({ + balance, + allowance, + maxTrade, + stats, + payouts, + routerPermission, + }); + //update response + response = [balance, allowance, maxTrade, stats]; + } + + return response; +} diff --git a/src/Views/BinaryOptions/Hooks/useBinaryActions.tsx b/src/Views/BinaryOptions/Hooks/useBinaryActions.tsx new file mode 100644 index 0000000..ff117c9 --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useBinaryActions.tsx @@ -0,0 +1,238 @@ +import { useGlobal } from '@Contexts/Global'; +import { useToast } from '@Contexts/Toast'; +import { useAtom } from 'jotai'; +import React, { useState } from 'react'; +import { postRes } from '@Utils/apis/api'; +import ERC20ABI from 'src/ABIs/Token.json'; +import { toFixed } from '@Utils/NumString'; +import routerABI from '@Views/BinaryOptions/ABI/routerABI.json'; +import { + add, + divide, + getPosInf, + gt, + multiply, +} from '@Utils/NumString/stringArithmatics'; +import { sessionAtom } from 'src/atoms/generic'; +import { + getPriceFromKlines, + marketPriceAtom, +} from 'src/TradingView/useDataFeed'; +import { approveModalAtom, QuickTradeExpiry } from '../PGDrawer'; +import { + getUserError, + MINIMUM_MINUTES, + timeToMins, +} from '../PGDrawer/TimeSelector'; +import { slippageAtom } from '../Components/SlippageModal'; +import { useActiveAssetState } from './useActiveAssetState'; +import { useQTinfo } from '..'; +import { useWriteCall } from '@Hooks/useWriteCall'; +import { useReferralCode } from '@Views/Referral/Utils/useReferralCode'; +import { useActivePoolObj } from '../PGDrawer/PoolDropDown'; +import { useHighestTierNFT } from '@Hooks/useNFTGraph'; + +export const useBinaryActions = (userInput, isYes, isQuickTrade = false) => { + const binary = useQTinfo(); + const [settings] = useAtom(slippageAtom); + const referralData = useReferralCode(binary.activeChain); + const activeAssetState = useActiveAssetState(userInput, referralData); + const [balance, allowance, _, currStats] = activeAssetState; + const [expiration] = useAtom(QuickTradeExpiry); + const [token] = useAtom(sessionAtom); + const { highestTierNFT } = useHighestTierNFT(); + + const [, setIsApproveModalOpen] = useAtom(approveModalAtom); + const { state, dispatch } = useGlobal(); + const activeAsset = binary.activePair; + const { activePoolObj } = useActivePoolObj(); + const { writeCall } = useWriteCall(binary.routerContract, routerABI); + const { writeCall: approve } = useWriteCall( + activePoolObj.token.address, + ERC20ABI + ); + const [loading, setLoading] = useState( + null + ); + const [marketPrice] = useAtom(marketPriceAtom); + const toastify = useToast(); + + const cb = (a) => { + setLoading(null); + }; + + const buyHandler = async (customTrade?: { is_up: boolean }) => { + + const isCustom = typeof customTrade.is_up === 'boolean'; + + if (state.txnLoading > 1) { + toastify({ + id: '2321123', + type: 'error', + msg: 'Please confirm your previous pending transactions.', + }); + return true; + } + + if ( + isCustom && + timeToMins(expiration) > timeToMins(activeAsset.max_duration) + ) { + return toastify({ + type: 'error', + msg: `Expiration time should be within ${getUserError( + activeAsset.max_duration + )}`, + id: 'binaryBuy', + }); + } + if (isCustom && timeToMins(expiration) < MINIMUM_MINUTES) { + return toastify({ + type: 'error', + msg: 'Expiration should be greater then 5 minutes due to network congestion', + id: 'binaryBuy', + }); + } + + if (!userInput) { + return toastify({ + type: 'error', + msg: 'Plese enter a positive integer as trade Amount', + id: 'binaryBuy', + }); + } + const noBalance = gt( + userInput || '0', + balance ? divide(balance, activePoolObj.token.decimals) : '0' + ); + if (noBalance) { + return toastify({ + type: 'error', + msg: + "You don't have enough " + + activePoolObj.token.name + + ' to make this transaction', + id: 'binaryBuy', + }); + } + if (!userInput) { + return toastify({ + type: 'error', + msg: 'Plese enter a positive integer as trade Amount', + id: 'binaryBuy', + }); + } + // if (!currStats) { + // return toastify({ + // type: "error", + // msg: "Something went wrong! Please buy your option again,", + // }); + // } + const price = getPriceFromKlines(marketPrice, activeAsset); + if (!activeAsset) { + return toastify({ + type: 'error', + msg: 'There is some error while fetching the data!', + id: 'binaryBuy', + }); + } + if (gt('1', userInput)) { + return toastify({ + type: 'error', + msg: 'Trade Amount must be atleast 1 ' + activePoolObj.token.name, + id: 'binaryBuy', + }); + } + if (!binary.activeChain || !price) { + return toastify({ + type: 'error', + msg: 'Please try again', + id: 'binaryBuy', + }); + } + if (isCustom) { + setLoading({ is_up: customTrade.is_up }); + } else { + setLoading(2); + } + + let args = [ + toFixed(multiply(userInput, activePoolObj.token.decimals), 0), + timeToMins(expiration) * 60 + '', + customTrade.is_up, + activePoolObj.options_contracts.current, + toFixed(multiply(('' + price).toString(), 8), 0), + // '10000000000', + toFixed(multiply(settings.slippage.toString(), 2), 0), + settings.allowPartial, + referralData[2], + highestTierNFT?.tokenId || '0', + ]; + + writeCall(cb, 'initiateTrade', args, null, { + content: ( +
+ Position opened for  +
+ {activeAsset?.pair}  {customTrade.is_up ? 'Up' : 'Down'} +
+ {/* @ */} +
+ ), + }); + }; + + const handleApproveClick = async (ammount = toFixed(getPosInf(), 0)) => { + + if (state.txnLoading > 1) { + toastify({ + id: 'dddafsd3', + type: 'error', + msg: 'Please confirm your previous pending transactions.', + }); + return true; + } + dispatch({ type: 'SET_TXN_LOADING', payload: 2 }); + setLoading(1); + if (ammount !== '0' && ammount !== toFixed(getPosInf(), 0)) { + ammount = add(ammount, multiply(ammount, '0.1')); + } + approve( + (p) => { + if (p.payload) { + setIsApproveModalOpen(false); + } + setLoading(null); + }, + 'approve', + [binary.routerContract, ammount] + ); + }; + + const cancelHandler = async ( + queuedId: number, + cb: (loadingState) => void + ) => { + if (queuedId === null || queuedId === undefined) { + toastify({ + id: 'queuedId', + type: 'error', + msg: 'Something went wrong. Please try again later.', + }); + return true; + } + cb(true); + writeCall(() => cb(false), 'cancelQueuedTrade', [queuedId]); + }; + + return { + handleApproveClick, + buyHandler, + loading, + allowance, + currStats, + balance, + cancelHandler, + activeAssetState, + }; +}; diff --git a/src/Views/BinaryOptions/Hooks/useBinaryActiveChainId.ts b/src/Views/BinaryOptions/Hooks/useBinaryActiveChainId.ts new file mode 100644 index 0000000..35f11bd --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useBinaryActiveChainId.ts @@ -0,0 +1,7 @@ +import { useMemo } from "react"; +import { useQTinfo } from ".."; + +export const useBinaryActiveChainId = () => { + const binary = useQTinfo(); + return useMemo(() => 42161, [binary.activeChain]); +}; diff --git a/src/Views/BinaryOptions/Hooks/useBinaryHistory.ts b/src/Views/BinaryOptions/Hooks/useBinaryHistory.ts new file mode 100644 index 0000000..4390f58 --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useBinaryHistory.ts @@ -0,0 +1,104 @@ +import { useUserAccount } from "@Hooks/useUserAccount"; +import { useAtom } from "jotai"; +import { useEffect } from "react"; +import { sessionAtom } from "src/atoms/generic"; +import { postRes } from "@Utils/apis/api"; +import { getBrowserName } from "@Utils/appControls/getBrowserName"; +import { getConnectionSpeed } from "@Utils/speedtest"; +import { useAccount } from "wagmi"; +import { IQTrade } from ".."; +import { IHistory } from "../store"; +import { useTradeHistory } from "./useTradeHistory"; + +const useBinaryHistory = ( + configData: IQTrade, + tradesCount: number, + currentPage: number, + isHistoryTable?: boolean, + shouldFetchOldData?: boolean +) => { + const data = useTradeHistory(configData, shouldFetchOldData); + const { address: account } = useUserAccount(); + const [session_token] = useAtom(sessionAtom); + let filteredData; + const registerVisibility = async () => { + let speed: any = await getConnectionSpeed(); + speed = speed + ""; + const [res, err] = await postRes("/binary/performance/option/visibility/", { + account, + updated_at: Math.round(new Date().getTime() / 1000), + session_token, + browser: getBrowserName(), + internet_speed: speed, + }); + }; + + useEffect(() => { + if (!data || !data.length) return; + for (let i of data) { + if (i.is_new) { + registerVisibility(); + break; + } + } + }, [data]); + + // filter OTC and QuickTrade bets + // if (tempData && tempData.length) { + // for (let bet of tempData) { + // const creationEpoch = Math.round( + // new Date(bet.creation_date).getTime() / 1e3 + // ); + // const difference = bet.expiration - creationEpoch; + // if (!activeVerticalTab) { + // if (difference <= SECONDS_IN_ONE_DAY) { + // data.push(bet); + // } + // } else { + // if (difference > SECONDS_IN_ONE_DAY) { + // data.push(bet); + // } + // } + // } + // } + + if (data) { + if (isHistoryTable) { + filteredData = data.filter( + (bet) => + bet.state == "exercised" || + bet.state == "cancelled" || + bet.state == "pending" || + bet.state == "expired" + ); + } else { + filteredData = data.filter( + (bet) => bet.state == "active" || bet.state == "queued" + ); + } + } + if (isHistoryTable) { + filteredData?.sort(function (a: IHistory, b: IHistory) { + return b.expiration - a.expiration; + }); + } else { + filteredData?.sort(function (a: IHistory, b: IHistory) { + return b.creation_date - a.creation_date; + }); + } + if (tradesCount && currentPage) { + const startIndex = tradesCount * currentPage - tradesCount; + const endIndex = startIndex + tradesCount; + + return { + data: filteredData.slice(startIndex, endIndex), + totalLength: filteredData.length, + }; + } + return { + data: filteredData as IHistory[], + totalLength: filteredData.length, + }; +}; + +export default useBinaryHistory; diff --git a/src/Views/BinaryOptions/Hooks/useFavouritesFns.ts b/src/Views/BinaryOptions/Hooks/useFavouritesFns.ts new file mode 100644 index 0000000..c0d0be1 --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useFavouritesFns.ts @@ -0,0 +1,87 @@ +import { useAtom, useAtomValue } from "jotai"; +import { + activeAssetStateAtom, + DisplayAssetsAtom, + IMarket, + useQTinfo, +} from ".."; +import { replaceAsset } from "@Utils/appControls/replaceAsset"; +import { useEffect, useMemo } from "react"; +import { useNavigate, useParams } from "react-router-dom"; + +export const useFavouritesFns = () => { + const [assets, setAssets] = useAtom(DisplayAssetsAtom); + const qtInfo = useQTinfo(); + const navigate = useNavigate(); + const activeMarket = qtInfo.activePair; + const { routerPermission } = useAtomValue(activeAssetStateAtom); + + const includesTradeAvailableAsset = useMemo(() => { + if ( + !routerPermission || + routerPermission[qtInfo.pairs[0].pools[0].options_contracts.current] === + undefined + ) + return true; + const availablePairs = qtInfo.pairs.filter( + (market) => routerPermission?.[market.pools[0].options_contracts.current] + ); + return !!availablePairs.find( + (market) => routerPermission[market.pools[0].options_contracts.current] + ); + }, [routerPermission, assets]); + + const firstTradeAvailableAsset = useMemo( + () => + qtInfo.pairs.find( + (market) => + routerPermission?.[market.pools[0].options_contracts.current] + ), + [includesTradeAvailableAsset] + ); + + useEffect(() => { + if (assets.length === 0) + setAssets( + qtInfo.pairs + .filter( + (market) => + routerPermission?.[market.pools[0].options_contracts.current] + ) + .slice(0, 7) + ); + }, [routerPermission]); + + useEffect(() => { + if (!includesTradeAvailableAsset) addCardHandler(firstTradeAvailableAsset); + }, [includesTradeAvailableAsset]); + + const params = useParams(); + useEffect(() => { + if (activeMarket && !assets.includes(activeMarket.pair)) { + addCardHandler(activeMarket); + } + }, [params?.market]); + + const replaceAssetHandler = (currentAsset: string, isActive: boolean) => { + navigate(`/binary/${currentAsset}`) + }; + + const deleteCardHandler = (e, currentAsset: IMarket, isActive: boolean) => { + e.stopPropagation(); + const updatedAssets = assets.filter((pair) => pair !== currentAsset.pair); + setAssets(updatedAssets); + if (isActive) replaceAssetHandler(updatedAssets[0], false); + }; + + const addCardHandler = (selectedAsset: IMarket) => { + if(!selectedAsset) return; + if (!assets.find((asset) => asset === selectedAsset?.pair)) { + assets.unshift(selectedAsset.pair); + if (assets.length > 5) assets.pop(); + setAssets(assets); + } + }; + + return { replaceAssetHandler, deleteCardHandler, addCardHandler }; +}; diff --git a/src/Views/BinaryOptions/Hooks/useGetDataFromConfig.ts b/src/Views/BinaryOptions/Hooks/useGetDataFromConfig.ts new file mode 100644 index 0000000..b27ea8e --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useGetDataFromConfig.ts @@ -0,0 +1,12 @@ +import { ENV } from ".."; +import MarketConfig from 'public/config.json'; + +export const useGetDataFromConfig = (contract_address: string) => { + return MarketConfig[ENV].pairs.find((pair) => { + return !!pair.pools.find( + (pool) => + pool.options_contracts.current === contract_address || + pool.options_contracts.past.includes(contract_address) + ); + }); +}; diff --git a/src/Views/BinaryOptions/Hooks/useHostName.ts b/src/Views/BinaryOptions/Hooks/useHostName.ts new file mode 100644 index 0000000..6e883a1 --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useHostName.ts @@ -0,0 +1,10 @@ +import { useMemo } from "react"; + +export const useHostName = () => { + return { + hostname: useMemo(() => { + if (window) return window.location.hostname; + else return "app"; + }, [window]), + }; +}; diff --git a/src/Views/BinaryOptions/Hooks/useIsMerketOpen.tsx b/src/Views/BinaryOptions/Hooks/useIsMerketOpen.tsx new file mode 100644 index 0000000..d66637a --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useIsMerketOpen.tsx @@ -0,0 +1,20 @@ +import axios from "axios"; +import { atom, useAtom } from "jotai"; +import { useEffect } from "react"; +import useSWR from "swr"; +import { activeAssetStateAtom } from ".."; +import { QuickTradeExpiry } from "../PGDrawer"; +import { timeToMins } from "../PGDrawer/TimeSelector"; +export const knowTillAtom = atom({ date: null, open: null }); + +export const marketTimingsMessage = (knowTill: { + date: null | number; + open: boolean | null; +}) => { + if (knowTill.date === null) return "Fetching Market Data..."; + if (knowTill.date > Date.now()) { + if (knowTill.open) return "Market is Open"; + const date = new Date(knowTill.date); + return `Market will open at ${date.toLocaleTimeString()}`; + } +}; diff --git a/src/Views/BinaryOptions/Hooks/useLatest24hrChange.ts b/src/Views/BinaryOptions/Hooks/useLatest24hrChange.ts new file mode 100644 index 0000000..3f0ab8d --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useLatest24hrChange.ts @@ -0,0 +1,44 @@ +import useSWR from "swr"; +import { useQTinfo } from ".."; +import axios from "axios"; +import { useMemo } from "react"; + +interface IMarketChange { + priceChangePercent: string; + symbol: string; +} + +export const useLatest24hrChange = (singleAsset) => { + const qtInfo = useQTinfo(); + const allMarkets = useMemo( + () => + qtInfo.pairs.map((singleMarket) => { + return `"${singleMarket.tv_id}"`; + }), + [] + ); + const latest24hrChange = useSWR("24hr-price-change", { + fetcher: async (calls) => { + const response = await axios.get( + "https://www.binance.com/api/v3/ticker/24hr?symbols=[" + + allMarkets.join(",") + + "]" + ); + return response.data; + }, + refreshInterval: 30000, + }); + + function getAssetPrice() { + return latest24hrChange.data?.find( + (asset) => asset.symbol === singleAsset.tv_id + ); + } + + const assetPrice = useMemo(() => { + return getAssetPrice(); + }, [latest24hrChange, singleAsset]); + + + return assetPrice; +}; diff --git a/src/Views/BinaryOptions/Hooks/usePastTradeQuery.ts b/src/Views/BinaryOptions/Hooks/usePastTradeQuery.ts new file mode 100644 index 0000000..0467e6a --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/usePastTradeQuery.ts @@ -0,0 +1,282 @@ +import { useAccount } from "wagmi"; +import { ENV, IMarket, IToken } from ".."; +import MarketConfig from 'public/config.json'; +import { BetState, TradeInputs, useAheadTrades } from "@Hooks/useAheadTrades"; +import { atom, useAtomValue, useSetAtom } from "jotai"; +import { useEffect, useMemo } from "react"; +import { usePastTradeQueryByFetch } from "./usePastTradeQueryByFetch"; +import axios from "axios"; +import { expiryPriceCache } from "./useTradeHistory"; +import { useUserAccount } from "@Hooks/useUserAccount"; + + +export const tardesAtom = atom<{ + active: IGQLHistory[]; + history: IGQLHistory[]; + cancelled: IGQLHistory[]; +}>({ + active: null, + history: null, + cancelled: null, +}); +export const tardesPageAtom = atom<{ + active: number; + history: number; + cancelled: number; +}>({ + active: 1, + history: 1, + cancelled: 1, +}); +export const tardesTotalPageAtom = atom<{ + active: number; + history: number; + cancelled: number; +}>({ + active: 1, + history: 1, + cancelled: 1, +}); +export const updateTotalPageNumber = atom(null, (get, set, update) => { + set(tardesTotalPageAtom, update); +}); +export const updateActivePageNumber = atom(null, (get, set, update: number) => { + set(tardesPageAtom, { ...get(tardesPageAtom), active: update }); +}); +export const updateHistoryPageNumber = atom( + null, + (get, set, update: number) => { + set(tardesPageAtom, { ...get(tardesPageAtom), history: update }); + } +); +export const updateCancelledPageNumber = atom( + null, + (get, set, update: number) => { + set(tardesPageAtom, { ...get(tardesPageAtom), cancelled: update }); + } +); + +// { +// 1: 'active' +// 2: 'exercised' +// 3: 'expired' +// 4: 'queued', +// 5:cancelled +// } + +const TRADESINAPAGE = 10; +export interface IGQLHistory { + strike: string; + totalFee: string; + state: BetState; + depositToken: string | IToken; + isAbove: boolean; + optionContract: { + asset: string; + address: string; + }; + amount?: string; + creationTime?: string; + + expirationPrice?: string; + expirationTime?: string; + payout?: string; + queueID?: string; + optionID?: string; + reason?: string; + user: { + address: string; + }; + slippage?: string; + //added on FE + configPair?: IMarket; + blockNumber?: number; +} + +export const usePastTradeQuery = () => { + const { address: account } = useUserAccount(); + const setTrades = useSetAtom(tardesAtom); + const setPageNumbers = useSetAtom(updateTotalPageNumber); + const { active, history, cancelled } = useAtomValue(tardesPageAtom); + const activePage = useMemo(() => TRADESINAPAGE * (active - 1), [active]); + const historyPage = useMemo(() => TRADESINAPAGE * (history - 1), [history]); + const cancelledPage = useMemo( + () => TRADESINAPAGE * (cancelled - 1), + [cancelled] + ); + + const getProcessedTrades = ( + trades, + block, + tradesToBeDeleted?: TradeInputs[], + shouldAddHistoryPrice = false + ) => { + const tempTrades = trades?.map((singleTrade: IGQLHistory) => { + if (singleTrade.blockNumber) { + if (block >= singleTrade.blockNumber) { + // if graph scanned this block. + return null; + } + } + if (tradesToBeDeleted?.length) { + if ( + tradesToBeDeleted.find( + (singleRawTrade) => + singleRawTrade.id == +singleTrade.queueID && + singleTrade.state === BetState.queued + ) + ) { + return null; + } + } + let pool; + const configPair = MarketConfig[ENV].pairs.find((pair) => { + pool = pair.pools.find( + (pool) => + pool.options_contracts.current.toLocaleLowerCase() === + singleTrade.optionContract.address.toLowerCase() + ); + return !!pool; + // if (singleTrade?.optionContract?.asset) + // return pair.pair === singleTrade.optionContract.asset; + // else + // return ( + // pair.pools[0].options_contracts.current.toLocaleLowerCase() === + // singleTrade.optionContract.address.toLowerCase() || + // !!pair.pools[0].options_contracts.past.find( + // (address) => + // address.toLocaleLowerCase() === + // singleTrade.optionContract.address.toLowerCase() + // ) || + // pair.pools[1]?.options_contracts.current.toLocaleLowerCase() === + // singleTrade.optionContract.address.toLowerCase() || + // !!pair.pools[1]?.options_contracts.past.find( + // (address) => + // address.toLocaleLowerCase() === + // singleTrade.optionContract.address.toLowerCase() + // ) + // ); + }); + if (!pool) return null; + + const depositToken = MarketConfig[ENV].tokens[pool.token]; + let updatedTrade = { ...singleTrade, depositToken, configPair }; + if (shouldAddHistoryPrice) { + addExpiryPrice(updatedTrade); + } + + return updatedTrade; + }); + // filter out not-null bets. + tempTrades?.filter((t) => { + if (t) { + return true; + } + return false; + }); + + return tempTrades; + }; + + const addExpiryPrice = async (currentTrade: IGQLHistory) => { + if (currentTrade.state === BetState.active) { + axios + .post(`https://oracle.buffer.finance/price/query/`, [ + { + pair: currentTrade.configPair.tv_id, + timestamp: currentTrade.expirationTime, + }, + ]) + .then((response) => { + if ( + !expiryPriceCache[currentTrade.optionID] && + response?.data?.[0]?.price + ) + expiryPriceCache[currentTrade.optionID] = + response?.data?.[0].price.toString(); + }); + } + }; + + const { data } = usePastTradeQueryByFetch({ + account: account, + historyskip: historyPage, + historyfirst: TRADESINAPAGE, + activeskip: activePage, + activefirst: TRADESINAPAGE, + cancelledskip: cancelledPage, + cancelledfirst: TRADESINAPAGE, + currentTime: Math.floor(new Date().getTime() / 1000), + }); + + const blockNumber = data?._meta?.block.number; + const { data: trades } = useAheadTrades(blockNumber, account); + console.log("p=[aug]trades", trades, data); + useEffect(() => { + let activeResponseArr = []; + if (trades?.[BetState.queued] || trades?.[BetState.active]) + activeResponseArr = [ + ...trades[BetState.queued], + ...trades[BetState.active], + ]; + if (data?.queuedTrades) { + activeResponseArr = [...activeResponseArr, ...data?.queuedTrades]; + } + if (data?.activeTrades) { + activeResponseArr = [...activeResponseArr, ...data.activeTrades]; + } + + activeResponseArr = getProcessedTrades( + activeResponseArr, + blockNumber, + trades?.["del"] || [] + ); + + let historyResponseArr = data?.historyTrades; + let cancelledResponseArr = data?.cancelledTrades; + cancelledResponseArr = getProcessedTrades( + cancelledResponseArr, + blockNumber + ); + + if (historyResponseArr?.length) { + historyResponseArr = [...data?.historyTrades]; + } + historyResponseArr = getProcessedTrades( + historyResponseArr, + blockNumber, + null, + true + ); + + + setTrades({ + active: activeResponseArr?.filter((a) => a), + history: historyResponseArr?.filter((a) => a), + cancelled: cancelledResponseArr?.filter((a) => a), + }); + if (data?.activeLength) + setPageNumbers({ + active: Math.ceil(data.activeLength.length / TRADESINAPAGE), + history: Math.ceil(data.historyLength.length / TRADESINAPAGE), + cancelled: Math.ceil(data.cancelledLength.length / TRADESINAPAGE), + }); + }, [ + data?.historyTrades, + data?.activeTrades, + data?.queuedTrades, + data?.cancelledTrades, + data?._meta, + data?.activeLength, + data?.historyLength, + data?.cancelledLength, + + trades?.[BetState.active], + trades?.[BetState.queued], + trades?.fromBlock, + trades?.toBlock, + trades?.del, + // loading, + trades, + ]); +}; diff --git a/src/Views/BinaryOptions/Hooks/usePastTradeQueryByFetch.ts b/src/Views/BinaryOptions/Hooks/usePastTradeQueryByFetch.ts new file mode 100644 index 0000000..c68dde5 --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/usePastTradeQueryByFetch.ts @@ -0,0 +1,194 @@ +import axios from "axios"; +import { baseGraphqlLiteUrl, baseGraphqlUrl } from "config"; +import useSWR from "swr"; + +export const usePastTradeQueryByFetch = ({ + account, + historyskip, + historyfirst, + activeskip, + activefirst, + cancelledskip, + cancelledfirst, + currentTime, +}: { + account: string; + historyskip: number; + historyfirst: number; + activeskip: number; + activefirst: number; + cancelledskip: number; + cancelledfirst: number; + currentTime: number; +}) => { + return useSWR( + `history-thegraph-activePage-${activeskip}-historyPage${historyskip}-cancelledPage-${cancelledskip}-account-${account}`, + { + fetcher: async () => { + const response = await axios.post(baseGraphqlLiteUrl.testnet, { + query: `{ + historyTrades: userOptionDatas( + orderBy: expirationTime + orderDirection: desc + first: ${historyfirst} + skip: ${historyskip} + where: { + user_: {address: "${account}"}, + state_in: [1,2,3], + expirationTime_lt: ${currentTime} + } + ){ + amount + creationTime + depositToken + expirationPrice + expirationTime + isAbove + payout + queueID + optionID + state + strike + totalFee + user { + address + } + optionContract { + asset + address + } + } + activeTrades: userOptionDatas( + orderBy: creationTime + orderDirection: desc + first: ${activefirst} + skip: ${activeskip} + where: { + user_: {address: "${account}"}, + state_in: [1], + expirationTime_gt: ${currentTime} + } + ){ + amount + creationTime + depositToken + expirationPrice + expirationTime + isAbove + payout + queueID + optionID + state + strike + totalFee + user { + address + } + optionContract { + asset + address + } + } + queuedTrades: queuedOptionDatas( + orderBy: queueID + orderDirection: desc + where: { + user_: {address: "${account}"}, + state_in: [4], + } + ){ + depositToken + isAbove + queueID + state + slippage + strike + totalFee + user { + address + } + optionContract { + asset + address + } + } + cancelledTrades: queuedOptionDatas( + first: ${cancelledfirst} + skip: ${cancelledskip} + orderBy: queueID + orderDirection: desc + where: { + user_: {address: "${account}"}, + state_in: [5], + } + ){ + depositToken + isAbove + queueID + reason + state + slippage + strike + totalFee + user { + address + } + optionContract { + asset + address + } + } + + _meta { + block { + number + } + } + + historyLength: userOptionDatas( + orderBy: expirationTime + orderDirection: desc + first: 1000 + where: { + user_: {address: "${account}"}, + state_in: [1,2,3], + expirationTime_lt: ${currentTime} + } + ){ + + id + + } + activeLength: userOptionDatas( + orderBy: creationTime + orderDirection: desc + where: { + user_: {address: "${account}"}, + state_in: [1], + expirationTime_gt: ${currentTime} + } + ){ + + id + + } + + cancelledLength: queuedOptionDatas( + orderBy: queueID + orderDirection: desc + where: { + user_: {address: "${account}"}, + state_in: [5], + } + ){ + id + } + + }`, + }); + return response.data?.data; + }, + refreshInterval: 300, + } + ); +}; diff --git a/src/Views/BinaryOptions/Hooks/useTradeHistory.ts b/src/Views/BinaryOptions/Hooks/useTradeHistory.ts new file mode 100644 index 0000000..ce410d8 --- /dev/null +++ b/src/Views/BinaryOptions/Hooks/useTradeHistory.ts @@ -0,0 +1,228 @@ +import axios from "axios"; +import { useUserAccount } from "@Hooks/useUserAccount"; +import { atom } from "jotai"; +import { useEffect, useState } from "react"; +import getDeepCopy from "@Utils/getDeepCopy"; +import { divide, subtract } from "@Utils/NumString/stringArithmatics"; +import { convertBNtoString } from "@Utils/useReadCall"; +import { useContractReads } from "wagmi"; +import { IMarket, IQTrade } from ".."; +import OptionMetaABI from "../ABI/OptionMeta.json"; +import { IHistory } from "../store"; + +const stateMapping = { + 0: "inactive", + 1: "active", + 2: "exercised", + 3: "expired", + 4: "cancelled", +}; +const poolDecimals = 6; +const depositTokenName = "USDC"; +export const expiryPriceCache = {}; +export const pendingTradeExpiryPricesAtom = atom({}); +export const useTradeHistory = ( + configData: IQTrade, + shouldFetchOldData?: boolean +) => { + // const qtInfo = useQTinfo(); + const { address } = useUserAccount(); + let normalOptionsReq = configData.pairs.map((singleMarket) => { + const targetContract = shouldFetchOldData + ? singleMarket.pools[0].options_contracts.past[0] + : singleMarket.pools[0].options_contracts.current; + return { + address: configData.optionMeta, + abi: OptionMetaABI, + functionName: "getOptionsForUser", + args: [address, targetContract, 500, 0], + }; + }); + let queuedOptionsReq = { + address: configData.optionMeta, + abi: OptionMetaABI, + functionName: "getQueuedOptionsForUser", + args: [address, configData.routerContract, 500, 0], + }; + let cancelledOptionsReq = { + address: configData.optionMeta, + abi: OptionMetaABI, + functionName: "getCancelledOptionsForUser", + args: [address, configData.routerContract, 500, 0], + }; + let allRequests = [ + queuedOptionsReq, + cancelledOptionsReq, + ...normalOptionsReq, + ]; + + let { data } = useContractReads({ + contracts: address ? allRequests : [], + watch: true, + }); + const [filteredBets, setFilteredBets] = useState([]); + useEffect(() => { + let allMarketBets = getDeepCopy(data); + convertBNtoString(allMarketBets); + let bets = []; + allMarketBets?.forEach((market, marketIndex) => { + market?.forEach((tempBet) => { + // remove queued option if it is cancelled by user + if (marketIndex == 0) { + if (!tempBet[12]) return; + } + + let bet = getBetMetadata( + configData, + marketIndex, + address, + tempBet, + shouldFetchOldData + ); + if (!bet) return; + if (bet.state == "pending") { + axios + .get( + `https://www.binance.com/api/v3/uiKlines?symbol=${ + bet.tv_id + }&interval=1s&startTime=${bet.expiration * 1e3}&endTime=${ + bet.expiration * 1e3 + }` + ) + .then((price) => { + if (!expiryPriceCache[bet.option_id] && price.data?.[0]?.[4]) + expiryPriceCache[bet.option_id] = price.data[0][4]; + }); + } + bets.push(bet); + }); + }); + setFilteredBets(bets); + }, [data]); + + return filteredBets; +}; + +function getBetMetadata( + qtInfo: IQTrade, + marketIndex, + address, + tempBet, + shouldFetchOldData +): IHistory { + let activeMarket: IMarket; + let isNormalOption; + if (tempBet?.targetContract) { + activeMarket = qtInfo.pairs.find((market) => { + if (shouldFetchOldData) { + return ( + market.pools[0].options_contracts.current == tempBet.targetContract + ); + } + + return ( + market.pools[0].options_contracts.current == tempBet.targetContract + ); + }); + isNormalOption = false; + } else { + activeMarket = qtInfo.pairs[marketIndex - 2]; + isNormalOption = true; + } + if ((shouldFetchOldData && !isNormalOption) || !activeMarket) { + return null; + } + let bet = { + is_new: true, + iv: 12000, + environment: "arbitrum-test", + contract_address: activeMarket.pools[0].options_contracts.current, + asset: activeMarket, + user: address, + tv_id: activeMarket.tv_id, + is_payout_credited: true, + } as IHistory; + const contractResMappings = getContractResMapping( + tempBet, + isNormalOption, + marketIndex + ); + for (let mapping of contractResMappings) { + if (mapping?.key && mapping?.value) bet[mapping.key] = mapping.value(); + } + return bet; +} + +function getContractResMapping(tempBet, isNormalOption, marketIndex) { + const betPayout = tempBet[1] == 3 ? "0" : divide(tempBet[4], poolDecimals); + const currentEpoch = Date.now() / 1e3; + if (isNormalOption) + return [ + { key: "option_id", value: () => tempBet[0] }, + { key: "is_queued", value: () => false }, + { key: "creation_date", value: () => +tempBet[11] }, + { key: "strike", value: () => divide(tempBet[2], 8) }, + { key: "total_fee", value: () => divide(tempBet[10], poolDecimals) }, + { key: "premium", value: () => divide(tempBet[5], poolDecimals) }, + { key: "locked_amount", value: () => divide(tempBet[4], poolDecimals) }, + { key: "expiration", value: () => +tempBet[6] }, + { key: "normal_option", value: () => true }, + { + key: "state", + value: () => { + if (+tempBet[6] < currentEpoch && tempBet[1] == 1) { + return "pending"; + } + return stateMapping[tempBet[1]]; + }, + }, + { key: "size", value: () => divide(tempBet[3], poolDecimals) }, + { key: "option_type", value: () => tempBet[7] }, + { key: "is_yes", value: () => tempBet[8] }, + { key: "is_above", value: () => tempBet[9] }, + { key: "price_at_expiry", value: () => divide(tempBet[12], 8) }, + { key: "deposit_token", value: () => depositTokenName }, + { key: "txn_token", value: () => depositTokenName }, + { key: "payout", value: () => betPayout }, + { + key: "net_pnl", + value: () => subtract(betPayout, divide(tempBet[10], poolDecimals)), + }, + { key: "roi", value: () => betPayout }, + ]; + else + return [ + { key: "creation_date", value: () => +tempBet[10] }, + { key: "strike", value: () => divide(tempBet[7], 8) }, + { key: "total_fee", value: () => divide(tempBet[3], poolDecimals) }, + { key: "slippage", value: () => divide(tempBet[8], 2) }, + { key: "premium", value: () => divide(tempBet[5], poolDecimals) }, + { key: "locked_amount", value: () => divide(tempBet[4], poolDecimals) }, + { key: "normal_option", value: () => false }, + { + key: "expiration", + value: () => +tempBet[11], + }, + { + key: "state", + value: () => (marketIndex == 0 ? "queued" : "cancelled"), + }, + marketIndex == 0 && { + key: "queue_id", + value: () => tempBet[0], + }, + { key: "size", value: () => divide(tempBet[3], poolDecimals) }, + { key: "option_type", value: () => tempBet[7] }, + { key: "is_yes", value: () => tempBet[8] }, + { key: "is_above", value: () => tempBet[5] }, + { key: "price_at_expiry", value: () => divide(tempBet[12], 8) }, + { key: "deposit_token", value: () => depositTokenName }, + { key: "txn_token", value: () => depositTokenName }, + { key: "payout", value: () => betPayout }, + { + key: "net_pnl", + value: () => subtract(betPayout, divide(tempBet[10], poolDecimals)), + }, + { key: "roi", value: () => betPayout }, + ]; +} diff --git a/src/Views/BinaryOptions/MarketTimingWarning.tsx b/src/Views/BinaryOptions/MarketTimingWarning.tsx new file mode 100644 index 0000000..d2fda9b --- /dev/null +++ b/src/Views/BinaryOptions/MarketTimingWarning.tsx @@ -0,0 +1,39 @@ +import useStopWatch from "@Hooks/Utilities/useStopWatch"; +import { useAtomValue } from "jotai"; +import { IconType, LeftBorderedDiv } from "@Views/Common/LeftBorderedDiv"; +import { knowTillAtom } from "./Hooks/useIsMerketOpen"; + +interface IMarketTimingWarning {} + +const MarketTimingWarning: React.FC = ({}) => { + const knowTill = useAtomValue(knowTillAtom); + + const data = useStopWatch(knowTill.date / 1000); + if (knowTill.date === null) return <>; + let type: IconType = "retry"; + if (!knowTill.open) { + type = "timer"; + } + return ( + +
+ {!knowTill.date + ? "Fetching Updated Market Status..." + : knowTill.date == -1 + ? "Market is Closed for the day! Come back tomorrow." + : knowTill.open + ? `Market is Open Currently! Closing in ${data}` + : `Market is Closed Currently! Opening in ${data}`} +
+
+ ); +}; + +export { MarketTimingWarning }; diff --git a/src/Views/BinaryOptions/MarketTimingsInfo.tsx b/src/Views/BinaryOptions/MarketTimingsInfo.tsx new file mode 100644 index 0000000..901eb0f --- /dev/null +++ b/src/Views/BinaryOptions/MarketTimingsInfo.tsx @@ -0,0 +1,28 @@ +import { Popover } from "@mui/material"; +import { useSetAtom } from "jotai"; +import { useState } from "react"; +import BufferTable from "@Views/Common/BufferTable"; +import { CellContent } from "@Views/Common/BufferTable/CellInfo"; +import { LeftBorderedDiv } from "@Views/Common/LeftBorderedDiv"; +import { TableHeader } from "@Views/Pro/Common/TableHead"; +import { DropdownArrow } from "@SVG/Elements/DropDownArrow""; +import { ForexTimingsModalAtom } from "./PGDrawer/CustomOption"; + +interface IMarketTimingsInfo {} + +const MarketTimingsInfo: React.FC = ({}) => { + const setTimingsModal = useSetAtom(ForexTimingsModalAtom); + + return ( + <> +
setTimingsModal(true)} + > + Market Timings +
+ + ); +}; + +export { MarketTimingsInfo }; diff --git a/src/Views/BinaryOptions/MarketTimingsModal.tsx b/src/Views/BinaryOptions/MarketTimingsModal.tsx new file mode 100644 index 0000000..2d9e609 --- /dev/null +++ b/src/Views/BinaryOptions/MarketTimingsModal.tsx @@ -0,0 +1,106 @@ +import { Dialog } from "@mui/material"; +import { useAtom } from "jotai"; +import { ShareModalStyles } from "./Components/shareModal"; +import { ForexTimingsModalAtom } from "./PGDrawer/CustomOption"; +import { CloseOutlined } from "@mui/icons-material"; +import { TableHeader } from "@Views/Pro/Common/TableHead"; +import { CellContent } from "@Views/Common/BufferTable/CellInfo"; +import BufferTable from "@Views/Common/BufferTable"; +interface IMarketTimingsModal {} +const headNameArray = ["Day of the week", "Market open/close"]; +const dataArr = [ + [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday", + ], + [ + "Open all day", + "Open all day", + "Open all day", + "Open all day", + "Closed from 16:00 GMT", + "Open all day", + "Open from 17:00 GMT", + ], +]; +const MarketTimingsModal: React.FC = ({}) => { + const [show, setShow] = useAtom(ForexTimingsModalAtom); + const closeModal = () => setShow(false); + + const HeaderFomatter = (col: number) => { + return ( + + ); + }; + const BodyFormatter = (row: number, col: number) => { + return ( + + ); + }; + + return ( + + + +
+ +
+
+ Additionally, there are the following holidays where market are + closed throughout the day: +
+
1.  January 1st - 3rd
+
2.  December 25th - 27th
+
+
+
+
+ ); +}; + +const ModalButton = ({ children, className, onClick }) => { + return ( + + ); +}; + +const ModalHeader = ({ onClick, header, className }) => { + return ( +
+
{header}
+ +
+ ); +}; + +export { MarketTimingsModal }; diff --git a/src/Views/BinaryOptions/OrderBookComponents/BuyModal/index.tsx b/src/Views/BinaryOptions/OrderBookComponents/BuyModal/index.tsx new file mode 100644 index 0000000..6fc880d --- /dev/null +++ b/src/Views/BinaryOptions/OrderBookComponents/BuyModal/index.tsx @@ -0,0 +1,401 @@ +import { Skeleton } from '@mui/material'; + +import { useGlobal } from '@Contexts/Global'; +import { useAtom } from 'jotai'; +import React, { ReactNode, useMemo, useState } from 'react'; +import { getRes, postRes } from '@Utils/apis/api'; +import useConnectionDrawer from '@Hooks/Utilities/useOpenConnectionDrawer'; +import getContract from '@Utils/Contract/getContract'; +import { useConnectModal} from '@rainbow-me/rainbowkit' + +import { getDisplayDate } from '@Utils/Dates/displayDateTime'; +import { toFixed } from '@Utils/NumString'; +import { gt } from '@Utils/NumString/stringArithmatics'; +import BufferInput from '@Views/Common/BufferInput'; +import ToggleButton from '@Views/Common/BufferToggleButton'; +import ButtonLoader from '@Views/Common/ButtonLoader/ButtonLoader'; +import { PrimaryActionBtn } from '@Views/Common/Buttons'; +import BlueChip from '@Views/Common/Chips'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { BetType, isDrawerOpen, Modal, SelectedBet } from '../../store'; +import { Background } from './style'; +import { IBinaryBet, useAllBets } from '../../Tables/OrderBookTable'; +import Link from 'react-router-dom'; +import EnterIcon from 'src/SVG/buttons/enter'; +import { QuickTradeExpiry } from '../../PGDrawer'; +import getNodeUrl from '@Utils/Contract/getNodeUrl'; +import { memoize } from '@Utils/memoize'; +import { useAccount } from 'wagmi'; +import { useUserAccount } from '@Hooks/useUserAccount'; + +interface IContractArgs { + contract: string; + abi: any[]; +} + +interface IStatsApiParams { + amount: string; + contract_address: string; + environment: string; + strike: string; + is_yes: boolean; + is_above: boolean; + expiry: number; +} +interface IBinaryStat { + max_loss: number; + max_payout: number; + implied_probability: number; + odds: number; + expiry: number; + premium: number; + settlement_fee: number; + size: number; + token_price: number; + total_fee: number; + token_balance: number; +} + +const fetchContract = async (token, environment) => { + const [res, err] = await getRes('binary/contracts/', { + params: { + token, + environment, + contract_type: 'BINARY_OPTIONS', + }, + }); + if (err) return; + + return res.options; +}; +const fetchContractMemoized = memoize(fetchContract); + +export default function BuyModal() { + // const [isyes] = useAtom(BetType); + const [userInput, setUserInput] = useState('1'); + const [toggle] = useAtom(BetType); + const [isyes, setIsyes] = useAtom(BetType); + const { state } = useGlobal(); + const { address: account } = useUserAccount(); + + const { handleApproveClick, buyHandler, loading, approvedAmm, currStats } = + useBinaryActions(userInput, isyes); + const selectedData = useSelectedBet(); + + // useEffect(() => { + // setIsYes(toggle); + // }, [toggle, selectedData]); + + const dataArr = selectedData && [ + { + head: 'Implied Probability', + desc: ( + + ), + }, + { + head: 'Odds', + desc: selectedData.odds + 'X', + }, + + { + head: 'Expiration Date', + desc: getDisplayDate(selectedData.expiration), + }, + ]; + const openWalletModal = useConnectionDrawer(); + const [, setIsConnectionDrawerOpen] = useAtom(isDrawerOpen); + + const approveDisabled = gt(approvedAmm || '0', userInput || '0'); + const noBalance = gt(userInput || '0', state.user.balance || '0'); + const buyDisabled = gt( + userInput || '0', + selectedData?.max_amount.toString() || '0' + ); + + const { openConnectModal } = useConnectModal(); + + + + if (!selectedData || !state.settings.activeAsset?.txn_tokens?.length) + return ( + + + + ); + let btns = ( +
+ {' '} + handleApproveClick() + : console.log + } + // approveDisabledd={true} + > + {loading === 1 ? : '1. Approve'} + + + {loading === 2 ? : '2. Buy'} + +
+ ); + + if ( + approvedAmm === undefined || + approvedAmm == null || + state.user.balance === undefined || + state.user.balance === null + ) { + btns = ( +
+ +
+ ); + } + if (!account || !library) { + btns = ( +
+ + Connect Wallet + +
+ ); + } + + const token = state.settings.activeAsset.txn_tokens[0]; + + return ( + +
+
+
Buy
+ +
+ + { + setIsyes(!isyes); + }} + value={isyes} + /> +
+
+
+
+ token + + + Close {selectedData.is_above ? 'above' : 'below'}  + + + +
+ } + className={'items-start'} + /> +
+ {/*
} + desc={""} + className={"items-end"} + /> */} +
+ +
+ {dataArr ? ( + dataArr.map((data, idx) => ( + + )) + ) : ( + + )} +
+
+

Bet Amount

+ {noBalance && ( +
+  (You don't have enough iBFR) +
+ )} +
+ { + setUserInput(newValue); + }} + value={userInput} + placeholder="Enter Amount" + unit={ + + } + inputType="number" + className="full-width xxxsmr bgColor" + ipClass="bgColor" + numericValidations={ + selectedData.max_amount && { + max: { + val: selectedData.max_amount + '', + error: ( +
+ Maximum Amount is : {' '} + +
+ ), + }, + min: { + val: '1', + error: gt(selectedData.max_amount.toString(), '1') + ? 'Bet amount must be atleast 1 iBFR' + : "Liquidity isn't available.", + }, + } + } + /> +
+
+ +
+ + iBFR Faucet +
+ + {state.settings.activeChain.nativeAsset.faucet && ( + +
+ + {state.settings.activeChain.nativeAsset.name} Faucet +
+
+ )} +
+

+ Max Amount{' '} + +

+
+
+
+ {currStats ? ( +
+ + } + /> + + } + /> +
+ ) : ( + + )} + {btns} +
+
+ + ); +} + +const DataBox = ({ + head, + desc, + className, +}: { + head: ReactNode; + desc: ReactNode; + className?: string; +}) => { + return ( +
+

{head}

+

{desc}

+
+ ); +}; + +const HeroData = ({ head, desc, className }) => { + return ( +
+

{head}

+

{desc}

+
+ ); +}; + +export const useSelectedBet = (isQuickTrade?: {}): + | IBinaryBet + | { expiration: number } => { + const { state } = useGlobal(); + const [selectedBet] = useAtom(SelectedBet); + const data = useAllBets(); + const [currentTime, setCurrentTime] = useAtom(QuickTradeExpiry); + + if (isQuickTrade) { + return { + expiration: currentTime, + }; + } + + const selectedData = useMemo(() => { + if (selectedBet == null || !data || !data.length) return null; + if (selectedBet >= data.length || selectedBet < 0) return null; + return data[selectedBet]; + }, [data, selectedBet]); + + return selectedData; +}; diff --git a/src/Views/BinaryOptions/OrderBookComponents/BuyModal/style.ts b/src/Views/BinaryOptions/OrderBookComponents/BuyModal/style.ts new file mode 100644 index 0000000..0bd7f84 --- /dev/null +++ b/src/Views/BinaryOptions/OrderBookComponents/BuyModal/style.ts @@ -0,0 +1,137 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + width: 43rem; + height: 40rem; + p { + margin: 0; + } + .buyModalSkel { + width: 39rem; + height: 39rem; + border-radius: 1.4rem; + } + .headd { + color: var(--text-6); + font-size: 1.4rem; + } + .ip_skel { + width: 43rem; + height: 4.7rem; + border-radius: 0.8rem; + } + + .ibfr-faucet-link { + &:hover { + text-decoration: underline; + } + svg { + transform: scale(0.7); + transform-origin: bottom; + + object-fit: cover; + } + } + .btn-skels { + width: 100%; + height: 4.2rem; + border-radius: 1rem; + } + .btn-skelss { + width: 21rem; + height: 4.2rem; + border-radius: 1rem; + } + .dta { + min-width: 21rem; + display: flex; + } + .descc { + color: var(--text-1); + font-size: 1.6rem; + margin-top: 3px; + } + .border-div { + width: 100%; + height: 1px; + background-color: var(--bg-14); + transform: scaleX(1.15); + margin-top: 1.5rem; + margin-bottom: 3rem; + } + .hero-head { + color: var(--text-1); + font-size: 1.4rem; + } + .bottom-container { + display: flex; + width: 100%; + align-items: center; + column-gap: 1rem; + justify-content: space-between; + } + .hero-desc { + color: var(--text-1); + font-size: 1.4rem; + } + .data-row { + gap: 6rem; + } + .image-wrapper { + width: auto; + height: 3.2rem; + margin-right: 0.7rem; + } + .btn-container { + display: flex; + column-gap: 1.3rem; + &.connect-btn { + width: 17rem; + } + } + + .button { + font-family: Relative Pro; + font-size: 1.4rem; + padding: 0.5rem 0.1rem; + width: 9rem; + /* min-width: 14rem; */ + white-space: nowrap; + &.full-width { + width: 100%; + } + + &.disbale { + background: var(--bg-8); + color: var(--text-6); + + cursor: not-allowed; + &:hover { + transform: none; + } + } + } + .max-button { + color: var(--bg-20); + :hover { + color: var(--primary); + cursor: pointer; + } + } + .bgColor { + .background { + background-color: var(--dropdown-hover); + /* background-color: var(--calc); */ + } + } + .cancel { + background-color: var(--dropdown-hover); + color: var(--text-6); + border: none; + } + .last-row { + gap: 8rem; + } +`; + +export { Background }; diff --git a/src/Views/BinaryOptions/OrderBookComponents/GraphModal/index.tsx b/src/Views/BinaryOptions/OrderBookComponents/GraphModal/index.tsx new file mode 100644 index 0000000..d93fa48 --- /dev/null +++ b/src/Views/BinaryOptions/OrderBookComponents/GraphModal/index.tsx @@ -0,0 +1,43 @@ +import React, { useEffect } from "react"; +import Background from "./style"; +import { IconButton } from "@mui/material"; +import CrossIcon from "src/SVG/buttons/cross"; +import { + initializeGraphModal, + initializeTradingView, +} from "@Utils/appControls/initializeTradingView"; +import { useGlobal } from "@Contexts/Global"; +import { graph } from "@Views/BinaryOptions/store"; +import { useAtom } from "jotai"; +interface IGraphModal { + isOption?: boolean; +} +//deploy +const GraphModal: React.FC = () => { + const { state } = useGlobal(); + const [isGraphOpen, setIsGraphOpen] = useAtom(graph); + + useEffect(() => { + if (!state.settings.activeChain || !isGraphOpen) return; + initializeGraphModal( + state.settings.activeAsset?.name || "BNB", + // state.isDarkMode + true + ); + }, [state.settings.activeAsset, state.isDarkMode, isGraphOpen]); + return ( + + { + setIsGraphOpen(false); + }} + > + + +
+
+ ); +}; + +export default GraphModal; diff --git a/src/Views/BinaryOptions/OrderBookComponents/GraphModal/style.ts b/src/Views/BinaryOptions/OrderBookComponents/GraphModal/style.ts new file mode 100644 index 0000000..3ff8f41 --- /dev/null +++ b/src/Views/BinaryOptions/OrderBookComponents/GraphModal/style.ts @@ -0,0 +1,48 @@ +import styled from "styled-components"; + +const Background = styled.div` + position: absolute; + width: 100%; + top: 0; + left: 0; + transition: transform 300ms ease-in; + height: 100%; + transform: translate(0px, 400px) scaleY(0); + opacity: 0; + background-color: var(--bg-23); + z-index: 1000; + &.active { + opacity: 1; + transform: translate(0px, 0px) scaley(1); + } + @media (max-width: 600px) { + position: fixed; + + height: 70vh; + top: 50%; + left: 50%; + width: 90vw; + &.active { + transform: translate(-50%, -50%) scaley(1); + } + } + #graphmodal { + height: 100%; + width: 100%; + max-width: 100%; + overflow: hidden; + /* z-index: 1000; */ + border-top-left-radius: 1.4rem; + border-top-right-radius: 1.4rem; + } + .icon-btn { + z-index: 1300; + position: absolute; + top: 0px; + right: 0px; + color: var(--bg-sec-d); + padding: 0rem; + transform: scale(1.1) translate(20%, -20%); + } +`; +export default Background; diff --git a/src/Views/BinaryOptions/PGDrawer/ActiveAsset.tsx b/src/Views/BinaryOptions/PGDrawer/ActiveAsset.tsx new file mode 100644 index 0000000..a319211 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/ActiveAsset.tsx @@ -0,0 +1,136 @@ +import { atom, useAtom, useAtomValue } from 'jotai'; +import { + getPriceFromKlines, + marketPriceAtom, +} from 'src/TradingView/useDataFeed'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { Background as AssetBackground } from '@Views/Common/v2-AssetDropDown/style'; +import { activeAssetStateAtom, useQTinfo } from '..'; +import NumberTooltip from '@Views/Common/Tooltips'; +import { useEffect, useState } from 'react'; +import Background from '../Favourites/style'; +import { FavouriteAssetDD } from '../Favourites/FavouriteAssetDD'; +import { DropdownArrow } from '@SVG/Elements/DropDownArrow'; +import { toFixed } from '@Utils/NumString'; +import { LastDayChange } from '../Favourites/LastDayChange'; +import { useActivePoolObj } from './PoolDropDown'; +import { useReadCall } from '@Utils/useReadCall'; +import BinaryOptionsABI from '../ABI/optionsABI.json'; +import { divide, multiply, subtract } from '@Utils/NumString/stringArithmatics'; +import { arbitrum } from 'wagmi/chains'; + +export const chartReadyAtom = atom(false); +const setDoccumentTitle = (title) => { + document.title = title; +}; +let boostedPayout = null; +let fullPayout = null + +export const ActiveAsset = () => { + const qtInfo = useQTinfo(); + const singleAsset = qtInfo.activePair; + const [marketPrice] = useAtom(marketPriceAtom); + const currentPrice = getPriceFromKlines(marketPrice, qtInfo.activePair); + const [isOpen, setIsOpen] = useState(false); + const { activePoolObj } = useActivePoolObj(); + const activeAssetStateHookData = useAtomValue(activeAssetStateAtom); + const response = useReadCall({ + contracts: [ + { + address: qtInfo.activePair.pools[0].options_contracts.current, + abi: BinaryOptionsABI, + name: 'baseSettlementFeePercentageForAbove', + params: [], + }, + ], + }).data?.[0]?.[0]; + const fullPayout = + activeAssetStateHookData.payouts?.[ + activePoolObj?.options_contracts.current + ]; + if(response && fullPayout ){ + let base = subtract('100',multiply('2',divide(response,2))) +boostedPayout = subtract(fullPayout,base); + console.log(`boostedPayout: `,boostedPayout); + } + + const title = currentPrice + ? toFixed(currentPrice, singleAsset.price_precision.toString().length) + + ' | ' + + singleAsset.tv_id + : ''; + console.log(`title: `, title); + setDoccumentTitle(title); + if (!singleAsset) return null; + return ( + + {isOpen && ( + <> + + + +
setIsOpen(false)}>
+ + )} + +
+ Selected Pair +
+
+
+ +
+
+ + + {currentPrice ? ( + + ) : ( + <> + Fetching... + + )} + +
+ +
+
+ +
+ {fullPayout ? '+' + fullPayout + '%' : 'loading...'}  + {boostedPayout && boostedPayout !== '0'? ( + + {'(' + boostedPayout + '% Boosted)'} + + ) : null} +
+
+
+
+ +
+
+
+
+
+
+ ); +}; diff --git a/src/Views/BinaryOptions/PGDrawer/BuyUsdcLink.tsx b/src/Views/BinaryOptions/PGDrawer/BuyUsdcLink.tsx new file mode 100644 index 0000000..2ead244 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/BuyUsdcLink.tsx @@ -0,0 +1,38 @@ +import React, { ReactNode } from "react"; + +export function BuyUSDCLink({ token }: { token: "USDC" | "BFR" }) { + const isTestnet = import.meta.env.VITE_ENV === "TESTNET"; + const link = isTestnet + ? `https://testnet.buffer.finance/ARBITRUM/faucet` + : token === "USDC" + ? "https://app.uniswap.org/#/tokens/arbitrum/0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" + : "https://app.uniswap.org/#/tokens/arbitrum/0x1a5b0aaf478bf1fda7b934c76e7692d722982a6d"; + return ( + +
+ {/* */} + Buy {token} +
+
+ ); +} +export const BufferRedirectionLink: React.FC<{ + newTab?: boolean; + children?: ReactNode; + className?: string; + link?: string; +}> = ({ newTab, children, className, link }) => { + return ( + +
+ {/* */} + {children} +
+
+ ); +}; diff --git a/src/Views/BinaryOptions/PGDrawer/CustomOption.tsx b/src/Views/BinaryOptions/PGDrawer/CustomOption.tsx new file mode 100644 index 0000000..690046c --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/CustomOption.tsx @@ -0,0 +1,294 @@ +import { Skeleton } from '@mui/material'; +import useOpenConnectionDrawer from '@Hooks/Utilities/useOpenConnectionDrawer'; +import { atom, useAtom, useAtomValue } from 'jotai'; +import { ReactNode, useEffect, useState } from 'react'; +import DownIcon from 'src/SVG/Elements/DownIcon'; +import UpIcon from 'src/SVG/Elements/UpIcon'; +import { + getPriceFromKlines, + marketPriceAtom, +} from 'src/TradingView/useDataFeed'; +import { divide, gt, lt, multiply } from '@Utils/NumString/stringArithmatics'; +import AccountInfo from '@Views/Common/AccountInfo'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { ammountAtom, approveModalAtom } from '../PGDrawer'; +import { ApproveModal } from '../Components/approveModal'; +import { BuyUSDCLink } from './BuyUsdcLink'; +import { TimeSelector } from './TimeSelector'; +import { useBinaryActions } from '../Hooks/useBinaryActions'; +import { useNetwork } from 'wagmi'; +import { useQTinfo } from '..'; +import { SettingsIcon } from './SettingsIcon'; +import { SlippageModal } from '../Components/SlippageModal'; +import YellowWarning from '@SVG/Elements/YellowWarning'; +import { DurationPicker } from './DurationPicker'; +import { knowTillAtom } from '../Hooks/useIsMerketOpen'; +import { useActivePoolObj } from './PoolDropDown'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import { MarketTimingWarning } from '../MarketTimingWarning'; +import { BlueBtn, GreenBtn, RedBtn } from '@Views/Common/V2-Button'; +import { useActiveChain } from '@Hooks/useActiveChain'; +import { getChains } from 'src/Config/wagmiClient'; +import { useConnectModal} from '@rainbow-me/rainbowkit' +import { ConnectionRequired } from '@Views/Common/Navbar/AccountDropdown'; + +export const ForexTimingsModalAtom = atom(false); + +export function CustomOption() { + const [amount, setAmount] = useAtom(ammountAtom); + const { address: account } = useUserAccount(); + const { openConnectModal } = useConnectModal(); + const [isApproveModalOpen, setIsApproveModalOpen] = useAtom(approveModalAtom); + const { + handleApproveClick, + buyHandler, + loading, + currStats, + activeAssetState, + } = useBinaryActions(amount, true, true); + + const [balance, allowanceWei, maxTrade] = activeAssetState; + const UpHandler = () => { + if (!account) return openConnectModal?.(); + if (lt(allowance || '0', amount.toString() || '0')) + return setIsApproveModalOpen(true); + buyHandler({ is_up: true }); + }; + + const DownHandler = () => { + if (!account) return openConnectModal?.(); + if (lt(allowance || '0', amount.toString() || '0')) + return setIsApproveModalOpen(true); + buyHandler({ is_up: false }); + }; + + useEffect(() => { + if (isApproveModalOpen && account) { + setIsApproveModalOpen(false); + } + }, [account]); + const knowTill = useAtomValue(knowTillAtom); + const { chain } = useNetwork(); + const chains = getChains(); + const { activeChain } = useActiveChain(); + const activeChainName = activeChain?.name; + const qtInfo = useQTinfo(); + const [marketPrice] = useAtom(marketPriceAtom); + const activeAsset = qtInfo?.activePair; + const [isOpen, setIsOpen] = useState(false); + const { activePoolObj } = useActivePoolObj(); + const isForex = activeAsset.category === 'Forex'; + // useIsMarketOpen(); + const isMarketOpen = knowTill.open && isForex; + const allowance = divide(allowanceWei, activePoolObj.token.decimals); + // const [rpcState] = useRPCchecker(); + if (!activeAsset) return null; + const activeAssetPrice = getPriceFromKlines(marketPrice, activeAsset); + let MarketOpenWarning: ReactNode | null = null; + if (activeAsset.category == 'Forex') { + MarketOpenWarning = ; + } + return ( + <> + setIsOpen(false), + loading: false, + }} + /> + { + handleApproveClick( + !isChecked + ? multiply(amount, activePoolObj.token.decimals) + : undefined + ); + }} + isOpen={isApproveModalOpen} + closeModal={() => setIsApproveModalOpen(false)} + loading={loading as number} + /> + +
+
+
Select Duration
+ +
+ +
+ Trade Size + +
+ + You don't have enough {activePoolObj.token.name}.  + +
+ ), + }} + />{' '} +
+ +
+ {/* TODO at 180, marketPrice?.[activeAsset.tv_id]?.close always return false, since marketPrice?.[activeAsset.tv_id] is an array */} + {(currStats && currStats.max_loss && currStats.max_payout) || + (marketPrice?.[activeAsset.tv_id]?.close && currStats?.max_payout) ? ( +
+
+ Payout :  + +
+
+ Profit :  + {' '} +
+
+ ) : ( + + )} + + + + + {allowance == null || !activeAssetPrice ? ( + + ) : lt(allowance, amount.toString() || '0') ? ( + { + account ? setIsApproveModalOpen(true) : openConnectModal?.(); + }} + > + Approve + + ) : ( + <> +
+ + <> + + Up + + + + <> + + Down + + +
+
+ !account ? openConnectModal?.() : handleApproveClick('0') + } + > + Revoke Approval +
+ + )} +
+
+ + {MarketOpenWarning} +
+ + ); +} + +const MaxSizeComponent = ({ + maxSize, + unit, + userInput, +}: { + maxSize: string; + unit: string; + userInput: string; +}) => { + const isMaxCrossed = maxSize && gt(userInput || '0', maxSize); + return ( +
+ {isMaxCrossed && ( + + )} +    + Max : + {maxSize ? ( + + ) : ( + '-' + )} +
+ ); +}; diff --git a/src/Views/BinaryOptions/PGDrawer/DateDropdown.tsx b/src/Views/BinaryOptions/PGDrawer/DateDropdown.tsx new file mode 100644 index 0000000..f44f719 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/DateDropdown.tsx @@ -0,0 +1,49 @@ +import { useAtom } from "jotai"; +import { useEffect } from "react"; +import { getDisplayDate } from "@Utils/Dates/displayDateTime"; +import BufferDropdown from "@Views/Common/BufferDropdown"; +import { DateDropDownStyles } from "./style"; +import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; + +export const DateDropdown = ({ dateList }) => { + const [selectedDate, setSelectedDate] = useAtom(DateAtom); + + useEffect(() => { + setSelectedDate(dateList[0]); + }, [dateList]); + + return ( + + ( +
+ {selectedDate && !selectedDate[0] + ? getDisplayDate(selectedDate as number) + : "All dates"} + +
+ )} + initialActive={0} + item={(singleItem, handleClose, onChange, active) => ( +
{ + // setSelectedDate(1); + setSelectedDate(singleItem); + }} + > + {!singleItem[0] ? getDisplayDate(singleItem) : "All Dates"} +
+ )} + /> +
+ ); +}; diff --git a/src/Views/BinaryOptions/PGDrawer/DrawerChild.tsx b/src/Views/BinaryOptions/PGDrawer/DrawerChild.tsx new file mode 100644 index 0000000..a2d09cb --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/DrawerChild.tsx @@ -0,0 +1,49 @@ +import { useAtom } from "jotai"; +import ToggleButton from "@Views/Common/BufferToggleButton"; +import AssetDropDown from "@Views/Common/v2-AssetDropDown"; +import { verticalTab } from "@Views/Common/VerticalTabs"; +import PGTable from "../Tables/OrderBookTable"; +import { BetType, dates } from "../store"; +import { Background } from "./style"; +import { ActiveAsset } from "./ActiveAsset"; +import { CustomOption } from "./CustomOption"; +import { DateDropdown } from "./DateDropdown"; + +export const DrawerChild = () => { + const [dateList] = useAtom(dates); + const [activeVerticalTab] = useAtom(verticalTab); + const [isyes, setIsyes] = useAtom(BetType); + return ( + +
+ {activeVerticalTab !== 0 ? ( + + ) : ( + + )} +
+ {activeVerticalTab !== 0 ? ( +
+
+ { + setIsyes(!isyes); + }} + value={isyes} + /> + +
+ +
+ +
+
+ ) : ( + + )} + + {/** Mobile Drawer */} + {/* {window.innerWidth < 600 && } */} +
+ ); +}; diff --git a/src/Views/BinaryOptions/PGDrawer/DurationPicker.tsx b/src/Views/BinaryOptions/PGDrawer/DurationPicker.tsx new file mode 100644 index 0000000..49faa57 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/DurationPicker.tsx @@ -0,0 +1,130 @@ +import { useAtom } from "jotai"; +import React, { useEffect, useState } from "react"; +import EditIcon from "public/ComponentSVGS/Edit"; +import { QuickTradeExpiry } from "."; +import { useQTinfo } from ".."; +import { getUserError, TimeSelector, timeToMins } from "./TimeSelector"; + +export const DurationPicker = () => { + const qtInfo = useQTinfo(); + const activeAsset = qtInfo.activePair; + const [currentTime, setCurrentTime] = useAtom(QuickTradeExpiry); + const [, setDur] = useState(0); + const [openCustomInput, setOpenCustomInput] = useState(false); + const oneSec = 1000; + const durations = [ + { + duration: 5 * 60 * oneSec, + time: "00:05", + name: ["5", "Min"], + }, + { + duration: 15 * 60 * oneSec, + time: "00:15", + name: ["15", "Min"], + }, + { + duration: 60 * 60 * oneSec, + time: "01:00", + name: ["1", "Hour"], + }, + { + duration: 4 * 60 * 60 * oneSec, + time: "04:00", + name: ["4", "Hour"], + }, + { + duration: 24 * 60 * 60 * oneSec, + time: "23:59", + name: ["24", "Hour"], + }, + ]; + + useEffect(() => { + if (!currentTime) return; + localStorage.setItem("exp", currentTime); + const activeDuration = durations.find( + (item) => item.duration === timeToMins(currentTime) * 60 * oneSec + ); + if (!activeDuration) setOpenCustomInput(true); + }, [currentTime]); + + return ( + <> +
+
+ {durations.map((single, idx) => { + const isLastElement = idx === durations.length - 1; + const durationIntoSeconds = !isLastElement + ? single.duration + : single.duration - 60 * oneSec; + + const isDisabled = + !isLastElement && + durationIntoSeconds > + timeToMins(activeAsset.max_duration) * 60 * oneSec; + const singleDuration = isLastElement + ? single.duration - 60 * oneSec + : single.duration; + + return ( +
{ + if (isDisabled) return; + if (isLastElement) return setOpenCustomInput(true); + setCurrentTime(single.time); + setDur(idx); + setOpenCustomInput(false); + }} + className={ + "each-duration py-1 font-medium text-f12 h-[55px] transition-colors " + + ((timeToMins(currentTime) * 60 * oneSec === singleDuration && + !isDisabled && + !openCustomInput) || + (isLastElement && openCustomInput) + ? "active text-1 " + : "text-2") + + (isDisabled + ? " !cursor-not-allowed opacity-40" + : " hover:text-1 hover:brightness-150") + } + > + {isLastElement ? ( + + ) : ( + single.name.map((d) =>
{d}
) + )} +
+ ); + })} +
+ {/* {isForex && !isMarketOpen && ( +
+ + Trading is closed for Forex aseets right now. +
+ )} */} +
{" "} + {openCustomInput && ( + <> +
Time (hh:mm)
+ setCurrentTime(newValue)} + maxTime={activeAsset.max_duration} + error={{ + min: 5 * 60, + minMsg: "Can't set expiry lower than 5 mins.", + max: timeToMins(activeAsset.max_duration), + maxMsg: `Can't set expiry of more than ${getUserError( + activeAsset.max_duration + )}.`, + }} + /> + + )} + + ); +}; diff --git a/src/Views/BinaryOptions/PGDrawer/PoolDropDown.tsx b/src/Views/BinaryOptions/PGDrawer/PoolDropDown.tsx new file mode 100644 index 0000000..f3e2823 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/PoolDropDown.tsx @@ -0,0 +1,100 @@ +import BufferDropdown from '@Views/Common/BufferDropdown'; +import DDIcon from 'src/SVG/Elements/DDIcon'; +import { atom, useAtom } from 'jotai'; +import { useQTinfo } from '..'; +import { useEffect, useMemo } from 'react'; + +const activePoolAtom = atom<{ activePool: string | null }>({ + activePool: null, +}); + +export const useActivePoolObj = () => { + const [{ activePool }, setActivePool] = useAtom(activePoolAtom); + const qtInfo = useQTinfo(); + const activePair = qtInfo.activePair; + const dropdownItems = useMemo(() => { + if (!activePair) return []; + + return activePair.pools.map((pool) => pool.token.name); + }, [activePair]); + + useEffect(() => { + setActivePool({ activePool: dropdownItems[0] }); + }, [activePair]); + + const activePoolObj = useMemo(() => { + if (activePool && activePair) { + const pool = activePair.pools.find((pair) => pair.token === activePool); + if (pool) return pool; + else return activePair.pools[0]; + } else return activePair.pools[0]; + }, [activePair, activePool]); + + return { activePoolObj, dropdownItems }; +}; + +export const PoolDropDown = () => { + const [{ activePool }, setActivePool] = useAtom(activePoolAtom); + + const { dropdownItems } = useActivePoolObj(); + if (dropdownItems.length === 1) + return ( +
+ + {activePool} +
+ ); + return ( + ( +
+ + {activePool} + +
+ )} + item={(singleItem, handleClose, onChange, activel) => ( + + )} + /> + ); +}; diff --git a/src/Views/BinaryOptions/PGDrawer/SettingsIcon.tsx b/src/Views/BinaryOptions/PGDrawer/SettingsIcon.tsx new file mode 100644 index 0000000..2528a66 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/SettingsIcon.tsx @@ -0,0 +1,16 @@ +export const SettingsIcon = (props) => ( + + + +); diff --git a/src/Views/BinaryOptions/PGDrawer/TimeSelector.tsx b/src/Views/BinaryOptions/PGDrawer/TimeSelector.tsx new file mode 100644 index 0000000..06b8092 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/TimeSelector.tsx @@ -0,0 +1,382 @@ +import styled from "@emotion/styled"; +import { Add, Remove } from "@mui/icons-material"; +import React, { ReactNode, useEffect, useRef } from "react"; +import ErrorIcon from "src/SVG/Elements/ErrorIcon"; +import BN from "bn.js"; +import Big from "big.js"; +import { useToast } from "@Contexts/Toast"; +import { lt } from "@Utils/NumString/stringArithmatics"; +import { PoolDropDown } from "./PoolDropDown"; + +const TimeSelectorStyles = styled.div` + display: flex; + border-radius: 0.7rem; + /* overflow: hidden; */ + .token-dd { + border-top-right-radius: 0.7rem; + border-bottom-right-radius: 0.7rem; + } + .timeRef { + width: 100%; + } + .dd-items { + border-radius: 4px !important; + padding: 7px 10px; + padding-bottom: 9px; + font-size: 15px; + } + + .timetip { + /* width: fit-content; */ + background: transparent; + /* color: var(--text-1); */ + outline: none; + border: none; + /* font-size: 18px; */ + /* font-weight: 600; */ + /* width: 20rem; */ + /* color: white; */ + &.number { + text-align: center; + width: 100%; + } + } + + button { + :hover { + cursor: pointer; + } + } + + .date-container { + width: 100%; + display: flex; + justify-content: center; + align-items: center; + } + + .button-bg { + background-color: var(--bg-14); + border-radius: 50%; + /* width: 25px; + height: 25px; */ + /* display: flex; + justify-content: center; + align-items: center; */ + color: var(--text-1); + /* position: relative; */ + } + + .dd { + display: grid; + grid-template-columns: auto auto auto; + background-color: var(--bg-23); + gap: 0.5rem; + padding: 0.5rem; + border-radius: 0.4rem; + position: absolute; + top: 4rem; + left: 0; + right: 0; + margin: auto; + width: fit-content; + /* bottom: 0; */ + z-index: 100; + } + .dd-item { + background-color: var(--time-selector-bg); + text-align: center; + font-weight: 400; + font-size: 1.2rem; + border-radius: 0.4rem; + padding: 1.1rem 0.7rem; + } +`; + +export function timeToMins(time) { + if (!time) return; + if (typeof time !== "string") return; + var b = time.split(":"); + + return +b[0] * 60 + +b[1]; +} + +// Convert minutes to a time in format hh:mm +// Returned value is in range 00 to 24 hrs +export function timeFromMins(mins) { + function z(n) { + return (n < 10 ? "0" : "") + n; + } + var h = ((mins / 60) | 0) % 24; + var m = mins % 60; + return z(h) + ":" + z(m); +} + +export function getUserError(maxTimeInHHMM: string) { + let hours = maxTimeInHHMM.toString().split(":")[0]; + let minutes = maxTimeInHHMM.toString().split(":")[1]; + if (hours.charAt(0) == "0") hours = hours.charAt(1); + if (minutes.charAt(0) == "0") minutes = minutes.charAt(1); + let message; + if (minutes == "0") return `${hours} hours`; + else if (hours == "0") return `${minutes} minutes`; + else return `${hours} hours ${minutes} minutes`; +} + +// Add two times in hh:mm format +function addTimes(t0, t1) { + return timeFromMins(timeToMins(t0) + timeToMins(t1)); +} + +function subtractTImes(t0, t1) { + return timeFromMins(timeToMins(t0) - timeToMins(t1)); +} +const getDisplayTime = (timestamp) => { + const currentDate = new Date(); + const hours = Math.round(timestamp / 3600000); + const minutes = Math.round(timestamp / 60000); + + return `${hours.toString().padStart(2, "0")}:${minutes + .toString() + .padStart(2, "0")}`; +}; +const INT_MAX = 1e18; + +export const MINIMUM_MINUTES = 5; +export const MINUTES_IN_DAY = 24 * 60; + +export const TimeSelector = ({ + isTimeSelector, + currentTime, + setTime, + investmentDD, + max, + label, + error, + title, + maxTime = "23:59", +}: { + isTimeSelector?: boolean; + currentTime: string | number; + label?: string; + investmentDD?: boolean; + maxTime?: string; + setTime: (any) => void; + max?: number; + title?: string; + error: { + min: number; + minMsg?: ReactNode; + max: number; + maxMsg?: ReactNode; + }; +}) => { + const maxMins = parseInt(maxTime.split(":")[1]); + const maxHrs = parseInt(maxTime.split(":")[0]); + const maxTimeInMins = timeToMins(maxTime); + const currentTimeInMins = timeToMins(currentTime); + const hrsRef = useRef(null); + const minRef = useRef(null); + if (!currentTime) { + currentTime = "01:00"; + } + + useEffect(() => { + if (currentTimeInMins > maxTimeInMins) { + hrsRef.current.value = maxHrs; + minRef.current.value = maxMins; + setTime(hrsRef.current.value + ":" + minRef.current.value); + } + }, [maxTimeInMins]); + + useEffect(() => { + if (!hrsRef.current || !minRef.current) return; + // if (currentTimeInMins > maxTimeInMins) { + // hrsRef.current.value = maxHrs; + // minRef.current.value = maxMins; + // setTime(hrsRef.current.value + ":" + minRef.current.value); + // } + hrsRef.current.value = currentTime.toString().split(":")[0]; + minRef.current.value = currentTime.toString().split(":")[1]; + const listener = (e) => { + if (e.key === "ArrowRight") minRef.current?.focus(); + if (e.key === "Enter") minRef.current?.focus(); + if (e.key === "ArrowLeft") hrsRef.current?.focus(); + }; + document.addEventListener("keydown", listener); + return removeEventListener("keydown", listener); + }, [currentTime]); + + const minError = isTimeSelector + ? timeToMins(currentTime) < MINIMUM_MINUTES + : currentTime < error.min; + const maxError = isTimeSelector + ? timeToMins(currentTime) > maxTimeInMins + : currentTime > error.max; + + const btnClick = (isBack?) => { + if (isTimeSelector) { + currentTime = hrsRef.current.value + ":" + minRef.current.value; + if (isBack) { + if (currentTimeInMins > timeToMins("00:05")) { + setTime(subtractTImes(currentTime, "00:01")); + } + } else if (currentTimeInMins < timeToMins("23:59")) { + setTime(addTimes(currentTime, "00:01")); + } + } else { + setTime((time) => { + if (isBack && time > 1) { + return isBack ? +time - 1 : +time + 1; + } + if (!isBack && time < INT_MAX) { + return isBack ? +time - 1 : +time + 1; + } + + return time; + }); + } + }; + const toastify = useToast(); + + const hrsValidations = (value) => { + if (value < 0) hrsRef.current.value = 0; + if (value > 23) hrsRef.current.value = 23; + if (value.toString().length > 2) + hrsRef.current.value = value.toString().slice(0, 2); + if ( + (hrsRef.current.value === "00" || + hrsRef.current.value === "0" || + !hrsRef.current.value) && + lt(minRef.current.value || "0", "5") + ) + minRef.current.value = "5"; + // if ( + // timeToMins(hrsRef.current.value + ":" + minRef.current.value) > + // maxTimeInMins + // ) { + // hrsRef.current.value = maxHrs; + // minRef.current.value = maxMins; + // setTime(hrsRef.current.value + ":" + minRef.current.value); + // } + setTime(hrsRef.current.value + ":" + minRef.current.value); + }; + + const minValidations = (value) => { + if (value < 0) minRef.current.value = 0; + if (value > 59) minRef.current.value = 59; + if (value.toString().length > 2) + minRef.current.value = value.toString().slice(0, 2); + if ( + (hrsRef.current.value === "00" || + hrsRef.current.value === "0" || + !hrsRef.current.value) && + lt(minRef.current.value || "0", "5") + ) + minRef.current.value = "5"; + // if ( + // timeToMins(hrsRef.current.value + ":" + minRef.current.value) > + // maxTimeInMins + // ) { + // hrsRef.current.value = maxHrs; + // minRef.current.value = maxMins; + // setTime(hrsRef.current.value + ":" + minRef.current.value); + // } + setTime(hrsRef.current.value + ":" + minRef.current.value); + }; + const timestyles = "timeRef timetip text-right text-f16 font-bold"; + return ( + <> + +
+
+ + {isTimeSelector ? ( + // + // } + // /> + // +
+ hrsValidations(e.target.value)} + placeholder="00" + /> +
:
+ minValidations(e.target.value)} + placeholder="00" + /> + {/*
m
*/} +
+ ) : ( + { + if (e.target.value) { + const decimals = 6; + const valBN: BN = Big(e.target.value); + const regexArr = [ + /^\d*(\.)?(\d{0,0})?$/, + /^\d*(\.)?(\d{0,1})?$/, + /^\d*(\.)?(\d{0,2})?$/, + /^\d*(\.)?(\d{0,3})?$/, + /^\d*(\.)?(\d{0,4})?$/, + /^\d*(\.)?(\d{0,5})?$/, + /^\d*(\.)?(\d{0,6})?$/, + ]; + if (!regexArr[decimals].test(valBN.toString())) { + toastify({ + type: "error", + msg: !decimals + ? "Decimal values aren't allowed" + : "Only " + decimals + " decimal digits are allowed!", + id: "decimals", + }); + return; + } + } + if (+e.target.value < INT_MAX) setTime(e.target.value); + }} + /> + )} + + +
+
+ {investmentDD && } +
+ {(minError || maxError) && ( +
+ + {minError + ? error.minMsg || "Can't decrease from " + `"${error.min}"` + : error.maxMsg || "Can't increase from " + `"${error.max}"`} +
+ )} + + ); +}; diff --git a/src/Views/BinaryOptions/PGDrawer/index.tsx b/src/Views/BinaryOptions/PGDrawer/index.tsx new file mode 100644 index 0000000..921bd98 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/index.tsx @@ -0,0 +1,45 @@ +import React from "react"; +import Drawer from "@Views/Common/V2-Drawer"; +import { atom, useAtom } from "jotai"; +import { DrawerState } from "../store"; +import { ActiveAsset } from "./ActiveAsset"; +import { CustomOption } from "./CustomOption"; +import { Background } from "./style"; +export default function BinaryDrawer() { + const [isDrawerOpen] = useAtom(DrawerState); + + return ( + + + + + + + ); +} +export const approveModalAtom = atom(false); + +export const atomWithLocalStorage = (key, initialValue) => { + if (typeof window == "undefined") return atom({ dummy: true }); + const getInitialValue = () => { + const item = localStorage.getItem(key); + if (item !== null) { + return JSON.parse(item); + } + return initialValue; + }; + const baseAtom = atom(getInitialValue()); + const derivedAtom = atom( + (get) => get(baseAtom), + (get, set, update) => { + const nextValue = + typeof update === "function" ? update(get(baseAtom)) : update; + set(baseAtom, nextValue); + localStorage.setItem(key, JSON.stringify(nextValue)); + } + ); + return derivedAtom; +}; + +export const QuickTradeExpiry = atomWithLocalStorage("expiry", "00:05"); +export const ammountAtom = atomWithLocalStorage("ammount-v2", 100); diff --git a/src/Views/BinaryOptions/PGDrawer/style.ts b/src/Views/BinaryOptions/PGDrawer/style.ts new file mode 100644 index 0000000..28f61c2 --- /dev/null +++ b/src/Views/BinaryOptions/PGDrawer/style.ts @@ -0,0 +1,258 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + color: var(--text-6); + height: 100%; + /* max-width: 400px; + margin: 0 auto; */ + .marketTxt { + display: inline; + font-size: 1.9rem; + color: var(--text-1); + font-weight: 500; + } + .custom-h { + height: 35px; + } + .blue-link { + /* color:var(--bg-21); */ + font-size: 1.2rem; + /* margin-top:0.4rem; */ + font-weight: 500; + text-decoration: underline; + cursor: pointer; + } + .link { + cursor: hover; + color: var(--bg-20); + font-size: 1.2rem; + text-decoration: underline; + + @media only screen and (min-width: 1700px) { + font-size: 1.4rem; + } + svg { + transform: scale(0.7); + transform-origin: bottom; + margin-right: 0.2rem; + } + + a { + margin-top: -0.2rem; + text-decoration: none; + &:hover { + text-decoration: underline; + } + } + } + + div.approve-btn-styles { + background-color: transparent; + /* border: 1px solid var(--primary); */ + font-size: 1.3rem; + text-decoration: underline; + cursor: pointer; + text-align: center; + /* color: white; */ + font-weight: 400; + /* &:disabled { + cursor: not-allowed; + border: none; + } */ + + /* &:hover { + background-color: var(--time-selector-bg); + } */ + } + + .alignerGap { + gap: 1rem; + } + .custom-wrapper { + width: 100%; + /* padding: 1.4rem 0; */ + border-radius: 0.9rem; + height: 100%; + /* background-color: var(--bg-23); */ + display: flex; + flex-direction: column; + .head { + font-size: 1.4rem; + color: var(--text-6); + margin: 0; + } + .value { + color: var(--text-1); + } + } + .btn-wrapper { + display: flex; + width: 100%; + column-gap: 1rem; + } + .btn { + width: 100%; + background-color: #303044; + font-weight: 600; + color: #ff5353; + font-size: 1.6rem; + border-radius: 1rem; + font-weight: 700; + + svg { + margin-right: 0.3rem; + } + &.up { + color: var(--green); + + &:hover { + background-color: #3fb68b; + color: #ffffff; + } + } + &:hover { + background-color: #ff5353; + color: #ffffff; + } + } + .duration-container { + display: flex; + width: 100%; + align-items: center; + border-radius: 0.4rem; + border: 0.8px solid var(--border-color); + + .each-duration { + cursor: pointer; + width: 100%; + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-bottom: 4px solid var(--time-selector-bg); + padding-bottom: 6px; + padding-top: 6px; + border-top: 0.4px solid transparent; + border-left: 0.4px solid transparent; + border-right: 0.4px solid transparent; + + &.active { + border-bottom: 4px solid #a3e3ff; + background-color: var(--time-selector-bg); + border-top: 0.4px solid var(--border-color); + border-left: 0.4px solid var(--border-color); + border-right: 0.4px solid var(--border-color); + } + } + } +`; + +const DateDropDownStyles = styled.div` + .datedropdown { + padding: 1.2rem 2.3rem; + background: var(--bg-23); + /* max-width: 17rem; */ + gap: 1rem; + border-radius: 1.2rem; + font-size: 1.4rem; + font-weight: 500; + white-space: nowrap; + background-color: var(--bg19-white); + @media (max-width: 1200px) { + padding: 0.8rem 1.6rem; + } + } + + .active { + color: var(--text-1); + } + .dropdown-box > .dropdown-items { + width: 100% !important; + } + + .dateitem { + font-family: Relative Pro; + font-size: 1.3rem; + font-weight: 500; + /* text-transform: capitalize; */ + padding: 0.8rem 1.5rem; + color: var(--text-6); + /* padding-left: 2rem; */ + + :not(:first-of-type) { + /* margin-top: 0.2rem; */ + } + :hover, + .activeButton { + background-color: var(--bg-14); + color: var(--text-1); + } + } +`; + +const MobileBackground = styled.div` + .btn-skels { + width: 100%; + height: 4rem; + border-radius: 1.3rem; + } + .stat-skel { + border-radius: 1.3rem; + margin: 1rem 0; + width: 100%; + height: 6rem; + } + .btn-container { + display: flex; + column-gap: 1rem; + } + /* .theme-switcher { + .background { + width: 60px; + height: 20px; + } + .background > .theme-switcher-image { + font-size: 1.1rem; + } + .switch { + width: 33px; + height: 19px; + } + input { + &:checked + .switch { + left: 29px; + } + } + } */ + .link { + margin-top: 1rem; + cursor: hover; + color: var(--bg-20); + font-size: 1.2rem; + text-decoration: underline; + + @media only screen and (min-width: 1700px) { + font-size: 1.4rem; + } + svg { + transform: scale(0.7); + transform-origin: bottom; + margin-right: 0.2rem; + } + + a { + margin-top: -0.2rem; + text-decoration: none; + &:hover { + text-decoration: underline; + } + } + } + .lower-part { + .inputStyle { + font-size: 1.3rem; + } + } +`; +export { Background, DateDropDownStyles, MobileBackground }; diff --git a/src/Views/BinaryOptions/Tables/Desktop.tsx b/src/Views/BinaryOptions/Tables/Desktop.tsx new file mode 100644 index 0000000..6204c9a --- /dev/null +++ b/src/Views/BinaryOptions/Tables/Desktop.tsx @@ -0,0 +1,363 @@ +import BufferTable from '@Views/Common/BufferTable'; +import { CellContent, CellInfo } from '@Views/Common/BufferTable/CellInfo'; +import Background from './style'; +import { atom, useAtom, useAtomValue } from 'jotai'; +import { TableHeader } from '@Views/Pro/Common/TableHead'; +import { formatDistanceExpanded } from '@Hooks/Utilities/useStopWatch'; +import { + getDisplayDate, + getDisplayDateUTC, + getDisplayTime, + getDisplayTimeUTC, +} from '@Utils/Dates/displayDateTime'; +import { Variables } from '@Utils/Time'; +import { getIdentifier } from '@Hooks/useGenericHook'; +import NumberTooltip from '@Views/Common/Tooltips'; +import BufferCheckbox from '@Views/Common/BufferCheckbox'; +import { IQTrade, IToken } from '..'; +import { marketPriceAtom } from 'src/TradingView/useDataFeed'; +import { + AssetCell, + Cancel, + ErrorMsg, + ExpiryCurrentComponent, + PayoutChip, + ProbabilityPNL, + Share, + StopWatch, + StrikePriceComponent, + TradeSize, +} from './TableComponents'; +import { ChangeEvent, useMemo } from 'react'; +import { + IGQLHistory, + tardesAtom, + tardesTotalPageAtom, +} from '../Hooks/usePastTradeQuery'; +import { subtract } from '@Utils/NumString/stringArithmatics'; +import { useGlobal } from '@Contexts/Global'; +import { BetState } from '@Hooks/useAheadTrades'; +import useOpenConnectionDrawer from '@Hooks/Utilities/useOpenConnectionDrawer'; +import { getErrorFromCode } from '@Utils/getErrorFromCode'; + +export const tradesCount = 10; +export const visualizeddAtom = atom([]); +interface IPGDesktopTables { + configData: IQTrade; + className?: string; + + onPageChange?: (e: ChangeEvent, p: number) => void; +} + +const PGDesktopTables: React.FC = ({ + configData, + className, + onPageChange, +}) => { + const [visualized, setVisualized] = useAtom(visualizeddAtom); + const [marketPrice] = useAtom(marketPriceAtom); + const activeMarket = configData.activePair; + const { active, history, cancelled } = useAtomValue(tardesAtom); + const { + active: activePages, + history: historyPages, + cancelled: cancelledPages, + } = useAtomValue(tardesTotalPageAtom); + const { shouldConnectWallet } = useOpenConnectionDrawer(); + + const { state } = useGlobal(); + const activeTab = state.tabs.activeIdx; + const isHistoryTable = activeTab === 'History'; + const isCancelledTable = activeTab === 'Cancelled'; + const totalPages = useMemo(() => { + if (isHistoryTable) { + return historyPages; + } else if (isCancelledTable) { + return cancelledPages; + } else return activePages; + }, [activePages, historyPages, cancelledPages, activeTab]); + + const filteredData = useMemo(() => { + if (isHistoryTable) { + return history; + } else if (isCancelledTable) { + return cancelled; + } else return active; + }, [activeTab, active, history]); + + const headNameArray = useMemo(() => { + if (isHistoryTable) + return [ + 'Asset', + 'Strike Price', + 'Expiry Price', + 'Open Time', + 'Duration', + 'Close Time', + 'Trade Size', + 'Payout', + 'Status', + '', + // "Visualize", + ]; + else if (isCancelledTable) + return ['Asset', 'Strike Price', 'Trade Size', 'Status', 'Reason']; + else + return [ + 'Asset', + 'Strike Price', + 'Current Price', + 'Open Time', + 'Time Left', + 'Close Time', + 'Trade Size', + 'Probability', + 'Visualize', + ]; + }, [isHistoryTable]); + + const HeaderFomatter = (col: number) => { + return ; + }; + + const BodyFormatter: any = (row: number, col: number) => { + const currentRow: IGQLHistory = filteredData[row]; + const openTimeStamp = currentRow?.creationTime; + col = col - 1; + if (!currentRow) return; + switch (col) { + case -1: + return ( + + ); + + case 0: + return ( + , + ]} + /> + ); + + case 1: + if (isCancelledTable) return ; + return ( + + ); + + case 2: + if ( + currentRow.state === BetState.queued || + currentRow.state === BetState.cancelled + ) + return ; + else + return ( + +
+ +
+
+ ); + + case 3: + if (currentRow.state === BetState.cancelled) + return <>{getErrorFromCode(currentRow?.reason)}; + if (currentRow.state === BetState.queued) + return ; + + if (isHistoryTable) { + return ( + + ); + } + + return ( + ]} + whiteIdx={0} + /> + ); + case 4: + // if (!currentRow.normal_option) return ; + // else + if ( + currentRow.state === BetState.queued || + currentRow.state === BetState.cancelled + ) + return ; + return ( + +
+ +
+
+ ); + case 5: + return ; + case 6: + return ( + + ); + + case 7: + if (currentRow.state === BetState.queued) + return ; + else if (isHistoryTable || isCancelledTable) { + return ( + <> + + + ); + } + + let isPresentInDisabled = visualized.includes( + getIdentifier(currentRow) + ); + return ( + { + const currIdentifier = getIdentifier(currentRow); + if (isPresentInDisabled) { + let temp = [...visualized]; + temp.splice(visualized.indexOf(currIdentifier), 1); + setVisualized(temp); + } else { + setVisualized([...visualized, currIdentifier]); + } + }} + /> + ); + + case 8: + // if (!currentRow.normal_option) return ; + if ( + currentRow.state === BetState.queued || + currentRow.state === BetState.cancelled + ) + return ; + return ; + + default: + return <>; + } + }; + + return ( + + { + onPageChange ? onPageChange(e, pageNumber) : null; + }} + shouldShowTroply={false} + doubleHeight + // shouldShowMobile + headerJSX={HeaderFomatter} + bodyJSX={BodyFormatter} + cols={headNameArray.length} + rows={filteredData ? filteredData.length : 0} + widths={ + isHistoryTable + ? [ + 'auto', + 'auto', + 'auto', + 'auto', + 'auto', + 'auto', + 'auto', + '12%', + '10%', + '3%', + ] + : ['auto'] + } + onRowClick={console.log} + loading={!shouldConnectWallet && !filteredData} + error={} + /> + + ); +}; + +export default PGDesktopTables; + +export function getPendingData(currentRow: IGQLHistory, expiryPrice: string) { + console.log(`currentRow: `, currentRow); + + let payout = currentRow.amount; + let pnl = subtract(payout, currentRow.totalFee); + const currExpiryPrice = expiryPrice; + if (currExpiryPrice) { + if (currentRow.isAbove) { + if (currExpiryPrice > currentRow.strike) { + // pnl = winPayout; + } else { + // pnl = losePayout; + pnl = subtract('0', currentRow.totalFee); + payout = '0'; + } + } else { + if (currExpiryPrice < currentRow.strike) { + // pnl = winPayout; + } else { + // pnl = losePayout; + pnl = subtract('0', currentRow.totalFee); + payout = '0'; + } + } + } + // if (pnl < 0) { + // payout = 0; + // } else { + // payout = pnl; + // } + return [pnl, payout]; +} diff --git a/src/Views/BinaryOptions/Tables/Mobile.tsx b/src/Views/BinaryOptions/Tables/Mobile.tsx new file mode 100644 index 0000000..2d400dd --- /dev/null +++ b/src/Views/BinaryOptions/Tables/Mobile.tsx @@ -0,0 +1,11 @@ +import Background from "./style"; + +interface IPGMobileTable { + className?: string; +} + +const PGMobileTable: React.FC = ({ className }) => { + return ; +}; + +export default PGMobileTable; diff --git a/src/Views/BinaryOptions/Tables/OrderBookTable/index.tsx b/src/Views/BinaryOptions/Tables/OrderBookTable/index.tsx new file mode 100644 index 0000000..02baec5 --- /dev/null +++ b/src/Views/BinaryOptions/Tables/OrderBookTable/index.tsx @@ -0,0 +1,299 @@ +import { useGlobal } from "@Contexts/Global"; +import { useAtom } from "jotai"; +import React, { useEffect, useLayoutEffect, useRef, useState } from "react"; +import useSWR from "swr"; +import { openDrawer } from "@Utils/appControls/mobileDrawerHandlers"; +import { getDisplayDate } from "@Utils/Dates/displayDateTime"; +import BufferTable from "@Views/Common/BufferTable"; +import { PrimaryActionBtn } from "@Views/Common/Buttons"; +import { Display } from "@Views/Common/Tooltips/Display"; +import { CellHeadDesc, TableHeads } from "@Views/Common/TableComponents/TableComponents.tsx"; +import { dates, drawerType, isDrawerOpen } from "@Views/BinaryOptions/store"; +import { useAccount } from "wagmi"; + +import { BetType, Modal, IBet, SelectedBet, Date } from "../../store"; +import { Background } from "./style"; +import { divide, gt, lte } from "@Utils/NumString/stringArithmatics"; +import { Skeleton } from "@mui/material"; +import useConnectionDrawer from "@Hooks/Utilities/useOpenConnectionDrawer"; +import { useUserAccount } from "@Hooks/useUserAccount"; + +export interface IBinaryBet { + expiration: number; + strike: number; + is_above: boolean; + implied_probability: number; + odds: number; + max_amount: number; +} +export const useAllBets = (): IBet[] => { + // const { data, error } = useSWR(betsKey); + // if (error) return null; + // return data; + // const [returnedData, setReturnedData] = useState([]); + // useEffect(() => { + // const d = getData(); + // setReturnedData(d); + // }, [data]); + // const getData = () => { + // let newArr = []; + // if (!data) return; + // for (let d of data) { + // // close above + // let obj: any = {}; + // obj.expiration = d.expiration; + // obj.strike = d.strike; + // obj.is_above = true; + // obj.max_amount = d.max_amount; + // obj.odds = d.stats.is_above.odds; + // obj.implied_probability = d.stats.is_above.implied_probability; + // newArr.push(obj); + // // close below + // let obj2: any = {}; + // obj2.expiration = d.expiration; + // obj2.strike = d.strike; + // obj2.is_above = false; + // obj2.odds = d.stats.is_below.odds; + // obj2.implied_probability = d.stats.is_below.implied_probability; + // newArr.push(obj2); + // } + // return newArr; + // }; + // return returnedData; + // }; +}; +export default function PGTable({ shoundShowMobile, className }) { + const { state } = useGlobal(); + const [_, setIsModalOpen] = useAtom(Modal); + const [isAssetDrawer, setIsAssetDrawer] = useAtom(drawerType); + const [isyes] = useAtom(BetType); + const openWalletModal = useConnectionDrawer(); + const [, setIsConnectionDrawerOpen] = useAtom(isDrawerOpen); + const { address: account } = useUserAccount(); + + const connect = () => { + // dispatch({ type: "SET_DRAWER", payload: true }); + setIsConnectionDrawerOpen(true); + openWalletModal(); + }; + + const [, setSelectedBet] = useAtom(SelectedBet); + const [, setDates] = useAtom(dates); + const [selectedDate, setSelectedDate] = useAtom(Date); + const currentAsset = state.settings.activeAsset?.underlying_asset; + let highBets: IBinaryBet[] = []; + let lowBets: IBinaryBet[] = []; + const data = useAllBets(); + + if (data && !!data.length) { + let filteredData: IBinaryBet[] = data; + if (selectedDate && data.length > 0) { + if (selectedDate === "All Dates") filteredData = data; + else + filteredData = data.filter((bet, idx) => { + return bet.expiration === selectedDate; + }); + } + highBets = filteredData.filter((bet, idx) => + gt( + bet.strike.toString(), + divide(currentAsset.current_price.toString(), 8) + ) + ); + lowBets = filteredData.filter((bet, idx) => + lte( + bet.strike.toString(), + divide(currentAsset.current_price.toString(), 8) + ) + ); + } + + useEffect(() => { + if (!data) return; + + let dates: any[] = []; + data.forEach((obj) => { + dates.push(obj.expiration); + }); + // dates.unshift("All Dates"); + setDates([...new Set(dates)]); + if (dates.findIndex((date) => selectedDate === date) == -1) + setSelectedDate(null); + }, [data]); + + const HeaderFormatter = (col: number) => { + switch (col) { + case 0: + return Asset; + case 1: + return Odds; + case 2: + return ; + default: + return
Unhandled col of header
; + } + }; + const selectBet = (strike) => { + setIsModalOpen(true); + isAssetDrawer && setIsAssetDrawer(false); + openDrawer(); + setSelectedBet(strike); + }; + const topRowClickHandler = (row) => { + const selectedBet = highBets[row]; + const idx = data.findIndex((bet) => bet === selectedBet); + selectBet(idx); + }; + const rowClickHandler = (row) => { + const selectedBet = lowBets[row]; + const idx = data.findIndex((bet) => bet === selectedBet); + selectBet(idx); + }; + // sortBets(); + const BodyFormatter = (row: number, col: number, bets: IBinaryBet[]) => { + const currentRow = bets[row]; + + switch (col) { + case 0: + return ( + + Close {currentRow?.is_above ? "above" : "below"}  + +
+ {getDisplayDate(currentRow?.expiration)} +
+
+ ), + }, + ]} + /> + ); + case 1: + return ( + + {!isyes ? currentRow?.odds : currentRow?.odds}X +
+ ), + }, + ]} + /> + ); + case 2: + return ( + + {!isyes ? "Yes" : "No"} + + ), + }, + ]} + /> + ); + default: + return
Unhandled col of body
; + } + }; + + const HighBodyFormatter = (row: number, col: number) => { + return BodyFormatter(row, col, highBets); + }; + const LowBodyFormatter = (row: number, col: number) => { + return BodyFormatter(row, col, lowBets); + }; + + const bgRef = useRef(); + const updateDim = () => { + const bg = bgRef.current; + if (!bg) return; + setTimeout(() => { + const top = bg.getBoundingClientRect().y; + const height = window.innerHeight - top - 30; + bg.style.height = height + "px"; + }); + + // bg.style.top= top+'px' + }; + useLayoutEffect(() => { + updateDim(); + }, [window.innerHeight, data, window.location]); + + if (lowBets.length === 0 && highBets.length === 0) { + return ; + } + return ( + + {/*
*/} + + {/*
*/} + + {/*
*/} + + + {currentAsset && (lowBets.length > 0 || highBets.length > 0) && ( +
+
+
+
+ {currentAsset?.name} current price + + {currentAsset?.current_price ? ( + + ) : ( + + )} + +
+
+
+ )} + + + {/*
*/} +
+ ); +} diff --git a/src/Views/BinaryOptions/Tables/OrderBookTable/style.ts b/src/Views/BinaryOptions/Tables/OrderBookTable/style.ts new file mode 100644 index 0000000..0969e80 --- /dev/null +++ b/src/Views/BinaryOptions/Tables/OrderBookTable/style.ts @@ -0,0 +1,93 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + position: relative; + height: 60vh; + overflow-y: auto; + width: calc(100% + 6px); + /* background-color:red; */ + overflow-x: hidden; + &::-webkit-scrollbar { + background: transparent; + height: 7px; + width: 4px; + } + @media only screen and (max-width: 600px) { + margin-bottom: 2rem; + /* margin-bottom: 10rem; */ + /* height: max-content; */ + /* overflow: unset; + &::-webkit-scrollbar { + width: 0px; + } */ + &::-webkit-scrollbar { + background: var(--bg-23-table-row); + height: 2px; + width: 5px; + } + &::-webkit-scrollbar-track { + background: var(--bg-23-table-row); + /* background: transparent; */ + } + &::-webkit-scrollbar-thumb { + background: var(--bg-14-blue); + } + } + .table-btn { + font-family: Relative Pro; + padding: 0rem 1rem; + min-width: unset; + border-radius: 5px; + font-weight: 500; + height: 2.2rem; + } + .lower-table { + z-index: 0; + } + .loader { + position: absolute; + height: 7rem; + width: 99%; + z-index: -1; + top: -300px; + left: 0; + right: 0; + bottom: 0; + margin: auto; + border-radius: 0.8rem; + + @media only screen and (max-width: 600px) { + /* top: -300px; */ + z-index: 2; + } + } + .priceTracker { + /* position: absolute; */ + top: 335px; + width: 100%; + z-index: 1; + .content { + position: relative; + .line { + content: ""; + height: 2px; + background-color: var(--bg-14); + width: 100%; + } + .tracker { + position: absolute; + top: -12px; + right: 0px; + left: 0px; + margin: auto; + background-color: var(--bg-14); + width: fit-content; + padding: 3px 10px; + border-radius: 4px; + color: var(--text-1); + z-index: 1; + } + } + } +`; +export { Background }; diff --git a/src/Views/BinaryOptions/Tables/TableComponents.tsx b/src/Views/BinaryOptions/Tables/TableComponents.tsx new file mode 100644 index 0000000..ab61b49 --- /dev/null +++ b/src/Views/BinaryOptions/Tables/TableComponents.tsx @@ -0,0 +1,734 @@ +import axios from 'axios'; +import { binaryTabs } from 'config'; +import { useGlobal } from '@Contexts/Global'; +import useStopWatch from '@Hooks/Utilities/useStopWatch'; +import { useAtom } from 'jotai'; +import ShareIcon from 'public/shareModal/ShareIcon'; +import { useState } from 'react'; +import FailedSuccess from 'src/SVG/Elements/FailedSuccess'; +import InfoIcon from 'src/SVG/Elements/InfoIcon'; +import SuccessIcon from 'src/SVG/Elements/SuccessIcon'; +import { getDisplayTime } from '@Utils/Dates/displayDateTime'; +import { BlackScholes } from '@Utils/Formulas/blackscholes'; +import { toFixed } from '@Utils/NumString'; +import routerABI from '@Views/BinaryOptions/ABI/routerABI.json'; + +import { + add, + divide, + gt, + lt, + multiply, + subtract, +} from '@Utils/NumString/stringArithmatics'; +import { CellContent, CellInfo } from '@Views/Common/BufferTable/CellInfo'; +import TableErrorMsg from '@Views/Common/BufferTable/ErrorMsg'; +import TableAssetCell from '@Views/Common/BufferTable/TableAssetCell'; +import NumberTooltip from '@Views/Common/Tooltips'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { BlackBtn } from '@Views/Common/V2-Button'; +import { IMarket, IToken, IV, useQTinfo } from '..'; +import { SetShareBetAtom, SetShareStateAtom } from '../Components/shareModal'; +import { IGQLHistory } from '../Hooks/usePastTradeQuery'; +import { expiryPriceCache } from '../Hooks/useTradeHistory'; +import { getPendingData } from './Desktop'; +import { UpTriangle } from '@Public/ComponentSVGS/UpTriangle'; +import { DOwnTriangle } from '@Public/ComponentSVGS/DownTriangle'; +import FailureIcon from 'src/SVG/Elements/FailureIcon'; +import { BetState } from '@Hooks/useAheadTrades'; +import { getPriceFromKlines } from 'src/TradingView/useDataFeed'; +import { useToast } from '@Contexts/Toast'; +import { useWriteCall } from '@Hooks/useWriteCall'; +export const PRICE_DECIMALS = 1e8; + +export const getExpireNotification = async ( + currentRow: IGQLHistory, + toastify, + openShareModal: (trade: IGQLHistory, expiry: string) => void +) => { + let response; + const query = { + pair: currentRow.configPair.tv_id, + timestamp: currentRow.expirationTime, + }; + response = await axios.post(`https://oracle.buffer.finance/price/query/`, [ + query, + ]); + if (!response.data?.length) { + response = await axios.post(`https://oracle.buffer.finance/price/query/`, [ + query, + ]); + } + + if (!Array.isArray(response.data) || !response.data?.[0]?.price) { + return null; + return toastify({ + msg: ( +
+
+ {' '} + Failed to fetch prices from Binance, Please try again! +
+
+ If the error persists please report it in the{' '} + + {' '} + #bug-reporting + +  channel on Discord +
+
+ ), + type: 'error', + }); + } + + const expiryPrice = response.data[0].price.toString(); + let win = true; + if (lt(currentRow.strike, expiryPrice)) { + if (currentRow.isAbove) { + win = true; + } else { + win = false; + } + } else if (currentRow.strike == expiryPrice) { + //to be asked + win = false; + } else { + if (currentRow.isAbove) { + win = false; + } else { + win = true; + } + } + + if (win) { + openShareModal(currentRow, expiryPrice.toString()); + return; + } else { + const openTimeStamp = currentRow.creationTime; + const closeTimeStamp = +currentRow.expirationTime; + toastify({ + type: 'loss', + // id: currentRow.optionID + currentRow.expirationTime, + // inf: true, + msg: ( +
+
+ {currentRow.configPair.token1}-{currentRow.configPair.token2}{' '} + {currentRow.isAbove ? 'Up' : 'Down'} @  + {' '} +   + + (+{' '} + + ) + +
+
+ {getDisplayTime(openTimeStamp)} -  + {getDisplayTime(closeTimeStamp)} +
+
+ ), + }); + } +}; + +export const SlippageTooltip: React.FC<{ + option: IGQLHistory; + className?: string; +}> = ({ option, className }) => { + return ( + + ); +}; + +export const Cancel: React.FC<{ + queue_id: number; +}> = ({ queue_id }) => { + const toastify = useToast(); + const binary = useQTinfo(); + // + const { writeCall } = useWriteCall(binary.routerContract, routerABI); + const cancelHandler = async ( + queuedId: number, + cb: (loadingState) => void + ) => { + if (queuedId === null || queuedId === undefined) { + toastify({ + id: 'queuedId', + type: 'error', + msg: 'Something went wrong. Please try again later.', + }); + return true; + } + cb(true); + writeCall(() => cb(false), 'cancelQueuedTrade', [queuedId]); + }; + // + const [isLoading, setIsLoading] = useState(false); + return ( + { + console.log(`queue_id: `,queue_id); + cancelHandler(queue_id, setIsLoading); + }} + className="!h-fit !px-4 !py-2 !rounded-md !text-f14 !font-medium !w-fit " + isLoading={isLoading} + > + Cancel + + ); +}; + +export const StopWatch: React.FC<{ + expiry: number; +}> = ({ expiry }) => { + const stopwatch = useStopWatch(expiry); + const result = stopwatch.replace(/(.)\1+/g, '$1'); + return ( +
+ {result == '' || !result || result == ' ' || result.includes('-') + ? 'Processing...' + : stopwatch} +
+ ); +}; + +export const PayoutChip: React.FC<{ + data: IGQLHistory; + className?: string; +}> = ({ data, className = '' }) => { + const net_pnl = data.payout + ? divide( + subtract(data.payout, data.totalFee), + (data.depositToken as IToken).decimals + ) + : divide( + subtract('0', data.totalFee), + (data.depositToken as IToken).decimals + ); + + const isPending = data.state === BetState.active; + let isWin = gt(net_pnl, '0'); + const isCancelled = data.state === BetState.cancelled; + const isQueued = data.state === BetState.queued; + + let betExpiryPrice = expiryPriceCache?.[data.optionID]; + + if (isPending && betExpiryPrice) { + if (data.isAbove) { + isWin = gt(betExpiryPrice, data.strike); + } else { + isWin = !gt(betExpiryPrice, data.strike); + } + } + + function getChipContent() { + if (isPending && !betExpiryPrice) { + return { + tooltip: 'Fetching latest states.', + chip: 'Fetching State', + icon: ( + + ), + textColor: 'text-3', + }; + } + if (isQueued) + return { + tooltip: 'The trade is queued.', + chip: 'Queued', + icon: ( + + ), + textColor: 'text-3', + }; + if (isCancelled) + return { + tooltip: 'The trade is cancelled', + chip: 'Cancelled', + icon: , + textColor: 'text-3', + }; + if (isWin) { + if (isPending) + return { + tooltip: 'You won the trade. Transfering the amount...', + chip: 'Processing', + icon: ( + + ), + textColor: 'text-green', + }; + else + return { + tooltip: 'You won this bet!', + chip: 'Win', + icon: , + textColor: 'text-green', + }; + } else + return { + tooltip: 'You lost this trade!', + chip: 'Loss', + icon: , + textColor: 'text-red', + }; + } + + // if (data.state === BetState.active) { + // return null; + // } + return ( + +
+
+ {getChipContent().chip} +
+ + {getChipContent().icon} +
+
+ ); +}; + +export const AssetCell: React.FC<{ + currentRow: IGQLHistory; + split?: boolean; + configData: IMarket; +}> = ({ currentRow, split, configData }) => { + const isUp = currentRow.isAbove; + + return ( + + + {/* */} + {configData.token1 + '-' + configData.token2}{' '} + + + + } + desc={<>} + /> + ); +}; + +export const UpDownChip: React.FC<{ + isUp: boolean; + className?: string; + shouldShowImage?: boolean; + upText?: string; + downText?: string; +}> = ({ + isUp, + className = '', + shouldShowImage = true, + upText = 'Up', + downText = 'Down', +}) => { + return ( +
+ {shouldShowImage && + (isUp ? ( + + ) : ( + + ))} + {isUp ? upText : downText} +
+ ); +}; + +export const UpDownChipWOText: React.FC<{ + isUp: boolean; +}> = ({ isUp }) => { + return isUp ? ( + + ) : ( + + ); +}; + +export const ErrorMsg: React.FC<{ isHistoryTable: boolean }> = ({ + isHistoryTable, +}) => { + const { dispatch } = useGlobal(); + const errMssg = + "You don't have any" + (isHistoryTable ? '' : ' active') + ' trades yet.'; + return ( + { + dispatch({ + type: 'SET_ACIVE_TAB', + payload: binaryTabs[0], + }); + }} + /> + ); +}; + +export const StrikePriceComponent = ({ + trade, + configData, + isMobile = false, +}: { + trade: IGQLHistory; + configData: IMarket; + isMobile?: boolean; +}) => { + const decimals = configData.price_precision.toString().length - 1; + return ( + <> + + {!isMobile && trade.state === BetState.queued ? ( +
+ + Slippage - + +
+ ) : null} + + ); +}; + +export const ExpiryCurrentComponent: React.FC<{ + isHistoryTable: boolean; + trade: IGQLHistory; + activeMarket: IMarket; + marketPrice: any; + configData: IMarket; +}> = ({ isHistoryTable, trade, activeMarket, marketPrice, configData }) => { + const decimals = configData.price_precision.toString().length - 1; + + if (isHistoryTable) { + if (trade.state === BetState.active) { + const computedExpiryPrice = expiryPriceCache?.[trade.optionID]; + + if (computedExpiryPrice) + return ( + + ) : ( + '-' + ), + ]} + /> + ); + else { + return <>Fetching Price; + } + } + return ( + + ) : ( + '-' + ), + ]} + /> + ); + } + + // if (activeMarket.tv_id === configData.tv_id) + // return ( + // , + // ]} + // /> + // ); + return ( + , + ]} + /> + ); +}; + +export const ProbabilityPNL = ({ + trade, + isHistoryTable, + activeMarket, + marketPrice, + configData, + onlyPnl = false, +}: { + trade: IGQLHistory; + isHistoryTable: boolean; + activeMarket: IMarket; + marketPrice: any; + configData: IMarket; + onlyPnl?: boolean; +}) => { + let currentEpoch = Math.round(new Date().getTime() / 1000); + const net_pnl = trade.payout + ? subtract(trade.payout, trade.totalFee) + : subtract('0', trade.totalFee); + + if (trade.state === BetState.queued || trade.state === BetState.cancelled) + return ; + + if (isHistoryTable) { + if (trade.state === BetState.active) { + const computedExpiryPrice = expiryPriceCache?.[trade.optionID]; + if (!computedExpiryPrice) return <>-; + const [pnl, payout] = getPendingData(trade, computedExpiryPrice); + if (onlyPnl) + return ( + + + + ); + + return ( +
+
+ +
+ + Net PnL : {' '} + + +
+
+
+ ); + } + if (onlyPnl) + return ( + + + + ); + + return ( +
+
+ +
+ + Net PnL : {' '} + + +
+
+
+ ); + } + let price = getPriceFromKlines(marketPrice, configData); + if (typeof price === 'string') { + price = +price; + } + const probability = + BlackScholes( + true, + trade.isAbove, + price, + +trade.strike / PRICE_DECIMALS, + +trade.expirationTime - currentEpoch, + 0, + IV / 1e4 + ) * 100; + + return ( + currentEpoch ? ( + + ) : ( + '-' + ), + ]} + whiteIdx={0} + /> + ); +}; + +export const TradeSize: React.FC<{ + trade: IGQLHistory; +}> = ({ trade }) => { + return ( + , + ]} + whiteIdx={0} + /> + ); +}; + +export const Share: React.FC<{ + data: IGQLHistory; +}> = ({ data }) => { + const [, setIsOpen] = useAtom(SetShareStateAtom); + const [, setBet] = useAtom(SetShareBetAtom); + + return ( + + ); +}; diff --git a/src/Views/BinaryOptions/Tables/index.tsx b/src/Views/BinaryOptions/Tables/index.tsx new file mode 100644 index 0000000..40fa682 --- /dev/null +++ b/src/Views/BinaryOptions/Tables/index.tsx @@ -0,0 +1,45 @@ +import { ChangeEvent } from "react"; +import BufferDisclaimer from "@Views/Common/BufferDisclaimer"; +import { IQTrade } from ".."; +import PGDesktopTables from "./Desktop"; + +interface IPGTables { + configData: IQTrade; + count?: number; + currentPage?: number; + onPageChange?: (e: ChangeEvent, p: number) => void; + className?: string; + isHistoryTable?: boolean; + shouldFetchOldData?: boolean; +} + +const PGTables: React.FC = ({ + configData, + className, + count, + onPageChange, + currentPage, + shouldFetchOldData, + isHistoryTable = false, +}) => { + return ( + <> + {/* */} + + + ); +}; + +export default PGTables; diff --git a/src/Views/BinaryOptions/Tables/style.ts b/src/Views/BinaryOptions/Tables/style.ts new file mode 100644 index 0000000..2d4099f --- /dev/null +++ b/src/Views/BinaryOptions/Tables/style.ts @@ -0,0 +1,14 @@ +import styled from "styled-components"; + +const Background = styled.div` + .asset-history { + margin: auto 3rem; + } + .payout-chip { + background-color: #232428; + color: #c3c2d4; + /* font-size: 1.3rem; */ + border-radius: 0.2rem; + } +`; +export default Background; diff --git a/src/Views/BinaryOptions/discarded.json b/src/Views/BinaryOptions/discarded.json new file mode 100644 index 0000000..9e970d8 --- /dev/null +++ b/src/Views/BinaryOptions/discarded.json @@ -0,0 +1,346 @@ +[ + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "ETHBTC", + "pair": "ETH-BTC", + "price_precision": 1000000, + "token1": "ETH", + "token2": "BTC", + "full_name": "Ethereum Bitcoin", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/eth.svg", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x75bc161311f2b2795f4e8f53d9504a9a2cc894ee", + "current": "0x3195A342dCF89a4442f86D0932D4D990a76d843c" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0x59c9c0bd7c412ca4ca0eb32c37c58e945ddaeac7", + "current": "0x0D4a07EBDc29A8d3024cbBFe2B28b0311284e26b" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "LINKUSD", + "pair": "LINK-USD", + "price_precision": 1000, + "token1": "LINK", + "token2": "USD", + "full_name": "Chainlink", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/link.svg", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0xc2d6c848129441ec879d644ed7d51a4b3faa13b8", + "current": "0x3F812848d6b1425C5FEA838191F39f3bA3a12d8a" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0xa8829df1b002a57c2dc246e1fb572da1b50f7f15", + "current": "0x4591200ca366Bc3DCAF1e4936F4A9288baf0EE61" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "UNIUSD", + "pair": "UNI-USD", + "price_precision": 1000, + "token1": "UNI", + "token2": "USD", + "full_name": "Uniswap", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/uni.png", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x7df941e34a63a434632761540666641cf2239ff8", + "current": "0x6006b97727Ee3f8D2A027876000B1141c18008B6" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0x866779cf1a2e385fc6e24bfe026554b691236799", + "current": "0x50697FE8b4cd12e2e7d264d84c191Ea94F7d8C84" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "AAVEUSD", + "pair": "AAVE-USD", + "price_precision": 1000, + "token1": "AAVE", + "token2": "USD", + "full_name": "Aave", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/aave.svg", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x8b29138a6d85527a882dbb0d6277a268f76571e1", + "current": "0xd825B3833AfAC66B6aed2c3c190b43076C82c468" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0xd9d418c7555142f96c48f33a53ddf81d542fcf34", + "current": "0x8DA18250E31257fC435274E60A33ddAA0da296e4" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "XRPUSD", + "pair": "XRP-USD", + "price_precision": 10000, + "token1": "XRP", + "token2": "USD", + "full_name": "Ripple", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/xrp.svg", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x853529f59f98495be260299623b2560e6872c243", + "current": "0xdc77b77E0745f2555A71f7183530b9c7658a1A40" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0xf99a31f43bffad90630568652f57b63dd6078143", + "current": "0x9B7a4aC17CF133b7f9C17333Ff624Ab9A91346Cc" + } + } + ] + }, + + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "SOLUSD", + "pair": "SOL-USD", + "price_precision": 100, + "token1": "SOL", + "token2": "USD", + "full_name": "Solana", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/sol.svg", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x600b4ea7fcf009d00bbd61de3b449710c22a6e69", + "current": "0xEbd69b15053EB17563e533AD6A4833f22A0a0841" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0x6bc9d50b805ef34bc9794aeb90335fb03aa68be3", + "current": "0xce935ED294ce5B66E590d5Ae56A359Bc205190Fe" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Forex", + "tv_id": "EURCHF", + "pair": "EUR-CHF", + "price_precision": 1000000, + "token1": "EUR", + "token2": "CHF", + "full_name": "Australian Dollar", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/euro.png", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x680820dee82b3f1006bf9d935bfe4cc9825d4bc9", + "current": "0xc36C0D901369C5FA93bCB76675f5D290dad5879d" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0x4a6d6d08506b5ee642bf05001ad149a5d8d5269c", + "current": "0x5470DC599bfD9529CEaaB4ED8bB0CABD20D9CE49" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Forex", + "tv_id": "AUDUSD", + "pair": "AUD-USD", + "price_precision": 1000000, + "token1": "AUD", + "token2": "USD", + "full_name": "Australian Dollar", + "img": "https://buffer-images.s3.us-east-2.amazonaws.com/Buffer-Media/main/AUD.png", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x3d2a5d3557ce0106da39cded55a5faf23ae631da", + "current": "0xeb4E1899aecdb95273f4ce7f99a107617fa44Aa7" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0x1bcdfec2ce48ae7d7ab8d96c4e9bcfcd39729349", + "current": "0xCEe0356184fe1d850674e0937DFB1b715B5eFeDE" + } + } + ] + }, + + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "DOGEUSD", + "pair": "DOGE-USD", + "price_precision": 100000, + "token1": "DOGE", + "token2": "USD", + "full_name": "Dogecoin", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/doge.svg", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x0e4676187483a711c771f17cba583b3aa2b82114", + "current": "0xaC88A349dBa1F5c5C4d943bfa3eeBd9cF855EB7b" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0xa2b02b7580d8acd36398f5bf8be700ca2114fdf9", + "current": "0x9398A5e7681A9AeC6b0Db99e4e9719F30Ee1AE5C" + } + } + ] + }, + { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "AVAXUSD", + "pair": "AVAX-USD", + "price_precision": 100, + "token1": "AVAX", + "token2": "USD", + "full_name": "Avalanche", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/avax.svg", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0x0eecb4291aae303b88b66104453e8f133039a800", + "current": "0x1Fc36df53c612085c0a8FCD4dA4058f8197CB7f3" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0x5069bcd6c9caf63f4112337a30a84c122910c2b6", + "current": "0x767A5A211Ef07420cA3E3A4C789db2Db8b66841E" + } + } + ] + } + , { + "max_duration": "04:00", + "category": "Crypto", + "tv_id": "MATICUSD", + "pair": "MATIC-USD", + "price_precision": 10000, + "token1": "MATIC", + "token2": "USD", + "full_name": "Matic", + "img": "https://cdn.buffer.finance/Buffer-Website-Data/main/Assets/matic.svg", + "pools": [ + { + "payout": 70, + "is_trade_paused": false, + "token": "USDC", + "options_contracts": { + "config": "0xdae146183e1110dcd5715cc825ae08733160a745", + "current": "0xB98Fc589BE43062FB96e920d9DFe38a9543610A0" + } + }, + { + "payout": 70, + "is_trade_paused": false, + "token": "BFR", + "options_contracts": { + "config": "0xbd4bb8d3fef0a65de4f6f5d40bf9b029a34cc844", + "current": "0xa85eA9ca702A0644C08fc271289ED1d7625c7FAa" + } + } + ] + } + +] diff --git a/src/Views/BinaryOptions/index.tsx b/src/Views/BinaryOptions/index.tsx new file mode 100644 index 0000000..d7323d2 --- /dev/null +++ b/src/Views/BinaryOptions/index.tsx @@ -0,0 +1,372 @@ +import React, { useContext, useEffect, useMemo, useState } from 'react'; +import { atom, useAtom } from 'jotai'; +import { Background } from './style'; +import GraphView from '@Views/Common/GraphView'; +import PGTables from './Tables'; +import BinaryDrawer from './PGDrawer'; +import { useGlobal } from '@Contexts/Global'; +import { Skeleton } from '@mui/material'; +import Favourites from './Favourites/Favourites'; +import BufferTab from '@Views/Common/BufferTab'; +import { Navbar } from './Components/Mobile/Navbar'; + +import { MobileScreens } from './Components/Mobile/Screens'; +import { atomWithLocalStorage } from './Components/SlippageModal'; +import { ShareModal } from './Components/shareModal'; +import { Chain } from 'wagmi'; +import { tradesCount } from './Tables/Desktop'; +import { + tardesPageAtom, + updateActivePageNumber, + updateCancelledPageNumber, + updateHistoryPageNumber, + usePastTradeQuery, +} from './Hooks/usePastTradeQuery'; +import { MarketTimingsModal } from './MarketTimingsModal'; +import MobileTable from './Components/Mobile/historyTab'; +import { marketPriceAtom } from '../../TradingView/useDataFeed'; +import isUserPaused from '@Utils/isUserPaused'; +import { binaryTabs } from 'config'; +import TVIntegrated from '../../TradingView/TV'; +import { useGenericHooks } from '@Hooks/useGenericHook'; +import { useParams, useSearchParams } from 'react-router-dom'; +export const mobileUpperBound = 800; +export const IV = 12000; +export const defaultPair = 'GBP-USD'; +export const referralSlug = 'ref'; +import Config from 'public/config.json'; +import { useSearchParam } from 'react-use'; +import { arbitrum, arbitrumGoerli } from 'wagmi/chains'; +import { useActiveChain } from '@Hooks/useActiveChain'; +export interface IToken { + address: string; + decimals: 6; + img: string; + name: 'USDC' | 'BFR'; + pool_address: string; +} +export interface IPool { + payout: number; + token: IToken; + options_contracts: { + current: string | null; + past: string[]; + config: string; + }; +} +export interface IMarket { + max_duration: string; + category: 'Crypto' | 'Forex'; + tv_id: string; + pair: string; + price_precision: 10 | 100 | 1000 | 10000 | 100000 | 1000000; + token1: string; + token2: string; + full_name: string; + img: string; + pools: IPool[]; +} +export const referralCodeAtom = atomWithLocalStorage('referral-code5', ''); +export interface IQTrade { + activeChain?: Chain | null; + pairs?: IMarket[]; + optionMeta?: string; + activePair?: IMarket; + routerContract?: string; +} +export const FavouriteAtom = atomWithLocalStorage('favourites3', []); +export const DisplayAssetsAtom = atomWithLocalStorage('displayAssetsV7', []); + +export const activeAssetStateAtom = atom<{ + balance: string; + allowance: string; + maxTrade: string; + stats: string; + payouts: any[]; + routerPermission: any[]; +}>({ + balance: null, + allowance: null, + maxTrade: null, + stats: null, + payouts: null, + routerPermission: null, +}); + +export const setActiveAssetStateAtom = atom(null, (get, set, payload) => { + set(activeAssetStateAtom, payload); +}); + +export const ENV = + import.meta.env.VITE_ENV.toLowerCase() === 'mainnet' + ? 'arbitrum-main' + : 'arbitrum-test'; + + +export const useQTinfo = () => { + const params = useParams(); + const {activeChain} = useActiveChain(); + const data = useMemo(() => { + let activeMarket = Config[ENV].pairs.find((m) => { + // GBP-USD + let market = params?.market || 'GBP-USD'; + // GBP + market = market.toUpperCase(); + let currM = m.pair.toUpperCase(); + if (market == currM) { + return true; + } + // GBP_USD + + return false; + }); + if (!activeMarket) { + activeMarket = Config[ENV].pairs[0]; + } + return { + chain: 'ARBITRUM', + asset: activeMarket.pair, + pairs: Config[ENV].pairs.map((singlePair) => { + return { + ...singlePair, + pools: singlePair.pools.map((singlePool) => { + return { + ...singlePool, + token: Config[ENV].tokens[singlePool.token], + }; + }), + }; + }), + activePair: { + ...activeMarket, + pools: activeMarket.pools.map((singlePool) => { + return { + ...singlePool, + token: Config[ENV].tokens[singlePool.token], + }; + }), + }, + optionMeta: '0x3D81B239F5D58e5086cC58d9012c326F34B3BC36', + routerContract: Config[ENV].router, + activeChain: { + ...(import.meta.env.VITE_ENV.toLowerCase() === 'mainnet' ? arbitrum:arbitrumGoerli), + testnet: false, + }, + }; + }, [params?.market,activeChain]); + return data; +}; + +function QTrade() { + const props = useQTinfo(); + const [ref, setRef] = useAtom(referralCodeAtom); + const { state, dispatch } = useGlobal(); + const activeTab = state.tabs.activeIdx; + // const [assets, setAssets] = useAtom(DisplayAssetsAtom); + usePastTradeQuery(); + useGenericHooks(); + const [, setHistoryPage] = useAtom(updateHistoryPageNumber); + const [, setActivePage] = useAtom(updateActivePageNumber); + const [, setCancelledPage] = useAtom(updateCancelledPageNumber); + const [ + { active: activePage, history: historyPage, cancelled: cancelledPage }, + ] = useAtom(tardesPageAtom); + useEffect(()=>{ + document.title = "Buffer | Trade" + },[]) + const AllTradeTab = { + pathname: '/[chain]/all-trades/[asset]', + as: `/ARBITRUM/all-trades/${defaultPair}`, + name: 'Old Trades', + slug: 'old-trades', + id: 2, + subTabs: [], + isExternalLink: false, + }; + const mapToPair = (market: IMarket) => market.pair; + // if (assets.length === 0 || assets.length > 5) + // setAssets( + // props.pairs.length > 5 + // ? props.pairs.slice(0, 5).map(mapToPair) + // : props.pairs.map(mapToPair) + // ); + + useEffect(() => { + dispatch({ + type: 'SET_ACIVE_TAB', + payload: + window && window.innerWidth < 1200 ? binaryTabs[0] : binaryTabs[2], + }); + }, []); + + const tabs = binaryTabs.slice(2); + const activeTabIdx = useMemo( + () => binaryTabs.findIndex((tab) => tab === activeTab) - 2, + [state.tabs.activeIdx] + ); + const [params] = useSearchParams(); + useEffect(() => { + const referralCode = params.get('ref'); + if (referralCode) { + if (ref !== referralCode) setRef(referralCode); + } + }, [params]); + const [marketPrices] = useAtom(marketPriceAtom); + isUserPaused(); + const [ reader, setReader ] = useState(null) + const streamInit = async () => { + setReader(null); + + const res = await fetch('https://oracle-stream.buffer.finance/stream'); + setReader(res.body.getReader()); + }; + const [ err, setErr ] = useState(false) + const checkStream = async ()=>{ + try{ + const {value,done} = await reader?.read(); + console.log(`streamdata: `,value); + checkStream(); + }catch(err){ + setReader(true); + } + } + + useEffect(()=>{ + checkStream(); + },[reader]) + return ( + <> +
+
+ {props.pairs && } + +
+
+ {/*
TV Status  + {err ?'Error!!!':'Working'} +
*/} + + + + {/* */} +
+ + {props.pairs ? ( + <> + {typeof window !== 'undefined' && + window.innerWidth < mobileUpperBound && } + +
+ + {window.innerWidth > mobileUpperBound+1 && ( + + + + )} +
+
+
+
+ { + dispatch({ + type: 'SET_ACIVE_TAB', + payload: binaryTabs[t + 2], //Runs only for web. Hence 0 & 1 tab neglected. + }); + }} + distance={5} + tablist={tabs.map((tabName): { name: string } => ({ + name: tabName, + }))} + /> +
+
+
+ {activeTab === binaryTabs[2] && ( + <> + + setActivePage(pageNumber) + } + /> + + + setActivePage(pageNumber) + } + /> + + + )} + {activeTab === binaryTabs[3] && ( + <> + + setHistoryPage(pageNumber) + } + /> + + + setHistoryPage(pageNumber) + } + /> + + + )} + {activeTab === binaryTabs[4] && ( + <> + + setCancelledPage(pageNumber) + } + /> + + + setCancelledPage(pageNumber) + } + /> + + + )} +
+
+ + ) : ( + + )} +
+
+ + + ); +} +export default QTrade; + +function MobileOnly({ children }) { + if (typeof window === 'undefined') return null; + if (window.innerWidth > 1200 || window.innerWidth < 600) return null; + return <>{children}; +} diff --git a/src/Views/BinaryOptions/store.ts b/src/Views/BinaryOptions/store.ts new file mode 100644 index 0000000..e941102 --- /dev/null +++ b/src/Views/BinaryOptions/store.ts @@ -0,0 +1,98 @@ +import { atom } from "jotai"; +import { IMarket } from "."; + +export interface IStatsData { + underlying_asset: { + address: string; + img: string; + name: string; + full_name: string; + current_price: number; + "24_hour_change": string; + }; + payout?: number; + available_liquidity: string; + is_favourite?: boolean; + txn_tokens: TXNToken[]; + pair?: string; +} +export interface TXNToken { + address: string; + img: string; + name: string; + abi: any[]; + decimals: number; +} +export interface IBet { + expiration: number; + implied_probability: number; + is_above: boolean; + max_amount: number; + odds: number; + strike: number; +} + +export interface IHistory { + state: + | "active" + | "expired" + | "cancelled" + | "queued" + | "pending" + | "exercised"; + strike: number; + normal_option: boolean; + size: number; + locked_amount: number; + premium: number; + total_fee: number; + asset: IMarket; + environment: string; + option_id: number; + user: string; + txn_hash: string; + contract_address: string; + version: number; + // is_yes: boolean; + is_above: boolean; + iv: number; + is_new: boolean; + deposit_token: string; + txn_token: string; + token2: string; + is_queued: boolean; + is_cancelled: boolean; + slippage: number; + price_at_expiry: number | null; + tv_id: string; + queue_id: number; + expires_in: string; + expiration: number; + is_expired: boolean; + placed_at: string; + creation_date: number; + profit: number; + roi: number; + payout: number; + net_pnl: number; + odds: number; + implied_probability: number; + is_payout_credited: boolean; + + // current: number; + // contract_user_id: number; +} +export const isDrawerOpen = atom(true); +export const Modal = atom(false); +export const BetType = atom(false); +export const Date = atom(null); +export const SelectedBet = atom(null); +export const DrawerState = atom(true); + +export const counter = atom(2); +export const tab = atom(0); +export const drawerType = atom(true); +export const graph = atom(false); +export const historyTab = atom(0); +export const markets = atom([]); +export const dates = atom([]); diff --git a/src/Views/BinaryOptions/style.ts b/src/Views/BinaryOptions/style.ts new file mode 100644 index 0000000..b0117a2 --- /dev/null +++ b/src/Views/BinaryOptions/style.ts @@ -0,0 +1,219 @@ +import styled from "styled-components"; + +const Background = styled.div` + grid-area: Content; + /* max-width: 1100px; */ + width: 100%; + margin: 0rem auto; + padding: 0rem var(--global-padding); + /* margin-top: 1rem; */ + /* margin-bottom: 9rem; */ + .asset-dropdown { + width: fit-content; + } + .small-up-down { + width: 1rem; + margin-right: 0.3rem; + margin-top: 0.2rem; + } + + .custom-wrappper { + width: 100%; + padding: 1.4rem; + border-radius: 0.9rem; + } + /* margin-left: 12rem; */ + .asset-info-section { + } + div .tab-pannel- { + margin-top: 0rem; + } + .chartButton { + color: var(--text-1); + background: inherit; + border: 1.5px solid var(--bg-14); + border-radius: 1rem; + padding: 0.6rem 1rem; + font-size: 1.4rem; + text-transform: capitalize !important; + svg { + transform: scale(1.2); + margin-right: 0.4rem; + } + @media (min-width: 1800px) { + font-size: 1.2rem; + padding: 0.6rem 0.8rem; + font-size: 1.4rem; + svg { + transform: scale(1.4); + } + } + } + .head, + .desc { + margin: 0; + font-weight: 400; + font-size: 1.58rem; + margin: 0.6rem 0; + } + .head { + font-size: 1.5rem; + color: var(--text-6); + } + .asset-grid { + display: flex; + align-items: flex-start; + background-color: transparent; + border-radius: 1.2rem; + padding: 1rem; + width: fit-content; + /* grid-template-areas: "img ticker arrow" "img asset-name arrow"; */ + column-gap: 1.4rem; + /* row-gap: 0.2rem; */ + } + .asset-grid-image { + width: 2.4rem; + height: 3.2rem; + object-fit: contain; + border-radius: 50%; + } + .asset-grid-ticker { + display: flex; + align-items: center; + font-size: 2rem; + font-weight: 400; + } + .asset-grid-name { + font-size: 1.6rem; + font-weight: 400; + color: var(--bg-20); + } + + .dropdown { + padding: 1.2rem 2.3rem; + background: transparent; + max-width: 17rem; + gap: 1rem; + border-radius: 1.2rem; + font-size: 1.4rem; + font-weight: 400; + white-space: nowrap; + color: var(--text-6); + } + .dropdown-item { + width: 100%; + font-family: Relative Pro; + font-size: 1.5rem; + font-weight: 400; + text-align: left; + text-transform: capitalize; + color: var(--text-6); + padding: 3px 1.5rem; + + :hover { + background: var(--bg-14); + color: var(--text-1); + } + } + .dropdown-box > .dropdown-items { + width: 100%; + max-height: 20rem; + overflow-y: auto; + + ::-webkit-scrollbar { + width: 4px; + } + } + .chain-container { + display: flex; + gap: 1rem; + font-size: 1.3rem; + } + + .root-items { + width: 100% !important; + } + .item { + width: 100%; + padding: 0 2.3rem; + } + .chartButton { + background-color: var(--bg-19); + border: none; + } +`; +const ActiveTabStyles = styled.div` + display: flex; + flex-direction: column; + gap: 1rem; + font-size: 1.2rem; + /* margin-bottom: 2rem; */ + .option { + background-color: var(--revenue-info); + padding: 14px 20px; + border-radius: 1rem; + /* margin-bottom: 1rem; */ + @media (max-width: 380px) { + padding: 14px; + } + } + .predictbutton { + font-size: 1.3rem; + font-weight: 400; + } + .details-btn { + background-color: #303044; + padding: 4px; + padding-left: 12px; + border-radius: 6px; + height: 30px; + color: white; + font-size: 1.4rem; + } +`; +const BuyOptionsStyles = styled.div` + @media only screen and (max-width: 1200px) { + position: relative; + } +`; + +const NewBinaryStyles = styled.div` + background-color: var(--bg-23); + padding: 1.5rem; + border-radius: 1.2rem; + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + /* flex-wrap: wrap; */ + + .info-com { + white-space: nowrap; + padding: 0.5rem 1.5rem; + + /* :not(:last-of-type) { + border-right: 1px solid var(--dropdown-hover); + } */ + + .chip { + background-color: var(--bg-20); + color: var(--primary); + font-size: 1.2rem; + font-weight: 600; + padding: 0.2rem 1.3rem; + } + + .assetImage { + /* margin-top: -1rem; */ + margin-right: 0.8rem; + --dim: 2.7rem; + width: var(--dim); + height: var(--dim); + border-radius: 50%; + @media (max-width: 1200px) { + margin-right: 0.8rem; + } + } + } +`; +export { Background, ActiveTabStyles, BuyOptionsStyles, NewBinaryStyles }; diff --git a/src/Views/Common/AccountInfo/index.tsx b/src/Views/Common/AccountInfo/index.tsx new file mode 100644 index 0000000..1250eae --- /dev/null +++ b/src/Views/Common/AccountInfo/index.tsx @@ -0,0 +1,57 @@ +import { toFixed } from "@Utils/NumString"; +import { Skeleton } from "@mui/material"; +import { divide, gt } from "@Utils/NumString/stringArithmatics"; +import Wallet from "public/ComponentSVGS/wallet"; +import { useUserAccount } from "@Hooks/useUserAccount"; + +interface IAccountInfo { + shouldDisplayString?: boolean; + balance: string | null; + unit: string; +} + +const AccountInfo: React.FC = ({ + balance, + unit = "USDC", + shouldDisplayString = false, +}) => { + const { address: account } = useUserAccount(); + + balance = balance?.toString(); + return ( +
+ {!shouldDisplayString && } + {!account || balance !== null ? ( +
+ {shouldDisplayString && "Balance : "} + {account + ? balance !== null + ? getBalance(balance, unit) + : "fetching balance..." + : "-"} +
+ ) : ( + + )} +
+ ); +}; + +export default AccountInfo; +export const getBalance = (balance, asset = "") => { + + if (!balance) return null; + if (balance < 0) return; + const kBalance = divide(balance, "1000"); + const mBalance = divide(kBalance, "1000"); + + if (gt(mBalance, "1")) return `${toFixed(mBalance, 2)}M ${asset}`; + else if (gt(kBalance, "1")) return `${toFixed(kBalance, 2)}K ${asset}`; + else return `${toFixed(balance, 1)} ${asset}`; +}; diff --git a/src/Views/Common/AccountInfo/style.ts b/src/Views/Common/AccountInfo/style.ts new file mode 100644 index 0000000..d088270 --- /dev/null +++ b/src/Views/Common/AccountInfo/style.ts @@ -0,0 +1,48 @@ +import styled from "styled-components"; +import Button from "@mui/material/Button"; + +const Style = styled.div` + /* background-color: var(--bg-19); */ + width: 1.9rem; + height: 4rem; + padding: 0.8rem 1.3rem; + width: max-content; + border-radius: 1.2rem; + @media (min-width: 600px) { + margin-left: 1.3rem; + } + .walletIcon { + margin-right: 0.9rem; + } + .balanceText { + font-size: 1.5rem; + color: var(--text-1); + /* margin-right: 1.6rem; */ + } + .tier { + background-color: var(--bg-20); + border-radius: 0.5rem !important; + color: var(--primary); + width: 5rem !important; + height: 2.2rem; + font-size: 1.2rem; + font-weight: 600; + padding: 0 !important; + min-width: 5rem !important; + text-transform: none; + &:hover { + background-color: var(--bg-20); + } + } + @media only screen and (max-width: 600px) { + height: fit-content; + .balanceText { + font-size: 1.4rem; + } + padding: 0.6rem 1.3rem 0.5rem 0.8rem; + border: 0.1rem solid var(--primary); + border-radius: 0.8rem; + } +`; + +export default Style; diff --git a/src/Views/Common/Aligner/index.tsx b/src/Views/Common/Aligner/index.tsx new file mode 100644 index 0000000..b1d18cd --- /dev/null +++ b/src/Views/Common/Aligner/index.tsx @@ -0,0 +1,67 @@ +import Background from "./style"; + +interface iValueFormatter { + keys: any[]; + values: any[]; + keyStyles?: String; + valueStyles?: String; + valuePrefix?: String; + keyPrefix?: String; + valuePostfix?: String; + styles?: string; + keyPostfix?: String; + keyColumnStyles?: string; + valueColumnStyles?: string; +} + +const ValueFormatter: React.FC = ({ + keys, + values, + keyStyles, + valueStyles, + valuePrefix, + styles, + keyPrefix, + valuePostfix, + keyPostfix, + keyColumnStyles, + valueColumnStyles, +}) => { + function formatter( + pre: String | undefined, + val: String, + post: String | undefined + ) { + return `${pre ? pre : ""}${val}${post ? post : ""}`; + } + return ( +
+
+ {keys + .filter((k) => k) + .map((k, idx) => { + const isJsx = typeof k !== "string" || typeof k !== "number"; + return ( +
+ {isJsx ? k : formatter(keyPrefix, k, keyPostfix)} +
+ ); + })} +
+
+ {values + .filter((k) => k) + .map((v, idx) => { + const isJsx = typeof v !== "string" || typeof v !== "number"; + return ( +
+ {isJsx ? v : formatter(valuePrefix, v, valuePostfix)} +
+ ); + })} +
+
+ ); +}; + +export default ValueFormatter; diff --git a/src/Views/Common/Aligner/style.ts b/src/Views/Common/Aligner/style.ts new file mode 100644 index 0000000..30a0614 --- /dev/null +++ b/src/Views/Common/Aligner/style.ts @@ -0,0 +1,37 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + .left { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-end; + } + .right { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + } + .key { + /* font-family: Relative Pro; */ + font-size: 1.4rem; + font-weight: 400; + color: var(--text-v1); + margin-bottom: 2px; + &:after { + content: "\00a0"; + } + } + .value { + margin-bottom: 2px; + font-weight: 500; + font-size: 1.4rem; + color: var(--text-v1); + } +`; +export default Background; diff --git a/src/Views/Common/AreaChart/index.tsx b/src/Views/Common/AreaChart/index.tsx new file mode 100644 index 0000000..8b54563 --- /dev/null +++ b/src/Views/Common/AreaChart/index.tsx @@ -0,0 +1,315 @@ +import { Circle } from "@mui/icons-material"; + +import { ICallBooster } from "@Contexts/Pages/CallBoosters/interfaces"; +import React, { useEffect, useState, useRef } from "react"; +import { + Area, + AreaChart, + CartesianGrid, + Label, + ReferenceDot, + ReferenceLine, + ResponsiveContainer, + Tooltip, + XAxis, + YAxis, +} from "recharts"; +import { dataPoint } from "@Utils/chartDataPoints"; +import { numberWithCommas } from "@Utils/display"; +import { toFixed } from "@Utils/NumString"; +import { divide } from "@Utils/NumString/stringArithmatics"; +import { toFixedString } from "@Views/AdminPage/CallBoosterBox"; +import AlignerMobile from "@Views/Common/Mobile/AlignerMobile"; +import { Display } from "../Tooltips/Display"; +export interface IDot { + name: string; + index: number; + displayName: string; + hide?: boolean; +} +interface IROIChart { + data: dataPoint[]; + dots: IDot[]; + currentProduct: ICallBooster; +} +const ROIChart: React.FC = ({ data, dots, currentProduct }) => { + const dotProps = { + r: 4, + fill: "var(--bg-19)", + fillOpacity: 1, + stroke: "var(--white-blue)", + strokeWidth: 3, + }; + const labelProps = { + fill: "var(--text-1)", + offset: 10, + fontSize: "1.2rem", + }; + const names = { + BE: `Break-Even ${ + currentProduct.tag.toLowerCase().includes("kpi") ? "TVL" : "Price" + }`, + Spot: `Current ${ + currentProduct.tag.toLowerCase().includes("kpi") ? "TVL" : "Price" + }`, + SP: `${ + currentProduct.tag.toLowerCase().includes("kpi") + ? "Target TVL" + : "Strike Price" + }`, + }; + // const strikeIdx = + const id = currentProduct.contract; + const isKpi = currentProduct.tag.toLowerCase().includes("kpi"); + const be = dots.filter((d) => d.name.toLowerCase() === "break-even")[0]; + const breakEven = data[be.index]; + const [percentage, setPercentage] = useState(isKpi ? 50 : 0); + useEffect(() => { + if (isKpi) return; + let max = -1e29; + let min = 1e29; + for (let index = 0; index < data.length; index++) { + const element = data[index]; + if (element.roi < min) { + min = element.roi; + } + if (element.roi > max) { + max = element.roi; + } + } + let secondDot = data[be.index]; + let breakEven = secondDot.roi; + let range = Math.abs(max - min); + let point = Math.abs(breakEven - min); + // rang *x% = point + + let x = (point / range) * 100; + // setPercentage(80); + setPercentage(100 - x); + }, [data, dots, currentProduct.underlying]); + let margin = 26; + + if (isKpi) margin = 30; + return percentage !== null ? ( + + + + + + + + + + + + + + + + + { + let de = 3; + if (number > 10000) + return numberWithCommas(toFixed(number + "", 0)); + return toFixed(number + "", 3); + }} + interval={13.5} + axisLine={false} + overflow={"visible"} + tickLine={false} + style={{ + transform: `translateY(-2%)`, + }} + > + + + + + + } + label="2h3" + itemStyle={{ + color: "red", + fontSize: 23, + fontWeight: 700, + }} + /> + + + {/* {dots[1].index !== -1 && breakEven && ( + + + + )} */} + + {dots.map((d) => { + if (d.hide) return null; + if (d.index >= data.length) return; + if (!data[d.index]?.price) return; + return ( + + + + ); + })} + {/* {!dots[0].hide && ( + + + + )} */} + + + ) : ( +
fetching data
+ ); +}; +export default ROIChart; +const CustomTooltip: React.FC = ({ + active, + payload, + label, + currentProduct, + data, + dots, + names, +}) => { + if (active) { + let roi = toFixedString(payload[0].value, 0, 2); + let riskToReward = divide( + toFixedString(payload[0].value + 100, 0, 2), + "100" + ); + + return ( +
+

+ {dots.map( + (d) => + data && + data.length && + d.index < data.length && + data[d.index]?.price == label && + !d.hide && <>{names[d.displayName]} + )} +

+ , + 0 ? "var(--green)" : "var(--red)", + }} + > + {roi}% + , + 0 ? "var(--green)" : "var(--red)", + }} + > + 1:{toFixed(riskToReward, 1)} + , + ]} + /> +
+ ); + } + return null; +}; \ No newline at end of file diff --git a/src/Views/Common/AreaChart/style.ts b/src/Views/Common/AreaChart/style.ts new file mode 100644 index 0000000..04d9b8c --- /dev/null +++ b/src/Views/Common/AreaChart/style.ts @@ -0,0 +1,4 @@ +import styled from "styled-components"; + +const Background = styled.div``; +export default Background; diff --git a/src/Views/Common/AssetInfo/index.tsx b/src/Views/Common/AssetInfo/index.tsx new file mode 100644 index 0000000..1b1e006 --- /dev/null +++ b/src/Views/Common/AssetInfo/index.tsx @@ -0,0 +1,178 @@ +import Style from "./styles"; +import Button from "@Views/Common/Buttons"; +import { usePageState } from "@Contexts/Pages/PredictionGames"; +import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; + +import { usePageState as optionsState } from "@Contexts/Pages/Options"; +import useAssetPrice from "@Hooks/Contracts/useAssetPrice"; +import { divide } from "@Utils/NumString/stringArithmatics"; +import { toFixed } from "@Utils/NumString"; +import { Skeleton } from "@mui/material"; +import { useGlobal } from "@Contexts/Global"; +import { openDrawer } from "@Utils/appControls/mobileDrawerHandlers"; +import { getApi } from "@Utils/apis/api"; +import { useEffect, useState } from "react"; +import { drawerType } from "@Views/BinaryOptions/store"; +import { useAtom } from "jotai"; +import { Display } from "../Tooltips/Display"; + +interface IAssetInfo { + change_in_price: number; + current_price: number; + asset: string; +} +const AssetInfo: React.FC = ({ isOption }) => { + const { state } = useGlobal(); + const [pageState, pageDispatch] = isOption ? optionsState() : usePageState(); + const [info, setInfo] = useState(); + const price = useAssetPrice(); + const [isAssetDrawer, setIsAssetDrawer] = useAtom(drawerType); + + const getAssetInfo = async () => { + if (!state.settings.activeAsset || !state.settings.activeAsset.name) return; + const [res, err] = await getApi("/price/volatility/", { + environment: state.settings.activeChain?.env, + asset: state.settings.activeAsset.name, + }); + if (err) return; + setInfo(res); + }; + + useEffect(() => { + if (!state.settings.activeChain) return; + if (!state.settings.activeAsset) return; + getAssetInfo(); + }, [state.settings.activeAsset, state.settings.activeChain]); + return ( + + ); +}; +export default AssetInfo; + +interface IStats { + className?: string; + price?: string[]; + info: IAssetInfo; +} + +const Stats: React.FC = ({ className, price, info }) => { + return ( + <> + {info ? ( +
+ {info.change_in_price < 0 ? ( + + ) : ( + + )}{" "} + + {Math.abs(info.change_in_price)} + +
+ ) : ( + + )} +
+ + {price[1] ? ( + "$" + toFixed(divide(price[1], 8), 3) + ) : ( + + )} + +
+ + ); +}; diff --git a/src/Views/Common/AssetInfo/styles.ts b/src/Views/Common/AssetInfo/styles.ts new file mode 100644 index 0000000..42cd936 --- /dev/null +++ b/src/Views/Common/AssetInfo/styles.ts @@ -0,0 +1,137 @@ +import styled, { keyframes } from "styled-components"; + +const Style = styled.div` + height: 8rem; + background-color: var(--bg-19); + border-radius: 1.6rem; + /* overflow: hidden; */ + margin-top: 2rem; + + .asset { + border-radius: 1.6rem 0px 0px 1.6rem; + /* padding-left: 2.2em; */ + /* margin-right: 2rem; */ + flex: 1; + @media screen { + flex: none; + width: fit-content; + } + cursor: hover; + .assetImage { + /* margin-top: -1rem; */ + margin-right: 1.4rem; + --dim: 2.7rem; + width: var(--dim); + height: var(--dim); + border-radius: 50%; + @media (max-width: 600px) { + margin-right: 0.8rem; + } + } + .assetName { + color: var(--text-1); + font-size: 2rem; + line-height: 1.6rem; + font-weight: 400; + .assetCode { + @media (max-width: 600px) { + font-size: 1.9rem; + } + margin-bottom: 0.5rem; + } + } + } + .fix-wi { + min-width: 16rem; + flex: 1; + padding: 0 2.1rem; + @media (max-width: 1200px) { + min-width: auto; + } + } + .asset-picker-icon { + width: 18px; + height: 16px; + transform: rotate(270deg); + } + .switch-asset-btn { + font-weight: 400; + display: flex; + justify-content: flex-end; + margin-right: 2.5rem; + align-items: center; + flex: 1; + font-size: 1.5rem; + color: var(--text-1); + /* font-size: 16px; */ + } + .arrow { + width: 1.6rem; + height: 1.2rem; + } + .movement { + background-color: var(--bg-23); + padding: 0 2.1rem; + /* border-right: 2px solid var(--bg-14); */ + flex: 1; + font-size: 1.4rem; + + :last-child { + border-top-right-radius: 1.6rem; + border-bottom-right-radius: 1.6rem; + } + .up { + color: var(--text-6); + /* line-height: 1.6rem; */ + /* margin-bottom: 0.5rem; */ + } + .red { + color: var(--red); + } + .down { + color: var(--text-6); + /* line-height: 1.6rem; */ + .change { + color: var(--text-7); + } + } + .arrowUp { + color: var(--text-7); + width: 1.4rem; + height: 1rem; + } + } + .mobile-price { + @media (max-width: 600px) { + font-size: 1.5rem; + } + } + .assetPrice { + border-radius: 0 1.6rem 1.6rem 0; + border-right: none; + padding-right: 2.5rem; + flex: 1; + .chartButton { + color: var(--text-1); + background: var(--bg-19); + /* border: 1px solid var(--bg-14); */ + border-radius: 10px; + padding: 0.6rem 1rem; + font-size: 1.4rem; + text-transform: capitalize !important; + /* svg { + transform: scale(1.2); + margin-right: 0.4rem; + } */ + /* @media (min-width: 1800px) { + font-size: 1.2rem; + padding: 0.6rem 0.8rem; + font-size: 1.4rem; + svg { + transform: scale(1.4); + } + } */ + } + } +`; +export default Style; diff --git a/src/Views/Common/Banner/index.tsx b/src/Views/Common/Banner/index.tsx new file mode 100644 index 0000000..c8f2e9d --- /dev/null +++ b/src/Views/Common/Banner/index.tsx @@ -0,0 +1,47 @@ +import React, { useState } from "react"; +import { PrimaryActionBtn, SecondaryActionBtn } from "../Buttons"; +import { Background } from "./style"; + +export default function Banner() { + const [isOpen, setIsOpen] = useState(true); + const lastBannerTime = localStorage.getItem("bannerTime"); + + function setTimeStamp() { + localStorage.setItem("bannerTime", Date.now().toString()); + setIsOpen(false); + } + if ( + !lastBannerTime || + (Date.now() - parseInt(lastBannerTime) >= 1209600000 && isOpen) //will render every 86400000ms = 24 hrs + ) + return ( + +
+
+

+ By using Buffer Finance dApp, I agree to the following Important + Disclaimer +

+
+

+ I am lawfully permitted to access this site and use the Buffer + dApp under the laws of the jurisdiction where I reside and am + located. +

+

+ I will not use the Buffer dApp while located within any Prohibited + Jurisdictions. +

+ {/*

+ Buffer dApp (V2) is in Mainnet Beta with trusted admin controls. I + understand the risks associated with using Buffer dApp. +

*/} +
+ + Agree and continue + +
+
+ ); + else return <>; +} diff --git a/src/Views/Common/Banner/style.ts b/src/Views/Common/Banner/style.ts new file mode 100644 index 0000000..7fef935 --- /dev/null +++ b/src/Views/Common/Banner/style.ts @@ -0,0 +1,70 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + p { + margin: 0; + } + .modal { + background-color: var(--bg-19); + border-radius: 2rem; + position: fixed; + margin: auto; + top: 0; + bottom: 0; + right: 0; + left: 0; + z-index: 1500; + color: var(--text-1); + max-width: 460px; + height: fit-content; + padding: 3.5rem; + gap: 3rem; + + @media only screen and (max-width: 600px) { + max-width: 300px; + gap: 2rem; + padding: 2.5rem; + } + + .head { + font-size: 1.8rem; + text-align: start; + + @media only screen and (max-width: 600px) { + font-size: 1.6rem; + } + } + + .desc { + gap: 2rem; + font-size: 1.4rem; + color: var(--text-6); + @media only screen and (max-width: 600px) { + font-size: 1.2rem; + gap: 1.5rem; + } + } + + .btn { + border-radius: 6px !important; + padding: 1rem 0; + font-size: 1.4rem; + @media only screen and (max-width: 600px) { + font-size: 1.2rem; + } + } + } + + .layer { + position: fixed; + background: var(--bg-17); + opacity: 0.85; + top: 0; + bottom: 0; + right: 0; + left: 0; + z-index: 1400; + } +`; + +export { Background }; diff --git a/src/Views/Common/Buffer-Dropdown/index.tsx b/src/Views/Common/Buffer-Dropdown/index.tsx new file mode 100644 index 0000000..d7f91ec --- /dev/null +++ b/src/Views/Common/Buffer-Dropdown/index.tsx @@ -0,0 +1,88 @@ +import { useState, ReactNode, useRef } from 'react'; +import Background from './style'; +import { useClickAway } from '@Hooks/useClickAway'; +import { CSSTransition } from 'react-transition-group'; + +interface IBufferDropdown { + items: any[]; + dropdownBox: (a: any, open: boolean, disabled?: boolean) => ReactNode; + item: (a: any, b: any, c: any, d: boolean) => ReactNode; + topDecorator?: ReactNode; + bottomDecorator?: ReactNode; + className?: string; + chainDropDown?: boolean; + rootClass?: string; + disabled?: boolean; +} + +/* + className - options container + rootClass - root div class +*/ + +export const BufferDropdown: React.FC = ({ + items, + dropdownBox, + item, + topDecorator, + disabled, + rootClass, + bottomDecorator, + className, + chainDropDown, +}) => { + const [open, setOpen] = useState(false); + const handelClose = () => { + setOpen(false); + }; + const handelClick = () => { + if (disabled) return; + setOpen((open) => !open); + }; + const [activeItemIndex, setActiveInex] = useState(0); + const onChange = ({ property, item }: { property: string; item: any }) => { + let idx = 0; + for (let singleItem of items) { + if (singleItem[property] === item[property]) { + setActiveInex(idx); + } + idx++; + } + }; + const wrapperRef = useRef(null); + const handleClickOutside = (event: MouseEvent) => { + setOpen(false); + }; + useClickAway(open ? wrapperRef : null, handleClickOutside); + return ( + + {items.length ? ( +
+ {dropdownBox(items[activeItemIndex], open, disabled)} + +
+ {topDecorator} + {items.map((i, key) => + item(i, handelClose, onChange, key === activeItemIndex) + )} + {bottomDecorator} +
+
+
+ ) : null} +
+ ); +}; diff --git a/src/Views/Common/Buffer-Dropdown/style.tsx b/src/Views/Common/Buffer-Dropdown/style.tsx new file mode 100644 index 0000000..0597b8f --- /dev/null +++ b/src/Views/Common/Buffer-Dropdown/style.tsx @@ -0,0 +1,119 @@ +import styled from '@emotion/styled'; + +const Background = styled.div` + height: 100%; + .message { + color: var(--text-6); + font-size: 1.2rem; + } + .mobile-drop { + @media (max-width: 600px) { + transform: translateX(-80%) !important; + } + } + .dropdown-box { + /* z-index: 2; */ + position: relative; + border-radius: 10px; + border: 2px solid var(--bg-sec-l); + height: 100%; + + .primaryBtn { + padding: 0.6rem 1.2rem 0.6rem 1.5rem; + } + cursor: pointer; + .dropdown-items, + .chain-dropdown-items { + display: flex; + flex-direction: column; + position: absolute; + z-index: 10000; + left: 50%; + transform: translateX(-50%) scale(0.7, 0.3); + top: calc(100% + 10px); + opacity: 0; + pointer-events: none; + width: fit-content; + box-shadow: var(--white-shadow); + border-radius: 1rem; + transition: 100ms ease-out; + transform-origin: 50% 0%; + overflow: hidden; + } + .dropdown-items--enter { + } + .dropdown-items--enter-active { + } + + .dropdown-items--enter-done { + opacity: 1; + pointer-events: auto; + transform: translateX(-50%) scale(1); + width: 100%; + box-shadow: var(--white-shadow); + @media (max-width: 600px) { + } + } + .chain-dropdown-items--enter { + } + .chain-dropdown-items--enter-active { + } + + .chain-dropdown-items--enter-done { + opacity: 1; + width: fit-content; + pointer-events: auto; + transform: translateX(-50%) scale(1); + box-shadow: var(--white-shadow); + @media (max-width: 600px) { + transform: translateX(-64%) scale(1); + } + } + .chain-dropdown-exit--enter { + } + .chain-dropdown-exit--enter-active { + } + .chain-dropdown-exit--enter-done { + } + .dropdown-value { + width: auto; + } + .dropdown-icon { + transition: transform 400ms ease; + width: 1.2rem; + height: 0.8rem; + } + + .item-img { + width: 2rem; + object-fit: none; + margin-right: 1rem; + border-radius: 50%; + &.sm { + width: 1.7rem; + height: 1.7rem; + } + } + &.bottom { + .dropdown-items { + bottom: auto; + top: 40%; + } + .dropdown-icon { + transform: rotateZ(180deg); + } + } + + &.active-bottom { + .dropdown-items { + opacity: 1; + pointer-events: auto; + top: 100%; + } + .dropdown-icon { + transform: rotateZ(0deg); + } + } + } +`; +export default Background; diff --git a/src/Views/Common/BufferAnimatableTab.tsx b/src/Views/Common/BufferAnimatableTab.tsx new file mode 100644 index 0000000..b799f60 --- /dev/null +++ b/src/Views/Common/BufferAnimatableTab.tsx @@ -0,0 +1,78 @@ +import { useState, useEffect, ReactNode, Children, useCallback } from "react"; +import { isEqual } from "lodash"; +interface IBufferAnimatableTab { + className?: string; + children?: ReactNode[]; +} +const selected = {}; +const wrapper = {}; + +let BufferAnimatableTab: { + Container: React.FC; + Tab: React.FC<{ className?: string; children?: ReactNode; active?: boolean }>; +} = { + Container: ({ className, children }) => { + const [hoveredDim, setHoveredDim] = useState(null); + useEffect(() => { + if (hoveredDim) { + const wrapperDim = wrapper.current.getBoundingClientRect(); + + selected.current.style.height = hoveredDim.height + "px"; + selected.current.style.width = hoveredDim.width + "px"; + selected.current.style.left = hoveredDim.x - wrapperDim.x + "px"; + } + }, [hoveredDim]); + const cb = useCallback((e) => { + const dim = e.target.getBoundingClientRect(); + if (JSON.stringify(hoveredDim) != JSON.stringify(dim)) setHoveredDim(dim); + }, []); + return ( + <> +
{ + setHoveredDim(null); + }} + ref={(ref) => (wrapper.current = ref)} + className={ + className + " relative w-fit flex flex-row mx-auto rounded-lg bg-1" + } + > + <> + {children.map((t, idx) => { + return ( + + {t} + + ); + })} +
(selected.current = ref)} + onMouseOver={(e) => { + e.stopPropagation(); + }} + /> + +
+ + ); + }, + Tab: ({ className, children, active }) => { + return ( +
+ {children} +
+ ); + }, +}; +export default BufferAnimatableTab; diff --git a/src/Views/Common/BufferCheckbox/index.tsx b/src/Views/Common/BufferCheckbox/index.tsx new file mode 100644 index 0000000..b121fd3 --- /dev/null +++ b/src/Views/Common/BufferCheckbox/index.tsx @@ -0,0 +1,72 @@ +import { Tooltip } from "@mui/material"; +import React from "react"; +import Background from "./style"; + +interface IBufferCheckbox { + checked: boolean; + onCheckChange: () => void; + children?: React.ReactChild; + className?: string; + isDisabled?: boolean; +} + +const BufferCheckbox: React.FC = ({ + checked, + onCheckChange, + children, + className, + isDisabled = false, +}) => { + // const tooltipStyles = { + // tooltip: styles.tooltip__modal, + // arrow: styles.arrow__modal, + // } + // let Open = validation !== '' + // if (checked) { + // Open = false + // } + return ( + + {/* */} +
+ + + + +
+ {/*
*/} + {children} +
+ ); +}; + +export default BufferCheckbox; diff --git a/src/Views/Common/BufferCheckbox/style.ts b/src/Views/Common/BufferCheckbox/style.ts new file mode 100644 index 0000000..d9ee3e2 --- /dev/null +++ b/src/Views/Common/BufferCheckbox/style.ts @@ -0,0 +1,36 @@ +import styled from "styled-components"; + +const Background = styled.div` + width: fit-content; + align-self: center; + display: flex; + align-items: center; + cursor: pointer; + + .checkboxborder { + width: 18px; + height: 18px; + border-radius: 4px; + border: 2px solid var(--primary); + display: grid; + place-items: center; + margin-top: 0.2rem; + &.active__background { + background-color: var(--primary); + } + &.disabled { + background-color: #303044; + border: 2px solid #303044; + } + .checkbox__filled { + stroke-dasharray: 100; + stroke-dashoffset: 126; + transition: 400ms cubic-bezier(0.075, 0.82, 0.165, 1); + &.active { + stroke-dashoffset: 80; + stroke: var(--text-1); + } + } + } +`; +export default Background; diff --git a/src/Views/Common/BufferDisclaimer/index.tsx b/src/Views/Common/BufferDisclaimer/index.tsx new file mode 100644 index 0000000..5ac8082 --- /dev/null +++ b/src/Views/Common/BufferDisclaimer/index.tsx @@ -0,0 +1,37 @@ +import { IconButton } from "@mui/material"; +import { useState } from "react"; +import CloseLogo from "src/SVG/Elements/Closelogo"; +import InfoIcon from "src/SVG/Elements/InfoIcon"; +import Background from "./style"; + +interface BufferDisclaimerProps { + content: string | JSX.Element; + isClosable?: boolean; +} + +const BufferDisclaimer: React.FC = ({ + content, + isClosable = false, +}) => { + const [closed, setClosed] = useState(false); + return ( + !closed && ( + +
+
+ +
+
{content}
+
+ {isClosable && ( + // cross-icon + setClosed(true)}> + + + )} +
+ ) + ); +}; + +export default BufferDisclaimer; diff --git a/src/Views/Common/BufferDisclaimer/style.ts b/src/Views/Common/BufferDisclaimer/style.ts new file mode 100644 index 0000000..42c575e --- /dev/null +++ b/src/Views/Common/BufferDisclaimer/style.ts @@ -0,0 +1,30 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: flex; + align-items: center; + justify-content: space-between; + background: var(--bg-19); + border-radius: 1.3rem; + padding: 1.2rem 1.5rem; + color: var(--text-1); + font-size: 1.4rem; + margin: 2rem 0; + width: fit-content; + @media screen and (max-width: 600px) { + font-size: 14px; + } + .first-part { + display: flex; + align-items: center; + justify-content: center; + } + .button { + svg { + width: 12px; + height: 12px; + } + } +`; + +export default Background; diff --git a/src/Views/Common/BufferDropdown/index.tsx b/src/Views/Common/BufferDropdown/index.tsx new file mode 100644 index 0000000..381a601 --- /dev/null +++ b/src/Views/Common/BufferDropdown/index.tsx @@ -0,0 +1,103 @@ +import { useState, useEffect, ReactNode, useRef } from "react"; +import Background from "./style"; + +import useClickAway from "@Hooks/Utilities/useClickAway"; +import { CSSTransition } from "react-transition-group"; +interface Imessage { + position: "top" | "bottom"; + msg: string; +} + +interface IBufferDropdown { + items: any[]; + dropdownBox: (a: any, open: boolean, disabled?: boolean) => ReactNode; + initialActive: number; + item: (a: any, b: any, c: any, d: boolean) => ReactNode; + topDecorator?: ReactNode; + bottomDecorator?: ReactNode; + className?: string; + chainDropDown?: boolean; + rootClassName?: string; + rootClass?: string; + disabled?: boolean; + deb?: boolean; +} + +/* + className - options container + rootClass - root div class +*/ + +const BufferDropdown: React.FC = ({ + items, + dropdownBox, + initialActive, + item, + topDecorator, + disabled, + rootClass, + bottomDecorator, + rootClassName, + className, + chainDropDown, + deb, +}) => { + const [open, setOpen] = useState(false); + const handelClose = () => { + setOpen(false); + }; + const handelClick = () => { + if (disabled) return; + setOpen((open) => !open); + }; + const [activeItemIndex, setActiveInex] = useState(0); + const onChange = ({ property, item }) => { + let idx = 0; + for (let singleItem of items) { + if (singleItem[property] === item[property]) { + setActiveInex(idx); + } + idx++; + } + }; + deb && console.log("dopen:", open); + const wrapperRef = useRef(null); + const handleClickOutside = () => { + + setOpen(false); + }; + useClickAway(open ? wrapperRef : null, handleClickOutside); + return ( + + {items.length ? ( +
+ {dropdownBox(items[activeItemIndex], open, disabled)} + +
+ {topDecorator} + {items.map((i, key) => + item(i, handelClose, onChange, key === activeItemIndex) + )} + {bottomDecorator} +
+
+
+ ) : null} +
+ ); +}; + +export default BufferDropdown; diff --git a/src/Views/Common/BufferDropdown/style.ts b/src/Views/Common/BufferDropdown/style.ts new file mode 100644 index 0000000..db17e52 --- /dev/null +++ b/src/Views/Common/BufferDropdown/style.ts @@ -0,0 +1,124 @@ +import styled from "styled-components"; + +const Background = styled.div` + height: 100%; + .message { + color: var(--text-6); + font-size: 1.2rem; + } + .mobile-drop { + @media (max-width: 600px) { + transform: translateX(-80%) !important; + } + } + .dropdown-box { + /* z-index: 2; */ + position: relative; + border-radius: 10px; + border: 2px solid var(--bg-sec-l); + height: 100%; + + .primaryBtn { + padding: 0.6rem 1.2rem 0.6rem 1.5rem; + } + cursor: pointer; + .dropdown-items, + .chain-dropdown-items { + display: flex; + flex-direction: column; + position: absolute; + z-index: 10000; + left: 50%; + transform: translateX(-50%) scale(0.7, 0.3); + top: calc(100% + 10px); + opacity: 0; + pointer-events: none; + width: fit-content; + /* background-color: var(--bg19-white); */ + /* color: var(--text-1); */ + + box-shadow: var(--white-shadow); + border-radius: 1rem; + transition: 100ms ease-out; + transform-origin: 50% 0%; + overflow: hidden; + } + .dropdown-items--enter { + } + .dropdown-items--enter-active { + } + + .dropdown-items--enter-done { + opacity: 1; + pointer-events: auto; + transform: translateX(-50%) scale(1); + width: 100%; + box-shadow: var(--white-shadow); + @media (max-width: 600px) { + /* transform: translateX(-64%) scale(1); */ + } + } + .chain-dropdown-items--enter { + } + .chain-dropdown-items--enter-active { + } + + .chain-dropdown-items--enter-done { + opacity: 1; + width: fit-content; + pointer-events: auto; + transform: translateX(-50%) scale(1); + box-shadow: var(--white-shadow); + @media (max-width: 600px) { + /* transform: translateX(-42%) scale(1); */ + transform: translateX(-64%) scale(1); + } + } + .chain-dropdown-exit--enter { + } + .chain-dropdown-exit--enter-active { + } + .chain-dropdown-exit--enter-done { + } + .dropdown-value { + width: auto; + } + .dropdown-icon { + transition: transform 400ms ease; + width: 1.2rem; + height: 0.8rem; + } + + .item-img { + width: 2rem; + object-fit: none; + margin-right: 1rem; + border-radius: 50%; + &.sm { + width: 1.7rem; + height: 1.7rem; + } + } + &.bottom { + .dropdown-items { + bottom: auto; + top: 40%; + } + .dropdown-icon { + transform: rotateZ(180deg); + } + } + + &.active-bottom { + .dropdown-items { + opacity: 1; + pointer-events: auto; + top: 100%; + } + .dropdown-icon { + transform: rotateZ(0deg); + } + } + } +`; +export default Background; diff --git a/src/Views/Common/BufferInput/index.tsx b/src/Views/Common/BufferInput/index.tsx new file mode 100644 index 0000000..56f4dbb --- /dev/null +++ b/src/Views/Common/BufferInput/index.tsx @@ -0,0 +1,162 @@ +import { useCallback, ReactNode } from "react"; +import Big from "big.js"; +import BufferTextInputRoot, { IBufferInputBase } from "../BufferTextInputRoot"; +import { BN } from "src/Interfaces/interfaces"; +import { useToast } from "@Contexts/Toast"; + +interface IError { + val: string | number | boolean; + error: ReactNode; +} +interface INumError { + val: number; +} +interface IBoolError extends IError { + val: boolean; +} +interface IStrError extends IError { + val: string; +} + +interface IValidation { + min?: IStrError; + max?: IStrError; + decimals?: INumError; +} +export interface IBufferInput extends IBufferInputBase { + numericValidations?: IValidation; + isGrey?: boolean; + type?: boolean; + addsValidations?: boolean; + hideSearchBar?: boolean; + remark?: ReactNode; + isDisabled?: boolean; +} + +const BufferInput: React.FC = ({ + placeholder, + unit, + header, + numericValidations, + value, + onChange, + className, + inputType, + onError, + bgClass, + isGrey, + ipClass, + type, + isDisabled, + title, +}) => { + if (!numericValidations) + return ( + + ); + const getErr = (isError: boolean, error: ReactNode, value: string) => { + if (isError) { + return [value, error]; + } + return [value, null]; + }; + const minValidation = useCallback( + (val: string) => { + const { min } = numericValidations; + if (!min) return [val, null]; + const valBN: BN = Big(val); + const minBN: BN = Big(min.val); + const ok = valBN.gte(minBN); + return getErr(!ok, min.error, val); + }, + [numericValidations] + ); + const maxValidation = useCallback( + (val: string) => { + const { max } = numericValidations; + if (!max) return [val, null]; + const valBN: BN = Big(val); + const maxBN: BN = Big(max.val); + const ok = maxBN.gte(valBN); + return getErr(!ok, max.error, val); + }, + [numericValidations] + ); + const toastify = useToast(); + const decimalValidation = useCallback( + (val: string) => { + const { decimals } = numericValidations; + if (!decimals) return [val, null]; + + const valBN: BN = Big(val); + const regexArr = [ + /^\d*(\.)?(\d{0,0})?$/, + /^\d*(\.)?(\d{0,1})?$/, + /^\d*(\.)?(\d{0,2})?$/, + /^\d*(\.)?(\d{0,3})?$/, + /^\d*(\.)?(\d{0,4})?$/, + /^\d*(\.)?(\d{0,5})?$/, + /^\d*(\.)?(\d{0,6})?$/, + ]; + val = valBN.toString(); + console.log(`val: `, val); + + if (!regexArr[decimals.val].test(val)) { + toastify({ + type: "error", + msg: !decimals.val + ? "Decimal values aren't allowed" + : "Only " + decimals.val + " decimals are allowed!", + id: "decimals", + }); + return [false, false, true]; + } + return []; + }, + [numericValidations] + ); + + return ( + + ); +}; + +export default BufferInput; diff --git a/src/Views/Common/BufferProgressBar.tsx/index.tsx b/src/Views/Common/BufferProgressBar.tsx/index.tsx new file mode 100644 index 0000000..4322437 --- /dev/null +++ b/src/Views/Common/BufferProgressBar.tsx/index.tsx @@ -0,0 +1,34 @@ +import styled from "@emotion/styled"; +import * as React from "react"; +import { toFixed } from "@Utils/NumString"; + +const ProgressbarBackground = styled.div<{ barWidth; fontSize }>` + display: flex; + align-items: center; + gap: 6px; + width: 100%; + font-size: ${(props) => props.fontSize}px; + .bar-width { + width: ${(props) => props.barWidth}; + } +`; + +const BufferProgressBar = ({ + progressPercent, + fontSize = 12, +}: { + progressPercent: number; + fontSize?: number; +}) => { + return ( + +
+
+
+
+
{toFixed(progressPercent, 2)}%
+
+ ); +}; + +export { BufferProgressBar }; diff --git a/src/Views/Common/BufferSlider/index.tsx b/src/Views/Common/BufferSlider/index.tsx new file mode 100644 index 0000000..a00b2c5 --- /dev/null +++ b/src/Views/Common/BufferSlider/index.tsx @@ -0,0 +1,59 @@ +// @ts-nocheck +import { ThemeProvider } from "@mui/styles"; +import { createTheme } from "@mui/material"; + +import Background, { SliderWithStyles, SliderTooltip } from "./style"; +interface IBufferSlider { + percentage: number; + setPercentage: (a: number) => void; + left?: any; + className?: string; + isCallbooster?: boolean; + min?: number; + max?: number; +} +const theme = createTheme({}); + +const BufferSlider: React.FC = ({ + percentage, + setPercentage, + left, + className, + isCallbooster = false, + min, + max, +}) => { + const handleChang = (_, val: any) => setPercentage(val); + + return ( + + + + {left === 1 ? ( +
+ {percentage > 0 ? "+" : ""} + {percentage}% +
+ ) : ( + left + )} +
+
+ ); +}; + +export default BufferSlider; + +const formatValue = (value: number) => { + const str = `${value > 0 ? "+" : ""}${value}%`; + return str; +}; diff --git a/src/Views/Common/BufferSlider/style.ts b/src/Views/Common/BufferSlider/style.ts new file mode 100644 index 0000000..caa4970 --- /dev/null +++ b/src/Views/Common/BufferSlider/style.ts @@ -0,0 +1,82 @@ +import { Slider, Tooltip } from "@mui/material"; +import { withStyles } from "@mui/styles"; +import styled from "styled-components"; + +const Background = styled.div` + margin: auto; + .MuiSlider-thumb.Mui-focusVisible, + .MuiSlider-thumb:hover { + box-shadow: none; + } + .percentage-box { + font-weight: 600; + font-size: 1.2rem; + color: var(--primary); + padding: 6px; + background: var(--bg-20); + border-radius: 6px; + padding-bottom: 4px; + width: 4.5rem; + text-align: center; + } + &.slider-box { + display: flex; + flex-direction: row; + align-items: center; + column-gap: 2rem; + justify-content: space-between; + } +`; +export default Background; + +export const SliderWithStyles = withStyles((theme) => ({ + root: { + width: "80%", + display: "flex", + color: "var(--bg-14)", + [theme.breakpoints.down("sm")]: { + width: "85%", + marginRight: "0px", + }, + }, + thumb: { + height: "20px", + width: "20px", + borderRadius: "24px", + marginTop: 0, + border: "3px solid var(--slider)", + marginLeft: -3, + backgroundColor: "var(--calc)", + }, + valueLabel: { + // fontFamily: "Relative Pro", + color: "var(--text-1)", + fontSize: 12, + fontWeight: "600", + marginTop: "-5px", + padding: "4px 6px", + borderRadius: "6px", + background: "var(--bg-14)", + "&:before": { + display: "none", + }, + }, + track: { + height: 6.5, + borderRadius: 8, + }, + rail: { + height: 6.5, + borderRadius: 20, + opacity: 1, + }, +}))(Slider); + +export const SliderTooltip = withStyles({ + tooltip: { + color: "var(--text-1)", + fontSize: 16, + fontWeight: 600, + backgroundImage: "var(--bg-14)", + }, +})(Tooltip); diff --git a/src/Views/Common/BufferSwitch/index.tsx b/src/Views/Common/BufferSwitch/index.tsx new file mode 100644 index 0000000..75bb633 --- /dev/null +++ b/src/Views/Common/BufferSwitch/index.tsx @@ -0,0 +1,49 @@ +import * as React from "react"; +import SwitchUnstyled, { + switchUnstyledClasses, +} from "@mui/base/SwitchUnstyled"; +import BufferStyles from "./style"; + +const blue = { + 500: "#007FFF", +}; + +const grey = { + 400: "#BFC7CF", + 500: "#AAB4BE", + 600: "#6F7E8C", +}; + +interface IBufferSwitch { + value: boolean; + onChange: () => void; + disabled?: boolean; + title?: string; +} + +const BufferSwitch: React.FC = ({ + value, + onChange, + title, + disabled, +}) => { + const label = { + componentsProps: { + input: { "aria-label": "Demo switch" }, + }, + }; + const [val, setVal] = React.useState(false); + return ( +
+ +
+ ); +}; + +export default BufferSwitch; diff --git a/src/Views/Common/BufferSwitch/style.ts b/src/Views/Common/BufferSwitch/style.ts new file mode 100644 index 0000000..89c7212 --- /dev/null +++ b/src/Views/Common/BufferSwitch/style.ts @@ -0,0 +1,84 @@ +import { styled } from "@mui/system"; + +import SwitchUnstyled, { + switchUnstyledClasses, +} from "@mui/base/SwitchUnstyled"; + +const blue = { + 500: "#007FFF", +}; + +const grey = { + 400: "#BFC7CF", + 500: "#AAB4BE", + 600: "#6F7E8C", +}; + +const BufferStyles = styled("span")( + ({ theme }) => ` + font-size: 0; + position: relative; + display: inline-block; + width: 40px; + height: 20px; + margin: 10px; + cursor: pointer; + + &.${switchUnstyledClasses.disabled} { + opacity: 0.4; + cursor: not-allowed; + } + + & .${switchUnstyledClasses.track} { + background: var(--bg-14); + border-radius: 10px; + display: block; + height: 100%; + width: 100%; + position: absolute; + } + + & .${switchUnstyledClasses.thumb} { + display: block; + width: 14px; + height: 14px; + top: 3px; + left: 3px; + border-radius: 16px; + background-color: #fff; + position: relative; + transition: all 200ms ease; + } + + &.${switchUnstyledClasses.focusVisible} .${switchUnstyledClasses.thumb} { + background-color:var(--bg-14); + box-shadow: 0 0 1px 8px rgba(0, 0, 0, 0.25); + } + + &.${switchUnstyledClasses.checked} { + .${switchUnstyledClasses.thumb} { + left: 22px; + top: 3px; + opacity:1; + background-color: var(--primary); + } + + .${switchUnstyledClasses.track} { + background: var(--bg-14); + } + } + + & .${switchUnstyledClasses.input} { + cursor: inherit; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + opacity: 0; + z-index: 1; + margin: 0; + } + ` +); +export default BufferStyles; diff --git a/src/Views/Common/BufferSwitchLabelled/index.tsx b/src/Views/Common/BufferSwitchLabelled/index.tsx new file mode 100644 index 0000000..324514e --- /dev/null +++ b/src/Views/Common/BufferSwitchLabelled/index.tsx @@ -0,0 +1,34 @@ +import * as React from "react"; +import { Typography } from "@mui/material"; +import { ReactElement } from "react"; +import BufferSwitch from "@Views/Common/BufferSwitch"; + +interface IBufferSwitchLabelled { + value: boolean; + label: string | number | ReactElement; + onChange: () => void; +} + +const BufferSwitchLabelled: React.FC = ({ + value, + label, + onChange, +}) => { + return ( +
+ + + {label} + +
+ ); +}; + +export default BufferSwitchLabelled; diff --git a/src/Views/Common/BufferTab/index.tsx b/src/Views/Common/BufferTab/index.tsx new file mode 100644 index 0000000..70fc7c8 --- /dev/null +++ b/src/Views/Common/BufferTab/index.tsx @@ -0,0 +1,102 @@ +import Background from "./style"; +import Tabs from "@mui/material/Tabs"; +import Tab from "@mui/material/Tab"; + +import VersionChip from "../VersionChip"; +import NotificationCount from "src/SVG/Elements/NotificationCount"; + +export interface ITab { + name: string; + icon?: number | "v2"; +} + +interface IBufferTab { + value: number; + handleChange: (event: any, arg: number) => void; + tablist: ITab[]; + activeTabColor?: string; + moveY?: number; + className?: string; + indicatorColor?: string; + distance?: number; +} + +const BufferTab: React.FC = ({ + value, + handleChange, + tablist, + activeTabColor, + moveY, + className, + distance, + indicatorColor, +}) => { + let moveYProp = moveY; + tablist.forEach((element) => { + if (element.icon) { + moveYProp += 4; + } + }); + return ( + +
+ {tablist.map((singleTab: ITab, idx) => { + return ( +
{ + handleChange(e, idx); + }} + className={`root-button ${value == idx && "selected-button"}`} + // disableRipple + // icon={ + // singleTab.icon === "v2" ? ( + // + // ) : singleTab.icon ? ( + // + // ) : null + // } + // iconPosition="end" + // label={singleTab.name} + > + {singleTab.name} +
+ ); + })} +
+ {/* + {tablist.map((singleTab: ITab, idx) => { + return ( + + ) : singleTab.icon ? ( + + ) : null + } + iconPosition="end" + label={singleTab.name} + /> + ); + })} + */} +
+ ); +}; + +export default BufferTab; diff --git a/src/Views/Common/BufferTab/style.tsx b/src/Views/Common/BufferTab/style.tsx new file mode 100644 index 0000000..ef88207 --- /dev/null +++ b/src/Views/Common/BufferTab/style.tsx @@ -0,0 +1,56 @@ +import styled from "styled-components"; + +const Background = styled.div` + /* margin-top: -5px; */ + .indicator-style { + background: ${(props) => props.indicatorColor || "var(--primary)"}; + transform: translateY( + ${(props) => "-" + (props.distance ? props.distance + "px" : "0px")} + ); + left: 0; + } + .root-button { + font-family: Relative Pro; + letter-spacing: 0ch; + color: var(--text-6); + font-size: 1.5rem; + font-weight: 500; + padding: 0; + margin: 0 3rem 0 0; + text-transform: none; + min-width: unset; + transform: ${(props) => + props.moveY ? "translateY(" + props.moveY + "%)" : "translateY(0px)"}; + &:hover { + color: var(--text-1); + } + @media (min-width: 1800px) { + font-size: 1.8rem; + } + @media only screen and (max-width: 1200px) { + font-size: 15px; + margin-right: 5vw; + } + } + .selected-button { + color: ${(props) => props.activeTabColor || "var(--text-1)"} !important; + transform: ${(props) => + props.moveY ? "translateY(" + props.moveY + "%)" : "translateY(0px)"}; + } + .tabs-root { + margin-top: ${(props) => (props.moveY ? "-" + props.moveY + "px" : "0px")}; + + @media (max-width: 1200px) { + /* margin-top: ${(props) => + props.moveY ? "-" + props.moveY * 2 + "px" : "8px"}; */ + } + + & ::-webkit-scrollbar { + background: var(--bg-grey); + height: 0px; + width: 7px; + } + } +`; + +export default Background; diff --git a/src/Views/Common/BufferTable/CellInfo.tsx b/src/Views/Common/BufferTable/CellInfo.tsx new file mode 100644 index 0000000..8c9006d --- /dev/null +++ b/src/Views/Common/BufferTable/CellInfo.tsx @@ -0,0 +1,144 @@ +import { ReactChild, ReactNode } from "react"; +import InfoIcon from "src/SVG/Elements/InfoIcon"; +import VersionChip from "@Views/Common/VersionChip"; +import { AssetCellLayout, CellDescLayout } from "@Views/Common/TableComponents/style"; + +interface ITableCellInfo { + label: string | ReactChild; + desc?: ReactNode; + className?: string; + headStyle?: string; +} + +interface ILockeValue { + labels: ReactNode[] | ITableCellInfo[]; + whiteIdx?: number; + className?: string; + style?: string; +} +interface ICellContent { + content: ReactNode[]; + className?: string; + classNames?: string[]; + preventDefault?: boolean; +} + +const CellInfo: React.FC = ({ + labels, + whiteIdx, + className, + style, +}) => { + if (!labels.length) return; + return ( + +
+ {/* {labels[0]} */} + {labels.map((cellInfo, key) => { + return ( + + {cellInfo} + + ); + })} +
+
+ ); +}; + +const CellContent: React.FC = ({ + content, + classNames, + preventDefault, + className, +}) => { + if (!content.length) return; + return ( +
+ {content.map((cellInfo, key) => { + return ( + = key ? classNames[key] : null} ${ + key && !preventDefault && " text-4 " + }`} + key={key} + > + {cellInfo} + + ); + })} +
+ ); +}; +interface IAssetCell { + version?: number | string; + tooltip?: string; + head: string; + img?: string; + desc?: string; + style?: string; + remark?: ReactNode; +} + +const AssetCell: React.FC = ({ + version, + head, + desc, + tooltip, + remark, + img, + style, +}) => { + return ( + +
+
+ {img && } + {version && ( +
+ +
+ )} +
+
+ + {head} + {tooltip && ( + + )} + + {desc && {desc}} + {remark && {remark}} +
+
+
+ ); +}; + +interface ITableHeads { + children: string; + tooltip?: string; + style?: string; +} + +const TableHeads: React.FC = ({ children, style, tooltip }) => { + return ( +
+ {children} + {tooltip && ( + + )} +
+ ); +}; + +export { CellInfo, AssetCell, TableHeads, CellContent }; diff --git a/src/Views/Common/BufferTable/ErrorMsg/index.tsx b/src/Views/Common/BufferTable/ErrorMsg/index.tsx new file mode 100644 index 0000000..7830ae7 --- /dev/null +++ b/src/Views/Common/BufferTable/ErrorMsg/index.tsx @@ -0,0 +1,50 @@ +import { useGlobal } from "@Contexts/Global"; +import { PrimaryActionBtn } from "@Views/Common/Buttons"; +import Background from "./style"; +import useOpenConnectionDrawer from "@Hooks/Utilities/useOpenConnectionDrawer"; +import NoMatchFound from "src/SVG/Elements/NoMatchFound"; +import { useAccount } from "wagmi"; +import { useUserAccount } from "@Hooks/useUserAccount"; +import { useConnectModal} from '@rainbow-me/rainbowkit' + +interface ITableErrorMsg { + msg: string; + onClick: (e: any) => void; + btn?: string; + shouldShowWalletMsg?: boolean; +} + +const TableErrorMsg: React.FC = ({ + msg, + onClick, + btn, + shouldShowWalletMsg = true, +}) => { + const { openConnectModal } = useConnectModal(); + + const { address: account } = useUserAccount(); + const { dispatch } = useGlobal(); + const { openWalletDrawer } = useOpenConnectionDrawer(); + const connect = (e: any) => { + dispatch({ type: "SET_DRAWER", payload: true }); + openWalletDrawer(); + }; + const errorMsg = + shouldShowWalletMsg && !account ? "Wallet isn't connected" : msg; + return ( + + + {errorMsg} + {btn && ( + + {account ? btn : "Connect Wallet"} + + )} + + ); +}; + +export default TableErrorMsg; diff --git a/src/Views/Common/BufferTable/ErrorMsg/style.ts b/src/Views/Common/BufferTable/ErrorMsg/style.ts new file mode 100644 index 0000000..9bbe44e --- /dev/null +++ b/src/Views/Common/BufferTable/ErrorMsg/style.ts @@ -0,0 +1,24 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + row-gap: 2.5rem; + padding: 1rem 0; + padding-bottom: 2rem; + font-family: Relative Pro; + .button { + width: fit-content; + font-size: 1.4rem; + padding: 0.6rem 1.4rem; + font-family: Relative Pro; + &:hover { + width: fit-content; + font-size: 1.4rem; + padding: 0.6rem 1.4rem; + } + } +`; +export default Background; diff --git a/src/Views/Common/BufferTable/TableAssetCell/index.tsx b/src/Views/Common/BufferTable/TableAssetCell/index.tsx new file mode 100644 index 0000000..62ef8db --- /dev/null +++ b/src/Views/Common/BufferTable/TableAssetCell/index.tsx @@ -0,0 +1,29 @@ +import { useState, useEffect, ReactNode } from "react"; +import Background from "./style"; + +interface ITableAssetCell { + img: string; + head: ReactNode; + desc: ReactNode; + chip?: ReactNode; + className?: string; +} + +const TableAssetCell: React.FC = ({ + className, + head, + desc, + chip, + img, +}) => { + return ( + + +
{head}
+
{desc}
+ {chip &&
{chip}
} +
+ ); +}; + +export default TableAssetCell; diff --git a/src/Views/Common/BufferTable/TableAssetCell/style.ts b/src/Views/Common/BufferTable/TableAssetCell/style.ts new file mode 100644 index 0000000..4be4e9f --- /dev/null +++ b/src/Views/Common/BufferTable/TableAssetCell/style.ts @@ -0,0 +1,33 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: grid; + grid-template-areas: "image head" "image desc" "chip chip"; + grid-template-rows: repeat(3, fit-content); + justify-content: start; + width: fit-content; + /* color: var(--text-1); */ + column-gap: 0.7rem; + font-size: 1.3rem; + + .grid-head { + grid-area: head; + font-weight: 700; + } + .grid-desc { + font-weight: 400; + grid-area: desc; + } + .grid-chip { + grid-area: chip; + } + .grid-asset-image-table { + grid-area: image; + width: 2.2rem; + height: 2.2rem; + border-radius: 50%; + object-fit: contain; + align-self: center; + } +`; +export default Background; diff --git a/src/Views/Common/BufferTable/index.tsx b/src/Views/Common/BufferTable/index.tsx new file mode 100644 index 0000000..8e076c7 --- /dev/null +++ b/src/Views/Common/BufferTable/index.tsx @@ -0,0 +1,204 @@ +import Background from "./style"; +import { + Skeleton, + Table, + TableBody, + TableCell, + TableHead, + TableRow, + TableContainer, + TableSortLabel, +} from "@mui/material"; +import { createArray } from "@Utils/JSUtils/createArray"; +import { ChangeEvent, ReactNode } from "react"; +import BasicPagination from "../pagination"; +const BufferTableRow = ({ children, onClick, className }) => ( + + {children} + +); +const BufferTableCell = ({ children, onClick }) => ( + + {children} + +); + +interface IBufferTable { + cols: number; + rows: number; + topDecorator?: ReactNode; + headerJSX: (idx: number) => React.ReactChild; + bodyJSX: (row: number, col: number) => React.ReactChild; + interactive?: boolean; + v1?: boolean; + lastColWidth?: string; + selectedIndex?: number; + widths?: string[]; + onRowClick: (idx: number) => void; + error?: ReactNode; + bluredIndexes?: number[]; + highlightIndexs?: number[]; + loading?: boolean; + smHeight?: boolean; + count?: number; + shouldShowMobile?: boolean; + shouldHideHeader?: boolean; + shouldHideBody?: boolean; + tableClass?: string; + overflow?: boolean; + isBodyTransparent?: boolean; + className?: string; + doubleHeight?: boolean; + shouldShowTroply?: boolean; + onPageChange?: (e: ChangeEvent, p: number) => void; +} + +const BufferTable: React.FC = ({ + cols, + headerJSX, + rows, + bodyJSX, + topDecorator, + widths, + smHeight, + selectedIndex, + onRowClick, + error, + tableClass, + loading, + count, + bluredIndexes, + overflow = false, + v1 = false, + onPageChange = false, + shouldShowMobile = false, + shouldHideHeader = false, + shouldHideBody = false, + isBodyTransparent = false, + className, + doubleHeight = false, + shouldShowTroply = true, + highlightIndexs, +}) => { + let rowClass = ""; + let tableCellCls = "table-cell"; + if (smHeight) tableCellCls += " sm"; + if (doubleHeight) tableCellCls += " double-height"; + if (rows > 100) { + rows = 100; + } + return ( + + + + + + {createArray(cols).map((idx) => { + return {headerJSX(idx)}; + })} + + + + {topDecorator} + + {loading ? ( + + + + + + ) : shouldHideBody ? ( + <> + ) : rows ? ( + createArray(rows).map((row, rowIdx) => { + let rowClass = ""; + if (selectedIndex === rowIdx) { + rowClass = "active"; + } else if ( + selectedIndex !== null && + selectedIndex !== undefined + ) { + rowClass = "blured"; + } + if (highlightIndexs && highlightIndexs.length) { + for (let i of highlightIndexs) { + if (row === i) { + rowClass = "highlight"; + } + } + } + if (bluredIndexes && bluredIndexes.length) { + for (let i of bluredIndexes) { + if (row === i) { + rowClass = "blured"; + } + } + } + return ( + onRowClick(row)} + > + {createArray(cols).map((col, colIdx) => ( + + {bodyJSX(row, col)} + + ))} + + ); + }) + ) : ( + + + {error} + + + )} + +
+ {count && count > 1 ? ( + + ) : null} +
+
+ ); +}; + +export default BufferTable; +export { BufferTableRow, BufferTableCell }; diff --git a/src/Views/Common/BufferTable/style.ts b/src/Views/Common/BufferTable/style.ts new file mode 100644 index 0000000..8758cae --- /dev/null +++ b/src/Views/Common/BufferTable/style.ts @@ -0,0 +1,168 @@ +import styled from "styled-components"; + +const getBorderType = (props) => { + if (props?.v1) return "collapse"; + return "none"; +}; +const getBorder = (props) => { + if (props?.v1) { + return "none"; + } else { + return "1px solid #2d2d3d"; + } +}; +const TableBackground = styled.div` + --border-radius: 8px; + --padding-left: 15px; + overflow-x: hidden; + border-radius: 12px 12px 0px 0px; + + & ::-webkit-scrollbar { + background: var(--bg-grey); + height: 7px !important; + width: 3px !important; + } + + table { + border: ${getBorder}; + width: max(100%, 500px); + border-collapse: ${getBorderType}; + background: transparent; + font-size: 1.6rem; + .table-header { + background: ${(props) => (props?.v1 ? "#1C1C28" : "#171722")}; + + .table-head { + &:first-of-type { + padding-left: var(--padding-left); + } + .MuiTableSortLabel-root:hover, + .MuiTableSortLabel-icon:hover { + color: white; + } + .Mui-active { + color: #c3c2d4; + .MuiTableSortLabel-icon { + color: #c3c2d4; + } + } + } + + .table-row-head { + border-radius: 0px; + } + + th { + text-transform: capitalize; + padding: 1.2rem 0; + font-size: 1.4rem; + font-weight: 400; + color: ${(props) => (props?.v1 ? "#C3C2D4" : "var(--text-6)")}; + border: none; + background: ${(props) => (props?.v1 ? "#1C1C28" : "#171722")}; + + &:first-of-type { + padding-left: 0.6rem; + border-radius: var(--border-radius) 0 0 var(--border-radius); + } + &:last-of-type { + padding-right: 0.6rem; + border-radius: 0 var(--border-radius) var(--border-radius) 0; + } + &:hover { + color: white; + } + @media (max-width: 1300px) { + border-radius: none; + } + } + } + .table-body { + .table-row { + --selected-row-border: none; + border-top: ${getBorder}; + transition: 200ms; + font-size: 1.6rem; + cursor: pointer; + &:hover { + backdrop-filter: brightness(1.25); + filter: brightness(1.25); + color: white; + } + &.active { + --selected-row-border: 5px solid var(--primary); + } + &.blured { + opacity: 0.46; + } + &.highlight { + background: var(--bg-4); + } + + &.skel { + background: transparent; + } + &.disable-animation { + &:hover { + transform: scaleX(1); + } + } + + .skel-cell { + padding: 0; + margin: 0; + border-bottom: none; + border-top: none; + .skel { + background-color: var(--bg-8); + width: 100%; + height: 18rem; + border-radius: 1rem; + margin-top: -3.8rem; + } + } + .table-cell { + color: rgb(195, 194, 212); + border-top: none; + font-size: 13px; + border-bottom: ${getBorder}; + padding: 6px 0px; + &.double-height { + height: 50px; + } + &.sm { + padding: 1.7rem 0; + } + &:first-of-type { + padding-left: var(--padding-left); + } + &:last-of-type { + padding-right: calc(var(--padding-left) - 1rem); + } + } + &:hover { + .table-cell { + color: white; + } + } + } + .transparent-hover { + &:hover { + background: var(--bg-19); + } + &.active { + background: var(--bg-19); + --selected-row-border: none; + } + &.blured { + opacity: 1; + } + } + } + .fotter-bg { + background-color: white; + display: flex; + } + } +`; +export default TableBackground; diff --git a/src/Views/Common/BufferTableCard/index.tsx b/src/Views/Common/BufferTableCard/index.tsx new file mode 100644 index 0000000..a2474c6 --- /dev/null +++ b/src/Views/Common/BufferTableCard/index.tsx @@ -0,0 +1,88 @@ +import { Divider, Skeleton } from "@mui/material"; +import AlignerMobile from "../Mobile/AlignerMobile"; +import Card, { Background } from "./style"; +import { createArray } from "@Utils/JSUtils/createArray"; +import { ReactNode } from "react"; + +/* + 1. row: used as the key value while mapping, this is a mandatory value + 2. header: Used for constructing the top row, 'desc' and 'imgs' are optional values + 3. title: Used for displaying the large value in the center and the name associated to the value, both values are required + 4. tableData: Used for displaying the table below the divider. Accepts two objects as values, 'key' and 'value' which are + sent as props to Aligner Mobile. + 5. actions: Used to display actions such as buttons and links at the bottom. Optional in nature. +*/ + +interface IBufferTableCard { + rows: number; + assetJSX: (idx: number) => React.ReactChild; + titleJSX: (idx: number) => React.ReactChild; + tableKeys: () => string[]; + tableValues: (idx: number) => React.ReactChild[]; + actionsJSX: (idx?: number) => React.ReactChild; + loading?: boolean; + error?: ReactNode; +} + +const BufferTableCard: React.FC = ({ + rows, + assetJSX, + titleJSX, + tableKeys, + tableValues, + actionsJSX, + loading, + error, +}) => { + return ( + +
+ {loading ? ( + + ) : rows ? ( + createArray(rows).map((row, idx) => ( + + {/* Rendering the asset data */} + {assetJSX(idx)} + + {/* Rendering the data on top*/} +
+ {titleJSX(idx)} +
+ +
+ + {/* Rendering the table */} + ( +
+ {key} +
+ )) + } + //Insert array of values as given + values={tableValues(idx)} + keyStyles="lbold" + valueStyles="bold" + /> + + {/* Insert buttons or any other actions here */} +
{actionsJSX(idx)}
+
+ )) + ) : ( +
{error}
+ )} +
+
+ ); +}; + +export default BufferTableCard; diff --git a/src/Views/Common/BufferTableCard/style.ts b/src/Views/Common/BufferTableCard/style.ts new file mode 100644 index 0000000..0393a58 --- /dev/null +++ b/src/Views/Common/BufferTableCard/style.ts @@ -0,0 +1,36 @@ +import styled from "styled-components"; + +const Background = styled.div` + .tableCardSkeleton { + background-color: var(--bg-8); + width: 100%; + height: 260px; + border-radius: 19.33px; + transform: translateY(0px); + } +`; + +const Card = styled.div` + margin: 16px 0; + width: 100%; + padding: 21px 24px; + background-color: var(--bg-19); + border-radius: 19.33px; + font-size: 12px !important; + + .title { + color: var(--text-1); + /* font-family: "Relative Pro", sans-serif !important; */ + .title-value { + font-size: 28px; + font-weight: 500; + } + .title-name { + font-size: 14px; + font-weight: 400; + } + } +`; + +export default Card; +export { Background }; diff --git a/src/Views/Common/BufferTextInputRoot/index.tsx b/src/Views/Common/BufferTextInputRoot/index.tsx new file mode 100644 index 0000000..17b3ccc --- /dev/null +++ b/src/Views/Common/BufferTextInputRoot/index.tsx @@ -0,0 +1,115 @@ +import { ReactNode, useEffect, useState } from "react"; +import Background from "./style"; +import Fade from "react-reveal/Fade"; +import ErrorIcon from "src/SVG/Elements/ErrorIcon"; + +export interface IBufferInputBase { + placeholder?: string; + unit?: React.ReactChild; + header?: React.ReactChild; + value: string; + onChange: (val: string) => void; + className?: string; + ipClass?: string; + inputType?: "number" | "datetime-local" | "text"; + onError?: ([]) => void; + title?: string; + bgClass?: string; +} + +interface IBufferTextInputRoot extends IBufferInputBase { + validations: ((val: string) => (ReactNode | boolean)[])[]; + numeric: boolean; + isGrey?: boolean; + type?: boolean; + isDisabled?: boolean; +} +const BufferTextInputRoot: React.FC = ({ + placeholder, + unit, + header, + value, + onChange, + onError, + className, + inputType, + ipClass, + bgClass, + validations, + numeric, + isGrey, + type, + title, + isDisabled = false, +}) => { + const [errs, setErrs] = useState([]); + const validate = (value: string) => { + + let currentErrors: string[] = []; + let goAhead = true; + validations.map((singleValidation, idx) => { + // set the errors if any + const [val, err, donGoAhead] = singleValidation(value); + if (err) { + currentErrors.push(err as string); + } + if (donGoAhead) { + goAhead = false; + } + }); + setErrs([...currentErrors]); + + return goAhead; + }; + const textChangeHandler = (e: any) => { + let currValue = e.target.value; + if (currValue === "") { + setErrs([]); + return onChange(""); + } + validate(currValue) && onChange(currValue); + }; + useEffect(() => { + if (value === "") return setErrs([]); + validate(value); + }, [validations]); + const err = errs.length && errs[0]; + // useEffect(() => { + // onError(errs); + // }, [errs]); + return ( + +
+
{header}
+
+ +
{unit}
+
+ +
+ + {err} +
+
+
+
+ ); +}; + +export default BufferTextInputRoot; diff --git a/src/Views/Common/BufferTextInputRoot/style.tsx b/src/Views/Common/BufferTextInputRoot/style.tsx new file mode 100644 index 0000000..3d44192 --- /dev/null +++ b/src/Views/Common/BufferTextInputRoot/style.tsx @@ -0,0 +1,52 @@ +import styled from "styled-components"; + +const Background = styled.div` + &.ip-border { + border: 1.14763px solid #2a2a3a; + border-radius: 11.4px; + } + .background { + padding: 0.4rem 1.6rem; + border-radius: 0.8rem; + /* border: 2px solid var(--bg-8); */ + } + .bg { + /* background: var(--bg19-white) !important; */ + } + .lower-part, + .upper-part { + display: flex; + justify-items: center; + align-items: center; + } + + .inputStyle { + flex: 1; + border: none; + outline: none; + background-color: transparent; + padding: 0.5rem 0rem; + font-size: 1.6rem; + width: 100%; + color: var(--text-1); + + ::placeholder { + color: var(--text-6); + } + } + .searchImg { + width: 1.7rem; + height: 1.7rem; + } + .right-part { + padding-left: 0.8rem; + } + .error-message { + color: var(--red); + display: flex; + align-items: center; + font-size: 1.3rem; + font-weight: 400; + } +`; +export default Background; diff --git a/src/Views/Common/BufferThemeSwitcher/index.tsx b/src/Views/Common/BufferThemeSwitcher/index.tsx new file mode 100644 index 0000000..a5338a2 --- /dev/null +++ b/src/Views/Common/BufferThemeSwitcher/index.tsx @@ -0,0 +1,115 @@ +// @ts-nocheck +import { useEffect, useState } from "react"; +import { Background } from "./styles"; +import { useGlobal } from "@Contexts/Global"; + +const ThemeSwitcher = () => { + const { state, dispatch } = useGlobal(); + + function toggleDarkMode() { + localStorage.setItem("theme", `${state.isDarkMode ? 0 : 1}`); + dispatch({ type: "UPDATE_IS_DARK_MODE", payload: !state.isDarkMode }); + } + + useEffect(() => { + let theme = localStorage.getItem("theme"); + if (theme) + dispatch({ + type: "UPDATE_IS_DARK_MODE", + payload: theme === "1" ? true : false, + }); + }, []); + + return ( + + + + ); +}; + +export default ThemeSwitcher; diff --git a/src/Views/Common/BufferThemeSwitcher/styles.tsx b/src/Views/Common/BufferThemeSwitcher/styles.tsx new file mode 100644 index 0000000..d637136 --- /dev/null +++ b/src/Views/Common/BufferThemeSwitcher/styles.tsx @@ -0,0 +1,56 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + width: fit-content; + position: relative; + .theme-switcher { + width: 58px; + height: 26px; + + cursor: pointer; + margin: 0 auto; + + .background { + width: 58px; + height: 26px; + background-color: var(--bg-14); + border-radius: 13px; + display: flex; + align-items: center; + justify-content: space-around; + } + .theme-switcher-image { + margin: 0px 5px; + /* height: 30px; + width: 30px; */ + z-index: 0; + color: white; + transition: all 0.2s ease-in-out; + + .moon { + fill: white; + } + } + .switch { + /* box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); */ + height: 18px; + width: 18px; + background-color: var(--primary); + position: absolute; + top: 3.7px; + left: 5px; + border-radius: 50%; + transition: all 0.2s ease-in-out; + display: flex; + justify-content: center; + align-items: center; + } + input { + display: none; + &:checked + .switch { + left: 35px; + } + } + } +`; +export { Background }; diff --git a/src/Views/Common/BufferToggleButton/index.tsx b/src/Views/Common/BufferToggleButton/index.tsx new file mode 100644 index 0000000..fd9d1fd --- /dev/null +++ b/src/Views/Common/BufferToggleButton/index.tsx @@ -0,0 +1,31 @@ +import React from "react"; +import { Background } from "./style"; +import { Switch } from "@mui/material"; +interface IToggleButton {} +export default function ToggleButton({ + onChange, + value, + className, +}: { + onChange: () => void; + value: boolean; + className?: string; +}) { + return ( + + + + ); +} diff --git a/src/Views/Common/BufferToggleButton/style.ts b/src/Views/Common/BufferToggleButton/style.ts new file mode 100644 index 0000000..ad97f24 --- /dev/null +++ b/src/Views/Common/BufferToggleButton/style.ts @@ -0,0 +1,58 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + width: fit-content; + position: relative; + .theme-switcher { + cursor: pointer; + margin: 0 auto; + + .background { + width: 104px; + height: 27px; + background-color: var(--bg-14); + border-radius: 0.7rem; + display: flex; + align-items: center; + justify-content: space-around; + } + .theme-switcher-image { + margin: 0px 5px; + /* height: 30px; + width: 30px; */ + z-index: 1; + color: white; + transition: all 0.2s ease-in-out; + font-family: Relative Pro; + font-size: 1.4rem; + font-weight: 500; + text-align: center; + } + .switch { + /* box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); */ + width: 52px; + height: 27px; + background-color: var(--primary); + position: absolute; + top: 0; + left: 0; + border-radius: 0.7rem; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + transition: all 0.2s ease-in-out; + display: flex; + justify-content: center; + align-items: center; + } + input { + display: none; + &:checked + .switch { + left: 52px; + border-radius: 0.7rem; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + } + } +`; +export { Background }; diff --git a/src/Views/Common/BufferTransitionedTab.tsx b/src/Views/Common/BufferTransitionedTab.tsx new file mode 100644 index 0000000..6754015 --- /dev/null +++ b/src/Views/Common/BufferTransitionedTab.tsx @@ -0,0 +1,63 @@ +import { useState, useEffect, ReactNode, Children, useCallback } from "react"; +import { isEqual } from "lodash"; +interface IBufferTransitionedTab { + className?: string; + children?: ReactNode[]; +} +const selected = {}; +const wrapper = {}; + +let BufferTransitionedTab: { + Container: React.FC; + Tab: React.FC<{ + className?: string; + children?: ReactNode; + active?: boolean; + onClick: (a) => void; + }>; +} = { + Container: ({ className, children }) => { + return ( + <> +
+ <> + {children.map((t, idx) => { + return ( + + {t} + + ); + })} + +
+ + ); + }, + Tab: ({ className, children, active, onClick }) => { + return ( +
{ + + onClick(""); + }} + ref={(ref) => { + if (active) { + selected.current = ref; + } + }} + > + {children} +
+ ); + }, +}; +export default BufferTransitionedTab; diff --git a/src/Views/Common/ButtonLoader/ButtonLoader.tsx b/src/Views/Common/ButtonLoader/ButtonLoader.tsx new file mode 100644 index 0000000..7bf81e7 --- /dev/null +++ b/src/Views/Common/ButtonLoader/ButtonLoader.tsx @@ -0,0 +1,15 @@ +interface IButtonLoader { + className?: string +} + +const ButtonLoader: React.FC = ({ className }) => { + return ( +
+
+
+
+
+ ) +} + +export default ButtonLoader diff --git a/src/Views/Common/Buttons/index.tsx b/src/Views/Common/Buttons/index.tsx new file mode 100644 index 0000000..aa815c8 --- /dev/null +++ b/src/Views/Common/Buttons/index.tsx @@ -0,0 +1,110 @@ +import Button from "@mui/material/Button"; +import StyledButton from "./style"; +import { StylesProvider } from "@mui/styles"; +import EnterIcon from "src/SVG/buttons/enter"; +import EnterDisabledIcon from "src/SVG/buttons/enterDisabled"; +import InIcon from "src/SVG/buttons/exit"; +interface IBufferButton { + children: any; + className?: string; + disabled?: boolean; + onClick?: (a: any) => void; + style?: any; + isDisabled?: boolean; + hideIcon?: boolean; + icon?: JSX.Element; + title?: string; +} + +const Gradientbtn: React.FC = (props) => { + return ( + + + {props.children} + + + ); +}; + +export default Gradientbtn; + +const PrimaryBtn: React.FC = ({ + className, + isDisabled, + hideIcon = false, + ...props +}) => { + return ( + +
+ {/* {!hideIcon ? ( + !isDisabled ? ( + + ) : ( + + ) + ) : ( + <> + )} */} +
+ {props.children} +
+ ); +}; + +const PrimaryActionBtn: React.FC = ({ className, ...props }) => { + return ( + + {props.children} + + ); +}; +const SecondaryActionBtn: React.FC = ({ + className, + ...props +}) => { + return ( + + {props.children} + + ); +}; + +const SecondaryBtn: React.FC = ({ + className, + hideIcon, + icon, + ...props +}) => { + return ( + + {/* {icon && icon} + {!icon && !hideIcon && } */} + {props.children} + + ); +}; + +interface IBufferButton { + children: any; + class?: string; + disabled?: boolean; + onClick?: (a: any) => void; + hideIcon?: boolean; +} + +export { + PrimaryBtn, + SecondaryBtn, + PrimaryActionBtn, + SecondaryActionBtn, + Gradientbtn, +}; diff --git a/src/Views/Common/Buttons/style.tsx b/src/Views/Common/Buttons/style.tsx new file mode 100644 index 0000000..cf5698a --- /dev/null +++ b/src/Views/Common/Buttons/style.tsx @@ -0,0 +1,38 @@ +import styled from "styled-components"; +import Button from "@mui/material/Button"; + +const StyledButton = styled(Button)` + /* background-color: var(--primary); */ + font-family: Relative Pro; + border-radius: 1rem; + color: var(--primary); + font-size: 1.5rem; + padding: 0.7rem 1.5rem; + text-transform: initial !important; + transition: 100ms; + height: 4.1rem; + transform: translateY(0%); + &:hover { + transform: translateY(-5%); + box-shadow: 0 0.3rem 1rem 0 rgba(0, 0, 0, 0.1); + } + &:active { + transform: translateY(0%) !important; + } + &:disabled { + padding: 0.9rem 1.7rem; + background-color: var(--bg-19); + border-radius: 1.2rem; + font-weight: 500; + height: 4.1rem; + + color: var(--text-6) !important; + font-size: 1.56rem; + text-transform: capitalize !important; + /* border: 1.5px solid var(--disabled-button); */ + /* border: 1.5px solid var(--bg-14); */ + cursor: not-allowed; + } +`; + +export default StyledButton; diff --git a/src/Views/Common/Card/index.tsx b/src/Views/Common/Card/index.tsx new file mode 100644 index 0000000..79b455e --- /dev/null +++ b/src/Views/Common/Card/index.tsx @@ -0,0 +1,17 @@ +import { useState, useEffect, Children } from 'react' +import Background from './style' + +interface ICard { + style?: string + children: React.ReactChild +} + +const Card: React.FC = ({ style, children }) => { + return ( + +
{Children}
+
+ ) +} + +export default Card diff --git a/src/Views/Common/Card/style.ts b/src/Views/Common/Card/style.ts new file mode 100644 index 0000000..6ac0baf --- /dev/null +++ b/src/Views/Common/Card/style.ts @@ -0,0 +1,4 @@ +import styled from 'styled-components' + +const Background = styled.span`` +export default Background diff --git a/src/Views/Common/ChainAccountDropdowns/index.tsx b/src/Views/Common/ChainAccountDropdowns/index.tsx new file mode 100644 index 0000000..934222b --- /dev/null +++ b/src/Views/Common/ChainAccountDropdowns/index.tsx @@ -0,0 +1,65 @@ +import Background from "./style"; +import BufferDropdown from "@Views/Common/BufferDropdown"; +import FiberManualRecordIcon from "@mui/icons-material/FiberManualRecord"; +import AccountConnectionDropdown from "@Views/Common/Dropdown"; +import { changeRoute } from "@Utils/appControls/changeRoute"; +import { ArrowDropDownRounded } from "@mui/icons-material"; +import { useNetwork, Chain } from "wagmi"; +import { getChains } from "src/Providers/wagmiClient"; +import * as chain from "@wagmi/core/chains"; +import { useMemo } from "react"; + +interface INavbar { + className?: string; +} +export const chainImageMappipng = { + [chain.polygon.name]: + "https://cdn.buffer.finance/Buffer-Website-Data/main/chains/polygon2.png", + [chain.polygonMumbai.name]: + "https://cdn.buffer.finance/Buffer-Website-Data/main/chains/polygon2.png", + [chain.arbitrum.name]: "/Chains/ARBITRIUM.png", + [chain.arbitrumGoerli.name]: "/Chains/ARBITRIUM.png", + ["BSC"]: "/Chains/BSC.png", +}; + +export const chainSymbolMapping = { + [chain.polygon.name]: "POLYGON", + [chain.polygonMumbai.name]: "POLYGON", + [chain.arbitrum.name]: "ARBITRUM", + [chain.arbitrumGoerli.name]: "ARBITRUM", + ["BSC"]: "BSC", +}; + +export const useChains = () => { + let tempChain = useMemo(()=>{ + return { activeChain:chain.arbitrum }; + },[]) + return tempChain; +}; + +const ChainAccountDropdowns: React.FC = ({ className }) => { + const { activeChain } = useChains(); + const activeChainName = activeChain?.name; + const chains = getChains(); + // const router = useRouter(); + const activeIndex = 1; +function switchChain(){ + // FIXME Multichain +} + + let disabled = false; + if (typeof window !== "undefined") { + if (window.location.href.includes("migrate")) { + disabled = true; + } + } + return ( + + + + + + ); +}; + +export default ChainAccountDropdowns; diff --git a/src/Views/Common/Chips/index.tsx b/src/Views/Common/Chips/index.tsx new file mode 100644 index 0000000..494cfcf --- /dev/null +++ b/src/Views/Common/Chips/index.tsx @@ -0,0 +1,13 @@ +import { useState, useEffect, ReactNode } from "react"; +import { BlueChipBG } from "./style"; + +interface IBlueChip { + className?: string; + data: ReactNode; +} + +const BlueChip: React.FC = ({ className, data }) => { + return {data}; +}; + +export default BlueChip; diff --git a/src/Views/Common/Chips/style.ts b/src/Views/Common/Chips/style.ts new file mode 100644 index 0000000..7d63941 --- /dev/null +++ b/src/Views/Common/Chips/style.ts @@ -0,0 +1,13 @@ +import styled from "styled-components"; + +export const BlueChipBG = styled.h4` + color: white; + background-color: var(--primary); + margin: 0; + font-size: 1rem; + font-weight: 400; + vertical-align: center; + padding: 0rem 1rem; + border-radius: 0.5rem; + height: fit-content; +`; diff --git a/src/Views/Common/ClientOnlyPortal/index.tsx b/src/Views/Common/ClientOnlyPortal/index.tsx new file mode 100644 index 0000000..4e344dd --- /dev/null +++ b/src/Views/Common/ClientOnlyPortal/index.tsx @@ -0,0 +1,23 @@ +import { useRef, useEffect, useState } from "react"; +import { createPortal } from "react-dom"; + +interface Prop { + id: string; + children: any; + name?: string; + // show: boolean +} + +let ClientOnlyPortal: React.FC = ({ children, id, name }) => { + const ref = useRef(); + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(false); + ref.current = document.querySelector("#" + id); + setMounted(true); + }, [id]); + + return mounted ? createPortal(children, ref.current) : null; +}; +export default ClientOnlyPortal; diff --git a/src/Views/Common/ClientOnlyPortal/styles.ts b/src/Views/Common/ClientOnlyPortal/styles.ts new file mode 100644 index 0000000..32ed73d --- /dev/null +++ b/src/Views/Common/ClientOnlyPortal/styles.ts @@ -0,0 +1,4 @@ +import styled from 'styled-components' + +const Background = styled.div`` +export default Background diff --git a/src/Views/Common/ConfirmationModal/index.tsx b/src/Views/Common/ConfirmationModal/index.tsx new file mode 100644 index 0000000..960959f --- /dev/null +++ b/src/Views/Common/ConfirmationModal/index.tsx @@ -0,0 +1,162 @@ +import React from 'react'; +import { SocialStyles } from './style'; +import Twitter from 'public/Social/twitter'; +import Discord from 'public/Social/discord'; +import Medium from 'public/Social/medium'; +import Telegram from 'public/Social/telegram'; +import { ConfirmationModalStyles } from './style'; +import SuccessIcon from 'src/SVG/Elements/SuccessIcon'; +import { IConfirmationModal } from '@Hooks/useWriteCall'; +import { getDisplayDate } from '@Utils/Dates/displayDateTime'; +import { divide } from '@Utils/NumString/stringArithmatics'; +import { useGlobal } from '@Contexts/Global'; +import { Display } from '../Tooltips/Display'; +import { Skeleton } from '@mui/material'; +interface IConfirmationModalProps extends IConfirmationModal { + scannerLink: string; + duration: string; +} +export default function ConfirmationModal({ + asset, + expiration, + strike, + type, + is_above, + scannerLink, + duration, +}: IConfirmationModalProps) { + const { state } = useGlobal(); + return ( + +
+
+ + Position Opened +
+
+ Tell your friends about your buffer trading experience +
+ + View On {state.settings.activeChain?.displayName} Explorer + +
+
+ + token +
{asset.name}
+
+ } + /> + {!duration ? ( + + ) : null} + + {is_above ? 'Above' : 'Below'} {' '} + +
+ } + descClass={`${is_above ? 'green' : 'red'}`} + /> + + +
+
Share On :
+ +
+ + ); +} + +export function Col({ head, desc, ...props }) { + return ( +
+
+ {head ? ( + head + ) : ( + + )} +
+
+ {desc ? ( + desc + ) : ( + + )} +
+
+ ); +} +const referalText = 'Bought an option from Buffer platform. Check it out'; + +const social = [ + // { + // img: , + // link: "https://docs.buffer.finance/", + // name: "GitBook", + // }, + { + img: , + link: `https://twitter.com/share?hashtags=PredictOnBuffer&text=${referalText}&url=https://sandbox.buffer.finance/BSC/binary/WBNB`, + name: 'Twitter', + }, + { + img: , + link: `https://telegram.me/share/url=https://sandbox.buffer.finance/BSC/binary/WBNB`, + name: 'Discord', + }, + { + img: , + link: 'https://t.me/bufferfinance', + name: 'Telegram', + }, + { + img: , + link: 'https://buffer-finance.medium.com/', + name: 'Medium', + }, + // { + // img: , + // link: "https://github.com/Buffer-Finance", + // name: "GitHub", + // }, +]; +function Social() { + return ( + +
+ {social.map((s, index) => ( + +
+ {s.img} +
+
{s.name}
+
+ ))} +
+
+ ); +} diff --git a/src/Views/Common/ConfirmationModal/style.ts b/src/Views/Common/ConfirmationModal/style.ts new file mode 100644 index 0000000..1caf587 --- /dev/null +++ b/src/Views/Common/ConfirmationModal/style.ts @@ -0,0 +1,127 @@ +import styled from "@emotion/styled"; + +const ConfirmationModalStyles = styled.div` + /* color: var(--text-1); */ + + .header { + display: flex; + flex-direction: column; + gap: 0.8rem; + margin-bottom: 4rem; + &::after { + content: ""; + height: 1px; + position: absolute; + width: 100%; + /* margin: auto; */ + top: 13rem; + /* bottom: 0; */ + right: 0; + left: 0; + border-bottom: 1px solid var(--bg-14); + } + .successIcon { + max-width: 2.4rem; + margin-right: 0.5rem; + } + .text { + font-size: 2rem; + } + .sub-text { + font-size: 1.5rem; + } + .link { + font-size: 1.2rem; + :hover { + color: var(--bg-20); + cursor: pointer; + } + } + } + + .image-wrapper { + max-width: 2.5rem; + margin-right: 0.5rem; + } + .main { + & :first-of-type { + align-items: flex-start; + } + display: flex; + gap: 7rem; + justify-content: space-between; + align-items: center; + + .head { + font-size: 1.4rem; + color: var(--text-6); + } + .desc { + margin-top: 0.5rem; + font-size: 1.7rem; + } + } + + .foot { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: 1.8rem; + margin-top: 6rem; + } +`; + +const SocialStyles = styled.div` + margin-top: 1.4rem; + .socialTip { + position: relative; + :hover { + .socialTipText { + visibility: visible; + } + } + } + .socialTipText { + background-color: #11141b; + padding: 0.6rem 1rem 0.8rem; + border-radius: 4px; + visibility: hidden; + position: absolute; + top: -4.7rem; + font-size: 1.4rem; + } + .footer { + border-radius: 500px; + padding: 1.2rem 2.5rem; + background: #11141b; + backdrop-filter: blur(30px); + } + .mar { + margin: 0 1rem; + :first-of-type { + margin-left: 0; + } + :last-of-type { + margin-right: 0; + } + } + .icon { + color: var(--bg-20); + width: 28px; + height: 28px; + transition: 0.2s; + + &:hover { + transform: rotate(12deg); + filter: drop-shadow(0 0 10px var(--social-shadow)); + /* color: var(--social-text); */ + } + } + @media (max-width: 460px) { + left: 50%; + transform: translate(-50%, 0); + right: unset; + } +`; +export { ConfirmationModalStyles, SocialStyles }; diff --git a/src/Views/Common/ConnectionDrawer/index.tsx b/src/Views/Common/ConnectionDrawer/index.tsx new file mode 100644 index 0000000..7aa57f8 --- /dev/null +++ b/src/Views/Common/ConnectionDrawer/index.tsx @@ -0,0 +1,121 @@ +import { IconButton } from '@mui/material'; +import { supportedWallets } from 'config'; +import { useToast } from '@Contexts/Toast'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import { useAtom } from 'jotai'; +import { useCallback, useEffect } from 'react'; +import { isDrawerOpen } from 'src/globalStore'; +import BackIcon from 'src/SVG/buttons/back'; +import { useConnect, useNetwork, useSwitchNetwork } from 'wagmi'; +import Background from './style'; +import { useActiveChain } from '@Hooks/useActiveChain'; +import { getChains } from 'src/Config/wagmiClient'; + +interface IWalletConnection { + className?: string; +} + +export const useWalletConnect = () => { + const { activeChain } = useActiveChain(); + const [, setIsConnectionDrawerOpen] = useAtom(isDrawerOpen); + const { connect, connectors, error: connectError } = useConnect(); + const { switchNetwork, error: switchError } = useSwitchNetwork(); + const { chain } = useNetwork(); + const toastify = useToast(); + const { address: account } = useUserAccount(); + const chains = getChains(); + + const closeDrawer = useCallback(() => { + setIsConnectionDrawerOpen(false); + }, []); + + useEffect(() => { + if (!activeChain?.id) return; + if (!chain?.id) return; + if (account && chain.id === activeChain.id) { + closeDrawer(); + } + }, [account, activeChain, chain]); + + const connectHandler = (connectorId: number): void => { + if (!activeChain?.id) return; + const chainId = chains.find((chain) => chain.id === activeChain.id).id; + console.log(`chains: `, chains); + + if (switchNetwork) { + switchNetwork(chainId); + if (switchError) { + console.log(`switchError: `, switchError); + toastify({ + type: 'error', + msg: 'Switching networks is not supported on your wallet. Please try with another wallet.', + id: 'switchWalletError', + }); + } + } else { + connect({ + connector: connectors[connectorId], + chainId, + }); + if (connectError) { + toastify({ + type: 'error', + msg: 'Please try with another wallet.', + id: 'connectError', + }); + } + } + }; + return { connectHandler, closeDrawer }; +}; + +const WalletConnection: React.FC = ({ className }) => { + const { connectHandler, closeDrawer } = useWalletConnect(); + + return ( + +
+
+
+ + + + + Connect Your Wallet + +
+ {supportedWallets.map((wallet: any, index: number) => ( + + ))} +
+ Haven’t installed Metamask yet?  + + Click Here + +
+
+ {/* */} +
+
+ ); +}; + +export default WalletConnection; diff --git a/src/Views/Common/ConnectionDrawer/style.ts b/src/Views/Common/ConnectionDrawer/style.ts new file mode 100644 index 0000000..ab8493c --- /dev/null +++ b/src/Views/Common/ConnectionDrawer/style.ts @@ -0,0 +1,66 @@ +import styled from "styled-components"; + +const Background = styled.div` + font-family: Relative Pro; + &.default-closed { + position: relative; + height: 100%; + top: 0; + /* bottom: 0; */ + left: 0; + right: 0; + /* background-color: var(--bg-4); */ + /* left: 0; */ + transform: translateX(120%); + transition: 200ms ease-in-out; + z-index: 1000; + } + &.open { + transform: translateX(0%); + } + .header { + margin-bottom: 2rem; + } + + .wallet { + display: flex; + width: 100%; + justify-content: space-between; + /* background: var(--bg19-white); */ + padding: 1.8rem 2.2rem; + margin-bottom: 0.8rem; + border-radius: 9px; + font-size: 1.4rem; + text-transform: none; + color: var(--text-1); + .label { + font-family: "Relative Pro"; + } + .wallet_img { + width: 2.4rem; + height: 2.4rem; + } + .big { + width: 50px; + } + /* &:hover { + background: var(--bg-14); + } */ + } + .msg-text { + text-align: center; + margin-top: 3.8rem; + font-size: 1.3rem; + color: var(--text-1); + + .metamask-link { + all: unset; + color: var(--bg-20); + cursor: pointer; + &:hover { + text-decoration: underline; + } + } + } +`; +export default Background; diff --git a/src/Views/Common/Dialog/index.tsx b/src/Views/Common/Dialog/index.tsx new file mode 100644 index 0000000..c643b0b --- /dev/null +++ b/src/Views/Common/Dialog/index.tsx @@ -0,0 +1,89 @@ +import Dialog from '@mui/material/Dialog' +import { createStyles, withStyles } from '@mui/styles' + +export const CustomizedDialog = withStyles((theme) => + createStyles({ + root: { + margin: `auto -10px`, + width: '100%', + }, + paperWidthSm: { + backgroundColor: 'var(--skel-back)', + borderRadius: '23.5979px', + maxWidth: 'initial', + padding: '1.5em', + width: '45vw', + [theme.breakpoints.down('sm')]: { + width: '100vw', + margin: '0 0 0 20px', + }, + }, + }) +)(Dialog) + +export const CustomizedDialogSmall = withStyles((theme) => + createStyles({ + root: { + margin: `auto -10px`, + width: '100%', + }, + + // tslint:disable-next-line: object-literal-sort-keys + + paperWidthSm: { + backgroundColor: 'var(--skel-back)', + borderRadius: '23.5979px', + maxWidth: 'fit-content', + padding: '1.5em', + minWidth: '32vw', + // maxWidth:'fit-content' + + [theme.breakpoints.down('sm')]: { + width: '100vw', + margin: '0 0 0 20px', + padding: '1em', + }, + }, + }) +)(Dialog) +export const SimpleDialog = withStyles((theme) => + createStyles({ + root: { + margin: `auto -10px`, + width: '100vw', + }, + + // tslint:disable-next-line: object-literal-sort-keys + + paperWidthSm: { + maxWidth: 'none', + [theme.breakpoints.down('sm')]: { + width: '100vw', + }, + }, + }) +)(Dialog) + +export const CustomizedDialogNoPadding = withStyles((theme) => + createStyles({ + root: { + margin: `auto -10px`, + width: '100%', + }, + + // tslint:disable-next-line: object-literal-sort-keys + + paperWidthSm: { + backgroundColor: 'var(--skel-back)', + borderRadius: '23.5979px', + width: '70vw', + maxWidth: 900, + padding: '1.5em', + overflow: 'visible', + [theme.breakpoints.down('sm')]: { + margin: '0 0 0 20px', + width: '100vw', + }, + }, + }) +)(Dialog) diff --git a/src/Views/Common/Disclaimer/index.tsx b/src/Views/Common/Disclaimer/index.tsx new file mode 100644 index 0000000..f4a9187 --- /dev/null +++ b/src/Views/Common/Disclaimer/index.tsx @@ -0,0 +1,16 @@ +import { useState, useEffect, ReactNode } from "react"; +import Background from "./style"; + +interface IDisclaimer { + children: ReactNode; + show: boolean; + className?: string; +} + +const Disclaimer: React.FC = ({ children, show, className }) => { + return ( + <>{show && {children}} + ); +}; + +export default Disclaimer; diff --git a/src/Views/Common/Disclaimer/style.ts b/src/Views/Common/Disclaimer/style.ts new file mode 100644 index 0000000..02ca506 --- /dev/null +++ b/src/Views/Common/Disclaimer/style.ts @@ -0,0 +1,13 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + color: var(--text-6); + font-size: 1.4rem; + text-align: center; + font-style: italic; +`; +export default Background; diff --git a/src/Views/Common/DraggableModal/index.tsx b/src/Views/Common/DraggableModal/index.tsx new file mode 100644 index 0000000..c75be76 --- /dev/null +++ b/src/Views/Common/DraggableModal/index.tsx @@ -0,0 +1,44 @@ +import React, { useEffect } from "react"; +import { Background } from "./style"; +import { CloseOutlined } from "@mui/icons-material"; +import { IconButton } from "@mui/material"; + +export default function DraggableModal({ isOpen, closeModal, children }) { + useEffect(() => { + if (!isOpen) return; + const draggable = document.getElementById("draggable"); + draggable.onmousedown = dragMouseDown; + + function dragMouseDown(e) { + document.onmouseup = closeDragElement; + document.onmousemove = elementDrag; + } + + function elementDrag({ movementX, movementY }) { + const getStyle = window.getComputedStyle(draggable); + const left = parseInt(getStyle.left); + const top = parseInt(getStyle.top); + + draggable.style.left = left + movementX + "px"; + draggable.style.top = top + movementY + "px"; + } + + function closeDragElement() { + document.onmouseup = null; + document.onmousemove = null; + } + }, [isOpen]); + + if (isOpen) + return ( + +
+ + + + {children} +
+
+ ); + return <>; +} diff --git a/src/Views/Common/DraggableModal/style.ts b/src/Views/Common/DraggableModal/style.ts new file mode 100644 index 0000000..0b7d09e --- /dev/null +++ b/src/Views/Common/DraggableModal/style.ts @@ -0,0 +1,37 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + padding: 3rem; + background-color: var(--bg-19); + width: fit-content; + height: fit-content; + position: fixed; + bottom: 3rem; + right: 2rem; + margin-top: 15px; + margin-right: 15px; + z-index: 950; + border-radius: 12px; + box-shadow: 0 0 0.1px 0.5px var(--bg-14); + /* border: 1px solid var(--bg-14); */ + cursor: move; /* fallback if grab cursor is unsupported */ + cursor: grab; + cursor: -moz-grab; + cursor: -webkit-grab; + &:active { + cursor: grabbing; + cursor: -moz-grabbing; + cursor: -webkit-grabbing; + } + + .close { + position: absolute; + right: 22px; + top: -15px; + color: var(--text-1); + background-color: var(--bg-14); + border-radius: 50%; + } +`; + +export { Background }; diff --git a/src/Views/Common/Dropdown/index.tsx b/src/Views/Common/Dropdown/index.tsx new file mode 100644 index 0000000..ce4087c --- /dev/null +++ b/src/Views/Common/Dropdown/index.tsx @@ -0,0 +1,101 @@ +import { MouseEventHandler } from 'react'; +import BufferDropdown from '../BufferDropdown'; +import DisconnectIcon from 'src/SVG/Elements/Disconnect'; +import useConnectionDrawer from '@Hooks/Utilities/useOpenConnectionDrawer'; +import { atom, useAtom } from 'jotai'; +import { isDrawerOpen } from 'src/globalStore'; +import Wallet from 'public/ComponentSVGS/wallet'; +import { ArrowDropDownRounded } from '@mui/icons-material'; +import { useDisconnect, useNetwork } from 'wagmi'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import { useActiveChain } from '@Hooks/useActiveChain'; +import { ConnectButton , useAccountModal, useChainModal, useConnectModal} from '@rainbow-me/rainbowkit' + +interface IProps { + inDrawer?: boolean; +} +export const connectedChainAtom = atom(null); +const AccountConnectionDropdown: React.FC = ({ inDrawer }) => { + const { address: account } = useUserAccount(); + const { chain, chains } = useNetwork(); + const { activeChain } = useActiveChain(); + const activeChainName = activeChain?.name; + const { disconnect } = useDisconnect(); + const { openWalletDrawer } = useConnectionDrawer(); + const [isConnectionDrawerOpen, setIsConnectionDrawerOpen] = + useAtom(isDrawerOpen); + + const { openConnectModal } = useConnectModal(); + // const connect: MouseEventHandler = (e) => { + // // dispatch({ type: "SET_DRAWER", payload: true }); + // setIsConnectionDrawerOpen(true); + // e.stopPropagation(); + // openWalletDrawer(); + // }; + + if ( + activeChainName && + chain && + chain.id !== chains.find((chain) => chain.name === activeChainName)?.id + ) { + return ( +
+ + {'Change network'} +
+ ); + } + + return ( + ( +
+ + + + {account + ? `${account.slice(0, 4)}...${account.slice(-4)}` + : 'Connect'} + + + {account && ( + + )} +
+ )} + className="bg-1" + item={(singleItem, handleClose, onChange, active) => ( + + )} + /> + ); +}; +export default AccountConnectionDropdown; diff --git a/src/Views/Common/Dropdown/styles.ts b/src/Views/Common/Dropdown/styles.ts new file mode 100644 index 0000000..cc5e10a --- /dev/null +++ b/src/Views/Common/Dropdown/styles.ts @@ -0,0 +1,345 @@ +import styled from "styled-components"; + +const Style = styled.div` + height: 4rem; + .chain-dropdown-box { + padding: 0rem !important; + width: 100% !important; + height: 4rem; + } + .primaryBtn { + display: flex; + border-radius: 1rem; + color: var(--text-1); + /* min-width: 15rem; */ + /* border: 0.1rem solid var(--primary); */ + padding: 0.95rem 1.3rem; + color: var(--text-v1); + height: 100%; + background: var(--bg-19); + @media (max-width: 600px) { + padding: 0.4rem 1rem 0.4rem 0.8rem; + /* padding-bottom: 0.4rem; */ + } + } + /* .autoMar { + margin: auto 0; + } */ + + .dropdown { + position: relative; + /* height: 48.08px; */ + } + .fullWidth { + color: var(--text-v1); + /* font-family: Relative Pro !important; */ + position: relative; + } + .date { + text-transform: none; + font-weight: 300; + font-size: 15px; + } + + .period { + background-color: transparent !important; + color: var(--text-v1) !important; + height: 49.08px; + outline: none; + padding: 1em; + border-radius: 9.06925px !important; + border: 1px solid !important; + justify-content: space-between !important; + width: 100%; + border-color: $primaryColor !important; + /* font-family: Relative Pro !important; */ + text-transform: capitalize !important; + padding-left: 1em !important; + input { + color: var(--text-v1); + background-color: transparent !important; + } + .primaryBtn { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; + } + span { + font-size: 1.5rem; + } + } + /* .position { + font-size: 2rem; + fill: var(--text-1) !important; + transition: 100ms ease; + transform: rotateZ(0deg); + &.rotate { + transform: rotateZ(180deg); + } + @media screen and (max-width: 600px) { + font-size: 2.5rem; + margin-left: 5px; + } + } */ + .filled { + background: linear-gradient( + 180deg, + #00b3e3 27%, + #00c4df 39.12%, + #00dacf 59.16% + ) !important; + color: $secondaryColor !important; + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; + justify-content: center !important; + text-align: center; + @media screen and (max-width: 1024px) { + min-width: 0 !important; + } + span { + font-size: 1.5rem; + } + } + .outer { + background-image: linear-gradient(180deg, #9d37ad 0%, #5b39e1 100%); + border-radius: 8.19185px; + padding: 1px; + border-radius: 11.1602px !important; + position: relative; + .period { + border: none !important; + border-radius: 11.1602px !important; + height: 46px; + } + @media screen and (max-width: 600px) { + // margin: 0 0 3em 0; + width: 100%; + } + } + .inner { + border-radius: 8.19185px !important; + background-color: var(--bg-farm) !important; + border-radius: 11.1602px !important; + height: 100%; + } + .dropdown_menu { + // left: 0; + width: 100%; + perspective: 1000px; + color: var(--text-v1); + background-color: var(--skel-back); + z-index: 300; + // display: none; + border-bottom-left-radius: 9.06925px !important; + border-bottom-right-radius: 9.06925px !important; + } + .dropdown_menu_nav { + position: absolute; + top: 100%; + left: 0%; + // left: 0; + width: 100%; + perspective: 1000px; + color: var(--text-v1); + background-color: var(--bg-19); + z-index: 300; + // display: none; + border-bottom-left-radius: 9.06925px !important; + border-bottom-right-radius: 9.06925px !important; + @media (max-width: 600px) { + top: 0%; + z-index: -1; + border-radius: 0; + transform: translateY(-95%); + border-top-left-radius: 9.06925px !important; + border-top-right-radius: 9.06925px !important; + } + } + .dropdown_item { + color: var(--text-v1) !important; + /* font-family: Relative Pro !important; */ + padding: 1em !important; + text-transform: capitalize !important; + z-index: 300; + justify-content: center !important; + z-index: 2000; + width: 100%; + @media (max-width: 600px) { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + } + .dropdown_item2 { + color: var(--text-6); + font-size: 1.4rem; + padding: 0.7em 1.5em; + text-transform: capitalize; + background-color: var(--bg-19); + justify-content: flex-start; + z-index: 2000; + width: 100%; + .disconnectImg { + margin-right: 1.1rem; + font-weight: 600; + } + span { + font-size: 1.4rem; + } + &:hover { + color: var(--text-1); + } + @media (max-width: 600px) { + justify-content: center; + } + } + .fullWidth { + .dropdown_item { + justify-content: start !important; + font-size: 1.4rem; + padding: 0rem; + padding: 0.6rem 1rem !important; + } + } + .dropdown_menu_6 { + // animation: growDown 500ms ease-in-out forwards; + transform-origin: top center; + position: absolute !important; + width: fit-content; + transition-delay: 10s; + transition: transform 10s; + border-bottom-left-radius: 9.06925px !important; + box-shadow: 1px 1px 5px 1px rgb(0 0 0 / 25%); + border-bottom-right-radius: 9.06925px !important; + } + .nav_drop { + // animation: growDown 500ms ease-in-out forwards; + transform-origin: top center; + position: absolute !important; + top: 45px; + width: auto; + left: 7%; + right: 1em; + padding: 0 3em; + transition-delay: 10s; + transition: transform 10s; + border-bottom-left-radius: 9.06925px !important; + border-bottom-right-radius: 9.06925px !important; + @media (max-width: 600px) { + top: -53%; + // right: 0em; + display: flex; + border-radius: 0 !important; + border-top-left-radius: 9.06925px !important; + border-top-right-radius: 9.06925px !important; + // transform: translateY(-100%); + } + } + + .source { + margin: 10px 0; + .dropdown_menu { + max-height: 150px; + overflow-y: scroll; + + &::-webkit-scrollbar { + background: var(--bg-color); + height: 7px; + width: 0.5vw; + } + + &::-webkit-scrollbar-thumb { + border-radius: 24px; + background: #8b8b8b24; + opacity: 0.1; + } + + &::-webkit-scrollbar-track { + border-radius: 24px; + background: var(--skel-back); + } + } + } + .foot { + float: right; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 172.5%; + text-align: center; + color: var(--text-v1); + opacity: 0.9; + margin-top: 8px; + .balance { + display: flex; + justify-content: flex-end; + } + } + .warning { + * { + color: #ffffff91 !important; + } + span { + margin-left: 5px; + } + } + .flex { + display: flex; + justify-content: center; + align-items: center; + } + + .connect { + display: flex; + } + /* .txt { */ + /* font-size: 1.4rem; */ + /* margin: 0 8px 0 10px; */ + /* height: 2.1rem; */ + + /* @media (max-width: 600px) { + margin: auto; + } + } */ + .nav { + margin: auto; + justify-content: flex-end; + height: max-content; + // flex-direction: column; + } + + .walletImage { + @media (max-width: 600px) { + margin-right: 10px !important; + } + } + .primaryBtn-connect-wrong { + align-items: center; + .cls { + margin: auto; + display: flex; + @media (max-width: 600px) { + margin: auto; + } + } + .txt { + margin-right: 0; + } + } + @media (max-width: 600px) { + transform: scale(0.9); + .dropdown-items { + transform: translateX(-50%) scale(1) translateY(-250%) !important; + } + .primaryBtn-connect { + min-width: unset; + } + .primaryBtn-connect-wrong { + min-width: unset; + } + } + .drawer-dropdown { + @media (max-width: 600px) { + transform: translateX(-50%) scale(1) translateY(8%) !important; + } + } +`; +export default Style; diff --git a/src/Views/Common/GraphView/AreaData.ts b/src/Views/Common/GraphView/AreaData.ts new file mode 100644 index 0000000..a4856de --- /dev/null +++ b/src/Views/Common/GraphView/AreaData.ts @@ -0,0 +1,152 @@ +export const areaData = [ + { time: "2018-10-19", value: 54.9 }, + { time: "2018-10-22", value: 54.98 }, + { time: "2018-10-23", value: 57.21 }, + { time: "2018-10-24", value: 57.42 }, + { time: "2018-10-25", value: 56.43 }, + { time: "2018-10-26", value: 55.51 }, + { time: "2018-10-29", value: 56.48 }, + { time: "2018-10-30", value: 58.18 }, + { time: "2018-10-31", value: 57.09 }, + { time: "2018-11-01", value: 56.05 }, + { time: "2018-11-02", value: 56.63 }, + { time: "2018-11-05", value: 57.21 }, + { time: "2018-11-06", value: 57.21 }, + { time: "2018-11-07", value: 57.65 }, + { time: "2018-11-08", value: 58.27 }, + { time: "2018-11-09", value: 58.46 }, + { time: "2018-11-12", value: 58.72 }, + { time: "2018-11-13", value: 58.66 }, + { time: "2018-11-14", value: 58.94 }, + { time: "2018-11-15", value: 59.08 }, + { time: "2018-11-16", value: 60.21 }, + { time: "2018-11-19", value: 60.62 }, + { time: "2018-11-20", value: 59.46 }, + { time: "2018-11-21", value: 59.16 }, + { time: "2018-11-23", value: 58.64 }, + { time: "2018-11-26", value: 59.17 }, + { time: "2018-11-27", value: 60.65 }, + { time: "2018-11-28", value: 60.06 }, + { time: "2018-11-29", value: 59.45 }, + { time: "2018-11-30", value: 60.3 }, + { time: "2018-12-03", value: 58.16 }, + { time: "2018-12-04", value: 58.09 }, + { time: "2018-12-06", value: 58.08 }, + { time: "2018-12-07", value: 57.68 }, + { time: "2018-12-10", value: 58.27 }, + { time: "2018-12-11", value: 58.85 }, + { time: "2018-12-12", value: 57.25 }, + { time: "2018-12-13", value: 57.09 }, + { time: "2018-12-14", value: 57.08 }, + { time: "2018-12-17", value: 55.95 }, + { time: "2018-12-18", value: 55.65 }, + { time: "2018-12-19", value: 55.86 }, + { time: "2018-12-20", value: 55.07 }, + { time: "2018-12-21", value: 54.92 }, + { time: "2018-12-24", value: 53.05 }, + { time: "2018-12-26", value: 54.44 }, + { time: "2018-12-27", value: 55.15 }, + { time: "2018-12-28", value: 55.27 }, + { time: "2018-12-31", value: 56.22 }, + { time: "2019-01-02", value: 56.02 }, + { time: "2019-01-03", value: 56.22 }, + { time: "2019-01-04", value: 56.36 }, + { time: "2019-01-07", value: 56.72 }, + { time: "2019-01-08", value: 58.38 }, + { time: "2019-01-09", value: 57.05 }, + { time: "2019-01-10", value: 57.6 }, + { time: "2019-01-11", value: 58.02 }, + { time: "2019-01-14", value: 58.03 }, + { time: "2019-01-15", value: 58.1 }, + { time: "2019-01-16", value: 57.08 }, + { time: "2019-01-17", value: 56.83 }, + { time: "2019-01-18", value: 57.09 }, + { time: "2019-01-22", value: 56.99 }, + { time: "2019-01-23", value: 57.76 }, + { time: "2019-01-24", value: 57.07 }, + { time: "2019-01-25", value: 56.4 }, + { time: "2019-01-28", value: 55.07 }, + { time: "2019-01-29", value: 53.28 }, + { time: "2019-01-30", value: 54.0 }, + { time: "2019-01-31", value: 55.06 }, + { time: "2019-02-01", value: 54.55 }, + { time: "2019-02-04", value: 54.04 }, + { time: "2019-02-05", value: 54.14 }, + { time: "2019-02-06", value: 53.79 }, + { time: "2019-02-07", value: 53.57 }, + { time: "2019-02-08", value: 53.95 }, + { time: "2019-02-11", value: 54.05 }, + { time: "2019-02-12", value: 54.42 }, + { time: "2019-02-13", value: 54.48 }, + { time: "2019-02-14", value: 54.03 }, + { time: "2019-02-15", value: 55.16 }, + { time: "2019-02-19", value: 55.44 }, + { time: "2019-02-20", value: 55.76 }, + { time: "2019-02-21", value: 56.15 }, + { time: "2019-02-22", value: 56.92 }, + { time: "2019-02-25", value: 56.78 }, + { time: "2019-02-26", value: 56.64 }, + { time: "2019-02-27", value: 56.72 }, + { time: "2019-02-28", value: 56.92 }, + { time: "2019-03-01", value: 56.96 }, + { time: "2019-03-04", value: 56.24 }, + { time: "2019-03-05", value: 56.08 }, + { time: "2019-03-06", value: 55.68 }, + { time: "2019-03-07", value: 56.3 }, + { time: "2019-03-08", value: 56.53 }, + { time: "2019-03-11", value: 57.58 }, + { time: "2019-03-12", value: 57.43 }, + { time: "2019-03-13", value: 57.66 }, + { time: "2019-03-14", value: 57.95 }, + { time: "2019-03-15", value: 58.39 }, + { time: "2019-03-18", value: 58.07 }, + { time: "2019-03-19", value: 57.5 }, + { time: "2019-03-20", value: 57.67 }, + { time: "2019-03-21", value: 58.29 }, + { time: "2019-03-22", value: 59.76 }, + { time: "2019-03-25", value: 60.08 }, + { time: "2019-03-26", value: 60.63 }, + { time: "2019-03-27", value: 60.88 }, + { time: "2019-03-28", value: 59.08 }, + { time: "2019-03-29", value: 59.13 }, + { time: "2019-04-01", value: 59.09 }, + { time: "2019-04-02", value: 58.53 }, + { time: "2019-04-03", value: 58.87 }, + { time: "2019-04-04", value: 58.99 }, + { time: "2019-04-05", value: 59.09 }, + { time: "2019-04-08", value: 59.13 }, + { time: "2019-04-09", value: 58.4 }, + { time: "2019-04-10", value: 58.61 }, + { time: "2019-04-11", value: 58.56 }, + { time: "2019-04-12", value: 58.74 }, + { time: "2019-04-15", value: 58.71 }, + { time: "2019-04-16", value: 58.79 }, + { time: "2019-04-17", value: 57.78 }, + { time: "2019-04-18", value: 58.04 }, + { time: "2019-04-22", value: 58.37 }, + { time: "2019-04-23", value: 57.15 }, + { time: "2019-04-24", value: 57.08 }, + { time: "2019-04-25", value: 55.85 }, + { time: "2019-04-26", value: 56.58 }, + { time: "2019-04-29", value: 56.84 }, + { time: "2019-04-30", value: 57.19 }, + { time: "2019-05-01", value: 56.52 }, + { time: "2019-05-02", value: 56.99 }, + { time: "2019-05-03", value: 57.24 }, + { time: "2019-05-06", value: 56.91 }, + { time: "2019-05-07", value: 56.63 }, + { time: "2019-05-08", value: 56.38 }, + { time: "2019-05-09", value: 56.48 }, + { time: "2019-05-10", value: 56.91 }, + { time: "2019-05-13", value: 56.75 }, + { time: "2019-05-14", value: 56.55 }, + { time: "2019-05-15", value: 56.81 }, + { time: "2019-05-16", value: 57.38 }, + { time: "2019-05-17", value: 58.09 }, + { time: "2019-05-20", value: 59.01 }, + { time: "2019-05-21", value: 59.5 }, + { time: "2019-05-22", value: 59.25 }, + { time: "2019-05-23", value: 58.87 }, + { time: "2019-05-24", value: 59.32 }, + { time: "2019-05-28", value: 59.57 }, +]; diff --git a/src/Views/Common/GraphView/PriceData.ts b/src/Views/Common/GraphView/PriceData.ts new file mode 100644 index 0000000..10f4271 --- /dev/null +++ b/src/Views/Common/GraphView/PriceData.ts @@ -0,0 +1,152 @@ +export const data = [ + { time: "2018-10-19", open: 54.62, high: 55.5, low: 54.52, close: 54.9 }, + { time: "2018-10-22", open: 55.08, high: 55.27, low: 54.61, close: 54.98 }, + { time: "2018-10-23", open: 56.09, high: 57.47, low: 56.09, close: 57.21 }, + { time: "2018-10-24", open: 57.0, high: 58.44, low: 56.41, close: 57.42 }, + { time: "2018-10-25", open: 57.46, high: 57.63, low: 56.17, close: 56.43 }, + { time: "2018-10-26", open: 56.26, high: 56.62, low: 55.19, close: 55.51 }, + { time: "2018-10-29", open: 55.81, high: 57.15, low: 55.72, close: 56.48 }, + { time: "2018-10-30", open: 56.92, high: 58.8, low: 56.92, close: 58.18 }, + { time: "2018-10-31", open: 58.32, high: 58.32, low: 56.76, close: 57.09 }, + { time: "2018-11-01", open: 56.98, high: 57.28, low: 55.55, close: 56.05 }, + { time: "2018-11-02", open: 56.34, high: 57.08, low: 55.92, close: 56.63 }, + { time: "2018-11-05", open: 56.51, high: 57.45, low: 56.51, close: 57.21 }, + { time: "2018-11-06", open: 57.02, high: 57.35, low: 56.65, close: 57.21 }, + { time: "2018-11-07", open: 57.55, high: 57.78, low: 57.03, close: 57.65 }, + { time: "2018-11-08", open: 57.7, high: 58.44, low: 57.66, close: 58.27 }, + { time: "2018-11-09", open: 58.32, high: 59.2, low: 57.94, close: 58.46 }, + { time: "2018-11-12", open: 58.84, high: 59.4, low: 58.54, close: 58.72 }, + { time: "2018-11-13", open: 59.09, high: 59.14, low: 58.32, close: 58.66 }, + { time: "2018-11-14", open: 59.13, high: 59.32, low: 58.41, close: 58.94 }, + { time: "2018-11-15", open: 58.85, high: 59.09, low: 58.45, close: 59.08 }, + { time: "2018-11-16", open: 59.06, high: 60.39, low: 58.91, close: 60.21 }, + { time: "2018-11-19", open: 60.25, high: 61.32, low: 60.18, close: 60.62 }, + { time: "2018-11-20", open: 61.03, high: 61.58, low: 59.17, close: 59.46 }, + { time: "2018-11-21", open: 59.26, high: 59.9, low: 58.88, close: 59.16 }, + { time: "2018-11-23", open: 58.86, high: 59.0, low: 58.29, close: 58.64 }, + { time: "2018-11-26", open: 58.64, high: 59.51, low: 58.31, close: 59.17 }, + { time: "2018-11-27", open: 59.21, high: 60.7, low: 59.18, close: 60.65 }, + { time: "2018-11-28", open: 60.7, high: 60.73, low: 59.64, close: 60.06 }, + { time: "2018-11-29", open: 59.42, high: 59.79, low: 59.26, close: 59.45 }, + { time: "2018-11-30", open: 59.57, high: 60.37, low: 59.48, close: 60.3 }, + { time: "2018-12-03", open: 59.5, high: 59.75, low: 57.69, close: 58.16 }, + { time: "2018-12-04", open: 58.1, high: 59.4, low: 57.96, close: 58.09 }, + { time: "2018-12-06", open: 58.18, high: 58.64, low: 57.16, close: 58.08 }, + { time: "2018-12-07", open: 57.91, high: 58.43, low: 57.34, close: 57.68 }, + { time: "2018-12-10", open: 57.8, high: 58.37, low: 56.87, close: 58.27 }, + { time: "2018-12-11", open: 58.77, high: 59.4, low: 58.63, close: 58.85 }, + { time: "2018-12-12", open: 57.79, high: 58.19, low: 57.23, close: 57.25 }, + { time: "2018-12-13", open: 57.0, high: 57.5, low: 56.81, close: 57.09 }, + { time: "2018-12-14", open: 56.95, high: 57.5, low: 56.75, close: 57.08 }, + { time: "2018-12-17", open: 57.06, high: 57.31, low: 55.53, close: 55.95 }, + { time: "2018-12-18", open: 55.94, high: 56.69, low: 55.31, close: 55.65 }, + { time: "2018-12-19", open: 55.72, high: 56.92, low: 55.5, close: 55.86 }, + { time: "2018-12-20", open: 55.92, high: 56.01, low: 54.26, close: 55.07 }, + { time: "2018-12-21", open: 54.84, high: 56.53, low: 54.24, close: 54.92 }, + { time: "2018-12-24", open: 54.68, high: 55.04, low: 52.94, close: 53.05 }, + { time: "2018-12-26", open: 53.23, high: 54.47, low: 52.4, close: 54.44 }, + { time: "2018-12-27", open: 54.31, high: 55.17, low: 53.35, close: 55.15 }, + { time: "2018-12-28", open: 55.37, high: 55.86, low: 54.9, close: 55.27 }, + { time: "2018-12-31", open: 55.53, high: 56.23, low: 55.07, close: 56.22 }, + { time: "2019-01-02", open: 56.16, high: 56.16, low: 55.28, close: 56.02 }, + { time: "2019-01-03", open: 56.3, high: 56.99, low: 56.06, close: 56.22 }, + { time: "2019-01-04", open: 56.49, high: 56.89, low: 55.95, close: 56.36 }, + { time: "2019-01-07", open: 56.76, high: 57.26, low: 56.55, close: 56.72 }, + { time: "2019-01-08", open: 57.27, high: 58.69, low: 57.05, close: 58.38 }, + { time: "2019-01-09", open: 57.68, high: 57.72, low: 56.85, close: 57.05 }, + { time: "2019-01-10", open: 57.29, high: 57.7, low: 56.87, close: 57.6 }, + { time: "2019-01-11", open: 57.84, high: 58.26, low: 57.42, close: 58.02 }, + { time: "2019-01-14", open: 57.83, high: 58.15, low: 57.67, close: 58.03 }, + { time: "2019-01-15", open: 57.74, high: 58.29, low: 57.58, close: 58.1 }, + { time: "2019-01-16", open: 57.93, high: 57.93, low: 57.0, close: 57.08 }, + { time: "2019-01-17", open: 57.16, high: 57.4, low: 56.21, close: 56.83 }, + { time: "2019-01-18", open: 56.92, high: 57.47, low: 56.84, close: 57.09 }, + { time: "2019-01-22", open: 57.23, high: 57.39, low: 56.4, close: 56.99 }, + { time: "2019-01-23", open: 56.98, high: 57.87, low: 56.93, close: 57.76 }, + { time: "2019-01-24", open: 57.61, high: 57.65, low: 56.5, close: 57.07 }, + { time: "2019-01-25", open: 57.18, high: 57.47, low: 56.23, close: 56.4 }, + { time: "2019-01-28", open: 56.12, high: 56.22, low: 54.8, close: 55.07 }, + { time: "2019-01-29", open: 53.62, high: 54.3, low: 52.97, close: 53.28 }, + { time: "2019-01-30", open: 53.1, high: 54.02, low: 52.28, close: 54.0 }, + { time: "2019-01-31", open: 54.05, high: 55.19, low: 53.53, close: 55.06 }, + { time: "2019-02-01", open: 55.21, high: 55.3, low: 54.47, close: 54.55 }, + { time: "2019-02-04", open: 54.6, high: 54.69, low: 53.67, close: 54.04 }, + { time: "2019-02-05", open: 54.1, high: 54.34, low: 53.61, close: 54.14 }, + { time: "2019-02-06", open: 54.11, high: 54.37, low: 53.68, close: 53.79 }, + { time: "2019-02-07", open: 53.61, high: 53.73, low: 53.02, close: 53.57 }, + { time: "2019-02-08", open: 53.36, high: 53.96, low: 53.3, close: 53.95 }, + { time: "2019-02-11", open: 54.13, high: 54.37, low: 53.86, close: 54.05 }, + { time: "2019-02-12", open: 54.45, high: 54.77, low: 54.19, close: 54.42 }, + { time: "2019-02-13", open: 54.35, high: 54.77, low: 54.28, close: 54.48 }, + { time: "2019-02-14", open: 54.38, high: 54.52, low: 53.95, close: 54.03 }, + { time: "2019-02-15", open: 54.48, high: 55.19, low: 54.32, close: 55.16 }, + { time: "2019-02-19", open: 55.06, high: 55.66, low: 54.82, close: 55.44 }, + { time: "2019-02-20", open: 55.37, high: 55.91, low: 55.24, close: 55.76 }, + { time: "2019-02-21", open: 55.55, high: 56.72, low: 55.46, close: 56.15 }, + { time: "2019-02-22", open: 56.43, high: 57.13, low: 56.4, close: 56.92 }, + { time: "2019-02-25", open: 57.0, high: 57.27, low: 56.55, close: 56.78 }, + { time: "2019-02-26", open: 56.82, high: 57.09, low: 56.46, close: 56.64 }, + { time: "2019-02-27", open: 56.55, high: 56.73, low: 56.35, close: 56.72 }, + { time: "2019-02-28", open: 56.74, high: 57.61, low: 56.72, close: 56.92 }, + { time: "2019-03-01", open: 57.02, high: 57.15, low: 56.35, close: 56.96 }, + { time: "2019-03-04", open: 57.15, high: 57.34, low: 55.66, close: 56.24 }, + { time: "2019-03-05", open: 56.09, high: 56.17, low: 55.51, close: 56.08 }, + { time: "2019-03-06", open: 56.19, high: 56.42, low: 55.45, close: 55.68 }, + { time: "2019-03-07", open: 55.76, high: 56.4, low: 55.72, close: 56.3 }, + { time: "2019-03-08", open: 56.36, high: 56.68, low: 56.0, close: 56.53 }, + { time: "2019-03-11", open: 56.76, high: 57.62, low: 56.75, close: 57.58 }, + { time: "2019-03-12", open: 57.63, high: 58.11, low: 57.36, close: 57.43 }, + { time: "2019-03-13", open: 57.37, high: 57.74, low: 57.34, close: 57.66 }, + { time: "2019-03-14", open: 57.71, high: 58.09, low: 57.51, close: 57.95 }, + { time: "2019-03-15", open: 58.04, high: 58.51, low: 57.93, close: 58.39 }, + { time: "2019-03-18", open: 58.27, high: 58.32, low: 57.56, close: 58.07 }, + { time: "2019-03-19", open: 58.1, high: 58.2, low: 57.31, close: 57.5 }, + { time: "2019-03-20", open: 57.51, high: 58.05, low: 57.11, close: 57.67 }, + { time: "2019-03-21", open: 57.58, high: 58.49, low: 57.57, close: 58.29 }, + { time: "2019-03-22", open: 58.16, high: 60.0, low: 58.13, close: 59.76 }, + { time: "2019-03-25", open: 59.63, high: 60.19, low: 59.53, close: 60.08 }, + { time: "2019-03-26", open: 60.3, high: 60.69, low: 60.17, close: 60.63 }, + { time: "2019-03-27", open: 60.56, high: 61.19, low: 60.48, close: 60.88 }, + { time: "2019-03-28", open: 60.88, high: 60.89, low: 58.44, close: 59.08 }, + { time: "2019-03-29", open: 59.2, high: 59.27, low: 58.32, close: 59.13 }, + { time: "2019-04-01", open: 59.39, high: 59.41, low: 58.79, close: 59.09 }, + { time: "2019-04-02", open: 59.22, high: 59.23, low: 58.34, close: 58.53 }, + { time: "2019-04-03", open: 58.78, high: 59.07, low: 58.41, close: 58.87 }, + { time: "2019-04-04", open: 58.84, high: 59.1, low: 58.77, close: 58.99 }, + { time: "2019-04-05", open: 59.02, high: 59.09, low: 58.82, close: 59.09 }, + { time: "2019-04-08", open: 59.02, high: 59.13, low: 58.72, close: 59.13 }, + { time: "2019-04-09", open: 58.37, high: 58.56, low: 58.04, close: 58.4 }, + { time: "2019-04-10", open: 58.4, high: 58.7, low: 58.36, close: 58.61 }, + { time: "2019-04-11", open: 58.65, high: 58.73, low: 58.2, close: 58.56 }, + { time: "2019-04-12", open: 58.75, high: 58.79, low: 58.52, close: 58.74 }, + { time: "2019-04-15", open: 58.91, high: 58.95, low: 58.59, close: 58.71 }, + { time: "2019-04-16", open: 58.79, high: 58.98, low: 58.66, close: 58.79 }, + { time: "2019-04-17", open: 58.4, high: 58.46, low: 57.64, close: 57.78 }, + { time: "2019-04-18", open: 57.51, high: 58.2, low: 57.28, close: 58.04 }, + { time: "2019-04-22", open: 58.14, high: 58.49, low: 57.89, close: 58.37 }, + { time: "2019-04-23", open: 57.62, high: 57.72, low: 56.3, close: 57.15 }, + { time: "2019-04-24", open: 57.34, high: 57.57, low: 56.73, close: 57.08 }, + { time: "2019-04-25", open: 56.82, high: 56.9, low: 55.75, close: 55.85 }, + { time: "2019-04-26", open: 56.06, high: 56.81, low: 55.83, close: 56.58 }, + { time: "2019-04-29", open: 56.75, high: 57.17, low: 56.71, close: 56.84 }, + { time: "2019-04-30", open: 56.99, high: 57.45, low: 56.76, close: 57.19 }, + { time: "2019-05-01", open: 57.23, high: 57.3, low: 56.52, close: 56.52 }, + { time: "2019-05-02", open: 56.81, high: 58.23, low: 56.68, close: 56.99 }, + { time: "2019-05-03", open: 57.15, high: 57.36, low: 56.87, close: 57.24 }, + { time: "2019-05-06", open: 56.83, high: 57.09, low: 56.74, close: 56.91 }, + { time: "2019-05-07", open: 56.69, high: 56.81, low: 56.33, close: 56.63 }, + { time: "2019-05-08", open: 56.66, high: 56.7, low: 56.25, close: 56.38 }, + { time: "2019-05-09", open: 56.12, high: 56.56, low: 55.93, close: 56.48 }, + { time: "2019-05-10", open: 56.49, high: 57.04, low: 56.26, close: 56.91 }, + { time: "2019-05-13", open: 56.72, high: 57.34, low: 56.66, close: 56.75 }, + { time: "2019-05-14", open: 56.76, high: 57.19, low: 56.5, close: 56.55 }, + { time: "2019-05-15", open: 56.51, high: 56.84, low: 56.17, close: 56.81 }, + { time: "2019-05-16", open: 57.0, high: 57.8, low: 56.82, close: 57.38 }, + { time: "2019-05-17", open: 57.06, high: 58.48, low: 57.01, close: 58.09 }, + { time: "2019-05-20", open: 59.15, high: 60.54, low: 58.0, close: 59.01 }, + { time: "2019-05-21", open: 59.1, high: 59.63, low: 58.76, close: 59.5 }, + { time: "2019-05-22", open: 59.09, high: 59.37, low: 58.96, close: 59.25 }, + { time: "2019-05-23", open: 59.0, high: 59.27, low: 58.54, close: 58.87 }, + { time: "2019-05-24", open: 59.07, high: 59.36, low: 58.67, close: 59.32 }, + { time: "2019-05-28", open: 59.21, high: 59.66, low: 59.02, close: 59.57 }, +]; diff --git a/src/Views/Common/GraphView/PriceData2.ts b/src/Views/Common/GraphView/PriceData2.ts new file mode 100644 index 0000000..896aed7 --- /dev/null +++ b/src/Views/Common/GraphView/PriceData2.ts @@ -0,0 +1,58 @@ +export const priceData = [ + { + time: 1658908561, + high: 21411.99, + low: 20860.62, + open: 20860.62, + close: 21349.44, + }, + { + time: 1658822150, + high: 22043.06, + low: 21076.81, + open: 21977.08, + close: 21076.81, + }, + { + time: 1658722026, + high: 22741.4, + low: 21828.25, + open: 22728.92, + close: 21828.25, + }, + { + time: 1658616006, + high: 22972.46, + low: 22033.46, + open: 22972.46, + close: 22499.03, + }, + { + time: 1658519879, + high: 23611.44, + low: 22731.31, + open: 22929.22, + close: 22731.31, + }, + { + time: 1658433381, + high: 23706.78, + low: 22415.06, + open: 23430.09, + close: 23163.88, + }, + { + time: 1658346958, + high: 24059.72, + low: 23201.38, + open: 23707.76, + close: 23673.39, + }, + { + time: 1658260552, + high: 23581.07, + low: 21774.99, + open: 22275.12, + close: 23442.9, + }, +]; diff --git a/src/Views/Common/GraphView/index.tsx b/src/Views/Common/GraphView/index.tsx new file mode 100644 index 0000000..7d856e5 --- /dev/null +++ b/src/Views/Common/GraphView/index.tsx @@ -0,0 +1,10 @@ +import Background from "./style"; +interface IGraphView { + className?: string; +} + +const GraphView: React.FC = ({ className, children }) => { + return {children}; +}; + +export default GraphView; diff --git a/src/Views/Common/GraphView/style.ts b/src/Views/Common/GraphView/style.ts new file mode 100644 index 0000000..3ea67ca --- /dev/null +++ b/src/Views/Common/GraphView/style.ts @@ -0,0 +1,30 @@ +import styled from "styled-components"; + +const Background = styled.div` + position: relative; + margin-bottom: 10px; + .tradingview-skel { + position: absolute; + background-color: var(--bg-8); + width: 100%; + height: 50vh; + border-radius: 0.7rem; + } + .custom-graph-loader { + width: 100%; + height: 40rem; + border-radius: 1.3rem; + } + .App { + position: relative; + } + .chart-container { + border-radius: 1rem; + overflow: hidden; + } + .TVChartContainer { + width: 100%; + height: 100%; + } +`; +export default Background; diff --git a/src/Views/Common/Header.tsx b/src/Views/Common/Header.tsx new file mode 100644 index 0000000..6daa336 --- /dev/null +++ b/src/Views/Common/Header.tsx @@ -0,0 +1,73 @@ +import React, { useState, useEffect, ReactNode } from "react"; +import FrontArrow from "src/SVG/frontArrow"; + +interface IHeader { + className?: string; +} + +let Header: { + Container: React.FC; + Icon: React.FC<{ src: string; alt: string; className?: string }>; + Description: React.FC<{ children: ReactNode; className?: string }>; + Link: React.FC<{ + className?: string; + link: string; + children: ReactNode; + shouldShowArrow?: boolean; + }>; +} = { + Container: ({ className, children }) => { + return ( + <> +
+ {children[0]} +
+ {children[1]} + + ); + }, + Icon: ({ className, ...props }) => { + return ( + + ); + }, + Description: ({ className, children }) => { + return ( +
+ {children} +
+ ); + }, + Link: ({ className, children, link, shouldShowArrow = true }) => { + return ( + + {children} + + {shouldShowArrow && } + + + ); + }, +}; +export default Header; diff --git a/src/Views/Common/HeroCard/index.tsx b/src/Views/Common/HeroCard/index.tsx new file mode 100644 index 0000000..5bdd615 --- /dev/null +++ b/src/Views/Common/HeroCard/index.tsx @@ -0,0 +1,30 @@ +import Background from "./style"; +import { useGlobal } from "@Contexts/Global"; + +interface ILiquidity { + head: string | JSX.Element; + subhead: string; + children?: React.ReactChild; + pageName: string; + className?: string; +} + +const HeroCard: React.FC = ({ + head, + subhead, + pageName, + children, + className, +}) => { + const { state } = useGlobal(); + return ( + + {pageName} + {head && {head}} + {subhead && {subhead}} +
{children}
+
+ ); +}; + +export default HeroCard; diff --git a/src/Views/Common/HeroCard/style.ts b/src/Views/Common/HeroCard/style.ts new file mode 100644 index 0000000..0d09a68 --- /dev/null +++ b/src/Views/Common/HeroCard/style.ts @@ -0,0 +1,59 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: start; + padding: 1.7rem 0rem 2.4rem; + /* margin-bottom: 2.1rem; */ + /* background-color: var(--bg19-white); */ + border-radius: 1.2rem; + box-shadow: var(--white-shadow); + /* gap: 0.6rem; */ + + /* @media only screen and (max-width: 500px) { + flex-direction: column; + align-items: flex-start; + gap: 0.8rem; + } + @media only screen and (max-width: 600px) { + padding: 1.7rem 2rem; + border-radius: 1.7rem; + margin-bottom: 1rem; + } */ + + .page-name { + font-size: 2.8rem; + font-weight: 500; + /* margin-bottom: 0.5rem; */ + } + .title-text { + font-size: 3.2rem; + font-weight: 500; + color: var(--bg-20); + /* margin-bottom: 0.5rem; */ + /* @media screen and (max-width: 600px) { + font-size: 2rem; + } */ + } + .title-text-skeleton { + height: 48px; + width: 161px; + border-radius: 1.2rem; + @media screen and (max-width: 600px) { + height: 30px; + width: 101px; + } + } + .desc-text { + font-size: 1.5rem; + font-weight: 500; + color: var(--text-6); + margin-bottom: 0.5rem; + /* @media only screen and (max-width: 600px) { + font-size: 1.2rem; + } */ + } +`; +export default Background; diff --git a/src/Views/Common/InfoCard/index.tsx b/src/Views/Common/InfoCard/index.tsx new file mode 100644 index 0000000..afcfe7d --- /dev/null +++ b/src/Views/Common/InfoCard/index.tsx @@ -0,0 +1,20 @@ +import { useState, useEffect, ReactNode } from "react"; +import Background from "./style"; + +interface IInfoCard { + info: { + head: string | ReactNode; + desc: string | ReactNode; + }; +} + +const InfoCard: React.FC = ({ info }) => { + return ( + + {info.head} + {info.desc} + + ); +}; + +export default InfoCard; diff --git a/src/Views/Common/InfoCard/style.ts b/src/Views/Common/InfoCard/style.ts new file mode 100644 index 0000000..62cbf8c --- /dev/null +++ b/src/Views/Common/InfoCard/style.ts @@ -0,0 +1,17 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + /* padding: 1.7rem 0; */ + width: 100%; + /* background-color: var(--bg-23-table-row); */ + border-radius: 1.2rem; + transition: transform 200ms ease; + &:hover { + transform: scale(1.05); + } +`; +export default Background; diff --git a/src/Views/Common/InfoTooltip/index.tsx b/src/Views/Common/InfoTooltip/index.tsx new file mode 100644 index 0000000..6842116 --- /dev/null +++ b/src/Views/Common/InfoTooltip/index.tsx @@ -0,0 +1,14 @@ +interface IInfoTooltip { + className?: string; +} + +const InfoTooltip: React.FC = ({ className }) => { + return ( + + ); +}; + +export default InfoTooltip; diff --git a/src/Views/Common/LeftBorderedDiv.tsx b/src/Views/Common/LeftBorderedDiv.tsx new file mode 100644 index 0000000..2029450 --- /dev/null +++ b/src/Views/Common/LeftBorderedDiv.tsx @@ -0,0 +1,35 @@ +import { ReactNode } from "react"; +import RetryIcon from "src/SVG/Elements/RetryIcon"; +import TimerIcon from "src/SVG/Elements/TimerIcon"; + +const IconMapping = { + timer: TimerIcon, + retry: RetryIcon, +}; + +export type IconType = keyof typeof IconMapping; + +interface ILeftBorderedDiv { + className?: string; + type: IconType; + children?: ReactNode; +} + +const LeftBorderedDiv: React.FC = ({ + className, + children, + type, +}) => { + const ActiveIcon = IconMapping[type]; + return ( +
+ + {/* */} + {children} +
+ ); +}; + +export { LeftBorderedDiv }; diff --git a/src/Views/Common/Missing/index.tsx b/src/Views/Common/Missing/index.tsx new file mode 100644 index 0000000..00cc718 --- /dev/null +++ b/src/Views/Common/Missing/index.tsx @@ -0,0 +1,54 @@ +import { ReactNode, useEffect } from "react"; +import { PrimaryActionBtn } from "../Buttons"; +import Background from "./style"; +import { removeClass, setOpacity } from "@Utils/appControls/removeMargin"; +import { useGlobal } from "@Contexts/Global"; +import Drawer from "../v2-Drawer"; +import Link from "react-router"; +import { defaultPair } from "@Views/BinaryOptions"; + +interface IMissing { + children?: ReactNode; + onClick: (e: any) => void; + paddingTop?: string; +} + +const Missing: React.FC = ({ children, onClick, paddingTop }) => { + const { state } = useGlobal(); + useEffect(() => { + console.log("Hola"); + + if (!state.settings.isDrawerOpen) { + setOpacity("dropdown-box", "1"); + removeClass("main-section", "active-drawer"); + removeClass("navbar", "active-drawer"); + // removeClass("footer", "active-drawer"); + } + }, [state.settings.isDrawerOpen]); + return ( + <> +
+ + {state.isDarkMode ? ( + + ) : ( + + )} +

Page Not Found

+ {children} + + Trade + +
+
+ {/* + + */} + + <> + + + ); +}; + +export default Missing; diff --git a/src/Views/Common/Missing/style.ts b/src/Views/Common/Missing/style.ts new file mode 100644 index 0000000..e4693d0 --- /dev/null +++ b/src/Views/Common/Missing/style.ts @@ -0,0 +1,23 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 77vh; + padding-top: ${(props) => (props.paddingTop ? props.paddingTop : "0px")}; + .missing-img { + margin-bottom: 2rem; + width: 17rem; + } + .text { + padding: 0 3rem; + font-size: 1.7rem; + font-weight: 400; + margin-bottom: 2rem; + text-align: center; + max-width: 47rem; + } +`; +export default Background; diff --git a/src/Views/Common/Mobile/AlignerMobile/index.tsx b/src/Views/Common/Mobile/AlignerMobile/index.tsx new file mode 100644 index 0000000..a6d3c02 --- /dev/null +++ b/src/Views/Common/Mobile/AlignerMobile/index.tsx @@ -0,0 +1,70 @@ +import Layout from "./style"; +//Use only if you want elements with 'space-between' styling. + +interface iValueFormatter { + keys: any[]; + values: any[]; + keyStyles?: String; + valueStyles?: String; + valuePrefix?: String; + keyPrefix?: String; + valuePostfix?: String; + styles?: string; + keyPostfix?: String; + eachRowStyles?: string; +} + +const AlignerMobile: React.FC = ({ + keys, + values, + keyStyles, + valueStyles, + valuePrefix, + styles, + keyPrefix, + valuePostfix, + keyPostfix, + eachRowStyles, +}) => { + function formatter( + pre: String | undefined, + val: String, + post: String | undefined + ) { + return `${pre ? pre : ""}${val}${post ? post : ""}`; + } + + return ( + +
+
+ {keys.map((k, idx) => { + const isJsx = typeof k !== "string" || typeof k !== "number"; + const isJsxVal = + typeof values[idx] !== "string" || + typeof values[idx] !== "number"; + return ( +
+ {" "} +
+ {isJsx ? k : formatter(keyPrefix, k, keyPostfix)} +
+   +
+ {isJsxVal + ? values[idx] + : formatter(valuePrefix, values[idx], valuePostfix)} +
+
+ ); + })} +
+
+
+ ); +}; + +export default AlignerMobile; diff --git a/src/Views/Common/Mobile/AlignerMobile/style.ts b/src/Views/Common/Mobile/AlignerMobile/style.ts new file mode 100644 index 0000000..a4f4dd6 --- /dev/null +++ b/src/Views/Common/Mobile/AlignerMobile/style.ts @@ -0,0 +1,9 @@ +import styled from 'styled-components' + +const Layout = styled.div` + .font12px { + font-size: 12px; + color: var(--text-1); + } +` +export default Layout diff --git a/src/Views/Common/Mobile/AssetCellMobile/index.tsx b/src/Views/Common/Mobile/AssetCellMobile/index.tsx new file mode 100644 index 0000000..496ae0a --- /dev/null +++ b/src/Views/Common/Mobile/AssetCellMobile/index.tsx @@ -0,0 +1,72 @@ +import { ReactChild, ReactNode } from "react"; +import VersionChip from "../../VersionChip"; +import Layout from "./style"; + +interface IAssetCell { + version?: number | string; + tooltip?: string; + head: string; + imgs?: string[]; + desc?: string; + headStyle?: string; + style?: string; + fullWidth?: boolean; + remark?: ReactNode; +} + +const AssetCellMobile: React.FC = ({ + version, + head, + desc, + tooltip, + imgs, + headStyle, + style, + remark, + fullWidth, +}) => { + return ( + +
+
+
+
+ {imgs && ( + + )} + {imgs[1] && ( + + )} +
+ + {version && ( +
+ +
+ )} +
+
+ + {head} + {tooltip && ( + + )} + + {desc && {desc}} + {remark && {remark}} +
+
+
+
+ ); +}; + +export default AssetCellMobile; diff --git a/src/Views/Common/Mobile/AssetCellMobile/style.ts b/src/Views/Common/Mobile/AssetCellMobile/style.ts new file mode 100644 index 0000000..68a0fad --- /dev/null +++ b/src/Views/Common/Mobile/AssetCellMobile/style.ts @@ -0,0 +1,40 @@ +import styled from "styled-components"; + +const Layout = styled.div` + margin-bottom: var(--s); + .text12px { + font-size: 14px; + } + .imgs-row { + display: flex; + .upper-img { + height: 30px; + width: 30px; + z-index: 1; + } + .lower-img { + height: 30px; + width: 30px; + position: relative; + transform: translateX(12px); + } + } + .headText { + font-size: 16px; + font-weight: 600; + line-height: 17.18px; + color: var(--text-1); + /* font-family: "Inter", sans-serif; */ + } + .descText { + /* font-family: "Inter", sans-serif; */ + font-size: 16px; + font-weight: 500; + color: var(--text-6); + span { + white-space: nowrap; + } + } +`; + +export default Layout; diff --git a/src/Views/Common/NFTtier.tsx b/src/Views/Common/NFTtier.tsx new file mode 100644 index 0000000..a91b0e9 --- /dev/null +++ b/src/Views/Common/NFTtier.tsx @@ -0,0 +1,30 @@ +import { useHighestTierNFT } from '@Hooks/useNFTGraph'; +import { useUserAccount } from '@Hooks/useUserAccount'; + +export default function NFTtier() { + const { highestTierNFT } = useHighestTierNFT(); + const { address } = useUserAccount(); + if (!highestTierNFT) + if(address) + + return ( +
+ +
+ Bronze Tier +
+
+ ); + if(!address)return <> + return ( +
+ +
+ {highestTierNFT.tier} Tier +
+
+ ); +} diff --git a/src/Views/Common/Navbar/AccountDropdown.tsx b/src/Views/Common/Navbar/AccountDropdown.tsx new file mode 100644 index 0000000..0b781f5 --- /dev/null +++ b/src/Views/Common/Navbar/AccountDropdown.tsx @@ -0,0 +1,223 @@ +import React, { MouseEventHandler, ReactNode } from 'react'; +import { BufferDropdown } from '@Views/Common/Buffer-Dropdown'; +import DisconnectIcon from '@Assets/Elements/Disconnect'; +import Wallet from '@Assets/Elements/wallet'; +import { ArrowDropDownRounded } from '@mui/icons-material'; +import { useAccount, useDisconnect } from 'wagmi'; +import { useActiveChain } from '@Hooks/useActiveChain'; +import useOpenConnectionDrawer from '@Hooks/useOpenConnectionDrawer'; +import { + ConnectButton, + useAccountModal, + useChainModal, + useConnectModal, +} from '@rainbow-me/rainbowkit'; +import * as chain from '@wagmi/core/chains'; +import { BlueBtn } from '../V2-Button'; +import { useUserAccount } from '@Hooks/useUserAccount'; + +interface IProps { + inDrawer?: boolean; +} + +const chainImageMappipng = { + [chain.polygon.name]: + 'https://cdn.buffer.finance/Buffer-Website-Data/main/chains/polygon2.png', + [chain.polygonMumbai.name]: + 'https://cdn.buffer.finance/Buffer-Website-Data/main/chains/polygon2.png', + [chain.arbitrum.name]: '/Chains/ARBITRIUM.png', + [chain.arbitrumGoerli.name]: '/Chains/ARBITRIUM.png', + ['BSC']: '/Chains/BSC.png', +}; + +export const AccountDropdown: React.FC = ({ inDrawer }) => { + return ( + + {({ + account, + chain, + openAccountModal, + openChainModal, + openConnectModal, + authenticationStatus, + mounted, + }) => { + // Note: If your app doesn't use authentication, you + // can remove all 'authenticationStatus' checks + const ready = mounted && authenticationStatus !== 'loading'; + const connected = + ready && + account && + chain && + (!authenticationStatus || authenticationStatus === 'authenticated'); + + return ( +
+ {(() => { + if (!connected) { + return ( +
+ + + + {'Connect Wallet'} + + +
+ ); + } + + if (chain.unsupported) { + return ( +
+ + + + {'Switch Network'} + + +
+ ); + } + + return ( +
+
+
+ {chain && ( + {chain.name + )} + + {chain.name} +
+ +
+
+ + + + {account + ? `${account.address.slice( + 0, + 4 + )}...${account.address.slice(-4)}` + : 'Connect'} + + +
+
+ ); + })()} +
+ ); + }} +
+ ); +}; + + + +export const ConnectionRequired = ({ children }:{children:ReactNode}) => { + + return ( + + {({ + account, + chain, + openAccountModal, + openChainModal, + openConnectModal, + authenticationStatus, + mounted, + }) => { + // Note: If your app doesn't use authentication, you + // can remove all 'authenticationStatus' checks + const ready = mounted && authenticationStatus !== 'loading'; + const connected = + ready && + account && + chain && + (!authenticationStatus || authenticationStatus === 'authenticated'); + + return ( +
+ {(() => { + if (!connected) { + return ( + + Connect Wallet + + + ); + } + + if (chain.unsupported) { + return ( + + + + Switch Network + + ); + } + return children + + })()} +
+ ); + }} +
+ ); +}; + + diff --git a/src/Views/Common/Navbar/BufferLogo.tsx b/src/Views/Common/Navbar/BufferLogo.tsx new file mode 100644 index 0000000..abea63f --- /dev/null +++ b/src/Views/Common/Navbar/BufferLogo.tsx @@ -0,0 +1,22 @@ +import BufferLogo from '@Assets/Elements/BufferLogo'; +import React from 'react'; + +export const BufferLogoComponent: React.FC<{ + logoWidth?: number; + logoHeight?: number; + className?: string; + fontSize?: string; +}> = ({ logoWidth, logoHeight, className = '', fontSize }) => { + return ( +
+ +
+ Buffer +
+
+ ); +}; diff --git a/src/Views/Common/Navbar/Tab.tsx b/src/Views/Common/Navbar/Tab.tsx new file mode 100644 index 0000000..a3b2983 --- /dev/null +++ b/src/Views/Common/Navbar/Tab.tsx @@ -0,0 +1,22 @@ +import { NavLink, useLocation } from 'react-router-dom'; +import { ITab } from 'src/Config/getTabs'; + +export const Tab = ({ tab }: { tab: ITab }) => { + const location = useLocation(); + return ( + { + return `transition-all duration-300 text-4 text-f15 px-4 py-[4px] rounded-[8px] ${ + isActive || location.pathname.includes('binary') && tab.name.toLowerCase() == 'trade' + ? 'bg-3 text-1' + : 'hover:bg-1 hover:text-1 hover:brightness-125' + } + `} + } + > + {tab.name} + + ); +}; diff --git a/src/Views/Common/Navbar/TabsDropDown.tsx b/src/Views/Common/Navbar/TabsDropDown.tsx new file mode 100644 index 0000000..e890c3b --- /dev/null +++ b/src/Views/Common/Navbar/TabsDropDown.tsx @@ -0,0 +1,88 @@ +import { ArrowDropDownRounded } from '@mui/icons-material'; +import { ClickAwayListener } from '@mui/material'; +import { useState } from 'react'; +import { NavLink } from 'react-router-dom'; +import { ITab } from 'src/Config/getTabs'; + +export const TabsDropdown = ({ + tabs, + defaultName, +}: { + tabs: ITab[]; + defaultName: string; +}) => { + const [open, setOpen] = useState(false); + return ( +
+ { + setOpen(false); + }} + > +
+ + + {open && ( +
+ {tabs.map((tab, idx) => { + if (tab.isExternalLink) { + return ( + + ); + } + + return ( + + `py-3 text-4 text-f15 hover:text-1 ${ + isActive && 'bg-3 text-1' + } ` + } + onClick={() => { + setOpen(false); + }} + > + {tab.name} + + ); + })} +
+ )} +
+
+
+ ); +}; diff --git a/src/Views/Common/Navbar/chainDropdown.tsx b/src/Views/Common/Navbar/chainDropdown.tsx new file mode 100644 index 0000000..f329350 --- /dev/null +++ b/src/Views/Common/Navbar/chainDropdown.tsx @@ -0,0 +1,131 @@ +import { BufferDropdown } from '@Views/Common/Buffer-Dropdown'; +import FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord'; +import { ArrowDropDownRounded } from '@mui/icons-material'; +import styled from '@emotion/styled'; +import { getChains } from 'src/Config/wagmiClient'; +import { useActiveChain } from '@Hooks/useActiveChain'; +import { arbitrum, arbitrumGoerli, polygon, polygonMumbai } from 'wagmi/chains'; + +const ChainDropdownBackground = styled.div` + .dropdown-value { + color: var(--text-1); + + @media only screen and (max-width: 600px) { + font-size: 1.4rem; + } + + .assetImage { + border-radius: 50%; + object-fit: cover; + margin-right: 0.9rem; + } + } + + .dot { + width: 0.8rem; + height: 0.8rem; + color: var(--text-6); + } + + .chain-row { + &.active { + .chain-container { + color: var(--text-1); + } + .dot { + color: var(--text-7); + } + } + } +`; + +interface INavbar { + className?: string; +} + +export const chainImageMappipng = { + [polygon.name]: + 'https://cdn.buffer.finance/Buffer-Website-Data/main/chains/polygon2.png', + [polygonMumbai.name]: + 'https://cdn.buffer.finance/Buffer-Website-Data/main/chains/polygon2.png', + [arbitrum.name]: '/Chains/ARBITRIUM.png', + [arbitrumGoerli.name]: '/Chains/ARBITRIUM.png', + ['BSC']: '/Chains/BSC.png', +}; + +export const chainSymbolMapping = { + [polygon.name]: 'POLYGON', + [polygonMumbai.name]: 'POLYGON', + [arbitrum.name]: 'ARBITRUM', + [arbitrumGoerli.name]: 'ARBITRUM', + ['BSC']: 'BSC', +}; + +export const ChainDropdown: React.FC = ({ className }) => { + const chains = getChains(); + const { activeChain } = useActiveChain(); + const activeChainName = activeChain.name; + return ( + + ({ + name: chain.name, + img: chainImageMappipng[chain.name], + displayName: chain.name.split(' ')[0], + }))} + chainDropDown={true} + dropdownBox={(activeItem, isOpen, disabled) => { + return ( +
+
+ + + + {activeChainName?.split(' ')[0]} + +
+ {!disabled && ( + + )} +
+ ); + }} + className="px-[20px] py-4 bg-1" + item={(singleItem, handleClose, onChange, active) => ( +
{ + handleClose(); + }} + className={`${ + singleItem.name === activeChainName && 'active text-1' + } chain-row flex min-w-max justify-between items-center py-3 text-4 hover:text-1 text-f15 font-normal transition-all duration-150 ease-in-out`} + > + + chain + {singleItem.displayName} + + +
+ )} + /> +
+ ); +}; diff --git a/src/Views/Common/Navbar/index.tsx b/src/Views/Common/Navbar/index.tsx new file mode 100644 index 0000000..a60c99e --- /dev/null +++ b/src/Views/Common/Navbar/index.tsx @@ -0,0 +1,97 @@ +import { useMemo } from 'react'; +import { BufferLogoComponent } from './BufferLogo'; +import { BlueBtn } from '../V2-Button'; +import { getTabs } from 'src/Config/getTabs'; +import { TabsDropdown } from './TabsDropDown'; +import { Tab } from './Tab'; +import { ChainDropdown } from './chainDropdown'; +import { AccountDropdown } from './AccountDropdown'; +import { social } from './socialLinks'; +import { useGlobal } from '@Contexts/Global'; +import MenuLogo from '@Assets/Elements/MenuLogo'; +import CloseLogo from '@SVG/Elements/Closelogo'; +import NFTtier from '../NFTtier'; + +interface INavbar {} + +export const Navbar: React.FC = () => { + const { state, dispatch } = useGlobal(); + const tabs = useMemo(() => getTabs(), []); + const VISIBLETABS = 8; + const handleClose = () => { + dispatch({ + type: 'UPDATE_SIDEBAR_STATE', + }); + }; + return ( +
+
+
window.open('https://buffer.finance/', '_blank')} + > + +
+ +
+ {tabs.slice(0, VISIBLETABS).map((tab, index) => { + if (tab.isExternalLink) { + return ( + + ); + } + return ; + })} + + {tabs.length > VISIBLETABS && ( + + )} + +
+
+ +
+ + + {/* {import.meta.env.VITE_ENV === 'TESTNET' && ( + { + window.open('https://app.buffer.finance', '_blank'); + }} + className="!h-[30px] rounded-[6px] !text-f13 font-medium hover:brightness-125 hover:!translate-y-[0px] px-5 sm:hidden" + > + Mainnet + + )} */} + + + + +
+
+ ); +}; diff --git a/src/Views/Common/Navbar/socialLinks.ts b/src/Views/Common/Navbar/socialLinks.ts new file mode 100644 index 0000000..852c9c9 --- /dev/null +++ b/src/Views/Common/Navbar/socialLinks.ts @@ -0,0 +1,43 @@ +import Twitter from '@Assets/Social/DD/twitter'; +import Discord from '@Assets/Social/DD/discord'; +import Medium from '@Assets/Social/DD/medium'; +import GitHub from '@Assets/Social/DD/github'; +import Telegram from '@Assets/Social/DD/telegram'; + +export const social = [ + { + Img: Twitter, + to: 'https://twitter.com/Buffer_Finance', + name: 'Twitter', + subTabs: [], + isExternalLink: true, + }, + { + Img: Discord, + to: 'https://discord.com/invite/Hj4QF92Kdc', + name: 'Discord', + isExternalLink: true, + subTabs: [], + }, + { + Img: Telegram, + to: 'https://t.me/bufferfinance', + name: 'Telegram', + isExternalLink: true, + subTabs: [], + }, + { + Img: Medium, + to: 'https://buffer-finance.medium.com/', + name: 'Medium', + isExternalLink: true, + subTabs: [], + }, + { + Img: GitHub, + to: 'https://github.com/Buffer-Finance', + name: 'GitHub', + isExternalLink: true, + subTabs: [], + }, +]; diff --git a/src/Views/Common/Notification/index.tsx b/src/Views/Common/Notification/index.tsx new file mode 100644 index 0000000..b74cdd1 --- /dev/null +++ b/src/Views/Common/Notification/index.tsx @@ -0,0 +1,32 @@ +import styled from "styled-components"; +import { + notificationAtom, + notifications, + useNotification, +} from "@Hooks/useAlert"; +import { useAtom } from "jotai"; +import { notificationMapping } from "./notifications"; +import { Warning } from "./warning"; + +const NotificationsStyles = styled.div` + grid-area: Notification; +`; + +export const Notifications = () => { + const [notificationState] = useAtom(notificationAtom); + const { closeNotification } = useNotification(); + + return ( + + {Object.keys(notificationState).map((notification: notifications) => ( + closeNotification(notification)} + key={notification} + body={notificationMapping[notification].body} + shouldAllowClose={notificationMapping[notification].shouldClose} + /> + ))} + + ); +}; diff --git a/src/Views/Common/Notification/notifications.tsx b/src/Views/Common/Notification/notifications.tsx new file mode 100644 index 0000000..bffff4e --- /dev/null +++ b/src/Views/Common/Notification/notifications.tsx @@ -0,0 +1,19 @@ +export const notificationMapping = { + migrationPage: { + body: ( + <> + lightning + Note - If your tokens are still unvested, you just have to start vesting + them on the Arbitrum chain instead of the BNB chain using the same + wallet address. + + ), + shouldClose: false, + }, + + notification: { body: <>MikeChik, shouldClose: true }, +}; diff --git a/src/Views/Common/Notification/warning.tsx b/src/Views/Common/Notification/warning.tsx new file mode 100644 index 0000000..2b38f94 --- /dev/null +++ b/src/Views/Common/Notification/warning.tsx @@ -0,0 +1,31 @@ +import { CloseOutlined } from "@mui/icons-material"; +import { IconButton } from "@mui/material"; + +export const Warning: React.FC<{ + body: JSX.Element; + state?: boolean; + closeWarning: () => void; + shouldAllowClose?: boolean; + className?: string; +}> = ({ + body, + state = true, + closeWarning, + shouldAllowClose = true, + className = "", +}) => { + if (state) + return ( +
+ {body} + {shouldAllowClose && ( + + + + )} +
+ ); + else return <>; +}; diff --git a/src/Views/Common/RowStrip/index.tsx b/src/Views/Common/RowStrip/index.tsx new file mode 100644 index 0000000..61c66f0 --- /dev/null +++ b/src/Views/Common/RowStrip/index.tsx @@ -0,0 +1,18 @@ +import { useState, useEffect, ReactNode } from "react"; +import Background from "./style"; + +interface IRowStrip { + FourCols: ReactNode[]; +} + +const RowStrip: React.FC = ({ FourCols }) => { + return ( + + {FourCols.map((single) => ( +
{single}
+ ))} +
+ ); +}; + +export default RowStrip; diff --git a/src/Views/Common/RowStrip/style.ts b/src/Views/Common/RowStrip/style.ts new file mode 100644 index 0000000..38daf50 --- /dev/null +++ b/src/Views/Common/RowStrip/style.ts @@ -0,0 +1,62 @@ +import styled from "styled-components"; + +const Background = styled.div` + display: flex; + .each-col { + flex: 1; + padding: 1.6rem 0; + background-color: var(--bg-23); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + &:first-of-type { + padding-left: 1rem; + padding-right: 1rem; + border-radius: 1.5rem 0px 0px 1.22rem; + background-color: var(--bg-19); + } + &:last-of-type { + border-radius: 0px 1.5rem 1.22rem 0px; + } + } + .head { + font-size: 1.4rem; + font-weight: 500; + /* font-family: Relative Pro; */ + color: var(--text-6); + text-align: center; + } + .val { + margin-top: 0.4rem; + font-size: 1.6rem; + text-align: center; + font-weight: 400; + /* font-family: Relative Pro; */ + color: var(--text-1); + } + .asset-img { + --dim: 2.8rem; + width: var(--dim); + height: var(--dim); + border-radius: 50%; + object-fit: contain; + } + .left { + margin-right: 1.5rem; + } + .asset-name { + color: var(--text-1); + margin: 0px; + font-size: 1.6rem; + font-weight: 600; + } + .pool-name { + color: var(--text-1); + margin: 0px; + font-size: 1.3rem; + font-weight: 500; + margin-top: 0.5rem; + } +`; +export default Background; diff --git a/src/Views/Common/Sidebar/index.tsx b/src/Views/Common/Sidebar/index.tsx new file mode 100644 index 0000000..52a5bb7 --- /dev/null +++ b/src/Views/Common/Sidebar/index.tsx @@ -0,0 +1,155 @@ +import { ClickAwayListener, IconButton } from '@mui/material'; +import { useState } from 'react'; +import SidebarCss from './styles'; +import { useGlobal } from '@Contexts/Global'; +import SidebarCollapseIcon from 'src/SVG/Elements/sidebarCollpaseIcon'; +import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; +import Fade from 'react-reveal/Fade'; +import { getTabs, ITab } from 'src/Config/getTabs'; +import { BufferLogoComponent } from '../Navbar/BufferLogo'; +import { NavLink } from 'react-router-dom'; +// import usePages from "Hooks/Utilities/usePageInfo"; + +const SideBar: React.FC = () => { + const newPageNavElements = 9; + const { state, dispatch } = useGlobal(); + const options = getTabs(); + + const handleChange = (link: string) => { + handleClose(); + window.open(link); + }; + + const handleClose = () => { + dispatch({ + type: 'UPDATE_SIDEBAR_STATE', + }); + }; + + return ( + + {state.sidebar_active ? null : ( +
+ )} + +
+
+
+
{} + // router.push({ + // pathname: "/", + // }) + } + > + +
+ + + +
+ {options.map((option, key) => { + if (key >= newPageNavElements || option.isExternalLink) { + return ( + + ); + } + return option.subTabs.length > 0 ? ( + // active=router.asPath.includes(option.subTab.slug); + + ) : ( + + `item ${isActive ? 'active bg-4' : ''} + ` + } + > +
{option.name}
+
+ ); + })} +
+
+
+ ); +}; +export default SideBar; + +const SubTabDropDown = ({ + tab, + defaultName, +}: { + tab: ITab; + defaultName: string; +}) => { + const { dispatch } = useGlobal(); + const option = tab; + const [open, setOpen] = useState(false); + const handleClickAway = () => { + setOpen(false); + }; + const handleClose = () => { + dispatch({ + type: 'UPDATE_SIDEBAR_STATE', + }); + }; + return ( + + <> + + +
+ {option.subTabs.map((subTab: ITab, index: number) => { + return ( + + `dropdown-item ${isActive ? 'active' : ''} + ` + } + > +
+ {option.name} +
+
+ ); + })} +
+
+ +
+ ); +}; diff --git a/src/Views/Common/Sidebar/styles.ts b/src/Views/Common/Sidebar/styles.ts new file mode 100644 index 0000000..395137c --- /dev/null +++ b/src/Views/Common/Sidebar/styles.ts @@ -0,0 +1,299 @@ +import styled, { keyframes } from "styled-components"; + +const SidebarCSS = styled.div` + .collapse-icon { + color: var(--text-1); + display: none; + padding: 0; + } + .bufferlogotext { + /* font-family: Poppins; */ + font-size: 2.3rem; + color: var(--text-1); + font-weight: 500; + margin-left: 0.4rem; + + @media only screen and (max-width: 1200px) { + font-size: 1.7rem; + font-weight: 600; + line-height: 20px; + } + } + .sidebar { + overflow-x: hidden; + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + position: fixed; + height: 100%; + top: 0; + left: 0; + /* background: var(--bg-17); */ + transition: 200ms ease-in; + z-index: 1600; + border-right: 2px solid var(--bg-8); + width: fit-content; + padding-bottom: calc(var(--top-banner-height) + 1.2rem); + .icon_container { + display: flex; + justify-content: space-between; + align-items: center; + height: calc(var(--navbar-height) - 0.5rem); + padding-left: 1.4rem; + padding-right: 0.5rem; + /* margin-bottom: 0.4rem; */ + margin-top: 0.3rem; + + .buffer-logo { + color: var(--text-1); + width: 3.7rem; + height: 3.4rem; + + @media only screen and (max-width: 1200px) { + width: 24.67px; + height: 24.67px; + } + } + } + + .dropdown { + display: flex; + /* color: var(--text-1); */ + justify-content: flex-start; + margin: auto; + width: 100%; + padding: 1em 2rem; + text-transform: capitalize; + border-radius: 1.2rem; + height: 4.2rem; + align-items: center; + /* font-family: "Inter", sans-serif; */ + font-weight: 400; + font-size: 1.4rem; + transition: 80ms ease; + margin-bottom: 0.3rem; + &:hover { + /* color: var(--text-blue); */ + } + } + + .dropdown-box { + /* background-color: var(--bg-19); */ + margin-top: 0.5rem; + margin-bottom: 0.5rem; + border-radius: 8px; + + .dropdown-item { + display: flex; + justify-content: flex-start; + align-items: center; + color: var(--text-6); + width: 100%; + height: 4.2rem; + text-transform: capitalize; + border-radius: 1.2rem; + /* font-family: "Inter", sans-serif; */ + font-weight: 400; + font-size: 1.4rem; + padding: 1em 2rem; + margin: auto; + margin-bottom: 0.3rem; + transition: 80ms ease; + &:hover { + color: var(--text-blue); + } + } + } + + .item { + display: flex; + /* background: var(--bg-17); */ + color: var(--text-6); + justify-content: flex-start; + margin: auto; + width: 100%; + padding: 1em 2rem; + text-transform: capitalize; + border-radius: 1.2rem; + height: 4.2rem; + align-items: center; + /* font-family: "Inter", sans-serif; */ + font-weight: 400; + font-size: 1.4rem; + transition: 80ms ease; + margin-bottom: 0.3rem; + &:hover { + color: var(--text-blue); + } + } + .name { + /* margin-left: 1.8rem; */ + white-space: nowrap; + } + .liftup { + transform: translateY(-2px); + } + .active { + /* background: var(--bg-19); */ + color: var(--text-blue) !important; + .name { + /* margin-left: 1.6rem; */ + } + } + .buttons-container { + display: flex; + column-gap: 0.8rem; + justify-content: center; + align-items: center; + padding-bottom: 0.5rem; + } + + .bottom { + display: flex; + margin-top: auto; + flex-direction: column; + width: var(--sidepanel-width); + transition: opacity 10ms; + .balanceWrapper { + background: var(--bg-14); + border-radius: 1rem; + padding: 0.7rem 1.4rem; + &:hover { + .favIcon { + transform: scale(1.1); + filter: drop-shadow(0px 0px 10px #2aaecc82); + } + } + .favIcon { + width: 2.5rem; + height: 2.5rem; + transition: 0.4s; + margin-right: 0.7rem; + } + .balanceText { + font-size: 1.4rem; + color: var(--text-1); + } + } + .buyButton { + color: var(--primary); + background: var(--bg-20); + font-size: 1.4rem; + border-radius: 1rem; + font-weight: 600; + text-transform: none; + padding: 0.7rem 1.4rem; + } + } + .lowerIconsContainer { + margin: 0.8rem; + margin-top: 1.8rem; + + .icon-btn { + padding: 0; + } + .globe-icon { + width: 2.5rem; + height: 2.5rem; + } + } + } + + .sidebar_container { + width: 100%; + padding-left: 0.8rem; + padding-right: 0.8rem; + } + @media only screen and (min-width: 1200px) { + .sidebar-closed { + width: 8rem; + .name { + display: none; + visibility: hidden; + transition: ease-in; + } + .buttons-container { + display: none; + } + .icon_container { + width: 5.5rem; + display: flex; + flex-direction: column; + justify-content: flex-start; + margin-top: 10px; + /* margin-bottom: 10px; */ + img { + margin-bottom: 10px; + } + svg { + transform: rotate(-180deg); + } + } + .item { + width: fit-content; + margin: none; + transform: scale(0.95); + } + .active { + width: 1rem !important; + display: flex; + visibility: visible; + justify-content: center; + padding: 0 !important; + } + } + } + + /* @media only screen and (max-width: 1200px) { + .collapse-icon { + display: flex; + padding: 0; + } + } */ + @media only screen and (max-width: 1200px) { + .overlay { + position: fixed; + background-color: rgba(0, 0, 0, 0.4); + height: 100vh; + width: 100vw; + z-index: 999; + top: 0; + /* margin-top: 9.5rem; */ + } + + .icon_container { + top: 0; + padding-top: 2rem; + margin-top: 0 !important; + padding-left: 3rem !important; + transform: translateX(-1rem); + .buffer-logo { + height: none; + width: 11rem; + box-sizing: border-box; + } + } + .sidebar { + transform: translateX(-100%) !important; + top: 0; + } + .sidebar-closed { + transform: translateX(0) !important; + } + .buttons-container { + display: none !important; + } + .arrow { + /* color: var(--text-1); */ + transition: 100ms ease; + font-size: 2rem; + + transform: rotateZ(0deg); + &.rotate { + transform: rotateZ(180deg); + } + } + } +`; +export default SidebarCSS; diff --git a/src/Views/Common/SocialMedia/MobileFooter/index.tsx b/src/Views/Common/SocialMedia/MobileFooter/index.tsx new file mode 100644 index 0000000..a32cc90 --- /dev/null +++ b/src/Views/Common/SocialMedia/MobileFooter/index.tsx @@ -0,0 +1,27 @@ +import React from "react"; +import Style from "./style"; +import AccountInfo from "@Views/Common/AccountInfo"; +import NavbarDropdown from "@Views/Common/Dropdown"; + +import { useGlobal } from "@Contexts/Global"; +import { useAccount } from "wagmi"; +import { useUserAccount } from "@Hooks/useUserAccount"; + +interface IMobileFooterProps {} + +const MobileFooter: React.FunctionComponent = (props) => { + const { address: account } = useUserAccount(); + const { state } = useGlobal(); + return ( + + ); +}; + +export default MobileFooter; diff --git a/src/Views/Common/SocialMedia/MobileFooter/style.tsx b/src/Views/Common/SocialMedia/MobileFooter/style.tsx new file mode 100644 index 0000000..d948166 --- /dev/null +++ b/src/Views/Common/SocialMedia/MobileFooter/style.tsx @@ -0,0 +1,22 @@ +import styled from "styled-components"; + +const Style = styled.div` + display: none; + @media only screen and (max-width: 600px) { + width: 100%; + position: fixed; + backdrop-filter: blur(12px); + bottom: 0; + padding-bottom: 0.2rem; + right: 0; + left: 0; + display: flex; + justify-content: space-between; + padding: 0.2rem 1rem; + align-items: center; + .padding { + margin-right: 1rem; + } + } +`; +export default Style; diff --git a/src/Views/Common/SocialMedia/TimerStyle.tsx b/src/Views/Common/SocialMedia/TimerStyle.tsx new file mode 100644 index 0000000..7dbe7ef --- /dev/null +++ b/src/Views/Common/SocialMedia/TimerStyle.tsx @@ -0,0 +1,25 @@ +import styled from "styled-components"; + +const TImerStyle = styled.div` + transition: ease-in; + transition-duration: var(--drawer-transition-duration); + display: flex; + @media screen and (max-width: 600px) { + padding: 1.3rem 1rem; + } + .social_link:not(:last-child) { + margin-right: 1.7rem; + } + + .social_link_icon { + transform: rotateZ(0deg); + transition: transform 0.2s ease-in-out; + &:hover { + filter: drop-shadow(0px 0px 7px var(--primary)) brightness(1.3); + transform: rotateZ(20deg); + /* color: red; */ + } + } +`; + +export default TImerStyle; diff --git a/src/Views/Common/SocialMedia/index.tsx b/src/Views/Common/SocialMedia/index.tsx new file mode 100644 index 0000000..b5169f0 --- /dev/null +++ b/src/Views/Common/SocialMedia/index.tsx @@ -0,0 +1,66 @@ +import React from "react"; +import Style from "./style"; +import Link from "react-router"; +import MobileFooter from "./MobileFooter"; +import { useGlobal } from "@Contexts/Global"; +import Peckshield from "src/SVG/PeckShield"; +export const social = [ + { + name: "Twitter", + image: "Twitter.svg", + link: "https://twitter.com/Buffer_Finance", + }, + { + name: "Telegram", + image: "Telegram.svg", + link: "https://t.me/bufferfinance", + }, + { + name: "Discord", + image: "Discord.svg", + link: "https://discord.com/invite/Hj4QF92Kdc", + }, +]; +const SocialMedia = ({}) => { + const { state, dispatch } = useGlobal(); + + return ( + + ); +}; + +export default SocialMedia; diff --git a/src/Views/Common/SocialMedia/style.tsx b/src/Views/Common/SocialMedia/style.tsx new file mode 100644 index 0000000..62dc1d5 --- /dev/null +++ b/src/Views/Common/SocialMedia/style.tsx @@ -0,0 +1,43 @@ +import styled from "styled-components"; + +const Style = styled.footer` + background-color: var(--bg-19); + padding: 1.3rem 2.5rem; + z-index: 900; + transition: ease-in; + transition-duration: var(--drawer-transition-duration); + left: 0px; + + @media screen and (max-width: 600px) { + padding: 1.3rem 1rem; + } + .social_link:not(:last-child) { + margin-right: 1.7rem; + } + + .social_link_icon { + transform: rotateZ(0deg); + transition: transform 0.2s ease-in-out; + &:hover { + filter: drop-shadow(0px 0px 7px var(--primary)) brightness(1.3); + transform: rotateZ(20deg); + /* color: red; */ + } + } + @media only screen and (max-width: 600px) { + &.sidebar-closed { + left: 0rem; + } + padding: 0.5rem 0; + display: none; + left: 0; + .social { + display: none; + } + .badge { + display: none; + } + } +`; + +export default Style; diff --git a/src/Views/Common/TabList/index.tsx b/src/Views/Common/TabList/index.tsx new file mode 100644 index 0000000..bf547bd --- /dev/null +++ b/src/Views/Common/TabList/index.tsx @@ -0,0 +1,45 @@ +import { useGlobal } from "@Contexts/Global"; +import { ReactNode } from "react"; +import Background from "./style"; + +interface ITabList { + tabs: string[]; + activeTab: string; + setActiveTab?: (a: string) => void; + className?: string; + noRedirect?:boolean; +} +const TabList: React.FC = ({ + tabs, + className, + activeTab, + noRedirect, + setActiveTab, +}) => { + const { dispatch, state } = useGlobal(); + + const handleChange = (tab: string) => { + dispatch({ + type: "SET_ACIVE_TAB", + payload: tab, + }); + }; + + return ( + + {tabs.map((child, idx) => ( +
+ setActiveTab ? setActiveTab(child) : handleChange(child) + } + > + {child} +
+ ))} +
+ ); +}; + +export default TabList; diff --git a/src/Views/Common/TabList/style.ts b/src/Views/Common/TabList/style.ts new file mode 100644 index 0000000..2416c46 --- /dev/null +++ b/src/Views/Common/TabList/style.ts @@ -0,0 +1,28 @@ +import styled from "styled-components"; + +const Background = styled.div` + --border-radius: 1rem; + display: flex; + width: fit-content; + border-radius: var(--border-radius); + background-color: var(--bg-19); + border-radius: var(--border-radius); + overflow-y: hidden; + .toggle-tab { + padding: 0.7rem 1.5rem; + margin: 0 0.1rem; + cursor: pointer; + font-size: 1.6rem; + font-weight: 400; + color: var(--text-1); + transition: 0.2s ease; + &.active { + /* font-weight: 500; */ + background-color: var(--primary); + } + &:hover { + color: var(--text-1); + } + } +`; +export default Background; diff --git a/src/Views/Common/TabSwitch/index.tsx b/src/Views/Common/TabSwitch/index.tsx new file mode 100644 index 0000000..986ab86 --- /dev/null +++ b/src/Views/Common/TabSwitch/index.tsx @@ -0,0 +1,29 @@ +import { useState, useEffect, ReactNode } from "react"; +import { SwitchTransition, CSSTransition } from "react-transition-group"; +import Background from "./style"; +interface ITabSwitch { + value: number; + childComponents?: ReactNode[]; + className?: string; +} + +const TabSwitch: React.FC = ({ + value, + childComponents, + children, + className, +}) => { + return ( + + + +
+ {childComponents[value]} +
+
+
+
+ ); +}; + +export default TabSwitch; diff --git a/src/Views/Common/TabSwitch/style.ts b/src/Views/Common/TabSwitch/style.ts new file mode 100644 index 0000000..3ab8e8f --- /dev/null +++ b/src/Views/Common/TabSwitch/style.ts @@ -0,0 +1,21 @@ +import styled from "styled-components"; + +const Background = styled.a` + .tab-pannel { + margin-top: 1rem; + transition: 200ms; + } + .tab-pannel--enter { + transform: translate(-100px, 0); + opacity: 0; + } + .tab-pannel--enter-active { + opacity: 1; + transform: translate(0, 0); + } + .tab-pannel--exit { + opacity: 0; + transform: translate(60%, 0); + } +`; +export default Background; diff --git a/src/Views/Common/TableComponents/TableComponents.tsx b/src/Views/Common/TableComponents/TableComponents.tsx new file mode 100644 index 0000000..66cbf44 --- /dev/null +++ b/src/Views/Common/TableComponents/TableComponents.tsx @@ -0,0 +1,111 @@ +import { ReactChild, ReactNode } from "react"; +import InfoIcon from "src/SVG/Elements/InfoIcon"; +import VersionChip from "@Views/Common/VersionChip"; +import { AssetCellLayout, CellDescLayout } from "./style"; + +interface ITableCellInfo { + label: string | ReactChild; + desc?: ReactNode; + className?: string; + headStyle?: string; +} + +interface ILockeValue { + labels: ITableCellInfo[]; +} + +const CellHeadDesc: React.FC = ({ labels }) => { + if (!labels.length) return; + return ( + +
+ + {labels[0].label} + {labels[0].desc && ( + + )} + + {labels.slice(1).map((cellInfo: ITableCellInfo) => ( + + {cellInfo.label} + {cellInfo.desc && ( + + )} + + ))} +
+
+ ); +}; + +interface IAssetCell { + version?: number | string; + tooltip?: string; + head: string; + img?: string; + desc?: any; + style?: string; + remark?: ReactNode; + assetStyle?: string; +} + +const AssetCell: React.FC = ({ + version, + head, + desc, + tooltip, + remark, + img, + assetStyle, + style, +}) => { + return ( + +
+
+ {img && } + {version && ( +
+ +
+ )} +
+
+ + {head} + {tooltip && ( + + )} + + {desc && {desc}} + {remark && {remark}} +
+
+
+ ); +}; + +interface ITableHeads { + children: string | JSX.Element; + tooltip?: string; + style?: string; +} + +const TableHeads: React.FC = ({ children, style, tooltip }) => { + return ( +
+ {children} + {tooltip && ( + + )} +
+ ); +}; + +export { CellHeadDesc, AssetCell, TableHeads }; diff --git a/src/Views/Common/TableComponents/style.ts b/src/Views/Common/TableComponents/style.ts new file mode 100644 index 0000000..6035c90 --- /dev/null +++ b/src/Views/Common/TableComponents/style.ts @@ -0,0 +1,81 @@ +import styled from "styled-components"; + +const AssetCellLayout = styled.div` + margin-bottom: var(--mb); + span { + @media screen and (max-width: 600px) { + font-size: 13px; + } + } +`; + +const CellDescLayout = styled.div` + span { + @media screen and (max-width: 600px) { + font-size: 12px; + } + } + .mobile-align { + @media only screen and (max-width: 600px) { + align-items: center; + } + } +`; + +const TableLayout = styled.div` + @media screen and (max-width: 600px) { + .lift-up { + .headText { + font-family: "Relative Pro", sans-serif; + justify-content: flex-start; + } + } + .head-text { + line-height: 24px; + font-weight: 600; + font-size: 13px; + } + .desc-text { + line-height: 16px; + font-size: 14px; + } + .primary-btn { + font-size: 14px; + line-height: 24px; + font-family: "Relative Pro", sans-serif; + padding: 6px 0; + border-radius: 12px; + } + .secondary-btn { + font-size: 14px; + line-height: 24px; + font-family: "Relative Pro", sans-serif; + padding: 5px 0; + border-radius: 12px; + } + } +`; + +const Background = styled.div` + .swap-padding { + padding: 0 8px; + } + .asset-img-cell { + top: 0.3rem; + } + + .padding-right-table { + padding-left: 1.6vw; + } + .action-button { + padding: 0.5rem 2rem; + font-size: 1.4rem; + /* font-weight: 400; */ + } + .buttons { + width: max-content; + gap: 8px; + margin: auto; + } +`; +export { AssetCellLayout, CellDescLayout, TableLayout, Background }; diff --git a/src/Views/Common/TableMobile/index.tsx b/src/Views/Common/TableMobile/index.tsx new file mode 100644 index 0000000..abbf9f3 --- /dev/null +++ b/src/Views/Common/TableMobile/index.tsx @@ -0,0 +1,160 @@ +import { Avatar, Button, Skeleton } from "@mui/material"; +import { ChangeEvent, ReactChild, ReactNode, useState } from "react"; +import Background from "./style"; +import { createArray } from "@Utils/JSUtils/createArray"; +import { European, American } from "config"; +import TypeChip from "../TypeChip"; +import BasicPagination from "../pagination"; + +interface TableMobileProps { + rows: number; + bodyJSX: ( + row: number, + selectedIndex?: number, + handleClick?: (idx: number) => void + ) => ReactChild; + error?: ReactNode; + loading?: boolean; + count?: number; + shouldShowTroply?: boolean; + onPageChange?: (e: ChangeEvent, p: number) => void; +} + +const TableMobile: React.FC = ({ + rows, + bodyJSX, + error, + loading, + count, + onPageChange, + shouldShowTroply = true, +}) => { + const [selectedIndex, setSelectedIndex] = useState(-1); + const handleClick = (idx: number) => setSelectedIndex(idx); + return ( + + {loading ? ( + + ) : rows ? ( + createArray(rows).map((index) => { + return ( +
+ {bodyJSX(index, selectedIndex, handleClick)} +
+ ); + }) + ) : ( +
{error}
+ )} + + {count ? ( + + ) : null} +
+ ); +}; + +interface AssetProps { + name: string; + img: string; + type: string; + icon?: string; + isEuropean?: boolean; + isCallbooster?: boolean; +} + +export const AssetCellMobile: React.FC = ({ + name, + img, + type, + icon, + isEuropean, + isCallbooster, +}) => { + return ( +
+ {name} +
+
+ + {name} + + {icon && ( +
+ {icon} +
+ )} + {isCallbooster && ( + + )} +
+ + {type} + +
+
+ ); +}; + +interface InfoProps { + title: string; + text: string | ReactChild; + align?: "right" | "left"; + className?: string; +} + +export const InfoCell: React.FC = ({ + title, + text, + align, + className, +}) => { + return ( +
+ {title} + {text} +
+ ); +}; + +interface RowProps { + title: string; + text: string | ReactChild; + desc?: boolean; + className?: string; +} + +export const RowCell: React.FC = ({ + title, + text, + desc, + className, +}) => { + return ( +
+ {title} + {text} +
+ ); +}; + +export default TableMobile; diff --git a/src/Views/Common/TableMobile/style.ts b/src/Views/Common/TableMobile/style.ts new file mode 100644 index 0000000..72ed6d2 --- /dev/null +++ b/src/Views/Common/TableMobile/style.ts @@ -0,0 +1,105 @@ +import styled from "styled-components"; + +const Background = styled.div` + color: var(--text-1); + font-size: 16px; + margin-bottom: 2rem; + + .cell { + margin-bottom: 1.5rem; + /* box-shadow: var(--white-shadow); */ + } + .body { + background: var(--bg-23); + border-radius: 1.6rem; + padding: 2.8rem 1.8rem; + padding-bottom: 2.6rem; + /* box-shadow: var(--white-shadow); */ + + // row-gap: 1.5rem; + } + .redirect { + color: inherit; + text-decoration: none; + } + .redirect:hover { + text-decoration: underline; + } + .right-text { + * { + justify-content: flex-end; + } + } + .highlight { + font-weight: 600; + color: var(--text-1); + } + .mtb { + margin: 2rem 0 1rem 0; + } + .action { + background: var(--bg-14); + color: var(--text-1); + border: none; + border-radius: 1.2rem; + padding: 1.1rem 1.8rem; + text-transform: initial !important; + font-size: 12px; + + &:hover { + background: var(--bg-8); + } + } + .details { + text-transform: initial !important; + font-size: 13px; + } + .cell2 { + transition: height 0.2s ease-in-out; + } + .divider { + border-color: var(--bg-14); + width: 100%; + margin-bottom: 1.5rem; + } + .h { + height: 20rem; + transform: none !important; + } + .rows { + row-gap: 1.5rem; + } + .auto_close { + font-size: 14px; + } + .btn { + font-size: 16px; + /* font-family: "Inter"; */ + padding: 0.3rem 1rem; + min-width: auto; + &:disabled { + padding: 0.3rem 1rem; + } + &:active { + font-size: initial; + padding: 0.3rem 1rem; + } + &:hover { + font-size: initial; + padding: 0.3rem 1rem; + transform: none; + } + } + .status { + margin: 1.5rem 0; + } + .highlight, + .desc-text { + font-size: 15px; + } + .error { + color: var(--text-6); + row-gap: 1.7rem; + } +`; +export default Background; diff --git a/src/Views/Common/TitleHead.tsx b/src/Views/Common/TitleHead.tsx new file mode 100644 index 0000000..93069ff --- /dev/null +++ b/src/Views/Common/TitleHead.tsx @@ -0,0 +1,8 @@ + +export const HeadTitle = ({ title }) => { + return ( + + {title} + + ); +}; diff --git a/src/Views/Common/TnCModal.tsx b/src/Views/Common/TnCModal.tsx new file mode 100644 index 0000000..922d5af --- /dev/null +++ b/src/Views/Common/TnCModal.tsx @@ -0,0 +1,58 @@ +import { Dialog } from '@mui/material'; +import { atomWithLocalStorage } from '@Views/BinaryOptions/Components/SlippageModal'; +import { useAtom } from 'jotai'; +import { useState, useEffect, ReactNode } from 'react'; +import styles from 'Styles/TnCModal.module.scss'; +import { SecondaryActionBtn } from './Buttons'; + +interface ITnCModal { + className?: string; + children?: ReactNode; +} +// 44 +// 51 + +// 54 +const TNCOFFSET = 7 * 24 * 60 * 60 * 1000; +const TermsConditionAtom = atomWithLocalStorage('tncv1', { + lastSaved: Date.now() - TNCOFFSET, +}); +const TnCModal: React.FC = ({ className, children }) => { + const [tnc, setTnc] = useAtom(TermsConditionAtom); + + return ( + +
+
+
+ By using Buffer Finance dApp, I agree to the following Important + Disclaimer +
+
I am lawfully permitted to access this site and use the Buffer + dApp under the laws of the jurisdiction where I reside and am located. +

I will not use the Buffer dApp while located within any + prohibited jurisdictions. + {/*

Buffer dApp (V2) is in Mainnet Beta with trusted admin + controls. I understand the risks associated with using Buffer dApp. */} +
+
+ { + setTnc({ + lastSaved: Date.now(), + }); + }} + className="w-full " + > + Agree and Continue + +
+
+
+ ); +}; + +export default TnCModal; diff --git a/src/Views/Common/Toast/index.tsx b/src/Views/Common/Toast/index.tsx new file mode 100644 index 0000000..31da214 --- /dev/null +++ b/src/Views/Common/Toast/index.tsx @@ -0,0 +1,180 @@ +import { IconButton } from '@mui/material'; +import React, { useState, useEffect, useRef } from 'react'; +import { SingleNotification, Bar, Background } from './style'; +import { useToast } from '../../../contexts/Toast'; +import { SwitchTransition, CSSTransition } from 'react-transition-group'; +import { useGlobal } from '@Contexts/Global'; +import ToastCrossIcon from '@Assets/Elements/ToastCrossIcon'; +import SuccessIcon from '@Assets/Elements/SuccessIcon'; +import ErrorIcon from '@Assets/Elements/ErrorIcon'; +import FailedSuccessIcon from '@Assets/Elements/FailedSuccess'; + +// import { useWindowSize } from "src/Providers"; + +export const NotificationContext = React.createContext('d'); +function Layout(props) { + const [exit, setExit] = useState(false); + const [width, setWidth] = useState(0); + const interval = useRef(); + const dispatch = useToast(); + const { state } = useGlobal(); + const dur = props.toast.inf ? 1000000 : props.toast.timings || 80; + // const dimensions = useWindowSize(); + function set() { + interval.current = setInterval(() => { + setWidth((width) => width + 1); + }, dur); + } + function clear() { + clearInterval(interval.current); + } + const removeToast = () => { + dispatch({ type: 'REMOVE-NOTIFICATION', payload: props.toast }); + }; + + useEffect(() => { + if (!props.toast.msg) return; + + set(); + return () => clear(); + }, [props.toast.msg]); + useEffect(() => { + if (width > 100) { + setExit(!exit); + setTimeout(removeToast, 100); + } + }, [width]); + + function entered(e) { + clear(); + } + function exited(e) { + set(); + } + + let color = 'var(--primary)'; + if (props.toast.type && props.toast.type === 'error') { + color = 'var(--red)'; + } + if (props.toast.type && props.toast.type === 'success') { + color = '#4FBF67'; + } + const notifRef = useRef(); + if (props.toast.confirmationModal && window.innerWidth > 600) { + const data = props.toast.confirmationModal; + return ( + + <> + {/* */} + + ); + } + return ( + +
+ {props.toast?.inf ? ( + props.toast.inf === 2 ? ( +
+
+
+ ) : ( +
+
+
+ ) + ) : props.toast.type === 'loss' ? ( + + ) : props.toast.type === 'success' ? ( + + ) : props.toast.type === 'info' ? ( + + ) : ( + + )} + + {props.toast.animatable ? ( + + +
+ {props.toast.msg} + {props.toast.hash && ( + + View on Explorer + + )} +
+
+
+ ) : ( +
+ {props.toast.msg} + {props.toast.hash && ( + + View on Explorer + + )} +
+ )} + + setWidth(101)}> + + +
+ {props.toast.body &&
{props.toast.body}
} + {!props.toast.inf && }{' '} +
+ ); +} + +function Toasts(props) { + return ( + + {props.state.map((notification) => ( + + ))} + + ); +} + +export default Toasts; +// const FinalConfirmationModal = ({ data, hash }) => { +// const [open, setOpen] = useState(true); +// const { state } = useGlobal(); +// return ( +// setOpen(false)}> +// +// +// ); +// }; diff --git a/src/Views/Common/Toast/style.ts b/src/Views/Common/Toast/style.ts new file mode 100644 index 0000000..fff368c --- /dev/null +++ b/src/Views/Common/Toast/style.ts @@ -0,0 +1,149 @@ +import styled, { keyframes } from "styled-components"; + +const fadeIn = keyframes` +from{ + transform:translateX(150%); + +} +to{ + transform:translateX(0%); +} +`; +const fadeOut = keyframes` +from{ + transform:translateX(0%); +} +to{ + transform:translateX(150%); +} +`; + +export const Background = styled.div` + position: fixed; + right: 0; + padding: 10px; + top: 0; + z-index: 1000000; +`; +export const SingleNotification = styled.div` + position: relative; + z-index: 100; + min-width: 15vw; + border-radius: 20px; + overflow: hidden; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); + max-width: 37rem; + font-size: 1.3rem; + margin: 10px; + &.fade-in { + animation: ${fadeIn} 500ms ease; + } + &.fade-out { + animation: ${fadeOut} 500ms ease; + } + @media (max-width: 600px) { + font-size: 1.2rem; + max-width: 90vw; + } + .clear { + width: 2.4rem; + height: 2.4rem; + } + .icon { + width: 2rem; + height: 2rem; + } + .check { + color: green; + } + .error { + color: ${(props) => props.color}; + svg { + min-width: 24px; + } + } + .msgtext { + margin: 0 1rem 0 0.5rem; + text-align: start; + } + .content { + padding: 1rem; + } + + .icon-dim { + --dim: 2.1rem; + min-width: var(--dim); + max-width: var(--dim); + margin-right: 1rem; + min-height: var(--dim); + max-height: var(--dim); + } + .custom_alert { + background-color: #232334; + border-radius: 14px; + position: relative; + display: flex; + padding: 2.7rem; + padding-bottom: 2.7rem; + align-items: center; + + .cross { + position: absolute; + top: 1.5rem; + right: 1.5rem; + padding: 0; + height: fit-content; + svg { + fill: #fff; + --dim: 1.4rem; + width: var(--dim); + height: var(--dim); + } + } + .message { + margin-right: 2em; + display: flex; + flex-direction: column; + transition: 300ms ease-in-out; + span { + /* font-family: Poppins; */ + font-style: normal; + font-weight: 400; + font-size: 1.4rem; + + /* line-height: 27px; */ + color: var(--text-1); + } + } + a { + /* text-decoration: none; */ + font-weight: 500; + margin-top: 0.2rem; + font-size: 1.2rem; + &:hover { + text-decoration: underline; + /* color: var(--text-1); */ + } + } + + .message--enter { + transform: translate(0, -300px); + opacity: 0; + } + .message--enter-active { + opacity: 1; + transform: translate(0, 0); + } + .message--exit { + opacity: 0; + transform: translate(0, 300px); + } + } +`; +export const Bar = styled.div` + position: absolute; + bottom: 0; + width: ${(props) => props.width}; + background: ${(props) => props.color}; + height: 0.4rem; +`; diff --git a/src/Views/Common/Toggler/index.tsx b/src/Views/Common/Toggler/index.tsx new file mode 100644 index 0000000..1a94ce6 --- /dev/null +++ b/src/Views/Common/Toggler/index.tsx @@ -0,0 +1,31 @@ +import { ReactNode } from "react"; +import Background from "./style"; + +interface Itoggler { + children: ReactNode[]; + activeIdx: number; + setActiveIdx: (a: number) => void; + className?: string; +} +const Toggler: React.FC = ({ + children, + className, + activeIdx, + setActiveIdx, +}) => { + return ( + + {children.map((child, idx) => ( +
setActiveIdx(idx)} + > + {child} +
+ ))} +
+ ); +}; + +export default Toggler; diff --git a/src/Views/Common/Toggler/style.ts b/src/Views/Common/Toggler/style.ts new file mode 100644 index 0000000..d8f3c5c --- /dev/null +++ b/src/Views/Common/Toggler/style.ts @@ -0,0 +1,33 @@ +import styled from "styled-components"; + +const Background = styled.div` + --border-radius: 0.43rem; + display: flex; + .toggle-tab { + padding: 0.8rem 1.5rem; + margin: 0 0.1rem; + cursor: pointer; + font-size: 1.3rem; + font-weight: 500; + background-color: var(--bg-19); + color: var(--text-6); + &.active { + background-color: var(--bg-14); + color: var(--text-1); + } + &:hover { + color: var(--text-1); + } + &:first-of-type { + border-top-left-radius: var(--border-radius); + border-bottom-left-radius: var(--border-radius); + margin-left: 0; + } + &:last-of-type { + border-top-right-radius: var(--border-radius); + border-bottom-right-radius: var(--border-radius); + margin-right: 0; + } + } +`; +export default Background; diff --git a/src/Views/Common/Tooltip/index.tsx b/src/Views/Common/Tooltip/index.tsx new file mode 100644 index 0000000..f7a937e --- /dev/null +++ b/src/Views/Common/Tooltip/index.tsx @@ -0,0 +1,31 @@ +import React from 'react' +import Background from './style' +interface CustomTooltip { + title: string + children: any + position: string + containerClass: string + theme: string +} +const ReactToolTip: React.FC = ({ title, children, position, containerClass, theme }) => { + return ( + +
+ {children} +
+ {title} + +
+
+
+ ) +} +ReactToolTip.defaultProps = { + title: 'sample', + children: React.createElement('div'), + position: 'bottom', + containerClass: '', + theme: 'light', +} + +export default ReactToolTip diff --git a/src/Views/Common/Tooltip/style.ts b/src/Views/Common/Tooltip/style.ts new file mode 100644 index 0000000..4fbe9bc --- /dev/null +++ b/src/Views/Common/Tooltip/style.ts @@ -0,0 +1,114 @@ +import styled from 'styled-components' + +const Background = styled.div` + .tooltip { + position: relative; + display: inline-block; + } + + .tooltip .tooltiptext.light { + background-color: var(--text-1); + color: var(--tooltiptext); + border: 1px solid var(--bg-17); + } + + .tooltip .tooltiptext.dark { + background-color: var(--tolltipbg); + color: var(--text-1); + } + + .tooltip .tooltiptext { + visibility: hidden; + position: absolute; + width: 12rem; + text-align: center; + padding: 0.5rem; + border-radius: 0.6rem; + z-index: 1; + opacity: 0; + transition: opacity 0.3s; + box-shadow: 0 2px 6px var(--bg-17); + } + + .tooltip:hover .tooltiptext { + visibility: visible; + opacity: 1; + } + + .tooltip-right { + top: -5px; + left: 125%; + } + + .tooltip-right::after { + content: ''; + position: absolute; + top: 50%; + right: 100%; + margin-top: -0.5rem; + border-width: 0.5rem; + border-style: solid; + border-color: transparent var(--tolltipbg) transparent transparent; + } + + .tooltip-bottom { + top: 135%; + left: 50%; + margin-left: -6rem; + } + + .tooltip-bottom::after { + content: ''; + position: absolute; + bottom: 100%; + left: 50%; + margin-left: -5px; + border-width: 1.1rem; + border-style: solid; + border-color: transparent transparent var(--tolltipbg) transparent; + } + + .tooltip-top { + bottom: 125%; + left: 50%; + margin-left: -6rem; + } + + .tooltip-top::after { + content: ''; + position: absolute; + top: 100%; + left: 50%; + margin-left: -0.5rem; + border-width: 0.5rem; + border-style: solid; + border-color: var(--tolltipbg) transparent transparent transparent; + } + + .tooltip-left { + top: -5px; + bottom: auto; + right: 128%; + } + .tooltip-left::after { + content: ''; + position: absolute; + top: 50%; + left: 100%; + margin-top: -0.5rem; + border-width: 0.5px; + border-style: solid; + border-color: transparent transparent transparent var(--tolltipbg); + } + + .arrow { + position: absolute; + left: 48%; + top: -1rem; + border-left: 0.8rem solid transparent; + border-right: 0.8rem solid transparent; + border-bottom: 1rem solid var(--text-1); + z-index: 1; + } +` +export default Background diff --git a/src/Views/Common/Tooltips/Display/index.tsx b/src/Views/Common/Tooltips/Display/index.tsx new file mode 100644 index 0000000..3b0dc30 --- /dev/null +++ b/src/Views/Common/Tooltips/Display/index.tsx @@ -0,0 +1,139 @@ +import React, { ReactNode, useEffect, useRef, useState } from 'react'; +import Big from 'big.js'; +import NumberTooltip from '..'; +import { toFixed } from '@Utils/NumString'; +import { numberWithCommas } from '@Utils/display'; +import { lt } from '@Utils/NumString/stringArithmatics'; +interface IDisplayProp { + data: string | number | null | undefined; + unit?: string; + className?: string; + precision?: number; + disable?: boolean; + label?: React.ReactChild; + content?: ReactNode; + placement?: 'top' | 'bottom'; + colored?: boolean; +} + +export const underLineClass = + 'underline underline-offset-4 decoration decoration-[#ffffff30] w-fit ml-auto'; + +const stringify = (num: string | number) => { + if (typeof num == 'number') { + num = num.toString(); + } + return num as string; +}; +export const Display: React.FC = ({ + colored, + data, + unit, + label, + disable, + placement, + className, + content, + precision = 2, +}) => { + try { + const prev = useRef(); + if (data == null || data == undefined || data == '') { + data = '0'; + } + // 3 4 5 4 + // d + + const [color, setColor] = useState('green'); + + useEffect(() => { + if (prev.current && data) { + if (lt(stringify(data), stringify(prev.current))) { + setColor('red'); + } else setColor('green'); + } + return () => { + prev.current = data; + }; + }, [data]); + if (typeof data === 'number') data = data.toString(); + + const oneBN = new Big('1.0'); + const zeroBN = new Big('0.0'); + const tenThousandBN = new Big('1000'); + const dataBN = new Big('' + data); + const isDataSmallerThan1 = dataBN.lt(oneBN); + const isDataSmallerThan0 = dataBN.lt(zeroBN); + const isDataGreaterThan10000 = dataBN.gt(tenThousandBN); + let displayData = ''; + if (isDataGreaterThan10000) { + displayData = numberWithCommas(toFixed(data, precision)); + } + let isDecimal = false; + const arr = data.split('.'); + if (arr.length > 1 && arr[1].length > precision) { + isDecimal = true; + } + + className = content ? className + ' ' + underLineClass : className; + let tooltipContent: ReactNode | string = + (data ? numberWithCommas(toFixed(data, 6)) : '0') + + (unit ? ' ' + unit : ''); + if (content) { + tooltipContent =
{content}
; + } + if (disable) { + tooltipContent = ''; + } + const Unit = unit ? <>{' ' + unit} : ''; + const generatedStyles = `flex mono content-center ${colored ? color : ''} ${ + className || '' + }`; + const DefaultExport = ( + +
+ {label} + {data && numberWithCommas(toFixed(data, precision))} + {Unit} +
+
+ ); + if (content) { + return DefaultExport; + } + + if (isDataSmallerThan1) { + // data is in 0.000something but positive + if (isDataSmallerThan0) { + // if data is negative + // if (data.length > 5) { + // -0.0001 + more digits + return ( + +
+ {label} + {data && numberWithCommas(toFixed(data, precision))} + {Unit} +
+
+ ); + // } else { + // // -0.0001 | + // return ( + //
+ // {label} + // {data} + //   + // {unit} + //
+ // ); + // } + } + // 0.00precision11 has length more than 6. + } + // if (isDecimal) { + return DefaultExport; + } catch (e) { + return
{data}
; + } +}; diff --git a/src/Views/Common/Tooltips/index.tsx b/src/Views/Common/Tooltips/index.tsx new file mode 100644 index 0000000..93eaa10 --- /dev/null +++ b/src/Views/Common/Tooltips/index.tsx @@ -0,0 +1,40 @@ +import { Tooltip } from "@mui/material"; + +interface Itooltip { + content: any; + className?: string; + children?: any; + followCursor?: boolean; + placement?: "top" | "bottom" | "left" | "right"; +} +const NumberTooltip: React.FC = ({ + content, + children, + className, + followCursor, + placement, +}) => { + const tooltipStyles = { + tooltip: "tooltip " + className, + arrow: "arrow", + }; + + return ( + + {children} + + ); +}; + +export default NumberTooltip; diff --git a/src/Views/Common/TopBanner/index.tsx b/src/Views/Common/TopBanner/index.tsx new file mode 100644 index 0000000..c61313e --- /dev/null +++ b/src/Views/Common/TopBanner/index.tsx @@ -0,0 +1,24 @@ +import { useState, useEffect, useRef } from "react"; +import { setTopMargin } from "@Utils/appControls/removeMargin"; +import Background from "./style"; + +interface ITopBanner {} +const fixAppPositon = (height: number) => { + // setTopMargin('app-wrapper', height) +}; + +const TopBanner: React.FC = ({}) => { + const ref = useRef(); + useEffect(() => { + const { height } = ref.current.getBoundingClientRect(); + fixAppPositon(height); + }, []); + return ( + + Official iBFR contract address{" "} + 0xa296aD1C47FE6bDC133f39555C1D1177BD51fBc5 + + ); +}; + +export default TopBanner; diff --git a/src/Views/Common/TopBanner/style.ts b/src/Views/Common/TopBanner/style.ts new file mode 100644 index 0000000..868dfa1 --- /dev/null +++ b/src/Views/Common/TopBanner/style.ts @@ -0,0 +1,31 @@ +import styled from 'styled-components' + +const Background = styled.div` + z-index: 1300; + background-color: var(--primary); + display: grid; + position: fixed; + width: 100%; + padding: 0.2rem; + top: 0; + font-size: 1.38rem; + color: #ffffff; + font-weight: 500; + place-items: center; + line-height: 2.8rem; + max-height: 2.8rem; + + /* REMOVE THIS!!! */ + @media only screen and (max-width: 600px){ + display:none; + } + a { + display: contents; + color: inherit; + text-decoration: none; + } + @media screen and (max-width: 600px) { + display: none; + } +` +export default Background diff --git a/src/Views/Common/Transition/index.tsx b/src/Views/Common/Transition/index.tsx new file mode 100644 index 0000000..141edb6 --- /dev/null +++ b/src/Views/Common/Transition/index.tsx @@ -0,0 +1,61 @@ +import { + TransitionGroup, + Transition as ReactTransition, +} from "react-transition-group"; + +import { ReactChild } from "react"; + +type TransitionKind = { + children: RC; + location: string; +}; + +const TIMEOUT: number = 200; + +const getTransitionStyles = { + entering: { + position: `absolute`, + opacity: 0, + // transform: `translateX(50px)`, + }, + entered: { + transition: `opacity ${TIMEOUT}ms ease-in-out`, + opacity: 1, + // transform: `translateX(0px)`, + animation: "blink .3s linear 2", + }, + exiting: { + transition: `opacity ${TIMEOUT}ms ease-in-out`, + opacity: 0, + // transform: `translateX(-50px)`, + }, +}; + +const TabTransition: React.FC> = ({ + children, + location, +}) => { + return ( + + + {(status) => ( +
+ {children} +
+ )} +
+
+ ); +}; +export default TabTransition; diff --git a/src/Views/Common/Transitions/Horizontal/index.tsx b/src/Views/Common/Transitions/Horizontal/index.tsx new file mode 100644 index 0000000..54d865f --- /dev/null +++ b/src/Views/Common/Transitions/Horizontal/index.tsx @@ -0,0 +1,26 @@ +import { ReactNode } from 'react'; +import { SwitchTransition, CSSTransition } from 'react-transition-group'; +import Background from './style'; +interface IHorizonatlTransition { + value: number; + className?: string; + children: ReactNode[]; +} + +const HorizontalTransition: React.FC = ({ + value, + children, + className, +}) => { + return ( + + + +
{children[value]}
+
+
+
+ ); +}; + +export default HorizontalTransition; diff --git a/src/Views/Common/Transitions/Horizontal/style.ts b/src/Views/Common/Transitions/Horizontal/style.ts new file mode 100644 index 0000000..9048160 --- /dev/null +++ b/src/Views/Common/Transitions/Horizontal/style.ts @@ -0,0 +1,29 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + /* overflow-x: hidden; */ + + .tab-pannel { + transition: 100ms; + } + .tab-pannel--enter { + transform: translate(-100px, 0); + opacity: 0; + } + .tab-pannel--enter-active { + opacity: 1; + transform: translate(0, 0); + } + .tab-pannel--exit { + opacity: 0; + transform: translate(60%, 0); + } + .TVChartContainer { + min-height: 100%; + + @media only screen and (max-width: 1200px) { + height: calc(100vh - 200px); + } + } +`; +export default Background; diff --git a/src/Views/Common/Transitions/Vertical/index.tsx b/src/Views/Common/Transitions/Vertical/index.tsx new file mode 100644 index 0000000..9459cb1 --- /dev/null +++ b/src/Views/Common/Transitions/Vertical/index.tsx @@ -0,0 +1,22 @@ +import { useState, useEffect, ReactNode } from "react"; +import { SwitchTransition, CSSTransition } from "react-transition-group"; +import Background from "./style"; +interface IVeticalTransition { + value: number; + className?: string; + children: ReactNode; +} + +const VerticalTransition: React.FC = ({ + value, + children, + className, +}) => { + return ( + + {children[value]} + + ); +}; + +export default VerticalTransition; diff --git a/src/Views/Common/Transitions/Vertical/style.ts b/src/Views/Common/Transitions/Vertical/style.ts new file mode 100644 index 0000000..f9c472c --- /dev/null +++ b/src/Views/Common/Transitions/Vertical/style.ts @@ -0,0 +1,12 @@ +import styled from "styled-components"; + +const Background = styled.div` + transition: 500ms ease; + &.in { + max-height: 200px; + } + &.out { + max-height: 2px; + } +`; +export default Background; diff --git a/src/Views/Common/TryTestnet/index.tsx b/src/Views/Common/TryTestnet/index.tsx new file mode 100644 index 0000000..93762fc --- /dev/null +++ b/src/Views/Common/TryTestnet/index.tsx @@ -0,0 +1,41 @@ +import { useState, useEffect } from "react"; +import Background from "./style"; +import Button from "@Views/Common/Buttons"; +import { IconButton } from "@mui/material"; +import CrossIcon from "src/SVG/buttons/cross"; +import { useGlobal } from "@Contexts/Global"; + +interface ITryTestnetBanner {} + +const TryTestnetBanner: React.FC = ({}) => { + const { dispatch, state } = useGlobal(); + const show = state.show.tryTestnet; + const isTestnet = import.meta.env.VITE_ENV.toUpperCase() === "TESTNET"; + return show ? ( + + dispatch({ type: "SET_TRY_TESTNET", payload: false })} + > + + +

+ Make a prediction on the asset of your choice that will go up or down +

+ + + + +
+ ) : ( + <> + ); +}; + +export default TryTestnetBanner; diff --git a/src/Views/Common/TryTestnet/style.ts b/src/Views/Common/TryTestnet/style.ts new file mode 100644 index 0000000..75237e5 --- /dev/null +++ b/src/Views/Common/TryTestnet/style.ts @@ -0,0 +1,56 @@ +import styled from "styled-components"; + +const Background = styled.div` + background-color: var(--bg-21); + border-radius: 1rem; + padding: 2rem; + /* position: absolute; */ + position: relative; + /* bottom: 0; */ + /* bottom: 4rem; */ + /* width: calc(var(--drawer-width) - 8rem); */ + + /* margin-top: 36vh; */ + transition: 0.2s all; + + @media only screen and (max-width: 1200px) { + bottom: -9px; + /* right: auto; + width: calc(var(--drawer-width) - 9.5rem); */ + } + .cross-icon-wrapper { + position: absolute; + top: 0.4rem; + + right: 0.4rem; + .cross-icon { + } + } + .testTxt { + color: var(--text-8); + font-size: 1.4rem; + width: 55%; + font-weight: 600; + line-height: 2.5rem; + margin-bottom: 0.7rem; + margin-top: 0rem; + } + .testBtn { + background-color: white; + color: var(--text-8); + font-size: 1.4rem; + font-weight: 600; + text-transform: capitalize; + &:hover { + background-color: var(--text-1); + } + } + .testImg { + position: absolute; + bottom: -16%; + right: -10%; + width: 18rem; + height: 16rem; + } +`; +export default Background; diff --git a/src/Views/Common/TypeChip/index.tsx b/src/Views/Common/TypeChip/index.tsx new file mode 100644 index 0000000..008d219 --- /dev/null +++ b/src/Views/Common/TypeChip/index.tsx @@ -0,0 +1,10 @@ +interface ITypeChip { + type: number | string; + className?: string; +} + +const VersionChip: React.FC = ({ type, className }) => { + return
{type}
; +}; + +export default VersionChip; diff --git a/src/Views/Common/UnorderedList/index.tsx b/src/Views/Common/UnorderedList/index.tsx new file mode 100644 index 0000000..7bcb1ac --- /dev/null +++ b/src/Views/Common/UnorderedList/index.tsx @@ -0,0 +1,22 @@ +import { useState, useEffect, ReactNode } from "react"; +import Background from "./style"; + +interface IUnorderedList { + header: string | ReactNode; + list: string[] | ReactNode[]; +} + +const UnorderedList: React.FC = ({ header, list }) => { + return ( + +

{header}

+
    + {list.map((single) => ( +
  • + ))} +
+
+ ); +}; + +export default UnorderedList; diff --git a/src/Views/Common/UnorderedList/style.ts b/src/Views/Common/UnorderedList/style.ts new file mode 100644 index 0000000..683de69 --- /dev/null +++ b/src/Views/Common/UnorderedList/style.ts @@ -0,0 +1,36 @@ +import styled from "styled-components"; + +const Background = styled.div` + background-color: var(--bg-23); + box-shadow: var(--white-shadow); + color: var(--text-1); + flex-wrap: wrap; + width: 49%; + padding: 2.1rem 2.6rem; + border-radius: 1.7rem; + transition: transform 200ms ease; + @media (max-width: 600px) { + width: 100%; + } + &:hover { + transform: scale(1.03); + } + h2 { + margin: 0; + font-weight: 400; + font-size: 1.5rem; + /* font-family: Relative Pro; */ + } + ul { + color: var(--text-6); + line-height: 2.4rem; + font-size: 1.4rem; + font-weight: 400; + padding-left: 1.6rem; + margin-top: 1.2rem; + } + a { + color: var(--primary); + } +`; +export default Background; diff --git a/src/Views/Common/V2-Button/ButtonLoader.tsx b/src/Views/Common/V2-Button/ButtonLoader.tsx new file mode 100644 index 0000000..7d27acc --- /dev/null +++ b/src/Views/Common/V2-Button/ButtonLoader.tsx @@ -0,0 +1,15 @@ +interface IButtonLoader { + className?: string; +} + +const ButtonLoader: React.FC = ({ className }) => { + return ( +
+
+
+
+
+ ); +}; + +export default ButtonLoader; diff --git a/src/Views/Common/V2-Button/index.tsx b/src/Views/Common/V2-Button/index.tsx new file mode 100644 index 0000000..eee710e --- /dev/null +++ b/src/Views/Common/V2-Button/index.tsx @@ -0,0 +1,101 @@ +import React from 'react'; +import ButtonLoader from './ButtonLoader'; + +interface IButton { + isLoading?: boolean; + children?: any; + isDisabled?: boolean; + className?: string; + onClick: () => void; +} +const CustomButton: React.FC = ({ + isLoading = false, + children, + isDisabled = false, + className, + onClick, +}) => { + return ( + + ); +}; + +export const GreenBtn: React.FC = ({ + isLoading = false, + children, + isDisabled, + className, + onClick, +}) => { + return ( + + {children} + + ); +}; +export const RedBtn: React.FC = ({ + isLoading = false, + children, + isDisabled, + className, + onClick, +}) => { + return ( + + {children} + + ); +}; +export const BlueBtn: React.FC = ({ + isLoading = false, + children, + isDisabled, + className, + onClick, +}) => { + return ( + + {children} + + ); +}; +export const BlackBtn: React.FC = ({ + isLoading = false, + children, + isDisabled, + className, + onClick, +}) => { + return ( + + {children} + + ); +}; +export default CustomButton; diff --git a/src/Views/Common/V2-Drawer/connectionDrawer.tsx b/src/Views/Common/V2-Drawer/connectionDrawer.tsx new file mode 100644 index 0000000..9a771eb --- /dev/null +++ b/src/Views/Common/V2-Drawer/connectionDrawer.tsx @@ -0,0 +1,100 @@ +import { CSSTransition } from "react-transition-group"; +import { isDrawerOpen } from "src/globalStore"; +import { useAtom } from "jotai"; +import { useEffect } from "react"; +import Background from "../ConnectionDrawer/style"; +import { IconButton } from "@mui/material"; +import BackIcon from "src/SVG/buttons/back"; +import { supportedWallets } from "config"; +import { useWalletConnect } from "../ConnectionDrawer"; +const addClass = (selector: string, className: string) => { + const ele: HTMLDivElement = document.querySelector('#' + selector) + ele?.classList?.add(className) +} +export function defaultClosed() { + addClass("drawer", "drawer"); + addClass("drawer", "hide-drawer"); + // addClass("overlay", "tab"); + // addClass("overlay", "tab"); +} +export function defaultConnectionClosed() { + addClass("connection-drawer", "drawer"); + addClass("connection-drawer", "hide-drawer"); +} +interface IDrawer { + className: string; +} + +const ConnectionDrawer: React.FC = ({ className }) => { + const [isConnectionDrawerOpen] = useAtom(isDrawerOpen); + const { connectHandler, closeDrawer } = useWalletConnect(); + + useEffect(() => defaultConnectionClosed(), []); + return ( + <> + {isConnectionDrawerOpen && ( +
+ )} + + <> +
+ +
+
+
+ + + + + Connect Your Wallet + +
+ {supportedWallets.map((wallet: any, index: number) => ( + + ))} +
+ Haven’t installed Metamask yet?  + + Click Here + +
+
+ {/* */} +
+
+
+ +
+ + ); +}; + +export default ConnectionDrawer; diff --git a/src/Views/Common/V2-Drawer/index.tsx b/src/Views/Common/V2-Drawer/index.tsx new file mode 100644 index 0000000..c17044b --- /dev/null +++ b/src/Views/Common/V2-Drawer/index.tsx @@ -0,0 +1,40 @@ +import { useAtom } from "jotai"; +import { isDrawerOpen } from "src/globalStore"; +import WalletConnection from "../ConnectionDrawer"; +import HorizontalTransition from "../Transitions/Horizontal"; + +interface IDrawer { + children: React.ReactChild; + open?: boolean; + className?: string; + childClass?: string; +} +const Drawer: React.FC = ({ + children, + className, + childClass, + open = true, +}) => { + const [isConnectionDrawerOpen] = useAtom(isDrawerOpen); + + if (open || isConnectionDrawerOpen) + return ( +
+
+ +
{children}
+ +
+
+
+ ); + else return <>; +}; + +export default Drawer; diff --git a/src/Views/Common/VersionChip/index.tsx b/src/Views/Common/VersionChip/index.tsx new file mode 100644 index 0000000..f0f5849 --- /dev/null +++ b/src/Views/Common/VersionChip/index.tsx @@ -0,0 +1,19 @@ +interface IVersionChip { + version: number | string; + className?: string; + isCallBooster?: boolean; +} + +const VersionChip: React.FC = ({ + version, + className, + isCallBooster, +}) => { + return ( +
+ {isCallBooster ? version : "V" + version} +
+ ); +}; + +export default VersionChip; diff --git a/src/Views/Common/VersionChip/style.ts b/src/Views/Common/VersionChip/style.ts new file mode 100644 index 0000000..6b9162a --- /dev/null +++ b/src/Views/Common/VersionChip/style.ts @@ -0,0 +1,14 @@ +import styled from 'styled-components' + +const Background = styled.a` + all: unset; + .version-chip { + background-color: var(--bg-20); + color: var(--primary); + font-size: 1.1rem; + font-weight: 700; + border-radius: 7px; + padding: 1px 4px; + } +` +export default Background diff --git a/src/Views/Common/VerticalTabs/index.tsx b/src/Views/Common/VerticalTabs/index.tsx new file mode 100644 index 0000000..f5a69eb --- /dev/null +++ b/src/Views/Common/VerticalTabs/index.tsx @@ -0,0 +1,92 @@ +import { Skeleton, Tab, Tabs } from '@mui/material'; +import { useGlobal } from '@Contexts/Global'; +import { atom } from 'jotai'; +import { useAtom } from 'jotai'; +import Link from 'react-router'; +import Quick from 'public/ComponentSVGS/Quick'; +import React from 'react'; +import { useState, useEffect } from 'react'; +// import { useLeftPannel } from "src/Providers"; +import HomeIcon from 'src/SVG/SidebarIcons/Home'; +import OptionsIcon from 'src/SVG/SidebarIcons/Options'; +import PGIcon from 'src/SVG/SidebarIcons/PG'; +import RevenueSharingIcon from 'src/SVG/SidebarIcons/RevenueSharing'; +import Background from './style'; + +interface IVerticalTabs { + className?: string; +} + +export const verticalTab = atom(0); +const VerticalTabs: React.FC = ({ className }) => { + const pages = null; + const { state } = useGlobal(); + const [activeVerticalTab, setActiveVerticalTab] = useAtom(verticalTab); + + const isVisble = false; + const visibleIdx = activeVerticalTab; + const dta = [ + { + name: 'options', + img: , + }, + { + name: 'prediction-game', + img: , + }, + { + name: 'binary-options', + img: , + }, + { + name: 'faucet', + img: , + }, + ]; + return ( + + {/* {state.activePageIdx === null ? ( */} + {state.activePageIdx === null ? ( + + ) : ( + + {pages[state.activePageIdx]?.subTabs.map((page, idx) => { + return ( + { + // redirectPage(page); + setActiveVerticalTab(idx); + }} + icon={dta[idx].img} + classes={{ + root: `${className} root-button f14`, + selected: 'selected-button', + }} + > + ); + })} + + )} + + ); +}; + +export default VerticalTabs; diff --git a/src/Views/Common/VerticalTabs/style.ts b/src/Views/Common/VerticalTabs/style.ts new file mode 100644 index 0000000..c191467 --- /dev/null +++ b/src/Views/Common/VerticalTabs/style.ts @@ -0,0 +1,45 @@ +import styled from "styled-components"; + +const Background = styled.div` + width: fit-content; + height: 100%; + .hide { + } + .vertical-tabs-root { + color: var(--text-1); + font-weight: 400; + width: fit-content; + transform: translateX(0.4rem); + } + .vertical-indicator-style { + width: 0.44rem; + background: var(--primary); + } + .root-button { + color: var(--text-6); + font-weight: 400; + font-family: Relative Pro; + padding: 0rem; + width: 8rem; + text-transform: capitalize; + border-right: 3px solid rgba(0, 0, 0, 0.3); + .img, + svg { + margin-bottom: 1.4rem; + } + margin: 1.5rem 0rem; + margin-left: -1rem; + &:hover { + color: var(--text-1); + } + } + .selected-button { + color: var(--text-1) !important; + font-weight: 500; + } + .left-pannel-skel { + width: 100%; + height: 100%; + } +`; +export default Background; diff --git a/src/Views/Common/pagination.tsx b/src/Views/Common/pagination.tsx new file mode 100644 index 0000000..bee64f6 --- /dev/null +++ b/src/Views/Common/pagination.tsx @@ -0,0 +1,46 @@ +import * as React from "react"; +import Pagination from "@mui/material/Pagination"; +import Stack from "@mui/material/Stack"; +import { makeStyles } from "@mui/styles"; +import { PaginationItem } from "@mui/material"; + +const useStyles = makeStyles(() => ({ + ul: { + display: "flex", + justifyContent: "center", + marginTop: "2rem", + "& .MuiPaginationItem-root": { + color: "#fff", + fontSize: "1.4rem", + }, + "&.MuiPagination-ul ": { + flexWrap: "nowrap", + }, + "& button.Mui-selected": { + background: "var(--primary)", + fontWeight: "600", + "&:hover": { + background: "var(--primary)", + }, + }, + }, +})); + +export default function BasicPagination(props) { + const cs = useStyles(); + + return ( + + } + /> + + ); +} diff --git a/src/Views/Common/v2-AssetDropDown/index.tsx b/src/Views/Common/v2-AssetDropDown/index.tsx new file mode 100644 index 0000000..105e145 --- /dev/null +++ b/src/Views/Common/v2-AssetDropDown/index.tsx @@ -0,0 +1,177 @@ +import { ClickAwayListener, Skeleton } from "@mui/material"; +import { useGlobal } from "@Contexts/Global"; +import React, { useEffect, useState } from "react"; +import { replaceAsset } from "@Utils/appControls/replaceAsset"; +import { Background } from "./style"; +import { closeDrawer } from "@Utils/appControls/mobileDrawerHandlers"; +import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; +import V2BufferInput from "../v2-BufferInput"; +import useSWR from "swr"; +import { divide } from "@Utils/NumString/stringArithmatics"; +import { Display } from "../Tooltips/Display"; +import { IBinaryMarket } from "@Contexts/Global/reducer"; + +export default function AssetDropDown({ isDropdown }) { + const [search, setSearch] = useState(""); + const { state } = useGlobal(); + const [currentAsset, setCurrentAsset] = useState(null); + const [open, setOpen] = useState(false); + const shouldBeOpen = isDropdown ? open : true; + const { data: res } = useSWR(marketKey); + const handleClickAway = () => { + setOpen(false); + setCurrentAsset(state.settings.activeAsset); + }; + const onChange = (val) => { + setSearch(val); + }; + const getList = () => { + return search.length > 0 + ? res.data.filter((asset) => + asset.underlying_asset.name + .toLowerCase() + .includes(search.toLowerCase()) + ) + : res?.data; + }; + const assetChangeHandler = (asset: string) => { + // TODO see this, nex/router removed + // replaceAsset(router, asset); + }; + + useEffect(() => { + if (!state.settings.activeAsset) return; + setCurrentAsset(state.settings.activeAsset); + }, [state.settings.activeAsset]); + let len = state.assets?.length ? getList()?.length : 0; + + return ( + + + <> +
{ + if (len === 0 || len == 1) return; + setOpen(true); + setCurrentAsset(null); + }} + > + {currentAsset && isDropdown ? ( +
+ {}} + isDropdown={len === 0 || len == 1 ? false : isDropdown} + key={currentAsset.underlying_asset.address} + /> +
+ ) : ( + + )} +
+ + {shouldBeOpen && ( +
+ {state.assets?.length ? ( + getList()?.length ? ( + getList().map((singleAsset, index) => ( + { + assetChangeHandler( + singleAsset.underlying_asset.name.toUpperCase() + ); + setCurrentAsset(singleAsset); + setOpen(false); + closeDrawer(); + }} + /> + )) + ) : ( +
+ No data matched your search  + {search} +
+ ) + ) : ( + + )} +
+ )} + +
+
+ ); +} + +interface IAssetBtn { + singleAsset: IBinaryMarket; + activeAsset: string | undefined; + assetChangeHandler: () => void; + isDropdown?: boolean; +} + +const AssetBtn: React.FC = ({ + singleAsset, + activeAsset, + assetChangeHandler, + isDropdown, +}) => { + // const priceWei = useCryptoPrice(singleAsset.token); + // const price = priceWei && toFixed(divide(priceWei, 8), 2); + + return ( +
+
+ + + {singleAsset.underlying_asset.name} + +
+
+ + {singleAsset?.underlying_asset.current_price ? ( + + ) : ( + + )} + + {isDropdown && ( + + )} +
+
+ ); +}; diff --git a/src/Views/Common/v2-AssetDropDown/style.ts b/src/Views/Common/v2-AssetDropDown/style.ts new file mode 100644 index 0000000..d97346f --- /dev/null +++ b/src/Views/Common/v2-AssetDropDown/style.ts @@ -0,0 +1,93 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + display: flex; + flex-direction: column; + align-self: center; + color: var(--text-6); + margin-bottom: 2rem; + /* overflow: visible; */ + + .back-icon { + display: none; + @media only screen and (max-width: 1200px) { + display: inline; + } + } + + .info--text { + color: var(--text-1); + font-size: 1.4rem; + width: 100%; + text-align: center; + padding: 2rem 0; + } + .marketSearch { + margin-bottom: 5.7rem; + flex: 1; + } + .input { + padding: 0.7rem 0rem; + margin-top: 0.6rem; + } + .assetList { + .f14 { + font-size: 1.4rem; + } + background-color: var(--v2-text-box); + border-radius: 1rem; + margin-top: 1.2rem; + /* margin-bottom: 3rem; */ + max-height: 40vh; + display: flex; + flex-direction: column; + row-gap: 0.6rem; + transition: all 1s ease-in-out; + overflow: auto; + @media only screen and (max-width: 600px) { + max-height: 60vh; + } + transition: 0.2s ease-out; + &.increase-height { + max-height: 68vh; + } + &::-webkit-scrollbar { + background: transparent; + height: 7px; + width: 7px; + } + + .assets { + padding: 0.9rem 2.5rem 0.9rem 2.5rem; + .assetImage { + width: 2.3rem; + height: 2.3rem; + margin-right: 1rem; + } + .assetName { + font-size: 1.6rem; + } + .assetPrice { + font-size: 1.8rem; + } + &.active { + background-color: var(--dropdown-hover); + .assetName { + color: var(--text-1); + } + .assetPrice { + color: var(--text-1); + } + } + &:hover { + background-color: var(--dropdown-hover); + color: var(--text-1); + } + } + } + .light-background { + background-color: var(--dropdown-hover); + } +`; + +export { Background }; diff --git a/src/Views/Common/v2-BufferInput/index.tsx b/src/Views/Common/v2-BufferInput/index.tsx new file mode 100644 index 0000000..d155b06 --- /dev/null +++ b/src/Views/Common/v2-BufferInput/index.tsx @@ -0,0 +1,107 @@ +import React, { useEffect, useState } from "react"; +import ErrorIcon from "src/SVG/Elements/ErrorIcon"; +import BufferInput, { IBufferInput } from "../BufferInput"; +import Background from "./style"; + +export const getAddsValidation = (value) => { + if (value && value.length) { + if (value[0] == "0") { + if (value.length > 1) { + if (value[1] == "x") { + return false; + } else { + // if second char is not x + return true; + } + } else { + // if search text is of 1 length + return false; + } + } else { + // if first char is not zero + return true; + } + } else { + // if no text is entered + return false; + } +}; +export default function V2BufferInput({ + placeholder, + header, + numericValidations, + value, + onChange, + isGrey, + type, + remark, + className, + hideSearchBar = false, + bgClass, + addsValidations, + ipClass, + unit, +}: IBufferInput) { + const [contractAddsValidation, setContractAddsValidation] = useState(false); + useEffect(() => { + // if (!value) return; + const validation = getAddsValidation(value); + setContractAddsValidation(validation); + }, [value]); + + return ( + + + + + + + + ) : ( + <> + ) + } + {...{ + header, + value, + onChange, + numeric: false, + placeholder, + numericValidations, + isGrey, + type, + bgClass, + unit, + }} + /> + {(remark || (addsValidations && contractAddsValidation)) && ( +
+ {addsValidations && contractAddsValidation ? ( + <> + + Not a valid contract address + + ) : ( + remark + )} +
+ )} +
+ ); +} diff --git a/src/Views/Common/v2-BufferInput/style.ts b/src/Views/Common/v2-BufferInput/style.ts new file mode 100644 index 0000000..1bb49cf --- /dev/null +++ b/src/Views/Common/v2-BufferInput/style.ts @@ -0,0 +1,45 @@ +import styled from "@emotion/styled"; + +const Background = styled.div` + max-width: 40rem; + width: 100%; + .error-icon { + --dim: 5.8rem; + width: var(--dim); + height: var(--dim); + margin-right: 0.6rem; + } + .err-container { + position: absolute; + } + .temp { + .background { + padding: 0.4rem 0.4rem 0.4rem 2rem; + border-radius: 0.8rem; + + background-color: #1c1c28; + } + .inputDesign { + /* color: var(--text-6); */ + padding: 0; + font-size: 1.4rem; + } + .iconBg { + .iconButton { + padding: 0; + } + background-color: var(--primary); + padding: 0.9rem; + border-radius: 0.8rem; + } + + .inputStyle { + /* font-size: 12px; */ + ::placeholder { + color: #c3c2d4; + } + } + } +`; + +export default Background; diff --git a/src/Views/Common/v2-OptionsDropdown/index.tsx b/src/Views/Common/v2-OptionsDropdown/index.tsx new file mode 100644 index 0000000..83e56ed --- /dev/null +++ b/src/Views/Common/v2-OptionsDropdown/index.tsx @@ -0,0 +1,103 @@ +import { useGlobal } from "@Contexts/Global"; +import Link from "react-router"; +import React, { useEffect, useState } from "react"; +import BufferDropdown from "../BufferDropdown"; +import { OptionsDropdownStyles } from "./style"; +import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; + +const OptionsDropdown: React.FC = () => { + const { state } = useGlobal(); + const [currentPage, setCurrentPage] = useState(""); + let chain = ""; + let asset = ""; + let ref = ""; + if (state.settings.activeChain) { + chain = state.settings.activeChain.name + "/"; + } + if (state.settings.activeAsset) { + asset = "/" + state.settings.activeAsset.name; + } else { + if (state.settings.activeChain) { + asset = "/" + state.settings.activeChain.nativeAsset.name; + } + } + // TODO see this, nex/router removed + // if (router.query?.ref) { + // ref = "?ref=" + router.query.ref; + // } + if (chain === "") chain = "BSC/"; + if (asset === "") asset = "/BNB"; + + const tabs = [ + { + pathname: "/[chain]/call-booster", + as: `/${chain}call-booster`, + name: "Call Boosters", + slug: "call-booster", + id: 10, + subTabs: [], + }, + { + pathname: "/[chain]/insurance", + as: `/${chain}insurance`, + name: "Secured Puts", + slug: "insurance", + id: 11, + subTabs: [], + }, + { + pathname: "/[chain]/kpi", + as: `/${chain}kpi`, + name: "KPI Options", + slug: "kpi", + id: 12, + subTabs: [], + }, + ]; + // TODO see this, nex/router removed + // useEffect(() => { + // const activePage = tabs.find((tab) => router.asPath.includes(tab?.slug)); + // if (activePage) { + // setCurrentPage(activePage.name); + // } + // }, [router]); + + return ( + + ( +
+ {currentPage || "Select Page"} +
+ +
+
+ )} + item={(singleItem) => ( + + +
{ + setCurrentPage(singleItem.name); + }} + > + {singleItem.name} +
+
+ + )} + /> +
+ ); +}; +export default OptionsDropdown; diff --git a/src/Views/Common/v2-OptionsDropdown/style.ts b/src/Views/Common/v2-OptionsDropdown/style.ts new file mode 100644 index 0000000..8cb8188 --- /dev/null +++ b/src/Views/Common/v2-OptionsDropdown/style.ts @@ -0,0 +1,52 @@ +import styled from "styled-components"; + +const OptionsDropdownStyles = styled.div` + width: fit-content; + + @media (max-width: 600px) { + margin-top: 1.6rem; + } + .option-dropdown { + padding: 0.5rem; + padding-left: 1.5rem; + background: var(--primary); + /* max-width: 17rem; */ + gap: 1rem; + border-radius: 1.2rem; + font-size: 1.4rem; + font-weight: 500; + white-space: nowrap; + width: fit-content; + } + .dropdown-box { + .option-items { + width: 100%; + @media (max-width: 600px) { + left: 0%; + transform: translateX(0%); + } + } + } + .arrow { + color: var(--primary); + } + .arrow-bg { + background-color: var(--text-1); + border-radius: 1rem; + padding: 0.2rem 0.5rem; + } + .optionItem { + font-family: Relative Pro; + font-size: 1.3rem; + font-weight: 500; + text-transform: capitalize; + padding: 0.8rem 1.5rem; + color: var(--text-6); + :hover, + .activeButton { + background-color: var(--bg-14); + color: var(--text-1); + } + } +`; +export { OptionsDropdownStyles }; diff --git a/src/Views/Dashboard/BFRChart.tsx b/src/Views/Dashboard/BFRChart.tsx new file mode 100644 index 0000000..8f9a61b --- /dev/null +++ b/src/Views/Dashboard/BFRChart.tsx @@ -0,0 +1,82 @@ +import { PieChart, Pie, Cell, Tooltip } from 'recharts'; +import { useState } from 'react'; +import hexToRgba from 'hex-to-rgba'; + +export const Chart = ({ bfrDistributionData }) => { + const [bfrActiveIndex, setBFRActiveIndex] = useState(null); + + const onBFRDistributionChartEnter = (_, index) => { + setBFRActiveIndex(index); + }; + + const onBFRDistributionChartLeave = (_, index) => { + setBFRActiveIndex(null); + }; + + const CustomTooltip = ({ payload }) => { + if (payload && payload.length) { + return ( +
+
+ {payload[0].value}% {payload[0].name} +
+ ); + } + + return null; + }; + + return ( + + + {bfrDistributionData.map((entry, index) => ( + + ))} + + + Distribution + + + } + /> + + ); +}; diff --git a/src/Views/Dashboard/Cards/index.tsx b/src/Views/Dashboard/Cards/index.tsx new file mode 100644 index 0000000..8119cda --- /dev/null +++ b/src/Views/Dashboard/Cards/index.tsx @@ -0,0 +1,421 @@ +import { Skeleton } from '@mui/material'; +import BufferLogo from 'public/ComponentSVGS/bufferLogo'; +import { numberWithCommas } from '@Utils/display'; +import { toFixed } from '@Utils/NumString'; +import { divide, multiply } from '@Utils/NumString/stringArithmatics'; +import { getBalance } from '@Views/Common/AccountInfo'; +import NumberTooltip from '@Views/Common/Tooltips'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { Card } from '@Views/Earn/Components/Card'; +import { wrapperClasses } from '@Views/Earn/Components/EarnCards'; +import { + keyClasses, + underLineClass, + valueClasses, +} from '@Views/Earn/Components/VestCards'; +import { TableAligner } from '@Views/V2-Leaderboard/Components/TableAligner'; +import { IBFR, IBLP, IOverview, ITotalStats } from '../interface'; + +export const StatsOverView = ({ data }: { data: IOverview }) => { + if (!data) + return ; + return ( + + + , + //
+ // + //
, +
+ {data.usdc_pol ? ( + +
+ +
+
+ ) : ( + <>- + )} +
, + //
+ // {data.bfr_total !== '0' ? ( + // + //
+ // + //
+ //
+ // ) : ( + // <>- + // )} + //
, +
+ {' '} + +  /  + {' '} +
, + //
+ // {" "} + // + //  /  + // + //
, + ]} + /> + } + /> + ); +}; + +export const StatsTotalStats = ({ data }: { data: ITotalStats }) => { + if (!data) + return ; + return ( + + // {" "} + // + //  /  + // + // , +
+ +  /  + +
, +
{data.totalTraders}
, +
+ {' '} + +
, + ]} + /> + } + /> + ); +}; + +export const TokensBFR = ({ + data, + tokenName, +}: { + data: IBFR; + tokenName: string; +}) => { + if (!data) + return ; + // let bfrDistributionData = null; + // if (tokenName == "BFR") { + // data.circulatingSupply = 1e8 - x + // x = y - 1e8 + // const totalLiquidity = subtract((1e8).toString(), data.circulatingSupply); + // const notStaked = 1e8 - +totalLiquidity - +data.total_staked; + // bfrDistributionData = [ + // { + // name: `staked`, + // value: +data.total_staked, + // color: "#ADA4E1", + // }, + // { + // name: `in liquidity`, + // value: +totalLiquidity, + // color: "#A3E3FF", + // }, + // { + // name: `not staked`, + // value: notStaked, + // color: "#3772FF", + // }, + // ]; + // } + return ( + + // ) + // } + top={ +
+ +
+
{tokenName}
+
+
+ } + middle={ + + + Circulating Supply /  + + Circulating MC + , + 'Total Staked', + 'Tokens In Liquidity Pool', +
+ + Total Supply /  + + MC +
, + ]} + values={[ +
+ +
, +
+ {data.circulatingSupply ? ( + <> + {' '} + +
{getBalance(data.circulatingSupply, 'BFR')}
+
+  /  + +
+ $ + {getBalance(multiply(data.circulatingSupply, data.price))} +
+
+ + ) : ( + <>- + )} +
, +
+ + + +  of the circulating supply has been staked. + + + ) : ( + <> + ) + } + /> +
, +
+ {data.liquidity_pools_token ? ( + + ) : ( + <>- + )} +
, +
+ +
{getBalance(data.supply, tokenName)}
+
+  /  + +
${getBalance(multiply(data.supply, data.price))}
+
+
, + ]} + /> + } + /> + ); +}; + +export const TokensBLP = ({ + data, + tokenName, +}: { + data: IBLP; + tokenName: string; +}) => { + if (!data) + return ; + // let bfrDistributionData = null; + // if (tokenName == "BFR") { + // data.circulatingSupply = 1e8 - x + // x = y - 1e8 + // const totalLiquidity = subtract((1e8).toString(), data.circulatingSupply); + // const notStaked = 1e8 - +totalLiquidity - +data.total_staked; + // bfrDistributionData = [ + // { + // name: `staked`, + // value: +data.total_staked, + // color: "#ADA4E1", + // }, + // { + // name: `in liquidity`, + // value: +totalLiquidity, + // color: "#A3E3FF", + // }, + // { + // name: `not staked`, + // value: notStaked, + // color: "#3772FF", + // }, + // ]; + // } + return ( + + // ) + // } + top={ +
+ + + + + + + + + + + +
+
{tokenName}
+
+
+ } + middle={ + + + , +
+ +
, + +
+ +
, + +
+ +
, + ]} + /> + } + /> + ); +}; diff --git a/src/Views/Dashboard/Components/BufferSortTable.tsx b/src/Views/Dashboard/Components/BufferSortTable.tsx new file mode 100644 index 0000000..1bdd243 --- /dev/null +++ b/src/Views/Dashboard/Components/BufferSortTable.tsx @@ -0,0 +1,184 @@ +import { + Skeleton, + Table, + TableCell, + TableContainer, + TableHead, + TableRow, + TableSortLabel, + TableBody, +} from '@mui/material'; +import { ReactNode, useMemo, useState } from 'react'; +import { createArray } from '@Utils/JSUtils/createArray'; +import Background from '@Views/Common/BufferTable/style'; + +function descendingComparator(a: T, b: T, orderBy: keyof T) { + if (b[orderBy] < a[orderBy]) { + return -1; + } + if (b[orderBy] > a[orderBy]) { + return 1; + } + return 0; +} + +type Order = 'asc' | 'desc'; + +function getComparator( + order: Order, + orderBy: Key +): ( + a: { [key in Key]: number | string }, + b: { [key in Key]: number | string } +) => number { + return order === 'desc' + ? (a, b) => descendingComparator(a, b, orderBy) + : (a, b) => -descendingComparator(a, b, orderBy); +} + +interface HeadCell { + id: string; + label: string; +} + +export default function BufferSortTable({ + headerJSX, + bodyJSX, + loading, + isBodyTransparent = false, + shouldHideBody = false, + cols, + rows, + selectedIndex, + bluredIndexes, + onRowClick, + widths, + error, + data, + defaultSortId, + defaultOrder = 'asc', +}: { + data: any[]; + headerJSX: HeadCell[]; + bodyJSX: (row: number, col: number, sortedData: any[]) => React.ReactChild; + loading?: boolean; + isBodyTransparent?: boolean; + shouldHideBody?: boolean; + cols: number; + rows: number; + selectedIndex?: number; + bluredIndexes?: number[]; + onRowClick: (idx: number) => void; + widths?: string[]; + error?: ReactNode; + defaultSortId: string; + defaultOrder?: Order; +}) { + const [order, setOrder] = useState(defaultOrder); + const [orderBy, setOrderBy] = useState(defaultSortId); + const handleRequestSort = (property: string) => { + const isAsc = orderBy === property && order === 'asc'; + setOrder(isAsc ? 'desc' : 'asc'); + setOrderBy(property); + }; + const sortedData = useMemo( + () => data.sort(getComparator(order, orderBy)), + [data, order, orderBy] + ); + + let rowClass = ''; + let tableCellCls = 'table-cell'; + + return ( + + + + + + {headerJSX.map((headCell) => ( + + handleRequestSort(headCell.id)} + > + {headCell.label} + + + ))} + + + + {loading ? ( + + + + + + ) : shouldHideBody ? ( + <> + ) : rows ? ( + createArray(rows).map((row, rowIdx) => { + let rowClass = ''; + if (selectedIndex === rowIdx) { + rowClass = 'active'; + } else if ( + selectedIndex !== null && + selectedIndex !== undefined + ) { + rowClass = 'blured'; + } + if (bluredIndexes && bluredIndexes.length) { + for (let i of bluredIndexes) { + if (row === i) { + rowClass = 'blured'; + } + } + } + return ( + onRowClick(row)} + > + {createArray(cols).map((col, colIdx) => ( + + {bodyJSX(row, col, sortedData)} + + ))} + + ); + }) + ) : ( + + + {error} + + + )} + +
+
+
+ ); +} diff --git a/src/Views/Dashboard/Components/CurrentPriceComponent.tsx b/src/Views/Dashboard/Components/CurrentPriceComponent.tsx new file mode 100644 index 0000000..bd74289 --- /dev/null +++ b/src/Views/Dashboard/Components/CurrentPriceComponent.tsx @@ -0,0 +1,19 @@ +import { Display } from '@Views/Common/Tooltips/Display'; + +export const CurrentPriceComponent = ({ + currentPrice, + price_precision, +}: { + currentPrice: number; + price_precision: number; +}) => { + return ( +
+ {currentPrice ? ( + + ) : ( + <>fetching... + )} +
+ ); +}; diff --git a/src/Views/Dashboard/Components/DashboardTable.tsx b/src/Views/Dashboard/Components/DashboardTable.tsx new file mode 100644 index 0000000..f8f4e34 --- /dev/null +++ b/src/Views/Dashboard/Components/DashboardTable.tsx @@ -0,0 +1,123 @@ +import { Display } from '@Views/Common/Tooltips/Display'; +import { CellContent } from '@Views/Common/BufferTable/CellInfo'; +import { Stats } from '@Views/BinaryOptions/Components/BinaryInfo'; +import { OpenUpDownIndicator } from './OpenUpDownIndicator'; +import BufferSortTable from './BufferSortTable'; +import { UpTriangle } from 'public/ComponentSVGS/UpTriangle'; +import { DOwnTriangle } from 'public/ComponentSVGS/DownTriangle'; +import { CurrentPriceComponent } from './CurrentPriceComponent'; + +export const DashboardTable = ({ dashboardData }: { dashboardData: any[] }) => { + const headerJSX = [ + { id: 'pair', label: 'Pair' }, + { id: 'currentPrice', label: 'Current Price' }, + { id: 'openInterest', label: 'Open Interest' }, + { id: '24h_volume', label: '24h Volume' }, + { id: 'totalTrades', label: 'Open Up/Open Down' }, + { id: 'currentUtilization', label: 'Current Utilization' }, + { id: 'payoutForUp', label: 'Payouts' }, + ]; + + const bodyJSX = ( + row: number, + col: number, + sortedData: typeof dashboardData + ) => { + const currentRow = sortedData[row]; + switch (col) { + case 0: + return ( +
+ + <>{currentRow.pair} +
+ ); + case 1: + return ( + , + //
+ // + //
, + ]} + /> + ); + case 2: + return ( + + + , + ]} + /> + ); + case 3: + return ( + + + , + ]} + /> + ); + case 4: + return ( + + ); + case 5: + return ( + + + , + ]} + /> + ); + case 6: + return ( + + + + , +
+ + +
, + ]} + /> + ); + default: + return null; + } + }; + return ( + console.log(`idx: `, idx)} + widths={['14%', '14%', '14%', '14%', '20%', '14%', '10%']} + /> + ); +}; diff --git a/src/Views/Dashboard/Components/Markets.tsx b/src/Views/Dashboard/Components/Markets.tsx new file mode 100644 index 0000000..d73909f --- /dev/null +++ b/src/Views/Dashboard/Components/Markets.tsx @@ -0,0 +1,50 @@ +import { divide } from '@Utils/NumString/stringArithmatics'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { usdcDecimals } from '@Views/V2-Leaderboard/Incentivised'; +import { useDashboardTableData } from '../Hooks/useDashboardTableData'; +import { DashboardTable } from './DashboardTable'; + +export const Markets = () => { + const { dashboardData, totalData } = useDashboardTableData(); + + const totalDataArr = [ + { + key: 'Trading Volume', + value: totalData ? ( + + ) : ( + '-' + ), + }, + { + key: 'Open Interest', + value: totalData ? ( + + ) : ( + '-' + ), + }, + { + key: 'Total Trades', + value: totalData?.trades || '0', + }, + ]; + return ( +
+
+ {totalDataArr.map((item) => ( +
+
{item.key}
+
+ {item.value} +
+
+ ))} +
+ +
+ ); +}; diff --git a/src/Views/Dashboard/Components/OpenUpDownIndicator.tsx b/src/Views/Dashboard/Components/OpenUpDownIndicator.tsx new file mode 100644 index 0000000..08fab4f --- /dev/null +++ b/src/Views/Dashboard/Components/OpenUpDownIndicator.tsx @@ -0,0 +1,55 @@ +import styled from '@emotion/styled'; +import { DOwnTriangle } from 'public/ComponentSVGS/DownTriangle'; +import { UpTriangle } from 'public/ComponentSVGS/UpTriangle'; +import { useMemo } from 'react'; + +const OpenUpDownBackground = styled.div<{ + upPercent: number; + downPercent: number; +}>` + .up-bg { + background-color: #3fb68b; + width: ${(props) => props.upPercent}%; + } + .down-bg { + background-color: #f44336; + width: ${(props) => props.downPercent}%; + } +`; + +export function OpenUpDownIndicator({ + openDown, + openUp, +}: { + openUp: number; + openDown: number; +}) { + const total = useMemo(() => openDown + openUp, [openDown, openUp]); + const upPercent = useMemo( + () => (total === 0 ? 50 : (openUp / (openUp + openDown)) * 100), + [openDown, openUp, total] + ); + const downPercent = useMemo(() => 100 - upPercent, [upPercent]); + return ( + +
+ +
{openUp}
+
+
+
+
+
{openDown}
+ +
+
+ ); +} diff --git a/src/Views/Dashboard/Hooks/useDashBoardReadCalls.ts b/src/Views/Dashboard/Hooks/useDashBoardReadCalls.ts new file mode 100644 index 0000000..4f62a43 --- /dev/null +++ b/src/Views/Dashboard/Hooks/useDashBoardReadCalls.ts @@ -0,0 +1,388 @@ +import { useContext, useMemo } from 'react'; +import { CONTRACTS } from '@Views/Earn/Config/Address'; +import { CONTRACTS as DASHBOARDCONTRACTS } from '@Views/Dashboard/config/Addresses'; +import { DashboardContext } from '../dashboardAtom'; +import bfrAbi from '@Views/Earn/Config/Abis/BFR.json'; +import MarketConfig from 'public/config.json'; +import poolABI from '@Views/BinaryOptions/ABI/poolABI.json'; +import { ENV } from '@Views/BinaryOptions'; +import { erc20ABI, useContractReads } from 'wagmi'; +import * as chain from '@wagmi/core/chains'; + +import { convertBNtoString, useReadCall } from '@Utils/useReadCall'; +import { + BASIS_POINTS_DIVISOR, + fromWei, + SECONDS_PER_YEAR, + useIbfrPrice, +} from '@Views/Earn/Hooks/useTokenomicsMulticall'; +import { + add, + divide, + multiply, + subtract, +} from '@Utils/NumString/stringArithmatics'; +import { IBFR, IBLP, IOverview, ITotalStats } from '../interface'; +import BlpAbi from '@Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json'; +import { useDashboardGraphQl } from './useDashboardGraphQl'; +import useSWR from 'swr'; +import { multicallv2 } from '@Utils/Contract/multiContract'; +import { ethers } from 'ethers'; +import RewardTrackerAbi from '@Views/Earn/Config/Abis/RewardTracker.json'; +export const HolderContracts = [ + '0x01fdd6777d10dD72b8dD716AEE05cE67DD2b7D85', + '0x58b0F2445DfA2808eCB209B7f96EfBc584736b7D', + '0x63B045c2c53Eb7732341a96a496DF1Cf423E11bA', + '0x5558CD6480A63601EC780D8f40FD7cD97dea48a7', + '0x973Fe046eAE0b685F13A02eA2620CAc23C4Ca6AA', + '0x92f424a2A65efd48ea57b10D345f4B3f2460F8c8', + '0x1Ad98D5dC4d6f49B562f02482E8BeCB9ff166734', + '0xB529f885260321729D9fF1C69804c5Bf9B3a95A5', + '0xAaAc379C2Fc98F59bdf26BD4604d4F084310b23D', + '0x47ECF602a62BaF7d4e6b30FE3E8dD45BB8cfFadc', + '0x691FA1d4dc25f39a22Dc45Ca98080CF21Ca7eC64', + '0x97dcc5574B76b91008b684C58DfdF95fE39FA772', + '0x3A3DA6464bEe25a1d98526402a12241B0787b84C', + // "0x173817F33f1C09bCb0df436c2f327B9504d6e067", +]; +export const useDashboardReadCalls = () => { + const bfrPrice = useIbfrPrice(); + const { + BFRstats, + USDCstats, + totalTraders, + isGqlDataAvailable, + BFR24stats, + USDC24stats, + } = useDashboardGraphQl(); + const usd_decimals = 6; + + const { calls, mainnetData } = useDashboardCalls(); + + const { data } = useReadCall({ + contracts: calls, + }); + // convertBNtoString(data); + console.log(`data: `, data); + + let response: { + BFR: IBFR; + BLP: IBLP; + overView: IOverview; + total: ITotalStats; + } = { + BFR: null, + BLP: null, + overView: null, + total: null, + }; + if (data && data.length > 1) { + let [ + totalStakedBFR, + totalSupplyBFR, + blpTotalBalance, + blpSupply, + blpInitialRate, + totalStakedBLP, + totalSupplyBLP, + amountUSDCpool, + amountBFRpool, + feeBlpTrackerTokensPerInterval, + stakedBlpTrackerTokensPerInterval, + USDCvaultPOL, + BFRvaultPOL, + ]: any[] = data; + + const blpPrice = + blpSupply > 0 + ? divide(blpTotalBalance, blpSupply) + : divide('1', blpInitialRate); + + const totalUSDCstaked = multiply( + fromWei(totalStakedBLP, usd_decimals), + blpPrice + ); + + const feeBlpTrackerAnnualRewardsUsd = fromWei( + multiply(feeBlpTrackerTokensPerInterval, SECONDS_PER_YEAR), + usd_decimals + ); + const blpAprForRewardToken = + blpSupply > 0 + ? divide( + multiply(feeBlpTrackerAnnualRewardsUsd, BASIS_POINTS_DIVISOR), + fromWei(multiply(blpSupply, blpPrice), usd_decimals) + ) + : '0'; + const stakedBlpTrackerAnnualRewardsUsd = fromWei( + multiply( + multiply(stakedBlpTrackerTokensPerInterval, SECONDS_PER_YEAR), + bfrPrice + ) + ); + const blpAprForEsBfr = + blpSupply > 0 + ? divide( + multiply(stakedBlpTrackerAnnualRewardsUsd, BASIS_POINTS_DIVISOR), + fromWei(multiply(blpSupply, blpPrice), usd_decimals) + ) + : '0'; + const blpAprTotal = add(blpAprForRewardToken, blpAprForEsBfr); + + response = { + overView: null, + total: null, + BFR: { + price: bfrPrice, + supply: fromWei(totalSupplyBFR), + total_staked: fromWei(totalStakedBFR), + market_cap: multiply(bfrPrice, fromWei(totalSupplyBFR)), + circulatingSupply: mainnetData?.circulatingSupply + ? '' + mainnetData.circulatingSupply + : null, + liquidity_pools_token: mainnetData?.lpTokens, + }, + BLP: { + price: blpPrice, + supply: fromWei(totalSupplyBLP, usd_decimals), + total_staked: totalUSDCstaked, + market_cap: multiply(blpPrice, fromWei(totalSupplyBLP, usd_decimals)), + apr: fromWei(blpAprTotal, 2), + total_usdc: fromWei(amountUSDCpool, usd_decimals), + }, + }; + + if (isGqlDataAvailable) { + const isUSDCnull = !USDCstats; + const isBFRnull = !BFRstats; + const usdcVolume = isUSDCnull + ? '0' + : fromWei(USDCstats.totalVolume, usd_decimals); + const bfrVolume = isBFRnull ? '0' : fromWei(BFRstats.totalVolume); + const totalVolume = add(usdcVolume, bfrVolume); + const totalTrades = isUSDCnull + ? '0' + : ( + (USDCstats.totalTrades || 0) + (BFRstats?.totalTrades || 0) + ).toString(); + + const avgTrade = divide(totalVolume, totalTrades); + + response = { + ...response, + total: { + USDCfees: isUSDCnull + ? '0' + : fromWei(USDCstats.totalSettlementFees, usd_decimals), + BFRfees: isBFRnull ? '0' : fromWei(BFRstats.totalSettlementFees), + USDCvolume: usdcVolume, + BFRvolume: bfrVolume, + avgTrade: avgTrade, + totalTraders: totalTraders[0]?.uniqueCountCumulative || 0, + }, + overView: { + price: blpPrice, + bfr_pol: BFRvaultPOL ? fromWei(BFRvaultPOL) : null, + usdc_pol: USDCvaultPOL ? fromWei(USDCvaultPOL, usd_decimals) : null, + bfr_total: fromWei(amountBFRpool), + usdc_total: fromWei(amountUSDCpool, usd_decimals), + usdc_vault: fromWei(amountUSDCpool, usd_decimals), + bfr_vault: multiply(fromWei(amountBFRpool), bfrPrice), + usdc_24_fees: USDC24stats + ? fromWei(USDC24stats.settlementFee, usd_decimals) + : '0', + usdc_24_volume: USDC24stats + ? fromWei(USDC24stats.amount, usd_decimals) + : '0', + bfr_24_fees: BFR24stats ? fromWei(BFR24stats.settlementFee) : '0', + bfr_24_volume: BFR24stats ? fromWei(BFR24stats.amount) : '0', + }, + }; + } + } + + return response; +}; + +const useDashboardCalls = () => { + const { activeChain } = useContext(DashboardContext); + const earnContracts = CONTRACTS[activeChain?.id]; + const earnMainnetContracts = CONTRACTS[chain.arbitrum.id]; + const dashboardContracts: (typeof DASHBOARDCONTRACTS)[42161] = + DASHBOARDCONTRACTS[activeChain?.id]; + const binaryContracts = MarketConfig[ENV]; + + const getCalls = () => { + const calls = { + totalStakedBFR: { + address: earnContracts.iBFR, + abi: bfrAbi, + name: 'balanceOf', + params: [earnContracts.StakedBfrTracker], + chainID: activeChain?.id, + }, + totalSupplyBFR: { + address: earnContracts.iBFR, + abi: bfrAbi, + name: 'totalSupply', + chainID: activeChain?.id, + }, + blpTotalBalance: { + address: earnContracts.BLP, + abi: BlpAbi, + name: 'totalTokenXBalance', + chainID: activeChain?.id, + }, + blpSupply: { + address: earnContracts.BLP, + abi: bfrAbi, + name: 'totalSupply', + chainID: activeChain?.id, + }, + blpInitialRate: { + address: earnContracts.BLP, + abi: BlpAbi, + name: 'INITIAL_RATE', + chainID: activeChain?.id, + }, + totalStakedBLP: { + address: earnContracts.BLP, + abi: bfrAbi, + name: 'balanceOf', + params: [earnContracts.FeeBlpTracker], + }, + totalSupplyBLP: { + address: earnContracts.BLP, + abi: bfrAbi, + name: 'totalSupply', + chainID: activeChain?.id, + }, + amountUSDCpool: { + address: binaryContracts.tokens['USDC'].address, + abi: bfrAbi, + name: 'balanceOf', + params: [binaryContracts.tokens['USDC'].pool_address], + chainID: activeChain?.id, + }, + amountBFRpool: { + address: binaryContracts.tokens['BFR'].address, + abi: bfrAbi, + name: 'balanceOf', + params: [binaryContracts.tokens['BFR'].pool_address], + chainID: activeChain?.id, + }, + feeBlpTrackerTokensPerInterval: { + address: earnContracts.FeeBlpTracker, + abi: RewardTrackerAbi, + name: 'tokensPerInterval', + chainID: activeChain?.id, + }, + stakedBlpTrackerTokensPerInterval: { + address: earnContracts.StakedBlpTracker, + abi: RewardTrackerAbi, + name: 'tokensPerInterval', + chainID: activeChain?.id, + }, + + USDCvaultPOL: { + address: earnContracts.StakedBlpTracker, + abi: RewardTrackerAbi, + name: 'depositBalances', + params: [ + dashboardContracts.usdcLiquidityAddress, + earnContracts.FeeBlpTracker, + ], + chainID: activeChain?.id, + }, + BFRvaultPOL: { + address: binaryContracts.tokens['BFR'].pool_address, + abi: poolABI, + name: 'shareOf', + params: [dashboardContracts.bfrLiquidityAddress], + chainID: activeChain?.id, + }, + }; + return Object.keys(calls).map(function (key) { + return calls[key]; + }); + }; + + const calls = useMemo( + () => getCalls(), + [activeChain, earnContracts, binaryContracts, dashboardContracts] + ); + + //Fetches BFR circultaing supply + const { data: mainnetData, error: cirError } = useSWR('circulatingSupply', { + fetcher: async () => { + const lpTokensCalls = [ + { + address: earnMainnetContracts.iBFR, + abi: erc20ABI, + name: 'balanceOf', + params: [dashboardContracts.uniswap], + }, + { + address: earnMainnetContracts.iBFR, + abi: erc20ABI, + name: 'balanceOf', + params: [dashboardContracts.xcal], + }, + { + address: earnMainnetContracts.iBFR, + abi: erc20ABI, + name: 'balanceOf', + params: [dashboardContracts.camelot], + }, + { + address: earnMainnetContracts.iBFR, + abi: erc20ABI, + name: 'balanceOf', + params: [dashboardContracts.JLPPoolAddress], + }, + { + address: earnMainnetContracts.iBFR, + abi: erc20ABI, + name: 'balanceOf', + params: [dashboardContracts.LBTPoolAddress], + }, + ]; + const calls = HolderContracts.map((c) => { + return { + address: '0x1A5B0aaF478bf1FDA7b934c76E7692D722982a6D', + abi: erc20ABI, + name: 'balanceOf', + params: [c], + }; + }); + const contracts = [...calls, ...lpTokensCalls]; + + const multicallRes = await multicallv2( + contracts, + new ethers.providers.JsonRpcProvider('https://arb1.arbitrum.io/rpc') + ); + const lpTokensCallLength = lpTokensCalls.length; + const formattedRes = multicallRes.slice(0, -lpTokensCallLength); + + const sum = formattedRes.reduce((t: string, num: string) => { + return add(t, fromWei(num) || '0'); + }, '0'); + + const lpTokens = multicallRes + .slice(-lpTokensCallLength) + .reduce((t: string, num: string) => { + return add(t, fromWei(num) || '0'); + }, '0'); + // console.log(`lpTokens: `, sum, lpTokens); + + return { + circulatingSupply: subtract('100000000', sum), + lpTokens, + }; + }, + refreshInterval: 10000, + }); + console.log(`mainnetData: `, mainnetData); + + return { calls, mainnetData }; +}; diff --git a/src/Views/Dashboard/Hooks/useDashboardGraphQl.ts b/src/Views/Dashboard/Hooks/useDashboardGraphQl.ts new file mode 100644 index 0000000..aabcebb --- /dev/null +++ b/src/Views/Dashboard/Hooks/useDashboardGraphQl.ts @@ -0,0 +1,114 @@ +import axios from 'axios'; +import { baseGraphqlUrl } from 'config'; +import { useMemo } from 'react'; +import useSWR from 'swr'; +import { add } from '@Utils/NumString/stringArithmatics'; +const prevDayEpoch = Math.floor((Date.now() - 24*60*60*1000) / 1000); +console.log(`prevDayEpoch: `,prevDayEpoch); + +export const useDashboardGraphQl = () => { + const { data } = useSWR('history-thegraph', { + fetcher: async () => { +const prevDayEpoch = Math.floor((Date.now() - 24*60*60*1000) / 1000); + + const response = await axios.post(baseGraphqlUrl, { + query: `{ + USDCstats:dashboardStat (id : "USDC") { + totalSettlementFees + totalTrades + totalVolume + } + BFRstats:dashboardStat (id : "BFR") { + totalSettlementFees + totalTrades + totalVolume + } + totalTraders:userStats(where: {period: total}) { + uniqueCountCumulative + } + USDC24stats:volumePerContracts( + orderBy: timestamp + orderDirection: desc + where: {depositToken: "USDC", timestamp_gt: ${prevDayEpoch}} + ) { + amount + settlementFee + } + BFR24stats:volumePerContracts( + orderBy: timestamp + orderDirection: desc + where: {depositToken: "BFR", timestamp_gt: ${prevDayEpoch}} + ) { + amount + settlementFee + } + }`, + }); + return response.data?.data as { + USDCstats: { + totalSettlementFees: string; + totalVolume: string; + totalTrades: number; + }; + BFRstats: { + totalSettlementFees: string; + totalVolume: string; + totalTrades: number; + }; + totalTraders: [{ uniqueCountCumulative: number }]; + USDC24stats: { + amount: string; + settlementFee: string; + }[]; + BFR24stats: { + amount: string; + settlementFee: string; + }[]; + }; + }, + refreshInterval: 300, + }); + + const USDC24hrsStats = useMemo(() => { + if (data?.USDC24stats) { + return { + ...data.USDC24stats.reduce( + (acc, curr) => { + return { + amount: add(acc.amount, curr.amount), + settlementFee: add(acc.settlementFee, curr.settlementFee), + }; + }, + { amount: '0', settlementFee: '0' } + ), + }; + } + return null; + }, [data?.USDC24stats]); + + const BFR24hrsStats = useMemo(() => { + if (data?.BFR24stats) { + return { + ...data.BFR24stats.reduce( + (acc, curr) => { + return { + amount: add(acc.amount, curr.amount), + settlementFee: add(acc.settlementFee, curr.settlementFee), + }; + }, + { amount: '0', settlementFee: '0' } + ), + }; + } + return null; + }, [data?.BFR24stats]); + + return { + USDCstats: data?.USDCstats, + BFRstats: data?.BFRstats, + totalTraders: data?.totalTraders, + USDC24stats: USDC24hrsStats, + BFR24stats: BFR24hrsStats, + isGqlDataAvailable: data ? true : false, + }; +}; diff --git a/src/Views/Dashboard/Hooks/useDashboardTableData.ts b/src/Views/Dashboard/Hooks/useDashboardTableData.ts new file mode 100644 index 0000000..fb10130 --- /dev/null +++ b/src/Views/Dashboard/Hooks/useDashboardTableData.ts @@ -0,0 +1,149 @@ +import axios from 'axios'; +import { baseGraphqlUrl } from 'config'; +import { useMemo } from 'react'; +import useSWR from 'swr'; +import { add } from '@Utils/NumString/stringArithmatics'; +import MarketConfig from 'public/config.json'; +import { ENV } from '@Views/BinaryOptions/index'; +import { fromWei } from '@Views/Earn/Hooks/useTokenomicsMulticall'; +import { usdcDecimals } from '@Views/V2-Leaderboard/Incentivised'; + +function getHourBefore24Hours() { + const date = new Date(); + date.setHours(date.getHours() - 24); + return Math.floor(date.getTime() / (1000 * 3600)); +} + +export const useDashboardTableData = () => { + const { data: currentPrices } = useSWR('dashboard-current-prices', { + fetcher: async () => { + const response = await axios.get( + `https://oracle.buffer.finance/price/latest/` + ); + + return response.data?.data; + }, + // refreshInterval: 300, + }); + + const { data } = useSWR('dashboard-table-data', { + fetcher: async () => { + const response = await axios.post(baseGraphqlUrl, { + query: `{ + optionContracts (where: {token: "USDC"}) { + address + openDown + openUp + currentUtilization + openInterest + payoutForDown + payoutForUp + volume + tradeCount + } + volumePerContracts(where: {depositToken: "USDC", id_gte: "${getHourBefore24Hours()}"}) { + optionContract { + address + } + amount + } + }`, + }); + return response.data?.data as { + optionContracts: { + address: string; + openDown: number; + openUp: number; + currentUtilization: string; + openInterest: string; + payoutForDown: string; + payoutForUp: string; + volume: string; + tradeCount: number; + }[]; + volumePerContracts: { + optionContract: { + address: string; + }; + amount: string; + }[]; + }; + }, + refreshInterval: 300, + }); + + const oneDayVolume = useMemo(() => { + if (!data || !data.volumePerContracts) return []; + + return data.volumePerContracts.reduce((acc, item) => { + const address = item.optionContract.address.toLowerCase(); + if (acc[address]) { + acc[address] = add(acc[address], item.amount); + } else { + acc[address] = item.amount; + } + return acc; + }, {}); + }, [data]); + + + const dashboardData = useMemo(() => { + if (!data || !data.optionContracts) return []; + const upatedData = []; + data.optionContracts.forEach((item) => { + const configPair = MarketConfig[ENV].pairs.find((pair) => { + let pool; + pool = pair.pools.find( + (pool) => + pool.options_contracts.current.toLocaleLowerCase() === + item.address.toLowerCase() + ); + return !!pool; + }); + if (!configPair) return; + const currData = { + ...item, + pair: configPair?.pair, + img: configPair?.img, + currentPrice: currentPrices?.[configPair.tv_id]?.p, + '24h_change': currentPrices?.[configPair.tv_id]?.['24h_change'], + openInterest: Number(fromWei(item.openInterest, usdcDecimals)), + precision: configPair?.price_precision, + totalTrades: item.openDown + item.openUp, + '24h_volume': + Number( + fromWei(oneDayVolume?.[item.address.toLowerCase()], usdcDecimals) + ) || '0', + currentUtilization: Number(fromWei(item.currentUtilization, 16)), + payoutForDown: Number(fromWei(item.payoutForDown, 16)), + payoutForUp: Number(fromWei(item.payoutForUp, 16)), + // currentPrice: currentPrice?.p, + }; + upatedData.push(currData); + }); + return upatedData; + }, [data, currentPrices]); + + const totalData = useMemo(() => { + if (!dashboardData) return null; + return { + ...dashboardData.reduce( + (acc, item) => { + return { + trades: acc.trades + item.tradeCount, + volume: add(acc.volume, item.volume), + openInterest: acc.openInterest + item.openInterest, + }; + }, + { + trades: 0, + volume: '0', + openInterest: 0, + } + ), + }; + }, [dashboardData]); + + + return { dashboardData, totalData }; +}; diff --git a/src/Views/Dashboard/config/Addresses.ts b/src/Views/Dashboard/config/Addresses.ts new file mode 100644 index 0000000..b9fc03e --- /dev/null +++ b/src/Views/Dashboard/config/Addresses.ts @@ -0,0 +1,32 @@ +export const CONTRACTS = { + 421613: { + uniswap: '0xB529f885260321729D9fF1C69804c5Bf9B3a95A5', + xcal: '0xAaAc379C2Fc98F59bdf26BD4604d4F084310b23D', + camelot: '0x47ECF602a62BaF7d4e6b30FE3E8dD45BB8cfFadc', + usdcLiquidityAddress: '0xFbEA9559AE33214a080c03c68EcF1D3AF0f58A7D', + bfrLiquidityAddress: '0xFbEA9559AE33214a080c03c68EcF1D3AF0f58A7D', + JLPPoolAddress: '0x97dcc5574B76b91008b684C58DfdF95fE39FA772', + LBTPoolAddress: '0x3A3DA6464bEe25a1d98526402a12241B0787b84C', + }, + 42161: { + uniswap: '0xB529f885260321729D9fF1C69804c5Bf9B3a95A5', + xcal: '0xAaAc379C2Fc98F59bdf26BD4604d4F084310b23D', + camelot: '0x47ECF602a62BaF7d4e6b30FE3E8dD45BB8cfFadc', + usdcLiquidityAddress: '0xfa1e2dd94d6665bb964192debac09c16242f8a48', + bfrLiquidityAddress: '0xfa1e2dd94d6665bb964192debac09c16242f8a48', + JLPPoolAddress: '0x97dcc5574B76b91008b684C58DfdF95fE39FA772', + LBTPoolAddress: '0x3A3DA6464bEe25a1d98526402a12241B0787b84C', + }, +}; +type ContractName = keyof (typeof CONTRACTS)[421613]; +type ChainId = keyof typeof CONTRACTS; + +export function getContract(chainId: ChainId, name: ContractName) { + if (!CONTRACTS[chainId]) { + throw null; + } + if (!CONTRACTS[chainId][name]) { + throw null; + } + return CONTRACTS[chainId][name]; +} diff --git a/src/Views/Dashboard/dashboardAtom.ts b/src/Views/Dashboard/dashboardAtom.ts new file mode 100644 index 0000000..87a8ef1 --- /dev/null +++ b/src/Views/Dashboard/dashboardAtom.ts @@ -0,0 +1,8 @@ +import React from 'react'; +import { Chain } from 'wagmi'; + +export const DashboardContext = React.createContext<{ + activeChain: Chain; +} | null>(null); + +export const DashboardContextProvider = DashboardContext.Provider; diff --git a/src/Views/Dashboard/index.tsx b/src/Views/Dashboard/index.tsx new file mode 100644 index 0000000..5e3c2d0 --- /dev/null +++ b/src/Views/Dashboard/index.tsx @@ -0,0 +1,94 @@ +import Drawer from '@Views/Common/V2-Drawer'; +import { Section } from '@Views/Earn/Components/Section'; +import { StatsOverView, StatsTotalStats, TokensBFR, TokensBLP } from './Cards'; +import { Markets } from './Components/Markets'; +import { DashboardContextProvider } from './dashboardAtom'; +import { useDashboardReadCalls } from './Hooks/useDashBoardReadCalls'; +import styled from '@emotion/styled'; +import { useActiveChain } from '@Hooks/useActiveChain'; +import { useEffect } from 'react'; + +const DashboardStyles = styled.div` + width: min(1200px, 100%); + margin: auto; + height: 100%; + padding-bottom: 24px; + + .stats-label { + font-size: 1.4rem; + line-height: 1.6rem; + border-radius: 0.4rem; + padding: 1.05rem; + letter-spacing: 0.4px; + text-align: left; + z-index: 1; + background: linear-gradient(90deg, #0b0b0f 0%, rgba(10, 13, 28, 1) 100%); + cursor: pointer; + } + + .stats-label-color { + width: 0.4rem; + height: 100%; + margin-right: 1.5rem; + } +`; + +const topStyles = 'mx-3 text-f22'; +const descStyles = 'mx-3'; + +export const Dashboard = () => { + const { activeChain } = useActiveChain(); + useEffect(()=>{ + document.title = "Buffer | Dashboard" + },[]) + return ( + +
+ {/* */} + +
+ + <> + +
+ ); +}; + +const DashboardPage = () => { + const { BFR, BLP, overView, total } = useDashboardReadCalls(); + return ( + +
Stats} + subHeading={
Arbitrum Total Stats (since 30th Jan, 2023)
} + Cards={[ + , + , + ]} + />{' '} +
Tokens} + subHeading={ +
Platform and BLP index tokens
+ } + Cards={[ + , + , + ]} + /> +
Markets} + subHeading={ +
+ Discover new Pairs available on Buffer (Stats since 30th Jan, 2023) +
+ } + other={ +
+ +
+ } + /> + + ); +}; diff --git a/src/Views/Dashboard/interface.ts b/src/Views/Dashboard/interface.ts new file mode 100644 index 0000000..ae20f84 --- /dev/null +++ b/src/Views/Dashboard/interface.ts @@ -0,0 +1,36 @@ +export interface IBFR { + price: string; + supply: string; + total_staked: string; + market_cap: string; + circulatingSupply?: string; + liquidity_pools_token: string; +} + +export interface IBLP + extends Omit { + apr: string; + total_usdc: string; +} +export interface IOverview { + price: string; + usdc_vault: string; + bfr_vault: string; + bfr_pol: string; + usdc_pol: string; + bfr_total: string; + usdc_total: string; + usdc_24_volume: string; + bfr_24_volume: string; + usdc_24_fees: string; + bfr_24_fees: string; +} + +export interface ITotalStats { + USDCfees: string; + USDCvolume: string; + BFRfees: string; + BFRvolume: string; + totalTraders: number; + avgTrade: string; +} diff --git a/src/Views/Earn/Components/Card.tsx b/src/Views/Earn/Components/Card.tsx new file mode 100644 index 0000000..0ed3a7e --- /dev/null +++ b/src/Views/Earn/Components/Card.tsx @@ -0,0 +1,38 @@ +import { Divider } from './Divider'; + +export function Card({ + top, + bottom, + middle, + right, +}: { + top: any; + bottom?: any; + middle: any; + right?: any; +}) { + return ( +
+
+
+
+
{top}
+ + {middle} +
+ +
+ {bottom && ( + <> + + {bottom} + + )} +
+
+ + {right &&
{right}
} +
+
+ ); +} diff --git a/src/Views/Earn/Components/Divider.tsx b/src/Views/Earn/Components/Divider.tsx new file mode 100644 index 0000000..9cb1c57 --- /dev/null +++ b/src/Views/Earn/Components/Divider.tsx @@ -0,0 +1,3 @@ +export function Divider({ className }: { className?: string }) { + return
; +} diff --git a/src/Views/Earn/Components/EarnButtons.tsx b/src/Views/Earn/Components/EarnButtons.tsx new file mode 100644 index 0000000..bf3049d --- /dev/null +++ b/src/Views/Earn/Components/EarnButtons.tsx @@ -0,0 +1,219 @@ +import { useToast } from '@Contexts/Toast'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import useOpenConnectionDrawer from '@Hooks/Utilities/useOpenConnectionDrawer'; +import { useAtom } from 'jotai'; +import { useContext } from 'react'; +import { gt } from '@Utils/NumString/stringArithmatics'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import { useNetwork } from 'wagmi'; +import { EarnContext } from '..'; +import { CONTRACTS } from '../Config/Address'; +import { earnAtom, readEarnData } from '../earnAtom'; +import { useEarnWriteCalls } from '../Hooks/useEarnWriteCalls'; +export const btnClasses = '!w-fit px-4 rounded-sm !h-7'; + +import { useConnectModal} from '@rainbow-me/rainbowkit' +export function EarnButtons({ cardNum }) { + const { address: account } = useUserAccount(); + const [state, setPageState] = useAtom(earnAtom); + const { activeChain } = useContext(EarnContext); + const [pageState] = useAtom(readEarnData); + const { openConnectModal } = useConnectModal(); + + const { chain } = useNetwork(); + const { openWalletDrawer } = useOpenConnectionDrawer(); + const { withdraw } = useEarnWriteCalls( + 'Vester', + cardNum === 4 ? 'BFR' : 'BLP' + ); + const toastify = useToast(); + + const showToast = (msg = 'Not enough balance') => { + return toastify({ type: 'error', id: '007', msg }); + }; + + if (!account || activeChain.id !== chain?.id) + return ( + + Connect Wallet + + ); + switch (cardNum) { + case 0: + + case 3: + const wallet_value = + cardNum === 0 + ? pageState.earn.ibfr.user.wallet_balance.token_value + : pageState.earn.esBfr.user.wallet_balance.token_value; + const staked_value = + cardNum === 0 + ? pageState.earn.ibfr.user.staked.token_value + : pageState.earn.esBfr.user.staked.token_value; + return ( +
+ {cardNum === 0 && ( + + window.open( + 'https://app.uniswap.org/#/tokens/arbitrum/0x1a5b0aaf478bf1fda7b934c76e7692d722982a6d', + '_blank' + ) + } + className={btnClasses} + > + Buy BFR + + )} + + // wallet_value === "0" + // ? showToast(`Not Enough ${cardNum === 0 ? "BFR" : "esBFR"}.`) + // : + setPageState({ + ...state, + activeModal: cardNum === 3 ? 'esBFRstake' : 'iBFRstake', + isModalOpen: true, + }) + } + className={btnClasses} + > + Stake + + + // staked_value === "0" + // ? showToast( + // `You have not staked any ${ + // cardNum === 0 ? "BFR" : "esBFR" + // }.` + // ) + // : + setPageState({ + ...state, + activeModal: cardNum === 3 ? 'esBFRunstake' : 'iBFRunstake', + isModalOpen: true, + }) + } + className={btnClasses} + > + Unstake + +
+ ); + case 1: + const isRewardAvailable = gt(pageState.earn.total_rewards.total, '0'); + return ( +
+ + // isRewardAvailable + // ? + setPageState({ + ...state, + activeModal: 'compound', + isModalOpen: true, + }) + // : + // showToast("You don't have any rewards yet.") + } + className={btnClasses} + > + Compound + + + // isRewardAvailable + // ? + setPageState({ + ...state, + activeModal: 'claim', + isModalOpen: true, + }) + // : showToast("You don't have any rewards yet.") + } + className={btnClasses} + > + Claim + +
+ ); + case 2: + return ( +
+ + // pageState.earn.usdc.wallet_balance === "0" + // ? showToast(`Not enough USDC.`) + // : + setPageState({ ...state, activeModal: 'buy', isModalOpen: true }) + } + className={btnClasses} + > + Add Funds + + + // pageState.earn.blp.user.staked.token_value === "0" + // ? showToast("You don't have any BLP.") + // : + setPageState({ ...state, activeModal: 'sell', isModalOpen: true }) + } + className={btnClasses} + > + Withdraw Funds + +
+ ); + case 4: + case 5: + const wallet_balance = + pageState.earn.esBfr.user.wallet_balance.token_value; + + const shouldWithdraw = + cardNum === 4 + ? pageState.vest.ibfr.vesting_status.vested !== '0' + : pageState.vest.blp.vesting_status.vested !== '0'; + return ( +
+ + // wallet_balance === "0" + // ? showToast(`Not enough esBFR.`) + // : + setPageState({ + ...state, + activeModal: cardNum === 4 ? 'iBFRdeposit' : 'BLPdeposit', + isModalOpen: true, + }) + } + className={btnClasses} + > + Deposit + + + shouldWithdraw + ? withdraw( + cardNum === 4 + ? CONTRACTS[activeChain?.id].BfrVester + : CONTRACTS[activeChain?.id].BlpVester + ) + : showToast('You have not deposited any tokens.') + } + className={btnClasses} + > + Withdraw + +
+ ); + default: + return ( + + Connect Wallet + + ); + } +} diff --git a/src/Views/Earn/Components/EarnCards.tsx b/src/Views/Earn/Components/EarnCards.tsx new file mode 100644 index 0000000..017313d --- /dev/null +++ b/src/Views/Earn/Components/EarnCards.tsx @@ -0,0 +1,629 @@ +import { Skeleton } from '@mui/material'; +import FrontArrow from 'src/SVG/frontArrow'; +import { getDHMSFromSeconds } from '@Utils/Dates/displayDateTime'; +import { divide, multiply } from '@Utils/NumString/stringArithmatics'; +import { BufferProgressBar } from '@Views/Common/BufferProgressBar.tsx'; +import NumberTooltip from '@Views/Common/Tooltips'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { TableAligner } from '@Views/V2-Leaderboard/Components/TableAligner'; +import { IBLP, IEarn, IiBFR, ITotalRewards } from '../earnAtom'; +import { Card } from './Card'; +import { Divider } from './Divider'; +import { EarnButtons } from './EarnButtons'; + +import { + keyClasses, + tooltipKeyClasses, + tooltipValueClasses, + underLineClass, + valueClasses, +} from './VestCards'; +import { roundToTwo } from '@Utils/roundOff'; +import { toFixed } from '@Utils/NumString'; + +export const wrapperClasses = 'flex justify-end flex-wrap'; + +export const getEarnCards = (data: IEarn) => { + if (!data?.earn) + return [0, 1, 2, 3].map((index) => ( + + )); + return [ + } + bottom={ +
+ +
+ } + />, + + + + } + middle={} + />, + + + USDC vault takes counterposition against each trade and collects + up to 70% of the settlement fee. USDC vault might face drawdowns + if traders are collectively net profitable.{' '} + + Read details here + + + + } + className="!py-3" + > + USDC Vault (BLP Token) + + +
+ Max Capacity :  + +
+
+ +
+ {/*
+ lightning{" "} + New Vault (Option trading will start in the the first week of + January.) +
*/} + + } + middle={} + bottom={ +
+ +
+ } + />, + } + bottom={ +
+ +
+ } + />, + ]; +}; + +const IBFRCard = ({ data }: { data: IiBFR }) => { + return ( + <> + + + , +
+ +   + + ( + + ) + +
, +
+ +   + + ( + + ) + +
, + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + + + // + // , +
+ + s.key)} + keyStyle={tooltipKeyClasses} + valueStyle={tooltipValueClasses} + values={data.apr.tooltip.map((s) => ( + + ))} + > +
+ {data.apr.description} +
+ + } + // unit={isBLPCard && unit} + /> +
, +
+ + ( +
+ + {s[1] ? ( + <> + ( + + ) + + ) : null} +
+ ))} + >
+ {/*
+ {data.apr.description} +
*/} + + } + /> +
, +
+ +
, +
+ +
, + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + + + +   + + ( + + ) + + , +
+ +   + + ( + + ) + +
, + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + + ); +}; + +const TotalRewards = ({ data }: { data: ITotalRewards }) => { + return ( + <> + + + , +
+ +   + + ( + + ) + +
, +
+ +   + + ( + + ) + +
, + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + + + + , +
+ +
, + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + {/* */} + + + , + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + {/* */} + + ); +}; + +const BLP = ({ data, unit }: { data: IBLP; unit: string }) => { + const isBLPCard = unit === 'BLP'; + return ( + <> + + {isBLPCard ? ( + +
+ +  =  + +
+
+ ) : ( + + )} + , +
+ +   + + ( + + ) + +
, +
+ +   + + ( + + ) + +
, + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + + + + s.key)} + keyStyle={tooltipKeyClasses} + valueStyle={tooltipValueClasses} + values={data.apr.tooltip.map((s) => ( + + ))} + > +
+ {data.apr.description} +
+ + } + // unit={unit === "BLP" && unit} + />{' '} + , + isBLPCard ? ( +
+ + ( +
+ + {s[1] ? ( + <> + ({' '} + + ) + + ) : null} +
+ ))} + >
+ {/*
+ {data.apr.description} +
*/} + + } + /> +
+ ) : ( +
+ +
+ ), + isBLPCard && getDHMSFromSeconds(Number(data.lockupPeriod)), + + isBLPCard && ( +
+ +
+ ), + + , + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + + + +   + + ( + + ) + + , +
+ +   + + ( + + ) + +
, + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + + ); +}; diff --git a/src/Views/Earn/Components/ExchangeIcon.tsx b/src/Views/Earn/Components/ExchangeIcon.tsx new file mode 100644 index 0000000..c5a9ae1 --- /dev/null +++ b/src/Views/Earn/Components/ExchangeIcon.tsx @@ -0,0 +1,7 @@ +import { ExpandMoreRounded } from '@mui/icons-material'; + +export const ExchangeIcon = ({ className = '' }) => ( +
+ +
+); diff --git a/src/Views/Earn/Components/Section.tsx b/src/Views/Earn/Components/Section.tsx new file mode 100644 index 0000000..31d4846 --- /dev/null +++ b/src/Views/Earn/Components/Section.tsx @@ -0,0 +1,27 @@ +export const Section = ({ + Heading, + subHeading, + Cards, + other, +}: { + Heading: JSX.Element; + subHeading: JSX.Element; + Cards?: JSX.Element[]; + other?: JSX.Element; +}) => { + return ( +
+
{Heading}
+
{subHeading}
+
+ {Cards && + Cards.map((card, index) => ( +
+ {card} +
+ ))} +
+ {other &&
{other}
} +
+ ); +}; diff --git a/src/Views/Earn/Components/VestCards.tsx b/src/Views/Earn/Components/VestCards.tsx new file mode 100644 index 0000000..2ed8ba8 --- /dev/null +++ b/src/Views/Earn/Components/VestCards.tsx @@ -0,0 +1,143 @@ +import { Skeleton } from '@mui/material'; +import NumberTooltip from '@Views/Common/Tooltips'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { TableAligner } from '@Views/V2-Leaderboard/Components/TableAligner'; +import { IEarn, IVestToken } from '../earnAtom'; +import { Card } from './Card'; +import { EarnButtons } from './EarnButtons'; + +export const keyClasses = '!text-f15 !text-2 !text-left !py-2 !pl-[0px]'; +export const valueClasses = '!text-f15 text-1 !text-right !py-2 !pr-[0px]'; +export const tooltipKeyClasses = '!text-f14 !text-2 !text-left !py-1 !pl-[0px]'; +export const tooltipValueClasses = + '!text-f14 text-1 !text-right !py-1 !pr-[0px]'; +export const underLineClass = + 'underline underline-offset-4 decoration decoration-[#ffffff30] w-fit ml-auto'; + +export const getVestCards = (data: IEarn) => { + if (!data.vest) + return [0, 1].map((index) => ( + + )); + return [ + } + bottom={ +
+ +
+ } + />, + } + bottom={ +
+ +
+ } + />, + ]; +}; + +const VestCard = ({ data, unit }: { data: IVestToken; unit: string }) => { + const isBLPCard = unit === 'BLP'; + return ( + + t.key)} + keyStyle={tooltipKeyClasses} + valueStyle={tooltipValueClasses} + values={data.staked_tokens.tooltip.map((s) => ( + + ))} + > + ) : null + } + unit={isBLPCard && unit} + /> + , +
+ +  /  + Helo there i am the custom content
} + data={data.reserved_for_vesting[1]} + /> + , + + +   + tokens have been converted to BFR from the + {' '} + deposited for vesting. + + } + > +
+ +  /  + +
+
, +
+ + {' '} + tokens can be claimed, use the options under the Total Rewards + section to claim them. +
+ } + /> + , + ]} + keyStyle={keyClasses} + valueStyle={valueClasses} + /> + ); +}; diff --git a/src/Views/Earn/Config/Abis/BFR.json b/src/Views/Earn/Config/Abis/BFR.json new file mode 100644 index 0000000..8ce74d5 --- /dev/null +++ b/src/Views/Earn/Config/Abis/BFR.json @@ -0,0 +1,686 @@ +[ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addNonStakingAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "admins", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gov", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "id", + "outputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "inPrivateTransferMode", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isHandler", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonStakingAccounts", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonStakingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "recoverClaim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeNonStakingAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gov", + "type": "address" + } + ], + "name": "setGov", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_handler", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isActive", + "type": "bool" + } + ], + "name": "setHandler", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_inPrivateTransferMode", + "type": "bool" + } + ], + "name": "setInPrivateTransferMode", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "setInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isActive", + "type": "bool" + } + ], + "name": "setMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_yieldTrackers", + "type": "address[]" + } + ], + "name": "setYieldTrackers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "stakedBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStaked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "yieldTrackers", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/src/Views/Earn/Config/Abis/BLP.json b/src/Views/Earn/Config/Abis/BLP.json new file mode 100644 index 0000000..3c0a14b --- /dev/null +++ b/src/Views/Earn/Config/Abis/BLP.json @@ -0,0 +1,1154 @@ +[ + { + "inputs": [ + { + "internalType": "contract ERC20", + "name": "_tokenX", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "InitiateWithdraw", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Loss", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "round", + "type": "uint256" + } + ], + "name": "PoolRollOver", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "ProcessWithdrawRequest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Profit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "writeAmount", + "type": "uint256" + } + ], + "name": "Provide", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + } + ], + "name": "UpdateExpiry", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "maxLiquidity", + "type": "uint256" + } + ], + "name": "UpdateMaxLiquidity", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "hasPoolEnded", + "type": "bool" + } + ], + "name": "UpdatePoolState", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "UpdateProjectOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "UpdateRevertTransfersInLockUpPeriod", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "writeAmount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [], + "name": "ACCURACY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INITIAL_RATE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "OPTION_ISSUER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PROJECT_OWNER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + } + ], + "name": "adminWithdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "availableBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "premium", + "type": "uint256" + } + ], + "name": "changeLock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "premium", + "type": "uint256" + } + ], + "name": "lock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lockedAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lockedLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "premium", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "locked", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lockedPremium", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "projectOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minMint", + "type": "uint256" + } + ], + "name": "provide", + "outputs": [ + { + "internalType": "uint256", + "name": "mint", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minMint", + "type": "uint256" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "provideForAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "mint", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + } + ], + "name": "send", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxLiquidity", + "type": "uint256" + } + ], + "name": "setMaxLiquidity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "setProjectOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "shareOf", + "outputs": [ + { + "internalType": "uint256", + "name": "share", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "toTokenX", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenX", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalTokenXBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "unlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "unlockWithoutProfit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "withdrawForAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "burn", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/src/Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json b/src/Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json new file mode 100644 index 0000000..3196962 --- /dev/null +++ b/src/Views/Earn/Config/Abis/BufferBinaryIBFRPoolBinaryV2.json @@ -0,0 +1,1193 @@ +[ + { + "inputs": [ + { + "internalType": "contract ERC20", + "name": "_tokenX", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "InitiateWithdraw", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Loss", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "round", + "type": "uint256" + } + ], + "name": "PoolRollOver", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "ProcessWithdrawRequest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Profit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "writeAmount", + "type": "uint256" + } + ], + "name": "Provide", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + } + ], + "name": "UpdateExpiry", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "maxLiquidity", + "type": "uint256" + } + ], + "name": "UpdateMaxLiquidity", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "hasPoolEnded", + "type": "bool" + } + ], + "name": "UpdatePoolState", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "UpdateProjectOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "UpdateRevertTransfersInLockUpPeriod", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "writeAmount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [], + "name": "ACCURACY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INITIAL_RATE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "OPTION_ISSUER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "availableBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getUnlockedLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "unlockedAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gov", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isHandler", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "liquidityPerUser", + "outputs": [ + { + "internalType": "uint256", + "name": "unlockedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nextIndexForUnlock", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "premium", + "type": "uint256" + } + ], + "name": "lock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lockedAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lockedLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "premium", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "locked", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lockedPremium", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lockupPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minMint", + "type": "uint256" + } + ], + "name": "provide", + "outputs": [ + { + "internalType": "uint256", + "name": "mint", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minMint", + "type": "uint256" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "provideForAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "mint", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + } + ], + "name": "send", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gov", + "type": "address" + } + ], + "name": "setGov", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_handler", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isActive", + "type": "bool" + } + ], + "name": "setHandler", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxLiquidity", + "type": "uint256" + } + ], + "name": "setMaxLiquidity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "shareOf", + "outputs": [ + { + "internalType": "uint256", + "name": "share", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "toTokenX", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenX", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalTokenXBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "unlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "unlockWithoutProfit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenXAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "withdrawForAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "burn", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/src/Views/Earn/Config/Abis/EsBFR.json b/src/Views/Earn/Config/Abis/EsBFR.json new file mode 100644 index 0000000..8ce74d5 --- /dev/null +++ b/src/Views/Earn/Config/Abis/EsBFR.json @@ -0,0 +1,686 @@ +[ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addNonStakingAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "admins", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gov", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "id", + "outputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "inPrivateTransferMode", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isHandler", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonStakingAccounts", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonStakingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "recoverClaim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeNonStakingAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gov", + "type": "address" + } + ], + "name": "setGov", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_handler", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isActive", + "type": "bool" + } + ], + "name": "setHandler", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_inPrivateTransferMode", + "type": "bool" + } + ], + "name": "setInPrivateTransferMode", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "setInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isActive", + "type": "bool" + } + ], + "name": "setMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_yieldTrackers", + "type": "address[]" + } + ], + "name": "setYieldTrackers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "stakedBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStaked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "yieldTrackers", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/src/Views/Earn/Config/Abis/RewardRouterV2.json b/src/Views/Earn/Config/Abis/RewardRouterV2.json new file mode 100644 index 0000000..4ba5817 --- /dev/null +++ b/src/Views/Earn/Config/Abis/RewardRouterV2.json @@ -0,0 +1,661 @@ +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "StakeBfr", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "StakeBlp", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "UnstakeBfr", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "UnstakeBlp", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + } + ], + "name": "acceptTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_accounts", + "type": "address[]" + } + ], + "name": "batchCompoundForAccounts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "batchStakeBfrForAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "bfr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bfrVester", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "blp", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "blpManager", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "blpVester", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bnBfr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bonusBfrTracker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "claimEsBfr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "claimFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "compound", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "compoundForAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "esBfr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeBfrTracker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeBlpTracker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gov", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_shouldClaimBfr", + "type": "bool" + }, + { + "internalType": "bool", + "name": "_shouldStakeBfr", + "type": "bool" + }, + { + "internalType": "bool", + "name": "_shouldClaimEsBfr", + "type": "bool" + }, + { + "internalType": "bool", + "name": "_shouldStakeEsBfr", + "type": "bool" + }, + { + "internalType": "bool", + "name": "_shouldStakeMultiplierPoints", + "type": "bool" + }, + { + "internalType": "bool", + "name": "_shouldClaimUsdc", + "type": "bool" + } + ], + "name": "handleRewards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_usdc", + "type": "address" + }, + { + "internalType": "address", + "name": "_bfr", + "type": "address" + }, + { + "internalType": "address", + "name": "_esBfr", + "type": "address" + }, + { + "internalType": "address", + "name": "_bnBfr", + "type": "address" + }, + { + "internalType": "address", + "name": "_blp", + "type": "address" + }, + { + "internalType": "address", + "name": "_stakedBfrTracker", + "type": "address" + }, + { + "internalType": "address", + "name": "_bonusBfrTracker", + "type": "address" + }, + { + "internalType": "address", + "name": "_feeBfrTracker", + "type": "address" + }, + { + "internalType": "address", + "name": "_feeBlpTracker", + "type": "address" + }, + { + "internalType": "address", + "name": "_stakedBlpTracker", + "type": "address" + }, + { + "internalType": "address", + "name": "_bfrVester", + "type": "address" + }, + { + "internalType": "address", + "name": "_blpVester", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minBlp", + "type": "uint256" + } + ], + "name": "mintAndStakeBlp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "pendingReceivers", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gov", + "type": "address" + } + ], + "name": "setGov", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "signalTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "stakeBfr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "stakeBfrForAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "stakeEsBfr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "stakedBfrTracker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "stakedBlpTracker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_blpAmount", + "type": "uint256" + } + ], + "name": "unstakeAndRedeemBlp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unstakeBfr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unstakeEsBfr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "usdc", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } +] \ No newline at end of file diff --git a/src/Views/Earn/Config/Abis/RewardTracker.json b/src/Views/Earn/Config/Abis/RewardTracker.json new file mode 100644 index 0000000..49f60bb --- /dev/null +++ b/src/Views/Earn/Config/Abis/RewardTracker.json @@ -0,0 +1,911 @@ +[ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "BASIS_POINTS_DIVISOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "averageStakedAmounts", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "claim", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "claimForAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "claimable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "claimableReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "cumulativeRewardPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "cumulativeRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "depositBalances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "distributor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gov", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "inPrivateClaimingMode", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "inPrivateStakingMode", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "inPrivateTransferMode", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_depositTokens", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_distributor", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isDepositToken", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isHandler", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "previousCumulatedRewardPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_depositToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isDepositToken", + "type": "bool" + } + ], + "name": "setDepositToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gov", + "type": "address" + } + ], + "name": "setGov", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_handler", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isActive", + "type": "bool" + } + ], + "name": "setHandler", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_inPrivateClaimingMode", + "type": "bool" + } + ], + "name": "setInPrivateClaimingMode", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_inPrivateStakingMode", + "type": "bool" + } + ], + "name": "setInPrivateStakingMode", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_inPrivateTransferMode", + "type": "bool" + } + ], + "name": "setInPrivateTransferMode", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_depositToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_fundingAccount", + "type": "address" + }, + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "address", + "name": "_depositToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "stakeForAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "stakedAmounts", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokensPerInterval", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalDepositSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_depositToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "address", + "name": "_depositToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "unstakeForAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "updateRewards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/src/Views/Earn/Config/Abis/Token.json b/src/Views/Earn/Config/Abis/Token.json new file mode 100644 index 0000000..8095efe --- /dev/null +++ b/src/Views/Earn/Config/Abis/Token.json @@ -0,0 +1,338 @@ +[ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/src/Views/Earn/Config/Abis/Vester.json b/src/Views/Earn/Config/Abis/Vester.json new file mode 100644 index 0000000..a68db57 --- /dev/null +++ b/src/Views/Earn/Config/Abis/Vester.json @@ -0,0 +1,1024 @@ +[ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_vestingDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_esToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_pairToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_claimableToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTracker", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "PairTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "claimedAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "bonusRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claim", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "claimForAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "claimable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimableToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "claimedAmounts", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "cumulativeClaimAmounts", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "cumulativeRewardDeductions", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "depositForAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "esToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "getCombinedAverageStakedAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "getMaxVestableAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_esAmount", + "type": "uint256" + } + ], + "name": "getPairAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "getTotalVested", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "getVestedAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gov", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasMaxVestableAmount", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasPairToken", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasRewardTracker", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isHandler", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "lastVestingTimes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "pairAmounts", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pairSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pairToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardTracker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "setBonusRewards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "setCumulativeRewardDeductions", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gov", + "type": "address" + } + ], + "name": "setGov", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_handler", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isActive", + "type": "bool" + } + ], + "name": "setHandler", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_hasMaxVestableAmount", + "type": "bool" + } + ], + "name": "setHasMaxVestableAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "setTransferredAverageStakedAmounts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "setTransferredCumulativeRewards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "transferStakeValues", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "transferredAverageStakedAmounts", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "transferredCumulativeRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vestingDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/src/Views/Earn/Config/Address.tsx b/src/Views/Earn/Config/Address.tsx new file mode 100644 index 0000000..a3d29da --- /dev/null +++ b/src/Views/Earn/Config/Address.tsx @@ -0,0 +1,46 @@ +export const CONTRACTS = { + 421613: { + RewardRouter: '0x2033f87A0956388C25Ce5A21F97EE78DD37c5D7f', + BLP: '0xb2685B520Eb93769755b0B2c96dca1D10459F378', + iBFR: '0x89fEF05446aEA764C53a2f09bB763876FB57ea8E', + ES_BFR: '0x92faca5302789730b427c04bc9A111b5733C054F', + BN_BFR: '0x8d3B227ebf5424f9b324908037bdD1db71F66521', + USDC: '0x49932a64C16E8369d73EA9342a97912Cb90e75C2', + StakedBfrTracker: '0xe243e72224b9E295551790b2C57638A27b8493af', + BonusBfrTracker: '0xd9497B39399149D7572A7D740487F6e016C5D37e', + FeeBfrTracker: '0x39bcb63F0F4427CB9A21D4c3D957Bd8695f67B6d', + StakedBlpTracker: '0x72423B589367b35024531Dd57172E56524c2233f', + FeeBlpTracker: '0x1B128C9456d29032429d69B5630A737D75D65eC0', + BfrVester: '0x961F8988962a2A62ae6a189C0Af576eea40A7912', + BlpVester: '0xA37089c619A27Ce0C70F5E6CE03fD8955a46098C', + StakedBfrDistributor: '0x1CBbff0d3928c35C1A41566e84AB1Efaa28f6770', + StakedBlpDistributor: '0xc0d7cde3632fBF84E8A6d7c79FC0948731EC91eb', + }, + 42161: { + RewardRouter: '0xbD5FBB3b2610d34434E316e1BABb9c3751567B67', + BLP: '0x6Ec7B10bF7331794adAaf235cb47a2A292cD9c7e', + iBFR: '0x1A5B0aaF478bf1FDA7b934c76E7692D722982a6D', + ES_BFR: '0x92914A456EbE5DB6A69905f029d6160CF51d3E6a', + BN_BFR: '0xD978595622184c6c64BF0ab7127f3728ca4F1E4a', + USDC: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8', + StakedBfrTracker: '0x173817F33f1C09bCb0df436c2f327B9504d6e067', + BonusBfrTracker: '0x00B88B6254B51C7b238c4675E6b601a696CC1aC8', + FeeBfrTracker: '0xBABF696008DDAde1e17D302b972376B8A7357698', + StakedBlpTracker: '0x7d1d610Fe82482412842e8110afF1cB72FA66bc8', + FeeBlpTracker: '0xCCFd47cCabbF058Fb5566CC31b552b21279bd89a', + BfrVester: '0x92f424a2A65efd48ea57b10D345f4B3f2460F8c8', + BlpVester: '0x22499C54cD0F38fE75B2805619Ac8d0e815e3DC7', + StakedBfrDistributor: '0x0f9a5Db56d0f895d1d18F0aD89002a14271F7162', + StakedBlpDistributor: '0xF3Af375AfCdcEA75F70ECfD6D477Ab1a76A33A01', + }, +}; + +export function getContract(chainId, name) { + if (!CONTRACTS[chainId]) { + throw new Error(`Unknown chainId ${chainId}`); + } + if (!CONTRACTS[chainId][name]) { + throw new Error(`Unknown contract "${name}" for chainId ${chainId}`); + } + return CONTRACTS[chainId][name]; +} diff --git a/src/Views/Earn/Hooks/useEarnWriteCalls.tsx b/src/Views/Earn/Hooks/useEarnWriteCalls.tsx new file mode 100644 index 0000000..e08c386 --- /dev/null +++ b/src/Views/Earn/Hooks/useEarnWriteCalls.tsx @@ -0,0 +1,143 @@ +import { useToast } from '@Contexts/Toast'; +import { useWriteCall } from '@Hooks/useWriteCall'; +import { multiply } from '@Utils/NumString/stringArithmatics'; +import EarnRouterABI from '../Config/Abis/RewardRouterV2.json'; +import VesterABI from '../Config/Abis/Vester.json'; +import { CONTRACTS } from '../Config/Address'; +import { useAtom } from 'jotai'; +import { writeEarnAtom } from '../earnAtom'; +import { toFixed } from '@Utils/NumString'; +import { useContext } from 'react'; +import { EarnContext } from '..'; + +export const useEarnWriteCalls = ( + contractType: 'Router' | 'Vester', + vesterType?: 'BLP' | 'BFR' +) => { + const { activeChain } = useContext(EarnContext); + const EarnRouterContract = CONTRACTS[activeChain?.id].RewardRouter; + const EarnVesterContract = + vesterType === 'BFR' + ? CONTRACTS[activeChain?.id].BfrVester + : CONTRACTS[activeChain?.id].BlpVester; + const routerContract = { contract: EarnRouterContract, abi: EarnRouterABI }; + const vesterContract = { contract: EarnVesterContract, abi: VesterABI }; + const contract = contractType === 'Router' ? routerContract : vesterContract; + const { writeCall } = useWriteCall(contract.contract, contract.abi); + const toastify = useToast(); + const [, setPageState] = useAtom(writeEarnAtom); + + function callBack(res) { + if (res.payload) + setPageState({ + isModalOpen: false, + activeModal: null, + }); + } + function validations(amount) { + if (!amount || amount === '0' || amount === '') { + toastify({ + type: 'error', + msg: 'Please enter a positive number.', + id: 'invalidNumber', + }); + return true; + } + } + function stakeUnstakeiBFR(amount: string, methodName: string) { + if (validations(amount)) return; + writeCall(callBack, methodName, [toFixed(multiply(amount, 18), 0)]); + } + + function buyBLP(amount: string) { + if (validations(amount)) return; + writeCall(callBack, 'mintAndStakeBlp', [ + toFixed(multiply(amount, 6), 0), + 0, + ]); + } + + function sellBLP(amount: string) { + if (validations(amount)) return; + writeCall(callBack, 'unstakeAndRedeemBlp', [ + toFixed(multiply(amount, 6), 0), + ]); + } + function deposit(amount: string, vesterContract: string) { + if (validations(amount)) return; + writeCall(callBack, 'deposit', [toFixed(multiply(amount, 18), 0)]); + } + + function withdraw(vesterContract: string) { + // if(validations(amount)) return; + writeCall(callBack, 'withdraw', []); + } + function compound( + shouldClaimiBFR, + shouldStakeiBFR, + shouldCLaimesBFR, + shouldStakeesBFR, + shouldStakeMultiplierPoints, + shouldClaimWeth + ) { + writeCall(callBack, 'handleRewards', [ + shouldClaimiBFR || shouldStakeiBFR, + shouldStakeiBFR, + shouldCLaimesBFR || shouldStakeesBFR, + shouldStakeesBFR, + shouldStakeMultiplierPoints, + shouldClaimWeth, + ]); + } + + function claim( + shouldClaimiBFR, + shouldCLaimesBFR, + shouldClaimWeth, + shouldConvertWeth + ) { + writeCall(callBack, 'handleRewards', [ + shouldClaimiBFR, + false, + shouldCLaimesBFR, + false, + false, + shouldClaimWeth, + // shouldConvertWeth, + ]); + } + + return { + stakeUnstakeiBFR, + buyBLP, + sellBLP, + deposit, + withdraw, + compound, + claim, + validations, + }; +}; + +export const useGetApprovalAmount = ( + abi: any[], + token_address: string, + spender_address: string + // user_amount?: string +) => { + const { writeCall } = useWriteCall(token_address, abi); + + async function approve(amount, cb: (newState) => void) { + cb(true); + writeCall( + (res) => { + cb(false); + }, + 'approve', + [spender_address, amount] + ); + } + + + return { approve }; +}; diff --git a/src/Views/Earn/Hooks/useTokenomicsMulticall.tsx b/src/Views/Earn/Hooks/useTokenomicsMulticall.tsx new file mode 100644 index 0000000..c5d3a35 --- /dev/null +++ b/src/Views/Earn/Hooks/useTokenomicsMulticall.tsx @@ -0,0 +1,1033 @@ +import bfrAbi from '../Config/Abis/BFR.json'; +import VesterAbi from '../Config/Abis/Vester.json'; +import RewardTrackerAbi from '../Config/Abis/RewardTracker.json'; +import BlpAbi from '../Config/Abis/BufferBinaryIBFRPoolBinaryV2.json'; +import TokenAbi from '../Config/Abis/Token.json'; +import { CONTRACTS } from '../Config/Address'; +import useSWR from 'swr'; +import axios from 'axios'; +import { convertBNtoString } from '@Utils/useReadCall'; +import { + add, + divide, + gt, + gte, + lt, + multiply, + subtract, +} from '@Utils/NumString/stringArithmatics'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { eToWide, toFixed } from '@Utils/NumString'; +import { useContractReads } from 'wagmi'; +import { EarnContext } from '..'; +import { useContext } from 'react'; +import { useUserAccount } from '@Hooks/useUserAccount'; + +export const BASIS_POINTS_DIVISOR = '10000'; +export const SECONDS_PER_YEAR = '31536000'; + +const ibfrPriceCache = { + cache: '0', +}; +export const useIbfrPrice = () => { + const getBothPrice = async () => { + const response = await axios.post( + 'https://api.thegraph.com/subgraphs/name/ianlapham/arbitrum-dev', + { + operationName: 'pools', + variables: {}, + query: + 'query pools {\n pools(\n where: {id_in: ["0xc31e54c7a869b9fcbecc14363cf510d1c41fa443", "0x17c14d2c404d167802b16c450d3c99f88f2c4f4d", "0xb529f885260321729d9ff1c69804c5bf9b3a95a5"]}\n ) {\n id\n token1Price\n }\n}\n', + } + ); + return multiply( + response.data.data.pools[0].token1Price, + response.data.data.pools[1].token1Price + ); + }; + + const keys = ['bfrPriceInEth']; + + const { data, error } = useSWR(keys, { + fetcher: async (calls) => { + const res = await getBothPrice(); + + return res; + }, + }); + + if (data && !error) { + ibfrPriceCache.cache = toFixed(data, 8); + } + return ibfrPriceCache.cache; +}; + +export const fromWei = (value: string, decimals: number = 18) => { + return divide(value, decimals); + // return Math.floor((value * 1e6) / 1e18) / 1e6; +}; + +export const useGetTokenomics = () => { + const { address: account } = useUserAccount(); + const { activeChain } = useContext(EarnContext); + // const { state } = useGlobal(); + const contracts = CONTRACTS[activeChain?.id]; + const bfrPrice = useIbfrPrice(); + const usd_decimals = 6; + + const getUserSpecificCalls = () => { + if (!activeChain || !contracts) return []; + const user_specific_data = { + userStakedBFR: { + address: contracts.StakedBfrTracker, + abi: RewardTrackerAbi, + functionName: 'depositBalances', + args: [account, contracts.iBFR], + }, + bfrInWallet: { + address: contracts.iBFR, + abi: bfrAbi, + functionName: 'balanceOf', + args: [account], + }, + stakedBFRTrackerRewards: { + address: contracts.StakedBfrTracker, + abi: RewardTrackerAbi, + functionName: 'claimable', + args: [account], + }, + feeBFRTrackerRewards: { + address: contracts.FeeBfrTracker, + abi: RewardTrackerAbi, + functionName: 'claimable', + args: [account], + }, + feeBlpTrackerRewards: { + address: contracts.FeeBlpTracker, + abi: RewardTrackerAbi, + functionName: 'claimable', + args: [account], + }, + bfrVesterRewards: { + address: contracts.BfrVester, + abi: VesterAbi, + functionName: 'claimable', + args: [account], + }, + blpVesterRewards: { + address: contracts.BlpVester, + abi: VesterAbi, + functionName: 'claimable', + args: [account], + }, + stakedBlpTrackerRewards: { + address: contracts.StakedBlpTracker, + abi: RewardTrackerAbi, + functionName: 'claimable', + args: [account], + }, + bonusBfrTrackerRewards: { + address: contracts.BonusBfrTracker, + abi: RewardTrackerAbi, + functionName: 'claimable', + args: [account], + }, + userStakedBlp: { + address: contracts.FeeBlpTracker, + abi: RewardTrackerAbi, + functionName: 'depositBalances', + args: [account, contracts.BLP], + }, + esBFRInWallet: { + address: contracts.ES_BFR, + abi: bfrAbi, + functionName: 'balanceOf', + args: [account], + }, + stakedEsBFR: { + address: contracts.StakedBfrTracker, + abi: RewardTrackerAbi, + functionName: 'depositBalances', + args: [account, contracts.ES_BFR], + }, + bnBfrInFeeBfr: { + address: contracts.FeeBfrTracker, + abi: RewardTrackerAbi, + functionName: 'depositBalances', + args: [account, contracts.BN_BFR], + }, + bonusBfrInFeeBfr: { + address: contracts.FeeBfrTracker, + abi: RewardTrackerAbi, + functionName: 'depositBalances', + args: [account, contracts.BonusBfrTracker], + }, + bfrVesterPairAmount: { + address: contracts.BfrVester, + abi: VesterAbi, + functionName: 'pairAmounts', + args: [account], + }, + bfrVesterVestedAmount: { + address: contracts.BfrVester, + abi: VesterAbi, + functionName: 'getVestedAmount', + args: [account], + }, + bfrVesterClaimedAmounts: { + address: contracts.BfrVester, + abi: VesterAbi, + functionName: 'claimedAmounts', + args: [account], + }, + bfrVesterClaimable: { + address: contracts.BfrVester, + abi: VesterAbi, + functionName: 'claimable', + args: [account], + }, + blpVesterPairAmount: { + address: contracts.BlpVester, + abi: VesterAbi, + functionName: 'pairAmounts', + args: [account], + }, + blpVesterVestedAmount: { + address: contracts.BlpVester, + abi: VesterAbi, + functionName: 'getVestedAmount', + args: [account], + }, + blpVesterClaimedAmounts: { + address: contracts.BlpVester, + abi: VesterAbi, + functionName: 'claimedAmounts', + args: [account], + }, + blpVesterClaimable: { + address: contracts.BlpVester, + abi: VesterAbi, + functionName: 'claimable', + args: [account], + }, + userUsdcBalance: { + address: contracts.USDC, + abi: bfrAbi, + functionName: 'balanceOf', + args: [account], + }, + userBlpBalance: { + address: contracts.BLP, + abi: BlpAbi, + functionName: 'balanceOf', + args: [account], + }, + bfrMaxVestableAmount: { + address: contracts.BfrVester, + abi: VesterAbi, + functionName: 'getMaxVestableAmount', + args: [account], + }, + blpMaxVestableAmount: { + address: contracts.BlpVester, + abi: VesterAbi, + functionName: 'getMaxVestableAmount', + args: [account], + }, + feeBlpTrackerUserBalance: { + address: contracts.FeeBlpTracker, + abi: RewardTrackerAbi, + functionName: 'balanceOf', + args: [account], + }, + stakedBlpTrackerUserBalance: { + address: contracts.StakedBlpTracker, + abi: RewardTrackerAbi, + functionName: 'balanceOf', + args: [account], + }, + stakedMultiplierPoints: { + address: contracts.FeeBfrTracker, + abi: RewardTrackerAbi, + functionName: 'depositBalances', + args: [account, contracts.BN_BFR], + }, + userUnlockedBlpAmount: { + address: contracts.BLP, + abi: BlpAbi, + functionName: 'getUnlockedLiquidity', + args: [account], + }, + bfrVesterAverageStakedAmount: { + address: contracts.BfrVester, + abi: VesterAbi, + functionName: 'getCombinedAverageStakedAmount', + args: [account], + }, + blpVesterAverageStakedAmount: { + address: contracts.BlpVester, + abi: VesterAbi, + functionName: 'getCombinedAverageStakedAmount', + args: [account], + }, + blpUsdcAllowance: { + //blp-buy modal + address: contracts.USDC, //token + abi: TokenAbi, + functionName: 'allowance', + args: [account, contracts.BLP], //spender + watch: true, + }, + bfrStakedBfrTrackerAllowance: { + //bfr-stake modal + address: contracts.iBFR, //token + abi: bfrAbi, + functionName: 'allowance', + args: [account, contracts.StakedBfrTracker], //spender + watch: true, + }, + esbfrStakedBfrTrackerAllowance: { + //esbfr-stake modal && bfr-deposit modal + address: contracts.ES_BFR, //token + abi: bfrAbi, + functionName: 'allowance', + args: [account, contracts.StakedBfrTracker], //spender + watch: true, + }, + esbfrStakedBlpTrackerAllowance: { + //blp-deposit modal + address: contracts.ES_BFR, //token + abi: bfrAbi, + functionName: 'allowance', + args: [account, contracts.StakedBlpTracker], //spender + watch: true, + }, + feeBfrTrackerUserBalance: { + address: contracts.FeeBfrTracker, + abi: RewardTrackerAbi, + functionName: 'balanceOf', + args: [account], + }, + }; + return Object.keys(user_specific_data).map(function (key) { + return user_specific_data[key]; + }); + }; + const getcalls = () => { + const userSpecificCalls = getUserSpecificCalls(); + if (!activeChain || !contracts) return []; + const generic_call_data = { + totalStakedBFR: { + address: contracts.iBFR, + abi: bfrAbi, + functionName: 'balanceOf', + args: [contracts.StakedBfrTracker], + }, + totalBFRSupply: { + address: contracts.iBFR, + abi: bfrAbi, + functionName: 'totalSupply', + }, + stakedBlp: { + address: contracts.BLP, + abi: bfrAbi, + functionName: 'balanceOf', + args: [contracts.FeeBlpTracker], + }, + blpSupply: { + address: contracts.BLP, + abi: bfrAbi, + functionName: 'totalSupply', + }, + stakedBFRTrakerSupply: { + address: contracts.StakedBfrTracker, + abi: RewardTrackerAbi, + functionName: 'totalSupply', + }, + stakedBfrDistributorBalance: { + address: contracts.ES_BFR, + abi: bfrAbi, + functionName: 'balanceOf', + args: [contracts.StakedBfrDistributor], + }, + stakedBlpDistributorBalance: { + address: contracts.ES_BFR, + abi: bfrAbi, + functionName: 'balanceOf', + args: [contracts.StakedBlpDistributor], + }, + esBFRSupply: { + address: contracts.ES_BFR, + abi: bfrAbi, + functionName: 'totalSupply', + }, + feeBfrTrackerTokensPerInterval: { + address: contracts.FeeBfrTracker, + abi: RewardTrackerAbi, + functionName: 'tokensPerInterval', + }, + feeBfrSupply: { + address: contracts.FeeBfrTracker, + abi: RewardTrackerAbi, + functionName: 'totalSupply', + }, + stakedBfrTrackerTokensPerInterval: { + address: contracts.StakedBfrTracker, + abi: RewardTrackerAbi, + functionName: 'tokensPerInterval', + }, + feeBlpTrackerTokensPerInterval: { + address: contracts.FeeBlpTracker, + abi: RewardTrackerAbi, + functionName: 'tokensPerInterval', + }, + stakedBlpTrackerTokensPerInterval: { + address: contracts.StakedBlpTracker, + abi: RewardTrackerAbi, + functionName: 'tokensPerInterval', + }, + bfrVesterPairToken: { + address: contracts.BfrVester, + abi: VesterAbi, + functionName: 'pairToken', + }, + blpVesterPairToken: { + address: contracts.BlpVester, + abi: VesterAbi, + functionName: 'pairToken', + }, + blpTotalBalance: { + address: contracts.BLP, + abi: BlpAbi, + functionName: 'totalTokenXBalance', + }, + maxTokenXToWithdraw: { + address: contracts.BLP, + abi: BlpAbi, + functionName: 'availableBalance', + }, + blpInitialRate: { + address: contracts.BLP, + abi: BlpAbi, + functionName: 'INITIAL_RATE', + }, + blpLockupPeriod: { + address: contracts.BLP, + abi: BlpAbi, + functionName: 'lockupPeriod', + }, + blpMaxLiquidity: { + address: contracts.BLP, + abi: BlpAbi, + functionName: 'maxLiquidity', + }, + }; + return Object.keys(generic_call_data) + .map(function (key) { + return generic_call_data[key]; + }) + .concat(account ? userSpecificCalls : []); + }; + const isVestable = ( + vesterAverageStakedAmount, + maxVestableAmount, + feeBfrTrackerUserBalance, + esBFRInWallet, + vesterPairAmount + ) => { + let pairAmountDiff = '0'; + let nextPairAmount = + vesterAverageStakedAmount == '0' || maxVestableAmount == '0' + ? '0' + : divide( + multiply(esBFRInWallet, vesterAverageStakedAmount), + maxVestableAmount + ); + if (gt(nextPairAmount, vesterPairAmount)) { + pairAmountDiff = subtract(nextPairAmount, vesterPairAmount); + } + let vesterHasEnoughReserveTokens = gt( + feeBfrTrackerUserBalance, + pairAmountDiff + ); + + return vesterHasEnoughReserveTokens; + }; + + const calls = getcalls().map((call) => { + return { ...call, chainId: activeChain.id }; + }); + let { data } = useContractReads({ + contracts: calls, + watch: true, + }); + // if (data) + convertBNtoString(data); + + let response = {}; + if (data && data[0] && bfrPrice && gt(bfrPrice, '0')) { + let [ + totalStakedBFR, + totalBFRSupply, + stakedBlp, + blpSupply, + stakedBFRTrakerSupply, + stakedBfrDistributorBalance, + stakedBlpDistributorBalance, + esBFRSupply, + feeBfrTrackerTokensPerInterval, + feeBfrSupply, + stakedBfrTrackerTokensPerInterval, + feeBlpTrackerTokensPerInterval, + stakedBlpTrackerTokensPerInterval, + bfrVesterPairToken, + blpVesterPairToken, + blpTotalBalance, + maxTokenXToWithdraw, + blpInitialRate, + blpLockupPeriod, + blpMaxLiquidity, + // User specifics + userStakedBFR, + bfrInWallet, + stakedBFRTrackerRewards, + feeBFRTrackerRewards, + feeBlpTrackerRewards, + bfrVesterRewards, + blpVesterRewards, + stakedBlpTrackerRewards, + bonusBfrTrackerRewards, + userStakedBlp, + esBFRInWallet, + stakedEsBFR, + bnBfrInFeeBfr, + bonusBfrInFeeBfr, + bfrVesterPairAmount, + bfrVesterVestedAmount, + bfrVesterClaimedAmounts, + bfrVesterClaimable, + blpVesterPairAmount, + blpVesterVestedAmount, + blpVesterClaimedAmounts, + blpVesterClaimable, + userUsdcBalance, + userBlpBalance, + bfrMaxVestableAmount, + blpMaxVestableAmount, + feeBlpTrackerUserBalance, + stakedBlpTrackerUserBalance, + stakedMultiplierPoints, + userUnlockedBlpAmount, + bfrVesterAverageStakedAmount, + blpVesterAverageStakedAmount, + blpUsdcAllowance, + bfrStakedBfrTrackerAllowance, + esbfrStakedBfrTrackerAllowance, + esbfrStakedBlpTrackerAllowance, + feeBfrTrackerUserBalance, + ] = account + ? data.flat() + : data.concat(new Array(getUserSpecificCalls().length).fill('0')).flat(); + + + const blpPrice = + blpSupply > 0 + ? divide(blpTotalBalance, blpSupply) + : divide('1', blpInitialRate); + + const boostBasisPoints = + bonusBfrInFeeBfr > 0 + ? divide( + multiply(bnBfrInFeeBfr, BASIS_POINTS_DIVISOR), + bonusBfrInFeeBfr + ) + : '0'; + + // BFR APR + const stakedBfrTrackerAnnualRewardsUsd = fromWei( + multiply( + multiply(stakedBfrTrackerTokensPerInterval, SECONDS_PER_YEAR), + bfrPrice + ) + ); + const bfrAprForEsBfr = gt(multiply(stakedBFRTrakerSupply, bfrPrice), '0') + ? divide( + multiply(stakedBfrTrackerAnnualRewardsUsd, BASIS_POINTS_DIVISOR), + fromWei(multiply(stakedBFRTrakerSupply, bfrPrice)) + ) + : '0'; + const feeBfrTrackerAnnualRewardsUsd = fromWei( + multiply(feeBfrTrackerTokensPerInterval, SECONDS_PER_YEAR), + usd_decimals + ); + const bfrAprForRewardToken = + feeBfrSupply > 0 + ? divide( + multiply(feeBfrTrackerAnnualRewardsUsd, BASIS_POINTS_DIVISOR), + fromWei(multiply(feeBfrSupply, bfrPrice)) + ) + : '0'; + + const bfrBoostAprForRewardToken = divide( + multiply(bfrAprForRewardToken, boostBasisPoints), + BASIS_POINTS_DIVISOR + ); + const bfrAprTotalWithBoost = add( + add(bfrAprForRewardToken, bfrBoostAprForRewardToken), + bfrAprForEsBfr + ); + + // BLP APR + const feeBlpTrackerAnnualRewardsUsd = fromWei( + multiply(feeBlpTrackerTokensPerInterval, SECONDS_PER_YEAR), + usd_decimals + ); + const blpAprForRewardToken = + blpSupply > 0 + ? divide( + multiply(feeBlpTrackerAnnualRewardsUsd, BASIS_POINTS_DIVISOR), + fromWei(multiply(blpSupply, blpPrice), usd_decimals) + ) + : '0'; + const stakedBlpTrackerAnnualRewardsUsd = fromWei( + multiply( + multiply(stakedBlpTrackerTokensPerInterval, SECONDS_PER_YEAR), + bfrPrice + ) + ); + const blpAprForEsBfr = + blpSupply > 0 + ? divide( + multiply(stakedBlpTrackerAnnualRewardsUsd, BASIS_POINTS_DIVISOR), + fromWei(multiply(blpSupply, blpPrice), usd_decimals) + ) + : '0'; + const blpAprTotal = add(blpAprForRewardToken, blpAprForEsBfr); + + // Unstakeable max amount + const availableTokens = fromWei( + subtract(add(bnBfrInFeeBfr, bonusBfrInFeeBfr), bfrVesterPairAmount) + ); + const multiplierPointsAmount = add(bonusBfrTrackerRewards, bnBfrInFeeBfr); + const stakedTokens = bonusBfrInFeeBfr; + const divisor = add(multiplierPointsAmount, stakedTokens); + let maxUnstakeableBfr = availableTokens; + // if (gt(divisor, "0")) { + // maxUnstakeableBfr = divide( + // multiply(availableTokens, stakedTokens), + // divisor + // ); + // } + + const maxUnstakableEsBfr = gt(fromWei(stakedEsBFR), maxUnstakeableBfr) + ? maxUnstakeableBfr + : fromWei(stakedEsBFR); + maxUnstakeableBfr = gt(fromWei(userStakedBFR), maxUnstakeableBfr) + ? maxUnstakeableBfr + : fromWei(userStakedBFR); + + // MaX vestable amount + let bfrRemainingVestableAmount = subtract( + bfrMaxVestableAmount, + bfrVesterVestedAmount + ); + if (lt(esBFRInWallet, bfrRemainingVestableAmount)) { + bfrRemainingVestableAmount = esBFRInWallet; + } + let blpRemainingVestableAmount = subtract( + blpMaxVestableAmount, + blpVesterVestedAmount + ); + if (lt(esBFRInWallet, blpRemainingVestableAmount)) { + blpRemainingVestableAmount = esBFRInWallet; + } + + // MaX withdrawal + const dividedValue = divide(maxTokenXToWithdraw, blpPrice); + let maxBlpToWithdraw = lt(userUnlockedBlpAmount, dividedValue) + ? userUnlockedBlpAmount + : dividedValue; + + let maxUnstakeableBlp = subtract(userStakedBlp, blpVesterPairAmount); + if (gt(maxBlpToWithdraw, maxUnstakeableBlp)) { + maxBlpToWithdraw = maxUnstakeableBlp; + } + + // FORMATTING + response = { + earn: { + usdc: { + allowance: fromWei(blpUsdcAllowance, usd_decimals), + wallet_balance: fromWei(userUsdcBalance, usd_decimals), + }, + ibfr: { + price: bfrPrice, + apr: { + value: fromWei(bfrAprTotalWithBoost, 2), + tooltip: gt(bfrBoostAprForRewardToken, '0') + ? [ + { + key: 'Boosted APR', + value: fromWei(bfrBoostAprForRewardToken, 2), + }, + { + key: 'Escrowed BFR APR', + value: fromWei(bfrAprForEsBfr, 2), + }, + { + key: 'Base USDC APR', + value: fromWei(bfrAprForRewardToken, 2), + }, + { + key: 'Total APR', + value: fromWei(bfrAprTotalWithBoost, 2), + }, + ] + : [ + { + key: 'Escrowed BFR APR', + value: fromWei(bfrAprForEsBfr, 2), + }, + { + key: 'USDC APR', + value: fromWei(bfrAprForRewardToken, 2), + }, + ], + description: gt(bfrBoostAprForRewardToken, '0') + ? 'The Boosted APR is from your staked Multiplier Points. APRs are updated weekly on Wednesday and will depend on the fees collected for the week.' + : 'APRs are updated weekly on Wednesday and will depend on the fees collected for the week.', + }, + max_unstakeable: maxUnstakeableBfr, + boost_percentage: eToWide(fromWei(boostBasisPoints, 2)), + boost_percentage_description: ( +
+ You are earning{' '} + { + + } + % more USDC rewards using  + { + + }{' '} + Staked Multiplier Points. +
+
+ Use the "Compound" button to stake your Multiplier Points. +
+ ), + multiplier_points_apr: 100, + total_staked: { + value_in_usd: multiply(fromWei(totalStakedBFR), bfrPrice), + token_value: fromWei(totalStakedBFR), + token_value_abs: totalStakedBFR, + }, + total_supply: { + value_in_usd: multiply(fromWei(totalBFRSupply), bfrPrice), + token_value: fromWei(totalBFRSupply), + }, + user: { + allowance: fromWei(bfrStakedBfrTrackerAllowance), + rewards: add( + fromWei(multiply(stakedBFRTrackerRewards, bfrPrice)), + fromWei(feeBFRTrackerRewards, usd_decimals) + ), + usd_reward: fromWei(feeBFRTrackerRewards, usd_decimals), + esBfr_rewards: { + value_in_usd: fromWei( + multiply(stakedBFRTrackerRewards, bfrPrice) + ), + value_abs: fromWei(stakedBFRTrackerRewards), + }, + staked: { + value_in_usd: multiply(fromWei(userStakedBFR), bfrPrice), + token_value: fromWei(userStakedBFR), + token_value_abs: userStakedBFR, + }, + wallet_balance: { + value_in_usd: multiply(fromWei(bfrInWallet), bfrPrice), + token_value: fromWei(bfrInWallet), + token_value_abs: bfrInWallet, + }, + }, + }, + blp: { + price: blpPrice, + apr: { + value: fromWei(blpAprTotal, 2), + tooltip: [ + { key: 'Escrowed BFR APR', value: fromWei(blpAprForEsBfr, 2) }, + { key: 'USDC APR', value: fromWei(blpAprForRewardToken, 2) }, + ], + description: + 'APRs are updated weekly on Wednesday and will depend on the fees collected for the week.', + }, + currentLiquidity: fromWei(blpTotalBalance, usd_decimals), + maxLiquidity: fromWei(blpMaxLiquidity, usd_decimals), + lockupPeriod: blpLockupPeriod, + blpToUsdc: blpPrice, + usdcToBlp: gt(blpPrice, '0') ? divide('1', blpPrice) : '0', + max_unstakeable: fromWei(maxBlpToWithdraw, usd_decimals), + total_staked: { + value_in_usd: multiply(fromWei(stakedBlp, usd_decimals), blpPrice), + token_value: fromWei(stakedBlp, usd_decimals), + token_value_abs: stakedBlp, + }, + total_supply: { + value_in_usd: multiply(fromWei(blpSupply, usd_decimals), blpPrice), + token_value: fromWei(blpSupply, usd_decimals), + }, + user: { + rewards: add( + fromWei(multiply(stakedBlpTrackerRewards, bfrPrice)), + fromWei(feeBlpTrackerRewards, usd_decimals) + ), + usd_reward: fromWei(feeBlpTrackerRewards, usd_decimals), + esBfr_rewards: { + value_in_usd: fromWei( + multiply(stakedBlpTrackerRewards, bfrPrice) + ), + value_abs: fromWei(stakedBlpTrackerRewards), + }, + staked: { + value_in_usd: multiply( + fromWei(userStakedBlp, usd_decimals), + blpPrice + ), + token_value: fromWei(userStakedBlp, usd_decimals), + token_value_abs: userStakedBlp, + }, + wallet_balance: { + value_in_usd: multiply( + fromWei(userStakedBlp, usd_decimals), + blpPrice + ), + token_value: fromWei(userStakedBlp, usd_decimals), + token_value_abs: userStakedBlp, + }, + max_unlocked_amount: fromWei(userUnlockedBlpAmount, usd_decimals), + }, + }, + esBfr: { + price: bfrPrice, + max_unstakeable: maxUnstakableEsBfr, + multiplier_points_apr: 100, + apr: { + value: fromWei(bfrAprTotalWithBoost, 2), + tooltip: gt(bfrBoostAprForRewardToken, '0') + ? [ + { + key: 'Boosted APR', + value: fromWei(bfrBoostAprForRewardToken, 2), + }, + { + key: 'Base USDC APR', + value: fromWei(bfrAprForRewardToken, 2), + }, + { + key: 'Escrowed BFR APR', + value: fromWei(bfrAprForEsBfr, 2), + }, + ] + : [ + { + key: 'Escrowed BFR APR', + value: fromWei(bfrAprForEsBfr, 2), + }, + { + key: 'Base USDC APR', + value: fromWei(bfrAprForRewardToken, 2), + }, + ], + description: '', + }, + total_staked: { + value_in_usd: multiply( + fromWei(subtract(stakedBFRTrakerSupply, totalStakedBFR)), + bfrPrice + ), + token_value: fromWei( + subtract(stakedBFRTrakerSupply, totalStakedBFR) + ), + token_value_abs: subtract(stakedBFRTrakerSupply, totalStakedBFR), + }, + total_supply: { + value_in_usd: multiply( + fromWei( + subtract( + esBFRSupply, + add(stakedBlpDistributorBalance, stakedBfrDistributorBalance) + ) + ), + bfrPrice + ), + token_value: fromWei( + subtract( + esBFRSupply, + add(stakedBlpDistributorBalance, stakedBfrDistributorBalance) + ) + ), + }, + user: { + allowance: fromWei(esbfrStakedBfrTrackerAllowance), + staked: { + value_in_usd: multiply(fromWei(stakedEsBFR), bfrPrice), + token_value: fromWei(stakedEsBFR), + token_value_abs: stakedEsBFR, + }, + wallet_balance: { + value_in_usd: multiply(fromWei(esBFRInWallet), bfrPrice), + token_value: fromWei(esBFRInWallet), + token_value_abs: esBFRInWallet, + }, + }, + }, + total_rewards: { + multiplier_points: fromWei(bonusBfrTrackerRewards), + staked_multiplier_points: fromWei(stakedMultiplierPoints), + total: add( + add( + fromWei( + multiply( + add(stakedBFRTrackerRewards, stakedBlpTrackerRewards), + bfrPrice + ) + ), + fromWei( + add(feeBlpTrackerRewards, feeBFRTrackerRewards), + usd_decimals + ) + ), + fromWei(multiply(add(blpVesterRewards, bfrVesterRewards), bfrPrice)) + ), + usd: { + token_value: fromWei( + add(feeBlpTrackerRewards, feeBFRTrackerRewards), + usd_decimals + ), + }, + esBfr: { + value_in_usd: multiply( + fromWei(add(stakedBFRTrackerRewards, stakedBlpTrackerRewards)), + bfrPrice + ), + token_value: fromWei( + add(stakedBFRTrackerRewards, stakedBlpTrackerRewards) + ), + }, + bfr: { + value_in_usd: multiply( + fromWei(add(blpVesterRewards, bfrVesterRewards)), + bfrPrice + ), + token_value: fromWei(add(blpVesterRewards, bfrVesterRewards)), + }, + }, + }, + vest: { + ibfr: { + staked_tokens: { + value: fromWei(add(bnBfrInFeeBfr, bonusBfrInFeeBfr)), + tooltip: [ + { key: 'BFR', value: fromWei(userStakedBFR) }, + { key: 'esBFR', value: fromWei(stakedEsBFR) }, + { key: 'Multiplier Points', value: fromWei(bnBfrInFeeBfr) }, + ], + }, + pair_token: bfrVesterPairToken, + reserved_for_vesting: [ + fromWei(bfrVesterPairAmount), + fromWei(add(bnBfrInFeeBfr, bonusBfrInFeeBfr)), + ], + vesting_status: { + claimed: fromWei(add(bfrVesterClaimedAmounts, bfrVesterClaimable)), + vested: fromWei(bfrVesterVestedAmount), + }, + claimable: fromWei(bfrVesterClaimable), + maxVestableAmount: fromWei(bfrRemainingVestableAmount), + averageStakedAmount: fromWei(bfrVesterAverageStakedAmount), + maxVestableAmountExact: fromWei(bfrMaxVestableAmount), + allowance: fromWei(esbfrStakedBfrTrackerAllowance), + hasEnoughReserveTokens: isVestable( + bfrVesterAverageStakedAmount, + bfrMaxVestableAmount, + feeBfrTrackerUserBalance, + esBFRInWallet, + bfrVesterPairAmount + ), + }, + blp: { + staked_tokens: { + value: fromWei(userStakedBlp, usd_decimals), + tooltip: [], + }, + pair_token: blpVesterPairToken, + reserved_for_vesting: [ + fromWei(blpVesterPairAmount, usd_decimals), + fromWei(userStakedBlp, usd_decimals), + ], + vesting_status: { + claimed: fromWei(add(blpVesterClaimedAmounts, blpVesterClaimable)), + vested: fromWei(blpVesterVestedAmount), + }, + claimable: fromWei(blpVesterClaimable), + maxVestableAmount: fromWei(blpRemainingVestableAmount), + averageStakedAmount: fromWei( + blpVesterAverageStakedAmount, + usd_decimals + ), + maxVestableAmountExact: fromWei(blpMaxVestableAmount), + allowance: fromWei(esbfrStakedBlpTrackerAllowance), + hasEnoughReserveTokens: isVestable( + blpVesterAverageStakedAmount, + blpMaxVestableAmount, + stakedBlpTrackerUserBalance, + esBFRInWallet, + blpVesterPairAmount + ), + }, + }, + }; + } + + + return bfrPrice && response ? response : { earn: null, vest: null }; +}; + +export function getNewReserve( + amount, + averageStakedAmount, + maxVestableAmount, // maxVestableAmountExact + reserveAmount, //reserved_for_vesting[0] + vestedAmount //vesting_status[1] +) { + let nextDepositAmount = vestedAmount; + if (amount) { + nextDepositAmount = add(amount, vestedAmount); + } + let nextReserveAmount = reserveAmount; + + let additionalReserveAmount = '0'; + if ( + amount && + averageStakedAmount && + maxVestableAmount && + gt(maxVestableAmount, '0') + ) { + nextReserveAmount = divide( + multiply(averageStakedAmount, nextDepositAmount), + maxVestableAmount + ); + if (gt(nextReserveAmount, reserveAmount)) { + additionalReserveAmount = subtract(nextReserveAmount, reserveAmount); + } + } + return gte(reserveAmount, additionalReserveAmount) + ? reserveAmount + : additionalReserveAmount; +} diff --git a/src/Views/Earn/Modals/buy.tsx b/src/Views/Earn/Modals/buy.tsx new file mode 100644 index 0000000..1d241df --- /dev/null +++ b/src/Views/Earn/Modals/buy.tsx @@ -0,0 +1,181 @@ +import { ExpandMoreRounded } from '@mui/icons-material'; +import { useContext, useState } from 'react'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import { CONTRACTS } from '../Config/Address'; +import { + useEarnWriteCalls, + useGetApprovalAmount, +} from '../Hooks/useEarnWriteCalls'; +import USDCABI from '../Config/Abis/Token.json'; +import { + getPosInf, + gt, + gte, + multiply, +} from '@Utils/NumString/stringArithmatics'; +import { toFixed } from '@Utils/NumString'; +import { useAtom } from 'jotai'; +import { readEarnData } from '../earnAtom'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { useGlobal } from '@Contexts/Global'; +import BufferInput from '@Views/Common/BufferInput'; +import { useToast } from '@Contexts/Toast'; +import { Skeleton } from '@mui/material'; +import { EarnContext } from '..'; +import BufferCheckbox from '@Views/Common/BufferCheckbox'; + +export const Buy = () => { + const [payAmount, setPayAmount] = useState(''); + const { state } = useGlobal(); + const { activeChain } = useContext(EarnContext); + const [receiveAmount, setReceiveAmount] = useState(''); + const { buyBLP, validations } = useEarnWriteCalls('Router'); + const [pageState] = useAtom(readEarnData); + const [approveState, setApprovalState] = useState(false); + const { approve } = useGetApprovalAmount( + USDCABI, + CONTRACTS[activeChain.id].USDC, + CONTRACTS[activeChain.id].BLP + ); + const toastify = useToast(); + const [checkBoxState, setCheckBoxState] = useState(false); + const max = pageState.earn?.usdc.wallet_balance; + + if (!pageState.earn) + return ( + + ); + const isApproved = gte(pageState.earn.usdc.allowance, payAmount || '1'); + const clickHandler = () => { + if (validations(payAmount)) return; + if (gt(payAmount, max)) + return toastify({ + type: 'error', + msg: 'Amount exceeds balance.', + id: '007', + }); + return buyBLP(payAmount); + }; + + return ( +
+
Buy BLP
+ { + setPayAmount(newValue); + setReceiveAmount( + toFixed(multiply(newValue || '0', pageState.earn.blp.usdcToBlp), 6) + ); + }} + numericValidations={{ + decimals: { val: 6 }, + max: { + val: max, + error: `Not enough funds`, + }, + min: { val: '0', error: 'Enter a poistive value' }, + }} + inputType="number" + ipClass="" + hideSearchBar + className="!text-f17" + bgClass="!py-4 !px-5 !bg-1" + placeholder="0.0" + header={ +
+ + Pay: + + + Balance: + + +
+ } + unit={ +
+ { + setPayAmount(toFixed(max, 6)); + setReceiveAmount( + toFixed(multiply(max || '0', pageState.earn.blp.usdcToBlp), 6) + ); + }} + className="!py-1 !px-3 !h-fit text-f13 rounded-sm mr-3" + > + Max + +
USDC
+
+ } + /> +
+ +
+ { + setReceiveAmount(newValue); + setPayAmount( + toFixed(multiply(newValue || '0', pageState.earn.blp.blpToUsdc), 6) + ); + }} + inputType="number" + hideSearchBar + className="!text-f17" + bgClass="!py-4 !px-5 !bg-1" + placeholder="0.0" + header={ +
+ Receive +
+ } + numericValidations={{ + decimals: { val: 6 }, + + min: { val: '0', error: 'Enter a poistive value' }, + }} + unit={ +
+
BLP
+
+ } + /> +
+ setCheckBoxState(!checkBoxState)} + > + + I have read how the USDC vault works and aware of risk associated + with being a liquidity provider + + +
+
+ approve(toFixed(getPosInf(), 0), setApprovalState)} + className="mr-4 rounded" + isDisabled={isApproved || state.txnLoading > 1 || !checkBoxState} + isLoading={state.txnLoading === 1 && approveState} + > + Approve + + 1 || !checkBoxState || !isApproved} + isLoading={state.txnLoading === 1 && !approveState} + > + Add Funds + +
+
+ ); +}; diff --git a/src/Views/Earn/Modals/claim.tsx b/src/Views/Earn/Modals/claim.tsx new file mode 100644 index 0000000..2b44e4e --- /dev/null +++ b/src/Views/Earn/Modals/claim.tsx @@ -0,0 +1,110 @@ +import { useAtom } from 'jotai'; +import BufferCheckbox from '@Views/Common/BufferCheckbox'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import { claimRewardsAtom } from '../earnAtom'; +import { useEarnWriteCalls } from '../Hooks/useEarnWriteCalls'; + +export const Claim = () => { + const { claim } = useEarnWriteCalls('Router'); + const [claimState, setClaimState] = useAtom(claimRewardsAtom); + const { + shouldclaimesBFR, + shouldclaimeth, + shouldclaimiBFR, + shouldconvertweth, + } = claimState; + return ( +
+
Claim Rewards
+
+
+ + setClaimState((prvState) => { + return { + ...prvState, + shouldclaimiBFR: !prvState.shouldclaimiBFR, + }; + }) + } + className="mr-3" + /> +
+ Claim BFR Rewards +
+
+
+ + setClaimState((prvState) => { + return { + ...prvState, + shouldclaimesBFR: !prvState.shouldclaimesBFR, + }; + }) + } + className="mr-3" + /> +
+ Claim esBFR Rewards +
+
+
+ + setClaimState((prvState) => { + return { + ...prvState, + shouldclaimeth: + !prvState.shouldclaimeth || prvState.shouldconvertweth, + }; + }) + } + className="mr-3" + /> +
+ Claim USDC Rewards +
+
+ {/*
+ + setClaimState((prvState) => { + return { + ...prvState, + shouldconvertweth: !prvState.shouldconvertweth, + }; + }) + } + className="mr-3" + /> +
+ Convert WETH to ETH +
+
*/} +
+ + claim( + shouldclaimiBFR, + shouldclaimesBFR, + shouldconvertweth, + shouldconvertweth + ) + } + className={'px-4 rounded-sm !h-7 w-full mt-5'} + > + Claim + +
+ ); +}; diff --git a/src/Views/Earn/Modals/compound.tsx b/src/Views/Earn/Modals/compound.tsx new file mode 100644 index 0000000..662b146 --- /dev/null +++ b/src/Views/Earn/Modals/compound.tsx @@ -0,0 +1,180 @@ +import { useAtom } from 'jotai'; +import { useEffect } from 'react'; +import BufferCheckbox from '@Views/Common/BufferCheckbox'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import { compoundRewardsAtom } from '../earnAtom'; +import { useEarnWriteCalls } from '../Hooks/useEarnWriteCalls'; + +export const Compound = () => { + const { compound } = useEarnWriteCalls('Router'); + const [compoundState, setCompoundState] = useAtom(compoundRewardsAtom); + + const { + shouldclaimesBFR, + shouldclaimeth, + shouldclaimiBFR, + shouldconvertweth, + shouldstakeesBFR, + shouldstakeiBFR, + shouldstakemultiplierpoints, + } = compoundState; + return ( +
+
Compound Rewards
+
+
+ + setCompoundState((prvState) => { + return { + ...prvState, + // shouldstakemultiplierpoints: + // !prvState.shouldstakemultiplierpoints, + }; + }) + } + className="mr-3" + /> +
+ Stake Multiplier Points +
+
+
+ + setCompoundState((prvState) => { + return { + ...prvState, + shouldclaimiBFR: !prvState.shouldclaimiBFR || shouldstakeiBFR, + }; + }) + } + className="mr-3" + /> +
+ Claim BFR Rewards +
+
+
+ + setCompoundState((prvState) => { + return { + ...prvState, + shouldstakeiBFR: !prvState.shouldstakeiBFR, + }; + }) + } + className="mr-3" + /> +
+ Stake BFR Rewards +
+
+
+ + setCompoundState((prvState) => { + return { + ...prvState, + shouldclaimesBFR: + !prvState.shouldclaimesBFR || shouldstakeesBFR, + }; + }) + } + className="mr-3" + /> +
+ Claim esBFR Rewards +
+
+
+ + setCompoundState((prvState) => { + return { + ...prvState, + shouldstakeesBFR: !prvState.shouldstakeesBFR, + }; + }) + } + className="mr-3" + /> +
+ Stake esBFR Rewards +
+
+
+ + setCompoundState((prvState) => { + return { + ...prvState, + shouldclaimeth: !prvState.shouldclaimeth || shouldconvertweth, + }; + }) + } + className="mr-3" + /> +
+ Claim USDC Rewards +
+
+ {/*
+ + setCompoundState((prvState) => { + return { + ...prvState, + shouldconvertweth: !prvState.shouldconvertweth, + }; + }) + } + className="mr-3" + /> +
+ Convert WETH to ETH +
+
*/} +
+ + compound( + shouldclaimiBFR, + shouldstakeiBFR, + shouldclaimesBFR, + shouldstakeesBFR, + shouldstakemultiplierpoints, + shouldclaimeth + ) + } + className={'px-4 rounded-sm !h-7 w-full mt-5'} + > + Compound + +
+ ); +}; diff --git a/src/Views/Earn/Modals/deposit.tsx b/src/Views/Earn/Modals/deposit.tsx new file mode 100644 index 0000000..c756863 --- /dev/null +++ b/src/Views/Earn/Modals/deposit.tsx @@ -0,0 +1,250 @@ +import { useAtom } from 'jotai'; +import { useContext, useState } from 'react'; +import BufferInput from '@Views/Common/BufferInput'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import { CONTRACTS } from '../Config/Address'; +import { readEarnData } from '../earnAtom'; +import iBFRABI from '../Config/Abis/BFR.json'; +import { + useEarnWriteCalls, + useGetApprovalAmount, +} from '../Hooks/useEarnWriteCalls'; +import { + add, + getPosInf, + gt, + gte, + subtract, +} from '@Utils/NumString/stringArithmatics'; +import { toFixed } from '@Utils/NumString'; +import { useGlobal } from '@Contexts/Global'; +import { useToast } from '@Contexts/Toast'; +import { Skeleton } from '@mui/material'; +import { getNewReserve } from '../Hooks/useTokenomicsMulticall'; +import { TableAligner } from '@Views/V2-Leaderboard/Components/TableAligner'; +import { + tooltipKeyClasses, + tooltipValueClasses, + underLineClass, +} from '../Components/VestCards'; +import NumberTooltip from '@Views/Common/Tooltips'; +import { EarnContext } from '..'; + +export const DepositModal = ({ + head, + type, +}: { + head: string; + type: 'ibfr' | 'blp'; +}) => { + const [val, setVal] = useState(''); + const [pageState] = useAtom(readEarnData); + const { deposit, validations } = useEarnWriteCalls( + 'Vester', + type === 'ibfr' ? 'BFR' : 'BLP' + ); + const { state } = useGlobal(); + const { activeChain } = useContext(EarnContext); + const vesterContract = + type === 'ibfr' + ? CONTRACTS[activeChain?.id].BfrVester + : CONTRACTS[activeChain?.id].BlpVester; + const tokenContract = + type === 'ibfr' + ? CONTRACTS[activeChain?.id].StakedBfrTracker + : CONTRACTS[activeChain?.id].StakedBlpTracker; + const { approve } = useGetApprovalAmount( + iBFRABI, + CONTRACTS[activeChain?.id].ES_BFR, + tokenContract + ); + const toastify = useToast(); + + if (!pageState.vest) + return ( + + ); + const isApproved = gte(pageState.vest[type].allowance, val || '1'); + const currentVault = pageState.vest[type]; + const max = pageState.vest[type].maxVestableAmount; + const reserveAmount = getNewReserve( + val, + currentVault.averageStakedAmount, + currentVault.maxVestableAmountExact, + currentVault.reserved_for_vesting[0], + currentVault.vesting_status.vested + ); + const [approveState, setApprovalState] = useState(false); + + + const clickHandler = () => { + if (validations(val)) return; + + if (gt(val, pageState.earn.esBfr.user.wallet_balance.token_value)) + return toastify({ + type: 'error', + msg: 'Amount exceeds balance.', + id: '007', + }); + else if ( + gt(val, max) || + gt( + subtract(reserveAmount, currentVault.reserved_for_vesting[0]), + pageState.vest[type].staked_tokens.value + ) + ) + return toastify({ + type: 'error', + msg: 'Not enough tokens to reserve', + id: '008', + }); + return deposit(val, vesterContract); + }; + + return ( +
+
{head}
+ {/* */} + + Deposit + + Max: + + +
+ } + numericValidations={{ + decimals: { val: 6 }, + max: { + val: max, + error: `Not enough tokens to reserve`, + }, + min: { val: '0', error: 'Enter a poistive value' }, + }} + placeholder="0.0" + bgClass="!bg-1" + ipClass="mt-1" + value={val} + onChange={(val) => setVal(val)} + unit={ + + { + setVal(toFixed(max, 6)); + }} + className="!py-1 !px-3 !h-fit text-f13 rounded-sm mr-3" + > + Max + + esBFR + + } + /> + +
+
Wallet
+
+ +
+
+
+
Vault Capacity
+ , + , + ]} + > + } + > +
+ +  /  + +
+
+
+
+
Reserve Amount
+ , + , + ]} + > + } + > +
+ +  /  + +
+
+
+ +
+ approve(toFixed(getPosInf(), 0), setApprovalState)} + className="mr-4 rounded" + isDisabled={isApproved || state.txnLoading > 1} + isLoading={state.txnLoading === 1 && approveState} + > + Approve + + 1 || !isApproved} + isLoading={state.txnLoading === 1 && !approveState} + > + Deposit + +
+ + ); +}; diff --git a/src/Views/Earn/Modals/index.tsx b/src/Views/Earn/Modals/index.tsx new file mode 100644 index 0000000..39e05fa --- /dev/null +++ b/src/Views/Earn/Modals/index.tsx @@ -0,0 +1,116 @@ +import { CloseOutlined } from '@mui/icons-material'; +import { Dialog, IconButton } from '@mui/material'; +import { useAtom } from 'jotai'; +import React, { useContext } from 'react'; +import { earnAtom, readEarnData } from '../earnAtom'; +import { Buy } from './buy'; +import { Compound } from './compound'; +import { DepositModal } from './deposit'; +import { Sell } from './sell'; +import { StakeModal } from './stake'; +import iBFRABI from '../Config/Abis/BFR.json'; +import { CONTRACTS } from '../Config/Address'; +import { Claim } from './claim'; +import { EarnContext } from '..'; + +export const EarnModals = () => { + const [pageState, setPageState] = useAtom(earnAtom); + + const closeModal = () => + setPageState({ + ...pageState, + isModalOpen: false, + activeModal: null, + }); + return ( + +
+ + + + {pageState.isModalOpen && } +
+
+ ); +}; + +function ModalChild() { + const [pageState] = useAtom(earnAtom); + const [pageData] = useAtom(readEarnData); + const { activeChain } = useContext(EarnContext); + switch (pageState.activeModal) { + case 'iBFRstake': + return ( + + ); + + case 'iBFRunstake': + return ( + + ); + + case 'esBFRstake': + return ( + + ); + + case 'esBFRunstake': + return ( + + ); + + case 'buy': + return ; + + case 'sell': + return ; + + case 'compound': + return ; + + case 'claim': + return ; + + case 'iBFRdeposit': + return ; + + case 'BLPdeposit': + return ; + + default: + return
; + } +} diff --git a/src/Views/Earn/Modals/sell.tsx b/src/Views/Earn/Modals/sell.tsx new file mode 100644 index 0000000..9b7d40c --- /dev/null +++ b/src/Views/Earn/Modals/sell.tsx @@ -0,0 +1,155 @@ +import { ExpandMoreRounded } from '@mui/icons-material'; +import { Skeleton } from '@mui/material'; +import { useGlobal } from '@Contexts/Global'; +import { useToast } from '@Contexts/Toast'; +import { useAtom } from 'jotai'; +import React, { useState } from 'react'; +import { toFixed } from '@Utils/NumString'; +import { gt, multiply } from '@Utils/NumString/stringArithmatics'; +import BufferInput from '@Views/Common/BufferInput'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import { readEarnData } from '../earnAtom'; +import { useEarnWriteCalls } from '../Hooks/useEarnWriteCalls'; + +export const Sell = () => { + const [payAmount, setPayAmount] = useState(''); + const [receiveAmount, setReceiveAmount] = useState(''); + const { sellBLP, validations } = useEarnWriteCalls('Router'); + const { state } = useGlobal(); + const [pageState] = useAtom(readEarnData); + const toastify = useToast(); + const max = pageState.earn?.blp.max_unstakeable; + + if (!pageState.earn) + return ( + + ); + + const clickHandler = () => { + if (validations(payAmount)) return; + if (gt(payAmount, max)) + return toastify({ + type: 'error', + msg: 'Amount exceeds balance.', + id: '007', + }); + sellBLP(payAmount); + }; + return ( +
+
Sell BLP
+ { + setPayAmount(newValue); + setReceiveAmount( + toFixed(multiply(newValue || '0', pageState.earn.blp.blpToUsdc), 6) + ); + }} + inputType="number" + hideSearchBar + className="!text-f17" + bgClass="!py-4 !px-5 !bg-1" + placeholder="0.0" + header={ +
+ + Pay:{' '} + + + + Max Amount: + +
+ } + numericValidations={{ + decimals: { val: 6 }, + max: { + val: max, + error: `Not enough funds`, + }, + min: { val: '0', error: 'Enter a poistive value' }, + }} + unit={ +
+ { + setPayAmount(toFixed(max, 6)); + setReceiveAmount( + toFixed(multiply(max || '0', pageState.earn.blp.blpToUsdc), 6) + ); + }} + className="!py-1 !px-3 !h-fit text-f13 rounded-sm mr-3" + > + Max + +
BLP
+
+ } + /> +
+ +
+ { + setReceiveAmount(newValue); + setPayAmount( + toFixed(multiply(newValue || '0', pageState.earn.blp.usdcToBlp), 6) + ); + }} + inputType="number" + hideSearchBar + className="!text-f17" + bgClass="!py-4 !px-5 !bg-1" + placeholder="0.0" + header={ +
+ + Receive + {/* : */} + + {/* + Balance: + + */} +
+ } + numericValidations={{ + decimals: { val: 6 }, + // max: { + // val: pageState.earn.usdc.wallet_balance, + // error: `Not enough funds`, + // }, + min: { val: '0', error: 'Enter a poistive value' }, + }} + unit={ +
+
USDC
+
+ } + /> + {/*
+
Fees
+
234
+
*/} + + 1} + isLoading={state.txnLoading === 1} + > + Withdraw Funds + +
+ ); +}; diff --git a/src/Views/Earn/Modals/stake.tsx b/src/Views/Earn/Modals/stake.tsx new file mode 100644 index 0000000..4c11151 --- /dev/null +++ b/src/Views/Earn/Modals/stake.tsx @@ -0,0 +1,206 @@ +import { useAtom } from 'jotai'; +import { useContext, useState } from 'react'; +import BufferInput from '@Views/Common/BufferInput'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import { earnAtom } from '../earnAtom'; +import { + useEarnWriteCalls, + useGetApprovalAmount, +} from '../Hooks/useEarnWriteCalls'; +import { CONTRACTS } from '../Config/Address'; +import { toFixed } from '@Utils/NumString'; +import { getPosInf, gt, gte } from '@Utils/NumString/stringArithmatics'; +import { useGlobal } from '@Contexts/Global'; +import { useToast } from '@Contexts/Toast'; +import { Skeleton } from '@mui/material'; +import { EarnContext } from '..'; +import { IContract } from 'src/Interfaces/interfaces'; + +export const StakeModal = ({ + max, + head, + isStakeModal = false, + tokenContract, + unit, + allowance, +}: { + max: string; + head: string; + isStakeModal: boolean; + tokenContract?: IContract; + unit: string; + allowance?: string; +}) => { + if (!max) + return ( + + ); + if (isStakeModal) + return ( + + ); + else return ; +}; + +const Common = ({ val, setVal, head, max, unit, isStakeModal }) => { + return ( +
+
{head}
+ + {isStakeModal ? 'Stake' : 'Unstake'} + + Max: + + +
+ } + numericValidations={{ + decimals: { val: 6 }, + max: { + val: max.toString(), + error: `Not enough funds!`, + }, + min: { val: '0', error: 'Enter a poistive value' }, + }} + placeholder="0.0" + bgClass="!bg-1" + ipClass="mt-1" + value={val} + onChange={(val) => { + setVal(val); + }} + unit={ + + { + setVal(toFixed(max, 6)); + }} + className="!py-1 !px-3 !h-fit text-f13 rounded-sm mr-3" + > + Max + + {unit} + + } + /> + + ); +}; + +const Stake = ({ tokenContract, max, head, unit, allowance }) => { + const [val, setVal] = useState(''); + const { activeChain } = useContext(EarnContext); + const { approve } = useGetApprovalAmount( + tokenContract?.abi, + tokenContract?.contract, + CONTRACTS[activeChain.id]?.StakedBfrTracker + ); + const [pageState] = useAtom(earnAtom); + const toastify = useToast(); + const [approveState, setApprovalState] = useState(false); + const { state } = useGlobal(); + const { stakeUnstakeiBFR, validations } = useEarnWriteCalls('Router'); + const isApproved = gte(allowance, val || '1'); + + const clickHandler = () => { + if (validations(val)) return; + if (gt(val, max)) + return toastify({ + type: 'error', + msg: 'Amount exceeds balance.', + id: '007', + }); + if (pageState.activeModal === 'iBFRstake') + return stakeUnstakeiBFR(val, 'stakeBfr'); + if (pageState.activeModal === 'esBFRstake') + return stakeUnstakeiBFR(val, 'stakeEsBfr'); + }; + + return ( + <> + +
+ approve(toFixed(getPosInf(), 0), setApprovalState)} + className="mr-4 rounded" + isDisabled={isApproved || state.txnLoading > 1} + isLoading={state.txnLoading === 1 && approveState} + > + Approve + + 1 || !isApproved} + isLoading={state.txnLoading === 1 && !approveState} + > + Stake + +
+ + ); +}; + +const Unstake = ({ max, head, unit }) => { + const [val, setVal] = useState(''); + const [pageState] = useAtom(earnAtom); + const toastify = useToast(); + const { stakeUnstakeiBFR, validations } = useEarnWriteCalls('Router'); + const { state } = useGlobal(); + + const clickHandler = () => { + if (validations(val)) return; + if (gt(val, max)) + return toastify({ + type: 'error', + msg: 'Amount exceeds max unstakeable value.', + id: '007', + }); + + if (pageState.activeModal === 'iBFRunstake') + return stakeUnstakeiBFR(val, 'unstakeBfr'); + + if (pageState.activeModal === 'esBFRunstake') + return stakeUnstakeiBFR(val, 'unstakeEsBfr'); + }; + return ( + <> + + 1} + isLoading={state.txnLoading === 1} + > + Unstake + + + ); +}; diff --git a/src/Views/Earn/earnAtom.ts b/src/Views/Earn/earnAtom.ts new file mode 100644 index 0000000..de0ee0c --- /dev/null +++ b/src/Views/Earn/earnAtom.ts @@ -0,0 +1,159 @@ +import { atom } from 'jotai'; +import { ReactNode } from 'react'; +import { atomWithLocalStorage } from '@Views/BinaryOptions/PGDrawer'; +interface IEarnAtom { + isModalOpen: boolean; + activeModal: string | null; +} +export const earnAtom = atom({ + isModalOpen: false, + activeModal: null, +}); + +export const writeEarnAtom = atom(null, (get, set, update: IEarnAtom) => + set(earnAtom, update) +); + +const earnData = atom({ earn: null, vest: null }); +export const readEarnData = atom((get) => get(earnData)); +export const writeEarnData = atom(null, (get, set, update: IEarn) => { + set(earnData, update); +}); + +export const compoundRewardsAtom = atomWithLocalStorage('compoundrewardsKeys', { + shouldstakemultiplierpoints: true, + shouldclaimiBFR: true, + shouldstakeiBFR: true, + shouldclaimesBFR: true, + shouldstakeesBFR: true, + shouldclaimeth: true, + shouldconvertweth: true, +}); + +export const claimRewardsAtom = atomWithLocalStorage('claimrewardsKeys', { + shouldclaimiBFR: true, + shouldclaimesBFR: true, + shouldclaimeth: true, + shouldconvertweth: true, +}); + +export interface IClaim { + shouldclaimiBFR: boolean; + shouldclaimesBFR: boolean; + shouldclaimeth: boolean; + shouldconvertweth: boolean; +} + +export interface ICompound { + shouldstakemultiplierpoints: boolean; + shouldclaimiBFR: boolean; + shouldstakeiBFR: boolean; + shouldclaimesBFR: boolean; + shouldstakeesBFR: boolean; + shouldclaimeth: boolean; + shouldconvertweth: boolean; +} +interface IValue { + value_in_usd: string; + token_value: string; + token_value_abs: string; +} +interface ITooltip { + key: string; + value: string; +} +interface IApr { + description: string; + tooltip: ITooltip[]; + value: string; +} + +export interface IBLP { + price: string; + apr: IApr; + total_staked: IValue; + total_supply: IValue; + max_unstakeable: string; + multiplier_points_apr: string; + maxLiquidity: string; + currentLiquidity: string; + lockupPeriod: string; + user: { + usd_reward: string; + rewards: string; + staked: IValue; + wallet_balance: IValue; + max_unlocked_amount: string; + esBfr_rewards: { + value_abs: string; + value_in_usd: string; + }; + }; +} +export interface IiBFR extends Omit { + boost_percentage: string; + boost_percentage_description: ReactNode; + multiplier_points_apr: string; + user: { + allowance: string; + usd_reward: string; + rewards: string; + staked: IValue; + wallet_balance: IValue; + esBfr_rewards: { value_abs: string; value_in_usd: string }; + }; +} + +export interface IesBfr extends Omit { + user: { + allowance: string; + usd_reward: string; + rewards: string; + staked: IValue; + wallet_balance: IValue; + esBfr_rewards: { value_abs: string; value_in_usd: string }; + }; +} +export interface IBLPV2 extends IBLP { + blpToUsdc: string; + usdcToBlp: string; +} +export interface ITotalRewards { + multiplier_points: string; + staked_multiplier_points: string; + total: string; + usd: IValue; + esBfr: IValue; + bfr: IValue; +} + +export interface IStakedToken { + value: string; + tooltip: ITooltip[]; +} +export interface IVestToken { + staked_tokens: IStakedToken; + reserved_for_vesting: string[]; + vesting_status: { claimed: string; vested: string }; + claimable: string; + maxVestableAmount: string; + maxVestableAmountExact: string; + averageStakedAmount: string; + pair_token: string; + allowance: string; + hasEnoughReserveTokens: boolean; +} +interface IContract { + abi: any[]; + address: string; +} +export interface IEarn { + earn?: { + ibfr: IiBFR; + blp: IBLPV2; + esBfr: IesBfr; + total_rewards: ITotalRewards; + usdc: { wallet_balance: string; allowance: string }; + }; + vest?: { ibfr: IVestToken; blp: IVestToken }; +} diff --git a/src/Views/Earn/index.tsx b/src/Views/Earn/index.tsx new file mode 100644 index 0000000..38157d1 --- /dev/null +++ b/src/Views/Earn/index.tsx @@ -0,0 +1,130 @@ +import styled from '@emotion/styled'; +import { useAtom } from 'jotai'; +import React, { useEffect } from 'react'; +import EarnIcon from 'src/SVG/Elements/EarnIcon'; +import FrontArrow from 'src/SVG/frontArrow'; +// import { HeadTitle } from 'Views/Common/TitleHead'; +import Drawer from '@Views/Common/V2-Drawer'; +import { Chain } from 'wagmi'; +import { getEarnCards } from './Components/EarnCards'; +import { Section } from './Components/Section'; +import { getVestCards } from './Components/VestCards'; +import { IEarn, writeEarnData } from './earnAtom'; +import { useGetTokenomics } from './Hooks/useTokenomicsMulticall'; +import { EarnModals } from './Modals'; +import { useActiveChain } from '@Hooks/useActiveChain'; + +const EarnStyles = styled.div` + width: min(1200px, 100%); + margin: auto; + padding-bottom: 24px; + /* white-space: nowrap; */ +`; + +const topStyles = 'flex flex-row items-center justify-center mb-2 text-f22'; +const descStyles = 'w-[46rem] text-center m-auto tab:w-full'; + +export const EarnContext = React.createContext<{ activeChain: Chain } | null>( + null +); +const EarnContextProvider = EarnContext.Provider; +export const Earn = () => { + const { activeChain } = useActiveChain(); + useEffect(()=>{ + document.title = "Buffer | Earn" + },[]) + return ( + +
+ {/* */} + + +
+ + <> + +
+ ); +}; + +export const EarnPage = () => { + const [, setEarnData] = useAtom(writeEarnData); + const data: IEarn = useGetTokenomics(); + + setEarnData(data); + + return ( + + +
+ + Earn + + } + Cards={getEarnCards(data)} + subHeading={ +
+ Stake BFR and BLP to earn rewards. + { + window.open( + 'https://buffer-finance.medium.com/introducing-all-new-bfr-staking-and-liqudity-pool-ba4b888ba470', + '_blank' + ); + }} + > + + Learn more + + + +
+ } + /> +
+ {/* */} + shield + Vest + + } + Cards={getVestCards(data)} + subHeading={ +
+ Convert esBFR tokens to BFR tokens. + { + window.open( + 'https://buffer-finance.medium.com/introducing-all-new-bfr-staking-and-liqudity-pool-ba4b888ba470', + '_blank' + ); + }} + > + + Learn more + + + +
+ } + /> + { +
+ 🍴 Staking is forked from{' '} + + GMX + +
+ } + + ); +}; diff --git a/src/Views/Faucet/Faucet.json b/src/Views/Faucet/Faucet.json new file mode 100644 index 0000000..3ca93fc --- /dev/null +++ b/src/Views/Faucet/Faucet.json @@ -0,0 +1,213 @@ +[ + { + "inputs": [ + { + "internalType": "contract USDC", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_fee_collector", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "amount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claim", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "fee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fee_collector", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "lastSavedTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "previousHashedMessages", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract USDC", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "verifiedSigner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/src/Views/Faucet/index.tsx b/src/Views/Faucet/index.tsx new file mode 100644 index 0000000..081c64c --- /dev/null +++ b/src/Views/Faucet/index.tsx @@ -0,0 +1,179 @@ +import { Skeleton } from '@mui/material'; +import Background from './style'; +import FaucetABI from './Faucet.json'; +import { ethers } from 'ethers'; +import { useEffect, useState } from 'react'; +// import { HeadTitle } from 'Views/Common/TitleHead'; +import { useGlobal } from '@Contexts/Global'; +import { useToast } from '@Contexts/Toast'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import Drawer from '@Views/Common/V2-Drawer'; +import useOpenConnectionDrawer from '@Hooks/useOpenConnectionDrawer'; +import { CHAIN_CONFIG } from 'src/Config'; +import { useWriteCall } from '@Hooks/useWriteCall'; +import { useConnectModal} from '@rainbow-me/rainbowkit' + +const IbfrFaucet: React.FC = () => { + const props = { chain: 'ARBITRUM' } as { chain: 'ARBITRUM' }; + const { state } = useGlobal(); + const toastify = useToast(); + const [btnLoading, setBtnLoading] = useState(0); + const { openConnectModal } = useConnectModal(); + useEffect(()=>{ + document.title = "Buffer | Faucet" + },[]) + const { writeCall: USDCwriteCall } = useWriteCall( + '0x44B5aF6DFB239A24Aa0Eb0A82c168F961881b7d5', + FaucetABI + ); + const { writeCall: BFRWriteCall } = useWriteCall( + '0x8F4db9A46809782b67180F0f8f3d9843a5268137', + FaucetABI + ); + const { openWalletDrawer, shouldConnectWallet } = useOpenConnectionDrawer(); + const activeChainData = CHAIN_CONFIG[props.chain]; + + const claim = (shouldCLaimUSDC = true) => { + if (state.txnLoading > 1) { + return toastify({ + type: 'error', + msg: 'Please Confirm your pending txns.', + }); + } + function cb(res: any) { + setBtnLoading(0); + } + const overRides = { + value: ethers.utils.parseEther('0.001'), + }; + const methodName = 'claim'; + if (shouldCLaimUSDC) { + setBtnLoading(1); + return USDCwriteCall(cb, methodName, [], overRides); + } + setBtnLoading(2); + BFRWriteCall(cb, methodName, [], overRides); + }; + + const content = activeChainData && [ + { + top: `Claim ${import.meta.env.VITE_ENV} ${ + activeChainData?.nativeAsset.name + }`, + middle: ( + <> + You will have to claim{' '} + + {import.meta.env.VITE_ENV} {activeChainData?.nativeAsset.name} + {' '} + for gas fee. + + ), + bottom: ( +
+ +
+ ), + }, + { + top: `Claim TESTNET Tokens`, + bottom: shouldConnectWallet ? ( + + Connect Wallet + + ) : ( +
+ + Claim 500 USDC + + {/* + Claim 500 BFR + */} +
+ ), + }, + ]; + + return ( +
+ {/* */} + +
+ {activeChainData && content ? ( + content.map((s) => ( +
+
{s.top}
+ {s.middle &&
{s.middle}
} +
{s.bottom}
+
+ )) + ) : ( + + )} +
+
+ + <> + +
+ ); +}; + +const TestnetLinks = ({ chainName }: { chainName: 'ARBITRUM' }) => { + const activeChain = CHAIN_CONFIG[chainName]; + + return ( +
+ {activeChain.nativeAsset.faucet.map((s, idx) => { + if (s.options) + return ( +
+ {activeChain.nativeAsset.faucet.length === 1 ? '' : idx + 1 + '.'} + + {s.step} + {s.options && ( +
+ {s.options.map((option, index) => ( +
+ {index + 1 + '.'} + + {option.step} + +
+ ))} +
+ )} +
+
+ ); + else + return ( +
+ {activeChain.nativeAsset.faucet.length === 1 ? '' : idx + 1 + '.'} + + + {s.step || s} + + +
+ ); + })} +
+ ); +}; +export default IbfrFaucet; diff --git a/src/Views/Faucet/style.ts b/src/Views/Faucet/style.ts new file mode 100644 index 0000000..21e1de2 --- /dev/null +++ b/src/Views/Faucet/style.ts @@ -0,0 +1,95 @@ +import styled from '@emotion/styled'; + +const Background = styled.div` + /* background-image: url("/BG.png"); + background-position: 0% 10%; + background-size: 100% 100%; + background-repeat: no-repeat; */ + .wrapper { + /* width: 100%; */ + display: flex; + flex-direction: column; + justify-content: center; + row-gap: 2.5rem; + width: fit-content; + @media (max-width: 600px) { + flex-direction: column; + padding: 0 1rem; + padding-top: 1rem; + } + .custom-loader { + width: 50rem; + height: 20rem; + } + .faucet-card { + width: 100%; + padding: 4rem; + display: flex; + flex-direction: column; + row-gap: 2.5rem; + align-items: center; + justify-content: center; + border-radius: 2.5rem; + + @media (max-width: 600px) { + flex-direction: column; + padding: 2rem; + } + .card-head { + font-weight: 500; + font-size: 2.4rem; + color: var(--bg-20); + } + .card-middle { + color: var(--text-6); + font-size: 1.6rem; + @media (max-width: 600px) { + text-align: center; + } + /* font-weight: 500; */ + } + .card-action { + color: white; + font-size: 1.8rem; + a { + color: white; + text-decoration: underline; + &:hover { + color: var(--bg-20); + } + } + } + } + } + .root-ip-class { + .ip-class { + min-width: 40rem; + padding: 1.1rem 1.8rem !important; + background-color: var(--bg-19) !important; + + @media only screen and (max-width: 600px) { + min-width: 100%; + } + } + } + .wrapper { + margin: auto; + margin-top: 6rem; + + display: flex; + /* width: 100%; */ + /* justify-content: center; */ + /* column-gap: 1.4rem; */ + @media only screen and (max-width: 600px) { + flex-direction: column; + row-gap: 3rem; + margin-top: 0; + } + } + .btn { + /* width: 20rem; */ + width: 15rem; + border-radius: 1.4rem; + } +`; +export default Background; diff --git a/src/Views/Pro/Common/TableHead.tsx b/src/Views/Pro/Common/TableHead.tsx new file mode 100644 index 0000000..33c652f --- /dev/null +++ b/src/Views/Pro/Common/TableHead.tsx @@ -0,0 +1,22 @@ +import { TableHeads } from "@Views/Common/TableComponents/TableComponents.tsx"; +interface ITableHeader { + col: number; + headsArr: (string | JSX.Element)[]; + className?: string; + firstColClassName?: string; +} +export const TableHeader: React.FC = ({ + col, + headsArr, + className, + firstColClassName, +}) => { + if (col > headsArr.length) return
Unhandled col of header
; + return ( + + {headsArr[col]} + + ); +}; diff --git a/src/Views/Referral/Components/PlainCard.tsx b/src/Views/Referral/Components/PlainCard.tsx new file mode 100644 index 0000000..39f8e43 --- /dev/null +++ b/src/Views/Referral/Components/PlainCard.tsx @@ -0,0 +1,38 @@ +import { ReactNode } from "react"; + +interface IPlainCard { + className?: string; + children?: ReactNode; +} +let PlainCard: { + Container: React.FC; + Header: React.FC; + Description: React.FC; +} = { + Container: ({ className, children }) => { + return ( +
+ {children} +
+ ); + }, + Header: ({ className, children }) => { + return ( +
+ {children} +
+ ); + }, + Description: ({ className, children }) => { + return ( +
{children}
+ ); + }, +}; + +export default PlainCard; diff --git a/src/Views/Referral/Components/ReferralModal.tsx b/src/Views/Referral/Components/ReferralModal.tsx new file mode 100644 index 0000000..6aee2d5 --- /dev/null +++ b/src/Views/Referral/Components/ReferralModal.tsx @@ -0,0 +1,60 @@ +import styled from "@emotion/styled"; +import { CloseOutlined } from "@mui/icons-material"; +import { Dialog, IconButton } from "@mui/material"; +import React from "react"; +import BufferInput from "@Views/Common/BufferInput"; +import { PrimaryBtn } from "@Views/Common/Buttons"; + +const ReferralModalStyles = styled.div` + background-color: var(--dropdown-hover); + gap: 1.4rem; + padding: 3rem; + position: relative; + width: 100%; + min-width: min(100%, 800px); + .close { + position: absolute; + right: 4rem; + top: 2px; + + color: var(--text-1); + background-color: var(--bg-14); + border-radius: 50%; + } +`; + +interface IReferralModal { + closeModal: () => void; + isOpen: boolean; + btn: JSX.Element; + inputVal: string; + setInputVal: (val: string) => void; +} + +export const ReferralCodeModal: React.FC = ({ + closeModal, + isOpen, + btn, + setInputVal, + inputVal, +}) => { + if (!isOpen) return <>; + return ( + + + Activate Referral Code{" "} + + + + setInputVal(newValue)} + className="bg-5 ip-border my-4 mt-6 minww mb-5" + placeholder="Enter your code" + // unit={} + >{" "} + {btn} + + + ); +}; diff --git a/src/Views/Referral/Components/ReferralTable.tsx b/src/Views/Referral/Components/ReferralTable.tsx new file mode 100644 index 0000000..7768a0f --- /dev/null +++ b/src/Views/Referral/Components/ReferralTable.tsx @@ -0,0 +1,69 @@ +import { ReactNode } from "react"; +import BufferTable from "@Views/Common/BufferTable"; +import { CellContent } from "@Views/Common/BufferTable/CellInfo"; + +interface IReferralLinksTable { + className?: string; + links: { + code: string; + volume: number; + trades: number; + rebates: number; + }[]; + children?: ReactNode; +} + +const colMapping = { + 0: "Referral code", + 1: "Total Volume", + 2: "Traders Referred", + 3: "Total Trades", +}; +const mobMapping = { + 0: "Code", + 1: "Volume", + 2: "Referrers", + 3: "Total Trades", +}; + +const ReferralLinksTable: React.FC = ({ + className, + links, + children, +}) => { + const ReferralTableBody = (row, col) => { + switch (col) { + case 0: + return ; + case 1: + return ; + case 2: + return ; + case 3: + return ; + } + return
; + }; + + return ( + { + return ( +
+ {typeof window !== "undefined" && window.innerWidth < 600 + ? mobMapping[col] + : colMapping[col]} +
+ ); + }} + >
+ ); +}; + +export default ReferralLinksTable; diff --git a/src/Views/Referral/Components/ReferralTableBody.tsx b/src/Views/Referral/Components/ReferralTableBody.tsx new file mode 100644 index 0000000..4c4565a --- /dev/null +++ b/src/Views/Referral/Components/ReferralTableBody.tsx @@ -0,0 +1,12 @@ +interface IReferralTableBody { + row: number; + col: number; +} + +const ReferralTableBody: React.FC = (row, col) => { + switch (col) { + } + return
; +}; + +export default ReferralTableBody; diff --git a/src/Views/Referral/Config/Address.ts b/src/Views/Referral/Config/Address.ts new file mode 100644 index 0000000..1078142 --- /dev/null +++ b/src/Views/Referral/Config/Address.ts @@ -0,0 +1,8 @@ +import MarketConfig from 'public/config.json' + + +export function getContract(chainId:'ddsfd', name: "referral") { + const environment = import.meta.env.VITE_ENV.toLowerCase() == 'testnet' ? 'arbitrum-test' :'arbitrum-main' + const contract = MarketConfig[environment].referral_storage + return contract; +} diff --git a/src/Views/Referral/Config/ReferralABI.json b/src/Views/Referral/Config/ReferralABI.json new file mode 100644 index 0000000..7d31598 --- /dev/null +++ b/src/Views/Referral/Config/ReferralABI.json @@ -0,0 +1,287 @@ +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "code", + "type": "string" + } + ], + "name": "RegisterCode", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "code", + "type": "string" + } + ], + "name": "SetCodeOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "tierId", + "type": "uint8" + } + ], + "name": "UpdateReferrerTier", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "code", + "type": "string" + } + ], + "name": "UpdateTraderReferralCode", + "type": "event" + }, + { + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "UserReferralData", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tradeVolume", + "type": "uint256" + }, + { "internalType": "uint256", "name": "rebate", "type": "uint256" }, + { "internalType": "uint256", "name": "trades", "type": "uint256" } + ], + "internalType": "struct IReferralStorage.ReferrerData", + "name": "referrerData", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tradeVolume", + "type": "uint256" + }, + { "internalType": "uint256", "name": "rebate", "type": "uint256" } + ], + "internalType": "struct IReferralStorage.ReferreeData", + "name": "referreeData", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "string", "name": "", "type": "string" }], + "name": "codeOwner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8[3]", + "name": "_referrerTierStep", + "type": "uint8[3]" + }, + { + "internalType": "uint32[3]", + "name": "_referrerTierDiscount", + "type": "uint32[3]" + } + ], + "name": "configure", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" } + ], + "name": "getTraderReferralInfo", + "outputs": [ + { "internalType": "string", "name": "code", "type": "string" }, + { "internalType": "address", "name": "referrer", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "referrerTier", + "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "name": "referrerTierDiscount", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "name": "referrerTierStep", + "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "string", "name": "_code", "type": "string" }], + "name": "registerCode", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "string", "name": "_code", "type": "string" }, + { "internalType": "address", "name": "_newUser", "type": "address" } + ], + "name": "setCodeOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_referrer", "type": "address" }, + { "internalType": "uint8", "name": "tier", "type": "uint8" } + ], + "name": "setReferrerTier", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "string", "name": "_code", "type": "string" } + ], + "name": "setTraderReferralCode", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "string", "name": "_code", "type": "string" }], + "name": "setTraderReferralCodeByUser", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "name": "tiers", + "outputs": [ + { "internalType": "uint256", "name": "totalRebate", "type": "uint256" }, + { "internalType": "uint256", "name": "discountShare", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "traderReferralCodes", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "userCode", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + } +] diff --git a/src/Views/Referral/Hooks/useAppliedReferral.ts b/src/Views/Referral/Hooks/useAppliedReferral.ts new file mode 100644 index 0000000..81c453b --- /dev/null +++ b/src/Views/Referral/Hooks/useAppliedReferral.ts @@ -0,0 +1,23 @@ +import { useContext } from "react"; +import { useAccount, useContractReads } from "wagmi"; +import { getContract } from "../Config/Address"; +import { ReferralContext } from "../referralAtom"; +import ReferralABI from "../Config/ReferralABI.json"; +import { useUserAccount } from "@Hooks/useUserAccount"; + +export const useAppliedReferral = () => { + const { address: account } = useUserAccount(); + const { activeChain } = useContext(ReferralContext); + + return useContractReads({ + contracts: [ + { + address: getContract(activeChain.id, "referral"), + abi: ReferralABI, + functionName: "traderReferralCodes", + args: [account], + chainId: activeChain.id, + }, + ], + })?.data?.[0]; +}; diff --git a/src/Views/Referral/Hooks/useCodeOwner.ts b/src/Views/Referral/Hooks/useCodeOwner.ts new file mode 100644 index 0000000..f3e5042 --- /dev/null +++ b/src/Views/Referral/Hooks/useCodeOwner.ts @@ -0,0 +1,37 @@ +import { useContext, useEffect, useState } from "react"; +import ReferralABI from "@Views/Referral/Config/ReferralABI.json"; +import useDebouncedEffect from "@Hooks/Utilities/useDeboncedEffect"; +import { useContract, useProvider } from "wagmi"; +import { ReferralContext } from "@Views/Referral/referralAtom"; +import { contractRead } from "@Utils/useReadCall"; +import { getContract } from "../Config/Address"; + +export function useCodeOwner(code: string) { + const [owner, setOwner] = useState(null); + const { activeChain } = useContext(ReferralContext); + const provider = useProvider({ chainId: activeChain.id }); + + const referralContract = useContract({ + address: getContract(activeChain.id, "referral"), + abi: ReferralABI, + signerOrProvider: provider, + }); + + const updateOwner = async () => { + if (!code) return; + const tempOwner = await contractRead(referralContract, "codeOwner", [code]); + setOwner(tempOwner); + }; + useDebouncedEffect( + () => { + updateOwner(); + }, + 300, + [code] + ); + // const updateOwnerDebounced = throttle(updateOwner, 500); + useEffect(() => { + setOwner(null); + }, [code]); + return owner; +} diff --git a/src/Views/Referral/Hooks/useReferralWriteCalls.ts b/src/Views/Referral/Hooks/useReferralWriteCalls.ts new file mode 100644 index 0000000..3ea29fd --- /dev/null +++ b/src/Views/Referral/Hooks/useReferralWriteCalls.ts @@ -0,0 +1,23 @@ +import { useWriteCall } from '@Hooks/useWriteCall'; +import { useContext } from 'react'; +import { getContract } from '../Config/Address'; +import ReferralABI from '../Config/ReferralABI.json'; +import { ReferralContext } from '../referralAtom'; + +type methodName = 'registerCode' | 'setTraderReferralCodeByUser'; + +export const useReferralWriteCall = () => { + const { activeChain } = useContext(ReferralContext); + const referralAddress = getContract(activeChain.id, 'referral'); + const { writeCall } = useWriteCall(referralAddress, ReferralABI); + + function callBack(res): void { + console.log(res); + } + + function writeTXN(code: string, method: methodName): void { + writeCall(callBack, method, [code]); + } + + return { writeTXN }; +}; diff --git a/src/Views/Referral/Hooks/useUserCode.ts b/src/Views/Referral/Hooks/useUserCode.ts new file mode 100644 index 0000000..6dc710e --- /dev/null +++ b/src/Views/Referral/Hooks/useUserCode.ts @@ -0,0 +1,38 @@ +import { Chain, useAccount, useContractReads } from "wagmi"; +import getDeepCopy from "@Utils/getDeepCopy"; +import { convertBNtoString } from "@Utils/useReadCall"; +import ReferralABI from "../Config/ReferralABI.json"; +import { getContract } from "../Config/Address"; +import { useUserAccount } from "@Hooks/useUserAccount"; + +export function useUserCode(activeChain: Chain) { + const activeChainID = activeChain.id; + const { address: account } = useUserAccount(); + const referralAddress = getContract(activeChain.id, "referral"); + + const calls = referralAddress + ? [ + { + address: referralAddress, + abi: ReferralABI, + functionName: "userCode", + args: [account], + chainId: activeChainID, + }, + ] + : []; + + const { data } = useContractReads({ + contracts: calls, + watch: true, + }); + + let response = { affiliateCode: null }; + + if (data && data?.[0]) { + const convertedData = getDeepCopy(data); + convertBNtoString(convertedData); + response = { affiliateCode: convertedData[0] }; + } + return response; +} diff --git a/src/Views/Referral/Hooks/useUserReferralData.ts b/src/Views/Referral/Hooks/useUserReferralData.ts new file mode 100644 index 0000000..9a1f210 --- /dev/null +++ b/src/Views/Referral/Hooks/useUserReferralData.ts @@ -0,0 +1,67 @@ +import { Chain, useAccount, useContractReads } from "wagmi"; +import getDeepCopy from "@Utils/getDeepCopy"; +import { convertBNtoString, useReadCall } from "@Utils/useReadCall"; +import ReferralABI from "../Config/ReferralABI.json"; +import { getContract } from "../Config/Address"; +import axios from "axios"; +import useSWR from "swr"; +import { useUserAccount } from "@Hooks/useUserAccount"; + +export function useUserReferralData(activeChain: Chain) { + const activeChainID = activeChain.id; + const { address: account } = useUserAccount(); + const referralAddress = getContract(activeChain.id, "referral"); + + const calls = referralAddress + ? [ + { + address: referralAddress, + abi: ReferralABI, + functionName: "traderReferralCodes", + args: [account], + chainId: activeChainID, + }, + ] + : []; + + const { data } = useContractReads({ + contracts: calls, + watch: true, + }); + + let response = { + referreeRebate: null, + referreeVolume: null, + referreeCode: null, + referrerTrades: null, + referrerVolume: null, + referrerDiscount: null, + }; + + if (data && data?.[0]) { + const convertedData = getDeepCopy(data?.[0]); + convertBNtoString(convertedData); + response.referreeCode = convertedData; + } + return response; +} + +export function useRefereeCode(activeChain: Chain) { + const activeChainID = activeChain.id; + const { address: account } = useUserAccount(); + const referralAddress = getContract(activeChain.id, "referral"); + + const calls = referralAddress + ? [ + { + address: referralAddress, + abi: ReferralABI, + name: "traderReferralCodes", + params: [account], + }, + ] + : []; + return useReadCall({ + contracts: calls, + }); +} diff --git a/src/Views/Referral/Utils/isNullAds.ts b/src/Views/Referral/Utils/isNullAds.ts new file mode 100644 index 0000000..7271ff3 --- /dev/null +++ b/src/Views/Referral/Utils/isNullAds.ts @@ -0,0 +1,11 @@ +export const isNullAdds = (a: string) => { + if (!a) return true; + let n = a.length; + let zeroCnt = 0; + for (let c of a) { + if (c == "0") zeroCnt++; + } + + if (zeroCnt >= n - 1) return true; + return false; +}; diff --git a/src/Views/Referral/Utils/useReferralCode.tsx b/src/Views/Referral/Utils/useReferralCode.tsx new file mode 100644 index 0000000..5a2528d --- /dev/null +++ b/src/Views/Referral/Utils/useReferralCode.tsx @@ -0,0 +1,15 @@ +import { useAtomValue } from "jotai"; +import { referralCodeAtom } from "@Views/BinaryOptions"; +import { Chain } from "wagmi"; +import { useRefereeCode } from "../Hooks/useUserReferralData"; + +export const useReferralCode = (activeChain: Chain) => { + // return ["hello", "hello", "hello"]; + const referrerInLocalStorage = useAtomValue(referralCodeAtom); + const { data } = useRefereeCode(activeChain); + return [ + data?.[0][0], + referrerInLocalStorage, + data?.[0][0] || referrerInLocalStorage || "", + ]; +}; diff --git a/src/Views/Referral/index.tsx b/src/Views/Referral/index.tsx new file mode 100644 index 0000000..6b0d44e --- /dev/null +++ b/src/Views/Referral/index.tsx @@ -0,0 +1,506 @@ +import { useGlobal } from '@Contexts/Global'; +import { useToast } from '@Contexts/Toast'; +import { useAtom } from 'jotai'; +import { useState, useEffect, ReactNode, useContext } from 'react'; +import { useCodeOwner } from './Hooks/useCodeOwner'; +import BufferInput from '@Views/Common/BufferInput'; +import BufferTransitionedTab from '@Views/Common/BufferTransitionedTab'; +import Header from '@Views/Common/Header'; +import HorizontalTransition from '@Views/Common/Transitions/Horizontal'; +import Drawer from '@Views/Common/V2-Drawer'; +import PlainCard from '@Views/Referral/Components/PlainCard'; +import { ReferralCodeModal } from '@Views/Referral/Components/ReferralModal'; +import { useReferralWriteCall } from '@Views/Referral/Hooks/useReferralWriteCalls'; +import { useConnectModal} from '@rainbow-me/rainbowkit' + +import { + ReferralContext, + ReferralContextProvider, + showCodeModalAtom, +} from './referralAtom'; +import ReferralABI from './Config/ReferralABI.json'; +const USDC_DECIMALS = 6; +import { isNullAdds } from './Utils/isNullAds'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { useReferralCode } from './Utils/useReferralCode'; +import YellowWarning from '@SVG/Elements/YellowWarning'; +import { BlueBtn } from '@Views/Common/V2-Button'; +import { useUserCode } from './Hooks/useUserCode'; +import { Chain, useAccount, useContractReads } from 'wagmi'; +import useOpenConnectionDrawer from '@Hooks/Utilities/useOpenConnectionDrawer'; +import { ContentCopy } from '@mui/icons-material'; +import { useCopyToClipboard } from 'react-use'; +import { getContract } from './Config/Address'; +import getDeepCopy from '@Utils/getDeepCopy'; +import { convertBNtoString } from '@Utils/useReadCall'; +import useSWR from 'swr'; +import axios from 'axios'; +import { divide } from '@Utils/NumString/stringArithmatics'; +import { Tooltip } from '@mui/material'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import { defaultPair } from '@Views/BinaryOptions'; +import { baseGraphqlUrl } from 'config'; +import { HeadTitle } from '@Views/Common/TitleHead'; +import { useActiveChain } from '@Hooks/useActiveChain'; +import { snackAtom } from 'src/App'; + +interface IReferral {} + +// status 1 - go ahead +// status 2 - NA +// status 3 - loading +interface IReferralStat { + totalTradesReferred: string; + totalVolumeOfReferredTrades: string; + totalRebateEarned: string; + totalTradingVolume: string; + totalDiscountAvailed: string; +} +export const ReferralPage = () => { + const { activeChain } = useActiveChain(); + return ( + +
+ + +
+ + + <> + +
+ ); +}; + +const useUserAffilateCode = (activeChain: Chain) => { + const { address } = useUserAccount(); + const referralAddress = getContract(activeChain.id, 'referral'); + + const calls = referralAddress + ? [ + { + address: referralAddress, + abi: ReferralABI, + functionName: 'traderReferralCodes', + args: [address], + chainId: activeChain.id, + }, + ] + : []; + + const { data } = useContractReads({ + contracts: calls, + watch: true, + }); + + if (data && data?.[0]) { + const convertedData = getDeepCopy(data?.[0]); + convertBNtoString(convertedData); + } + return data; +}; + +const Referral: React.FC = ({}) => { + const { activeChain } = useContext(ReferralContext); + const [showCodeModal, setShowCodeModal] = useAtom(showCodeModalAtom); + const tabs = ['Use a Referral', 'Create your Referral']; + const { writeTXN } = useReferralWriteCall(); + const [activeTab, setActiveTab] = useState(tabs[0]); + const [ip, setip] = useState(''); + const toastify = useToast(); + const owner = useCodeOwner(ip); + const { state } = useGlobal(); + const referralCodes = useReferralCode(activeChain); + const { address: account } = useUserAccount(); + const { data }: { data?: IReferralStat } = useUserReferralStats(); + const { openConnectModal } = useConnectModal(); + + const shouldConnectWallet = !account; + useEffect(() => { + setip(''); + }, [activeTab]); + + useEffect(() => { + if ( + activeTab === tabs[0] && + referralCodes[1] && + !referralCodes[0] && + typeof referralCodes[1] === 'string' + ) + setip(referralCodes[1]); + }, [activeTab, account]); + + const closeModal = () => { + setShowCodeModal(false); + }; + + let btnText: ReactNode = + activeTab === tabs[1] ? <>Create : <>Activate Referral Code; + let checking = false; + if (ip && !owner) { + checking = true; + } + let toastText = ''; + if (ip && owner) { + // not available condition + if (activeTab === tabs[0]) { + // traders + if (isNullAdds(owner)) { + btnText = 'Not Available!'; + toastText = "This code doesn't belong to any affilate!"; + } + } + if (activeTab === tabs[1]) { + // affliates + if (!isNullAdds(owner)) { + btnText = 'Not Available!'; + toastText = 'Code already taken!'; + } + } + } + + let DataBoxArr = []; + let affiliateBoxArr = []; + + if (!shouldConnectWallet) { + if (activeTab === tabs[0]) { + DataBoxArr = data && [ + { + header: 'Total Trading Volume', + desc: ( + + ), + }, + { + header: 'Total Discount', + desc: ( + + ), + }, + { + header: 'Active Referral Code', + desc: ( +
+ {referralCodes[2]} + + +
+ ), + }, + ]; + } + affiliateBoxArr = data && [ + { + header: 'Total Trading Volume', + desc: ( + + ), + }, + { + header: 'Total Referred trades', + desc: data?.totalTradesReferred, + }, + { + header: 'Total Rebate Earned', + desc: ( + + ), + }, + ]; + } + + const shareHandler = () => { + if (toastText) { + return toastify({ + type: 'error', + msg: toastText, + id: '09', + }); + } + + if (checking) { + return toastify({ + type: 'error', + msg: 'Please wait until referral code processing is done.', + id: '9', + }); + } + if (!ip || ip === '') + return toastify({ + type: 'error', + msg: 'Please Enter A Valid Code.', + id: '009', + }); + const code = ip; + const methodName = + tabs.indexOf(activeTab) === 1 + ? 'registerCode' + : 'setTraderReferralCodeByUser'; + writeTXN(code, methodName); + closeModal(); + }; + + const btn = ( + 1} + isLoading={state.txnLoading === 1} + > + {shouldConnectWallet + ? 'Connect Wallet' + : checking + ? 'Checking...' + : btnText} + + ); + useEffect(()=>{ + document.title = "Buffer | Referrals" + },[]) + + return ( + <> + + + <> + + Referral + + + Get fee discounts and earn rebates. + Note: Referral codes are case sensitive +
+ {/* For more information, please read the + + Buffer referral system + */} +
+
+ + {tabs.map((s) => ( + { + setActiveTab(s); + }} + active={activeTab === s} + > + {s} + + ))} + + + + <> +
+ {referralCodes[2] !== '' && account ? ( + DataBoxArr?.map((singleData, index) => ( + + )) + ) : ( + + Avail Referral Discounts + + Please input a referral code to benefit from fee discounts. + + } + > + {!referralCodes[0] && referralCodes[1] && ( + + + Activate your referral code. + + )}{' '} + {btn} + + )} +
+ + +
+ + ); +}; + +const DataCard = ({ header, desc }) => { + return ( + + {header} + + {desc} + + + ); +}; + +const Affilate = ({ + affiliateBoxArr, + shouldConnectWallet, + inputValue, + setInput, + btn, +}) => { + const { activeChain } = useContext(ReferralContext); + const { affiliateCode } = useUserCode(activeChain); + const isCodeSet = !!affiliateCode; + const [snack, setSnack] = useAtom(snackAtom); + const { hostname } = window.location; + const [state, copyToClipboard] = useCopyToClipboard(); + const [open, setOpen] = useState(false); + const link = `https://${hostname}/#/?ref=${affiliateCode}`; + console.log(`link: `, link); + const copyLink = () => { + try { + copyToClipboard(link); + setOpen(true); + } catch (err) { + setOpen(false); + } + }; + + useEffect(() => { + if (open) { + setTimeout(() => { + setOpen(false); + }, 4000); + } + }, [open]); + return ( + <> +
+ {isCodeSet && + affiliateBoxArr?.map((singleData, index) => ( + + ))} +
+ + + + {isCodeSet ? 'Copy your Referral Link' : 'Share your Referral Code'} + + {!isCodeSet && ( + + Looks like you dont have any referral to share. Create one now and + start earning. + + )} + { + setOpen(false); + }} + title="Copied" + placement="top" + disableFocusListener + disableHoverListener + disableTouchListener + classes={{ + tooltip: 'tooltip', + arrow: 'arrow', + }} + > + + + ) : ( + <> + ) + } + onChange={setInput} + className="bg-5 ip-border " + placeholder="Enter your code" + /> + {!isCodeSet && btn} + + + ); +}; + +const useUserReferralStats = () => { + const { address } = useUserAccount(); + return useSWR(`${address}-stats`, { + fetcher: async () => { + const response = await axios.post(baseGraphqlUrl, { + query: `{ + referralDatas (where: { id: "${address}"} ) { + totalTradesReferred + totalVolumeOfReferredTrades + totalRebateEarned + totalTradingVolume + totalDiscountAvailed + } + } + `, + }); + return ( + response.data?.data?.referralDatas?.[0] || { + totalTradesReferred: '0', + totalVolumeOfReferredTrades: '0', + totalRebateEarned: '0', + totalTradingVolume: '0', + totalDiscountAvailed: '0', + } + ); + }, + refreshInterval: 400, + }); +}; diff --git a/src/Views/Referral/referralAtom.ts b/src/Views/Referral/referralAtom.ts new file mode 100644 index 0000000..21a89bc --- /dev/null +++ b/src/Views/Referral/referralAtom.ts @@ -0,0 +1,11 @@ +import { atom } from "jotai"; +import React from "react"; +import { Chain } from "wagmi"; + +export const showCodeModalAtom = atom(false); + +export const ReferralContext = React.createContext<{ + activeChain: Chain; +} | null>(null); + +export const ReferralContextProvider = ReferralContext.Provider; diff --git a/src/Views/V2-Leaderboard/Components/ContestFilterDD/index.tsx b/src/Views/V2-Leaderboard/Components/ContestFilterDD/index.tsx new file mode 100644 index 0000000..e5842eb --- /dev/null +++ b/src/Views/V2-Leaderboard/Components/ContestFilterDD/index.tsx @@ -0,0 +1,81 @@ +import { createArray } from '@Utils/JSUtils/createArray'; +import BufferDropdown from '@Views/Common/BufferDropdown'; +import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; +import styled from '@emotion/styled'; +import { useLocation, useParams } from 'react-router'; +import { Link, useSearchParams } from 'react-router-dom'; +import { useEffect, useMemo } from 'react'; + +const Background = styled.div` + .scrollbar { + ::-webkit-scrollbar { + background: var(--bg-grey); + height: 1px; + width: 1px; + } + } +`; + +export const useDayOffset = () => { + const [searchParams, setSearchParams] = useSearchParams(); + const offset = useMemo(() => searchParams.get('offset'), [searchParams]); + + function setOffset(offset: string) { + setSearchParams({ offset }); + } + + useEffect(() => { + if (offset === null) { + setOffset('0'); + } + }, [offset]); + + return { offset, setOffset }; +}; + +export function ContestFilterDD({ count }: { count: number }) { + const isDD = count > 1; + const itemsArray = isDD ? createArray(count) : []; + const { offset, setOffset } = useDayOffset(); + + if (!isDD) return
#1
; + return ( + + { + return ( + + ); + }} + initialActive={0} + dropdownBox={(a, isOpen) => ( +
+ #{count - Number(offset)}{' '} + {isDD && ( +
+ +
+ )} +
+ )} + /> +
+ ); +} diff --git a/src/Views/V2-Leaderboard/Components/Rank.tsx b/src/Views/V2-Leaderboard/Components/Rank.tsx new file mode 100644 index 0000000..2dae3fe --- /dev/null +++ b/src/Views/V2-Leaderboard/Components/Rank.tsx @@ -0,0 +1,27 @@ +import { useMemo } from 'react'; +import { CellContent } from '@Views/Common/BufferTable/CellInfo'; +import { ILeague } from '../interfaces'; +import Trophy from './Trophy'; + +export const Rank: React.FC<{ + userRank: number | string; + row: number; + skip: number; + isUser: boolean; + firstColPadding?: string; +}> = ({ userRank, row, skip, isUser, firstColPadding = '' }) => { + const rank = userRank || skip + row + 1; + + return ( + + +
+ # {rank} +
+ , + ]} + /> + ); +}; diff --git a/src/Views/V2-Leaderboard/Components/TableAligner/index.tsx b/src/Views/V2-Leaderboard/Components/TableAligner/index.tsx new file mode 100644 index 0000000..325c7dc --- /dev/null +++ b/src/Views/V2-Leaderboard/Components/TableAligner/index.tsx @@ -0,0 +1,53 @@ +import React from "react"; +import { TableAlignerStyles } from "./style"; +import { + Table, + TableBody, + TableCell, + TableHead, + TableRow, +} from "@mui/material"; + +interface ITableAligner { + keysName: any[]; + values: any[]; + keyStyle?: string; + valueStyle?: string; + className?: string; +} + +export const TableAligner: React.FC = ({ + keysName, + values, + keyStyle, + valueStyle, + className, +}) => { + return ( + + + + + {keysName.map((row, rowIdx) => { + return ( + + {[0, 1].map((col, colIdx) => { + return ( + + {col === 0 ? keysName[rowIdx] : values[rowIdx]} + + ); + })} + + ); + })} + +
+
+ ); +}; diff --git a/src/Views/V2-Leaderboard/Components/TableAligner/style.ts b/src/Views/V2-Leaderboard/Components/TableAligner/style.ts new file mode 100644 index 0000000..8cd8368 --- /dev/null +++ b/src/Views/V2-Leaderboard/Components/TableAligner/style.ts @@ -0,0 +1,15 @@ +import styled from "@emotion/styled"; + +export const TableAlignerStyles = styled.div` + /* width: 100%; */ + .table-cell { + /* padding: 1.3rem 0; */ + /* font-size: 1.6rem; */ + /* font-weight: 400; */ + /* color: var(--text-6); */ + font-family: Relative Pro; + border-top: none; + border-bottom: none; + text-align: center; + } +`; diff --git a/src/Views/V2-Leaderboard/Components/TopData/index.tsx b/src/Views/V2-Leaderboard/Components/TopData/index.tsx new file mode 100644 index 0000000..6ecd710 --- /dev/null +++ b/src/Views/V2-Leaderboard/Components/TopData/index.tsx @@ -0,0 +1,24 @@ +export function TopData({ + pageImage, + heading, + desc, + DataCom, +}: { + pageImage: JSX.Element; + heading: string | JSX.Element; + DataCom: JSX.Element; + desc?: JSX.Element; +}) { + return ( +
+
+ {pageImage &&
{pageImage}
} +
+

{heading}

+ {desc &&

{desc}

} +
+
+ {DataCom} +
+ ); +} diff --git a/src/Views/V2-Leaderboard/Components/Trophy.tsx b/src/Views/V2-Leaderboard/Components/Trophy.tsx new file mode 100644 index 0000000..db0a42d --- /dev/null +++ b/src/Views/V2-Leaderboard/Components/Trophy.tsx @@ -0,0 +1,52 @@ +import LeaderboardTropy from "public/LeaderBoard/Trophy"; +import { TOTALWINNERS } from "../Incentivised"; + +export default function Trophy({ + row, + isUser, + currentRank, +}: { + row: number; + isUser: boolean; + currentRank: number; +}) { + if (currentRank <= TOTALWINNERS || row === 0) { + if (isUser && row === 0 && currentRank > TOTALWINNERS) + return ( + + + + ); + if (currentRank <= TOTALWINNERS) return ; + if (isUser) { + return ( + + + + ); + } + } + return <>; +} diff --git a/src/Views/V2-Leaderboard/Daily/DailyMobileTable.tsx b/src/Views/V2-Leaderboard/Daily/DailyMobileTable.tsx new file mode 100644 index 0000000..e6cecdb --- /dev/null +++ b/src/Views/V2-Leaderboard/Daily/DailyMobileTable.tsx @@ -0,0 +1,200 @@ +import { Skeleton } from '@mui/material'; +import React from 'react'; +import NumberTooltip from '@Views/Common/Tooltips'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { ILeague } from '../interfaces'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import { divide, gt, multiply } from '@Utils/NumString/stringArithmatics'; +import { usdcDecimals } from '../Incentivised'; +import { Rank } from '../Components/Rank'; +import Trophy from '../Components/Trophy'; + +export const DailyMobileTable: React.FC<{ + options: ILeague[] | undefined; + skip: number; + userData: ILeague[] | undefined; +}> = ({ options, skip, userData }) => { + const { address: account } = useUserAccount(); + if (!options) + return ( + + ); + let user = getUserIndex(options, skip, account); + const UserRow = + userData?.length && options?.length ? ( + + ) : null; + + return ( +
+ {UserRow} + {options.map((currentStanding, index) => { + const isUser = + currentStanding?.user && + currentStanding?.user.toLowerCase() === account?.toLowerCase(); + + return ( + + ); + })} +
+ ); +}; +export function getUserIndex(res, skip, account) { + let userInTop10 = -1; + if (res?.length && !skip && account) { + const foundIndex = res.findIndex( + (r) => r.user.toLowerCase() == account.toLowerCase() + ); + if (foundIndex !== -1) { + userInTop10 = foundIndex + 1; + } + } + return userInTop10; +} + +const MobileRow = ({ + index, + currentStanding, + user, + skip, + userData, + account, +}) => { + const isUser = user ? true : false; + const perc = multiply( + divide(currentStanding.netPnL, currentStanding.volume), + 2 + ); + const isNeg = + typeof perc === 'string' ? (perc[0] == '-' ? true : false) : perc < 0; + + return ( +
+ {/* FIrst Row */} +
+ {/* Left Side*/} +
+
+ +
+
+ {currentStanding?.user === account ? ( + Your Account + ) : ( +
+ +
+ {isUser + ? 'Your Account' + : !currentStanding?.user + ? 'Wallet not connected' + : currentStanding?.user.slice(0, 4) + + '...' + + currentStanding?.user.slice(-4)} +
+
+
+ )} +
+
+ + {/* Right Side*/} +
+
Trades
+
+ {!currentStanding.netPnL || currentStanding.netPnL === null + ? '-' + : currentStanding.totalTrades} +
+
+
+ + {/* Second Row */} +
+ {/* Left Side*/} +
+
+
Net PnL
+
+ {currentStanding.netPnL === null ? ( + '-' + ) : ( + + )} +
+
+
+
Absolute PnL
+
+ {currentStanding.netPnL === null ? ( + '-' + ) : ( + + )} +
+
+
+ + {/* Right Side*/} +
+
Volume
+
+ {currentStanding.netPnL === null ? ( + '-' + ) : ( + + )} +
+
+
+
+ ); +}; diff --git a/src/Views/V2-Leaderboard/Daily/DailyWebTable.tsx b/src/Views/V2-Leaderboard/Daily/DailyWebTable.tsx new file mode 100644 index 0000000..b9d719b --- /dev/null +++ b/src/Views/V2-Leaderboard/Daily/DailyWebTable.tsx @@ -0,0 +1,255 @@ +import React, { ReactNode, useMemo } from 'react'; +import BufferTable, { + BufferTableCell, + BufferTableRow, +} from '@Views/Common/BufferTable'; +import { CellContent } from '@Views/Common/BufferTable/CellInfo'; +import TableErrorMsg from '@Views/Common/BufferTable/ErrorMsg'; +import NumberTooltip from '@Views/Common/Tooltips'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { TableHeader } from '@Views/Pro/Common/TableHead'; +import { ILeague } from '../interfaces'; +import { LeaderBoardTableStyles } from './stlye'; +import { DailyMobileTable } from './DailyMobileTable'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import { divide, gt, multiply } from '@Utils/NumString/stringArithmatics'; +import { usdcDecimals } from '../Incentivised'; +import { Rank } from '../Components/Rank'; + +export const DailyWebTable: React.FC<{ + res: ILeague[] | undefined; + count: number; + skip: number; + onpageChange?: (page: number) => void; + totalRows: number; + userData?: ILeague[]; +}> = ({ res, skip, count, onpageChange, userData }) => { + const { address: account } = useUserAccount(); + const isMobile = typeof window !== 'undefined' && window.innerWidth < 1200; + + //Memos - to avoid re-rendering + const firstColPadding = useMemo(() => { + return { + head: 'ml-6', + body: 'ml-4', + }; + }, []); + const DailyCols = useMemo(() => { + return [ + 'Rank', + 'User Address', + 'Volume', + 'Trades', + 'Net PnL (%)', + 'Absolute Net PnL', + ]; + }, []); + + //this adds the user data to the top of the table + + const HeaderFormatter = (col: number) => { + return ( + + ); + }; + const standings = res; + + const BodyFormatter = (row: number, col: number, user) => { + if (!standings) return <>; + let currentStanding = standings[row]; + if (user) { + currentStanding = user; + } + const isUser = user; + switch (col) { + case 0: + return ( + + ); + case 1: + return ( + + {currentStanding.user === account ? ( + Your Account + ) : ( +
+ +
+ {isUser + ? 'Your Account' + : !currentStanding.user + ? 'Wallet not connected' + : currentStanding.user.slice(0, 7) + + '...' + + currentStanding.user.slice(-7)} +
+
+
+ )} + , + ]} + /> + ); + case 2: + return ( + + {!currentStanding.volume ? ( + '-' + ) : ( + + )} + , + ]} + /> + ); + + case 3: + return ( + + {!currentStanding.netPnL || currentStanding.netPnL === null + ? '-' + : currentStanding.totalTrades} + , + ]} + /> + ); + + case 4: + // if (!currentStanding.netPnL || currentStanding.netPnL === null) + // return
null
; + try { + const perc = multiply( + divide(currentStanding.netPnL, currentStanding.volume), + 2 + ); + const isNeg = + typeof perc === 'string' + ? perc[0] == '-' + ? true + : false + : perc < 0; + return ( + + {currentStanding.netPnL === null ? ( + '-' + ) : ( + + )} + , + ]} + /> + ); + } catch (err) { + + + return
Bug
; + } + + case 5: + return ( + + {currentStanding.netPnL === null ? ( + '-' + ) : ( + + )} + , + ]} + /> + ); + + default: + return
Unhandled Cell.
; + } + }; + let userInTop10 = -1; + if (res?.length && !skip && account) { + const foundIndex = res.findIndex( + (r) => r.user.toLowerCase() == account.toLowerCase() + ); + if (foundIndex !== -1) { + userInTop10 = foundIndex + 1; + } + } + const topDecorator = + standings?.length && userData?.length ? ( + // const topDecorator = false ? ( + + {new Array(DailyCols.length).fill(9).map((_, i) => ( + + {BodyFormatter(0, i, { + ...userData[0], + rank: userInTop10 == -1 ? '-' : userInTop10, + })} + + ))} + + ) : null; + return ( + + {isMobile && ( + + )} + + {}} + count={count} + onPageChange={(a, p) => { + // router.push({ + // pathname: router.pathname, + // query: { ...router.query, page: p }, + // }); + onpageChange(p); + }} + loading={!standings} + error={ {}} />} + /> + + ); +}; diff --git a/src/Views/V2-Leaderboard/Daily/index.tsx b/src/Views/V2-Leaderboard/Daily/index.tsx new file mode 100644 index 0000000..429d460 --- /dev/null +++ b/src/Views/V2-Leaderboard/Daily/index.tsx @@ -0,0 +1,101 @@ +import React, { useEffect } from 'react'; +import { DailyStyles } from './stlye'; +import { Background } from '@Views/NFT/claimedNFT/style'; +import { Col } from '@Views/Common/ConfirmationModal'; +import DailyIcon from 'public/LeaderBoard/Daily'; +import useSWR from 'swr'; +import { Skeleton } from '@mui/material'; +import { DailyWebTable } from './DailyWebTable'; +import { getPageNumber, LeaderBoard } from '..'; +import { ILeague, IPerformer } from '../interfaces'; +import { atom, useAtom } from 'jotai'; +import { getRes } from '@Utils/apis/api'; +import useStopWatch from '@Hooks/Utilities/useStopWatch'; +import { serialize } from '@Views/Staking/utils'; +import BufferDropdown from '@Views/Common/BufferDropdown'; +import { createArray } from '@Utils/JSUtils/createArray'; +import Link from 'next/link'; +import { useRouter } from 'next/router'; +import { useGlobal } from 'Contexts/Global'; +import { MAINNET_ENVS } from '@Config/index'; +import { ContestFilterDD } from '../Components/ContestFilterDD'; +import { TopData } from '../Components/TopData'; + +const DAILY_REWARD = `binary/reward/daily/`; +const DAILY_LEADERBOARD = `binary/leaderboard/?`; +const dailyData = atom(null); +const DAY_OFFSET = 0; + +export const Daily = () => { + const [dailyRes, setData] = useAtom(dailyData); + const router = useRouter(); + const league = dailyRes; + const { state } = useGlobal(); + const isPageAvailable = MAINNET_ENVS.includes( + state.settings.activeChain?.env + ); + + useEffect(() => { + getRes(DAILY_REWARD).then(([res]) => { + setData(res); + }); + }, [setData]); + const { data: pastWeeklb } = useSWR<{ + options: IPerformer[]; + total_pages: number; + }>( + DAILY_LEADERBOARD + + serialize({ + leaderboard_type: 'daily', + day_offset: router.query.offset || 0, + page: getPageNumber(router), + limit: LEADERBOARD_LIMIT, + }) + ); + + const stopwatch = useStopWatch(league?.end_timestamp); + return ( + + + + + + ); +}; + +function WinnerCard({ className, rank, winner }) { + return ( +
+
+
#{rank}
+
+ Given away to the trader with the top Relative P&L +
+
+ +
+ ); +} + +function NFTImage({ className, type }) { + return ( + +
+ + + +
+
+ ); +} + +export const LEADERBOARD_LIMIT = 15; diff --git a/src/Views/V2-Leaderboard/Daily/stlye.ts b/src/Views/V2-Leaderboard/Daily/stlye.ts new file mode 100644 index 0000000..5953011 --- /dev/null +++ b/src/Views/V2-Leaderboard/Daily/stlye.ts @@ -0,0 +1,62 @@ +import styled from "@emotion/styled"; + +export const DailyStyles = styled.div` + color: var(--text-1); + /* width: fit-content; */ + min-height: 80vh; + width: 100%; + max-width: 1100px; + margin: 0 auto; + + .winner-card { + border-right: 1px solid #2d2d3d; + padding: 0 30px; + + :first-of-type { + padding-left: 0; + } + :last-of-type { + padding-right: 0; + border: none; + } + @media (max-width: 600px) { + width: 50%; + padding: 0; + :nth-of-type(even) { + border-right: none; + } + } + } + .items-dd { + font-size: 1.4rem; + &:hover, + &.active { + color: white; + } + } + .filter-dd { + display: flex; + justify-content: flex-end; + align-items: center; + font-size: 1.4rem; + } + + .card-pad { + padding: 0 3.5rem; + } + .daily-contest-dd { + background: #191b20; + border-radius: 1rem; + } +`; + +export const LeaderBoardTableStyles = styled.div` + .trophy { + left: -4.5rem; + top: -0.2rem; + } + + .table-width { + width: min(100%, 590px); + } +`; diff --git a/src/Views/V2-Leaderboard/Hooks/useDayOfTournament.ts b/src/Views/V2-Leaderboard/Hooks/useDayOfTournament.ts new file mode 100644 index 0000000..fb841be --- /dev/null +++ b/src/Views/V2-Leaderboard/Hooks/useDayOfTournament.ts @@ -0,0 +1,22 @@ +export const startTimstamp = 1673539200000; + +export const useDayOfTournament = () => { + //returns the current day of the tournament + // const startTimstamp = useMemo(() => new Date(startTimeStamp).getTime(), []); //start time of the tournament at 12:00:00 AM UTC + const currentTimeStamp = new Date().getTime(); + return { + day: + Math.floor((currentTimeStamp - startTimstamp) / (1000 * 60 * 60 * 24)) + + 1, + nextTimeStamp: + startTimstamp + + 1000 * + 60 * + 60 * + 24 * + (Math.floor( + (currentTimeStamp - startTimstamp) / (1000 * 60 * 60 * 24) + ) + + 1), + }; +}; diff --git a/src/Views/V2-Leaderboard/Hooks/useLeaderboardQuery.ts b/src/Views/V2-Leaderboard/Hooks/useLeaderboardQuery.ts new file mode 100644 index 0000000..76fe33b --- /dev/null +++ b/src/Views/V2-Leaderboard/Hooks/useLeaderboardQuery.ts @@ -0,0 +1,149 @@ +import axios from 'axios'; +import { baseGraphqlUrl } from 'config'; +import { useUserAccount } from '@Hooks/useUserAccount'; +import { useSetAtom } from 'jotai'; +import { useEffect, useMemo } from 'react'; +import useSWR from 'swr'; +import { add } from '@Utils/NumString/stringArithmatics'; +import { updateLeaderboardTotalPageAtom } from '../atom'; +import { ROWINAPAGE } from '../Incentivised'; +import { ILeague } from '../interfaces'; +import { useDayOffset } from '../Components/ContestFilterDD'; + +interface ILeaderboardQuery { + userStats: ILeague[]; + totalData: { + totalTrades: number; + volume: string; + }[]; + totalPaginationData: { user: string }[]; + userData: ILeague; +} +export function getDayId(offset: number): number { + let timestamp = new Date().getTime() / 1000; + if (offset > 0) { + timestamp = timestamp - offset * 86400; + } + let dayTimestamp = Math.floor((timestamp - 16 * 3600) / 86400); + return dayTimestamp; +} + +export const useLeaderboardQuery = (pageNumber: number, skip: number) => { + const setTablePages = useSetAtom(updateLeaderboardTotalPageAtom); + const { address: account } = useUserAccount(); + const { offset } = useDayOffset(); + const timestamp = getDayId(Number(offset)); + + const { data } = useSWR( + `leaderboard-arbi-skip-${skip}-offset-${offset}-account-${account}`, + { + fetcher: async () => { + const leaderboardQuery = ` + userStats: leaderboards( + orderBy: netPnL + orderDirection: desc + first: ${pageNumber} + skip: ${skip} + where: {timestamp: "${timestamp}", totalTrades_gte: 5} + ) { + user + totalTrades + netPnL + volume + } + totalData: leaderboards( + orderBy: netPnL + orderDirection: desc + where: {timestamp: "${timestamp}"} + ) { + totalTrades + volume + } + totalPaginationData: leaderboards( + orderBy: netPnL + orderDirection: desc + where: {timestamp: "${timestamp}", totalTrades_gte: 5} + ) { + user + } + `; + const userQuery = account + ? `userData: leaderboards( + where: {user: "${account}", timestamp: "${timestamp}"} + ) { + totalTrades + netPnL + volume + user + }` + : ''; + + const query = `{${leaderboardQuery}${userQuery}}`; + const response = await axios.post(baseGraphqlUrl, { + query, + }); + + return response.data?.data as {}; + }, + refreshInterval: 300, + } + ); + + const { data: userAboveMe } = useSWR( + `leaderboard-${data?.userData?.[0]?.netPnL}-${account}`, + { + fetcher: async () => { + const netPnL = data?.userData?.[0]?.netPnL; + const query = `{ + usersAboveMe: leaderboards( + orderBy: netPnL + orderDirection: desc + where: {timestamp: ${timestamp}, totalTrades_gte: 5, netPnL_gt: ${netPnL}} + ) { + user + } + }`; + const response = await axios.post(baseGraphqlUrl, { + query, + }); + + return response.data?.data as {}; + }, + refreshInterval: 300, + } + ); + + useEffect(() => { + //sets total number of pages in arbiturm testnet page + if (data?.totalPaginationData.length > 0) { + setTablePages({ + arbitrum: Math.ceil(data.totalPaginationData.length / ROWINAPAGE), + }); + } + }, [data?.totalPaginationData]); + + const totalTournamentData = useMemo(() => { + if (!data?.totalPaginationData || !data.totalData) return null; + let allTradesCount = 0; + let totalFee = '0'; //totalFee is the Volume, variable already used everywhere so not changing it. + let totalUsers = data?.totalData.length; + let totalRows = data.totalPaginationData.length; + for (let singleUserTrades of data?.totalData) { + allTradesCount += singleUserTrades.totalTrades; + totalFee = add(totalFee, singleUserTrades.volume); + } + return { allTradesCount, totalFee, totalRows, totalUsers }; + }, [data?.totalPaginationData, data?.totalData, account]); + + return { data, totalTournamentData }; +}; + +/* +allTradesCount: + accumulator.allTradesCount + currentvalue.totalTrades, +totalFee: add(accumulator.totalFee, currentvalue.volume), +userRank, +totalRows: accumulator.totalRows + 1, + + +*/ diff --git a/src/Views/V2-Leaderboard/Incentivised/index.tsx b/src/Views/V2-Leaderboard/Incentivised/index.tsx new file mode 100644 index 0000000..ce05903 --- /dev/null +++ b/src/Views/V2-Leaderboard/Incentivised/index.tsx @@ -0,0 +1,263 @@ +import { CHAIN_CONFIGS } from 'config'; +import useStopWatch from '@Hooks/Utilities/useStopWatch'; +import { useAtomValue, useSetAtom } from 'jotai'; +import { useEffect, useMemo } from 'react'; +import { numberWithCommas } from '@Utils/display'; +import { toFixed } from '@Utils/NumString'; +import { divide } from '@Utils/NumString/stringArithmatics'; +import { Col } from '@Views/Common/ConfirmationModal'; +import { getDistance } from '@Utils/Staking/utils'; +import { LeaderBoard } from '..'; +import { + readLeaderboardPageActivePageAtom, + readLeaderboardPageTotalPageAtom, + updateLeaderboardActivePageAtom, +} from '../atom'; +import { ContestFilterDD, useDayOffset } from '../Components/ContestFilterDD'; +import { TopData } from '../Components/TopData'; +import { DailyWebTable } from '../Daily/DailyWebTable'; +import { DailyStyles } from '../Daily/stlye'; +import { startTimstamp, useDayOfTournament } from '../Hooks/useDayOfTournament'; +import { useLeaderboardQuery } from '../Hooks/useLeaderboardQuery'; +import { useSearchParams } from 'react-router-dom'; +import { useQuery } from '@Hooks/useQuery'; +import { Warning } from '@Views/Common/Notification/warning'; + +export const ROWINAPAGE = 10; +export const TOTALWINNERS = 5; +export const usdcDecimals = 6; +const testnetEndDay = 9; + +export const Incentivised = () => { + const { day, nextTimeStamp } = useDayOfTournament(); + const activePages = useAtomValue(readLeaderboardPageActivePageAtom); + const skip = useMemo( + () => ROWINAPAGE * (activePages.arbitrum - 1), + [activePages.arbitrum] + ); + const { data, totalTournamentData } = useLeaderboardQuery(ROWINAPAGE, skip); + const totalPages = useAtomValue(readLeaderboardPageTotalPageAtom); + + const setTableActivePage = useSetAtom(updateLeaderboardActivePageAtom); + + const setActivePageNumber = (page: number) => { + setTableActivePage({ arbitrum: page }); + }; + + const midnightTimeStamp = nextTimeStamp / 1000; + + const launchTimeStamp = startTimstamp / 1000; + const distance = getDistance(launchTimeStamp); + const isTimerEnded = distance <= 0; + const stopwatch = useStopWatch(midnightTimeStamp); + const { offset } = useDayOffset(); + + let content; + if (!isTimerEnded) { + content = ( + // + // Testnet Tournament will start in + // + // } + // /> + <> + ); + } else { + content = ( +
+ + } + heading={'Arbitrum Testnet'} + DataCom={ +
+ } + desc={day - offset >= testnetEndDay ? '0 BFR' : '500 BFR'} + descClass="text-f16 tab:text-f14 font-medium light-blue-text " + headClass="text-f14 tab:text-f12 fw5 text-6" + className="winner-card" + /> + + + + + } + descClass="text-f16 tab:text-f14 fw4 text-5 " + headClass="text-f14 tab:text-f12 fw5 text-6" + className="winner-card" + /> +
+ } + /> + +
+ ); + } + + return ( + + + {}} + state={day >= testnetEndDay} + shouldAllowClose={false} + body={ + <> + lightning + The Incentivised Testnet ended on 20th Jan 4pm UTC. + + } + className="!mb-3" + /> + {content} + + + ); +}; + +// export function TimerBox({ +// expiration, +// className, +// head, +// }: { +// expiration: number; +// className?: string; +// head: ReactNode; +// }) { +// const timer = useTimer(expiration); +// let arr = [ +// timer.days && { +// name: 'Days', +// value: timer.days, +// }, +// (timer.hours || timer.days) && { +// name: 'Hours', +// value: timer.hours, +// }, +// { +// name: 'Minutes', +// value: timer.minutes, +// }, +// { +// name: 'Seconds', +// value: timer.seconds, +// }, +// ]; +// arr = arr.filter((a) => a); + +// return ( +//
+// {head} +//
+// {arr.map((s, idx) => { +// return ( +// <> +//
+//
+// {s.name} +//
+//
+// {s.value.toString().padStart(2, '0')} +// {idx < arr.length - 1 ? ':' : ''} +//
+//
+// +// ); +// })} +//
+// Join to stay updated! +// +// {social.map((social_link) => { +// return ( +// +// +// +// +// +// ); +// })} +// +//
+// ); +// } diff --git a/src/Views/V2-Leaderboard/PNL/index.tsx b/src/Views/V2-Leaderboard/PNL/index.tsx new file mode 100644 index 0000000..07fbc61 --- /dev/null +++ b/src/Views/V2-Leaderboard/PNL/index.tsx @@ -0,0 +1,118 @@ +import React, { useEffect, useState } from 'react'; +import { getPageNumber, LeaderBoard } from '..'; +import { LEADERBOARD_LIMIT, TopData } from '../Daily'; +import { PNLStyles } from './style'; +import { DailyWebTable } from '../Daily/DailyWebTable'; +import { IPerformer } from '../interfaces'; +import useSWR from 'swr'; +import { serialize } from '@Views/Staking/utils'; +import { FilterBg } from './tabFilter'; +import PNLIcon from 'public/LeaderBoard/PNL'; +import { useRouter } from 'next/router'; +import { useGlobal } from 'Contexts/Global'; +import { MAINNET_ENVS } from '@Config/index'; + +const DAILY_LEADERBOARD = `binary/leaderboard/?`; +const timeList = [ + { name: '24 H', offset: -1 }, + { name: '7 D', offset: 7 }, + { name: '30 D', offset: 30 }, + { name: 'ALL', offset: 0 }, +]; + +export const PNL = () => { + const [activeTab, setActiveTab] = useState(timeList[0]); + const router = useRouter(); + const { state } = useGlobal(); + const isPageAvailable = MAINNET_ENVS.includes( + state.settings.activeChain?.env + ); + + const { data: response } = useSWR<{ + options: IPerformer[]; + total_pages: number; + }>( + DAILY_LEADERBOARD + + serialize({ + leaderboard_type: 'all', + day_offset: router.query.offset || 0, + page: getPageNumber(router), + limit: LEADERBOARD_LIMIT, + }) + ); + useEffect(() => {}, [router.query.offset]); + + return ( + + + } + heading={'Profit & Loss'} + desc={ +
+ Compete against the best for prizes. + {/* { + window.open( + "https://docs.umaproject.org/products/KPI-options#:~:text=Key%20Performance%20Indicator%20(KPI)%20options,option%20will%20be%20worth%20more", + "_blank" + ); + }} + > + Learn more + + */} +
+ } + rightCom={ + isPageAvailable && ( + { + router.replace({ + pathname: router.pathname, + query: { ...router.query, offset: tab.offset }, + }); + setActiveTab(tab); + }} + /> + ) + } + /> + + +
+
+ ); +}; + +interface ITabFilter { + tabs: { name: string; offset: number }[]; + activeTab: number; + setActiveTab?: (a: any) => void; + className?: string; +} +const Tabsv2: React.FC = ({ + tabs, + className, + activeTab, + setActiveTab, +}) => { + return ( + + {tabs.map((child, idx) => ( +
setActiveTab(child)} + > + {child.name} +
+ ))} +
+ ); +}; diff --git a/src/Views/V2-Leaderboard/PNL/style.ts b/src/Views/V2-Leaderboard/PNL/style.ts new file mode 100644 index 0000000..3301542 --- /dev/null +++ b/src/Views/V2-Leaderboard/PNL/style.ts @@ -0,0 +1,3 @@ +import styled from "@emotion/styled"; + +export const PNLStyles = styled.div``; diff --git a/src/Views/V2-Leaderboard/PNL/tabFilter.tsx b/src/Views/V2-Leaderboard/PNL/tabFilter.tsx new file mode 100644 index 0000000..b2a9145 --- /dev/null +++ b/src/Views/V2-Leaderboard/PNL/tabFilter.tsx @@ -0,0 +1,75 @@ +import { useGlobal } from "Contexts/Global"; +import { useRouter } from "next/router"; +import styled from "styled-components"; + +export const FilterBg = styled.div` + --border-radius: 1.2rem; + display: flex; + width: fit-content; + border-radius: var(--border-radius); + background-color: #171722; + overflow-y: hidden; + + .toggle-tab { + padding: 0.7rem 1.5rem; + margin: 0.5rem 0.5rem; + cursor: pointer; + border-radius: 1.2rem; + font-size: 1.4rem; + font-weight: 500; + color: #808191; + transition: 0.5s ease-in-out; + &.active { + /* font-weight: 500; */ + background-color: #303044; + color: #f7f7f7; + } + &:hover { + /* color: var(--v2-text-box); */ + } + } +`; + +interface ITabFilter { + tabs: string[]; + activeTab: string; + setActiveTab?: (a: string) => void; + className?: string; + noRedirect?: boolean; +} +const TabFilter: React.FC = ({ + tabs, + className, + activeTab, + noRedirect, + setActiveTab, +}) => { + const { dispatch, state } = useGlobal(); + const router = useRouter(); + + const handleChange = (tab: string) => { + dispatch({ + type: "SET_ACIVE_TAB", + payload: tab, + }); + !noRedirect && ((router.query.currentTab = tab), router.push(router)); + }; + + return ( + + {tabs.map((child, idx) => ( +
+ setActiveTab ? setActiveTab(child) : handleChange(child) + } + > + {child} +
+ ))} +
+ ); +}; + +export default TabFilter; diff --git a/src/Views/V2-Leaderboard/Sidebar/index.tsx b/src/Views/V2-Leaderboard/Sidebar/index.tsx new file mode 100644 index 0000000..9c1c5b8 --- /dev/null +++ b/src/Views/V2-Leaderboard/Sidebar/index.tsx @@ -0,0 +1,392 @@ +import { Button } from '@mui/material'; +import React, { useState } from 'react'; +import { LeaderBoardSidebarStyles } from './style'; +import Daily from '@Public/LeaderBoard/Daily'; +import SmPnl from 'src/SVG/Elements/PNLL'; +import { CHAIN_CONFIGS, getTabs } from 'config'; +import { useGlobal } from '@Contexts/Global'; +import BufferDropdown from '@Views/Common/BufferDropdown'; +import { ArrowDropDownRounded } from '@mui/icons-material'; +import { Link, Location, useLocation } from 'react-router-dom'; + +export const DropdownArrow: React.FC<{ open: boolean; className?: string }> = ({ + open, + className = '', +}) => { + return ( + + ); +}; + +// export const MobileLeaderboardDropdwon = () => { +// const { state } = useGlobal(); +// let chain = ''; +// let asset = ''; +// let ref = ''; +// if (state.settings.activeChain) { +// chain = state.settings.activeChain.name + '/'; +// } +// if (state.settings.activeAsset) { +// asset = '/' + state.settings.activeAsset.name; +// } else { +// if (state.settings.activeChain) { +// asset = '/' + state.settings.activeChain.nativeAsset.name; +// } +// } +// if (router.query?.ref) { +// ref = '?ref=' + router.query.ref; +// } +// if (chain === '') chain = 'BSC/'; +// if (asset === '') asset = '/BNB'; +// asset += ref; +// const tabs = [ +// { +// pathname: '/[chain]/leaderboard/[offset]/incentivised', +// name: 'Incentivised Testnet', +// slug: 'incentivised', +// id: 0, + +// subTabs: [ +// // { +// // pathname: "/[chain]/leaderboard/[offset]/incentivised", +// // as: `/POLYGON/leaderboard/0/incentivised`, +// // name: "Polygon Testnet", +// // slug: "POLYGON", +// // id: 0, +// // subtabs: [], +// // img: "https://cdn.buffer.finance/Buffer-Website-Data/main/chains/polygon2.png", +// // }, +// { +// pathname: '/[chain]/leaderboard/[offset]/incentivised', +// name: 'Arbitrum Testnet', +// slug: 'ARBITRUM', +// id: 0, +// subTabs: [], +// img: '/Chains/ARBITRIUM.png', +// }, +// ], +// }, +// { +// pathname: '/[chain]/leaderboard/[offset]/daily', +// as: `/${chain}leaderboard/0/daily`, +// name: 'Competition', +// slug: 'daily', +// id: 1, + +// subTabs: [], +// }, +// { +// pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', +// as: `/${chain}leaderboard/0/weekly/diamond`, +// name: 'Leagues', +// slug: 'diamond', +// id: 2, +// img: '/LeaderBoard/Diamond.png', +// subTabs: [ +// { +// pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', +// as: `/${chain}leaderboard/0/weekly/diamond`, +// name: 'diamond', +// slug: 'diamond', +// id: 2, +// img: '/LeaderBoard/Diamond.png', +// subTabs: [], +// }, +// { +// pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', +// as: `/${chain}leaderboard/0/weekly/platinum`, +// name: 'platinum', +// slug: 'platinum', +// id: 3, +// img: '/LeaderBoard/Platinum.png', +// subTabs: [], +// }, +// { +// pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', +// as: `/${chain}leaderboard/0/weekly/gold`, +// name: 'gold', +// slug: 'gold', +// id: 4, +// img: '/LeaderBoard/Gold.png', +// subTabs: [], +// }, +// { +// pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', +// as: `/${chain}leaderboard/0/weekly/silver`, +// name: 'silver', +// slug: 'silver', +// id: 5, +// img: '/LeaderBoard/Silver.png', +// subTabs: [], +// }, +// { +// pathname: '/[chain]/leaderboard/[offset]/weekly/[league]', +// as: `/${chain}leaderboard/0/weekly/bronze`, +// name: 'bronze', +// slug: 'bronze', +// id: 6, +// img: '/LeaderBoard/Bronze.png', +// subTabs: [], +// }, +// ], +// }, +// { +// as: `/${chain}leaderboard/0/pnl`, +// name: 'Metrics', +// slug: 'pnl', +// id: 7, +// subTabs: [], +// }, +// ]; +// const activeTab = tabs.find((tab) => router.asPath.includes(tab.slug)); +// return ( +//
+//
+// ( +//
+// {activeTab?.name || 'Leaderboard'} +// +//
+// )} +// initialActive={1} +// items={tabs} +// item={(tab, handleClose, onChange, activel) => ( +// {}} +// > +// +// {tab.name} +// +// +// )} +// /> +//
+// {activeTab.subTabs.length > 0 && ( +// +// )} +//
+// ); +// }; + +function LeaderBoardMobileNavbar({ tabs }) { + return ( +
+ {tabs.map((tab) => { + // const isActive = router.asPath.includes(tab.slug); + const isActive = false; + return ( + +
+ +
+ + ); + })} +
+ ); +} +export const LeaderBoardSidebar = () => { + const tabs = getTabs('ARBITRUM', true); + const location = useLocation(); + return ( + +
+ + + {tabs.slice(0, 1).map((tab) => { + const isActive = doesLocationMatch(location, tab.slug); + return ( +
+ +
+ ); + })} +
+ + {/*
+
+ + +
+ {tabs.slice(1, 3).map((tab) => { + const isActive = router.asPath.includes(tab.slug); + return ( +
+ +
+ ); + })} +
*/} + +
+
+ + +
+ {tabs.slice(1, -1).map((tab) => { + const isActive = doesLocationMatch(location, tab.slug); + return ( +
+ +
+ ); + })} +
+ +
+
+ + +
+ {tabs.slice(-1).map((tab) => { + const isActive = doesLocationMatch(location, tab.slug); + return ( +
+ +
+ ); + })} +
+
+ ); +}; + +function Head({ name }: { name: string }) { + return
{name}
; +} + +const LinkButton = ({ tab, active, isDisabled = false }) => { + return ( + + + + + + ); +}; +interface IProp { + id: number; + active: boolean; + name: string; +} +const SidebarIcon: React.FC = ({ id, ...props }) => { + if (props.name == 'ARBITRUM') + return ( + + ); + + switch (id) { + case 0: + return ( + + ); + case 0: + return ( + + ); + case 1: + return ; + case 2: + return ( + Icon + ); + case 3: + return ( + Icon + ); + case 4: + return Icon; + case 5: + return Icon; + case 6: + return Icon; + + default: + return ; + } +}; + +export function doesLocationMatch(location: Location, slug: string) { + // if (!location) return false; + return location.pathname.includes(slug); +} + +export const Dropdown = ({ tabs, name }) => { + const location = useLocation(); + + const [open, setOpen] = useState( + !!tabs.find((tab) => doesLocationMatch(location, tab.slug)) + ); + + return ( +
+ + +
+ {open && + tabs.map((tab, index) => ( + + ))} +
+
+ ); +}; + +const CSChip = () => { + return ( +
+ Coming Soon +
+ ); +}; diff --git a/src/Views/V2-Leaderboard/Sidebar/style.ts b/src/Views/V2-Leaderboard/Sidebar/style.ts new file mode 100644 index 0000000..6979896 --- /dev/null +++ b/src/Views/V2-Leaderboard/Sidebar/style.ts @@ -0,0 +1,67 @@ +import styled from "@emotion/styled"; + +export const LeaderBoardSidebarStyles = styled.div` + background-color: transparent; + color: var(--text-6); + margin-right: 20px; + grid-template-areas: "sidebar"; + left: 0; + top: var(--navbar-height); + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + gap: 1rem; + + @media (max-width: 1200px) { + display: none; + } + + .dropdown-box { + .dropdown-items { + position: inherit; + .absolute { + position: absolute; + } + } + } + .head { + padding: 0 3.5rem; + } + + .item { + color: var(--text-6); + font-size: 1.4rem; + padding-left: 20px; + padding-right: 16px; + font-weight: 400; + text-transform: capitalize; + width: 100%; + border-radius: 0; + justify-content: flex-start; + margin: 0.8rem 0; + :hover { + color: var(--text-1); + } + } + + .activeLink { + --text-1: #f7f7f7; + color: var(--text-1); + font-weight: 600; + + ::after { + content: ""; + position: absolute; + width: 2px; + height: 100%; + background-color: var(--primary); + right: -2px; + } + } + .MuiButton-root { + padding-top: 0; + padding-bottom: 0; + min-width: 0; + } +`; diff --git a/src/Views/V2-Leaderboard/Weekly/index.tsx b/src/Views/V2-Leaderboard/Weekly/index.tsx new file mode 100644 index 0000000..fcca7e4 --- /dev/null +++ b/src/Views/V2-Leaderboard/Weekly/index.tsx @@ -0,0 +1,378 @@ +import React, { ReactNode, useEffect, useMemo } from 'react'; +import { WeeklyBackground } from './style'; +import Moneybag from 'src/SVG/Elements/Moneybag'; +import { Col } from '@Views/Common/ConfirmationModal'; +import useSWR from 'swr'; +import { ILeague, IPerformer } from '../interfaces'; +import { serialize } from '@Views/Staking/utils'; +import { useGlobal } from 'Contexts/Global'; +import { Display } from '@Views/Common/Tooltips/Display'; +import { Skeleton } from '@mui/material'; +import { getPageNumber, LeaderBoard } from '..'; +import { TEMP_IMG } from 'pages/_app'; +import { DailyWebTable } from '../Daily/DailyWebTable'; +import useStopWatch from '@Hooks/Utilities/useStopWatch'; +import { useRouter } from 'next/router'; +import { getRes } from '@Utils/apis/api'; +import { atom, useAtom } from 'jotai'; +import { ContestFilterDD, LEADERBOARD_LIMIT } from '../Daily'; +import { MAINNET_ENVS } from '@Config/index'; +import { useAccount } from 'wagmi'; + +const BorderyCols = ({ cols, className }: { cols; className?: string }) => { + return ( +
+ {cols.map((s) => ( +
{s}
+ ))} +
+ ); +}; +const showDialog = atom(false); + +const WEEKLY_REWARD = `binary/reward/weekly/`; +const WEEKLY_LEADERBOARD = `binary/leaderboard/`; +const weeklyData = atom(null); + +const leagueTable = { + diamond: { + name: 'Diamond', + img: '/Diamond.png', + }, + platinum: { + name: 'Platinum', + img: '/Platinum.png', + }, + gold: { + name: 'Gold', + img: '/Gold.png', + }, + bronze: { + name: 'Bronze', + img: '/Bronze.png', + }, + silver: { + name: 'Silver', + img: '/Silver.png', + }, +}; + +BorderyCols.KeyValue = ({ + head, + desc, + className, +}: { + head: ReactNode; + desc: ReactNode; + className?: string; +}) => { + return ( +
+
{head}
+
{desc}
+
+ ); +}; + +export const Weekly = () => { + const [data, setData] = useAtom(weeklyData); + const [dialog, setDialog] = useAtom(showDialog); + const router = useRouter(); + const { state } = useGlobal(); + const isPageAvailable = MAINNET_ENVS.includes( + state.settings.activeChain?.env + ); + + const league: { name: string; img: string } = useMemo(() => { + let league = leagueTable['diamond']; + if (router.query.league) { + league = leagueTable[(router.query.league as string).toLowerCase()]; + } + return league; + }, [router.query.league]); + const { data: currenWekklb } = useSWR<{ + options: IPerformer[]; + total_pages: number; + }>( + league && + WEEKLY_LEADERBOARD + + league.name + + '/?' + + serialize({ + week_offset: router.query.offset || 0, + page: getPageNumber(router), + limit: LEADERBOARD_LIMIT, + }) + ); + useEffect(() => { + getRes(WEEKLY_REWARD + '?' + serialize({ league: league.name })).then( + ([res]) => { + setData(res); + } + ); + }, [league]); + + const { data: pastWeeklb } = useSWR<{ + options: IPerformer[]; + total_pages: number; + }>( + league && + WEEKLY_LEADERBOARD + + league.name + + '/?' + + serialize({ + week_offset: '1', + page: getPageNumber(router), + limit: LEADERBOARD_LIMIT, + }) + ); + + const MinimumRequirementsUI = data && [ + { + key: 'Min. trades', + value: , + }, + { + key: 'Min. volume', + value: , + }, + { + key: 'iBFR Balance', + value: ( + + ), + }, + ]; + return ( + + + + {isPageAvailable && ( + <> +
+ Required for   + +  {league.name}  League +
+
+
+ {data ? ( + ( + + ))} + /> + ) : ( + + )} + {/* {league.name !== "Bronze" && ( + <> +
+ OR +
+ + +  {league.name} NFT +
+ ), + }, + ].map((s) => ( + + ))} + /> + + )} */} +
+ {data && ( +
+ Week   + {' '} +
+ )}{' '} + + {/* + {pastWeeklb && pastWeeklb.options.length ? ( + ( + + ))} + /> + ) : null} */} + + )} + + {currenWekklb ? ( + + ) : ( + + )} +
+
+
+ ); +}; + +function TopData({ weekly, league }) { + const { state } = useGlobal(); + const [dialog, setDialog] = useAtom(showDialog); + const [data, setData] = useAtom(weeklyData); + const timerString = useStopWatch(data?.end_timestamp); + const isPageAvailable = state.settings.activeChain?.name === 'POLYGON'; + + return ( +
+
+ {weekly ? ( + + ) : ( + + )} +
+

{weekly ? league.name : 'Daily'}

+

+ {weekly + ? data?.description + : 'Daily rewards based on daily trades.'} + {/* { + window.open( + "https://docs.umaproject.org/products/KPI-options#:~:text=Key%20Performance%20Indicator%20(KPI)%20options,option%20will%20be%20worth%20more", + "_blank" + ); + }} + > + Learn more + + */} +

+
+
+
+ {weekly ? ( + data ? ( + isPageAvailable && ( + <> + + + + + + ) + ) : ( + + ) + ) : ( + + )} +
+ + {/* {data ? ( +
+
+ + +
+
+ + + Requirement for{" "} + setDialog(true)} + > + + +
+ } + desc={data.league_count} + descClass="f20 fw4" + headClass="f14 fw5 text-6" + className="row-league b" + /> +
+
+ ) : ( + "Loading..." + )} */} + + ); +} diff --git a/src/Views/V2-Leaderboard/Weekly/style.ts b/src/Views/V2-Leaderboard/Weekly/style.ts new file mode 100644 index 0000000..f4890ad --- /dev/null +++ b/src/Views/V2-Leaderboard/Weekly/style.ts @@ -0,0 +1,125 @@ +import styled from "@emotion/styled"; +import { DailyStyles as DailyBackground } from "../Daily/stlye"; +export const WeeklyBackground = styled(DailyBackground)` + color: var(--text-1); + /* width: fit-content; */ + + .winner-card { + border-right: 1px solid #2d2d3d; + @media (max-width: 600px) { + :nth-of-type(even) { + border-right: none; + } + } + } + + .card-pad { + padding: 0 3.5rem; + } + .season-skel { + width: 21rem; + min-height: 5.7rem; + border-radius: 1.4rem; + &.extra-wide { + width: 45vw; + min-height: 8.3rem; + display: block; + } + &.xl { + width: 100%; + min-height: 25rem; + display: block; + /* margin-bottom:4rem; */ + } + } + .img-container { + position: relative; + } + .avatar-img-hero { + width: 20rem; + height: 20rem; + border-radius: 1.4rem; + object-fit: cover; + outline: none; + border: none; + @media (max-width: 600px) { + width: 15rem; + height: 15rem; + } + /* position:relative; */ + } + .league-img { + width: 5rem; + height: 5rem; + @media (max-width: 600px) { + display: none; + } + } + .league-logo { + /* height:5rem; */ + height: 2.7rem; + } + .league-logo-sm { + height: 1.8rem; + } + .learn-more { + color: var(--bg-20); + display: inline-flex; + font-weight: 500; + justify-content: center; + row-gap: 0.5rem; + cursor: pointer; + align-items: center; + &:hover { + text-decoration: underline; + } + } + .nft-badge { + position: absolute; + top: 0; + left: 1.4rem; + transform: translateY(-50%); + display: flex; + align-items: center; + border-radius: 5px; + box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, + rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, + rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset; + .badge-img { + width: 21px; + height: 21px; + object-fit: cover; + } + } + .sm-width-none { + @media (max-width: 600px) { + width: auto; + } + } + + .top-flex { + display: flex; + justify-content: space-between; + @media (max-width: 600px) { + flex-direction: column; + } + } + .mobile-info { + @media (min-width: 600px) { + display: none; + } + display: flex; + flex-direction: column; + width: 100%; + + .bt { + border-top: 1px solid #2d2d3d; + } + .row-league { + width: 50%; + &.b { + border-left: 1px solid #2d2d3d; + } + } + } +`; diff --git a/src/Views/V2-Leaderboard/atom.ts b/src/Views/V2-Leaderboard/atom.ts new file mode 100644 index 0000000..d98b477 --- /dev/null +++ b/src/Views/V2-Leaderboard/atom.ts @@ -0,0 +1,40 @@ +import { atom } from "jotai"; + +interface ILeaderboardpageAtom { + active: Ileagues; + total: Ileagues; +} +interface Ileagues { + arbitrum: number; +} + +const leaderboardPageAtom = atom({ + active: { arbitrum: 1 }, + total: { arbitrum: 1 }, +}); + +export const updateLeaderboardActivePageAtom = atom( + null, + (get, set, update: Ileagues) => { + set(leaderboardPageAtom, { + total: get(readLeaderboardPageTotalPageAtom), + active: update, + }); + } +); +export const updateLeaderboardTotalPageAtom = atom( + null, + (get, set, update: Ileagues) => { + set(leaderboardPageAtom, { + active: get(readLeaderboardPageActivePageAtom), + total: update, + }); + } +); + +export const readLeaderboardPageActivePageAtom = atom( + (get) => get(leaderboardPageAtom).active +); +export const readLeaderboardPageTotalPageAtom = atom( + (get) => get(leaderboardPageAtom).total +); diff --git a/src/Views/V2-Leaderboard/drawers.tsx b/src/Views/V2-Leaderboard/drawers.tsx new file mode 100644 index 0000000..28e639b --- /dev/null +++ b/src/Views/V2-Leaderboard/drawers.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import Drawer from '@Views/Common/V2-Drawer'; + +export const LeaderBoardDrawers = () => { + return ( + + <> + + ); +}; diff --git a/src/Views/V2-Leaderboard/index.tsx b/src/Views/V2-Leaderboard/index.tsx new file mode 100644 index 0000000..51fd255 --- /dev/null +++ b/src/Views/V2-Leaderboard/index.tsx @@ -0,0 +1,28 @@ +import React, { ReactChildren } from 'react'; +import { HeadTitle } from '@Views/Common/TitleHead'; +import { LeaderBoardDrawers } from './drawers'; +import { LeaderBoardSidebar } from './Sidebar'; +import { LeaderBoardStyles } from './style'; + +export const LeaderBoard = (props: { children: ReactChildren }) => { + return ( +
+ + + {/* */} + + {props.children} + + {typeof window === 'undefined' ? ( + + ) : ( + window.innerWidth > 600 && + )}{' '} +
+ ); +}; + +export function getPageNumber(router: any) { + const page = router.asPath.split('=')[1]; + return +page; +} diff --git a/src/Views/V2-Leaderboard/interfaces.ts b/src/Views/V2-Leaderboard/interfaces.ts new file mode 100644 index 0000000..ce9c6db --- /dev/null +++ b/src/Views/V2-Leaderboard/interfaces.ts @@ -0,0 +1,23 @@ +export interface IPerformer { + option_count: number; + deposit_token: string; + chain_name: string; + chain_image: string; + pnl: number; + user_address: string; + user_image: string; + net_pnl: number; + rank: number; + net_percentage_pnl: number | string; + total_net_pnl: number; + net_total_fee: number; + volume: number; + score: number; +} +export interface ILeague { + user: string; + totalTrades: number; + id: string; + netPnL: string; + volume: string; +} diff --git a/src/Views/V2-Leaderboard/style.ts b/src/Views/V2-Leaderboard/style.ts new file mode 100644 index 0000000..f24dbf8 --- /dev/null +++ b/src/Views/V2-Leaderboard/style.ts @@ -0,0 +1,44 @@ +import styled from "@emotion/styled"; + +export const LeaderBoardStyles = styled.div` + /* margin-left: calc(var(--leaderboard-sidebar-width) + var(--global-padding)); */ + padding-right: 20px; + /* padding-left: calc(var(--global-padding) + 1rem); */ + display: grid; + grid-template: "sidebar main"; + grid-template-columns: auto 1fr; + @media (max-width: 1200px) { + grid-template: "main"; + + margin-left: 0px; + padding: 0 1.2rem; + } + @media (max-width: 600px) { + margin-left: 0px; + padding: 0 0.8rem; + } + @media (max-width: 400px) { + margin-left: 0px; + padding: 0 0.6rem; + } + + .mobile-navbar-leaderboard { + display: flex; + row-gap: 2rem; + } + .mobile-league-btn { + width: 3rem; + height: 3rem; + border-radius: 50%; + object-fit: cover; + } + .league-btn-wrapper { + border-radius: 40%; + padding: 0.8rem; + opacity: 0.35; + /* background-color: var(--bg-23); */ + &.active { + opacity: 1; + } + } +`; diff --git a/src/assets/Elements/BackIcon.tsx b/src/assets/Elements/BackIcon.tsx new file mode 100644 index 0000000..714478d --- /dev/null +++ b/src/assets/Elements/BackIcon.tsx @@ -0,0 +1,18 @@ +import { SVGProps } from 'react'; + +const BackIcon = (props: SVGProps) => ( + + + +); + +export default BackIcon; diff --git a/src/assets/Elements/BufferLogo.tsx b/src/assets/Elements/BufferLogo.tsx new file mode 100644 index 0000000..34a6f67 --- /dev/null +++ b/src/assets/Elements/BufferLogo.tsx @@ -0,0 +1,23 @@ +import { SVGProps } from 'react'; + +const BufferLogo = (props: SVGProps) => ( + + + + +); + +export default BufferLogo; diff --git a/src/assets/Elements/Closelogo.tsx b/src/assets/Elements/Closelogo.tsx new file mode 100644 index 0000000..8bb3805 --- /dev/null +++ b/src/assets/Elements/Closelogo.tsx @@ -0,0 +1,27 @@ +import { SVGProps } from 'react'; + +const CloseLogo = (props: SVGProps) => ( + + + + +); + +export default CloseLogo; diff --git a/src/assets/Elements/Disconnect.tsx b/src/assets/Elements/Disconnect.tsx new file mode 100644 index 0000000..9727131 --- /dev/null +++ b/src/assets/Elements/Disconnect.tsx @@ -0,0 +1,21 @@ +import { SVGProps } from 'react'; + +const DisconnectIcon = (props: SVGProps) => ( + + + +); + +export default DisconnectIcon; diff --git a/src/assets/Elements/ErrorIcon.tsx b/src/assets/Elements/ErrorIcon.tsx new file mode 100644 index 0000000..0d1725f --- /dev/null +++ b/src/assets/Elements/ErrorIcon.tsx @@ -0,0 +1,32 @@ +const ErrorIcon = (props: any) => { + const isInfo = props.info; + return ( + + + + + + ); +}; + +export default ErrorIcon; diff --git a/src/assets/Elements/FailedSuccess.tsx b/src/assets/Elements/FailedSuccess.tsx new file mode 100644 index 0000000..445cda8 --- /dev/null +++ b/src/assets/Elements/FailedSuccess.tsx @@ -0,0 +1,28 @@ +import { SVGProps } from 'react'; + +const FailedSuccessIcon = (props: SVGProps) => ( + + + + +); + +export default FailedSuccessIcon; diff --git a/src/assets/Elements/MenuLogo.tsx b/src/assets/Elements/MenuLogo.tsx new file mode 100644 index 0000000..c177250 --- /dev/null +++ b/src/assets/Elements/MenuLogo.tsx @@ -0,0 +1,33 @@ +import { SVGProps } from 'react'; + +const MenuLogo = (props: SVGProps) => ( + + + + + +); + +export default MenuLogo; diff --git a/src/assets/Elements/SuccessIcon.tsx b/src/assets/Elements/SuccessIcon.tsx new file mode 100644 index 0000000..b229f3f --- /dev/null +++ b/src/assets/Elements/SuccessIcon.tsx @@ -0,0 +1,28 @@ +import { SVGProps } from 'react'; + +const SuccessIcon = (props: SVGProps) => ( + + + + +); + +export default SuccessIcon; diff --git a/src/assets/Elements/ToastCrossIcon.tsx b/src/assets/Elements/ToastCrossIcon.tsx new file mode 100644 index 0000000..d0f7370 --- /dev/null +++ b/src/assets/Elements/ToastCrossIcon.tsx @@ -0,0 +1,17 @@ +import { SVGProps } from 'react'; + +const ToastCrossIcon = (props: SVGProps) => ( + + + +); + +export default ToastCrossIcon; diff --git a/src/assets/Elements/wallet.tsx b/src/assets/Elements/wallet.tsx new file mode 100644 index 0000000..75f03ad --- /dev/null +++ b/src/assets/Elements/wallet.tsx @@ -0,0 +1,30 @@ +import { SVGProps } from 'react'; + +const Wallet = (props: SVGProps) => ( + + + + + + + + + + + +); + +export default Wallet; diff --git a/src/assets/Social/DD/discord.tsx b/src/assets/Social/DD/discord.tsx new file mode 100644 index 0000000..6655cea --- /dev/null +++ b/src/assets/Social/DD/discord.tsx @@ -0,0 +1,18 @@ +import { SVGProps } from 'react'; + +const Discord = (props: SVGProps) => ( + + + +); + +export default Discord; diff --git a/src/assets/Social/DD/gitbook.tsx b/src/assets/Social/DD/gitbook.tsx new file mode 100644 index 0000000..db11462 --- /dev/null +++ b/src/assets/Social/DD/gitbook.tsx @@ -0,0 +1,20 @@ +import { SVGProps } from 'react'; + +const Gitbook = (props: SVGProps) => ( + + + +); + +export default Gitbook; diff --git a/src/assets/Social/DD/github.tsx b/src/assets/Social/DD/github.tsx new file mode 100644 index 0000000..36c4a6f --- /dev/null +++ b/src/assets/Social/DD/github.tsx @@ -0,0 +1,20 @@ +import { SVGProps } from 'react'; + +const GitHub = (props: SVGProps) => ( + + + +); + +export default GitHub; diff --git a/src/assets/Social/DD/medium.tsx b/src/assets/Social/DD/medium.tsx new file mode 100644 index 0000000..334fd0d --- /dev/null +++ b/src/assets/Social/DD/medium.tsx @@ -0,0 +1,18 @@ +import { SVGProps } from 'react'; + +const Medium = (props: SVGProps) => ( + + + +); + +export default Medium; diff --git a/src/assets/Social/DD/telegram.tsx b/src/assets/Social/DD/telegram.tsx new file mode 100644 index 0000000..03cbac6 --- /dev/null +++ b/src/assets/Social/DD/telegram.tsx @@ -0,0 +1,18 @@ +import { SVGProps } from 'react'; + +const Telegram = (props: SVGProps) => ( + + + +); + +export default Telegram; diff --git a/src/assets/Social/DD/twitter.tsx b/src/assets/Social/DD/twitter.tsx new file mode 100644 index 0000000..6d22e1c --- /dev/null +++ b/src/assets/Social/DD/twitter.tsx @@ -0,0 +1,18 @@ +import { SVGProps } from 'react'; + +const Twitter = (props: SVGProps) => ( + + + +); + +export default Twitter; diff --git a/src/atoms/generic.ts b/src/atoms/generic.ts new file mode 100644 index 0000000..353d7ad --- /dev/null +++ b/src/atoms/generic.ts @@ -0,0 +1,16 @@ +import { atom } from "jotai"; +import { v4 } from "uuid"; +export const onlineStatus = atom( + typeof navigator === "undefined" ? undefined : navigator?.onLine +); + +export const visibleStatus = atom( + typeof document === "undefined" ? undefined : document?.visibilityState +); + +export const sessionAtom = atom((get) => { + get(onlineStatus); + get(visibleStatus); + let token = v4(); + return token; +}); diff --git a/src/contexts/Global/index.tsx b/src/contexts/Global/index.tsx new file mode 100644 index 0000000..035d447 --- /dev/null +++ b/src/contexts/Global/index.tsx @@ -0,0 +1,38 @@ +import { createContext, useReducer, useContext } from 'react'; +import reducer, { iGlobalState, GlobalActions, defaultState } from './reducer'; + +const initialState = defaultState; + +export interface AuthProviderValue { + state: iGlobalState; + dispatch(action: GlobalActions): void; +} + +// Create an initial provider value. +const providerValue: AuthProviderValue = { + state: initialState, + dispatch: (action) => {}, // << This will be overwritten +}; +// Create the store or 'context'. +const globalContext = createContext(providerValue); +globalContext.displayName = 'GlobalCtx'; +const { Provider } = globalContext; + +type Reducer = ( + prevState: iGlobalState, + action: GlobalActions +) => iGlobalState; + +const GlobalContextProvider = ({ children }: any) => { + const [state, dispatch] = useReducer>( + reducer, + initialState + ); + return {children}; +}; + +function useGlobal() { + return useContext(globalContext); +} + +export { useGlobal, GlobalContextProvider }; diff --git a/src/contexts/Global/interfaces.tsx b/src/contexts/Global/interfaces.tsx new file mode 100644 index 0000000..c6c9183 --- /dev/null +++ b/src/contexts/Global/interfaces.tsx @@ -0,0 +1,25 @@ +export interface IAsset { + name: string; + img: string; + category: 'Crypto' | 'Stocks' | 'Currency'; + price_provider?: string; + faucet?: string[] | { step: string; url: string }[]; +} +export interface IOption { + asset: string; + abi: any[]; + contract: string; + version: number; + type: number; +} +export interface IChain { + name: string; + img: string; + nativeAsset: IAsset; + chainId: string; + env: string; + decimals: number; + minGasPrice?: number; + displayName: string; + gasKey?: string; +} diff --git a/src/contexts/Global/reducer.ts b/src/contexts/Global/reducer.ts new file mode 100644 index 0000000..2d65090 --- /dev/null +++ b/src/contexts/Global/reducer.ts @@ -0,0 +1,368 @@ +// added for autocompletion +import { IAsset, IChain, IOption } from './interfaces'; +interface ITabs { + list: ITab[]; + activeIdx: string | null; +} +interface ICatagory { + name: string; +} +export interface ITab { + name: string; + icon?: number | 'v2'; +} + +interface IApprovedCache { + [contract: string]: string | null; +} +interface ISettings { + activeChain: IChain | null; + isDrawerOpen: boolean; +} +export interface iGlobalState { + isDarkMode: boolean; + token: any; + contracts: { + options: IOption[]; + liquidity_pools: any[]; + autoExercises: null | object; + }; + sidebar_active: boolean; + activeContract: { + options: IOptionContract | null; + isAvailable: null | boolean | string; + }; + isConnectionTriggered: boolean; + catagories: ICatagory[]; + assets: IAsset[]; + settings: ISettings; + tabs: ITabs; + banners: { + top: boolean; + main: boolean; + }; + txnLoading: 0 | 1 | 2 | 3; + show: { + tryTestnet: boolean; + }; + user: { + balance: string | null; + }; + activePageIdx: number | null; + approvedAmount: IApprovedCache | null; + gasFee: { string: number } | null; +} + +export interface IOptionContract extends IOption { + contract: string; +} +const defaultState: iGlobalState = { + isDarkMode: true, + approvedAmount: {}, + user: { + balance: null, + }, + isConnectionTriggered: false, + token: { + ibfr_price: null, + }, + sidebar_active: true, + settings: { + activeChain: null, + isDrawerOpen: false, + }, + tabs: { + list: [], + activeIdx: null, + }, + assets: [], + catagories: [], + contracts: { + options: [], + liquidity_pools: [], + autoExercises: null, + }, + activeContract: { + options: null, + isAvailable: null, + }, + banners: { + top: true, + main: true, + }, + txnLoading: 0, + show: { + tryTestnet: true, + }, + activePageIdx: null, + gasFee: null, +}; +type GlobalActions = + | { + type: 'UPDATE_IS_DARK_MODE'; + payload: boolean; + } + | { + type: 'UPDATE_ASSETS'; + payload: any; + } + | { + type: 'UPDATE_ACTIVE_PAGE_IDX'; + payload: number; + } + | { + type: 'UPDATE_CATAGORIES'; + payload: any; + } + | { + type: 'UPDATE_TRIGGERED'; + payload: boolean; + } + | { + type: 'UPDATE_CONTRACTS'; + payload: any; + } + | { + type: 'SET_TRY_TESTNET'; + payload: boolean; + } + | { + type: 'UPDATE_ACTIVE_CHAIN'; + payload: IChain; + } + | { + type: 'UPDATE_IBFR_BALANCE'; + payload: string; + } + | { + type: 'SET_DRAWER'; + payload: boolean; + } + | { + type: 'SET_TAB_LIST'; + payload: ITab[]; + } + | { + type: 'SET_ACIVE_TAB'; + payload: string; + } + | { + type: 'UPDATRE_BANNER_STATE'; + payload: + | { top: boolean } + | { main: boolean } + | { top: boolean; main: boolean }; + } + | { + type: 'ACCOUNT_CHANGED'; + } + | { + type: 'ASSET_CHANGE_TRIGGERED'; + } + | { + type: 'UPDATE_ACTIVE_OPTION_CONTRACT'; + payload: { + options: IOptionContract; + isAvailable: boolean | null | string; + }; + } + | { + type: 'UPDATE_ACTIVE_OPTION_CONTRACT_AVAILABILITY'; + payload: string | boolean | null; + } + | { + type: 'SET_TXN_LOADING'; + payload: 0 | 1 | 2 | 3; + } + | { + type: 'SET_AUTOEXERCISE_STATUSES'; + payload: object; + } + | { + type: 'SET_GAS_FEE'; + payload: { + string: number; + }; + } + | { + type: 'UPDATE_TOKEN_RES'; + payload: { + ibfr_price: string; + }; + } + | { + type: 'CHAIN_CHANGE_REQ'; + } + | { + type: 'UPDATE_SIDEBAR_STATE'; + }; + +const reducer = (state: iGlobalState, action: GlobalActions): iGlobalState => { + switch (action.type) { + case 'UPDATE_IS_DARK_MODE': + return { + ...state, + isDarkMode: action.payload, + settings: { + ...state.settings, + }, + }; + case 'UPDATE_ASSETS': + return { + ...state, + assets: action.payload, + settings: { + ...state.settings, + }, + }; + case 'UPDATE_TOKEN_RES': + return { + ...state, + token: { ...action.payload }, + }; + case 'UPDATE_ACTIVE_PAGE_IDX': + return { + ...state, + activePageIdx: action.payload, + }; + case 'UPDATE_CATAGORIES': + return { + ...state, + catagories: action.payload, + }; + case 'UPDATE_TRIGGERED': + + return { + ...state, + isConnectionTriggered: action.payload, + }; + case 'UPDATE_ACTIVE_OPTION_CONTRACT': + return { + ...state, + activeContract: { + ...action.payload, + }, + }; + case 'UPDATE_CONTRACTS': + return { + ...state, + contracts: { + ...state.contracts, + ...action.payload, + }, + }; + + case 'SET_AUTOEXERCISE_STATUSES': + return { + ...state, + contracts: { + ...state.contracts, + autoExercises: action.payload, + }, + }; + case 'UPDATE_ACTIVE_OPTION_CONTRACT_AVAILABILITY': + return { + ...state, + activeContract: { + ...state.activeContract, + isAvailable: action.payload, + }, + }; + case 'UPDATE_ACTIVE_CHAIN': + return { + ...state, + + settings: { + ...state.settings, + activeChain: action.payload, + }, + }; + case 'SET_GAS_FEE': + return { + ...state, + gasFee: { ...state.gasFee, ...action.payload }, + }; + + case 'SET_DRAWER': + return { + ...state, + settings: { + ...state.settings, + isDrawerOpen: action.payload, + }, + }; + + case 'UPDATE_IBFR_BALANCE': + return { + ...state, + user: { + ...state.user, + balance: action.payload, + }, + }; + case 'SET_TRY_TESTNET': + return { + ...state, + show: { + ...state.show, + tryTestnet: action.payload, + }, + }; + case 'CHAIN_CHANGE_REQ': + return { + ...state, + contracts: defaultState.contracts, + activeContract: defaultState.activeContract, + assets: defaultState.assets, + settings: { + ...state.settings, + activeChain: null, + }, + isConnectionTriggered: false, + }; + case 'SET_TAB_LIST': + return { + ...state, + tabs: { + ...state.tabs, + list: action.payload, + }, + }; + case 'SET_ACIVE_TAB': + return { + ...state, + tabs: { + ...state.tabs, + activeIdx: action.payload, + }, + }; + case 'UPDATRE_BANNER_STATE': + return { + ...state, + banners: { + ...state.banners, + ...action.payload, + }, + }; + case 'ASSET_CHANGE_TRIGGERED': + return { + ...state, + settings: { + ...state.settings, + }, + activeContract: defaultState.activeContract, + }; + case 'ACCOUNT_CHANGED': + return state; + case 'SET_TXN_LOADING': + return { ...state, txnLoading: action.payload }; + case 'UPDATE_SIDEBAR_STATE': + return { ...state, sidebar_active: !state.sidebar_active }; + + default: + throw new Error('Invalid Action.'); + } +}; +export type { GlobalActions }; +export { defaultState }; +export default reducer; diff --git a/src/contexts/Refresher/index.tsx b/src/contexts/Refresher/index.tsx new file mode 100644 index 0000000..40e0dd2 --- /dev/null +++ b/src/contexts/Refresher/index.tsx @@ -0,0 +1,68 @@ +import React, { useState, useEffect, useRef, useContext } from "react"; + +const FAST_INTERVAL = 5000; +const SLOW_INTERVAL = 10000; + +// Check if the tab is active in the user browser +const useIsBrowserTabActive = () => { + const isBrowserTabActiveRef = useRef(true); + + useEffect(() => { + const onVisibilityChange = () => { + isBrowserTabActiveRef.current = !document.hidden; + }; + try { + window.addEventListener("visibilitychange", onVisibilityChange); + } catch (err) { + document.addEventListener("visibilitychange", onVisibilityChange); + } + + return () => { + try { + window.removeEventListener("visibilitychange", onVisibilityChange); + } catch (err) { + document.removeEventListener("visibilitychange", onVisibilityChange); + } + }; + }, []); + return isBrowserTabActiveRef; +}; + +// This context maintain 2 counters that can be used as a dependencies on other hooks to force a periodic refresh +const RefreshContext = React.createContext({ slow: 0, fast: 0 }); +const RefreshContextProvider = ({ children }) => { + const [slow, setSlow] = useState(0); + const [fast, setFast] = useState(0); + const isBrowserTabActiveRef = useIsBrowserTabActive(); + + useEffect(() => { + const interval = setInterval(async () => { + if (isBrowserTabActiveRef.current) { + setFast((prev) => prev + 1); + } + }, FAST_INTERVAL); + return () => clearInterval(interval); + }, [isBrowserTabActiveRef]); + + useEffect(() => { + const interval = setInterval(async () => { + if (isBrowserTabActiveRef.current) { + setSlow((prev) => prev + 1); + } + }, SLOW_INTERVAL); + return () => clearInterval(interval); + }, [isBrowserTabActiveRef]); + + return ( + + {children} + + ); +}; + +function useRefresher() { + const { fast, slow } = useContext(RefreshContext); + return { fastRefresh: fast, slowRefresh: slow }; +} + +export { useRefresher, RefreshContextProvider }; diff --git a/src/contexts/Toast/index.tsx b/src/contexts/Toast/index.tsx new file mode 100644 index 0000000..3c01ccf --- /dev/null +++ b/src/contexts/Toast/index.tsx @@ -0,0 +1,21 @@ +import Toasts from '@Views/Common/Toast'; +import React, { useReducer, useContext } from 'react'; +import reducer from './reducer'; + +export const NotificationContext: any = React.createContext({}); + +function ToastProvider(props: any) { + const initialState: unknown = []; + const [state, dispatch] = useReducer(reducer, initialState); + return ( + + + {props.children} + + ); +} +export const useToast: any = () => { + return useContext(NotificationContext); +}; + +export default ToastProvider; diff --git a/src/contexts/Toast/reducer.ts b/src/contexts/Toast/reducer.ts new file mode 100644 index 0000000..18f15fc --- /dev/null +++ b/src/contexts/Toast/reducer.ts @@ -0,0 +1,51 @@ +import { v4 } from "uuid"; +const reducer = (state, actions) => { + if (typeof actions === "string") { + let noti = { + msg: actions, + id: v4(), + type: "success", + }; + return state.concat(noti); + } + switch (actions.type) { + case "ADD-NOTIFICATION": + if (actions.payload.id) { + // id is passed. + let duplState = state; + let i = 0; + for (let toast of state) { + if (toast.id === actions.payload.id) { + duplState[i] = actions.payload; + return duplState; + } + i++; + } + return state.concat(actions.payload); + } + actions.payload.id = v4(); + return state.concat(actions.payload); + case "REMOVE-NOTIFICATION": + return state.filter((s) => s.id !== actions.payload.id); + default: + if (actions.id) { + // id is passed. + actions.animatable = true; + + let duplState = [...state]; + let i = 0; + for (let toast of state) { + if (toast.id === actions.id) { + duplState[i] = actions; + return duplState; + } + i++; + } + return state.concat(actions); + } + actions.id = v4(); + return state.concat(actions); + } +}; + +export default reducer; diff --git a/src/contexts/index.tsx b/src/contexts/index.tsx new file mode 100644 index 0000000..118cd07 --- /dev/null +++ b/src/contexts/index.tsx @@ -0,0 +1,12 @@ +import { GlobalContextProvider } from "./Global"; +import ToastProvider from "./Toast"; +import { RefreshContextProvider } from "./Refresher"; +const ContextProvider = ({ children }) => { + return ( + + {children} + + ); +}; + +export default ContextProvider; diff --git a/src/globalStore.ts b/src/globalStore.ts new file mode 100644 index 0000000..08e3f53 --- /dev/null +++ b/src/globalStore.ts @@ -0,0 +1,4 @@ +import { atom } from "jotai"; + +export const isDrawerOpen = atom(false); +export const isLeftPanelOpen = atom(true); diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..8053861 --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,38 @@ +import axios from 'axios'; +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import { HashRouter } from 'react-router-dom'; +import { WagmiConfig } from 'wagmi'; +import App from './App'; +import '@rainbow-me/rainbowkit/styles.css' + +import wagmiClient, { chains } from './Config/wagmiClient'; +import ContextProvider from './contexts'; +import { SWRConfig } from 'swr'; +import { Provider as JotaiProvider } from 'jotai'; +import { RainbowKitProvider,darkTheme } from '@rainbow-me/rainbowkit'; + +const options = { + fetcher: (url: string) => + axios.get('https://api-v2.buffer.finance/' + url).then((res) => res.data), + refreshInterval: 1000, +}; +import { inject } from '@vercel/analytics'; +inject(); +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + + + + + + + + + + + + + + + +); diff --git a/src/redux/consents/reducer.ts b/src/redux/consents/reducer.ts new file mode 100644 index 0000000..319541e --- /dev/null +++ b/src/redux/consents/reducer.ts @@ -0,0 +1,27 @@ +const INITIAL_STATE = { + disclaimer: false, + isTriggered: false, +}; +type actionType = { + type: "UPDATE_DISCLAIMER_CONSENT" | "UPDATE_TRIGGER"; + payload: any; +}; + +export default function profileReducer( + state = INITIAL_STATE, + action: actionType +) { + switch (action.type) { + case "UPDATE_DISCLAIMER_CONSENT": + return { + ...state, + disclaimer: action.payload, + }; + case "UPDATE_TRIGGER": + return { + isTriggered: action.payload, + }; + default: + return state; + } +} diff --git a/src/redux/index.ts b/src/redux/index.ts new file mode 100644 index 0000000..9103081 --- /dev/null +++ b/src/redux/index.ts @@ -0,0 +1,57 @@ +import { createStore, applyMiddleware, compose } from "redux"; +import { persistStore } from "redux-persist"; +import reduxThunk from "redux-thunk"; +import { + axiosInstance as api, + setAuthorizationToken, +} from "../../config/axios"; +import reducers from "./rootReducer"; + +export default function cofigureStore(initialSavedState?) { + let store; + const composeEnhancers = + (typeof window !== "undefined" && + (window["__REDUX_DEVTOOLS_EXTENSION_COMPOSE__"] as typeof compose)) || + compose; + const initialState = + initialSavedState || + (typeof window !== "undefined" && window["window.__REDUX_STATE__"]) || + {}; + const isClient = typeof window !== "undefined"; + if (isClient) { + const { persistReducer } = require("redux-persist"); + const storage = require("redux-persist/lib/storage").default; + const persistConfig = { + key: "persisted-data-v1", + storage, + }; + store = createStore( + persistReducer(persistConfig, reducers), + initialState, + composeEnhancers( + applyMiddleware( + reduxThunk.withExtraArgument({ + api, + setAuthorizationToken, + }) + ) + ) + ); + store.__PERSISTOR = persistStore(store); + } else { + store = createStore( + reducers, + initialState, + composeEnhancers( + applyMiddleware( + reduxThunk.withExtraArgument({ + api, + setAuthorizationToken, + }) + ) + ) + ); + } + + return store; +} diff --git a/src/redux/persisted/reducer.ts b/src/redux/persisted/reducer.ts new file mode 100644 index 0000000..67952b5 --- /dev/null +++ b/src/redux/persisted/reducer.ts @@ -0,0 +1,40 @@ +const INITIAL_STATE = { + markets: {}, +}; +type actionType = + | { + type: "UPDATE_MARKETS"; + payload: { + key: string; + value: object; + }; + } + | { + type: "TEST_ACTION"; + }; + +export default function profileReducer( + state = INITIAL_STATE, + action: actionType +) { + switch (action.type) { + case "UPDATE_MARKETS": + try { + return { + markets: { + ...state.markets, + [action.payload.key]: { + ...state.markets[action.payload.key], + ...action.payload.value, + }, + }, + }; + } catch (err) { + return state; + } + case "TEST_ACTION": + return state; + default: + return state; + } +} diff --git a/src/redux/rootReducer.ts b/src/redux/rootReducer.ts new file mode 100644 index 0000000..459cea8 --- /dev/null +++ b/src/redux/rootReducer.ts @@ -0,0 +1,9 @@ +import { combineReducers } from 'redux' +import persistedReducer from './persisted/reducer' +import consentsReducer from './consents/reducer' +const rootReducer = combineReducers({ + persisted: persistedReducer, + consents: consentsReducer, +}) + +export default rootReducer diff --git a/src/styles/dim.css b/src/styles/dim.css new file mode 100644 index 0000000..4546347 --- /dev/null +++ b/src/styles/dim.css @@ -0,0 +1,5 @@ +.box-asset { + --dim: 2.8rem; + width: var(--dim); + height: var(--dim); +} diff --git a/src/styles/fonts.css b/src/styles/fonts.css new file mode 100644 index 0000000..4e2f3a4 --- /dev/null +++ b/src/styles/fonts.css @@ -0,0 +1,117 @@ +@font-face { + font-family: 'Relative Pro'; + src: url('/Fonts/pro-300.woff') format('woff'); + font-weight: 300; +} +@font-face { + font-family: 'Relative Pro'; + src: url('/Fonts/pro-400.woff') format('woff'); + font-weight: 400; +} +@font-face { + font-family: 'Relative Pro'; + src: url('/Fonts/pro-500.woff') format('woff'); + font-weight: 500; +} + +@font-face { + font-family: 'Relative Pro'; + src: url('/Fonts/pro-700.woff') format('woff'); + font-weight: 700; +} + +@font-face { + font-family: 'Relative Mono'; + font-weight: 400; + font-style: normal; + src: url('data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAOlEABIAAAAB4vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAADpKAAAABwAAAAciZuZBUdERUYAAM9IAAAAbgAAAJopJyvKR1BPUwAA1/gAABEvAAAtFvfVOq1HU1VCAADPuAAACEAAAB/imSqmzk9TLzIAAAIQAAAAVAAAAGA6ylJcY21hcAAABjgAAAMyAAAEhn0JUthjdnQgAAARGAAAAFcAAACoJOoN4mZwZ20AAAlsAAAG8gAADhWeNhXSZ2FzcAAAz0AAAAAIAAAACAAAABBnbHlmAAAXkAAAp5wAAUoYHIJuC2hlYWQAAAGUAAAANgAAADYTiLXoaGhlYQAAAcwAAAAhAAAAJARKBHhobXR4AAACZAAAA9MAAAxE3i7E+GxvY2EAABFwAAAGHwAABiSLOt6WbWF4cAAAAfAAAAAgAAAAIARbAhxuYW1lAAC/LAAAA0kAAAidiy3V63Bvc3QAAMJ4AAAMxQAAGfbqLcHzcHJlcAAAEGAAAAC4AAAA1orNnB4AAQAAAAIAgyWl+BxfDzz1AB8D6AAAAADZ8y8hAAAAANoEQtv9xv7uApcDlgAAAAgAAgAAAAAAAHjaY2BkYGB+9d+KgYEp8++x/4eZpjMARZABsyAAptYGxgAAAAABAAADEQBaAAYAcQAFAAIAKgBXAI0AAACEAPQAAwAEeNpjYGaKYJzAwMrAwNTFFMHAwOANoRnjGIwYdYGi3KyczExMLEzMQPZxBiTg7KagwODAwPubiWnPfytGPeZXDMeAwvIgOcZvTHuAlAIDFwATfgyoeNqVls9vTFEUx19HiCCjaZkqUlT1l2kjOkoY+kPJlElTLW1MMekQiUr8GImUjR+JCn+ABRsbEj8iIjbohoXYsBShCxuRWElXNozvnfm8OnnpUJN88r3vvTv3nnvuOffcUMrr9fQLpaaYFE9FVDSJUtEQSpXMkb4RN8VpMSC+izF0s9gosiIh4qJZdIsukaS9hf6OQcbJiF5RKcKiXzTyn2FxTNSINvqvR7PM2y5qRRrtwXa3hk4REYsYow7bxsU2xt4l9oi32H4AW2OiA3t28j6DTaP0reddC99jfEux/iHsdX7czdxHxFX5dJb0sthnfN/F3G591fRx498VreIituzH9+7dK3Ge/9wXd8Q7/FGNr12f5+zdPux0rBOH8Ps05CbZi+EAAwHKzD4EOYd2Bqgze5YoQiP+6AiQCRA3+xBkAB0KEGfP4qw3MY368xfTJH3L8Ocw9v1La9jHYtqGbS5uyk2e/EtDYgEx5+/TKJxgTX6OZgLPlWg734ppLf4Mainaw3xOD5vnJvKimEbJmaB2sl8z1UXY4ud6ncm7oM79056K9aA9w5x7t7z3+Ty9J36I9+IjOXzS83KdBX59EvfVbpT+kN6QTkr7pFfEhNpj0CCG9O6b5/18Lb0mlrmc9S7lfpUczc8XLuRw7rP4ULAz9zV0LPel8OztMOemO8+WY3OcOKo1eRqeOjO781pLnzRxF8VfNbBBrOa/dZwXLi6XMO+QeVcZ6vU20d5Lnxb6ZYnJDJrg20p83c1zgjGj9HO5ssbM5efxGnMWRVi3v3cDpk6Ust4I87gYriJWwtjq+y3CeKXM3w4pM05bwGeN9K0yPnPfNtHfMQ91/VfRXs1a3fk9QgxVs94K5jwAZ/BTkjFaUL9O+fU2So1Jk3PtnEkV7NFZal6S7/5ZWs783cybMXWujP+WY4d/XqZZV5XJf/e8Fl9exq9+LgbV5uUe1vfdcM3QD4+Ya7F4KF6yjtvwRDwWz+h7l/fPTV0s1q+CsWebu0+VuTtU8L6e9hJsqmfdrcTTfLGUZ+f7hWgb+dVKzOwo3KvyGkJPcScapL0R328nnlxMr8DmGOf1XOq5rcUx7lN/Y7ap835OzoQyiE9DBNKmvoZZu19zR805UM+7GO9O4Nckz830z+LrDlPrUqa2NOOrme71//SzTHJXemTuwleJ9XHi/oV4IC6I69ylT3NXGzOxvpN98+N4BLrM+vrNvfoo63dxeVwcxF9R8nqrq0Hm7nLQxMM5084QX1niJ1aoQ/n6dMPUsCvUsQlqWN+fmpavVyPidUnY834Dwwg4tQB42s3UXVBWRRzH8e/+zwkEFRJQEe1pz1EQRF7STNFMKw3ynZcytZRQxrQyRLFsDCmhwsggyyjLl+jFMjQnNbK0oYuamqlrL2rm7MNNF13FONNMnee0AeNNF922M7v/3Yvd+czsbxdwGO5TUHZE9tmVGlq7Umvra7SQRBZjaVYVqlm9qi6qUCbLXPlOvpdfHNcZ5YxxMpx8Z57T7Bx0OpyTzk/uJnez2+R2pS2KtcWOxQZ1ls7RMe3rPF2q5+slukHv1e26R/fqc/q8vqQv66+9TG+ipz3fy/OKvRpvo/emL36Sn+5n+OP9HD/mF/oVfq1fn/tDkPxH9KdEkdWNRXNCLbOqC+ovybaqb63qqoOT5KRaVZ4zx6pareqQ0+Pi1rmNbqdVtVjV7zpTZ+spWg+pyoZUu3WLVZ0aUvWNqCZcV1V7G7zOEdU4q5p0XbXFqrAqFUXRtWgg+ibqj85EHVF5VBRlJFoTBxJNiepEVaIysSJRligKfw0HwnhowiA8G/aGx8O2wasD3QMtA0XxtPjoeGo8JZ5kQnPN/Gb6zRXTZ46bo6bbHDGHTZfpNAvNAjPbzDIlJt+4QSL4MagP6oL1wbpgbVATVAZLg4IgI0j/+bS/J2V/cvPwzf7vWpKk/lMU//IpZGQm/3HG8E4HlxtsSpMZRQqpjGaMTUYa6dzIODLItPkdzwQmks0kcphs030TMW626fHwmco0csljOvkUMINCZlJEMSWUcguzmM2tzOE25jKPMuazgNtZyB0sYjF3chd3s4Sl3EM5FdzLMpazgpWsYjVrqKSKamq4j/tZywOsYz0beJCH2MgmannY+p/nBdp5icN0c4we3uU9PuB9PuQjTvMxn9DLWc7wKef4jAuc5yJ9fM5XfMllrkgBjWyhnm1SyFOcpIFHpYY9bJdGXuQteYJdskt2s5UnZatsl23qhDTwGPtUO6e4xLNsZofsUItlpzzC4zwjM6njOdp4Q2WqLPHElzyZLlNlGl9IE/2qTEqlXIqlRPZLi8xgr+RKvhTRSgcHeJmDvEInXRzidY5Is/1F3uYdjjJo32olO9VKtUqt5mlVpdao5X8DpJz/3AAAeNqtV2tbG8cVntUNjAEDkrCbdd1RxqIuO5JJ6zjEVhyyy6I4SlKBcbvrNO0uEu79kvRGr+n9ovyZs6J96nzLT8t7ZlYKOOA+fZ7yQeedmXfmXOfMQkJLEg+jMJay90Qs7vao8uBRRLdcuhEnj+XoYUSFZvrRrJgVg4E6cBsNEjGJQG2PhSOCxG+Ro0kmj1tU0KqhGi0qajk8Ltbqwg+oGsgk8bNCLfCzZjGgQrB/JGleAQTpkEr9o3GhUMAx1Di82uDZ8WLd8a9KQOWPq04Va4pEPzqMx6tOwSgsaSp6VA8i1kerQZATXDmU9HGfSmuPxjechSAchFQJowYVm/HeOxHI7iiS1O9jagts2mS0Gccys2xYdANT+UjSBq9vMPPjfiQRjVEqaa4fJZiRvDbH6Daj24mbxHHsIlo0HwxI7EUkekxuYOz26Bqja730yZIYMONJWRzE8TCNyfHiOPcglkP4o/y4RWUtYUGpmcKnmaAf0YzyaVb5yAC2JC2qmHAjEnKYzRz4khfZXdeaz79UTsIBldcbWAzkSI6gK9soNxGh3Sjpu+leHKm4EUvaehBhzeW45Ka0aEbThcAbi4JN8yyGylcoF+WnVDh4TM4AhtDMeosuaMnWLsKtkjiQfAJtJTFTkm1j7ZweX1gUQeivN6aFc1GfLqR5e4rjwYQAricyHKmUk2qCLVxOCEkXRk6sRGpVum1VLJyzna5jl3A/de3kpkVtHDpemBfFEFpc1YjXUcSXdFYohDRMt1u0pEGVki4Fb/ABAMgQLfFoD6Mlk69lHLRkgiIRgwE003KQyFEiaRlha9GK7u1HWWm4HV+nhUN11KKq7u1GvQd20m1gvmrmazoTK8HDKFtZCchJfVr2+MqhtPzsEv8s4YecVeSi2OxHGYcP/vojZBhql9YbCtsm2LXrvAU3mWdieNKF/V3Mnk7WOSnMhKgqxCsgcW/sOI7JVl2LTBTC/YhWlC9DWkT5LSiUHEqxhpkENvznyhVHLIuq8H2fI1GDIVjLarMefei5zyNuq3C27rXoss4cllcQeJaf01mR5XM6K7F0dVZmeVVnFZaf19kMy2s6m2X5BZ1dYOlpNUkEVRKEXMk2Oe/ytWmRPrG4Ol18zy62TiyuTRfft4tSC7rknecw+/pv6ys7etK/BvyTsOt5+MdSwT+W1+Efyyb8Y7kG/1h+Ef6xvAH/WH4J/rFch38s21p2TOXe1FB7JZHofk4SmNziNra5eDc03fToJi7mC7gTXXlOWlW6qbjDP5PhsvdfnuQ6W6yEXHr0wnpWduphhO7IXn7lRHjO49zS8kVj+Ys4zXLCz+rE/T3TFp4Xq/8S/Ld9T21mt5w6+3ob8YADZ9uPW5Nutugl3b7cadHmf6Oiwgegv4wUidWmbMsu9waE9v5o1FVdNJMILyDaL56mTcep1xDhO2hiq3QZtBL6atPQsnnh08XAOxy1lZSdEc68e5om2/Y8quA25GxJCTeXrd3ouCTL0j0urZWfi31uuXPo3srsUDsJVYKn723Cbc8+T6UgGaIo8bpiuRSkLnDCLe/pPSlMw0OgdpBjBQ07/HTNBUYLzjtDibLNtYJLjGSUUXDlz5yKE9mIJhtRxG/eUj/VhULoTGIhMVtey2OhOgjTK9MlmjPrO6rLSjmL96YhZGdspEnsR23ZwcvO1ueTku3KU0GVJkb3T37E2CSeVe15thSX/KsnLAkm6Ur4S+dplycp3kL/aHMUd+hyEPVdPK6yE7ezDaeGe/vaqdU9t39q1T9z77N2BJrueM9SuK3prjeCbVxjcOpcKhLapg3sCI3LXJ9rNvIpvtR86zoXqML1aePm2fN3dDaHR2ey5X8s6e7/q4rZJ+5jHYVWdaJeGnFuZxcN+I43icrrGN31GiqPS+7NNAT3EYK6vfb4LMENr7bpNm75G+fM93CcU6vSS8BvanoZ4i2OYohwyx28wJNova25oOktwK/qsRA7AH0Ah8GuHjtmZg/AzDxgThdgnzkMHjKHwdeYw+Dr+hi9MACKgByDYn3s2LlHQHbuHeY5jL7BPIPeZZ5B32SeQd9inSFAwjoZpKyTwQHrZDBgzusAQ+YwOGQOg8fMYfBtY9c20HeMXYy+a+xi9D1jF6PvG7sY/cDYxeiHxi5GPzJ2MfoxYtyZJvAnZkRbgO9Z+Brg+xx0M/Ix+ine2pzzMwuZ83PDcXLOL7D5lempvzQjs+PIQt7xKwuZ/muckxN+YyETfmshE34H7r3peb83I0P/wEKm/8FCpv8RO3PCnyxkwp8tZMJfwH11et5fzcjQ/2Yh0/9uIdP/gZ054Z8WMmFkIRM+1OOL5hOXKu64VCiG+O8JbTD2PZo9pOL1/tHksW59AjNFBAAAAHjaY/DewXAiKGIjI2Nf5AbGnRwMHAzJBRsZ2J22MTA4GiqyMmiBOA48fixuLGYcahwS7KxcUKEgJi8mOzY9NnlWsBCP0z7hA4IHeA9wHmBzYGBl4AaKCTrtY3CAQ5DYTgZmBgaXjSqMHYERGxw6IkD8FJeNGiD+Dg4GiACDS6T0RnWQ0C6OBgZGFoeO5BCYBAg48AQweTBZsGmwSbGy8mntYPzfuoGldyMTg8tm1hQ2BhcXAEvAMfF42mNgIAEEAaEXgxfTHgYGxm8MDP+tmI79/8bE8P/bfyuEHFBkD+M3kBhY9hi6PAMDSB6o2wCiFixvwGAFhGZA+Ox/PsOb/1kwPnMw4x3mSMbrAGjLLdgAeNotwn1IWgkAAHDPNc85c8115jnzOnOmlt9O7Z1TU1OzznPNrMzra86auc7ZzvO85qyc58yc655v77zWed47GTFkRETEiIgxjogxIiJGjBExxogRR4yIY9w/x++HQqGk//OikE9on4BoNfrDMfIxy7HosfUifJG6yFkUKXp0HHfcePwRRomJYN5/6v40g6VhM9j1E7QTxhOREwUcB/f8JPmk7+QrPAXfhk8VY4o1xcPFc8VHBAbBQ8gTDk9JThVOfSwJlORLtk8TTztPPz79jsghuokgceMM4Yz0jOvMYamrdPkz3mcIqYS0UUYuY5QJynxleTKR7CIXPhd9vkSpoaQoO2elZwfPrlAxVAc1U44pZ5VD5QflBzQlbeYL3hfzFZQKa8XRl5IvV+k6uoWeoIOVzEpzJVT5qPKI0c+YPIc5pztnPbfDZDD7mQXmEvM5c7tKU2Wusle5qnxVoap41RvWU9YL1jbrLeuAjWLj2WQ2gx1gR9gp9hT7IXuOvcw+5Pg5o5wkJ8PJc2Y5/1Q/rJ6rXq5eq96q3q3er/FyBVwF18i1cru5Hm6AG+GmeAQehcfkiXhKnoln4+X5VD6LL+Gr+U38Nv7f/A3+a/4e/1BQJHAJDoQoIV5IFjKEAqFCaBRahd1Cj/CG8KMIJyKJ6CKeCBDpRXkxTcwRS8UasVlsF7vEPnFIHBdD4py4IMFJXBKfJCSJSyBJTlI4jz0fOB85vyAtkULSnLQgXZauyfAysowjk8o0MrPMLnPJArKncqqcJZfI1fImeZvcKS/U4mpJtfRaXi1Qq69trj0ArEA34AECQARIAVPAQ2AOWAbWvppXhBRxBXSBfmHrwu6FD0qFMq+cVS4pV5Wbyh3le+WRCqMiqmiqQdWaaku1q9pX/avGqkvVFeoatVytU1vUr+okdbE6sC5b96huoe5p3QsNSiPXeDVBzazmpZaqtWvntSvaNe2m9rX2nfZA+1GH1RF1VB1TJ9ApdWZdm65Xl9DN67br0fW4enl9oh6uz+op+oQe1iMGnIFkoBs4BpHBbZg1LBpWDKtGupFjFBn9xpAxatwzHjSIGoCGaEOyATIRTRSTz7Rtems6aEQ14hvJjYxGQeN6k6Ip0bT7tfXrgllpTpnXvwG+mbM0WayWFcvqxZqLwxc3myuah5tnL+EveS4tWOlWnhWw6q3N1k6r2+pvIbRQWoZbIi2JFrgla5Pa4rYt265tvxXdamlta51qRVqft9HamG2Zdly7rt3Wnmn/p/3Ijrbj7IBdYzfZm+25DloHs6O3I9/x2sF0uB1PHIff2r991knspHTOdKG6OF3BrtGunW5Td7R7snujp6bH3/O4Z6Hnbc9+z2Evs5fXG+tN9a5dJlw2Xk5eXndWODudT6+IroSvJK7AriJXicvnCrpGXUkX1FfS193X33ejL9yX6HvZL+jPXiVdTVx94wbcw+6lgfBAYgAeQAYeDzwZ+Nuj81g8Dk/Yg3g2r+GuKa6lru0OSgdHB/e+I3/H8pZ6FV6nN+J9cZ10PXj9pQ/n8/jWfNu+Pd+/Q/gh6lDNkGKoacgx5Bl6ciPxfen3AT/Nv/+D+YetQCjw7EfBj/kgOpj9Cf3T1DBteOkm62b45pubH0KYECnEDElD+tBwaDG0f4t3K3hrNYwJ68Lh8NJI6UjzSGRkY+RwtGKUNeoaXRtjjinGkmPI2LsIK9IZASOrt1G3Tbeh27tRSRT+uTOGjhFi0dhkbDo2E5uPrcSe3wncidxJxd1x/zhjXDCuGDeOW8enx7cSkgScyE4UTUQnkhOZidzE9sTuxF7Slly5q7wbubuZMqYsKSS1c090L3/v/aRtcnHy/S+OX5ZBLGgC7aAbDIJxMAPOgIvgKvgSfAcepXFpSpqTBtKmtD3tTgfT8XQmPZNehLCQBspDc9AK9AJ6Be1BR/ex96X3nfefwCRYDwfgKJyEp+AZeAF+Bm/AO786fj3MYDKlmdRv1t92pvRT4APKA/+DvWn/9Obv01lM1pXd+IP6Rz6Hy5FzzJwkl8k9zK3nXv/p/TOEYJAShIbUIABiRGyIE/EhYSSJTCEzyCyy8Rf6L/x/AzpqbAB42qy9CXhkR3UoXFV37WqNdrX2rVdJLamlXrWrpdFIGm0z0kgzo1k81uzyPuPdMfYYsDExfj9bDBhw8uywBoMNmNUJmMVAgMTw+DE4kAAhISE8QggYh8e03jlV995epjUmfM8e3e5bXffWdurs5xRhZC8hjLOniZuUkb50D4FbhbAzGlUoVQ7Ah0KPqfCV7ikpIaSkrKSsdAdUdsV0vTYcTVTEY+3RmopqX3ugor1iL6fv5jxziB7J/Jyz93J+8SDfy5ou/pjge8kvCaFnRVu1pDvdCa+lZAN+GVgkjCnHsLFBZUm0U1tSU1km23HVhv3QzjDFdsJUH6X4vZnCd6rwNOfpRn6c8+Of5PTfofEK/klxy2WbH6Xfpu+22vSn2zVFVbBVRqFZWqytypz3R3O+f5QPcT70sLjSb/NvcuefaKcbLj3QzjAZJ0vp+Yoyl0JLOCNuSs7oVFUHFktNhqM0NKYow4vlO5jbPeheGhkhZGR8ZHxsFB4dTCXj/ZGerg6fN1oZ9bX7vJWu1nB0nPq8oicp+zMJvSqjMftT9tCwP/Uw9cIz+FmV8hknafMC5+u1s5yvNVOYMdp8p/VZtPw/au+s5U/zEf56+Hua86fxL++Wel7/eqKQnq13sIDSRmJkiEyQeLo/1ettVBWWTkZqVKpMVLuYSqiyACDF7iUKVe4llNB7Yb5uSY0m46qrIezXjRroMgyrlybEGld7aivwezKVkHPfwkSNRDwYqoHvxFObKKU1lUlRwAK3bkDPj9wAl/TAFRtXr8KX4QMRuI72TR9OZTYHYn3D/2d21/h115krnO/bceN+zvtn3VRtWpnbc4LvgzIjtdLHeXDU/ZPq8K44reqveM5MdmQmJ4c6olW/QDjSSPnWi2yOPQu7pJF0kkGyi7zmqWaYarow/0R078F0p4sqJqUAXZtEJbqh6psA1BZ4u6lhaBucatq4ttSYDlm7bPPSZ/Jqrqe9Q0NdXeXlhAztGppKj3UNdg1E+8obyxs81dCT0mAJAizO1hgAQQutqS6lvjG4Dfq8OsxkjPm8ERpM0WQr9RhUvUzNu6a6uqY6OuQ1Hhd/PYqq1hsGvd/UGwwjcystL1KJ3h+c7e+fDcprMp5IxPEv85fi0YdMAx/dLF4JYKgT5nUS5rUXwH+KvD/tGa7RFaqNUUZHfR5FZ91U0VWY5HqY5DaAH6ZTtkk0zZpak+q6smGoTOCORrkY/kvrEfhdVFY3YCLUcRXWwYsrS4m26VS/pNL6erpGbNGpkZ3JOPSyJ+gb7nYB5HokkIbEh5xSvYzWJhMOxtCNWo8A3QjVfVU5k11bmQoBCMOsf/7Y8PyE0ug5uBCdDcZiyVeU8ds5T+nNy7q5YOjBXden2xq7/aGeyoa13kfi/XMx3n9ieuJsQAuOd6bXQhPBgdn6xicH9rlgb66NnnOphisxS39SGm5uCXeH6rqCmVcN/6Btrm9ohlCqAy5cFbiwPu1hDvalS3BF9KcANJFc9KrnYTuoRcmXt/roZ9kXSBvRP9LqotEwABU8MgY4KRYFKKupNkoZPN1Ca1toGdVDdHTZ71+eA7yrhlR9erSxcXRao2rIMB48eX7Pl/acPzmqqBFVUbSR3SfXX7t+cveIaqgRQyeivYe3YvSN7EuiPQ+B9jwCpBPx1BiDdnspLMA4Tda2YKOl1Hju0nbmRAe+XrSRUbsP2NY5up/+M8xPJ6lNVwd9LY2VbtUgu3GOyNIohdmpwsZCwXHcUNZCj9NoK6uGlYehw3ixd4Ye+gsAyPnbXUqpwu/gUX6Hqinl1Lx9XtFDqqoq8/O6SW9XTPVMh8J73Urobs4vdFAzomlK6KwC/WxWtDNnXIaYg/3kZqYyH2AeoJqEUY2tAxFTKQLvGcAy2oYOZdoyVG4k9UA7fF7D1Rj2j9p0w+qqRR9qxNICoX43LK/8uDnnO/xBm7/YeiO9itxBPKQjHTAAbdMFQgCpE+UUtEg3oGBQAI6HVMeqfZqrPuyBtmLRpNMqtgYk6Be8qbKX89O8I+C7jvt5VZMBN/zBjk4c2320gn6LHgP4a0k3QgElB3DMxwA8Cd2TA5hIl4HXgHf62u/jFAAz8yytEAAq+gsPYX8FbNtvsLpovyKXnP8C+3BaXrAfQ4CS22Dtd1jPDyxmnweGJy6eT9ExCi8waCkN0yGd3q3o2kyJnrkHPqeB4dFV4Hh0lQBeSwFe8wl6UUtayerHmmqBCNrEojZLGgSHtYGs0DgFlFRjk4a88vV0ZV0dIXWtdS1VFQLxI6fiKUDnVRK91HoAB4UUT+zH14+NXb97t7iGymv3rgx/fGX4f5TX8pVHb7rp0RV5ZXep9735iXQXXi7+VhXwdh76UAdz0UxCab8u155SnBEY2ZWqZNOgZjNp9I6IpZczW2EA+AfhK+wPwa7F5HKd53/2Rh04L/cHTcPP/wxW7jpYNLq1R9HUXVw7pvGL78BVxLZnoW0PzFuIrMm5aoFCBbiICzgzGzBxAperwC2q6iBi8SanAoMXMLKZ+/N6egc8FyKBkD/epQPaxp7iMtrIGHmlxBhzELgFYcAgVHe2zI5PzunGYAlNnJxKn0h29/2Q7obeT/OuUhflod39I9OLQy69bGRjIHF0cNeJ3uflMKBHI7D+O2AcA+T+dGkH1dQoBRIFQK1YMNBLNEBVGo6LQa/pBRgEIwoQIVXVN4iuwzgpNTZM4AjGDRhn9yUP6ETVdHXTeTCn+nq6XKCtlD/uj8UDfperGeElhPDvAcwM+xRmQDBeWJSU02EgXHtTOB2AzXTDI+DqJ2fGtR1JYHWM5cmpvfMzI9wdGx+fSiXnVKoZqVKqDl8xcOj6zp5bhjZ38uTGeIVmTsxP7xqd5IPu5Gg0NZow1YqBtd4r9gzPNfReSG8kJG/eCxcfwFkDQFIs3dcENJ8uAH/MFEpUBqgNgU631hmQQ2NzYzNUrvN5k14T1rJtlLZ7xXrmgJvEb6EKhZ7JfIObdEQz+/iVnF/pHgUadh8PlLjp35s80w1LdR//ezqQ+TKu125YryboSz+ZTu8MUWAHFmBOcS9eEFBF74LpZsCPIE+hHiPI0edOOAyon/T5fPGYPxCwZzuRP904wwhvKWAGbFRm4AaW8/yfm2PKjgFdp659I3OLe2bDU+0u16AblkTV6EmAu+82Bed7Tt80CrOcODyolOuugZl9C3NrLa0uTq/RNBjRN+obXnHd/DUDYn6nYEytAIMtpIv8URrmgrJqqinMgsAQjAtwkoKQp+mKlsOwFjBKAacmwh5BRkk+kc8rpWtaWwlp7WrtDPig0WY//CdYpaBgkTy1ghsCgo0TkR13Lhv61dfcd9PaDdw9Yio7prpn1lnroZ6Tt6c3RydXVibxj7/9g5//wpWLzMVj/fe8MhC849qZzdTSgcnJA/gn9x5QKlYNa1lNWgE7IC0QkKRQxgYZrlQ1qYz5VVcdCLDxVJWAIbkehgLr81n268yfcg4Sn/ZbxUybisqOIZ0JuksvvtmAoSOsVMC8NgJiiZHrPlatM+DhrVltM4BIwjZV86ZT0ygQaQvJt9hI3qmaV2E93dDR0QQd74h1RHu7m0JNQW8bNNYAfGetzXfm4n7dsChAZTI7k7nff3pmaCQa7h08lkodG+wNR0eGzuwc2TUzNDSza2RieXkC/3ji2MjEWl3D7uTAak/P6kByd0Pd2sTIsQT9s3QsPjwcj6UzH5weGZmdHRmZlvt3GObBk4WvUtg1SLaz8GUhKoASqC23jrIB6FlsnTz4yuJAG66sJ3LqXQJfAQe+5E6TGw0QElAhOTuIxfJm5UvFYOs6ALoZG74KYQvhje7NATAmeQ36HaFT6MJhApmG3p95GS1GrmaBXcqKiH/0Cvkt86jNmmB7yIuJ9rxkOD1QBZsRuTEAF1W0aiD3dwpQkphcu3FvSVtTvaemQnbALNKBosya7EiWZXN6FL+EdztATtKXWBxYQP0jLuTN/aEAkv9UIClQsbGDehDJ0f9wZUCsoa9xMY1nPk9HuXZS/bDqmnPBVd/N1QceUPluXYx1P/kMU625jQDNy86torAD9gwzZc82E2zjVT3n+35OHwb0CR2Xn/SPJdv4VYt7xLEcJycBxcmxcBxLEgfSQ4Ninmo1HIih6b7jnI5mPs815qKvgXfd7mInsyNwBiX3x1548e9gfwRJlFwj90TQZlZ0qqhEUe/K4WpUVTsGS6kNoo7Af0lFm7vJqbaerg4B+IWiob6eLmjG74+HTWDH/FIisxGrJOsJh6yXUimf5op6rDHY6vPtTKWWYLdpY5ylTk5ccUNvdyiQ1a/1do6Hm1oirZHhsQGgNslDydOrscmQN+pP5CjdGKnf+mMWB/wrtCRpdys1lEo3oyYihlZEDBy+U6qZFDCCi+qajsBrC+qGIcB4AnmeXgI1TcouwBOEaSa7/APr6dqhIVtZAs0PBANBXzLgdjUJGmThywrB9I2irGZjUU+tmCkUyhGH5Miy+Uj1K0/sfu3R3VcNqlrc1bMnuS8S2ZcMj1Xt3T9zNjl2bnFjt0pVpY6aiYNDB0dHh4bGx4du+erXbv30JnBFmXOa6goNpE5MTJxINdcHxpcOvWPjmrfu6WZ6hAEn3FhNyZ7Z2T37pnauSvgphcu8xR/BXmiC7e6GlWILwNwCwlTZWTEBihRUGhuRP/JVhwKCzw0ilyHYjyqphQhGaLuABOqmVRr7KVPVFVVlP6XuKV1lE5n/k2aqPkX/6Oymy2CP6sCFXryCqVzVn3lGV2kjHcx8CSByH/TJD32qIk0kQHam025APsC1AWhqKtPOwEKQYxbRU1V6TJeda2muqSbE720OtAQa66ubaprgDRUxJGhRqdz1ZOlYmFZZ7GmN82Uf/+e163q6h0b7rph46d/6B4cj//NdozMzo+9CPfPBtdTeGs/K1MDhOH1rNBVNfiPz6ZGxkfFfS36gC+jUIOxDP7n6KQ4TaJNqZGtUmMcLRFWAgt+VJdgwCiFUS32dr7CewwVla62nYbWgBV/M74sHUfz2ZIErh+9BKAIahQwrAtfP75ydvXPpzH1l7lE3rZhfOHj8+MGl3RXUPVpCy+47w5cfvfnmR5fvuJGZfHnh9fff//r5Fc5vvEPCB/I5HbAWpVKfnp16DYBEqO1x6svLQEivLqstr4WKJQJRWlNuz3bKmuSKBf7IwQeWlx84+Mg7z95889l9OLcLj9x00yMLe++7//77pB5faI2ErNwoMDTIHipTkFm3WhcYSpcYSqok2n3tvhjOiWUwEFi5puBzg9M/B4z6bjoM1y/SDbiuCSPCCP8W/L0Ef9D2JrTdB23Xkk5Appe0bYl98L2W1GCrYi8UaRVNCZucfgRaeQudg+vHeNpq7R/hD0QHOVY/wE4cYKeb3JjmCDxNgI9tDgewOQPo1y4QDUBDU8/kQZAOjIuuj+sSm1sVbdCxH8iptp6GlYKGwjEfwpCJWOtyMJTIId0IS7981fz83Yun7ipxw6Ys3T1x6NSZ4wNLNe/j/D85b7tlD9/32PmbHlu+6TgA086db3jNa/+/WPgGGCv/SHVleh7GOg6daxTrGhL0B5ha9YywlCzqGrOlfljPyli00llPIXq1Zw003kSFmN1xtCjEhYGGZ75mzW7mH2mzMAtxOpz5ojXH+6FdVbQLa4rYjB0TFFGFpi+BpFi7T7QsNQ6+LO8O8Buz6f1jb4MG7uP8bY8Juj/CWRMOdIRf/DGCEbQZ3XqR/kzAUUcO+ynoMKXKBio5xhUJR56YLy70W1kTRcwZOPCXXzoeg9HNjzwA1ztO8aFTMOSx5Y/ST0Dbu1/5quwYEZe3k2Da19xUaYKASxeomFzAKrZk0k5aOxIxoVKxW5A6J1QuUguRhxQDJ3g/TnC5amh7XcoPgCi6FnVD+8G6PdPfpSFNM1TlN5kjhmoaJj11IvNf3Nbv9EJfyiz5SIyZXZmVj8rIDm9Mykf2+tqaHGjyCnj5QWnee0TMZq7+rI30psNNNSbgIpSghWbighwm0Ae7gTbSEo/Fnc2JvHujJcRLCEI5zBtS8G6IH3KrFy6o7kO4gHcp7l63chcu6Xu5O/MBuuoW4MTGM8+4XHT84jOSn0tDfxqgP/Vo9asxWdHZrie10Iuc2a6lOXAcoviR5nvcGgAtLCp8yfyjnF7z4ndYUACyyTouviD5nqCFK9BG9Idr+tDck2PiKabpy5WYf3Drzp23Li6K6+rhw6v4x1cfO3fusVV53fvAgw8+gH+ij8cs/FkOgN2X7gHuEmV74K+Bn8oSD5ieygokGxW1lbVQt9QP270ul1SHxeRUgQANxPkY/+G1t99+7Vt4+hd33/1unJ+zhw+fzXwL9uCNN/6zMzcJmJsG4IU30lUhf2vTDk1hdeUMuPmFGkp3/8ETJlRD0cb+njC8vf7SCTNyVPO6L5kKASs4TgWLlywyj8MDqtqlKooaH19Phcatm4G2wqn9kysT+EO3qkaTe1tGre+pXTdbs80IgBhLCRj0koF0wg1cBHJKknc7g7YpOeO6wiQH1wAIoLXB2+hFyKwcjJlZyBTskcXJhRSfnHyLN1ri/37m2unRdzIQPrSHH+bp/xodHBz9EK7DkaPT+6szn1SZzmk681kQgNDu9k25Z3tgTQKwJnFy0maIQNZQpcpLRZUX8IcbNlLMY4gK6jHBGW3m1pIMUZzE/PFuX9xhiGz8Kcy3vSy7SsLEa5E3NB4xFN1/cH4CrbsLC0cO7587PjS+mZ6+ZghKOqc7J/ZFp9OzVww+eD1PHp/gfHhp52QkVlvVOzcwfKAnsZ7gvDXROtgX7KuvrA5PJ669Xoy528J9VaQ93YK0zVIOZbXawJf6Yl5ECm2JAvoiXA6+DqTl55x/HRHBcYuqPCLw6iTMZ51Yb+vdlxCTelIX8yVsYmLjmhxqApv7p1ePwqvf8hY0YV+9kw/fsEC/iErnD3+Yfgo+hxduGIa2PDCOKWirjjSm69w0i96I2L3BeEhB4AFaEUzk4tdqQ0GW7yWVfVcBcFE+8Qnx8V2maleqOnsUpCt+8Sk2z3XqungF2jIoAc6dzUBbPhJNR1DD01Lugi3IFmwZldn43Z5DH2n3xeNxgd9DSm4HrA+haANK5hamlJN0jznspmMbimvMpWyMUfewi+6hfB1eefgwdG0dYBm4lotP0k/CFMywPQL1qjr908yG7KMf+piEPoZIW7rZW1eq5tBXi7CFOuvqVUFx4qkqa1o8rSgmWxNjC0pWr/zqtz+qmrs1Tb3/flXTdpvqR7/DjDm4f//74X5OZwa9BobCdMX4yU9gRMzI/E3mDbDXoGPtmX+AjlGCSrCYWCdfuq3azZRLugXTVUc8gVqktwBxl66XBLvvKsYeXXvXuzR9j6F8V3hr0NfCXjMzz9E+U6N65lYgTtL2AG22CDgE/ryMAoIHHAur5QC7UKNkIR6QTSAWsO04KZqrELUNIiM6vTYD/Dl9guuZN9PbYRmifMR0sRqxBUzXxX9zeIGnt4bof4g9tlPiFU+OcGA3PaoAIqkCxg+1OSecCojRS+QuBF5P7BSHe89yeE9z2s75889DL/7hWa5cJzZhi+wAJWMw/ibB31xqy0OSira8dlhm2xxCa6t99OuarmTuYeYMfNK7mQs2w3thqfWLBwFPg9wBY3pEjGnaHhOOxFZmkmPIrI4SMSY0zVJywqnAkLWnpKzEZQBMVNFKzeUJ13rzOVh0orpRjgnH9ixyOD/Cuf3dG1HumaOvZWUCjtqf1E9OpT1VaCBdwOHei6O7JRTy445/UidTlSD7i71WJSk1iv5C8l9U2Ic0c87UPkRVZRYGeu+9iq7NAhyptBXm8oewFqqufv/7qo4vXt76MHMJ+2lQtHlZ+yw27MlRui1Lce7Ikq1ko+TrrIs+IGys3eJ97cweg/XWDVGwnGNyxbeSCA3icFoZboRh8wRQ2lMufZLqadblulvV+V3YX0ZmAf+WMkLCZIC8Nl0GqIygMb7Dy1RDsVxIOlD+AnSJkphuEH1TYGhUHy26qGGoG6bGLMNi9/ZVgTAOivrahmmTO0830Jbuge5UrB960NUV8AUC3CZ7SUfHJE1AiZSQ6mCmPJaTyChFxo4lHAnvG2vxGw70TPXuHOudLFXcaYOWXbv/xDWGi5lLvOFIMj7XG5n0p2ZH49w/G9+7n7vrh4c7/C7DHFk9vvKz9vZKkDB53BucC8z2uXlfdygCc3QE5igodEpBck2alwEnAqPUmDU9zRI/WHR/YhEVjWQDGBRCBhG42wt+h6kZFJUUoPuCyq2nqwVDFmwMtLciQ+aPxZGPUYMhSeQrpMi6DTtLa9fqJMQ0r/VMnkylTk4O7Ns3u2tlZRcPtES4kDt+3epP37Jnzy3puauWl6/CP5K14eH6J9OxbXQ7E3m6HYKVu/zBQKBQZWOTAlwOWy2YdEgFWuuuHx6+fu7A+WpmjOoGyNvJyFxn51wkubsUYG7UYFU3HuBTt8zP3zJ1YMHUdUWPJCJrqdQafADB0IyFgwizcZBDM9n14MBP1aKuoHA9rM7jVDNcD0E6ctbDHhyUv8x6xFC1UJ871kRW5pFQmLMefyuWoGetWS5K3Vp0DZZiFpaEyyXwt/5aCvSRlkDucsDYJqz1aIWx3fpUozBbzD+xQyhOkPgp59HOQxWdnrEdtcQI1OOOZSiEFQErXXiZmuvpmrY2kCuDbUG/Fxps8XsDQcdNS8KaQEv566j7qqQ18p+vHRi9dmb3VSmeeZW+PJ2cqGS6PmGw5HveWLI3ObBWwqdundt9666ZW2dK+dx6dx8soao/AszD/Nw4wh7qRdEmGCans7w0uvZdyDLRumA3NcDWw4toNh40LF5a1rOY6CK1pDU/TDp9Pl/I7/OifTlqMafDzjLKEVo6IsfbB5f1J3/M+R97d/b5onWaYihGQ1eDv1P4dA1x+ihP8u7wfG9pqaobCa5W7Ojr6oayzBUcuLvprT6QF/0khn6t5PF0fUMl00gzZ7rmp1RXFlRq0PkaIFDzT9TCsKNua6HQRmyYirGZt2DmBjHNwcUS6nKpGwDs6iiuct+lDzECvIWZ83DeI+tpbzodjxOSXkov7p6dnoqPx8eGBqCX0d7urg5fe2QHSoHoJibNpZb2v9bR7JdRYRv0hqQ2DcsvMRZa3w1A2Xj7T3fVN7aGe3ZE9vYNdO9UAbsGVS1dfXxpPhL1NpYH+3wnz995pnlgoKsrlepa2buwu7O3uqJp367n1vZGW8uT/vBoXbs/sdTRNKJqHaqqaqOByNKRsCfc2Gy6l/fM7adfjPX0xmK9PbHMvb0dsAoarevoiSB8HQH4MoV+pSfdZVoWQKlnFM5YEwXqFfT7yFGv1FRIc6ilXpHGDgEfRwAGGk9G9x2Cz5GEf64fPoX+6Hf+3v0rmQ8DShoZTHXviWU42doixyVvWe4l/0lIuULXKchVUL6xZdC3YzndbZW/XeDk26B+APrdipbSxoYKU2XU7jpCeI42ppU0D/rzdV+ppKX6qrI9KYW78G3Qx++6jGVT+8CXddcM19+33+71mW+5DFV7T+bbpma6frfyPm75FLUIXZ/Qa9rqRQU2muMoJDXG3li7z/YSsnmzXE+mWf4pYGr+haMgNgZ7hHXAhV98K1yhnQ4hgxDSR/Z/rNRE32cLi3vQiQWdzuFH2NSGpkhv1TQI/FCAvwreB1bR+VHu+T7S64v74n5/zNrzWeLpqc1fUgTawu8dMC0Vk+2hvrKaMd9gCu4GOvudK/0R5+Fmb3NrU9vgZOZeWOmzU7OTmb+HL1cuzIxnXrD4eVhzusUQrBaeMi0sjsOqQovDBgozww70NaZrxZguhUvpinUpaFqjKQKax5ELWI8vr8JnXyo83Wn1ecTbe3Ap8wR0cyKZCO+JZyxf/xjQmxBDHr9VekraJD9PYyT0a63lLXWe7fVrTKoiLML/T+cmJs7Nzopr/0I4vNAvr3wCFUYT8jrXt5ZMrvXJq+zPka0h4LWIoO0Pof+NSjx5tB2BQk6fpOvQ4/FF3RKOJBlpl7OJACJms0hFqLPdz2L8wwq6MedzAXVBv9AueYqwY17JqZEcTHhEkv7JLDNAGy2u7Fmx74D4Z9kBqufzAXGQnTLWPLxPjp2Xg5AkGc9GcWNxoevZqbF3hGRB4UWXTg1jhVNTULFwanJ+FrNUdGriQb9gWAUv5C3GJrGcqaFPOIxq1GJdVy0O6dksoypYV+CScqZG4sYWhkr/V3yszGRyY5XByOoJUwAxns/dX5YbnJyfBlkBuNtLa6RbnB8LNqLlEik3YjtpBV7i0o3oKEst1lfsRES4jesDt8aYntJVTWmK9nRMBKztOO6PXK0qutquaj2B+OHkTxAXHgK+FnFGPxlJDzZS4HEWtlEuTuQpF6UfXcDXFfDn6gyzTnQhR5zKMuiWyhBdoXy/OTHE05pK9blkcueulSOr16+uXmXwAU1h7qme2HjLaOrA8ZvXedd8L9e0rog/EPDvKJucmJpf3MlV3edr99a3VPGykYm5fTCOXsApjexRwO0D6QSaie4lOtGIrl1QBZ+mCD4N2JRcT8AOEor50A/bh1hbDW7riO3YgsXGo6WH7uT8TpjWZzl/Nhbp7zcoH3J17xvgp07/G9CYRzlHbu2nExOxuMsVWe6X+PkwzPVL9EWBn5uFSG3hZyYAQ4ittnIO8LNVirEOwr1Ks1loiZ9bYwm/0NwB+2SrJaGfY9SmhY6c8KFcxCxxNT+4RPcCcfyMhZh5pkXga9HPKNqroZ91pCldX+l2bDLDltIykAqgCqPN1ll6ahupo5zT0UlF/YrimtR19uijwJ5PupSvqPocp88bmkvVM7fT1+iqSzMynRbdAkTP5qC9INqkvFUc/W/zdJbDuTrLIPEnQqEaS2cZyutAtidScRkChjVM71GupeaoodPFZabokyCVLS9S3Rg16bXMvZMrKysK38np94Gma5m76F70qcg8QV8JwGJmfEC+9mUex70yD/0sg376UHfZ6tmR1V0O20rCQIN/wNJdYgCCmJ5W6rBHTqAJKhfmlQ89ohqzLu3mmzXXrKE+8iFFXzCNe+4xzAVNVX/9YxiD8YEPGCDC/PjXwIXyj3/c0hsCrx+EfoRIf7q3oYwBuC/YplHsx3AWXkYFxxQiwVC9NyiBJSRdpXCfjgGdLbaGADP/o72Sm3ptbXV9e30N+zozZ3WNvfNPYDl3mex579LAc6apA4zvcDXGEzr9kc5MmLR76R/pqkH1iz9Zm5NrexIuL0Jf60k43YESInX0m8N/iH7zpE6bM7/iaN00M/9COwFyX8mThkmPIoeX5O7M+5DJE22/BujZd4Cf7CNHnmoX7vFZV3WiUuGBnuPUJVDbKNpNGp0KKpSp2imnomLZS4DfG4vFY8Jegngj7rhowzVpe2tJtIzuMiLSxnHiGplLdHPenZhb3MX5rpYmV117e52rqQXvnj16+h3A4fOhd5w+Ch+eSO8H2jpdrs62D/RGPMK3gipb76AHcuKDCL1Pxr7kqPnUnFBMK/zyJFdKOP/dr4SO75UwN/9LzM3GU6UwxuzcqAQARzgZZ31AyYZuq00bnQoUQw7IKaciso5VlIQ7At6WxroaQyV9NGJkVagSNaFLrAgIcmYMtWvOjOF8+V53yawsOjP2bLFJyZkz6NIarWYafQPpJENCfxlpBRaGU4WwBWHnXsflVXB5setCsY26zE7S4e/xa5Zyllgky9CdQCZLehe0IMfxjF7b31rdUV7dUg/AorQxo26qvkkU1bTWZotodYnbcLtLmZZQmaZW1OBtyQ7n1oq9hXU5C/sF/Sod27Sttx4WRl8x24JrqoZbGI9yKlsD9fJVO0ooqSovqd3hMdAVjeuwCPYE45aqdez38Ri6CRznfBndPzh9UboHfhLjczFOV/qnw6VWwEoKo0fjHQ1VIB3GOnfoKrQOc0oB6wj3dJjju6SmS+ghuzuGBDYkYqJyI0izUaM0R4UXqhiTZh6/p7YCmHpoteLoDHTs6NVXH4WP6aOVUovH46FQnKP+LnNfOplM03JDMybX+ArnK2UPnj79YBl+46uTQqEX7Hdl3ujqD+qKuVFKryrdmJb4Ybfwy3qWjJBr5Ux32DoeDYPwiIFhW1nTqmGYx1zUNAdNmPpgoToo55GciuvpCmhqhAwFfAEf8KKd3NUisRsq70IWu5Er1sgQWisA0WJAhFHZQoDrprdZmeM8xt2Dx0d3bvTDvMwOjs6U7Pgx599Q2gAcASfu4tMud8/iQEU50PumeNv4sVjiUIrz6NQuoPJtUFhZ3XMqgvgEfXnXGNBXMkxmMKrC2+ApBcrWGXAbMLKBeLeKKHqhuYqRueF+RndjeBks+SlbcBtmSyMjIzMj05PpVKK+Fq0mSbFlxsW+ybXjX6LayTf6e0Ow3XLVmq9Wg6oabW2NqvBFUdT+yPh4pB+/FS//XhrBIZ1cs4r7R0f77er9bW396nbl67sGB3fhH8CFF+BiAOA9ScbSww2CJwZJxBAKzrMmpS5KOKyzJsLFYXvxQY6oN0ni0b52XyCADm3eElcrBr7YDKX1eanV0OYxc4P+FJDx7/0zzm/6sGIs69p736vpy4by4Zs4/zP8BVb8fljBGeTrh4Vp8a9pUpgWv2gV38+RH8jSCcsLT3hkn1JzIkqLeGeTHMrBLqUi8h89yyl8Zj6L/ubWN4Erjm/10f+CPTVB9pDzadee2aF6QBJZT86XdVwY/b0cF0Y1a2tNkHQPUJz2VvRdqLvEdwHjTllhHEbOFrM9GHIjM+AZqVCo/fWxKIx2KtU/0ZgcWJgJNXnbWgYOx8aKFx/xtK3srcXLc7H9MZC1R7u7GzqC3t7oUDCYamoeDyUXgtv/Qs+21FSHUr075AcM+d1slX7UWr+ooGQhtHRRckA6RIgkCYQWc7EX5sVtMiS8m69yvvoOcWWr4sP6Bxg8SVaZnx0Uupmd5DrR6okuqmGclaabumZeIKahm4bwrlXRRVIFKQvD6I0S6lIM16Zb5KRYdwtlDsecFMttbajNadvZNjk6MpiK9fd2dwRzdDs7rB4nL6/fsd1QbCdLG0lEBX/tEX6652Zmzo2Pi2vsyODgkZi8tg35/UNtvWNACU1aMhaI9PnHSqjp0UEAHetdHUXhf1Reu/s3pqY2+uV13Lurr3/KF+1WDGN4OJUaGjZUvTsqafUF4JhfYF8AOclPXjv/RAsAeGkZdwHoemrKFSZ0JrKA2gXrshpKf0TViLqJMSFMW8/aizS2jPCf87OiIcPCgMaecSxGmrK8nq6urwem2V/va22GPsCkBE13fTbPQL69KB+vvrTQ3b3Qu9xphg0jbHYuT46NpZJjY0k61r8+OLjeH/UZRuathuGLDsyn0/N7RkbQhry1RaaJH7pIyr2s92FSzljvNZKWrpPP0P+gr4PlnJ5/woVci4JaVHYOeS16wPIboGRPY9qDv7D7Cn9YT7ulS2PMiy4W/tFc/h/Qz2OAYjh9NQiwn+Gv4FEOTAr0x4pLLmcoRQIo5sJviqTJOQHBp73UpYapbsbbmaYrCzCPwBdoMlDOAmKXqbo2ASYAmk39TBEgHhxAIB4fHUgPppGIRXqC/v8+EAdz/MRqPUIY9CE4287dNduB8JpxsKe/vTGtGq2GMt5rNByph/+Gt4fdSYM2GuFQW8i8x9DveoXx/rqa6joEpc8BXnkre/j39xfIxSSf45/jHN6AKxCVOP8Oep7+wPKnHBBv7MnxAcRpdBS7MI1F/CZFG5fxnfztciSyHIuJa2RsLIJ/9Hx4MRpdDMvr2HB//zD+IYxKP+XryoOklMxXGOxqQjJ/RyqeJPSJ+ScS4Scp/UTm7+ALgt376ffoJ5WDJIC6h8IQ5pVsCPOyEKQDxBf0xbt0d4MIYhqnhaE7Viybk+vl/fpbq6vbWloDwCxqIc5mBwfSjc03PM75/6Hf4y0u7dUV/tomf6BJ03h011S/P1F3Jfda8uu76PP0/co6wPRMeqpP2pJeJhh5JRvsus+QTEnCZ4UWu5vD5BI1XfHQYqm5A/ZE6uqoMRrgQRAS1VBLa2fQ28R5dauvvb6uHYfl45PRaLqnwTefpM83J9q5prW2tLY0t8JAmptrmhobNMXVPTQQGGhyR/yxtBjb37Au+qDwMWkTEFOT412C2WeWA34GWEC6ycg4dU8ZKnO+obBJ3XUK0OIJw51mXbp6F9fVu13w0DGQnX4HslOA3JPmTfC6dhRMLCVbXY6STagcFm1uQ7ImTYXqNpjScadOuqnIDzI90bCGqtpSCR3+WMIvPO49L6OT8wrd/bFLFHNxHx+SqvpLdHOVX7Dgwrv1DtYFc9eEOhXcaAACF4Tn/6tVEVGCIpgw1TWRhsqoL+61eiTiLZO5bpIgAgof1f/0HDxx4iDdyfkwsDZzqCygnz+8tOcwOmxB39izcMW99QsQVq6i760wCHBftJe4YFd9gvaK3YR9+xzwf28jQRIm78R1/TgIEwpTbX+CduDrVOUGwLbA0LGrYIlgFteRGAq2jmjLjdI83QYVlXsvV09IYFDF3ghWVYIRuus2n0i1ZWtt0H1kxO/14EwIF6iQUEMAlNsx32XUawktQg9WRp3A1BcByLg61F5TW1fd3gZC0Q7Gupmmdbu1Pu4t7ehNJp7jQKabubu8rLTCoFiB6lfDU+uKGmrr7JJz8ynANZ9SVmBV+tO9JTrDCCd0XAIowpCGvdLSeWUW3cDyeZM+n41uQIxAbURh4oYw/RQ/tKirpnGladTyQ5z/DHCLl/+qUzEjIGCoPPPXFk5h5BwM61+BZ0Fc3fffwtPuy6cw+s1afz/a1PCamp1N4R8d61sfGlrvk1fBSeAf9mMN+IhqhmlJeoj5VHstyKEylhPVpmJhWkVQKoqG0eLFa8ZDDxm6ojzP+fOK8rW8O7+xyvVXvUrnq4byly7XgMv1l0qRIsnTxLeG2Dh7utzH/mrrDoK8TV8MeZuP35b9fSL/9yYC/NxT5H7xex/83sOegfLPPiB+bRdPn8RxXrHVx7jQ50TJeHoEGA+MnUZlCeLtuwTN1amlDFWPE6GyFQx9tKQv6G9rrq914oKJo8EZprpMo1NqGyek7raUyS2esjAO3RT6HOMyQaNZlc/lwkbFOEWco/LKci968ZYDZaSHipZr9C+Llhv0M0XL3fQ7RcsZ/WhO+UNOOXCBCLdbv7RidQKkk0ylJ5ASupgCrJuL6KpLP2PSvFi3DW4wEaIUDBIS7Ax2doQQZVfGMOwtXuJqDudkfMiRyC2fAph3n4zLrPAppdqnYMPTOzn/0Rc5/+LPOO6xV/UzVU9TUnugHAMzcwLiuBWbuZz5kIhz7BNxjrvJr9LlcWqYXZS4OgMavBDdHxH/DRDD5KbBL7gpd5ncdRc8pilU2ySmaWcdcbksM6lqm0lHmU3Nxi95XtEwg8GFy73HlsbxNenRbd+gCwFw03lTsecB66J/wW4yMzU5NjKYjPYB7vX7qkpcTWE/zGIOdvVeBhO/TGgmG6RlrzzZZOHggSJouuXUndvEbf5vfu4OFpPouQjy3l31sbdfEtGJ/jMYPyVgtMPaA1dJv5qCco1+vWi5Qf+2aDmjXyAO7yrKu/P2WGG5vccKy+09Vlgu9hLskEq4RGHPeEgILb6AegwqTR0ggEp/GxfQH+WYKc0ydbCMQX97a0tTbaguhFmkoj4vl74/lk6raIyqs3v2C84mP15VWE9pD+qvenIDV38CJT+ROFfEhYn+9+fhCBG7JcqjefNTWG7PT2G5PT+F5du9X84bJbeTt9IfCh9J/SMNnEbDqaA08YkcYylM3OfkFhOZxS6o6i23GEanYTgfqmrdfVlninrzzYbRJe/h4+abgTOyfwcSEdz6PouzfyDtgNv6yXq6qg64hUiv39derisM1kyxExR57DxfMjhG7kW01FRbWoPN3OL1dElXV1d/V19vRJg6iHQlCcGejFDMmuZ44I3RVoqp4UitTFhFrHRVLL7z1sX9450gP7cBzxndnX+beVPbb7smVg9T5TB+Yfp7zz22GtsFP1VBldWN/NvMPTvpe7oeeDDzLw88eMvOzHoXroGIzxFrMJC3xoXl9hoXlttrXFhu0xMR6yHKR7LvyYm5qwbeKJ7uRwSnUu2MiARTMBJMBIHJfeEBgaWhrqbR04hZavze3BiwZgu1SW1uyo69S/O3FETf8Tdg/N0b+L9h9B0VsNcDdGGGPC5llk60Qqoy4NXG1hi0DXvVkmRMIy+hYs9lH7AkmJxcVWGnvk6YprPNy9TGFIswAzNkOhHD3KdBX2szJqyqC6vbOH84iS1sa1O+I6xMcYFmDhlERo/OdvMhdAnpagv1hIIdnfW11dXJvij6w81yPtuzL7V6ZXNDZVlja1tXy4E93D/eAcJmiy/a19ldWxfpae2orWqpCfSPD2dMLj1m2yJ7+9dmOvrrK2vKqhpqqgJDXUtXAgzIGAT0j5wSfpD7LBgrLF+1YKywfM2CscLy/RYeKSw/ZMGeLH/OKT8seBlF5D6IAH7pJTEyTA6nDxqImUE8MNCmdIGgrldTL5SYjLioAkzkJjEMyy9nB2co/rtleHo8HokQEh+ODyUTkVgkFu2Hl3b7KwKpYHWplWEDaGeiVCagFRkaBQKX+DrPez5M0e+6xkhIqvvuO28/oIdGSjDKgbnGrkg1zp8b48/HB6ukF3b9H60Hv1wym1hKT42N8IWlpT2vUUOtLkMzvenOmdumS/lj4X7hkb28SFPjc6/934+FO0KdMiagT/ig7yV/ni7pBn4oHDJgYzKLH0rZ3Agpzg5NbMcOpccKn9yGEZoozggB5t27NDc7mR4ejEcFD1ODaUr8Ynr+21zM9tEKMPiq61cvy8oc2rxcIMPjhmbMH6SX4WjKHzxZPMgB4VLGACC8zlr74RgpVr5KP1e0fM3iXwrLD9FPkmL+yPvomaLlq/Svi5av0a8VLT9EnxG4e0S0+wyJA+eQTo/2eD1uwGsuafQXFmmLBk4IN162gZb0cbaUSBCSSCfGhwcxBratNWjk+pnWBkOO/R/WkQlyjwuZY8QsIgv/67XpkWt2Hemv2HkVUzVWSY14VU+L7oL+uJpu7zgKYgKFwoH+5Pg1u6YPHpxeWFlZ4BO3LC3dmh5e7OykmGlGZ9WGCVJ5ScxoqQ1YRZ7+Pz181et2zp3av3b61P79p+w5oVtiTpYtHPRjUS79bLF8JQ/HFZbbOK6w3MZxheU2jissFzgOcNl+ssxUNiPsVj5cDZEDi1k5sGQmEFXT1AOC2pjoYbOnrg6F3jpfXXtLY44ty1WQDis3XZTnktxcf24ljnq9zNH1dZkR671SufYtK1OXAv1+DvodhL71kBQZSqd8DbBBgLsJqgqrAAyrYC5sZrlj5nJPvb29qd5kV0d9bUBDgdxTyD05gJNlnzyCf4Ld7hEggiwU/VVs4tzsUKwVWKBGYIXaegvuM59pbvh4W7B/IfzdhbD4Sh+/dtfirRO1Sfi5HKolvQX3W2R3Ax0u61tLfhr+unc3ZL5YBmskfA7FGh20YGC/WLvC8lVrnxaWr9FPFy0/RJ8Q5cIXTZQfsd7zTI5PtYyXukH4VFPbp9p2lx54OXdpHc3V921bky39P/CWbjoYznEKzvGWxmDVXzeFbLfgPG/pIuM+RD+Ro6u40tFVlNC35tD9hx26f8Aql/VvdOq76JM59R936h/Ecsw1tbXMjsC8dpAwGU0PdVGN1WuYqgZtWoAHNHKWKIDhFPWUbVcfpEudQGM7w51heCw4EvR5MCunKhRFIZlrypuThqq2WrJl9t5yM/pfk+31k1bmKSMnJxVzN/t9TVWc+992dvNDvT0tkR1ffEZXs4mpTF1x+errGrmX078WqalE/Ocy82KIBdCIg+m1KmB0xqlpdOuaQkwF83mirQMptAG8ZzaVGGNC+T6xyKlp2ltSZP2eHZnZOYGJ+ccxmrMDKbQcXsJ2DX+ZwM78EQdhpzqqBvqZyaaahiPJ/u3jPBsDchL+ygn1hLlo7C4d9Qa3DfmEpfbXiYn5dyfuE9Zd5MASsknQkk0k3dvt0NVpa59J/UJhfYP+TdH6a5beobC+Qs8Vrb9Ozxetb27z/qPW+0WuK1E/ZNV/SMI51H+1qD/zApZT9mpRbukjyhl5oxWD8CJbAPjuIkny6jRvoCZsIeqyrTgh1OGpIP1qZFOKN6Zpxfq6qcslYxEwRUc6vH1N3BOiehaP1IVBFAonw4n+CDTdGfX5gv6oD3WCJGsruSTQoMBbPDfcgC3wqYJgjBs4vwGKpr5nhR2w63gcEx3lBmVsQtEU51MXv2kjG0dXdKWjKyqh783htR52eK0D9J05uqUbnfouxMlO/ced+gfpx4rqohRr7Qt5uXXk2TCvGOxf1CFF0D+qFdObYwYh5KrPEB12rG6I3ONWDgMrfcqgcE+NkJ4hkWUsID3ucY+2e7fNNqbn70v6t5ONNZkP8sIMZKrRaKEh3Hfh0vx0ZKgvCUgcZMe7LgtZIwqdmkvPaFRFQ4wVwIqZDph6lwsEL/T5Ak5FMCinAYYk/6gvxWKExAZjg6kEvKJvxO8NhLnwA853NCoSx2pr7O0BWVGtND5ZXX7qhqKRrdXzgw1eObjDMsQVxlgbLHW9/upL4lxHd5cbfgvbfk9GvBZbX9Paq4Xre9Ti4f2ODqzLwikS18gYU6w/Z+GUb+bUv9Gp77L4Rln/caf+wW3er9Abir5/nd4s62d+jvma7Pr0GH1ltr7S69S/gr5ClIv8aOL94Tx9kIjNFOXzVvkXBDyI+AOA5zCA53B6oMQFkidXGXEj6nATBhTwDGZQdlI4Ahz39nSjTRGPfxFnwOxwteaiCiu3Wq7OQ6x5u40rDIBwNscDdtK1ABffRSK2wO2Zr9E4m8Xg3hIrAxunv4Lbqzi/Cv/mNnEfVlmxpn3Y6x7h4A6UHzhsU1VQnyuov7mBrqgTIim83IN9JCLOHkj44+iNSoqF9F3ScVudC6BNP5gbgzrO4d8Qv5nzmxtPRhkpiEXFjG4SpcHHbf7eYrppW/daKNvtp/+Uo8u+0qlv81Sy/sNO/QP0XTn1b3Tq2zyVrP+4U/8g/SuZ8w3wgUfgs4F0olXm0bfwGNrTrewhmm1NysVksXZfHibbNttdISb7CGKyz/DcDHiq3pSPxfLT4QEaM63NLfwsl4Wu0g0SzFJ6PiS9QwzgjAzzlCvf8CUVeiKY7piM4BEGxlRJIhoJAIpqrK/zVFUIectdcLRI5aXjyhqeC8ek8f2c7/8rHNmTnD/+Zs6/wx/PQc5sRVTgv9uS40tyehKgAiPYk4ikg3UWki4CIwo9bse4shb6Yn6M8PAfEiN83OkhpsnL7QvOL/qutYtch70klY6LbIcbBhXpAQA1EG2Dmy5FmBMxBXhTb1MPeqE6uQ/dL5P7sE3mdc5NKMX4jZsADEHON28Up2ac5P1eQAdts+OFmRHhX3iAbkEtOrXoRb+3ki2D6ZavaATwOcBEieLGgwyOyaxPLpCb9GMgxegYxaqq5rEd0kVdSt4TY8ODdZE6oddta2nOlcFLC2TwtpzvZJvJ1UIyYiKR81M1xlKcFyBA28RH5jQ/d5Dzd/BzMJLn6F8lTKW05NWcf5mXlSmaDS7y38UP5q/Rb8oUlZmhiQj9OZZd/MH0Pr8p6V0U6MuqgJ0eiefZqhP7/lJO7PsafUnCGtCXeYF3egmpMEgZzOYR4kI/sa0j6NkCdW6DOgFRZ8miQXdk4+YBHlsxX6SMm3diwi4XM99MLxMz/7yImX9/Tsw8xm/+r0tC5qFf12GeNDHWiCUvdEv5EfeJKN+DYxI6nmeJCWN64lnhrAN1zsOYesWYItaYHpTPQrnEw3us8hsK8HPkF5KHL3Ha6szWh/JO+X6Zw81+P7mdvMWp/xa7Psz37bQHAE30zS0diSipd/KEdaQDrdU7mCpTEF2aBDNEAr3jIgnmKM1R1jmZCRxFnc1a3jelgvxaz/QzsLnean3/NF0BwDrJf+lnRkRlmpKkx6HgqyvW7anvyLy2do6CCHrPhJoqMHmYOHZlm2QFQCZ6Yz05iCiR28fs5sjtZzaJwRVW7+4R2QycOzutwTP9Vu+maCWGv2Wej9oFGIZazI5q28wKdYar9CvS7gpr3yDK+621l/bt45mfY5ywU/8Yvbaonda0eK3C9x+lX5X5PoFnaxD5MWLpvhpT+EAZgFznFWqrKzB4KDd6sY20xmMJMYWqhTVtJis/FyjGYkX54mjmb6wsoCIdaPzY/HOwdsO7WN/FF7hMCvpbpgLKWFo95BU0BfACxkB3kom8uNwK4QfqRFQOyuyW4o6QHFmSLq1/zB9LhDHUKYv48rmp/AwKiAnpNwS6y3f/W15FzCdxm38iSh+wfQCz+RTO71oJmjm26isdW7XNF0m97MOOXtbWNQUdPj2axxfJ+o879Q9a5YW2cJ3VFtX7HsFy5KOhfB97luB+/1yaB0GcCoDsZMvuPltINCkGDsnkem4XA7qErjm6PqjbdsyYI09aih6RkC4rUerHQByTMryxwW1rJoZZm4yYm87TL/fMOkj+Ph8hvoivt6sDOo6yKfwfLJEnw1jK3G08gtClPlXhKIres5FMbqS7Q9Tk/GnM5PN52JH/EepuaK6ubvaMTk+PWklJc1Nl870GZ6XceN3rHniQCN30iywMsNhCfCDtgHzt9zKVdJUzkRnQirTT0WYLGPGskzVjXFkSZ274WsWJG0HMk1VfkFRJcO+5qbFA+gzVyBPuamXujLmb0vxve1OWOa/hnv3vdk3Fl4Z27RqycmjM3opGPC3cLeTNxWWgYjP8NfeWnpiePlGKsCFyqQqYSVj45nEBM7c5tGPNwjf/vyhfAnyTEuUJC69cLcpPCBpEnPrHyPdJsfeb9ENF33+UPi/KRe5UUT9p9efDolzmPcD6+/P034X1DctuW1hf6MVFbtY+kZt1nfxzuqSDEiPkU/Lsli6uc5d+gegG142s3ZJzkWJJhBVu78Y1Vvh4ofGyyGvyvLhGtnuBKcyhWSeuYo/D7ijfs7h7uts3JiyfFW4Qcv36f8Pq+d/IIssC9197WfPnketfLsXs6esu49A1K04Ufbnss2JND231CXqwn7wrXb6Tunh2XZXfc10ntlvX33tJJ4ovKSzJ4vz0VFeg9w9fkt8zSQfdOrf/sisye8XLZ/CYW7mck13JgZGXSe5RbE+a2+zJo9ae7IY9ibmDh8idH+9H/3OTWssWBLgHAsE20QYs5OIBEIbQ0wWpkQvIgss16oJV6nH8yrd7AMiKU389XQkND5FBf6Uv5u2ClcFlUS+zEj5vkZzFhrOItKbIfLcz7uQ0Vtsv43i+Jzfh8ajtgY45UvpEjpQlgOuSIC3hgXY8tCbHx0I37iVujWtujjEwIMqom1JuNIXcCLBZskFKSsZFugthkBul0sci90kQ3FWmvMwb7Hw3oxixXr0EaGbnxNiIN+rrEYCN+jTN+L2g+vdO23LsctDcetN2OV22h9+Ftj8vmu4FYLPbkctSeXyxyFOjlEL5AZR9QED/JnBRQvZZsWUfO/e1D/MCa3iCqAj+wxQMxjH0xpLH5NoZnNtRm9cuUtiQPD6lQANpwRvr5V9/C+eYtxo/BEgxPDf6eT7AM8/A7Th8ed46f8HOqzNAZtO7CCzsvYQTFxCPC8C1mzIQWqf2gVrD6ETj3iihbve4e0mebBjr6wn7rD6KZc3Ns1N84bbPu7PJ+WbOOn2U848W5N9J8ji/Nrso18JtIjcPTxG/QFv/WGjj3k+/lVP/Sqe+zWfL+g879Q/QN+fUv9Gpb/PZsv7jTv2DFm8k6z/k1Bf+7U7955z6hwEdFeu/zZdDfTxPz6l/hFURme98WeQ778SchCrNza4D1AdtxaeFjkjoNTtJaCjmG9QtC3GqeP7zQtVf92Tg8Hk7HfqBxaaAo8jsbnO9ajM/M/qhuzyOJlPmRVoWMRL9JJGOAjDRdo0RZHdl9pXTih0fYdt8RfKpyFDCH+8wHMNLQp4nVzzsqrC/75nsbCpMWZdnRfL2lwyjuFWYJSnPmARzLnKui7UYyrM1WDYFKD+U50tT6Htq1y/0J1ijny9a3/ZhHXH0O6MWX/spUS7y7Yj3HM3z7Smsr1j+XYX111HPWqS+SZ8uWv8o9h/W0IT+R4EPTpFXStY1SpwQW/sYVF2Y7/HEKcQXhsQXOWS0Md13yUNWcPl2j0jKmyJJzLgKf94gUl4nuKtWIJAqC8ukiuRfdSI1MelRT7MGYo0a6uyLmsN/5HK/SnWdWWryVWEyVq2h3tOT1pXPcP6VkR0HZp6rUHQzzln1YJp+EhCNd+lK3WQGFrn12EAjGm/SR4/l5nnvRI+NZiC5gDcNPB2Mofs9o2dElKk1NcD0ZY0MnaTDF0Abg0gr6bfjUAQDIYeUEyPtDMVoZy2Y9l1/+AbO//xP7XTwD9/D+VOP0Nv3Wpngfwho/l9yv+fma+okg+kk9pMW6efw/6t+0hcxfZN+xx6Qls/aaZ2OLXL+mrtp55zI6GSYDwEKv9vK7nQTfH87wKGM/RHweb8F/y84/goRAZ/vteBf+uX0CP3tszYPCXLmaclDOnqt/Vb5daK829GNpvL0YL1QDvRQ0m9R/ieWTdygbxE506pEQlCZ4YosxToxjLVAHS7TyAsl0KZQAmEqTy/PV/1Yam2h7aHkYdZFPyNyo1p55SsL88oHc/LKy/jAVuqcKCecfN6pKKcMc8A0TjFjTDfV4WHV1McwhPaCaV5QgU1TR0ZUTYzn7dDeZ3Pbc86uYOReQMW3BEIBuz0iGLHcUxpkqC515bekyfZZV05j2DbOK2Gr5NtAS4GKkm8TGS/5PtZDn2SPkxrSK/rgw+wX0DoGKa7bgbxU5G6qIdUxeQyBnIA80VN81X2/3M37uLelxQsfu4dZz3iK8/rGxnrOU+OivZfYCj0ubCh/QFz8S8JMYdsshD7s26yDvpo9J2wyLx8Xb2Xx8FSWwwPcb8fFk6AdjJ2fwYEa/f3BIPxVeDwV+Mc6IoFABP+6PZWVHvyDMb2wtUzvBmrUQMKiB20GRWs5xYwNeZn8G0hdTaXi8ohGJUVNxuwcV7mks2myt0VX3UEz11zpB7RHDUwPart7YY4xNiPyr4VJn2g7cLnsWxig21uYfauUFku/NUbz82/tbSvfUV3Ba6pcuqJpDapWNdTQVKSMzZS4XS4X1xQzpKuKVlVVeC/5w+sB9v9N7P1b/icpZ+SWK0T51iQDMQrKFbIzczPJllFRdkvmJlmW+Tu7Hp3LTFhl72czVtlypsN6tgvtUgjz5FzmrFXvJYai5+NQbzGzx6r3EFuxnl3KPGLV+6V4Ftu9KrNg1VthGA3+HNTbk7nTqnev3T+6kvFYZd9zyubt/m3dx+KwKr0VBvNlHiLnQSIh9InzIJHgb5mfQ51vo2Us85CwjBHbMiae7dzCRLpB6MsdmTPW+4Cngy/l0MbezD1yP2d+Sj+I1OX3318kx9s381NOGXBgGfpBRIxxGQt/8Vn6gT/8nRef5eJ0sBfoByR9kf187dZzMD9BUkb0j5TqNBrWeimeRY8OvQYtpaHM6zWQyHZZ3rqZT8OXZvhjvZYz7sVvwhf5rsat78O7/uEy7/Liuz5ohU9lVuDLDnzX81aI1MVO+S6MvZfnCwNE4snUdCsD6/hqkUPhkrEXnNBhyrEzJ7YdyQFTmpiqr7jUIabrfXhEB0jFd2uq8OEmbJqeZt8hJSK7zYR4f5IiohKpJskBEEoNYNZQH30mm7Whvn7Hjnp/vbe1aUfdDk884DNNCyVLkiRbDm6TmegeCpLjkql0Md0Iv5bPcz5/UVzZNL+L87t1pVbcWv8c/1lh0z0P4AY8StqaK5mnAObqdhEr/AO4dIm56iR/JDnUMGYy1FXrLFSUgDoWZciw/A4Mq3EMDw/pRONCh1Nbd6FryIniT4ljwUuhV6WdpSG/t721qaG+trpCLAOHZchfgsrLnLPZlrc8f8Lp6wH6P0VD4shAYJEym9klu/jtwhM4ccwg1bIRa8ybcszNsLTAX1ux0RuAr7H/LgyM7pTHGW/7u32n5Y4w4Ielrq/1XHaE25082ZE3wjeh+1OrdQ7lD3n6ktFdeialxQcOiPW/Iy7W/1ey/CfAB84iv0cvVIvyfxW+f1v/BJdDcs+QfR/31pcrqpMXtFq6+Chy0Kjx68Q8zdXwjar35f4odFZiDoKl/uZGT40YvXHJ6Ml250Q15g2d7vmiYizq2pvepOmLhvLFgsE7J0h9lSacE6RgjN8RZ4vhGF+7Q4zxBQn7u2DsO9h3oPxtYk+cPU9I7l5h6GsO99YZwXAfEPwPntnaI85jGpYTUmEf99QhFH6dqL+uQD9JzN5k/YJTYSVu8sVUsy7vFFfr9NYnYPEeds5tFaewIX/UBJcxaK8CpOjpp6oEgykbrhRtimQmV6L034laxjKhB4PWT4rUzagKr4SKldWV1fCKsqQG0y9SK9qHKokuBNy0SX1B4QtceUHlF39JP/nhD/OOMjc7DbD0sLusg+9lysWLjp+kmI+OrAws7kezfoXiPixwZO45kiGU7YSvqII4wtJV9AplMd3Q5RiamjCpRlOoKeBtzUmt4TIvf3RkLrosdozkHfwHHP4VPUzy13aeJicvEva/27mX8CDzPtvnWNeT2Meq3Yw6y1EiloPZC1Hi5JzFVXgqBJKAWV/sJGvrgLZLT7H+/OcxkqDg/Go2d/Fjugr9GnLWoS/rYyDu+8W84+9llq+Tj5ySfWxzYot06kCtHWAkkVtzTviRcOo9ka0q8PZ2QUhm/pn1ud9ZzvchTp8BSB/3cXoGPt+Wsu7ZNVIbn/me9fkJ+enY2GEPM7Sx55ztW0XG7K3AmDUaFc+fFCtQiV8ZLIH9G8sex1YZi2lmvb0NC476pV/OO+ZXnMh6XGxI6IsV/wx9iYm+TG9tifPZvKiHRr2cdT5ddnrt/M2dQhftJW0h34hoXCT6rVKkGkYT0xOolYlbrLtpRfv+9zWF08/BFD3yVU37qnC4GeODBuA4gxqaaQxyCtNEf6m7Grj2S/Gd2Lp10c9UVkcm7kcEfPi3fsSS7AXSDDg+Qq6X3gftCuqrdYPqm24XM1RKNEPIIL2L3AaQIHA2Glvfrqa2ATWZtgyQEoI2Q5FQpLcnGGhtgZYaPZVRT2WJ2Yg+KtLS6aS4ZbijhXOX4kR94v4GCaeCauOnR0ZOo4ef86UjHQikO24T1xZ+iE7fvbJy9zQ9xHO/s9nE0aGhowl5zZxFP2npMwXzMCzWL2Gd6RIiE2lXW32JpmZzYJcCBME4OxaF9gbGXiqYOKuUWOAUIoFUKoUrSoTCIpvB11Gz1jrn1ogyFjh7GoDr9Fm4DOKhoBODQM2eBuJ97k73mzh/k/vOc0jGMz9dXXEJtfCwa2WVelBe9IlzWJ+FXb78sUqdEScpdZ0d/tUr3JiVYyLZVScGidVAAd4R5YRTSbWSdPeTSGcsGPQZpu2LmQjmHDdrmxm8djpeO+uuRxSP8XMPTd22tHTb1EPnOP80d03MnVheOT434YKbER67+skj905P33vkyatjuJ0f5lrntftPnb/p9Oo1nRrcknw/VvQXLJaDgN6bV94H+GBS8DNvEPqlM+Q30ncdyitE+Z/Iclohyuu2hqQNlL7FKnfn8ABPWzwAvueXjk1hS/AG75K8wSskLZbtEoChKPmo3DHuWqozzjCt1kKjuFOsO+v0j0bgkKV/VD+wiKamqio5joZUBKj5J4JQpRW45PCiqEeKVkt3b1cDAdO+o8eJwHzr62lPAJiVQDSAxwj7ia8aVi3IYYH9wiFZxzg/vdhpIKgKiunWtrNidCYVrbQ51G2mrxo5OTR0ciS2r5EP8WqPUab8ZrqjY7obQwFnzT4AMMPrX5AuML62CLIznfWqKUOoN1dWNp2YxxDAbz3M4Wx6lxtoTQ2FOVwA0UHRpU++xRagNVQAa+ciOhX3sKWGBkIaog0wrJC/vQVz4Yf9LmCnMJbR0v8YRUIZC/L3YULt2JFzpw5dE/Un9g4fSyYP4SEwvoWVvd2cd8UnxhP30wOzIPe+/o7bji0OzVaWHF2evrIv4P0vTvW5yV0zIAUPR6PDH/rB/gPCDxPG1EF/C1MNNKCEAmH2MGEzxgWUix8WJ5b0CF89P/Gmgu0B3RS+eoqYaqHyFCnTW2juKQMi1XH5m8tqq11VsHJmtacl2F55/dvQ+cjFvox58J6m5/1NirsXkLFa2RfJ/JC+UldNRc80Pm3xkAPWWb7IgQ2nB3Rp3VKAYxc+FTalysZ8AxMrHLZDTUFvGzzW4Bs2TCtxMJ45nUPPa4vwYj+8ZvT2k+81OH0FAMHP/mLfxNi107v37989t2/fHB+7buaqV5pv0c0+VFA8MHX94sx1Y3NXzM8dOzY3d0zgZLmPMS/jfHp2B3CzaH9DmsoABSgXCEiYqq5hXkdVlx5sAmL6s0eXdNp5HWVax06X2SxzOqQsTWFtTZ4zh6O5czIniRVAzdk3bwn7Zm654sA5Fx8CeDQnUunJyPAG5xvp/qmp0Sk3EMZhF3XddJTvm+4cLmle3rW0OMdM1QiEOv1eP8CK39sR7uzSFffikhjfKsCL9I8NpzsaMZYCE9w5Zz5IQaKHWa6x9Z6qCtX0hNWEhYFltubx3NSvOopSTpYQDN6kn9Uo7x05ecvAyPQPM0+DPPhOrmg/2ju8fmZmr5frimvgWZfh0UeaW1rNHeG5ocSJnc8LBY9uat+e39+bSLqNtlR3w+5mYeOWOBTx0fsF1noqSPHws0b8BBq0LlFZvWC/tA1DB2E4jLxPJxLPHmI7a3URPCpJZRdQYtE3gH/Q+0XEkLZBCp8AtGdVBhiGGbpru2dEdUB7ZdLKEvBWJ/xx02zaNmxHQKrYcrjj8Owx+heWlXMGrZyoM9V0s7xpb2njiSgjB5cu/hSYQMNxNL2uvZ6ZEa7oy0Fxbo1i+XuinOMBTgflHKACGlPPZIUbxGgWcgOsXluLck5tc21TQ325p7ymqtKRc4iNwywMDYxRey/m3U5hqBy9OecIr5lDOl3SD83AZ+bD8MmeXXr0ttseXZLXuTvuvvuOi1/AK66hoHf0RZApAU/VwIx68s5SFrMvE39KXrWJNPpjPuRs1GBekIKgE3Z0i48u7gc2+Wc80teVYrpmuAdCfG2NloowhK/tTDWaEdPUzDIB++jv7gdc2UUOpEsroQ/BQGO1qWE/JIRUEdvxNSxPtBEsTH1hqXWjWEf9dJGOUGcghjg1Gzwg/FItS2ZQ2DGrssYe/HIe1vpLjb31tRWAUFiVq6yp6sjnNT6t6+p7jloRBX/7ZF01Ot5GTaO8Yi3zHeC5Ve23K++x8oxGrfMRAmjTRQ8hdykSADwqQHAE9h0VHAFWqJRUQXDV1lxbm6O+MLdutgKwd9ZvWPJqpwLC/cdDtcH2kIYMHJ4GHiogKJeImlH2jSZ3U01FQDUUo6mjN1XzS2bOAO19+2NM02dMptOfzrc0us1+XVNKIvGLj4uDa+gDmZvl+eTHAX9NAhxFyAfnn2jFMXNA0GUOF8SpYd+tywoNaMQJL5oG4GubsUFo62E2E9QOaFtRFUO9IKuKUwbzK6bDResIHkgcOygYIKv2ujxzMEJ6qxO+WMwfRBKQw/846WW9Oa4bOc4QAsQl8xPuNpquiPX7pAP6ya5dHTYDZLE9nZ3BaOUXuJWR9mrLDQK5HyvWRp4VBTKHsCeRWQv/j2JejTI8IUN4gNse2TJxvSAEmEG3RxwkNkqG+3q6Qr625obaGsMiB47LaNI6GjTPXe5SwiaItaQOaknP4JnbUgtjfQPtzceF8Zt/YPeumaGHOX/H0r6D569cKmeuwWc5rRvqaG4zdkQWRyeuqKiaiQZSFdIQMBTrG4WPXenkcAkfnRif4I7fO1qEVsRY27Z+x7rFOUz7n/LCOG1xpUEoSkXYYFgMk2KeLkt0xxNh8E6jp3KqEescyRAJtvt8MW+0CtdUoKZcL66st2AOmtJ99PHYY7Bux2CoL4GQWFPLy4F70Erb1OFJGstcYeXCQpeE73c1qnJlJf90SPCsqDhox+jHMvQ2W7Bz5fRbR14K2NMk4a6uJqS6vbqtqQGVDUG/keVRbdQuudM8VvvQnad3Xj06cmb8inFgR5VdnZ27wjv37dsJa/Cpu181dsvy3lvGJ/4TWNDe1cHB1d5T+1fPWGe0QP8wVrubRNORKtT+iZzODr/k8EeIO3oEau8mXQF/RKD2LFuRn0gyyxwJrkKAzfuAqegceN2rRq6fP3CuxhwROZbiuw8fOLlz3ldOXcCOGrX6oCfUqpfdeMv8rTsPLSMrGkmcWV3dU2I2J3rjC9w53xJxSDVpw6ziGBLEjmmCU87OJ12qqSGkpq2mtbEeU8gFfDiTxD7vJYdEtuflFZjk1+wZv356+vrxsZsWqf6VQ4dmZ+GPvgiru/PG+ZsmJm6aX7gpnZnbWFvbwD9i7csXWaU4e+7QUw1UEydyVNlpsS0SiVMoj9cQ2pBWFFuIKo9gs6loTg0pZLeRVoRYIWQ7pLQonCI53bX7/QCM/7e5NwGPrCrzxu+5e53KvlSWqiS1pSprJam9Kltl6XSSztZJd7rT9L7S3XSz79D2ILRsg446IgKKfAoO9gAqCIg64DDg+DkquI3IjJ+ouAwPLqM9jtLV//c9595bVUm6gVme558ntd1zl7Of933P+/5+n6f0y95mV6usypq9vZ5OjJNmo3/+NtperLfpmqxSizPvDOMP82QaRbZGWhDerQZrWG3UH8XmLiTCy8VWqr6vXQjDY2xgYAw+LtxDD++H59HsT8fhj7jg2w/3H4aidkBfC4lXgIzjF9qxv7W3+Rt5fBcSCqJYhv2Mz8nm5GWafrS3Mv1wIZZ3x3KiDe5NJveip6X1ZWh8fOiOteNDz9PPyqOXTk5cNiIfofSIPHLZxOSlo/JnqXitum92dp+q7p2D9+ztbI2GPHeDzNGDTKq4IHd4a1F9XlVBC7YGYTVVQXp0rLaaNpImUmmpZ8tW1l7l+YsrXRW2Ujaz1DW1eWrnb4Y1dY2uPPyCoq8BBf6++0CWGH0e5G+y5VveetCP4aDmCHXeC2qOBIezX8k+YIMvCmnI/kSRMP9DkP86qPMg8g5bNipW30zeNkXgQmMU60+WMcoyj+cZo9gxsW4PctPu3gNvqQF4G0jB7HOK/sclV9m+DH3QdtUl/0HpG5sWdNGNvjb6wqY3DNmnGcZLDPpdLyJBJgmD6hYRUJMwQsl2LqTvZspAK+sIvUK6tc4fbQ2idO4wUJjNWBuueeUyarjfByx/fFOxh/djS+FWWVPXaGprojPQ2Aj5bmwMdCZbVG1M0eTWcPt4ZzBut8eD9MqLZv6qW1EUUY/eODM/m1h3D6xw6xKz8zMnwjrkTOn+q5nJg9GO9vaOVWxCW8jH8mxCXzRsQjmsQivOC89jtiVt1fPN46zO2PG/KThu4U8g3sJqmLnGcYaBC3XsgPsg/1JY+JsM7SaS7oQRjzJ0NQpTNqKDfq9LyI3Cg7rq2daEsAsbxi2Y3KstArqWEPH4ahewdcM8H5Sxc50qy07L+dTNlDEMDAwLPbBOR/3emmaqNXK9hklfyx3VVW21Fbw6HiEPbUrsX1/WbNcUm9RR2xpO9Xl6G2mGXg9TJIz8e3rXkYdCu9cduhBJH9Q+WjQ2kllXX5f9CbUc/H/dCfXI9u1YPX7F8IV7hdUjw+5hXPdrM6OlHCHAoJwFaVMBdUZFB0voU2wPnK1LTdMm0ImbDbp2odXr8yJ1mU1rYNDN+ca1PFRmzbCmGvx4HJz5xIGZ68YLAJjndmk/o/Q1dde8CcN86TXr7788B7V89SVQrCuPrZunuXgstj8SP+se1gqcYx4DTl5n53VasYlDDCs8JHyKdxAvTPnQ3LoFfVw/TUGjxeBTmypCqzMa3xCcGTrrmTtY7+A/1F02UN/dKnSoNrxAK7yAaJpxOs7M1smIlB0MwBzXHggFQ5A/f0XUG/NAr4BZxMC8Z77MiUozwp5jy2KPkkpEX7OBuFzeWkp1uYzW1BdLatH/o43z27fP76VbVKk+HSE7Wzo6WgJUkYqjVOr+i2MkXUyzrx/es/cCKm7Pvnz8joHNfWNrU9ks1BXur6VZjG4ryoRsO0SBEXEQ11+jJLvNKvJ6BKEl4Gn1tiJnOOQ9XBHBvFu+4pHylfnGEWHmuxqZG2+GVwNSUOzBr2Sou6en25e365/9yaGduw5R0p/9ezqTHhlN/ifOEwZebzMiNPgIUWH9IwiEpkKiStDJjvur1rNtA6fAKVz8MG4j/qiuoRHF2gGAkXrWgfo13NKIZ4YjeYMzPU4eOnzpV0Cz2DTVnn0lNyT/rZX5laLvBRuT/2iMyX8ojJcmLxRgGzdC/8yw4y+xuJBS8vXCeH3mx3+dYeuc5hxLSDgpCMrFuBbxOW2nzAsKSjXjyTixMomLbU6hzgct5dU0Jrb4vKv4aXAuuidwx5CE0DHjCZq5kV7Ddw4/CuXF/cNr6ErfArSFG/gZVYJLiGcicATUQJhmDItsPcOgkHYgKImToyk766pdDheKwh5fRNfqChwJqs3eg2jK2Gm2UnI1dIsX33Pk+uuPvPj929eu+UvDveAbR3btPjp3fLgve24fh6aMK5cbFJOczCrJ/Ri0d+LH4IB2QT+GJiGAUe0iWjM2ors773uarnB/e0KciB0UaPaA0Cw0xrEBbBrfumCd0FNt8TugBBPkG7gRycf4H8UB3Lo9jg3R4akjReQQ7Xr3P9e6SNEcfYbSa66h8DHzhQdi1xVj87gmHvqXKWGFX4PJtwz5HUIMlYFwe2M5DGkk6WPWJxwsIuspgXhnMOFTNQZ3y0RBCURXPkZUZAnmuIHxRMB0AK6ptESwOHfDQE9gzVFTKU7aUjYq31akgjijFt0mU1tKlcQTVY6y+htFvbdUvdVIulUt7VUl6cbyOkfVCSppoIf5a6uzJ2Hcbaiuzb6iqbpKYMqsDZ2SJa0o+2ZNOfROmn2pvIbIRTbllDsQCGZ/yeIAT0HbP89t7V1MY0SgxLfiUGrKwV67TVt7s88fiXqjuAY6AkFeVsdZGJRUVi0WxLUh2z17q90+ZCc1dw0uTWRG7PaRnqF1AxPTNkKHNIXYb9q3512dbd0Da44M0OMXSZT+n/H+xBp72p7ujI1MD1BF23PF/u3t047SjSMTuzo5lgL3iwANyJ/xVOsWT3c9Rx7h/blOqIlEI4pWl5uRDfIY3pDoqJ3BEe6ViieZc8C/4hc2xr8pRnTuI9Bz+p/0lfMXm6e+tmKe2mL4nTUhT3ZjtY746WQKh1g9W/ugazVH4pWyVm91rHxAB8gg9yPRbETs0zfoNjX7M+4XRuo1Xd2gKkr2OyRkl7FvTCHWEFsovkdaQJJSss9l7zF4xVnsGq5jcwYHFAbS8uUY8yHtYvvITonxO1lJIArxNZpruu48TbciAiszTpnLV+Y8Twu+KNuprjqKGptwLSaXYN5fVSXnMDSkXAQrcOzEzSRQzOt2e/aPt394bBW/lwJ/o3P6ioBubLqC1HM3ETbTmO4g2jt3B1nhD2JiQbLnB4QVfhiQH7aGQX78yG/kKF7BS16f4yV3G7uFvuaEp1mFjpBXofHBPJrUHCe56Lu6kepKsM7fXCX/q6RP2eRHPgMK6JQu/bwh3ttKi+WiFC1r67SJsg6iZHaePKzKIOae/s3wWuc79wtpYn4h7v8ZvxDt/09+IYPGeuVEVlgVs77IxQR0uBN2CqaoBDKCN09G8KyQEQyRn/wqu4ONTlReuugKIeGj9Bm2z5aEfJSxeYHv0RDErWWc3BgofJDnAXuHUzYwk6L+qB97hztWztTjAgU6kcdN+8W2mY4DV8Pj5zOdU83GZBEtLT14NazZD8+uKa0gHta/MR/GOIPyNWe8zAhbz9X5nTjenYpR9nAFFB7LvlKUNZ+MPl8ZernxotlQQbENCYnVeRrqfJjF9HZm2mBpEbVFBcdpPcKJFdS6T/B42aO9uNoU1HtkhUjN6/+N7CIW+LDx6lilCXINIQrU4DdeLpsZVr5zymbeiNeQzfIxv0zZLM6oLv4KZOQX6NFD11576MkvD4295zJDNs6+zkSzwaFjWcuPD9uhDPLhx917FNsVGF4SW8QwblzcrcuaxNayxoZy0Lt9ngZ/o7/cVV5fUwUXlngj1JDVCrLiziMubg6bekaGdu+++OLd15CbWQ/JvnF5XyrOFw+WNXMS5NKjxQlSz/JYy/jSiCBLRD7AJlqGqLdT4aJjBWSuprq8tqKWZ0tbLVum9IpkINej5PrCP4Hk+u68LPBHE8EDc2m3qbtTth+NkZAYL2UaK9A8S2TpgOUZ0JRvpuAhNRGuvGNPEnJGJj65ck3doiA3RReUXMgFBWr7xMz8LvU1Sn+m7ZqbWodqexHq9uLzeZr7/LpjV0IjX3L11HoKOj3WXRrKkIYy1Ate4agx20KmCUydB0DOknbpCpM30ceecykya0yrdQ4mwonKLtxcZqVzGicbppiMg+F/e52epgZ4TF1FJFzhpzBkBYdhjfEVCBYRKFtFeZnPW14WId/Zv392ar80zGeLEX3PxA74E59/8NlnH7znc4i5yfXP/3PH6WOkntRnX8u+xvoE+qkVMbnLjfqxjE4cDH4bVwlkjDcWYtVYiJlrj7u+qcGJ0lhFJMVHUDRRyXa28oQxn4Q7ETGft7oq4hM/PTF+dP+vMXO3f0qxTZLbH7niCtC6Sapmy/j2ndwTPp79GiXve+XoUQszHPenRlk+44b82wQ94WOPVxGV7VA5GQ4Gs/QYvaUenUsYnpWLOSbJuzS+RDvXPdoKZ/vNqDV+1VnOzXit0yQM41X46QUnIYeM2w1t1+5uC/hRCfIHfD4brv+BWJknzMzQMKcxM5OqncUf+ss3k0b/pnqbrFDvbHzpAq3pcO/Y/lj6yMToeeeNwGuUfvpecrjELut9NrnIfv1FmVTm4onxi4cmt2zcuGXLho3nsfnnEOS3hJwSKqDr+ISRTMYO7YctaU6IGOGBvgJQCFnmPH3QnC5nVaUgeN1On8tXV1NZX1UPdygDTa7GHPCW3A+tWWkM+RrT3HGIvrQwU1vT3r503mvfW9fqff/JtlCo7SRuyE/GGyIVZWtbx2ZIR6bRe/zVAPx9mK0fN0Becf+mQG91vR299QaKNHXZrxp7/nGET+Rzm/fMCTEM92wE3Rj6caHe6uK+dznFleFLNTeh8gqCTQyVV3oO5dXQXX3lTHkVw/D47O24zdxVVUrJbhq94eXSykkKy/NFF1H4mLlx6UqEdiS7e867YzwPnxj78zirgxrI9AjkN4lYi4mO5vpSXbXUVpeltsbjyXgsnFNbu0QjZyqLSvVy3i42BzYRw0GwgcQNTs2qUlIjjtj6qHpLBU1Sld6mUuhFD35UxmPH7Roc1OlxdvCjD1JRt3278TeU/rq47Ns2EDtPvaIouu3J0tLvUvrd0tInbbqivHJKMHCFTpHTkMcozumhc/H5HjB1Uc9yXTQqRBifry/CddFCjKW3xeb7whE9VTw03jsYioPYsKE9GEnGe2HZVVP0osWFQwlv62Wb6e4Zu62jr73F24FOXo2elragKtG1C+OjQ76iTMf69ejLhgFu0B5O1D8dOf3Tla9/wpwXiRXqn8YekzHnMTsCUjH8SaEac0P4k2LTWWe1Zd9DLtNVRoBLrsreDs1t4DiTLNtn+DmzoaEOivV7KdSiD/LjxTHicdgkU+105amdPkPtVLmvTHU+PJ8RvIx9QBF9qrxB1ZTfcdeIXyq6Oi+ryn8QUizLsBC//m8clO/Fl5DKROaNjD4Bp8gf2T7rcp3TdXad0/Xf1jk1UI9idqrJ1bSypphIlOzAXP8zIbXxHtQ5O2xS49SYcIazCZP7HzpwaRjzO2XMgV7cqW6sscGUx9DcsRce542pyFZjegV3NIImIcsVyWHpaEZWmAzRxfT5KTqhqeK73iWq2gSlCXpEscVtyhH4BhUnKdkfkyZF4vm5/M92+5+zt3FZGUET/sz6FcP45RKXyPJiVh7vWLjc50voJr62ybPsMTmWicBb8YxgzIIvvMAr4sUXDV13uW+HmYcC3dr19nXrHRSEzPwn8mrncy/z50Z+FHzeQh6fAv4e4/v1xnxfae57s2nYxfboefnh+b6IF5/vXgVLiqiP8Y32x/D5pvfHdmphjTCfna1sHeT73l9cdd9b5KqRh+17u9m+d2Phvrf2v7Dv/TlKP3eOfW8oA5IIl7IynMfbCyOYWZ8p0Gldb1unXa5TvZZ9N7bfn+EVhS/X0It4M26HysSKfJT3Vbgn+SU8twF12jqCWGO4V4n+bLA0HWRjxzVtPR5qzQ9zNw4gweyl6jLFllUi+SViq09uPR8+Mmv7e9m+Nfah58t37ThC6baxoYqXjL1qZpNjZTf1Wdd/WZ/NwPOuMl40my4oM3tv5OWOQn1Dllbos67/CX329ew81v2lxqtjlfrPtYLI5IJK5m/TsJo+61qpz7rqqxscDavrszn2RovL9O5rKP0yvXZh69aFv/tyqLs7dI0xpB5bmJhYmOwIBDo+AS3ejTHGkA/UZ315+uwBic1dq+qzXneDr9F3Fn02l5V8fTbICSW7oWYOb9qyZdMjkBec3bI7dx5idfTY/OTkvDnpTM7PfwJq5AoBwVAxb3XL9FjXSj221lFeV1G3Qo9dpWaugCe/F+vl2y9hvdzBn59XK9hXBgyf925hKDPwllqsZ5kW2y10+UGLbW5ersUG8sEMC/VYQ+xhquyBC3uRN+/SSos3L7PJ9gSln7cvDhjceZpYdckm0JquWLfuitHNU5qioV/XhjF0qZpFhjxV1ac2MZl5CsrSghYjIXAOndZ1Lp3WldNpPWfXaU1Oq9V02gKhhem0eR5i5JtLS3OTm9V+vuT1q5snO9vaOvElCn9x441/cfSSr3PR5euXHM1mtu7YsRVfUDacy37FfK28uI9VwVwaBQWRKZEHxRhCrtxmqhe9AEGl9eG8Upeb0XwGpxRHnASxWjMjEcivcG65WrGpA9APjvUPbV18ZfTOSCgUudOY3577O5uqq88VTSVH5yZbvN4WoZCrBLntVuMnNI4zvkHkxjijMW6MFPLPxRlWjkIklYga3+mpxznZ6nDmmp4SkrFId6ijNdjsdTc6HVU2zcE97dHN0sQheSdMGYjpozOMn3MQZlyGID+ihfxz4hzcGUwPZOV91cA3+oHhJ8nkB84FYnp5CGdx8vDkO3kYg6tZ1xoNWst8D498xsplPh4mbeWlmyb5EMujphxYtIPs8YRtUyaPnnJqMx9hFgXl7AiMsLENJgclx/NEGWixAG9eFKbOzv1o4Prfzc6b5hzXuA8B/Rh9PS4+i6+Ha6Wvx0qvDdfZvTbekdNGbuI0ZXXL+SGIQnuZXlZFiUx/TztnN2yYvZBeLolVIdCK0HGrtVB8Z5MrLD9/v/NAB+huwfZP8Pg9eMMye4SWlT4brmU+Gz6vIEAPb/G1wPlNFVG/t8BnA7LLp9a8fMOgrjZsqWztSdJ7aVJRemfXr5+9Hr+T3Rs2MMGefuUrVFafmRsbm6Pf+x6dnJr6MLSRwVUDbfRL1mZMV2P9+JdGP356Nd3O4qy08PHI7wyd7xum3GfoCtPrHrUv84lwnd0nwvXf8YlQ76WWUnHvCtmkEX6yNqEGjif60QxkepmdkKgiOQCdSNB0VeMWTsZmZ8hLHo8geFo9LcFmVP0YTU/UzhxVrO6zOmJmhUm7Th675pojX6UYxEUz9FOUfurY5JrRNTfeSD58aNfuw5RkaR/FLSP4uCj7ZN/QcOqPAkOUER3iKyyvFxtgufnZbGL8N+IOmfBhkcsybo/BUn6TdfbZToQx818unsMq3hdQ2KC7KUXPzpcpffm9nSh43EGSfGB8AubKVyj8R+kVb5gySD5WQ5PQJWzMzLsqREns8CLrNe5AgWKpMsOlJikHbcxLGyFQmtjIMadKtxvjmtxd7lB7a7OvrKms0VlXXclim+zaqrFNcROzKsGDnAwPQZ9Xw2ina/LAHKa3aO2h+o7Guqbylk59aQp/dztDDfWusiD+Fp8vwHe4/EpPdXV5WfTii09/C77DElUK3/PjtYR3WlbP/2pZ8yO71mxTku2VntrqupKWeMmmfvid6Mj7LQo81Ja/T25b11ZSWlTU2T+RvTX3nes+OMZ2QLv6hZEnaqrt6ABosTeYYVV8S59Fi3Nrt4Fd3GQcX/p8c3tzHO1CYXRxyW0950KsjPWP2ap+IIsviNo6m/TALeXxcLNblRWJllXTCof+SVFWdsqqeD8IkPT04+SXfekySdd6dQVkV+fpr/MYo3bIM8Zau4WhxylZLceughy7rBx7rBz7W5sDLMerZtjMLoyp38rPiLYRKt95YV203eXQVLu9zFZZW367rI9R8kNV0mn2euIZjqI7RapYRzEg+1Fq+UpJUZi71/K5tQah28hFea4GxMgmQs2Rm1YkWKAUvrAvZykxBnfOr2o/2zw1PKuOos3C8K0y7N7iRWfNg+tseXC9kzzcQEmSKbyGlZxZpA07uSIsnLlH9EtuWCubhQ5YaRPCzzL21hYRbfy6io7JFDKW5ujIDCtUQzh3cgLGmKZKMH+qMA+CWHuw2F4k2QTBtsS+2JiCYBPWO3nRIvwOeCXIqm/z0v/Oc5eWMvU9PZ2dPYmeRDzW2d3ZXQeKH2O0K1Gb2v0lfNH3Wmuhad4hxgZHcyTmkwNBkHVjUsxXzY081aK/eytCPzxA4T9DZ3Z1dqT7s+/eupXYw61tPY9s/WVmKPneLTG2CkGLw+d5yqa5xFy1Y370xRfTMfmbUjiSnf/DH6S+3vSA9IdVcHZNv8nlOLumvLD8fJP3Zvn5Jj7u8vNNP+Ll53OOa8L4xtfA2p4UdvHB6zZN+KhHG2iuLFJFU0UG1o3gWqucYmDJ89jfQZQsSzluti8S7Wj26QaVLbdLczN/iLDAuAQqVeX5qmBVXkyT6iOd++mgqvSFuvo93a3tEV9vbxLdOL/w95RGe8PR7t628zfTA5uKFC0Zjw22JnyOmub+zvHOxGC2AjTEPz8BgyHd3tbtcobW9y8dWRWPWF4unxn4xQtkO6un9aRctIGuZhcaz43Nlw+qs54TfG4l5VyHRbs63Cf9Tu/jpqJK6ek/5d3nN+Qr5BC0m0PwZpqQ6xNElz14O8Yyw5RAh1Dl80URiRLvFbdq1hJHftPq91HqqgghyfhX6Afaw9RPHU2VyC4uFDyjGRQPixrKIhLvlYzHRHw+8zEsOiRngkJp6DfGIyg8Dh5jPgKfx+fG35w5Tg4J1xhlEeD+grTPXCpSpPAhjrd+yPEVzxCFW6AsL7KydKJNABRom6ZLWGmKFXMB1VZTIwg1nTXtLQHkEzSqkJ69CsOrH74lr2afO3stL6/yZfmMZyJcBlUZpxTLsMSzClVvZjXoR3A+o4bo2ZshvPrhW/Iq7rmzt1RhlUI+oc1eZG3G6hPyxLIHDacySgWFM4yeNZOO/5FMHj9HHgmsd2lRY/5RFv4O77844DgYOxqW+5WcSrX8hHyVCqV8BtN+FumebVdIxmLBP56n4l4Yr1+k8J+mp+/h48rMV7twPs+Xn02h+fQDGgP00pHrdNpCFffDN8F24lwnCwaSeLvQanIVeBmHh1WjZ8m7RVVgliGvHGZZsAxkS6482QfYd1amh4WHyUlyEuRqc15bhsuLAjfOa/5lAHHE3uv1mv8Pe/N+cF9RGBRR4Zoyn1B+BhGvvUI54+ArF3CvVBWqYf0aBbkZMdRahSFhGp77wwwNE10eICrj28bg9m6FyChDyPpB0yqbnC5CHNBdxawOy+ylIFCou0oQR2DQIvAKQSqcJuMWyCp3WHFVpsN0HlntwuWng9wSmpkZHm5rQ7y2maWZzRvmh6eHp8bH2obaMn3peLQ7lAelXI7LwllglDUDXbg5YQAKK+aZNTnyERaWl39VOM/eemxmprcXXv72dj++7lChAJpYLOukmGinf3sVpHmSlRUpD57lTVZUJry+Dn7um8Y15NHpgYFpfMVDwWAIXz/RPaKkSN8ksJDD57eyv8Pk+traevPTOtV8YX86KfjJXSJO/OrnbAIJt/u7GNzqIOGeNaWEwVv5yPuk71P6fUlStQ99SFP90pdstqTN9iVJ20DVd79bpRs01j+fhfs9bNyP4v3i7GaGjQuqjN1T9T3LbiMZN/Xn7mLdWDD2y+rEIvKqUAz309n9GL5zgsThXhq5WpLlOk0jN+tqvaZlr6xjvz6ka/gLddb7yPfJF6QlA4skmulx1juY0md2rvlpC1QbhBA+kTbUNBgQJKodVNdlI6kygP5WNY5YNKg5IkRh/rXc19Yu6QvO25wjkk6+H9rc27s5xN/JOnLbjK8eXn8mfP25j7xCHpTmhXrIVSITdRGRqMy7VVNgwiHMwRVG9xyLAF8vzzAbf4MTvdZqfd64V7fXI/Guj6Pmxwt5bNpJMKaRzIeo/FFZ83CuaD/dRF6h/dSlqqc0+mvqhe/X385igj8LdfSwtCCE0KepmYhKvYPzaZhOJgpukTEzOEMfmMsJoAsqSg0hodPnS/tB+rS72isCy0ijmKMgGsPNfBZQF/15ggYVmch+p8fnc1e6SmVR61BJPbE9Tul7S0taKxID43Hy/YEuqih1jUG3t6W4VCY2UX1ah0LsoMUj/X3DrE4fhXI8Bm3tElqEicyYDkt6JVHy0ZJMRzOr7XPeZgvyTEODIDS0NAR9Hgb34qv227CWC2CSggHT0WzF1CCcmZ3s6+5V9TZVKg26fVJxa3VsdDLq8fvdbniR7y9uOf9QuBX0wECir6RsJJkcjQfcTYFAkzuA7fAU9IknoE9UoT9KCeeVNvYk51ClXy/OBCJ+yQ6iBzoD5i3dTHP/T/HKRyj9FZWPSbYW8ooKHSoCNUTLNFv2SzYo+8NQPyehfiqZh99oZqhEFmHinELDNqJtFNQLolCofEy43QjiwH3wqpqqGutr4RYVLTY7nyYT1lSpragTR97Ed2o82THS3T3SkRxP1Pub6+qa/fVNgWBjYzDQBO0bzrga4p1x+G9wZcIDr7praxsba2vdJ5uc9V5vvbOJtfEDUIaHcm1cTETViNIxOiu0KJqsxIOm3+E8jyJYvY2hkbGNK/JjdBKcGGbV6f/3K5s3Aa3eZDVxYfNigz+LzYvNzNbZ+84cIl8QXi/XxB5BOP0BxEaXnjz9ARMbXfjCmQsh/WflmnCtmU7y0x+C9KeEf4P0y1ZN/yTc/yG8v3D5qun3wfUP4v3FsJku5qd/Fq5/WHgN0iOrXv8opD/G8h9d9fqn4P5PsPvHVr3+Ybj+JLs+vmr5HzDzLyZW3t/w6RtlGJUwa2J8PTJdabhTxxk8BUHfgQT2jMIzpRg4AFxC8/gYf30henbepOnNCW/IezVKs3eSSdArP4/uJUgmSOGffI6RX/0EXkdALLuMwj+Ia69RwbIbLzBfX5+wUXgsQ4uIqAeIppqspqllfH7FGO1EZfGARbGoKCYXOyxlu0rsRQg5zchk+9/+tUXoXJHCW9h3lXB6raWM3+931guCf6N/w8TakaG+dFdnW4vXXe9z+pincSpSmmOc5kabSsb0F5SYX3QltyZAbQmFQW1oYSDWNKlaQd4540KAXjS+wZ+M7SR6yi5tTdH4tanuqs4WEJBHVD2mE3ukxlHXauvpynRH+2GSDmui4qxyOJytrR1Vg1G0+zTPDk9PObKPKxolI9kvUfLXyVR7d+WPsrvGkhK1ZRzl1VUVsiPS1p7sTcFaZWusrS6rqqyoaAg2hVPYPjIsZYK4EdonKiSEtNAvLGUWXURX40TR+9Po0Tol6Kqi6srxsqJSu01TlZJimCUF0FrORzL0JPOUgdaIQf/u600lY4lYAr0se0Id7eGKCNrCwr5yUAU4NIvh3uYzP3n/kozox4gBPc0/NSniCZYSX02zr0bcSJMuQpco6drcxT5dSUq72vReOwmsiRL7gJ1E1wRAqreRtq4zQmPjXKiMtIQayTqaor+n9Pf4gq/kAMY23UVKkVyW4wzfc8/03XffzeUQkzuuVujB1R/kDsSwOy6gZ7NyjC0IKiPexel0N1eNU9JMXZ0g1PXUdbXBRNrkgqsd/liEFnQeC22Oa2x5sQ35LPbtpIM+OLHBTwdouH8HHTgBX3b0h+Ed+uiDrNU3TGbvR6afoSgodrjHTbMt0SHya/gsn9zQzMdd55mrWCxZmxAXhoV7MrSe6KgY2Mxx11UEHQo0TkkRDsKAEKid7hGwPQVdN7iZi0EBZJoUH22Rt76C0U/jZQyBbBBRld2JRDvMVYnhRKY/3R5vj/V0QaZawz5fwB/2lVqke4brQ+Hu+XJ+u3wkH4fFkgRzU4b5BNRuDA/vTST2DndubLiW0mvRW+D7CEG6sDD+LzQLcxO5XTxKo/T0T6HvNDZnrpidvSLjbzpouAmcfunQ+vWH8HU8jyODxeX1gq43IbxmYf/UQhX2CSBMSYp4XCgC4aRIOG4jhBLBjpb/QrKuXQbzlt1eDLNPcfFgsanopZffA87UGVD0wdXuVnCHTHL5xUj3JcnqwVVvkncpGq6haBPC+MhQf28qEQ37vM1+r8/v85Yi/1cgaFR8gJlJDaf05fBPpjsDNEfNCs+GsAM9If7jutpeSrtFsZvS3trrNu07ZqMD0Inss5n4bMXzlL4oii9S+nzFbDwza4c1a0BViO3YPnrlUWg8R1OTAz6OXnnDQQmk3bm5dVPYyg0NtfAxPTk3pyiKfvAGwcAywJjZTuTA88ONSpkUpGso0QmwLhxCk0ty2ujNDBSnAzqgN15tMT/6PCbhU3AZ92N+4C9oWR6xj2Z/CU1qm9Oolv0Tohugf2iGknIbndMkOXuK1JIPoq3iq5KsqTYSzb4Ava8Pl8ZGA5TBprB4GJnZzhE3vhvGar8wIuzJ7KwoUiSpWBVZG1aWaBIp00WhFJqxipTCqldqOwDtadjAywmFiW1mcCCR6AEpanhoYGRwJNGf6O/r7Yn3xGMRuHOoo83nNQwz1dDE4WW8lr0mta3RkDVm4+KUxKwzbJ1TYAAGPRiMkfBVb0xQmsAXfXzflTVpSjsIQV/Dmiv3HaYZsqZyPL2fVBGSfX1/79rKP1NyOU3SNnhdTPsH4MNRBW8D/X+i4pCjuv0Km72Itl1Z7cDtPaEGxtwI40IfFe7hQyUlIGi7hJyyCHerHS9S0DkD+vaBYmKHxUi3qyiym0NF02y7BJttEE1YieXXQrWLkiweXPUeuSuXMo2M33zUNzzYD+MEVrWWAPKc+yN+X6TE5jQ6Dp+GrNmJec8ZSpFmzFTqMjotrzW2YP4aoad/Af3j3ZVrBxKz2J32DO25wgZ1m72kamFsfB4O3Xjo/JtKYBiJteTb3Bxf6+1J9nVSGtvQvWtLg/N6OFTfmhlcA4m7jh7aE2hCk33emmYHPQc0fkFCTwpJzAH9Iycvkw4Zh1ZTUYOzzlFZVsL2BPRlewIVqzhLdzBW3WzFP1n8uhnxKM/j6fdT8nUDtt+cT1sMfJQ4enWg78MJQac2URN0DUlakbFVIKBdQ1NuMlz8ZXGWAwlEYMimqtG6qDa1E6u7YtiXNXZNRKu4yZqHXTeXZx/5XpWKMWvVzx8mw7JtK/SH7JOyaPt9IqFn74QiHNQTiX+n6OpBxQsaWiDvd2a/KcuarJK4TPVu6m2GY36PQUNgyuEdUKYM+stFu0JtzY31dVWVVCLJ0hKbDPr2FJKt4XhGWOUkd5+xCAAzwkBvyueOKlDbQnUV978sRzjKWBDxfGN5X41YC9MeVZ37ZnQvsWPijgt30XmbpBBFXTI/oQ+dhK/0c/y97fJDMEgz9NKbeymR6yUto6hiQ4/55f9S+mgCvlMp3WN8/uDwtaw/1fJ4aGjHLmE4M1hkE5GxnfAepRFBh9EkUGrMTnbQPlL6TFurAJNQa1dbF1wX8Hn8bCoqBgUkvILO1goCy+ey5aFg8O2iGUpn8EW/d+Tqq4/czphqMz9717vupjdDj1tEmoMOev55552/CD9vpuTEpZe+hjLRwplHRL9UDLNhCmSiOzIlQWKTOwnVYVGwIzN5KVpeYSjIsnIR0ncQ4WLUJOw6PQDTgbwDbU9ovrXbuZmeiUUdeIFyE+PWO/FWpy9lHOl0ejg9lBlIJTrCfK84WsxIyE1AttX3jCMr944NHzjLdUn0T41B4cPw2kPhn3+ND/Dt44/3pHq7Pv7q2rX9n/zk8fPLoQLXjlE6hiIlfq6ldL58ftDYRA4nwvHTv+ob6Bv8A5eLWxD/kPmJhHDfpcVZXkRxZxapcHETkEgHMQ5dXDJsJqKwvrm5OdTcGezyKWqdgXwVCKqlnC8AhATRAvhgiFdNRCxBOxjOoaKmePcNTy3aO/xFut0flhbfNRjv+8yteqy5fbRR0UPv2zwkH77ZWXtMj07t3FSsibZUEVFKbn/pwvUD130pMTkQ69FVPzm9/cEDnR/c7Q2ydRY776L4LExrzbD6p4T3Z6gHFJIqIjOpGJGqgkUElCmiazD/6CDIyrrtAPP1lHiYu10xnR3bVznTAGkwfENzZy9lAqFQIICzaygVglUk0BnoaGspai7yNbnqHIwmhfpL0C0oz84icLWgpjKP+SnI2I+EWJSFuKp5xDbkyXQ63NPb25N1000l4vtBIjA+yZnWtrZtbEeF3LEwNrZhw9iaDdlLsOH106+IXhayrYv+0/9KyTeWtmxZegAjBjooq7O4sEH0i5uZLxSOm92ZHV6iy50eUVVEDKmWFJWDEssYuSrDHC7rB+1EExRVUw5SztNImUnZxngawz3oGJWM96TCqe6ujraAH52jah3Mvlyk1rTHl1P5iBwI1YB4CMTyp4eqPGf6Ny5eu/biwUH2HtmaSm2N8PeN2s7OaLRzUKvf66yvd45s6Ee5v5+/d/TsGh3d1cPfhzXi1EKtraHLtI87Qdfezfp+CRkSE+JXYB2dFi7NXDQx3FArS3KM2CRNZCqyRlRYodApX5JtoGcfF2yCbBOOCSh4kmNFVNSJQkCHRuBvSZQPCvCDUXAqu+yQoqzv7ASBdLpz3dgoaEmJSDc8q91f1eqvKlad7fl0nCYYK+8kTM4waTd4dKKhTDaRRHz1qLINY3qLHmgaaPVGUsOdsQH45a2rdfvaIomh6Edov02KxyVbP6V+mpaURkVKUz8ZGo3rutsfr/HQkkh7dyLVpes1DfWOuvqS8u6ORFLBkFT9Qx8C1fqjsHC6PqyqH87+1NhbtpMxhhlVKUSFycza7laXpGGUnIZ+NtJxqqtQadKNiszitJbwk9PBEWGWweVGq8Kc1qG+xgjbsqto9M2LOakq0KrPXvq9s5R+j9JZ6v/bsxR1jJI4mom9NPs1epZiEaEe/YUZ10pnpg2jQaCp0VdYkoRNOY4VQZrN51FRTR6V/B5uqVFn4VHpoNcNL45dPzd3/dji8HWUfpXqozMHFzcemhnV4UcfHT25b9O7165996Z9J0eZRFKkZx497/yDB88/79GMXtTH1mxzHHtA+Z7OTLb6YPyW4zYAkj1wqUSAISsoB9FgjPbDAzCkZTafM2OxKK/3egXB2+ZtCzbDbdygwAdsan3+cMVNc5+n2oIw5NidvsoYVxdzA1RRs8ddM22p/TWS6lWlhmMTd7rm2ttmXLmhqWvqcbdnIKUpkj4+T6rf5fF53Dcwm2j0TEwcE79Y5hO/fAZZYbxit0sok8TPC/ew9FKW/iyk/92ZfTy9Pj8drw8VXl+D6U8L/P6DLP1ZOP7MR1iqw0pl6WPG9V7xKx9cLT0O6d0s/bm/ZOm/4Ok3Gry8bcJVYo84DnJULfonWr446Hs26+sUtVq264hx1rirV0pMPg0HwktrLxQVvaBpAU27mRwDqfuGm+HHVXC0pMQ8DqooHmS4/sI2sVrcC89qznirRNEgPV6xTV4rONokWID8OFr43hTbniwlKh84RL+Z3bzwOdsoOWYeN49mbzDk/FYoZ7dVThzbm4zIexjYPh+WszlgcVUEA7y4GD2sBkkrv9Oy+38yV7pcVgrLGcz4qyVWTi7CLbFZhdNrEqHYLtSSGklztOP0kOD1yzly2ePLoxEyTlcpqrjXqGqtsAHQ5g7l3AzlbBbqMo7l7dnU6BShXivzm7OgqOzJrG3VYEnuzptXVOun+BEylpetlRnlRwReJ06ok49DvjyZRpfTpsuFlNcczbGyXFIdrMPxClil+a1qIk1v9WA44rTKcPOKMlxlHsFcXCTcAhNQLcdfk4gBdwVCNHrybDIcv4g42+yPSRqIkN6gFW4eB1WOT4+YMfJtXcr+DvpFdRmpUxT6DCmBx9wikdJnoQPVl1bLapRmf6tpQVYvm4RbyK/Yc1syzaCvkGrOsQJvJ5Z302jUh89OBBJcSWEPNuO0iOoNbocWKXmGKgqpK6vGGOHfSbr0OThYSqOqXF2afY3SZ7O/lYz9+9yzWZlFgZf5JigoETeh89lOKD6ZM8pcEa4hMQuG22MEumL7vEeXSAkrcvbnWOTs76DIYq2U/S1y5r3Gy0xKzTLn6hrKXE2QyY8YZb4p12V3YpedM8qM/gQcehwfbPpIkjhk6U1Ny/4OC539OSs0KYFCkzfg6G95qUk9lJqUYqlFIWHgyCETLmjHNhSKTDRoZH6SFUFGxGBJUpbQECHtUtFlYz0zqvvrfE0NcGlNc2VAh1XfInqsCRmIVqtsS752dGjg4NAF0bpbL9AU+ncPv/vCdRsXJycXFyfp0JXTM1cM9W6fV7Qe+vwL994zuW9x4/79Gzfut+KA2gxOzZ5MqDLXQsg3A03ESDV3MB7N2UL6TPUs9Jnd8nOybc4G7zRbT/76/vtpuNQubgWx+xP20jCdE7XT/8naaORMWqxhclIg4zMZClGfYqGTO7CtZnOB81gXqwTOj1DyDAOl+w66TklHKX3z/ZRKLW/+M8cQg2ckGOYrlE5kzvP4bCglrPeSxLog4yQUmejSLPjcIJtXlikwRzg4KyGaAA1mQmNhQqhzTTJ+JGX5xzbbj1E7+iH0xHf9mNIfk7+Cb9XP04xqU8h0EaVFZFqkeoaZhR4pg7/sI2hJIcIiaRZlculb+KmqhTapRUo+Ag9AVHrTT7XpzKtir/iyUCzUZKoKpjxG6Aw3cCQ48ILGTJxNKnlKUpWRIjW7Fj8bqfhTVaanXRhygPu03M+sTBQ5RmMUWmSc7Wu2ZYLFhKE+IOg6iLTSikkk4I/4ZBCV3IGgZIqsJqEtj4kgIC1ePU7p9XbpwLOSHfSQn4CANi2rJImm5exPxSkYbac3q0gpUCd8XBwi/yLUgBjWjhJ1a12VLisyQw/BjV8YTlSzSYooKkvsiyLu0kGDVUSQ4WprQYpr97a1BGo9tRiAWiM4/H4/StTxs7huxRPmwHJzE6fmiOybmkp3DzU0DHWnrW9jnZ1jrfBH1sAb/vj4wrp1C8lUKml+9hw5kopGU/g6cgTrRj/TLYZBjm4RUpk4qE+gHwnHDb0ppy0pprakMm2JMacGfcFmXwBlaoeJGW6EMleaVPfLQk98ER/z8q/3VXaH9Qn7vpl6fxUcEXVHQxWohxPFm9Z+C1ZDPUpFuy2VEZvntqu6qMFvyaZFE6d/uG0H9oWNwqdFhbxRFgA1/85yVPa3CeWM0/3OR2PtCOW5zdqfXxQGQDXcgvpcpgWGVc5Qhl2EW2A1pun4PL4gvPy62tieCJFB0yhm7r8Yi7ChLJhKg6YGb4R7doFac934c5T+do1Mw7pc8HsndIB5GBZoIL7apjbINuuXrliY4O8pC4qHBSH7QyhRk7DAS5T9oVGiBVYi0TwXfaZRooThLJHJvP7OtbbamkZnjbfWg5IFOrwlOgmfqWsUnBY1RfVpeQbZ3RyYWhFt5D3Q2a+2iRplQ/oJdYLKt90m0wlV/qxsm7TB+xPGGBfZGAzAGKyGEdGUcdXV1kgrBJxqoTKJo53H+VhzczV3Eaq0k8o35Wcl6VkZVEL5GUl6Br784/0wR5NJpNbl/g74Lft5SraTquzr2dexHubgDQ7AdFTK8AC49+UBhdk7NjEXOphF4dcss6mXFpWWFLO5S1Vr8gBPYIGAaXuOkgfgOVvIjaBm8kfSFlKS/R3Xn/mzTv1vPItjHLSQB7Jb8p7F9gr+p59lYAO2iBec/qDxLFiL/svPcpzjWda61yKF3/wGi0HKtVcJW9trhL5MylFVWVFeVqIZq+DZns6IZmqqa4qLVi0pCO9asLpZg3fNysXR7Nfurr+T7L7zTsfdd5ttSuKXVV786qsXX+y47DIrT6f+1/JUTgrzdEH2G3c57ia777679q67zLYn33jS+XT2VnLF00/XPvlkrq5Yu/wv5KtSk8qJVKnZiZWv/dmXP1DzEbL7Ix9p/MAHzH4ifjD7+zZSe/pbYnf2F9lfNJKi7O8xb1af+R/Jm+Ot8rY7++p7a+8iu++6y/ve91r9StqSvb+XXHm6Qnwje0v2Fi/Znr2fx7pxf5pvwrzjhNU5KHSivN3Z0d6CjpIed5OzxlGpS+XCJENb4zNUVXkZTpRhlLHjieZEjcLcRVRY4BStUmsUawbERLBci4UItCniAtVUFNtAboFJskSzwdfsH7J/0N58TR440H/wwID8WsfENX7yp+arJ35ebBMXtGJxRoT/Yu3039qKyfQ0Ee8dGTh/SFGGzh8Yyb74x6+r6/qye8k9fevUr49w/5EShi2K63JUyAg/Yz4jj1cQWUReR/jUicliG7OMnkgRqrOQEe4Cwr+rLKoBJneMe0DvLU1Laab7Q6TgYsG8Vt8hoMvaWS5lW5j8KkNCeMtrlpYy7listVUQYpnYQG+yNdoa7upgO1FeX8CHbg8N+XviKAYVCBAF0RZCntWxIg9ZZj/uSk2PD7aooibJjb766YcofYimyRhdpHRR5isXg77pWLutCiSNGBVLbVs6OLaUOM9Oo6cfNgcnnydLWAwnb4uvnKMlWnBnV8ZN7lxL8OpQWNCJ3UYLKr/DOp/5B1otsPo1CO9gnG7KZbn6XnYyVHctVvaKai56J9XsXlm16U5WtW5vnVm1G96iUs35ZBX8iyVyIavfMOinKsOkaRGu5VUJI0sWaghIzFNO9oPwH0ZN1yFIKYs09rCtc3GXaiD2OTMeBpnEThAwnSHUWGqt5MaI2irmvt7iRLfbeqEuEg0giJJjJeuy6RNl7oEwIfyl/en0/sHYJicvunNTbGC8tXW8a3zDhnGaT7LcSGmX2zfJaZYPz80dFkxuFygv2idvMGI4P5N3/G+t45uRn2iV8zeSz616fAv51KrHF9Dfxjr+Eev4JnK7Uf/rxVoRg4dSwud4BRdVgaDvVBVJULEF8Kdo/lziREZeAV2yRRZ4j27rPPAeA0Ll3ejc3CibTEZNggQHJHn/qlcgAoPPOoOhjeFpwvKzEHu1o0MQOlIdyWgYI53S0UALYq/KjKwqtsx1zbTacPYqc7oIFND6kceHW13QfoN5LSprTr/PVUmp/26rVR8JdXp7ikJuX0HrQp9TA3W1Tuqlv169jb9l1fV55KpV22aRfJ3N9xVn/lOcJKfZbD8m/H7do16ouLJSXbQJ6E3V0yaqsgQtwQ4R45AGh6A1iuHUTkGRZFm5pJQUCZJSJB2wEx4nLeIYKKEiiNC7i3WQuhnDD79/CC+SFPn427wKNMTlF7DBZl7FhpumOXNXiiZHkGdoCD1Uh8aGxtaMwBow2JtCL9Wo3+/1+6L+Mq2Rc45ZTdeAFlDHcqe2as4QWp0bmHlWp2YG1rBvYdOYq6sUWtI9OL2WviZ2dtS6ZehI/RqpvKaJpZRGmtLd3cHmcLiZ9Ct+71pdu+7Eievq63DfKXLT9SV0bq6106Zq9nurXW5K3XW1kxv27t2wcc+ejb9a13uCtzFrM9aWtxvj+Bk2njCWGDfjA0JY+KYxn7mIKpUSUWPzGfyQ+Q9jPmuzQlsQggsDbT0MVIstCM5ppnrrHLrQDFCzrkCoW3aZcK6rMu3WBYisQ5R9Z72QEbQ6GBNAOIg09QGhORJobvYhiJcjEMyLpin0F82NOV8+oNf3rlJoWpHEkv7etQP+NT2De1PJPUPb0Rfv0MGB2dmx8dnZ8W9tmqKy2tW2MOt3Nw5eNjV12eBQJwyy8NHjxLVnfn7P7oWF3UactsDmyDuMOfIhK35bYG1xhzFHPpk7LoWs49vJnlXPXyLnWVw4oyx2tBE9+htY1IvGthIXGba8rooIu7RTYJ4FjIq90dXI0Ty9YR/y4TjY4mq6UocLAIab7cRBO0/KFIp7spMZCq+hGfL+m266kT5DxZ1FRafvM9hwviOS02dM38pRZr/1ZBqrCNexEfNftMA8awVHS4CjJ0cTHJ/W4hYO2tE9yyH9AME9FFn8gQSKvPTkk/ChEpt4P2rXp7fbiErFdacfN+IGdsA8RUHmKRdc0P4jmQxlEg9iSzPqbJNitSkvNMdNZhowUE1oCDQ0e911NRWuShfcocyP2NLMepnD8YWOI5nhWKXMh6adsQzuOLL9vAuWukbS2+OezGh/sm+QkOfX3H3R+Fr62z9eedGOhSNdpRvXrd3RST420BdNTWwey356zfCNS7vWm3ybbOz1oF5SzeuK7w4fR9OWLB0z+Zk9OTJQN4vL6BG6o22+aDvDquX8h2IBDLFFiWPyIZoEiVCWb1y6a3Oir6E/0jlqFyUlSbVDGzZdsGHr/JqReHwSjYIZmtg9QCcn1g6W0crGOq/H51NlOjI9NjE0XFrsb272d7UpCg2ta8v1T6FMxP4JJSgx7J0xxDft7moJNlQWiToze2KvNNFlZcmEV40JkUR9c7yGAWYmKk20wSbTl9bM+wribeipQVbgEvXYZbKe1jT5Lpqkd8maltbly46JtpSqinuHEPl0L8zvqVISeggWall5mXwMRuyulxVZJfpD2ZfgXVb/sAgHP7b4B7TjMu6OblGH9okIxx7vZBDS5nz2FqxGeUjSjRqbz852AcxvGtH2WRfKBjdxRAgj9HRkVejpt4U8/dQ1eh+dXrdm6gNjlI4m1vT1jvRrDHj6kn07Di12ZY7v+dZF2+20f3xs6EYQfwfT0XRmRJXo9qPbFg9ESjdOHbjA4J/8I8N+3WzxUf6RzUUfMbDBnmfHQWIQmxnm2EyOz5ycgsHuzTRVEmMvGcFSCyaCQLM1EVjWtnyKcekfZXVSlf9Rsg1DQ95/P7ThsE3RyPeh8Vo1xQat957s1YbdHWR2A9NuPfvdwnwP8fecMd5OiHHIU4twkGtGKtvTcOKnYmlGdVBLkrqRY2opxKSIZ+hbjQI8W1XUfTwVg+6nTaA/NzHwRECD8cb8Ub8XWe+MoHYeFpfHmJujCDeBWH8RpQ1L0fWoo3Qn2sda88Bw+7yhzTNkDlnB4zGDFpzhsSI27CnRD2XqFhY/H2pB0DMjZsORD067GxnTGTyt02DMZpKrk6WqkGrIPqzvIQhoJArdz6DgWp3oN/+7FY0RCKq+Q3H0La5rboePSEsL1zvKUh5fV2nrCO3NkGsh93f7/OPDBCSY7H1Ta4ZIgCsg7Y2ehqY+3n+grTIMf37f54tA4ZLNcrkoscm2RY1Df+qIsifsNuHoUaPS4QTdts84gTURZ3UXidFIFQz0Je6N+iJ+FOrsWlNBOwVXtNZqpTbb7XcttCzSAKUrjzTGeNmR+jji98J7i9GC7U3uhqaGplzpbzUKnxljhTcwjkXhKLQnYseWQ3HSmYSNSKQWtA2Mw0WVWjpooMiiAo7QNm5xhu0sOivqa6px/fJFEUXWYe3B5kdigsRZXRX5wWFk5+3dd/7hHf29x9Pp6+jBi5GZ+TNVmzes3zoZ7drtaD3BfHcR5xLyUi14cS+2GFbVRs4wzxfWg/mov3k6qwOEAIfX4XHVo8HKF/GhwioH8gEzlseHakzDEfcz8N90dOfeA1sSyb5eV1djX4zuO/wabmx9pmrL/Oz2yVioK0KLWscyeRixX2QYsZfwHtK8OqeJ521yn/z3cWIN7pN3jBPLKFCOFgDF5ulhuL7ewOSdEPzuYJhzGCkZzfR43HUFcfmevLh8t8GJ4qv3VpbzuHwUcFaJy+fg4Q4OLCU5Ij+/fHT08rEx9h6oqArPdgR9f41vt1RU0eErp6auHObv5EtSz8ZYeL6ukX9kPy2xMYxrQhXD6w5m/CqPycbOwnzedubQ1RsEp7eP44Vxl27NgOk2aCL4UPN5rqL33gZ6vWz/pK556b1QWVehP8HQJGh5Q1TZouA4inMf+0vg7XURA1hDsPwi2wbhrqeWOCXvyNFfBYXmoD/axrD22XOtfmlIU6Lhf2fsqfk8l9i/626Mt3ckJKJosSIxvL4rMtvZEbj33xm6WluJ7W/qQ962UDJoU0sj060tY+3xqabrePYYvsoV5PeQv7QwnlkDPR+a65x8iSsFBQEvTvkZQUWMzdQhks82dHaKCqs0pnD76+1puShWRNTxVHp0TT8GS8YG+rq6MjJR1GiRGN0ci82HOltiydi29K0dG5JyaVGqrzeVwFimSKStJ9qlyayUazuTmcrqqbHEYhe3Rw6duYJh6yNWQywTdjF2JcRpEIUdCNVtTM64gLpWQWpAi0k/9/pK5HcGA6mhXCLbsm9QnTQreoBuo3SbPUUfu5Uepw1FdvKozjvEcfodomW538RuyA9l6yXoCQEiqsjAIOI2wHHu2nBMUOGXmlflisJJWhQDIdvni4ZBBGYI62aV5yM2cGYn3Fg2XA5MyANEkhF29kpFCRXEzbFU/9hkal1Yowk7CYLQTdZA1/n36pppz+YLozsGbg3Nx+QyjSbjs8NDa/ttlMyCyB2nTznqL9g7vDfB63cR5oIi8TjMUh3IdGIjRKwuxG3ArpRHFFTAEcQwQjs87Rwj1O8L+A1+oCijqDfjkQPnIAj6zrFrD4c3xGRFjelS3c70lNY01548L5ba1Zdat663F170trtOfqFtXZekKXTHnoMNDeFda4Z3RSanBwdnZwcHpzlfyxWM36QKd4o5fgN6PIknrDWGCZZVQkXEjyKjA0VGT25fmG3Rfot8N/tlSsn7qPKyaEvfin4Mrbh0ePXi01/VcO7cA/Lrf0B9OWHMRzAipUplOA4mJI6F51CgKra0oPLcEmkJhzpcQVfA64Yb1HfYzJk0nij00jXqKX8JyP/+h63xWJu3NbzQ07MQbvW2xeJbkx19A21tA30d0dHRKL5o52IqOVPrGGuLTbe0TMfaxhy1M8nUYie5KtrdE4n0dEezL/XF43344n1hBvq2zLAuO4SxzEgp9G7pLPgO0LNlIu8zcR48yrKuEIC+wLoC6+DxAngHy25Zvcx48vrq3WA39JARoyvcurIbYOcgAewH2B+wHLn1rUnoyLQqJpabh2NzGqsaRgbkRQOstqqJy5ge81e0yExHx0wEFrXO2Z7C1ewZWMViG3v4u+mT5mN4ts6C/DStzI+zrN5Rdfb85AEa/fTCgYELJybY+9z8/By+6Pz9l112/zx/F2848cEPnsAXx56IkS8ITxjYF9sN7IftedgXaUh/1MC+2G5gR2zPw75Ik6eEzxvYFyvTPwn3fwjvz7AvVqbfB9c/iPdn2BfbDWyJ7XnYFzHysPAZA/ti5fWPQvpjLP/RVa9/Cu7/BLt/bNXrH4brT7Lr46uW/wEz/wz7YuX97yOD5Avis7z+zpzPrz9zfq7+yBikf5HX35lD/PlnDuXqj6whT+H1WH9nDhrpB3P1B/d/iKVfbt6f5N//Prj/g3h/rD9+fzH//p8lGfIwS4+sev9H4f6PsfxHzfuL+fd/Cu7/BLs+tmr+H4brT7Lr46uW/wEz/1h/q9w/h73ytVWxS3L982tvUf9fW3l/hulkYk3VIJtTAOT4anNOlhkGGg47DwbROc3jfNt+yZJ1JbIelDs2DmvKHFUV1jhcjkIVN2KiCvCnFuCvEHkqfhv8Qd5+B0vQ+cyPoIZHcBBhh8ywjlEDM3GCi4uIUFlWVFPs0GTBTqjK/MataI1IjeV7GY2Q7YipTdejTZWKX+QQ20/RbDksXr9mMRjbmU0TnxkW+jNpQVIwDPc4Ww1VwolDDV1F3i2wxZw5voSLugN+d0NdDQ/IxcJbWeglKnwvIcttgiUix+xJGEYJcpBlSHMGmny+kURiRsNgeyom9g5tvyjUEWymmVyeQ62D7a7Grqau3oEkyidb4vs3RIaD3rA/Rpkv5PfISfKdclVsF1oEHXrloy2s0SHtq2c+SJ6RWspVyOtenrbXTPvImTvJ+6V2SCtakfaeMx8l/yy5IW37irQbIO3bLG3nirQvQtpvWdrAirSDkPZRlpYpTAPZ5OkzfyKPiH8P2pb6uVoNcd4CzLuVwaiViFCnICoxn3xSt337kk1pVbXhhNsdH9HUVsXWe9u2K7fd0q9qSZsSTWyaqJtYjMcVW1JT4d6fhnt/zLh3OWK0ORChbUCEB8DSi771fM9b1X6Etx2Ju92JYXbbJXgUu2c8vgj33JSIsnv23wJPu60X8/0uePsWwwoAydtj6F+IXSqANCgxTageN5+5YdlpyLehgUg0EkVTrBuLaekQORRROFTC88Sy1kisuMLoZAzDAWOT0yDLrml02Wo9nlqbqxF/bdufStM+mk7t3wYfjq7QhLvVZmt1T4S6HNyf91bI7w9ZftMZkDTQSRVRZ6DzYag+E1QYrTWHVXEKM0Rob2n2Njprq2HIdZMuDYZcxMgu68sol7GatEqBu3RWKZi/+gdX5HTaKsVqGc0rB+T5MeSkYn7YHH/WwOQ2PaNz/GEeXz5/WR6gpc/zGEXC5O+jTfNHzAjQh6AjfcwH+2J4e4DdH2YpdlerFnbIZi2UFtk0VRYqSYWSqwEr9B4dlq7l98fnwI1FF8Z+cbpk6PsnSIp8h7wH+n7ZijFqpJWJ4svs93qSQs9LGM+eFee6IS3N0rwr0saEi9AnAp5xRJjCNPHRKTNtI6RVsbTrV6SdFC4id2GaGOJpJJf2LKQ9zNK6CtMERTh05h6xRNwseIWAEII5tFdYyMx5YVYmUyAFFxFqV+lBttdC9qGph68vrunS4hLJbudWIqjbSKSrK9IbSacSXeGucE93qNNb7kCQ1bC/TGsyuRRWD8Lm+y8I2x2pZsGYPsTtDlvsCj9tWzoPwZLfQ+E/TcWFmdra7JsjI3+lrmvxbRj5XijU5nQSGSlKGXo3eZVupnTzZLwxUl57/Him0Zv96Ic/bNKWIsfqmXuhzEswfpLC0Gox68VvI2bdlReE7nzrmPVlpy9lHKlUaiiVGexPxnMx69p/LWZ9Wch6yfAorJc+eE1Q+OdfIz21tS1t2YfuhEq7E+vs5MnNU7atlC4tUYR+epUu8e87i4fboObK1rZ+mFWdUXHQj0ahr9SIm6H/7RXuMSSTe7AjMX9nvyiTlyBtv/BNI+2brJNJoLPeQ85AHwsj8xHybcVDAZ8LlunBWJcDBn+m2oboV9KUBSiCUSzCMSa95AW/BwYDUcaUaVVRiFhWhZoYVzCt6qnhGySBYDVUkt9RE4PVnNVRsJqc2TYJPWlqL80gLGQ4sDhz3gQcGJpVaRJ3tftmN2cfbwm1hP5vqLVj/ZxtntIFutRPQZLo0O8tHRnon9RmKZ2nEync4S7/YFlf/3PuolsVd0P2u75Gl9f+PoaNcAL0oc1CqxCDfvZKhtbl4UVVczc/QbdJej70E3emcTLgYmUXwkOB9JJDjcKuxs23+dBR57hP4aWZnre6SjAvYuuemzkOuOPxtjZBiA/FB/tSbbG2aHcICtUCnZbhTWnnwJt6+3BTPoqbArVrgsnF7u7F5LrUXkoRcDn+7OgoDJWh1D/QLMz5ZLNYQ6M020upt64huW94eF8iOgdHEDQn27phaGhhfnh44RILbIowzu8mEaGZtmW2OBnY1DtBiPLkEKLcxTMc4mnN8EBfOhmLIE0Vh3jCvZGzQTwxC9HbxXjC6F6iXVwDBewkpJPS3ppLxhJbUirthYbTxyLtY2U3UfoBQj5A6U1lY+2RMR2W/l47sV86T+fXoR2nqgqhkyYXOqa7RZuitMfaW3KHW+AnSKCTO7FuEqCv/J7x/yJCOcZ4uhtFWRSnVGRagyGNvL+CJEv7GDeZoGkeYcbr87X5fOEW5OUQHNzTkO/5G8XBwBCvFUHCROhKK+QCjoB4KUtqoNntV8mHKL2vha4d6WqU8aC32edRW6Yp3UQq/yLkI28oakKVKj3tGrb6d9cNlYjsSLm7gwThkP32MizHfnh7k5w6C2bjQQuzke/nrcBs1BqNLmxho5wVs5G8Sd/8KaU/PU7pceieSQr/oJSegpq9BV5DkCeGARKlZAM1bLunxDr0vhKGhS2ZTe8EcsljQS65bTMsVnzYm+nvTcTCXR1mzDhDTdJWRU3iJtaVoEmRcK6vFWAm1dEsSDxkWo9HOtJUpukiqXT33Mbdkh+ErkeKrj1chiDrlNgOLe08qLnh1OfIJtpN4b+kvNHb4KRFfaMTgxWlO+FIae3UtCbb101Nj9RWw29sp07kb4F26sH+1ozW3KkyGILrloGKuaaNGYv7cDQjqFizz2bNNDWOQrbkHNzNCtbkiNhJf/1vSo45uZ/S/jz25P/3BmmHxnpRYRTKL/+A0h/Az2cpfeZZzqL8FOb7MLydgnwPvT0sIpeFRcQJR4eEQY5FhOHgBhZRP8H9G5S+DSwi4+u5sIgGWDI5lT4fBnoPRqGpCeMDgUIRhOha/t4U7vfQ5Ot06x4ffbRM0uKKKlZ4zC/vonR/AL5TqcVjfN5SMzzI8Um2QRs1MNt/DOTBIeFI5lAFsctJAlr81DtAUXMxFDUnnenvi8cRRS0z2DfUPxTvjfemUz2xnlg0nENR8zEUNe2tUdQsd2YTRa2SUdnHY0GfgaH2vlZKW/GlfXJyc0mQUg+I88HixentNP3nqv79/0DIP+z3BWxPUlIE2auD126tJwkfRcXwlojcT8lfejzjqlZUt76swsv2mwUM70WfiB4DwVoXyJTdgmk6aME0HTRhmlwI4uhElKbuUGtPW0+lCdBUhKVcAdAUOxtAkyHXPYxweAwS78G5zZvn9lxB6RXa4COBtrbAQW0zdNkIJH2VTg0PT0Xg12aN+GE28N0iGHzKp8QpcR36mwkLwt9mSuxEpH7ogTDMNMnwGYgLNlEVOfarqGroVqXoAmiVIM2KOj1YhFiwNsSCRdTYYjtuxjGpIv12L2TiL0eMhcnO7kbE2Cavt77Ou+CdX7tmaDCd7GxvCbgb6zz1Hm9lC0xsOVrv1bFiA/8VqNgO/ZrR9T2BLUTv16XFdj19nScQ8KRJy0qg2D5tBVCsTUzZ1k8lJyuzv5EVndiyf7SRpfa2tvaHsveugIlNp1fCxBKMUiG/h/6UEAYzfU5caKfyYdo4kB4CuGksBsMk34KKTQhxBGxrq4ZBgx4ZOcA2HBA1luNXDrHNoqEtRGx7Wpd9lPrsC2PxH8j6ZkWXfyQR7SFPQD9F6R+0gOdBmN4PwetkRTl0qFjyBVieJfmfJFWJamVVcKiyjGM0wvjoN+aMGqHrXBivrnyMVygPBs7WdtV2tgaQ2xSurvZHI1SzMF4dllHuXBCv0ML99PlpnNWdnhto+jr4coMHHb8Hp59D1aZ/GiOmPc7sbigOyJXZ/+f0kN3oWDI9yPeZL8SgcBGh48YyI7VEkjWi4Y6QEZ6BJIlE0HB0GyEdbGXmMgWMcQY6l2j2+Zur/b4WFCfCBvJMnkgY54bVnCCYk/9Y3za2Qa/XPXW4x9levHs6Nd9O0yD2adHOUE/xpyl9v+hqIrgYv5d2FemeiL8E2qGxYW5L+3i7riiBjli7rxYO6bQt7GS76KLF235WrELul+JcHatQe2uswnHG6p6dfCzH704e5gJ4dp6SgMH0/jLl+Mjo9zgF+UkJfcIgyEQbM/O9RNGHB0W2CXdObGTuqAWTTjotoCrZn+5L9yFHbjTcFfJVVRnYyNq5sZG7iOE4GTEEBetbNQgMPgsgeYoOtIn2ESq1zrRKFD7bBigN9cCsARNn+5oOUVIHVEnsWAPCvNavk55QtqZmNlhBdFAyi6H4T1P6NL7g68u6pig/eg49c5/7kaJo+ssHDoyfd955vP9tQ45RqBOG31gP/Q/nA0lja8v5OuiMRAC15IDCTAl2vqwy9MZouNvj8wd95sLiXrGwWIU1ylpKVpFxiXoJpZecoHTLtaI2A2P06FGQKmZgrb92C6UnMBE1ZmjGtfB6Gk5QHntMkVT5aePQFBUK7QAlwiPG7sojlo3gO5DmLVfFwyvSrhbWkh+TR+C6uwrTYO1aFKrgulfZvoJPOGxym8F6DJOklN+N0Ui7QyeGB59PECCNwzAY5woo0m0yT5OV2aVMfW0tdvtaX62n0VlUU1TNoONsEZvR8U0rqJo3CBx5x3+DJEX7P2HAJbyP/SLnsw/6Qe7H9Az/xevgKJQFbYhuXk7RLCcRdguVoBf8pJDXZJUw75Wh3ZWrxHRzm+UmoZL8kfyExZ8X1qvCfH9+weaFGqEd1pUR1E5afCDLNtaJiCZvQ62Y8d4gCLImqxZ7A/ZBTVN2UV7XyWRHB1ZiciQJinFHoiMe7s4juynSzk52w3GCYui2EjHobojjLOeeTKfb2uBVVV9fha+gJKpVIIBVypKkVslq9t8+tewM4k6FI8lkJJKMuIy/03AJcu81yHCJKKrZV5dWnMPrru7MC2JU/E+oOx+sb8ze2s/tpiLzJ0Wssk4hKVz7uIrLnOH1HIDZFaZTXVQOmBxujNTTw4hnLbZm9Ksz9IXVLig4dylTEwoJQigZSkR6EGQZ7aqRXsbsnHOryO06cF7zZXy13CGl3wyT+urO6ECsrfPwJpybY4PjgzvpAN1ut2+PbB/oHb6od34sTeM7eieWnPVrU1Pb0FMznEpup3BO0n7V6MHUzNz4VdODmVFWV2dOkK8IGHshif7shzhmV/Z3Uj0M3xvKNeTjE57nNfg81CCc/yGp1khbMtOImTYs/sZIW1g1jbC0DcvTsjdZaVuXPy/7Q+ueG1dc94p13bYVaX8U/x2uuxTSNq/Iy7z4BqR9CNLOW/G8h6Ri43mLK65rY/WyE9I2rUg77wzGPJSVIWEeLgnIVCGwMVqXcYjWTMcUYwbbgjuXeTNT9hAlN8CkcIw8xE0TcI/nRYwswr0RxH9BaFEi7UObQ73AN10qwl626SIGLCnagJpTfT/ZRBM2Yl+71k5sCbppTAxN9FI6MkJp7wSMEUHcQEqw3ckWguRqwv8HxGsFmXjaxZQ9b9tGGMf/JEXZjmNDbos0yNAcgqJwCkuWBC+2iwCOA00NYHhIs56pM0WYIgWSkqv2CzRzpnTp0KJfoWM/QadM6dg9S4AE6FL0f6fHsBInSNMX1IR5v3v0vN7D5wB86v0BD7O/z/CVsIdreCrsY8G7KhzghncsXMM172fhECveC+E6PvS3hBew4f8ovIiG/1x4CY1gXXgZ14Op8GXyE+EVHNa+E17F9bAr3MBaOBFew2L47Yz5Wq4/FPbIubCP9+p3hAO8X78kXMMH4S+syKstcfulq86yhy38JOxj1VsUDnDHU8I1bHkPhEOew6/CdbT8mvAC7vufCy9C+Y+Fl6CCuvAybgXbwpfJj4RX8EPwu/AqbtWeCTdwIzwUXkMj/GbGLOhK/Wthj/yFsI+P6x8JB/gk/E24hvXwe+wjxwhTFEgQY4AKCuuIcJNrF210sE06ooZyuqnTH/CdUdLjOib1aT9Fi5I9aqRcz/2Vbme4Gq4TvvvUxH4+mhZJPKjUenRTddudbXU0Vft5mo8GeaZ6+TjrF9OW2ktT5fRKVZjSFBPTp/Uh3aTQdJ84lwp3XUo56YBh7Nph+naXUCtiKjg0qa6SiVF38yxXB0WuOm11kFTRYOYwZi3WaWFV43GqCV3m2ubTxS7r79GhIr0a/iz4LHTThZ4L3G21293d/Z5Su2c52BSYQbPTnkvgX63onjvvksqzXp1XgnumKBMesssL71rNO5SQuO5r/lf0pdl5g6E74RPKchz/pa/qvMykVFpVhe6boS5OVH588YPBWx3iVZu/ZWI/7YoGO9jkc+qeFg/oZUdNlvhyMTnXmOZVNdrZ3Dw9PW1F4rt5LCXkRfzf++85TdscW+6YHpuMZ9vdpyxy7UvZQEuZ7DU921G2TbTSChuUjqhn+FvpdCau6fZj2eHuH1bRywulMzUeNau82deRUWkSmYyrjgtjhiarNtQoNbo0apKUSbWj/veDffsgXxxbXBzt80G+7a6l2I1NIv3SlFRuwDMXyl6vuD1OY10kPDCdVqbIdGUo3bugas2HrHR2P2hXI/bOTJQejng/6Kz/etsjN8kRJ9i4233O8qjQ0Ymp3hA0nleN35TYfCL4E2rMrEAAAAB42m2YBXTbSBPHZ0aJXcdO0pSPme9ysSw79rGdOm1K6bXJFQ4VW7HV2lZqaJoeX4+ZmZmZmZmZmZkZPml3Eit+X9+L/zNa+M3sakEFAvHvv1Wgwv/5p7TYPwgECtRBPXjAC2PABw3ghwA0QhM0w1hogXEwHibARJgEk2EKrAarwxqwJqwFa8M6sC6sB+vDBrAhbAQbwyawKWwGm8MWsCVsBa2wNbRB0GaHQIMwRKAdohCDbWBb2A62hx1gR9gJ4pCADpgKSeiEaTAdumAGzIRZMBvmQDfMhZ1hHsyHHuiFXWABLIRFsBh2hd1gd9gD9oS9QEeCi+BgOATugVPhczgUjoWj4By4Ai5GBY6EN2EVnIR1WA/HoAcOh4fgXfTCuXAl/AI/w69wIVwDT8BjcC30QQqOhzQ8BQY8Dk/Cc/A0PAPPwhfQDy/B8/ACXAcZ+B5OgFfhZXgFsvAVfANHwBIwYSnkIQcFOB8sWAYDUIQSVKAMy2EQvoQVsBKGYG/YF/aB2+EC2B/2gwPgQPgavoU7cQz6sAH9GMBG+Af+xSZsxrHYAv8h4DgcjxMQcSJOwsk4BVfD1XENXBPXwrVxHVwXfoc/cD1cHzfADXEj3Bg3wU1xM9wct8AtcStsxa2xDf6E1zCIKoZQwzBGsB2jGMNtcFvcDrfHHXBH+BA+wp0wjgnswKmYxE6chtOxC2fgTJyFs+F6uAHnYDfOxZ1xHs7HHuzFXXAB/AV/w8fwCS7ERbgYd8XdcHfcA/fEvVDHPkxhGg3sxwxm0cQluBRzmIe7sIAWDuAy+BQ+g0uxiCUsYwWX4yCuwCFcCa/DB7g3vAVvwzvwPrwB7+E+uC/uh/vjAXggHoSr8GA8BA/Fw/BwPAKPxKPwaDwGj8Xj8Hg8AU/Ek/BkPAVPxdPwdDwDz8Sz8Gw8B8/F8/B8vAAvxIvwYrwEL8XL8HK8Aq/Eq/BqvAavxevwerwBb8Sb8Ga8BW/F2/B2vAPvxLvwbrwH78X78H58AB/Eh/BhfAQfxcfwcTgLn8An8Sl8Gp/BZ/E5fB5fwBfxJXwZX8FX8TV8Hd/AN/EtfBvfwXfxPXwfP8AP8SP8GD/BT/Ez/By/wC/xK/wav8Fv8Tv8Hn/AH/En/Bl/wV/xN/wd/8A/8S/8G//Bf/E/AkIiUqiO6slDXhpDPmogPwWokZqomcZSC42j8TSBJtIkmkxTaDVandagNWktWpvWoXVpPVqfNqANaSPamDahTWkz2py2oC1pK2qlramNgqRSiDQKU4TaKUox2oa2pe1oe9qBdqSdKE4J6qCplKROmkbT4Ua4CW6F2+BhuBlugUfgIHgQDoOr4FG4F+6Du6mLZtBMmkWzaQ5101zamebRfOqhXtqFFtBCWgS/0WLalXaj3WkP2pP2Ip36KEVpMqifMpQlk5bA0bSUcpSnAlk0QMuoSCUqU4WW0yCtoCFaSXvTPnA67QtnwhnwHe1H+8MlcCKcDZfBcXAynAJ30AF0IB1Eq+hgOoQOpcPocLgfHqAj6Eg6io6mY+hYOo6OpxPoRDqJTqZT6FQ6jU6nM+hMOovOpnPoXDqPzqcL6EK6iC6mS+hSuowupyvoSrqKrqZr6Fq6jq6nG+hGuoluplvoVrqNbqc76E66i+6me+heuo/upwfoQXqIHqZH6FF6jB6nJ+hJeoqepmfoWXqOnqcX6EV6iV6mV+hVeo1epzfoTXqL3qZ36F16j96nD+hD+og+pk/oU/qMPqcv6Ev6ir6mb+hb+o6+px/oR/qJfqZf6Ff6jX6nP+hP+ov+pn/oX/pPAQUVUhSlTqlXPIpXGaP4lAbFrwSURqVJaVbGKi3KOGW8MkGZqExSJitTvJWC2dYWb2OdKjWhsoZYw6wxbzyvp4pWwatL9cT7isZyw6ML8catjFUwlnp1qf6OlFlMVfL9OWOFP1W1GzrSVllPpYxCuSE1YnqmpnSny7SUqXb/etmbZKDBwKQEGkIaktWOjBHTm+QwDKmepOzREOKf5goq4wpqWrWvTLUvJ/GgqrKG/NNdrbNVu256n16sy9o/nq6ymUsbHlOIt4vjNzn+Lhm/KQesiyM1pVLXDDKX+Ge4GEuqtowhFGFtDyzNFA2jkNMLaTPlmaWnKmXDkxPCVRKsHZ5ZcghyQupm2fnV5ewfzxzZquBqpYVZI545slVBiJIsZBSjkPF2c0oWp9QtU7KENHZnK4WMXqzkc3ql3Gi5Pc88SSu6aGFOJ9zumSdpRSnzZd2SEP9815CUaockwtMTCXl6ZOOyzLPHmZSyMym9clIqclJ6OYMKZ9ArM6gIqe8tmoVMfcX5bewdlU3F7Xl7efIq/LYvcMU46LIXueyhqu1ZLDNcKaRhcfX1W1nz+vH6CyYi3nhSjp1uVMdQDUZZY6xxVjn/aqhdakfMlynqy42Ule/zifaOJcpCbapPjI3ricYaYW1njbLGWROsHVKDcjZCKrdTuZ3K7UJhVi7n6EIhLm9P1petglVqTJtG0SiZJeE1xHMDWV2YPr1glY2cYeqB5EDJzFkF8XhMsszlXRZbge686UywdHpdlRu680ZGVmox7eqjWPWCVZcwynr9ND2f12VgMc3LvLrFdpFi8+p7srZV5wDrZ+oDA7q9DPN9aZ1mV2hOhRaaXo6A5prKvKxVP9/M5HWlR694ORplbtZUOuy/uSVTYuKxQJcromauOOw36CMDETDc6RvD6ZvD6U+ojG4qkxPt6/qc5DJOcvVpI1fWvdxX3UonNaewLFJzOqtfKlLLidRkkIkOKlRohWlvAiI/pZi1ZEmHWl8SSZbtJDkAZcBOMGX/2W695Yx8wD3ozTVxBiz3tFXc02aNTJugaW1trEFWlTXEqrGGWSOs7axR1hhrnDXB2sE6lTXJ2ik1yPwg8/nl14LMDzI/yPwg84PM56Wr8dLVeOlqvHS1IPODzA8yP8h8lfkq8/mk0lTmq8xXmc+LUuNFqfGi1FTmq8xXma8yX2W+ynyV+SHmh5gfYn6I+SHm86LXeNFrvOg1XvRaiPkh5vPRpYWYH2J+iPkh5mvM15ivMV9jvsZ8PtQ0jfka8zXma8zXmK8xX2O+xnyN+Rrzw8wPMz/M/DDzw8wPM5+POy3M/DDzw8wPMz/M/DDzw8wPMz/MfD76tAjz2tlvH/aZ3878GMcbk/EmQ52eBeJM8AxKWSAPpUEhvgXDS9I3OGw57YLJWNKzSDYYEuI8Vdva21g11jBrhLWdNcoakxrldtEgq8oaYuX+otxflPuLcn9R7i/K/cXZjw/78bq0VcjUJStFi59MlZpgYoIJCW6Z4JaJOOtwfTHualCub1sjrDKSoFyPtkZ8RqlsX/rKRlo+CXOLsOazbwuGmcmWs4Fy1r7BSbvk7zeXD9uBkn0RKbDj04tFazBn9Je9wqoMNAgtOsWyMG0NFqTVZ5WzPq6WLkhkjIOMcZCxKKtMUpWboqrKTUrle0SyTW6utgZZVdYQq8YaZo2wCk5ntLPTZ7bmrFSuZ95Mj95aKrUF/bp4sdgW9y1hj9WrFyPxoGnkdOC64jUTdoA/PtiRty/h2ONiX9q4gbjOCNu+LXFdo0r3iHqqPzMShDo2MzoINcC3fuE0V78KpM8bvMgwMW0e+4nRfkit8UM1fk37UKTGb6/xozV+rMaP1/i18XSO9rWa+LQavlbD02p4WkeNX8PXksN+gA8MMfq+lUbRai1bpf4x9uxJozwonzSIVSFMX79VKbJlrw5Zr2SukPXEIpGmWCqyYsHkDptGGK2OJZFVK12w8gIuDAfuGAx3TAmXlgMX9Ry4qCfhwpRwUVHAhSUYhUq+KBjCcBiOwQzHlAxpOQxRz2GIepIhTMkQFQXDsQK8eYqkmkaScrlOLeEGeH8WTrOxImVf5pxNozWll4yWZRVns7IvYMNP/H2VXM4oC7tpQC/aX5n29iPcZuGKvUcW99mfc0a1WLjV4rGOv9Qoj1Ro4QeuHqoA+9XQ3ADHdwFEsQvg+KMAzoPRAOeJPzs0kDVkZgH+nw6ZplFI66Us2/kRe1ymYtr5561q2ONHHlUDF9VK9o6TG11NPKpWC/BJK17FAB8j8l0Vm4ljNaYqRTvr1JDw/Gkrl9P5xXdOLmk5x5cs789Z9k4nX/3+ol5IufvWXI6dqKsk7naCbsddLR51l8TcJbKDxlLZKOZMDovruRvFZaMxQ7w8fQO5SklGmzcLbDbmK7myOZAbTtlcbqYNXs3LKnpO9pcpGvYZykORM0qybWDAKI6MnVfn90jP249LeiHtzHrYz1+lrXquHOAv1+p82J+zstHIFzH3MfxZ7K6acDuq2+lwOxG3E5f9jXxUu8s0l6O6gwqFefk5Z5LTKjXUNHwOSvd/ZHbn6AAAAAABAAH//wAPeNodzc0KggAAA+D9eBTU58ogDfRmpWRv0C3TN290GHyHsYEAyuSNDUKTfMB4jw6eQLZsYZ7Zx1c+41UXUJ06SL2GeNQjnjXHi9b4pS3+Kjs6DNB0Bbt2nf0ij/qnyOYE8cZ7OnIJuUpTP9AjDjkAAHja7VkLcFTVGf7/726WvNksm2QTIllIpEzLgIkJqMWYhCVgCKRN04oxpgmbhEeek4ct2FK0xWpU1D6sWGspCAmISC21YNVSwUeRIiKmSqmU8BAspVixvLT0P+fehSTNY3ac6TCdncx+/3/v/c89r+/89+Q7xEQUjk22CWTz5hUUU6JvQVMt5c9pqqqhrtqKlnp2kk1i6MIFGiaGCWRQCNnJQTHklHsuiqU4iic3JVAiDackeYLcqUUemlScU+yh+QGVVbGuHrFDAooOHSC6dz9sg7RlHA3JKZnioZLJqh93Ty4SfHZ6TomHDs0oLPCws6hwhoezi4ume7j+M/YyLKDo8ICiIwKKjgwoOiqg6OiAoocOEH1FRUVtC23wKdzkq2iuohd9vrpG2qZxe2V9Qx11VjdV+GhfbYOvVris8KjGExpPaTynkEmjXWOkRmd9a10TuxvE8IiGpsp6Tm2Wunhs87z6ak5vbr4qja8RTOcswQz2CmZyvuBE/lJz6+xmntXc2tjMZQurmhq4UvoF3Tf1S9TotvpKwkPVY8VGdcfkkDkS0RqjNEZqtGuM0BimMVTjEI3hGp0a43WdatzU1XCNDkoXTKKrBK8QfjONoLGCyfR5ifXQSB01VGOMxgSr0QIsbWVDfja6kgqomEqpmhrpQXqUnqB1tJGep220g/bQPjpEx+kUfcI2jmQXj+DRPI4ncBbn8Uz+GpdxNdfzbbyI7+Kl1uvzZQRUFcd1D2F0GudMz+axebUXZSu3nwwLDe+I2BW5eKgjZozztWEnXctdW1xnzMhYR2ye5VXGtpnvjV1t2U2W3W7ZnZbdbdlOy+617HumjRtr2QzLTrLsLMuW66zCcXPNmuO64u3mnXiPGRGfbtltpnXnms/dpdb1S5Y9Y9qEcZb1WrbMsrNNBiV0WNcbzfckHDGvExWLOmkujuDfBuE09uJTnMcnuEC19C0sxR2Cr+MQPsJh/Avv4c/Yjx04i+/ju1iCe3EX2nAfzuFufA/34EE8gB/gIZ4iczaVp+EY7jdsRogxxIgwIo0wwzBghBt2I9SIMqLxQ/wIq/FjPIyf4BEsw6P4KR7Dz/A4fo7l+AVW4AmsxCp0YR/+gj/irziA7XgVH+AkPsY/8T6O4jhO4G84hQ/xd/wDB3EGv8Rr+IP0bq6wO1TYrrJHsmZpCqUKk/OFhUXko0qqEibOoTpqoG/THbSMVtBK4eQqWk3t1EGbaSu9TK/SfjpAB+kwJ7OHUziVs9nLX+Fi/qpw8iaexTdzCd/CpXwrV/Bs3srbeT8f4C4+yIf5CL/PR/kYf8An+EP+mE/zGT7L5/lTxGMkRuELGIfxSMM1yMVkeDEFeZiKabgR+ZiOAszATBSiBu34FV6QPu2Q9TVGVmAG5dJMKpH2N9EiaqOHpe3rZS09R1voFQJ2Yo/gG3ib7PLuNLwg5dvxDIXgWrodL2IjOsS/jlrwO/waa8T/IrViC57FWvEnIR2/x2/wpPjX42q8hE1YJ34WMrAVm/GU+DcgE9vwHNaLn40JeBm/xdPi52AiXsHz2CD178Y7gm/hXeFYLe4Ufxc6Bd/En3SmiJDs1FeWzqJs8lIZlZurWzKTyn6Kr6N07iugGYIss1Am9wwr80FKju4jqpyrdE67FK+yqD/fmdHMCwVtPI9rJMc09BOzRDBEx9RKVKNVc5Ks4bG0gt28FDYstOJBkMh5ElAjkao9KkOTbkmKXGfJDKZIH+fJfNbIX4bwsJEyZT5b6Vr6Bi2g6+l2+cvW3MwRdi6jPOHkZpoqDMymaZINq+lGns/zKV/YFE/ThVG1VIB6LKJH0C6NWxOs9f+2VqM7u7iJ75VsZ1j7hBD5Li/nOL4PCLIxyAuLF2758o+hx2Vn1RZkxWU4P3FiR9Nj7AzOzoDjpL70qfLfw+U1Sn23t/fOIOnifiK49oK1/u/52HNnkBhkY5AXmhfddwbuICsuu/m5tDOIC87OAOPk3xm4LrtR6n8/4+i3rUqFGNVDhfjv3vT/XqdVOpByil+qRSx8U+9g6X/3sut12Z7XfWolfZQz9Ji7tJJjqpwpOrLQijf9/qLGd4saLxHRZPOrjFq5sdS5AZ4w2ZGpyxcE7EP2ccO0XjmoWqm0eK0CDqoB6hquVMqUcNLcGfa8hoxCONKEfS3UinRcjQxkYgIm9iqzttf18h7XLfLVd9B1wtpSmiuZPlxmKpFG4WYZaycNp0XaxuMmbePoO9rGqrHDLOse1CkMSqwSi80SOuIW657ySy/6IZaq55aaDEu98/MjVXMolbzdWtl3TDoV9eiJS59bqJq+LCWKKEbPTprEFNPnlIKN02hHB9ZgLZ7EOjyF9XgaGyxF269hn8U5HEPXwCqyvDNC68ckfIrWWSNJ6kymkRRFlTRHRlRlApfOBLE6E8Tp1R+PXBSSGzWokTUE6WUyduIN7MUF7MZb2IU38bpfRx9AG7+oeOtzlgh9vpailVGli/r8qnX/SvQlfVla4RRWPKO1c786bhc+K93ZryxXSu8iZcTzLjLEgyq5dwPloFLPaw6+Lm8aiXLBHIsRFfLEIfdulWuH+Ooc1Q2fLudAtS7nQJl+yjo2WZf1UBTu7HWGYJ4g3I/V+uzK20uN11o8e3n/Zy7toBAs9Z9UaK7m+zV+a6T24G28g3fRqXVqux59/8ir9XVa8y5MosdQzKBZYaXSugfNCOf1uZ3iNySPrNJ681mpYYTU/RGr70sT38bf5IW8mJfwPdwmGVud7imVe4GlSdcp7ZobJWaJPqODzKRL50C1mhZoD5YHyaKFZrZUJz36J8/1CYmXiv4D7zzTu3ja7VpxsA1pdj9f3+uNdfv27dvdt7vvHfPGGiW8eG8fY+StIBjEGDMj5o2avLXGYIws3ghimTVKlJkoEbEvxspb9VZeiTKCtSKiRKy1ItaIemOUiFITJUrEiigRZY14+fXp476+065Vs7O1/4Q6p3/v9LndX3f/vnPOd7pJEVEXaqLdlBwxamw9FaYumjuLer05942ZNHzW6/MbaRwl4UPt7aRho8gkbfhvj+9GZv2weujInlK/GnpsWMPIblTzbOBX8+z4QD8/rAH6hZfGQo9/6QXo+vHPQ0d+p81+fe5MMmbPnD2TCrAkQyslsNXwVyeqIINcqqSe+N0A2V8bbrX+4bZzY7hN96IKXKKqSlKFFmyHwncHteAox0jHkYbQCAr/jcGVhv8m0ESaQjOokebT22JbSu/R/X+rZKtUb9bdtf3QdTQ10NrvQvtsb2P7Pm0MWz7F6B4PPXGt0Op/oPuGx1G3MK4/CvZiTI/RNG2UdlG7lDCDK1Yvq8lwmqLeICOhEjpZCSORwfV3g/cyyArIashaSDNkI2QzZBtkF2Qv5ADkMM51DNKGo56GnMM9vQC5jHt1DftvQu5gNMGIKiA6xOKxK1UJ6QGpgtSSpgZgO4hU+8fByNvnsG5k/Qrr91kvZv0h60WsP2DtRvx/HOrgPrS/y/oP1ElS9/5NfQQ8Mrhv7YaaBP1ecH/aF7H+kPXHrOewdlk3RvRi1h+wfoX1+6yfUW3QU4PzJi8ll1Kn5C1woa+6qm6o2/xg72lJrcv9x62ZrF1IV0bdtV5aDaP+2kBtKKNRkLHFX4wvoleLaBLrado3tDlF2wLWi7Vl2oqibXURrS2iZtYbIZu1bdC7tL3aAWwPa3ieWhvvPQ05p13QLvNf11jf1O4kirRNVLDWE1bCL9oqi6hHEVWxrk0MSAzCdnhiNPSLbKuHNDCanJiemMVobmJhYknxt8tZr4SsYbQusSHRymhLYkdid9FvH+uDkCOJ42I7Wdx7hvUnkIuMriSuJ25hezepJTsnDQQFJ4nYkOwW7E32TPZJ9mNUlxyS5PmcHAPh+ZycAJnIaEpyRrJRZu5gjhbdEPuUSiWWfcYymC1LWEfneDX7JNmnOm5h/zT7H+K9bwYW+pTtX4n4Pxc5wljWJWcPPSP6mY7fFu1PFS1Lo+MJZgpmZmAfFP+VeqtoCcfDMRcM5yMEM0I9x7of+7zL9n5sqY7oXw8x+yyO/LY6mK3htajBbAnjW9/YMRWfveQsbPkW60hUVEN5hJXsM5D3xi3TI0fj41ALR92vM74bOWbfyMjj963cFVW3D4TuyZZO7HObfXqXsfAdoI185Fre+1W2V/LIK9jzyxzz+6rvq51ql9qt/kbtUX+r/k7tV3+vfqgOqcPqH9VR9RN1XP2TalMfqZPqX9UFdVH9u7qs/kP9p7qOaNWukaYhVnXSKrTHtC5aStO1tJbVLO07WrP2XW2D1qJtRqTXkEPewPzRkDds+jIs70FWQZog6yEtkE2QrZCdkD2Q/ZBDkKMY9QnIKYz3LPLFecgl5IyrkBvYfxtyD+dIQrpAkLWUC+kK6Q7pBamB9A+eFyXw/DQ16peUO64F97ZsBvnFc0d4/EgGQRyspE6JBcgg3dUENVFN4QAzQzWq+YzeVksVagfFVYNqYr1etahNjLbi6e9htB9ySOFeK9xrdUqdhT6vLqmr2CIvBTmJY3qX8hkpyEfQQ1E9jA1yUJh9tElB1mE0537OCfNOES0rokfIQ/dzkaDNRbSNdTE38V/HWLeF+Un8zhXRBdaXtWvaTWzvcKwv5ipUOmGsjsfM19lSx5bX2TKMPdeyZVho4Rntd8z3kiPE420VH6EqFg0eJd6WyQtlcbnIE4/Ssd+W5BrZy/gJvtLfCKMuaz8SscvuLRfxIntD7Eez0qP+CnPi99RszIXfV3PVAvVNtVAtwoz4llqCWbFcvatWqj9Wq9SfqNXqT9Ua9W31vvqO+nP1PfWX6gPMjb9S29R2teP/I9gvM4I9vqSwjioeX40I9tNURUpPWeHsTKFKTEl9mEJ1mKpK1TIekBqUGi521IapFwWjOkyhOkxhtZKanpqVmiv2hRCpEFOoD1MrBaNCTK1LbYBuTW2B3iH23al9qYOpI4xRG6akLkyhKkx9Ihh1YepK6noKVWHqrq7pnQOrbugOdCH00VEd6j0F94GgPtDrIEP0EfoYsaNG1CcIRpWoT9Fn6I36fP1tfakuKz4dkVtvErwe0gJB9Na36jv1PcXymvT9sj0EOSoYrNNP6Yjl+nn9EvRVsd/Qb+v30hzR04joaTO0pxHT010Fd4f0gtSk+6cHpoemR4kd64y0rDDSiPDpSYKnQRDn04jy6QXpxWmJ6ukV6dVpieHp5vTGtETs9Lb0rvRewQfSh9PHBLelT6clRqcRodOXBWNNkb4p+I5BRkWIDd2wDFlRGJVGD6NKcK0xwBgkeLgx2hCeGPVGgzFZ8HRjliE8MRYaS4zlgsERY43gdcYGo9XYwniHsdvYZxxkfMQ4bpw0eK1gfGJcNK4Y1xnfMu5mtAwzImNknEwhw+uETM9MnwyvEzJ1mSGZERnmQGZcZkJmYoazdmZGpjEzP8Nr/szSDJ5/Rtb6mabM+kyL4E2ZrZmdgvdk9mcOCT6aOZE5Jfhs5nzmkuCrmRuZ24LvEZnJEJt47qY8d9M1u5rdBfcya8z+ggeaQ0157uZYc7wp60lzkjnN/IbgOeYCU3K5ucxcYUrmNteazabkaRPP3NwmeJe51zxgcn42j5lt5mmTn7Z5wbxsXjP5CZt3spStyHIGzlpZP1uZ5fVhtipbmx2Q5aeaHZ4dnZVnmq3PNmTlmWanZ2dl5ZlmF2aXZOWZZvFMs/JMs+sgGwS3ZrdkZe5nd2f3ZQ8KPpI9npW5nz2T/SR7UfAVyHXBmP/ZuyG2sJaxOgvGGtFyBCMeWN0EIx5YfQSDC1ad4CEQ6QRZ4IU1zuKoYCEmWFOsGVajNd8CL6yl1nvWKqvJWm+1WJvEf6u105I4YO23Dlky960T1inrrODz1iVL5r51w7pt3QuxnbS72MIB27W72sIBG/PerhEMLtgDBWPtYwsfbMQBW+KADV7YEgdsxAFbuGEjFthS8dngiC0xwUadZ4MnNuKCjarOBk9scMQGR+xdEMQFG1WcDZbYiAt2m33alphgX7Av29cE37TvyG0mp8LRHckdju9UOtJRcKqcWmeA4EHOcGe04BedeqdBMLjjTO+Ipc4s2YJHzkLByCGOcMkBl5w1DljkbHBaobc4YJCz29kHfdBB7nCOO+COc8ZBxnAuOuCMc90BW5y7OfAk1zkHhuScHLiR65YDK3J9cuBDri4HJuRG5MCBnPQDc2BCbqJgxIncDMGNkPmCwY3cUsGIGzmJG7mm3PpcS46Zktua25nbk+MskTuUO5o7keNokTubO5+7lGN25G7kbufuuRwh3C6u6bouZwMXvHB7hcd0wQtX4oMLXrhDBYMXrvSgXPDClVjhghfuNMHghSv9Jxe8cCVuuOCFK7W/C164ki9ccMOVGOKCH67EEBcccSV3uOCJe1gwuOKi2ndPu+dc5A73snvNRURxUdt72O9VeLoHjni+V+mBH16VV+sxN7xB3nBvtCfxxKv3GjyOJ950b5Y31xMOeEu85R7XD94ab523wWsV+xZvh8fdJW+fd9A74klPyTvpnfG4ZvAuele8694tsSNm+FqIfcQM3xAMMvtSP/iIGb7UDz5iht9PMGKGD5b4iBc+eOKDJz444oMjPvjhgx8+uOGDGz544YMXPjjhgxM+6ggfNYSPXOKDFf5WCHKJj/jhgxk+comP+OGfkHOBIb7EEP88RHKKD7b4NwQjt/j38sk88kkesSSPGiLfNc+RJC+cyYMzeeFMHpzJC2fy4ExeOJMHZ/LCmTw4kxfO5MGZvHAmD87khTN5cCYvnMmvzq/Ny+owvzG/OS88ye/K780fEHw4fyzfJvh0/lz+guDL+Wt5qSvydwpUkLqioBesgtQVhcpCj4LUFYXawoDCoI5YURgewRJbCuBRoV4wYkxBclMBMaYgsaWA2FIQXhUQWwrLi339+Hox0lGj/2WcZHsNr97iq8mR7PObD+vblawXo13DqP847iRt4PNu4HO1PvKasobtT7Al1sUsXZtGVpzvdBxHG/XQtWx8xRzvJkZ7gU8y/mf2f5LXiz8KunRa93gvkP1f4K7b0EjvMNrbK9cFjPbeno6M9mke4fdjPbkya1nayPaRkS5m2Nt7lY9/TmuF/ql6PLAkjAd2AaOr53j38X4n9UulfJNucZSBr8Us1Z/TsjDo+/LZx/B9eL69ttgnfnhH/K0yPfK4JcLtkmtJxq4l1sko29uIMPz+MSNdk6XRI8fs1V+UPdateadjPCUz5Z2O8TzAXv3I9vCKInNKOtnRWfZavIv/OS1t0E/xeXsxM8cyNwY/Qud+WpleftwSnbNfillmlenuxy0yfz/bi5L7I72oyLx+rYy9+ouyR3pgkThAt9k/Ghm+FrP0LmMJI8bU6LuL+BukxOTYc2yO+cyL+WwvZrTGjlms3opmuoh98Oex38+SbOcsST9jyw9478/4Xn2XI/ldyQgPyw6lcWZyjF3NMZ95MZ/tD4xXcZY+io/kd94rearEPi9i3/4w/3vXinWC2BM1n41+XDNIBuQ3imEGjNcV8SwZj6vx2VTqMznm0xzzmRfz2f7zz8VzROoc3js9VlEMDu6G5O6w8jnB1xutfJ6OxMZoTh/Hv41XSk/zHY7XADw2WsX+q9je9NCaoVwlVs4/GsPDeDUztEfGU8s4WodUR/y/Gq/u+Ok84F2lPKNPY/7zyvhvf6B/Qyz3hf4NkbgXVpUv8XMJa6RvhpUwXwtXm7SRcVg7SRUa8R8ZqUjr+YxhfPtatFKN2HvLVzO1xQp2KOOwyirn/2bg84A6LV5XhNVvubrukarlSO6OR/JSz8llPJtjnvPKeG6PeS4s49n2Gc+GMuOcEL266J2J2WOZSOzhWmBijD9h5g2rXFkvxHyqP59P/O1ZpKIOq9zFfJywqgk53JuZGbKoL2Op1SOzsoQVHFXirJjeMWejVW6xAqHSWrdYgTzkDstxwjtMZSqf2BcEJZaX4z7MllLL/p9noesP8GmOWdoeeJxaHtWU8Loi300IDtkrOOITZr2iXaOe1IOCDmJP6oURVdFXKEl9qR/O9AzVkU4D8d+kQTSYsjQC/20aRaPJoTH0Enn0OzSenqBX6FV6khrw/ymaSF/H8ZbRt3HEP6P1NICa6Xv4fSv9gIbTX9Ne/GIf/RC/+BH9A02io/QRTaWP6V9oNp2j/6L5dIP+m1bQLdQuK+lTVFSrVSfVhdaptLKQEXKqO7WqHurXaCc41Y92q2fUb9EBNUw9Rz/RfO0JOqk9iarijPaH2go6q63UmuhC5M2m4jeb3WFZCVkDWQfZAGmFbIEE70F3Q/ZBDkKOQII+V9AjP4N79Anu0EXIFUrQdcgt6kR3cfzgHJ0hBsSBFCDdID0hfSD9IHWQIbj3IyipxgCP+5W83fyivvCLvePEM6/kb1J13LMKaIwqmNntazlLaOo1Nbm41fibWAK7SsaOe3uCv5DUyQcP6/jb0eCr0dLvRYMvRVdRExjWQptoK+2kPRTkxJnBDGrnmkF0Y8m4m/l6thevfJFcW3ANz0b8fxzMlPZFQaxo/5D1X7BuZf0s68aIXhzkkfYPghzR/gpb3k8E15hQY9VYXNbLwZ1PaAmd0mwN/ib+W09kwEmPgh5c8H4s6HsH388FPe+3+ZtY4q9ig1538H50PSR4RxZ0u7dCgndkwXuRoOMdvCPreAtPFPQ0z0OCfubVL5Brvzh3wJf/A805pgUAAAAAAQAAAADVpCcIAAAAANnzLyEAAAAA2gRC2w==') + format('woff'); + unicode-range: U+31-39, U+0031, U+002C; +} + +/* + +html .f14 { + font-size: var(--f14); +} +html .f15 { + font-size: var(--f15); +} +html .f16 { + font-size: var(--f16); +} +html .f18 { + font-size: var(--f18); +} +html .f20 { + font-size: var(--f20); +} + +html .f24 { + font-size: var(--f24); +} + +html .f38 { + font-weight: 500; + font-size: 3.8rem; +} + +html .f40 { + font-size: 3.8rem; + font-weight: 500; +} + +html .text-6 { + color: var(--text-6); +} + +html .text-7 { + color: var(--text-7); +} + +html .text-8 { + color: var(--text-8); +} + +html .text-9 { + color: var(--text-9); +} + +html .text-10 { + color: var(--text-10); +} + +html .fw4 { + font-weight: 400; +} +html .fw5 { + font-weight: 500; +} +html .fw6 { + font-weight: 600; +} +html .fw7 { + font-weight: 700; +} + +.c-lb { + color: var(--bg-20); +} +.bg-lb { + background-color: var(--bg-20); +} + +@media only screen and (max-width: 600px){ + html .mf16{ + font-size: var(--f16); + } + html .mf14{ + font-size: var(--f14); + } + html .mf12{ + font-size: var(--f12); + } +} +html .f12 { + font-size: var(--f12); +} */ diff --git a/src/styles/margin-padding.css b/src/styles/margin-padding.css new file mode 100644 index 0000000..6a3665e --- /dev/null +++ b/src/styles/margin-padding.css @@ -0,0 +1,1271 @@ + + +html pt1 { + padding-top: 0.1rem; +} +html .pr1 { + padding-right: 0.1rem; +} +html .pb1 { + padding-bottom: 0.1rem; +} +html .pl1 { + padding-left: 0.1rem; +} +html .pt2 { + padding-top: 0.2rem; +} +html .pr90{ + padding-right: 9rem; +} +html .pr2 { + padding-right: 0.2rem; +} +html .pb2 { + padding-bottom: 0.2rem; +} +html .pl2 { + padding-left: 0.2rem; +} +html .pt3 { + padding-top: 0.3rem; +} +html .pr3 { + padding-right: 0.3rem; +} +html .pb3 { + padding-bottom: 0.3rem; +} +html .pl3 { + padding-left: 0.3rem; +} +html .pt4 { + padding-top: 0.4rem; +} +html .pr4 { + padding-right: 0.4rem; +} +html .pb4 { + padding-bottom: 0.4rem; +} +html .pl4 { + padding-left: 0.4rem; +} +html .pt5 { + padding-top: 0.5rem; +} +html .pr5 { + padding-right: 0.5rem; +} +html .pb5 { + padding-bottom: 0.5rem; +} +html .pl5 { + padding-left: 0.5rem; +} +html .pt6 { + padding-top: 0.6rem; +} +html .pr6 { + padding-right: 0.6rem; +} +html .pb6 { + padding-bottom: 0.6rem; +} +html .pl6 { + padding-left: 0.6rem; +} +html .pt7 { + padding-top: 0.7rem; +} +html .pr7 { + padding-right: 0.7rem; +} +html .pb7 { + padding-bottom: 0.7rem; +} +html .pl7 { + padding-left: 0.7rem; +} +html .pt8 { + padding-top: 0.8rem; +} +html .pr8 { + padding-right: 0.8rem; +} +html .pb8 { + padding-bottom: 0.8rem; +} +html .pl8 { + padding-left: 0.8rem; +} +html .pt9 { + padding-top: 0.9rem; +} +html .pr9 { + padding-right: 0.9rem; +} +html .pb9 { + padding-bottom: 0.9rem; +} +html .pl9 { + padding-left: 0.9rem; +} +html .pt10 { + padding-top: 1rem; +} +html .pr10 { + padding-right: 1rem; +} +html .pb10 { + padding-bottom: 1rem; +} +html .pl10 { + padding-left: 1rem; +} +html .pt11 { + padding-top: 1.1rem; +} +html .pr11 { + padding-right: 1.1rem; +} +html .pb11 { + padding-bottom: 1.1rem; +} +html .pl11 { + padding-left: 1.1rem; +} +html .pt12 { + padding-top: 1.2rem; +} +html .pr12 { + padding-right: 1.2rem; +} +html .pb12 { + padding-bottom: 1.2rem; +} +html .pl12 { + padding-left: 1.2rem; +} +html .pt13 { + padding-top: 1.3rem; +} +html .pr13 { + padding-right: 1.3rem; +} +html .pb13 { + padding-bottom: 1.3rem; +} +html .pl13 { + padding-left: 1.3rem; +} +html .pt14 { + padding-top: 1.4rem; +} +html .pr14 { + padding-right: 1.4rem; +} +html .pb14 { + padding-bottom: 1.4rem; +} +html .pl14 { + padding-left: 1.4rem; +} +html .pt15 { + padding-top: 1.5rem; +} +html .pr15 { + padding-right: 1.5rem; +} +html .pb15 { + padding-bottom: 1.5rem; +} +html .pl15 { + padding-left: 1.5rem; +} +html .pt16 { + padding-top: 1.6rem; +} +html .pr16 { + padding-right: 1.6rem; +} +html .pb16 { + padding-bottom: 1.6rem; +} +html .pl16 { + padding-left: 1.6rem; +} +html .pt17 { + padding-top: 1.7rem; +} +html .pr17 { + padding-right: 1.7rem; +} +html .pb17 { + padding-bottom: 1.7rem; +} +html .pl17 { + padding-left: 1.7rem; +} +html .pt18 { + padding-top: 1.8rem; +} +html .pr18 { + padding-right: 1.8rem; +} +html .pb18 { + padding-bottom: 1.8rem; +} +html .pl18 { + padding-left: 1.8rem; +} +html .pt19 { + padding-top: 1.9rem; +} +html .pr19 { + padding-right: 1.9rem; +} +html .pb19 { + padding-bottom: 1.9rem; +} +html .pl19 { + padding-left: 1.9rem; +} +html .pt20 { + padding-top: 2rem; +} +html .pr20 { + padding-right: 2rem; +} +html .pb20 { + padding-bottom: 2rem; +} +html .pl20 { + padding-left: 2rem; +} +html .pt21 { + padding-top: 2.1rem; +} +html .pr21 { + padding-right: 2.1rem; +} +html .pb21 { + padding-bottom: 2.1rem; +} +html .pl21 { + padding-left: 2.1rem; +} +html .pt22 { + padding-top: 2.2rem; +} +html .pr22 { + padding-right: 2.2rem; +} +html .pb22 { + padding-bottom: 2.2rem; +} +html .pl22 { + padding-left: 2.2rem; +} +html .pt23 { + padding-top: 2.3rem; +} +html .pr23 { + padding-right: 2.3rem; +} +html .pb23 { + padding-bottom: 2.3rem; +} +html .pl23 { + padding-left: 2.3rem; +} +html .pt24 { + padding-top: 2.4rem; +} +html .pr24 { + padding-right: 2.4rem; +} +html .pb24 { + padding-bottom: 2.4rem; +} +html .pl24 { + padding-left: 2.4rem; +} +html .pt25 { + padding-top: 2.5rem; +} +html .pr25 { + padding-right: 2.5rem; +} +html .pb25 { + padding-bottom: 2.5rem; +} +html .pl25 { + padding-left: 2.5rem; +} +html .pt26 { + padding-top: 2.6rem; +} +html .pr26 { + padding-right: 2.6rem; +} +html .pb26 { + padding-bottom: 2.6rem; +} +html .pl26 { + padding-left: 2.6rem; +} +html .pt27 { + padding-top: 2.7rem; +} +html .pr27 { + padding-right: 2.7rem; +} +html .pb27 { + padding-bottom: 2.7rem; +} +html .pl27 { + padding-left: 2.7rem; +} +html .pt28 { + padding-top: 2.8rem; +} +html .pr28 { + padding-right: 2.8rem; +} +html .pb28 { + padding-bottom: 2.8rem; +} +html .pl28 { + padding-left: 2.8rem; +} +html .pt29 { + padding-top: 2.9rem; +} +html .pr29 { + padding-right: 2.9rem; +} +html .pb29 { + padding-bottom: 2.9rem; +} +html .pl29 { + padding-left: 2.9rem; +} +html .pt30 { + padding-top: 3rem; +} +html .pr30 { + padding-right: 3rem; +} +html .pb30 { + padding-bottom: 3rem; +} +html .pl30 { + padding-left: 3rem; +} +html .pt31 { + padding-top: 3.1rem; +} +html .pr31 { + padding-right: 3.1rem; +} +html .pb31 { + padding-bottom: 3.1rem; +} +html .pl31 { + padding-left: 3.1rem; +} +html .pt32 { + padding-top: 3.2rem; +} +html .pr32 { + padding-right: 3.2rem; +} +html .pb32 { + padding-bottom: 3.2rem; +} +html .pl32 { + padding-left: 3.2rem; +} +html .pt33 { + padding-top: 3.3rem; +} +html .pr33 { + padding-right: 3.3rem; +} +html .pb33 { + padding-bottom: 3.3rem; +} +html .pl33 { + padding-left: 3.3rem; +} +html .pt34 { + padding-top: 3.4rem; +} +html .pr34 { + padding-right: 3.4rem; +} +html .pb34 { + padding-bottom: 3.4rem; +} +html .pl34 { + padding-left: 3.4rem; +} +html .pt35 { + padding-top: 3.5rem; +} +html .pr35 { + padding-right: 3.5rem; +} +html .pb35 { + padding-bottom: 3.5rem; +} +html .pl35 { + padding-left: 3.5rem; +} +html .pt36 { + padding-top: 3.6rem; +} +html .pr36 { + padding-right: 3.6rem; +} +html .pb36 { + padding-bottom: 3.6rem; +} +html .pl36 { + padding-left: 3.6rem; +} +html .pt37 { + padding-top: 3.7rem; +} +html .pr37 { + padding-right: 3.7rem; +} +html .pb37 { + padding-bottom: 3.7rem; +} +html .pl37 { + padding-left: 3.7rem; +} +html .pt38 { + padding-top: 3.8rem; +} +html .pr38 { + padding-right: 3.8rem; +} +html .pb38 { + padding-bottom: 3.8rem; +} +html .pl38 { + padding-left: 3.8rem; +} +html .pt39 { + padding-top: 3.9rem; +} +html .pr39 { + padding-right: 3.9rem; +} +html .pb39 { + padding-bottom: 3.9rem; +} +html .pl39 { + padding-left: 3.9rem; +} +html .pt40 { + padding-top: 4rem; +} +html .pr40 { + padding-right: 4rem; +} +html .pb40 { + padding-bottom: 4rem; +} +html .pl40 { + padding-left: 4rem; +} +html .pt41 { + padding-top: 4.1rem; +} +html .pr41 { + padding-right: 4.1rem; +} +html .pb41 { + padding-bottom: 4.1rem; +} +html .pl41 { + padding-left: 4.1rem; +} +html .pt42 { + padding-top: 4.2rem; +} +html .pr42 { + padding-right: 4.2rem; +} +html .pb42 { + padding-bottom: 4.2rem; +} +html .pl42 { + padding-left: 4.2rem; +} +html .pt43 { + padding-top: 4.3rem; +} +html .pr43 { + padding-right: 4.3rem; +} +html .pb43 { + padding-bottom: 4.3rem; +} +html .pl43 { + padding-left: 4.3rem; +} +html .pt44 { + padding-top: 4.4rem; +} +html .pr44 { + padding-right: 4.4rem; +} +html .pb44 { + padding-bottom: 4.4rem; +} +html .pl44 { + padding-left: 4.4rem; +} +html .pt45 { + padding-top: 4.5rem; +} +html .pr45 { + padding-right: 4.5rem; +} +html .pb45 { + padding-bottom: 4.5rem; +} +html .pl45 { + padding-left: 4.5rem; +} +html .pt46 { + padding-top: 4.6rem; +} +html .pr46 { + padding-right: 4.6rem; +} +html .pb46 { + padding-bottom: 4.6rem; +} +html .pl46 { + padding-left: 4.6rem; +} +html .pt47 { + padding-top: 4.7rem; +} +html .pr47 { + padding-right: 4.7rem; +} +html .pb47 { + padding-bottom: 4.7rem; +} +html .pl47 { + padding-left: 4.7rem; +} +html .pt48 { + padding-top: 4.8rem; +} +html .pr48 { + padding-right: 4.8rem; +} +html .pb48 { + padding-bottom: 4.8rem; +} +html .pl48 { + padding-left: 4.8rem; +} +html .pt49 { + padding-top: 4.9rem; +} +html .pr49 { + padding-right: 4.9rem; +} +html .pb49 { + padding-bottom: 4.9rem; +} +html .pl49 { + padding-left: 4.9rem; +} +html .pt50 { + padding-top: 5rem; +} +html .pr50 { + padding-right: 5rem; +} +html .pb50 { + padding-bottom: 5rem; +} +html .pl50 { + padding-left: 5rem; +} +html .mt0 { + margin-top:0 +} +html .mb0 { + margin-bottom:0 +} +html .mt1 { + margin-top: 0.1rem; +} +html .mr1 { + margin-right: 0.1rem; +} +html .mb1 { + margin-bottom: 0.1rem; +} +html .ml1 { + margin-left: 0.1rem; +} +html .mt2 { + margin-top: 0.2rem; +} +html .mr2 { + margin-right: 0.2rem; +} +html .mb2 { + margin-bottom: 0.2rem; +} +html .ml2 { + margin-left: 0.2rem; +} +html .mt3 { + margin-top: 0.3rem; +} +html .mr3 { + margin-right: 0.3rem; +} +html .mb3 { + margin-bottom: 0.3rem; +} +html .ml3 { + margin-left: 0.3rem; +} +html .mt4 { + margin-top: 0.4rem; +} +html .mr4 { + margin-right: 0.4rem; +} +html .mb4 { + margin-bottom: 0.4rem; +} +html .ml4 { + margin-left: 0.4rem; +} +html .mt5 { + margin-top: 0.5rem; +} +html .mr5 { + margin-right: 0.5rem; +} +html .mb5 { + margin-bottom: 0.5rem; +} +html .ml5 { + margin-left: 0.5rem; +} +html .mt6 { + margin-top: 0.6rem; +} +html .mr6 { + margin-right: 0.6rem; +} +html .mb6 { + margin-bottom: 0.6rem; +} +html .ml6 { + margin-left: 0.6rem; +} +html .mt7 { + margin-top: 0.7rem; +} +html .mr7 { + margin-right: 0.7rem; +} +html .mb7 { + margin-bottom: 0.7rem; +} +html .ml7 { + margin-left: 0.7rem; +} +html .mt8 { + margin-top: 0.8rem; +} +html .mr8 { + margin-right: 0.8rem; +} +html .mb8 { + margin-bottom: 0.8rem; +} +html .ml8 { + margin-left: 0.8rem; +} +html .mt9 { + margin-top: 0.9rem; +} +html .mr9 { + margin-right: 0.9rem; +} +html .mb9 { + margin-bottom: 0.9rem; +} +html .ml9 { + margin-left: 0.9rem; +} +html .mt10 { + margin-top: 1rem; +} +html .mr10 { + margin-right: 1rem; +} +html .mb10 { + margin-bottom: 1rem; +} +html .ml10 { + margin-left: 1rem; +} +html .mt11 { + margin-top: 1.1rem; +} +html .mr11 { + margin-right: 1.1rem; +} +html .mb11 { + margin-bottom: 1.1rem; +} +html .ml11 { + margin-left: 1.1rem; +} +html .mt12 { + margin-top: 1.2rem; +} +html .mr12 { + margin-right: 1.2rem; +} +html .mb12 { + margin-bottom: 1.2rem; +} +html .ml12 { + margin-left: 1.2rem; +} +html .mt13 { + margin-top: 1.3rem; +} +html .mr13 { + margin-right: 1.3rem; +} +html .mb13 { + margin-bottom: 1.3rem; +} +html .ml13 { + margin-left: 1.3rem; +} +html .mt14 { + margin-top: 1.4rem; +} +html .mr14 { + margin-right: 1.4rem; +} +html .mb14 { + margin-bottom: 1.4rem; +} +html .ml14 { + margin-left: 1.4rem; +} +html .mt15 { + margin-top: 1.5rem; +} +html .mr15 { + margin-right: 1.5rem; +} +html .mb15 { + margin-bottom: 1.5rem; +} +html .ml15 { + margin-left: 1.5rem; +} +html .mt16 { + margin-top: 1.6rem; +} +html .mr16 { + margin-right: 1.6rem; +} +html .mb16 { + margin-bottom: 1.6rem; +} +html .ml16 { + margin-left: 1.6rem; +} +html .mt17 { + margin-top: 1.7rem; +} +html .mr17 { + margin-right: 1.7rem; +} +html .mb17 { + margin-bottom: 1.7rem; +} +html .ml17 { + margin-left: 1.7rem; +} +html .mt18 { + margin-top: 1.8rem; +} +html .mr18 { + margin-right: 1.8rem; +} +html .mb18 { + margin-bottom: 1.8rem; +} +html .ml18 { + margin-left: 1.8rem; +} +html .mt19 { + margin-top: 1.9rem; +} +html .mr19 { + margin-right: 1.9rem; +} +html .mb19 { + margin-bottom: 1.9rem; +} +html .ml19 { + margin-left: 1.9rem; +} +html .mt20 { + margin-top: 2rem; +} +html .mr20 { + margin-right: 2rem; +} +html .mb20 { + margin-bottom: 2rem; +} +html .ml20 { + margin-left: 2rem; +} +html .mt21 { + margin-top: 2.1rem; +} +html .mr21 { + margin-right: 2.1rem; +} +html .mb21 { + margin-bottom: 2.1rem; +} +html .ml21 { + margin-left: 2.1rem; +} +html .mt22 { + margin-top: 2.2rem; +} +html .mr22 { + margin-right: 2.2rem; +} +html .mb22 { + margin-bottom: 2.2rem; +} +html .ml22 { + margin-left: 2.2rem; +} +html .mt23 { + margin-top: 2.3rem; +} +html .mr23 { + margin-right: 2.3rem; +} +html .mb23 { + margin-bottom: 2.3rem; +} +html .ml23 { + margin-left: 2.3rem; +} +html .mt24 { + margin-top: 2.4rem; +} +html .mr24 { + margin-right: 2.4rem; +} +html .mb24 { + margin-bottom: 2.4rem; +} +html .ml24 { + margin-left: 2.4rem; +} +html .mt25 { + margin-top: 2.5rem; +} +html .mr25 { + margin-right: 2.5rem; +} +html .mb25 { + margin-bottom: 2.5rem; +} +html .ml25 { + margin-left: 2.5rem; +} +html .mt26 { + margin-top: 2.6rem; +} +html .mr26 { + margin-right: 2.6rem; +} +html .mb26 { + margin-bottom: 2.6rem; +} +html .ml26 { + margin-left: 2.6rem; +} +html .mt27 { + margin-top: 2.7rem; +} +html .mr27 { + margin-right: 2.7rem; +} +html .mb27 { + margin-bottom: 2.7rem; +} +html .ml27 { + margin-left: 2.7rem; +} +html .mt28 { + margin-top: 2.8rem; +} +html .mr28 { + margin-right: 2.8rem; +} +html .mb28 { + margin-bottom: 2.8rem; +} +html .ml28 { + margin-left: 2.8rem; +} +html .mt29 { + margin-top: 2.9rem; +} +html .mr29 { + margin-right: 2.9rem; +} +html .mb29 { + margin-bottom: 2.9rem; +} +html .ml29 { + margin-left: 2.9rem; +} +html .mt30 { + margin-top: 3rem; +} +html .mr30 { + margin-right: 3rem; +} +html .mb30 { + margin-bottom: 3rem; +} +html .ml30 { + margin-left: 3rem; +} +html .mt31 { + margin-top: 3.1rem; +} +html .mr31 { + margin-right: 3.1rem; +} +html .mb31 { + margin-bottom: 3.1rem; +} +html .ml31 { + margin-left: 3.1rem; +} +html .mt32 { + margin-top: 3.2rem; +} +html .mr32 { + margin-right: 3.2rem; +} +html .mb32 { + margin-bottom: 3.2rem; +} +html .ml32 { + margin-left: 3.2rem; +} +html .mt33 { + margin-top: 3.3rem; +} +html .mr33 { + margin-right: 3.3rem; +} +html .mb33 { + margin-bottom: 3.3rem; +} +html .ml33 { + margin-left: 3.3rem; +} +html .mt34 { + margin-top: 3.4rem; +} +html .mr34 { + margin-right: 3.4rem; +} +html .mb34 { + margin-bottom: 3.4rem; +} +html .ml34 { + margin-left: 3.4rem; +} +html .mt35 { + margin-top: 3.5rem; +} +html .mr35 { + margin-right: 3.5rem; +} +html .mb35 { + margin-bottom: 3.5rem; +} +html .ml35 { + margin-left: 3.5rem; +} +html .mt36 { + margin-top: 3.6rem; +} +html .mr36 { + margin-right: 3.6rem; +} +html .mb36 { + margin-bottom: 3.6rem; +} +html .ml36 { + margin-left: 3.6rem; +} +html .mt37 { + margin-top: 3.7rem; +} +html .mr37 { + margin-right: 3.7rem; +} +html .mb37 { + margin-bottom: 3.7rem; +} +html .ml37 { + margin-left: 3.7rem; +} +html .mt38 { + margin-top: 3.8rem; +} +html .mr38 { + margin-right: 3.8rem; +} +html .mb38 { + margin-bottom: 3.8rem; +} +html .ml38 { + margin-left: 3.8rem; +} +html .mt39 { + margin-top: 3.9rem; +} +html .mr39 { + margin-right: 3.9rem; +} +html .mb39 { + margin-bottom: 3.9rem; +} +html .ml39 { + margin-left: 3.9rem; +} +html .mt40 { + margin-top: 4rem; +} +html .mr40 { + margin-right: 4rem; +} +html .mb40 { + margin-bottom: 4rem; +} +html .ml40 { + margin-left: 4rem; +} +html .mt41 { + margin-top: 4.1rem; +} +html .mr41 { + margin-right: 4.1rem; +} +html .mb41 { + margin-bottom: 4.1rem; +} +html .ml41 { + margin-left: 4.1rem; +} +html .mt42 { + margin-top: 4.2rem; +} +html .mr42 { + margin-right: 4.2rem; +} +html .mb42 { + margin-bottom: 4.2rem; +} +html .ml42 { + margin-left: 4.2rem; +} +html .mt43 { + margin-top: 4.3rem; +} +html .mr43 { + margin-right: 4.3rem; +} +html .mb43 { + margin-bottom: 4.3rem; +} +html .ml43 { + margin-left: 4.3rem; +} +html .mt44 { + margin-top: 4.4rem; +} +html .mr44 { + margin-right: 4.4rem; +} +html .mb44 { + margin-bottom: 4.4rem; +} +html .ml44 { + margin-left: 4.4rem; +} +html .mt45 { + margin-top: 4.5rem; +} +html .mr45 { + margin-right: 4.5rem; +} +html .mb45 { + margin-bottom: 4.5rem; +} +html .ml45 { + margin-left: 4.5rem; +} +html .mt46 { + margin-top: 4.6rem; +} +html .mr46 { + margin-right: 4.6rem; +} +html .mb46 { + margin-bottom: 4.6rem; +} +html .ml46 { + margin-left: 4.6rem; +} +html .mt47 { + margin-top: 4.7rem; +} +html .mr47 { + margin-right: 4.7rem; +} +html .mb47 { + margin-bottom: 4.7rem; +} +html .ml47 { + margin-left: 4.7rem; +} +html .mt48 { + margin-top: 4.8rem; +} +html .mr48 { + margin-right: 4.8rem; +} +html .mb48 { + margin-bottom: 4.8rem; +} +html .ml48 { + margin-left: 4.8rem; +} +html .mt49 { + margin-top: 4.9rem; +} +html .mr49 { + margin-right: 4.9rem; +} +html .mb49 { + margin-bottom: 4.9rem; +} +html .ml49 { + margin-left: 4.9rem; +} +html .mt50 { + margin-top: 5rem; +} +html .mr50 { + margin-right: 5rem; +} +html .mb50 { + margin-bottom: 5rem; +} +html .ml50 { + margin-left: 5rem; +} +html .ml60 { + margin-left: 6rem; +} +html .ml70 { + margin-left: 7rem; +} +html .mr60{ + margin-right: 6rem; +} +html .mtn1 { + margin-top: -0.1rem; +} +html .mbn1 { + margin-bottom: -0.1rem; +} +html .mtn2 { + margin-top: -0.2rem; +} +html .mbn2 { + margin-bottom: -0.2rem; +} +html .mtn3 { + margin-top: -0.3rem; +} +html .mbn3 { + margin-bottom: -0.3rem; +} +html .mtn4 { + margin-top: -0.4rem; +} +html .mbn4 { + margin-bottom: -0.4rem; +} +html .mtn5 { + margin-top: -0.5rem; +} +html .mbn5 { + margin-bottom: -0.5rem; +} +html .mtn6 { + margin-top: -0.6rem; +} +html .mbn6 { + margin-bottom: -0.6rem; +} +html .mtn7 { + margin-top: -0.7rem; +} +html .mbn7 { + margin-bottom: -0.7rem; +} + +@media only screen and ( max-width: 600px){ + html .mmt15{ + margin-top: 1.5rem; + } + html .mmt5{ + margin-top: 0.5rem; + } +} diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tailwind.config.cjs b/tailwind.config.cjs new file mode 100644 index 0000000..358128b --- /dev/null +++ b/tailwind.config.cjs @@ -0,0 +1,129 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + plugins: [], + theme: { + screens: { + sm: { max: "600px" }, + tb: { max: "900px", min: "600px" }, + tab: { max: "800px" }, + a900: { + min: "900px" + }, + b900: { + max: "900px" + }, + b1000: { + max: "1000px" + }, + a800: { + min: "800px" + }, + a1000: { + min: "1000px" + }, + b800: { + max: "800px" + }, + tabDispay: { max: "1200px", min: "800px" }, + web: { min: "800px" }, + nsm: { min: "600px" }, + max800: { max: "800px" }, + min800: { min: "800px" }, + tb: { max: "800px", min: "600px" }, + tab: { max: "800px" }, + web: { min: "1200px" }, + nsm: { min: "600px" }, + min800: { min: "800px" }, + max800: { max: "800px" }, + min1000: { min: "1000px" }, + max1000: { max: "1000px" }, + b1200: { + max: "1200px", + }, + a1200: { + min: "1200px", + }, + shareModal: { max: "425px" }, + }, + colors: { + 1: "#ffffff", + 2: "#808191", + 3: "#C3C2D4", + 4: "#6f6e84", + 5: "F7F7F7", + "blue-1": "#5973fe", + "blue-2": "#0788e6", + "light-blue": "#99D5EF", + "buffer-blue": "#A3E3FF", + green: "#3fb68b", + red: "#ff5353", + grey: "#353945", + "light-border": "#2A2A3A", + transparent: "transparent", + }, + backgroundColor: { + primary: "#1c1c28", + "cross-bg": "#303044", + 1: "#232334", + 2: "#171722", + 3: "#12121a", + 4: "#1D2027", + 5: "#1C1C28", + green: "#3fb68b", + red: "#ff5353", + blue: "#3772ff", + transparent: "transparent", + }, + extend: { + spacing: { + 1: "2px", + 2: "4px", + 3: "8px", + 4: "12px", + 5: "16px", + 6: "24px", + 7: "32px", + 8: "48px", + }, + }, + borderColor: { + 1: "#2a2a3a", + }, + fontSize: { + f10: "10px", + f11: "11px", + f12: "12px", + f13: "13px", + f14: "14px", + f15: "15px", + f16: "16px", + f20: "20px", + f18: "18px", + f22: "22px", + }, + spacing: { + 1: "2px", + 2: "4px", + 3: "8px", + 4: "12px", + 5: "16px", + 6: "24px", + 7: "32px", + 8: "48px", + }, + borderRadius: { + none: "0", + sm: "4px", + DEFAULT: "0.25rem", + DEFAULT: "4px", + md: "8px", + lg: "12px", + full: "9999px", + large: "16px", + }, + }, +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..842ff88 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,37 @@ +{ + "compilerOptions": { + "paths": { + "@Views/*": ["./src/Views/*"], + "@Common/*": ["@Views/Common*"], + "@Hooks/*": ["./src/Hooks/*"], + "@SVG/*": ["./src/SVG/*"], + "@Contexts/*": ["./src/contexts/*"], + "@Utils/*": ["./src/Utils/*"], + "@Assets/*": ["./src/assets/*"], + "@ABIs/*": ["./src/ABIs/*"], + "@Config/*": ["./Config/*"], + "@TV/*": ["./src/TradingView/*"], + "@Public/*": ["./public/*"] + }, + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "baseUrl": "." + }, + "include": ["src"], + "exclude": ["node_modules"], + + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..9d31e2a --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..7161fc6 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,19 @@ +import { defineConfig,loadEnv } from 'vite' +import react from '@vitejs/plugin-react' +import viteTsconfigPaths from 'vite-tsconfig-paths'; + + +// https://vitejs.dev/config/ +export default defineConfig(({ command, mode }) => { + // Load env file based on `mode` in the current working directory. + // Set the third parameter to '' to load all env regardless of the `VITE_` prefix. + const env = loadEnv(mode, process.cwd(), '') + return { + // vite config + plugins: [react(),viteTsconfigPaths()], + + define: { + __APP_ENV__: env.APP_ENV + } + } +}) diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..2333823 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,18397 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" + integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== + +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.19.6", "@babel/core@^7.7.5": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" + integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.12" + "@babel/types" "^7.20.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/generator@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" + integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== + dependencies: + "@babel/types" "^7.20.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.16.0", "@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz#4349b928e79be05ed2d1643b20b99bb87c503819" + integrity sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/helper-split-export-declaration" "^7.18.6" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca" + integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.2.1" + +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-member-expression-to-functions@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" + integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== + dependencies: + "@babel/types" "^7.20.7" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" + +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-remap-async-to-generator@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== + dependencies: + "@babel/types" "^7.20.0" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.15.7", "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helper-wrap-function@^7.18.9": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== + dependencies: + "@babel/helper-function-name" "^7.19.0" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + +"@babel/helpers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" + integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.14.7", "@babel/parser@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.7" + +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7" + integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.16.0", "@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55" + integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135" + integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-block-scoping@^7.20.2": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a" + integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-classes@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" + integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" + +"@babel/plugin-transform-destructuring@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" + integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-for-of@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== + dependencies: + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-modules-amd@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== + dependencies: + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-modules-commonjs@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" + integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== + dependencies: + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" + +"@babel/plugin-transform-modules-systemjs@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== + dependencies: + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-identifier" "^7.19.1" + +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" + integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-new-target@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-object-super@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" + integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-display-name@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" + integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-development@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" + integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.18.6" + +"@babel/plugin-transform-react-jsx-self@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" + integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86" + integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.19.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz#025d85a1935fd7e19dfdcb1b1d4df34d4da484f7" + integrity sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-jsx" "^7.18.6" + "@babel/types" "^7.20.7" + +"@babel/plugin-transform-react-pure-annotations@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" + integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" + integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + regenerator-transform "^0.15.1" + +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-runtime@^7.16.0", "@babel/plugin-transform-runtime@^7.5.5": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz#9d2a9dbf4e12644d6f46e5e75bfbf02b5d6e9194" + integrity sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-spread@^7.19.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" + integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/preset-env@^7.16.0": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== + dependencies: + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.20.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.20.2" + "@babel/plugin-transform-classes" "^7.20.2" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.20.2" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" + integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-react-display-name" "^7.18.6" + "@babel/plugin-transform-react-jsx" "^7.18.6" + "@babel/plugin-transform-react-jsx-development" "^7.18.6" + "@babel/plugin-transform-react-pure-annotations" "^7.18.6" + +"@babel/runtime-corejs3@^7.10.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz#a1e5ea3d758ba6beb715210142912e3f29981d84" + integrity sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg== + dependencies: + core-js-pure "^3.25.1" + regenerator-runtime "^0.13.11" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.6", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.0", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@^7.18.10", "@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.4.5": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5" + integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.4.4": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@binance-chain/bsc-connector@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@binance-chain/bsc-connector/-/bsc-connector-1.0.0.tgz#5ce6b02af0921c5fb52c10861b7a0b4a958ca57a" + integrity sha512-Id/P/Zs8Cgg+fJv3XN3BVWZB3Pj+VA00flhpkB6K+vUzjMihS+sZFrMYDnjiRfrJgi0ppEMqRsMlOli9+qwxaA== + dependencies: + "@web3-react/abstract-connector" "^6.0.7" + "@web3-react/types" "^6.0.7" + tiny-warning "^1.0.3" + +"@bundlr-network/client@^0.8.8": + version "0.8.9" + resolved "https://registry.yarnpkg.com/@bundlr-network/client/-/client-0.8.9.tgz#58e969a5d80f8d25d212d46bb7a060730a3c1736" + integrity sha512-SJ7BAt/KhONeFQ0+nbqrw2DUWrsev6y6cmlXt+3x7fPCkw7OJwudtxV/h2nBteZd65NXjqw8yzkmLiLfZ7CCRA== + dependencies: + "@solana/wallet-adapter-base" "^0.9.2" + "@solana/web3.js" "^1.36.0" + "@supercharge/promise-pool" "^2.1.0" + algosdk "^1.13.1" + arbundles "^0.6.21" + arweave "^1.11.4" + async-retry "^1.3.3" + axios "^0.25.0" + base64url "^3.0.1" + bignumber.js "^9.0.1" + bs58 "^4.0.1" + commander "^8.2.0" + csv "^6.0.5" + ethers "^5.5.1" + inquirer "^8.2.0" + js-sha256 "^0.9.0" + mime-types "^2.1.34" + near-api-js "^0.44.2" + near-seed-phrase "^0.2.0" + +"@chainlink/contracts-0.0.10@npm:@chainlink/contracts@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@chainlink/contracts/-/contracts-0.0.10.tgz#9eca8ff76e82e62b8ceeda9b2f69395cdb4dae56" + integrity sha512-ok+ucSQ+3mrR+zjbi6zIrdd5M9XymcqVcnXGVyqBVRYZp97jS2/rt/glP320JmHxmi4pacgDOg0Ux11xIr1S8Q== + optionalDependencies: + "@truffle/contract" "^4.2.6" + ethers "^4.0.45" + +"@ckb-lumos/base@0.18.0-rc6": + version "0.18.0-rc6" + resolved "https://registry.yarnpkg.com/@ckb-lumos/base/-/base-0.18.0-rc6.tgz#47fba5c619359e0715b191d806608f22bf96d52d" + integrity sha512-c/bgMljQaLYtB1HXioEDQUOKt+XyHnm7aB5JSaJm5GQHZsmgstf1H+XfOT6GWH2GyvC2FgltQxXt03DI5Er4vg== + dependencies: + "@ckb-lumos/bi" "0.18.0-rc6" + "@ckb-lumos/toolkit" "0.18.0-rc6" + "@types/lodash.isequal" "^4.5.5" + blake2b "^2.1.3" + js-xxhash "^1.0.4" + lodash.isequal "^4.5.0" + +"@ckb-lumos/bi@0.18.0-rc6": + version "0.18.0-rc6" + resolved "https://registry.yarnpkg.com/@ckb-lumos/bi/-/bi-0.18.0-rc6.tgz#9c9754ebe7bd95ebcf907f5cac9e4619273d6056" + integrity sha512-5qWS+7ssrV6CqM0qMuSILbqUto93VDJNBdr6yA2Q1y+3/WCXmP8LkZ7aczCHaNH4Vpv9VpQjCtps8LXaZIBqug== + dependencies: + jsbi "^4.1.0" + +"@ckb-lumos/toolkit@0.18.0-rc6": + version "0.18.0-rc6" + resolved "https://registry.yarnpkg.com/@ckb-lumos/toolkit/-/toolkit-0.18.0-rc6.tgz#e11849aab895bd152b953ce0cd25101970111d06" + integrity sha512-s4VweBERcelCupeaAZlspaAXJFZH9BGlLkPbYUDbVuNz7Fmss39FqKQOJohS9rBqLkeINxO4BmuSjdCaqnuDfg== + +"@coinbase/wallet-sdk@^3.0.8", "@coinbase/wallet-sdk@^3.5.4", "@coinbase/wallet-sdk@^3.6.0": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.6.3.tgz#fd96f6f19d5a0090520c1b014ad4737bbc8e1267" + integrity sha512-XUR4poOJE+dKzwBTdlM693CdLFitr046oZOVY3iDnbFcRrrQswhbDji7q4CmUcD4HxbfViX7PFoIwl79YQcukg== + dependencies: + "@metamask/safe-event-emitter" "2.0.0" + "@solana/web3.js" "^1.70.1" + bind-decorator "^1.0.11" + bn.js "^5.1.1" + buffer "^6.0.3" + clsx "^1.1.0" + eth-block-tracker "4.4.3" + eth-json-rpc-filters "4.2.2" + eth-rpc-errors "4.0.2" + json-rpc-engine "6.1.0" + keccak "^3.0.1" + preact "^10.5.9" + qs "^6.10.3" + rxjs "^6.6.3" + sha.js "^2.4.11" + stream-browserify "^3.0.0" + util "^0.12.4" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@cush/relative@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@cush/relative/-/relative-1.0.0.tgz#8cd1769bf9bde3bb27dac356b1bc94af40f6cc16" + integrity sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA== + +"@cypress/browserify-preprocessor@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@cypress/browserify-preprocessor/-/browserify-preprocessor-3.0.2.tgz#1dbecae394937aed47a3524cad47086c2ded8c50" + integrity sha512-y6mlFR+IR2cqcm3HabSp7AEcX9QfF1EUL4eOaw/7xexdhmdQU8ez6piyRopZQob4BK8oKTsc9PkupsU2rzjqMA== + dependencies: + "@babel/core" "^7.16.0" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-object-rest-spread" "^7.16.0" + "@babel/plugin-transform-runtime" "^7.16.0" + "@babel/preset-env" "^7.16.0" + "@babel/preset-react" "^7.16.0" + "@babel/runtime" "^7.16.0" + babel-plugin-add-module-exports "^1.0.4" + babelify "^10.0.0" + bluebird "^3.7.2" + browserify "^16.2.3" + coffeeify "^3.0.1" + coffeescript "^1.12.7" + debug "^4.3.2" + fs-extra "^9.0.0" + lodash.clonedeep "^4.5.0" + through2 "^2.0.0" + watchify "^4.0.0" + +"@cypress/code-coverage@3.9.12": + version "3.9.12" + resolved "https://registry.yarnpkg.com/@cypress/code-coverage/-/code-coverage-3.9.12.tgz#f1eab362a71734f997dfb870342cecff20dae23d" + integrity sha512-2QuDSQ2ovz2ZsbQImM917q+9JmEq4afC4kpgHe2o3rTQxUrs7CdHM84rT8XKl0gJIXmbMcNq2rZqe40/eFmCFw== + dependencies: + "@cypress/browserify-preprocessor" "3.0.2" + chalk "4.1.2" + dayjs "1.10.7" + debug "4.3.3" + execa "4.1.0" + globby "11.0.4" + istanbul-lib-coverage "3.0.0" + js-yaml "3.14.1" + nyc "15.1.0" + +"@cypress/mount-utils@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@cypress/mount-utils/-/mount-utils-1.0.2.tgz#afbc4f8c350b7cd86edc5ad0db0cbe1e0181edc8" + integrity sha512-Fn3fdTiyayHoy8Ol0RSu4MlBH2maQ2ZEXeEVKl/zHHXEQpld5HX3vdNLhK5YLij8cLynA4DxOT/nO9iEnIiOXw== + +"@cypress/react@5.12.4": + version "5.12.4" + resolved "https://registry.yarnpkg.com/@cypress/react/-/react-5.12.4.tgz#c40e2ec7da065b7c5f53df029f9ff5a131c9a8f2" + integrity sha512-d44InxWKmwQKyCMQT/3n1UplYa39yKEQTPlb2HhXF6ickqtmhxw7kePv00yrJpBc9gy2jUkNUOfCbtt2uz1kUw== + dependencies: + "@cypress/mount-utils" "1.0.2" + debug "^4.3.2" + find-webpack "2.2.1" + find-yarn-workspace-root "2.0.0" + +"@cypress/request@^2.88.10": + version "2.88.11" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.11.tgz#5a4c7399bc2d7e7ed56e92ce5acb620c8b187047" + integrity sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "~6.10.3" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/webpack-dev-server@1.8.4": + version "1.8.4" + resolved "https://registry.yarnpkg.com/@cypress/webpack-dev-server/-/webpack-dev-server-1.8.4.tgz#00c1d7510dccfcaef6ec69f70342d011bbdefc19" + integrity sha512-kDg57ozD4vzIwHa0FhT44IoMKqsgFy7WV5SbBjWLBPdoOhuCdf22gy8VukaxwYqh+MFKxqVJ7hqVLErmMgpAYA== + dependencies: + debug "^4.3.2" + lodash "^4.17.21" + semver "^7.3.4" + webpack-merge "^5.4.0" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + +"@drptbl/gremlins.js@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@drptbl/gremlins.js/-/gremlins.js-2.2.1.tgz#1a0449af74afa1cf74238a36de611d4c9ce93b27" + integrity sha512-VWsdOZTsu8ABNVplFQUniHSLsCAQIJh+HDTUP6CllxXBe2pgFQKQ6RGxAS/QRTUcPprQCGpB3zH+gqNnvRRTmQ== + dependencies: + chance "^1.1.4" + core-js "^3.6.4" + +"@emotion/babel-plugin@^11.10.5": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz#65fa6e1790ddc9e23cc22658a4c5dea423c55c3c" + integrity sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/plugin-syntax-jsx" "^7.17.12" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/serialize" "^1.1.1" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.1.3" + +"@emotion/cache@^11.10.5": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.5.tgz#c142da9351f94e47527ed458f7bbbbe40bb13c12" + integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA== + dependencies: + "@emotion/memoize" "^0.8.0" + "@emotion/sheet" "^1.2.1" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + stylis "4.1.3" + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + +"@emotion/hash@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" + integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== + +"@emotion/is-prop-valid@^1.1.0", "@emotion/is-prop-valid@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz#7f2d35c97891669f7e276eb71c83376a5dc44c83" + integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== + dependencies: + "@emotion/memoize" "^0.8.0" + +"@emotion/memoize@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" + integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== + +"@emotion/react@^11.10.0", "@emotion/react@^11.7.1": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.5.tgz#95fff612a5de1efa9c0d535384d3cfa115fe175d" + integrity sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.5" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.1.tgz#0595701b1902feded8a96d293b26be3f5c1a5cf0" + integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== + dependencies: + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/unitless" "^0.8.0" + "@emotion/utils" "^1.2.0" + csstype "^3.0.2" + +"@emotion/sheet@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.1.tgz#0767e0305230e894897cadb6c8df2c51e61a6c2c" + integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== + +"@emotion/styled@^11.10.0", "@emotion/styled@^11.6.0": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.5.tgz#1fe7bf941b0909802cb826457e362444e7e96a79" + integrity sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.5" + "@emotion/is-prop-valid" "^1.2.0" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + +"@emotion/stylis@^0.8.4": + version "0.8.5" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" + integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== + +"@emotion/unitless@^0.7.4": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== + +"@emotion/unitless@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db" + integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz#ffadaec35dbb7885bd54de3fa267ab2f860294df" + integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== + +"@emotion/utils@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" + integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== + +"@emotion/weak-memoize@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" + integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== + +"@ensdomains/address-encoder@^0.1.7": + version "0.1.9" + resolved "https://registry.yarnpkg.com/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz#f948c485443d9ef7ed2c0c4790e931c33334d02d" + integrity sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg== + dependencies: + bech32 "^1.1.3" + blakejs "^1.1.0" + bn.js "^4.11.8" + bs58 "^4.0.1" + crypto-addr-codec "^0.1.7" + nano-base32 "^1.0.1" + ripemd160 "^2.0.2" + +"@ensdomains/ens@0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.5.tgz#e0aebc005afdc066447c6e22feb4eda89a5edbfc" + integrity sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw== + dependencies: + bluebird "^3.5.2" + eth-ens-namehash "^2.0.8" + solc "^0.4.20" + testrpc "0.0.1" + web3-utils "^1.0.0-beta.31" + +"@ensdomains/ensjs@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@ensdomains/ensjs/-/ensjs-2.1.0.tgz#0a7296c1f3d735ef019320d863a7846a0760c460" + integrity sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog== + dependencies: + "@babel/runtime" "^7.4.4" + "@ensdomains/address-encoder" "^0.1.7" + "@ensdomains/ens" "0.4.5" + "@ensdomains/resolver" "0.2.4" + content-hash "^2.5.2" + eth-ens-namehash "^2.0.8" + ethers "^5.0.13" + js-sha3 "^0.8.0" + +"@ensdomains/resolver@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89" + integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA== + +"@esbuild/android-arm@0.15.18": + version "0.15.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" + integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== + +"@esbuild/linux-loong64@0.15.18": + version "0.15.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" + integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@eslint/eslintrc@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eth-optimism/contracts@0.0.2-alpha.7": + version "0.0.2-alpha.7" + resolved "https://registry.yarnpkg.com/@eth-optimism/contracts/-/contracts-0.0.2-alpha.7.tgz#1d77b59f504ee94d9f2f46e0d4c01889ba8f9fd5" + integrity sha512-nl+UsKPTPEyKS6p5E5g4U5SAqOK8Cj24o0GXtxERuVW/+eaBqbc5IEM50/wL5e/XiW4DjUOAMZl01GYiE8mIfA== + dependencies: + ethers "5.0.0" + +"@eth-optimism/watcher@0.0.1-alpha.8": + version "0.0.1-alpha.8" + resolved "https://registry.yarnpkg.com/@eth-optimism/watcher/-/watcher-0.0.1-alpha.8.tgz#db8179cf9dd38ad20ffe7aac799353e6e2312221" + integrity sha512-UICItZmRtQ4U2Ae8D56to0MZskFVdKOej3srcDg7PgAi/HqDetoyt5eutBPVgABiiIMTWvkoh6EsbgRJRPjWNg== + dependencies: + ethers "5.0.0" + +"@ethereumjs/common@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268" + integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.1" + +"@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" + integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.5" + +"@ethereumjs/tx@3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.2.tgz#348d4624bf248aaab6c44fec2ae67265efe3db00" + integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog== + dependencies: + "@ethereumjs/common" "^2.5.0" + ethereumjs-util "^7.1.2" + +"@ethersproject/abi@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" + integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw== + dependencies: + "@ethersproject/address" "^5.0.4" + "@ethersproject/bignumber" "^5.0.7" + "@ethersproject/bytes" "^5.0.4" + "@ethersproject/constants" "^5.0.4" + "@ethersproject/hash" "^5.0.4" + "@ethersproject/keccak256" "^5.0.3" + "@ethersproject/logger" "^5.0.5" + "@ethersproject/properties" "^5.0.3" + "@ethersproject/strings" "^5.0.4" + +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.0.0", "@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.0.0", "@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.0.0", "@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + +"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" + integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.0.0", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.0.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + +"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.0.0", "@ethersproject/contracts@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" + integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== + dependencies: + "@ethersproject/abi" "^5.7.0" + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + +"@ethersproject/experimental@^5.0.1": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/experimental/-/experimental-5.7.0.tgz#9759639434d37beaedfd8acab6f3af7db246b92d" + integrity sha512-DWvhuw7Dg8JPyhMbh/CNYOwsTLjXRx/HGkacIL5rBocG8jJC0kmixwoK/J3YblO4vtcyBLMa+sV74RJZK2iyHg== + dependencies: + "@ethersproject/web" "^5.7.0" + ethers "^5.7.0" + scrypt-js "3.0.1" + +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.0.0", "@ethersproject/hash@^5.0.4", "@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.0.0", "@ethersproject/hdnode@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" + integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.0.0", "@ethersproject/json-wallets@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" + integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.0.0", "@ethersproject/keccak256@^5.0.0-beta.130", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.0.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.0.0", "@ethersproject/pbkdf2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" + integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.0.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.0.0", "@ethersproject/providers@^5.1.2", "@ethersproject/providers@^5.5.1": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" + integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + bech32 "1.1.4" + ws "7.4.6" + +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.0.0", "@ethersproject/random@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" + integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.0.0", "@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.0.0", "@ethersproject/sha2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" + integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.0.0", "@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.0.0", "@ethersproject/solidity@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" + integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.0.0", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.0.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + +"@ethersproject/units@5.7.0", "@ethersproject/units@^5.0.0", "@ethersproject/units@^5.1.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" + integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.0.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" + integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/json-wallets" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.0.0", "@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.0.0", "@ethersproject/wordlists@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" + integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@floating-ui/core@^1.0.5": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.1.0.tgz#0a1dee4bbce87ff71602625d33f711cafd8afc08" + integrity sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ== + +"@floating-ui/dom@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.1.0.tgz#29fea1344fdef15b6ba270a733d20b7134fee5c2" + integrity sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A== + dependencies: + "@floating-ui/core" "^1.0.5" + +"@formkit/auto-animate@^1.0.0-beta.6": + version "1.0.0-beta.6" + resolved "https://registry.yarnpkg.com/@formkit/auto-animate/-/auto-animate-1.0.0-beta.6.tgz#ed7f8bc47d774a7764756646e9e3432e8be51cb3" + integrity sha512-PVDhLAlr+B4Xb7e+1wozBUWmXa6BFU8xUPR/W/E+TsQhPS1qkAdAsJ25keEnFrcePSnXHrOsh3tiFbEToOzV9w== + +"@gnosis.pm/safe-deployments@1.17.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-deployments/-/safe-deployments-1.17.0.tgz#52a7b0e75c08b4a829f491b594e2babbdd6606c5" + integrity sha512-vfl13IuSMqJZxTPraRcKZqJcaSCDWTt/JXH6VURa8LHMYATOqd96IGbqqOKRPAgSzAyXpA2thOD4YUQ0X8XKyQ== + dependencies: + semver "^7.3.7" + +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@json-rpc-tools/provider@^1.5.5": + version "1.7.6" + resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6" + integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA== + dependencies: + "@json-rpc-tools/utils" "^1.7.6" + axios "^0.21.0" + safe-json-utils "^1.1.1" + ws "^7.4.0" + +"@json-rpc-tools/types@^1.7.6": + version "1.7.6" + resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e" + integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + +"@json-rpc-tools/utils@^1.7.6": + version "1.7.6" + resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1" + integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw== + dependencies: + "@json-rpc-tools/types" "^1.7.6" + "@pedrouid/environment" "^1.0.1" + +"@ledgerhq/connect-kit-loader@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.2.tgz#8554e16943f86cc2a5f6348a14dfe6e5bd0c572a" + integrity sha512-TQ21IjcZOw/scqypaVFY3jHVqI7X7Hta3qN/us6FvTol3AY06UmrhhXGww0E9xHmAbdX241ddwXEiMBSQZFr9g== + +"@ledgerhq/devices@^4.74.2", "@ledgerhq/devices@^4.78.0": + version "4.78.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-4.78.0.tgz#149b572f0616096e2bd5eb14ce14d0061c432be6" + integrity sha512-tWKS5WM/UU82czihnVjRwz9SXNTQzWjGJ/7+j/xZ70O86nlnGJ1aaFbs5/WTzfrVKpOKgj1ZoZkAswX67i/JTw== + dependencies: + "@ledgerhq/errors" "^4.78.0" + "@ledgerhq/logs" "^4.72.0" + rxjs "^6.5.3" + +"@ledgerhq/errors@^4.74.2", "@ledgerhq/errors@^4.78.0": + version "4.78.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-4.78.0.tgz#23daf3af54d03b1bda3e616002b555da1bdb705a" + integrity sha512-FX6zHZeiNtegBvXabK6M5dJ+8OV8kQGGaGtuXDeK/Ss5EmG4Ltxc6Lnhe8hiHpm9pCHtktOsnUVL7IFBdHhYUg== + +"@ledgerhq/hw-app-eth@4.74.2": + version "4.74.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-eth/-/hw-app-eth-4.74.2.tgz#0b2d1c4dcd03e6ee9f9a711c78012a22d4156c9d" + integrity sha512-sZDutrYiVr6zZ+BU6gPtnBXnSehcEvO2Xm6LtYA/pDgOSZQA5ZodugVXQqO4m7gyFeMA9NOnS3DHHahVP4oGKA== + dependencies: + "@ledgerhq/errors" "^4.74.2" + "@ledgerhq/hw-transport" "^4.74.2" + +"@ledgerhq/hw-transport-u2f@4.74.2": + version "4.74.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-4.74.2.tgz#20946865204113eb4a586b2ac8d721730ee35bad" + integrity sha512-islCIL1HTnmSEj6V9U/f9TT9HHe9sviDuN3Ra0zK65cGaWqQa3Ni6wQil2wl7vNrEN7inwqAq5QOf3LzEFTOtg== + dependencies: + "@ledgerhq/errors" "^4.74.2" + "@ledgerhq/hw-transport" "^4.74.2" + "@ledgerhq/logs" "^4.72.0" + u2f-api "0.2.7" + +"@ledgerhq/hw-transport@4.74.2": + version "4.74.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-4.74.2.tgz#dc4874b77616b63419cee5eed746dc23183ab6ce" + integrity sha512-83SiHd7wuif/epq58n9kPFhqr/1zv9a13nDYFLinaUGvRrx5jGFvCq9HiS/WIPOeIHsnuStpqKQbpUDvlRlHKg== + dependencies: + "@ledgerhq/devices" "^4.74.2" + "@ledgerhq/errors" "^4.74.2" + events "^3.0.0" + +"@ledgerhq/hw-transport@^4.74.2": + version "4.78.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-4.78.0.tgz#714786658e1f2fbc0569e06e2abf8d15d310d931" + integrity sha512-xQu16OMPQjFYLjqCysij+8sXtdWv2YLxPrB6FoLvEWGTlQ7yL1nUBRQyzyQtWIYqZd4THQowQmzm1VjxuN6SZw== + dependencies: + "@ledgerhq/devices" "^4.78.0" + "@ledgerhq/errors" "^4.78.0" + events "^3.0.0" + +"@ledgerhq/logs@^4.72.0": + version "4.72.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-4.72.0.tgz#43df23af013ad1135407e5cf33ca6e4c4c7708d5" + integrity sha512-o+TYF8vBcyySRsb2kqBDv/KMeme8a2nwWoG+lAWzbDmWfb2/MrVWYCVYDYvjXdSoI/Cujqy1i0gIDrkdxa9chA== + +"@lit-labs/ssr-dom-shim@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.0.0.tgz#427e19a2765681fd83411cd72c55ba80a01e0523" + integrity sha512-ic93MBXfApIFTrup4a70M/+ddD8xdt2zxxj9sRwHQzhS9ag/syqkD8JPdTXsc1gUy2K8TTirhlCqyTEM/sifNw== + +"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.1.tgz#0d958b6d479d0e3db5fc1132ecc4fa84be3f0b93" + integrity sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.0.0" + +"@magic-sdk/commons@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@magic-sdk/commons/-/commons-6.1.0.tgz#6dd6dc585315e2f6af9cf312d1557c481108029a" + integrity sha512-297kNy/JVqe905KRGb0Y1A3kG49P9nZR2WiS8QWoU2nqvtv/4w2WNoCg9ujVUlTwTKwP2SvTY/zd35274fSNFg== + +"@magic-sdk/provider@^10.1.0": + version "10.1.0" + resolved "https://registry.yarnpkg.com/@magic-sdk/provider/-/provider-10.1.0.tgz#0857c7579faf53bee26d6575321abd6c058db56c" + integrity sha512-6hsTFL6Os3nCGDWe3ZT0dx6cxsBJZ1POZ8FJqhx2xYLsxGDXjZ44rlOC7LhlPWrkTdhj0bGt/R2v4rr7/yYhMg== + dependencies: + "@magic-sdk/types" "^9.1.0" + eventemitter3 "^4.0.4" + web3-core "1.5.2" + +"@magic-sdk/types@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@magic-sdk/types/-/types-9.1.0.tgz#ad783294025d4772ffdde43402520653aade6b2a" + integrity sha512-mCEWoXNPzWYzH6TYCwG1TCBAGVWDZ817tn4VozY9J8ijQbh7CIW8zLIa0UIP4fZ5+fsCfd7YjD8+NmJsLbBwhg== + +"@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" + integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== + +"@metaplex-foundation/beet-solana@^0.3.0", "@metaplex-foundation/beet-solana@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/beet-solana/-/beet-solana-0.3.1.tgz#4b37cda5c7f32ffd2bdd8b3164edc05c6463ab35" + integrity sha512-tgyEl6dvtLln8XX81JyBvWjIiEcjTkUwZbrM5dIobTmoqMuGewSyk9CClno8qsMsFdB5T3jC91Rjeqmu/6xk2g== + dependencies: + "@metaplex-foundation/beet" ">=0.1.0" + "@solana/web3.js" "^1.56.2" + bs58 "^5.0.0" + debug "^4.3.4" + +"@metaplex-foundation/beet-solana@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/beet-solana/-/beet-solana-0.4.0.tgz#52891e78674aaa54e0031f1bca5bfbc40de12e8d" + integrity sha512-B1L94N3ZGMo53b0uOSoznbuM5GBNJ8LwSeznxBxJ+OThvfHQ4B5oMUqb+0zdLRfkKGS7Q6tpHK9P+QK0j3w2cQ== + dependencies: + "@metaplex-foundation/beet" ">=0.1.0" + "@solana/web3.js" "^1.56.2" + bs58 "^5.0.0" + debug "^4.3.4" + +"@metaplex-foundation/beet@0.7.1", "@metaplex-foundation/beet@>=0.1.0", "@metaplex-foundation/beet@^0.7.1": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/beet/-/beet-0.7.1.tgz#0975314211643f87b5f6f3e584fa31abcf4c612c" + integrity sha512-hNCEnS2WyCiYyko82rwuISsBY3KYpe828ubsd2ckeqZr7tl0WVLivGkoyA/qdiaaHEBGdGl71OpfWa2rqL3DiA== + dependencies: + ansicolors "^0.3.2" + bn.js "^5.2.0" + debug "^4.3.3" + +"@metaplex-foundation/beet@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/beet/-/beet-0.4.0.tgz#eb2a0a6eb084bb25d67dd9bed2f7387ee7e63a55" + integrity sha512-2OAKJnLatCc3mBXNL0QmWVQKAWK2C7XDfepgL0p/9+8oSx4bmRAFHFqptl1A/C0U5O3dxGwKfmKluW161OVGcA== + dependencies: + ansicolors "^0.3.2" + bn.js "^5.2.0" + debug "^4.3.3" + +"@metaplex-foundation/beet@^0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/beet/-/beet-0.6.1.tgz#6331bdde0648bf2cae6f9e482f8e3552db05d69f" + integrity sha512-OYgnijLFzw0cdUlRKH5POp0unQECPOW9muJ2X3QIVyak5G6I6l/rKo72sICgPLIFKdmsi2jmnkuLY7wp14iXdw== + dependencies: + ansicolors "^0.3.2" + bn.js "^5.2.0" + debug "^4.3.3" + +"@metaplex-foundation/cusper@^0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/cusper/-/cusper-0.0.2.tgz#dc2032a452d6c269e25f016aa4dd63600e2af975" + integrity sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA== + +"@metaplex-foundation/js@^0.17.6": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/js/-/js-0.17.12.tgz#20b40d84308aa5b83f66e1ae45705f9559432cfc" + integrity sha512-PVGAQSGYGIermfCaRS+7W64YdyHf987Juc1QfQNmnuaolYiyYOibrOmnPIfK45MIbDSQzuREi2r8qwe+D4MDMA== + dependencies: + "@bundlr-network/client" "^0.8.8" + "@metaplex-foundation/beet" "0.7.1" + "@metaplex-foundation/mpl-auction-house" "^2.3.0" + "@metaplex-foundation/mpl-candy-guard" "^0.3.0" + "@metaplex-foundation/mpl-candy-machine" "^5.0.0" + "@metaplex-foundation/mpl-candy-machine-core" "^0.1.2" + "@metaplex-foundation/mpl-token-metadata" "^2.3.3" + "@noble/ed25519" "^1.7.1" + "@noble/hashes" "^1.1.3" + "@solana/spl-token" "^0.3.5" + "@solana/web3.js" "^1.63.1" + bignumber.js "^9.0.2" + bn.js "^5.2.1" + bs58 "^5.0.0" + buffer "^6.0.3" + debug "^4.3.4" + eventemitter3 "^4.0.7" + lodash.clonedeep "^4.5.0" + lodash.isequal "^4.5.0" + merkletreejs "^0.2.32" + mime "^3.0.0" + node-fetch "^2.6.7" + +"@metaplex-foundation/mpl-auction-house@^2.3.0": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/mpl-auction-house/-/mpl-auction-house-2.3.2.tgz#0cb1becb862b1c97d4448b12177108fa869c4461" + integrity sha512-Msj2hYuAi25hj0kmLIlBG2TafsvIDlEa6GlOcWr91z+wCn0rnrCy50p0QkbGY+qmhe7LQYWtwtA7rsqMj9IDpA== + dependencies: + "@metaplex-foundation/beet" "^0.6.1" + "@metaplex-foundation/beet-solana" "^0.3.1" + "@metaplex-foundation/cusper" "^0.0.2" + "@solana/spl-token" "^0.3.5" + "@solana/web3.js" "^1.56.2" + bn.js "^5.2.0" + +"@metaplex-foundation/mpl-candy-guard@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/mpl-candy-guard/-/mpl-candy-guard-0.3.1.tgz#c6393393dbba533ab1b1fbd797609bdba17dc276" + integrity sha512-E6V9dF1f5UB0Mf9A8PESeHb/sGEREV4osz9DDesdyNqkuhWJSwM0M9rJaMvKupQojcpuPSe+n4ASd+PnSSaL2g== + dependencies: + "@metaplex-foundation/beet" "^0.4.0" + "@metaplex-foundation/beet-solana" "^0.3.0" + "@metaplex-foundation/cusper" "^0.0.2" + "@solana/web3.js" "^1.66.2" + bn.js "^5.2.0" + +"@metaplex-foundation/mpl-candy-machine-core@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/mpl-candy-machine-core/-/mpl-candy-machine-core-0.1.2.tgz#07e19558d0ef120fac1d8612ae4de90d52cd4d1f" + integrity sha512-jjDkRvMR+iykt7guQ7qVnOHTZedql0lq3xqWDMaenAUCH3Xrf2zKATThhJppIVNX1/YtgBOO3lGqhaFbaI4pCw== + dependencies: + "@metaplex-foundation/beet" "^0.4.0" + "@metaplex-foundation/beet-solana" "^0.3.0" + "@metaplex-foundation/cusper" "^0.0.2" + "@solana/web3.js" "^1.56.2" + bn.js "^5.2.0" + +"@metaplex-foundation/mpl-candy-machine@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/mpl-candy-machine/-/mpl-candy-machine-5.0.0.tgz#2eae8f02a1479c62ef9b9b521215988d6fc06818" + integrity sha512-df2OmZ4s8PJXQXtGAyfZIIitwJPKebtj4f8tab/o5VNhYsW5M9YKfMyAEBBNHm1n/xz+C8Lxy05e6qo3nU/30g== + dependencies: + "@metaplex-foundation/beet" "^0.7.1" + "@metaplex-foundation/beet-solana" "^0.4.0" + "@metaplex-foundation/cusper" "^0.0.2" + "@solana/spl-token" "^0.3.6" + "@solana/web3.js" "^1.66.2" + +"@metaplex-foundation/mpl-token-metadata@^2.3.3": + version "2.5.2" + resolved "https://registry.yarnpkg.com/@metaplex-foundation/mpl-token-metadata/-/mpl-token-metadata-2.5.2.tgz#ec84464e2bf65bf491abdc71c3882e5973dd9978" + integrity sha512-lAjQjj2gGtyLq8MOkp4tWZSC5DK9NWgPd3EoH0KQ9gMs3sKIJRik0CBaZg+JA0uLwzkiErY2Izus4vbWtRADJQ== + dependencies: + "@metaplex-foundation/beet" "^0.7.1" + "@metaplex-foundation/beet-solana" "^0.4.0" + "@metaplex-foundation/cusper" "^0.0.2" + "@solana/spl-token" "^0.3.6" + "@solana/web3.js" "^1.66.2" + bn.js "^5.2.0" + debug "^4.3.4" + +"@motionone/animation@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" + integrity sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ== + dependencies: + "@motionone/easing" "^10.15.1" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/dom@^10.15.5": + version "10.15.5" + resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.15.5.tgz#4af18f8136d85c2fc997cac98121c969f6731802" + integrity sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA== + dependencies: + "@motionone/animation" "^10.15.1" + "@motionone/generators" "^10.15.1" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/easing@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.15.1.tgz#95cf3adaef34da6deebb83940d8143ede3deb693" + integrity sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw== + dependencies: + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/generators@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.15.1.tgz#dc6abb11139d1bafe758a41c134d4c753a9b871c" + integrity sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ== + dependencies: + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/svelte@^10.15.5": + version "10.15.5" + resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.15.5.tgz#f36b40101ec1db122820598089f42e831f6cf5f5" + integrity sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg== + dependencies: + "@motionone/dom" "^10.15.5" + tslib "^2.3.1" + +"@motionone/types@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.15.1.tgz#89441b54285012795cbba8612cbaa0fa420db3eb" + integrity sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA== + +"@motionone/utils@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.15.1.tgz#6b5f51bde75be88b5411e084310299050368a438" + integrity sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw== + dependencies: + "@motionone/types" "^10.15.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/vue@^10.15.5": + version "10.15.5" + resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.15.5.tgz#3101c62b2fce06b3f3072b9ff0f551213eb02476" + integrity sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw== + dependencies: + "@motionone/dom" "^10.15.5" + tslib "^2.3.1" + +"@mui/base@5.0.0-alpha.114": + version "5.0.0-alpha.114" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.114.tgz#19125f28b7d09d1cc60550872440ecba699d8374" + integrity sha512-ZpsG2I+zTOAnVTj3Un7TxD2zKRA2OhEPGMcWs/9ylPlS6VuGQSXowPooZiqarjT7TZ0+1bOe8titk/t8dLFiGw== + dependencies: + "@babel/runtime" "^7.20.7" + "@emotion/is-prop-valid" "^1.2.0" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + "@popperjs/core" "^2.11.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/core-downloads-tracker@^5.11.5": + version "5.11.5" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.5.tgz#473c9b918d974f03acc07d29ce467bb91eba13c6" + integrity sha512-MIuWGjitOsugpRhp64CQY3ZEVMIu9M/L9ioql6QLSkz73+bGIlC9FEhfi670/GZ8pQIIGmtiGGwofYzlwEWjig== + +"@mui/core@^5.0.0-alpha.54": + version "5.0.0-alpha.54" + resolved "https://registry.yarnpkg.com/@mui/core/-/core-5.0.0-alpha.54.tgz#2c04163552ac536e2026778cc7f7435ce004ba1b" + integrity sha512-8TxdHqDdSb6wjhsnpE5n7qtkFKDG3PUSlVY0gR3VcdsHXscUY13l3VbMQW1brI4D/R9zx5VYmxIHWaHFgw4RtA== + dependencies: + "@babel/runtime" "^7.16.0" + "@emotion/is-prop-valid" "^1.1.0" + "@mui/utils" "^5.1.0" + "@popperjs/core" "^2.4.4" + clsx "^1.1.1" + prop-types "^15.7.2" + react-is "^17.0.2" + +"@mui/icons-material@^5.3.1": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.11.0.tgz#9ea6949278b2266d2683866069cd43009eaf6464" + integrity sha512-I2LaOKqO8a0xcLGtIozC9xoXjZAto5G5gh0FYUMAlbsIHNHIjn4Xrw9rvjY20vZonyiGrZNMAlAXYkY6JvhF6A== + dependencies: + "@babel/runtime" "^7.20.6" + +"@mui/lab@^5.0.0-alpha.67": + version "5.0.0-alpha.116" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.116.tgz#d18a1662d830d77a5b0bb5ad039614595fc2b459" + integrity sha512-TJHXYuJnZWzHNtQ8VlFIbRB2ZrhOkc1N5yBANKn9UvT0ktpCgtnfkLsY5ckDE/PX54L0mg3kaZ6An5j4mvEzkQ== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/base" "5.0.0-alpha.114" + "@mui/system" "^5.11.5" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/material@^5.3.1": + version "5.11.5" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.11.5.tgz#b4867b4a6f3289e41f70b4393c075a799be8d24b" + integrity sha512-5fzjBbRYaB5MoEpvA32oalAWltOZ3/kSyuovuVmPc6UF6AG42lTtbdMLpdCygurFSGUMZYTg4Cjij52fKlDDgg== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/base" "5.0.0-alpha.114" + "@mui/core-downloads-tracker" "^5.11.5" + "@mui/system" "^5.11.5" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + "@types/react-transition-group" "^4.4.5" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + react-is "^18.2.0" + react-transition-group "^4.4.5" + +"@mui/private-theming@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.11.2.tgz#93eafb317070888a988efa8d6a9ec1f69183a606" + integrity sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/utils" "^5.11.2" + prop-types "^15.8.1" + +"@mui/styled-engine@^5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.11.0.tgz#79afb30c612c7807c4b77602cf258526d3997c7b" + integrity sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ== + dependencies: + "@babel/runtime" "^7.20.6" + "@emotion/cache" "^11.10.5" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/styles@^5.3.0": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.11.2.tgz#8616272389051f0287e1e3b24d2bae937757552e" + integrity sha512-Yg6+PMPV4Mx1UJHow2e/nND2bQNWS1H38zrkJxlucXfaR0+aglO6u8R/OXmVspDj+Z5YW5B27lxRDvxCQN9nGw== + dependencies: + "@babel/runtime" "^7.20.7" + "@emotion/hash" "^0.9.0" + "@mui/private-theming" "^5.11.2" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + clsx "^1.2.1" + csstype "^3.1.1" + hoist-non-react-statics "^3.3.2" + jss "^10.9.2" + jss-plugin-camel-case "^10.9.2" + jss-plugin-default-unit "^10.9.2" + jss-plugin-global "^10.9.2" + jss-plugin-nested "^10.9.2" + jss-plugin-props-sort "^10.9.2" + jss-plugin-rule-value-function "^10.9.2" + jss-plugin-vendor-prefixer "^10.9.2" + prop-types "^15.8.1" + +"@mui/system@^5.11.5": + version "5.11.5" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.11.5.tgz#c880199634708c866063396f88d3fdd4c1dfcb48" + integrity sha512-KNVsJ0sgRRp2XBqhh4wPS5aacteqjwxgiYTVwVnll2fgkgunZKo3DsDiGMrFlCg25ZHA3Ax58txWGE9w58zp0w== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/private-theming" "^5.11.2" + "@mui/styled-engine" "^5.11.0" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/types@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.3.tgz#06faae1c0e2f3a31c86af6f28b3a4a42143670b9" + integrity sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw== + +"@mui/utils@^5.1.0", "@mui/utils@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.11.2.tgz#29764311acb99425159b159b1cb382153ad9be1f" + integrity sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w== + dependencies: + "@babel/runtime" "^7.20.7" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^16.7.1 || ^17.0.0" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@noble/ed25519@^1.6.1", "@noble/ed25519@^1.7.0", "@noble/ed25519@^1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.1.tgz#6899660f6fbb97798a6fbd227227c4589a454724" + integrity sha512-Rk4SkJFaXZiznFyC/t77Q0NKS4FL7TLJJsVG2V2oiEq3kJVeTdxysEe/yRWSpnWMe808XRDJ+VFh5pt/FN5plw== + +"@noble/hashes@^1.1.2", "@noble/hashes@^1.1.3": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.5.tgz#1a0377f3b9020efe2fae03290bd2a12140c95c11" + integrity sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ== + +"@noble/secp256k1@^1.6.3": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@pedrouid/environment@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" + integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== + +"@polyjuice-provider/base@0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@polyjuice-provider/base/-/base-0.1.5.tgz#0ab348e98e77c96ff3343ba83fdd223c81c9f837" + integrity sha512-KEaUv+PIKoMxChf3c08PsMSw+1fN50qLDPfd4RYqh3WGBmwyfm69WzWhVbyjWpVPyTDnPZrkJIaL34O0oLU7rg== + dependencies: + "@ckb-lumos/base" "0.18.0-rc6" + "@ckb-lumos/toolkit" "0.18.0-rc6" + "@polyjuice-provider/godwoken" "0.1.5" + buffer "^6.0.3" + encoding "^0.1.13" + eth-sig-util "^3.0.1" + jayson "^3.4.4" + keccak256 "^1.0.2" + web3-eth-abi "1.6.1" + web3-utils "1.6.1" + xhr2-cookies "^1.1.0" + +"@polyjuice-provider/godwoken@0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@polyjuice-provider/godwoken/-/godwoken-0.1.5.tgz#7b412b039768fed5abe66b5684b9abed666a42f9" + integrity sha512-feLl4kksZTvmCjrVPjky610qu0NG8sDjYGfgs3pTr9zrP1/q7aRQzuKTrkJnskv5OMOsnsY7r3eLQDlml0C+DA== + dependencies: + "@ckb-lumos/base" "0.18.0-rc6" + "@ckb-lumos/toolkit" "0.18.0-rc6" + cross-fetch "^3.1.4" + immutable "^4.0.0-rc.12" + jsbi "^4.1.0" + keccak256 "^1.0.2" + +"@polyjuice-provider/web3@^0.1.2": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@polyjuice-provider/web3/-/web3-0.1.5.tgz#a814da9fc9d8cfca0adab2ae87a69a6785190d4f" + integrity sha512-wi7fadMPzVMriD9XHInqm4/AsA3/6FIREo2yLi3j6zaVG47ozm8aid00qVSzRBZY3Q6TmrXYj1dwspeP+f27mg== + dependencies: + "@polyjuice-provider/base" "0.1.5" + buffer "^6.0.3" + encoding "^0.1.13" + web3-core "^1.6.1" + web3-core-helpers "1.6.1" + web3-eth-accounts "^1.6.1" + web3-providers-ws "^1.6.1" + xhr2-cookies "^1.1.0" + +"@popperjs/core@^2.11.6", "@popperjs/core@^2.4.4": + version "2.11.6" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" + integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== + +"@portis/web3-provider-engine@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@portis/web3-provider-engine/-/web3-provider-engine-1.1.2.tgz#97f383156ea6b70fba69ae93a945fdd94159b1ba" + integrity sha512-NiiF0UPfngf4ulo32ybEDAMaad4i7h44HJaN8ea8HHt/vaFiUcPtINjC2o21jhWaLANerW4ZbOrNs1iCLH4p6A== + dependencies: + async "^2.5.0" + backoff "^2.5.0" + clone "^2.0.0" + cross-fetch "^2.1.0" + eth-block-tracker "^4.2.0" + eth-json-rpc-filters "^4.0.2" + eth-json-rpc-infura "^3.1.0" + eth-json-rpc-middleware "^5.0.2" + eth-sig-util "2.5.3" + ethereumjs-block "^1.2.2" + ethereumjs-tx "^1.2.0" + ethereumjs-util "^5.1.5" + ethereumjs-vm "^2.3.4" + json-rpc-error "^2.0.0" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + readable-stream "^2.2.9" + request "^2.85.0" + semaphore "^1.0.3" + ws "^5.1.1" + xhr "^2.2.0" + xtend "^4.0.1" + +"@portis/web3@^2.0.0-beta.59": + version "2.0.0-beta.59" + resolved "https://registry.yarnpkg.com/@portis/web3/-/web3-2.0.0-beta.59.tgz#2e5292d8e1daf6070aa3b4a8cb33c1a9e0315011" + integrity sha512-QdIdrI3uK+TyT+dxRK5bEYOi2PBlUDJ7vszR2uu0bT49wy7O52B9td6fL/5gsfk0VpCsmrYov3x3gEQYwGUyvQ== + dependencies: + "@portis/web3-provider-engine" "1.1.2" + ethereumjs-util "5.2.0" + penpal "3.0.7" + pocket-js-core "0.0.3" + +"@project-serum/anchor@^0.25.0": + version "0.25.0" + resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.25.0.tgz#88ee4843336005cf5a64c80636ce626f0996f503" + integrity sha512-E6A5Y/ijqpfMJ5psJvbw0kVTzLZFUcOFgs6eSM2M2iWE1lVRF18T6hWZVNl6zqZsoz98jgnNHtVGJMs+ds9A7A== + dependencies: + "@project-serum/borsh" "^0.2.5" + "@solana/web3.js" "^1.36.0" + base64-js "^1.5.1" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^5.3.1" + cross-fetch "^3.1.5" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + js-sha256 "^0.9.0" + pako "^2.0.3" + snake-case "^3.0.4" + superstruct "^0.15.4" + toml "^3.0.0" + +"@project-serum/borsh@^0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663" + integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + +"@rainbow-me/rainbowkit@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-0.8.1.tgz#de93b55a4629cdd33a9acf6a8699a7cd70b29ccd" + integrity sha512-A8BjihvgCY/xjQWOpqgOce+uO4mmIV4Qlo3XMF87kk5WNmyLLaPx2oYTJQz1uOinWE77h4G0HozJr5wnrermgw== + dependencies: + "@vanilla-extract/css" "1.9.1" + "@vanilla-extract/dynamic" "2.0.2" + "@vanilla-extract/sprinkles" "1.5.0" + clsx "1.1.1" + qrcode "1.5.0" + react-remove-scroll "2.5.4" + +"@randlabs/communication-bridge@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@randlabs/communication-bridge/-/communication-bridge-1.0.1.tgz#d1ecfc29157afcbb0ca2d73122d67905eecb5bf3" + integrity sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg== + +"@randlabs/myalgo-connect@^1.1.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@randlabs/myalgo-connect/-/myalgo-connect-1.4.2.tgz#ce3ad97b3889ea21da75852187511d3f6be0fa05" + integrity sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA== + dependencies: + "@randlabs/communication-bridge" "1.0.1" + +"@react-icons/all-files@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@react-icons/all-files/-/all-files-4.1.0.tgz#477284873a0821928224b6fc84c62d2534d6650b" + integrity sha512-hxBI2UOuVaI3O/BhQfhtb4kcGn9ft12RWAFVMUeNjqqhLsHvFtzIkFaptBJpFDANTKoDfdVoHTKZDlwKCACbMQ== + +"@remix-run/router@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.3.0.tgz#b6ee542c7f087b73b3d8215b9bf799f648be71cb" + integrity sha512-nwQoYb3m4DDpHTeOwpJEuDt8lWVcujhYYSFGLluC+9es2PyLjm+jjq3IeRBQbwBtPLJE/lkuHuGHr8uQLgmJRA== + +"@safe-global/safe-core-sdk-types@^1.7.0", "@safe-global/safe-core-sdk-types@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-core-sdk-types/-/safe-core-sdk-types-1.8.0.tgz#430f1d9025edb6d25bfdb9f95e89bc9d033f1c37" + integrity sha512-1oLQFmjiSdyxkUFOyVzspC2KXWPyOI3ekPqJFAcYARd9mm6lVoFORyynr2dIRxjrV3hVuvc0gZVI22ADSAC2qA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/contracts" "^5.7.0" + "@gnosis.pm/safe-deployments" "1.17.0" + web3-core "^1.8.1" + web3-utils "^1.8.1" + +"@safe-global/safe-core-sdk-utils@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-core-sdk-utils/-/safe-core-sdk-utils-1.6.0.tgz#363424f38026c0456bd712566e0b5f29d67c4c4d" + integrity sha512-fpMDIrayKUjJV9J647Bkw7cqsZyovEb3imiVyVBxm91F5VEhkx+0/yLUsiMDSburEaAV3NFxJj/Y69TWu8yCxQ== + dependencies: + "@safe-global/safe-core-sdk-types" "^1.8.0" + semver "^7.3.8" + web3-utils "^1.8.1" + +"@safe-global/safe-core-sdk@^3.2.0": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@safe-global/safe-core-sdk/-/safe-core-sdk-3.2.2.tgz#76603aa5300e00a9b05a1db6a26fda51b113854c" + integrity sha512-l+OgYB6cHXBRUW5KECY/0d1QR3DIvRjNLOxOoCF/UWayy1Fb/TL/XNmsbdRYkgODWYL0b6Yrn5CY6hEYtholRQ== + dependencies: + "@ethersproject/solidity" "^5.7.0" + "@gnosis.pm/safe-deployments" "1.17.0" + "@safe-global/safe-core-sdk-types" "^1.8.0" + ethereumjs-util "^7.1.5" + semver "^7.3.8" + web3-utils "^1.8.1" + +"@safe-global/safe-ethers-adapters@0.1.0-alpha.13": + version "0.1.0-alpha.13" + resolved "https://registry.yarnpkg.com/@safe-global/safe-ethers-adapters/-/safe-ethers-adapters-0.1.0-alpha.13.tgz#ff97e3f3d8bd97a151fd968aaeff5e7debd1872a" + integrity sha512-sYA/htvTi0khJSKPZn97M1BB+Th+BAMOxeLIC1UKl51NCauJFpafqvsUtpEvqlPGSG58v7gZ+YWltL5tIJHs4g== + dependencies: + "@gnosis.pm/safe-deployments" "1.17.0" + "@safe-global/safe-core-sdk" "^3.2.0" + "@safe-global/safe-core-sdk-types" "^1.7.0" + axios "^0.27.2" + +"@safe-global/safe-ethers-lib@^1.7.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-ethers-lib/-/safe-ethers-lib-1.8.0.tgz#1e6a6885b3e80ad25ac84c07e5f18a0a876a53b7" + integrity sha512-7KH7/QKwZEEulZ+ibkqV7y+DcIhKDX46n0fdb1FhYQ2hEZZdjQeIcFiHMwfbgrFlnCkxNXAKWHdXkdc7xNlewQ== + dependencies: + "@safe-global/safe-core-sdk-types" "^1.8.0" + "@safe-global/safe-core-sdk-utils" "^1.6.0" + ethers "5.7.2" + +"@sentry/browser@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.7.tgz#a40b6b72d911b5f1ed70ed3b4e7d4d4e625c0b5f" + integrity sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA== + dependencies: + "@sentry/core" "6.19.7" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/core@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.7.tgz#156aaa56dd7fad8c89c145be6ad7a4f7209f9785" + integrity sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw== + dependencies: + "@sentry/hub" "6.19.7" + "@sentry/minimal" "6.19.7" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/hub@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.7.tgz#58ad7776bbd31e9596a8ec46365b45cd8b9cfd11" + integrity sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA== + dependencies: + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/minimal@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.7.tgz#b3ee46d6abef9ef3dd4837ebcb6bdfd01b9aa7b4" + integrity sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ== + dependencies: + "@sentry/hub" "6.19.7" + "@sentry/types" "6.19.7" + tslib "^1.9.3" + +"@sentry/react@^6.15.0": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/react/-/react-6.19.7.tgz#58cc2d6da20f7d3b0df40638dfbbbc86c9c85caf" + integrity sha512-VzJeBg/v41jfxUYPkH2WYrKjWc4YiMLzDX0f4Zf6WkJ4v3IlDDSkX6DfmWekjTKBho6wiMkSNy2hJ1dHfGZ9jA== + dependencies: + "@sentry/browser" "6.19.7" + "@sentry/minimal" "6.19.7" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + hoist-non-react-statics "^3.3.2" + tslib "^1.9.3" + +"@sentry/tracing@^6.15.0": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.19.7.tgz#54bb99ed5705931cd33caf71da347af769f02a4c" + integrity sha512-ol4TupNnv9Zd+bZei7B6Ygnr9N3Gp1PUrNI761QSlHtPC25xXC5ssSD3GMhBgyQrcvpuRcCFHVNNM97tN5cZiA== + dependencies: + "@sentry/hub" "6.19.7" + "@sentry/minimal" "6.19.7" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/types@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.7.tgz#c6b337912e588083fc2896eb012526cf7cfec7c7" + integrity sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg== + +"@sentry/utils@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.7.tgz#6edd739f8185fd71afe49cbe351c1bbf5e7b7c79" + integrity sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA== + dependencies: + "@sentry/types" "6.19.7" + tslib "^1.9.3" + +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@sindresorhus/is@^4.0.0", "@sindresorhus/is@^4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@solana/buffer-layout-utils@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout-utils/-/buffer-layout-utils-0.2.0.tgz#b45a6cab3293a2eb7597cceb474f229889d875ca" + integrity sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g== + dependencies: + "@solana/buffer-layout" "^4.0.0" + "@solana/web3.js" "^1.32.0" + bigint-buffer "^1.1.5" + bignumber.js "^9.0.1" + +"@solana/buffer-layout@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" + +"@solana/spl-token@^0.3.5", "@solana/spl-token@^0.3.6": + version "0.3.7" + resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.3.7.tgz#6f027f9ad8e841f792c32e50920d9d2e714fc8da" + integrity sha512-bKGxWTtIw6VDdCBngjtsGlKGLSmiu/8ghSt/IOYJV24BsymRbgq7r12GToeetpxmPaZYLddKwAz7+EwprLfkfg== + dependencies: + "@solana/buffer-layout" "^4.0.0" + "@solana/buffer-layout-utils" "^0.2.0" + buffer "^6.0.3" + +"@solana/wallet-adapter-base@^0.9.2", "@solana/wallet-adapter-base@^0.9.20": + version "0.9.20" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-base/-/wallet-adapter-base-0.9.20.tgz#42a3a2f42db9f6a41e36a132ee5a06a0bd3784f0" + integrity sha512-ZvnhJ4EJk61oyuBH/a9tMpUfeWQ3g3Cc0Nzl1NzE4SdqEhiNoEW8HXDig9HMemZ9bIEUxIpPWxp+SwjVl0u+rg== + dependencies: + eventemitter3 "^4.0.0" + +"@solana/wallet-adapter-phantom@^0.9.17": + version "0.9.19" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-phantom/-/wallet-adapter-phantom-0.9.19.tgz#21564b4a891ed070d66cb0c75f24e0f03030a203" + integrity sha512-AMrS/iGDuSQmhRhEuZbJZ3gmooGqkY5Fck3aCVtZOTF7YgXnIJfwBRjgmHIVRCZVbyTDbMzlvDcHx85GN3MZsg== + dependencies: + "@solana/wallet-adapter-base" "^0.9.20" + +"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.36.0", "@solana/web3.js@^1.56.2", "@solana/web3.js@^1.62.0", "@solana/web3.js@^1.63.1", "@solana/web3.js@^1.66.2", "@solana/web3.js@^1.70.1": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.73.0.tgz#c65f9f954ac80fca6952765c931dd72e57e1b572" + integrity sha512-YrgX3Py7ylh8NYkbanoINUPCj//bWUjYZ5/WPy9nQ9SK3Cl7QWCR+NmbDjmC/fTspZGR+VO9LTQslM++jr5PRw== + dependencies: + "@babel/runtime" "^7.12.5" + "@noble/ed25519" "^1.7.0" + "@noble/hashes" "^1.1.2" + "@noble/secp256k1" "^1.6.3" + "@solana/buffer-layout" "^4.0.0" + agentkeepalive "^4.2.1" + bigint-buffer "^1.1.5" + bn.js "^5.0.0" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.1" + fast-stable-stringify "^1.0.0" + jayson "^3.4.4" + node-fetch "2" + rpc-websockets "^7.5.0" + superstruct "^0.14.2" + +"@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" + integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== + +"@stablelib/binary@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + dependencies: + "@stablelib/int" "^1.0.1" + +"@stablelib/bytes@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" + integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== + +"@stablelib/chacha20poly1305@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" + integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== + dependencies: + "@stablelib/aead" "^1.0.1" + "@stablelib/binary" "^1.0.1" + "@stablelib/chacha" "^1.0.1" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/poly1305" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/constant-time@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" + integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== + +"@stablelib/ed25519@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" + integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== + dependencies: + "@stablelib/random" "^1.0.2" + "@stablelib/sha512" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hash@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" + integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== + +"@stablelib/hkdf@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" + integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== + dependencies: + "@stablelib/hash" "^1.0.1" + "@stablelib/hmac" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hmac@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" + integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/int@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== + +"@stablelib/keyagreement@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" + integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== + dependencies: + "@stablelib/bytes" "^1.0.1" + +"@stablelib/poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" + integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha256@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" + integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha512@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" + integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/wipe@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== + +"@stablelib/x25519@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" + integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== + dependencies: + "@stablelib/keyagreement" "^1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/wipe" "^1.0.1" + +"@supercharge/promise-pool@^2.1.0": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@supercharge/promise-pool/-/promise-pool-2.3.2.tgz#6366894a7e7bc699bb65e58d8c828113729cf481" + integrity sha512-f5+C7zv+QQivcUO1FH5lXi7GcuJ3CFuJF3Eg06iArhUs5ma0szCLEQwIY4+VQyh7m/RLVZdzvr4E4ZDnLe9MNg== + +"@synthetixio/js@2.41.0": + version "2.41.0" + resolved "https://registry.yarnpkg.com/@synthetixio/js/-/js-2.41.0.tgz#55e106868972e80e981a3354e520c2468dbc37fd" + integrity sha512-t09q0JKtbOw6nCGUffd06m/+Jgsev79A0PaNKyQImxlgw2olGZGqeA/Z7AEqlDH0+6NU25jYVhMPip0r63cHtQ== + dependencies: + ethers "5.0.7" + lodash "4.17.19" + synthetix "2.41.0" + web3-utils "1.2.11" + +"@synthetixio/synpress@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@synthetixio/synpress/-/synpress-1.2.0.tgz#237b27fa08950256b1a6fe11856271b149bbfc23" + integrity sha512-RnXAGPE1YUysxJHMNoHkt9tbaifaFFFxUr4okc5HDtDp6TT7blZ0hQEmh70aR/ml3xfQ2J0R3VFQZCMTWNVDJg== + dependencies: + "@cypress/code-coverage" "3.9.12" + "@cypress/react" "5.12.4" + "@cypress/webpack-dev-server" "1.8.4" + "@drptbl/gremlins.js" "2.2.1" + "@synthetixio/js" "2.41.0" + "@testing-library/cypress" "8.0.2" + "@testing-library/react" "13.0.0" + "@types/puppeteer-core" "5.4.0" + "@types/testing-library__cypress" "5.0.9" + axios "0.26.1" + babel-plugin-istanbul "6.1.1" + babel-plugin-react-generate-property "1.1.2" + babel-plugin-react-remove-properties "0.3.0" + babel-plugin-transform-react-qa-classes "1.6.0" + babel-plugin-transform-react-styled-components-qa "2.1.0" + bytes32 "0.0.3" + commander "9.1.0" + cross-zip "4.0.0" + cypress "9.5.3" + cypress-wait-until "1.7.2" + eslint "7.32.0" + eslint-config-prettier "8.5.0" + eslint-config-standard "16.0.3" + eslint-plugin-chai-friendly "0.7.2" + eslint-plugin-cypress "2.12.1" + eslint-plugin-import "2.26.0" + eslint-plugin-node "11.1.0" + eslint-plugin-prettier "4.0.0" + eslint-plugin-promise "6.0.0" + eslint-plugin-standard "4.1.0" + eslint-plugin-testing-library "5.2.1" + eslint-plugin-ui-testing "2.0.1" + eslint-plugin-unicorn "42.0.0" + etherscan-api "10.0.5" + node-fetch "2.6.1" + prettier "2.6.2" + puppeteer-core "13.5.2" + serve "13.0.2" + start-server-and-test "1.14.0" + synthetix-js "2.66.0" + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + +"@tanstack/query-core@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.22.0.tgz#7a786fcea64e229ed5d4308093dd644cdfaa895e" + integrity sha512-OeLyBKBQoT265f5G9biReijeP8mBxNFwY7ZUu1dKL+YzqpG5q5z7J/N1eT8aWyKuhyDTiUHuKm5l+oIVzbtrjw== + +"@tanstack/query-persist-client-core@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-persist-client-core/-/query-persist-client-core-4.22.0.tgz#cb0677cb0ab36c626bfb18bd681426f661ef4a85" + integrity sha512-O5Qh4HycMWPD67qoGs9zwNJuCpQnbgAgpWmg/M5+jpWaobGGtdIW6SHuvVogQM53uTaWT8b30ymi4BKds4GxIA== + +"@tanstack/query-sync-storage-persister@^4.14.5": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.22.0.tgz#114545d7957f72d71abd70790dfe8bd6177bd9ec" + integrity sha512-NtsekSPrJC+qMFncs0cqzyqFWW3rZU6EwGwgqM+u7PnjYQBiOyrD7yB8V6rJEIDVvSpakS1jPyzKDxpexrUk8g== + dependencies: + "@tanstack/query-persist-client-core" "4.22.0" + +"@tanstack/react-query-persist-client@^4.14.5": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-persist-client/-/react-query-persist-client-4.22.0.tgz#29dd5542b96a0a83a58e32f2c815874cd90a729d" + integrity sha512-E9eAstffzr+PMsKcgTI6AfMMYtUjV6w3VKCa/0v9wGWdGEJYKcjNJWyYiPF0Z0ccwAaDCeOuQCFId8y0BKCK8g== + dependencies: + "@tanstack/query-persist-client-core" "4.22.0" + +"@tanstack/react-query@^4.0.10", "@tanstack/react-query@^4.14.5": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.22.0.tgz#aaa4b41a6d306be6958018c74a8a3bb3e9f1924c" + integrity sha512-P9o+HjG42uB/xHR6dMsJaPhtZydSe4v0xdG5G/cEj1oHZAXelMlm67/rYJNQGKgBamKElKogj+HYGF+NY2yHYg== + dependencies: + "@tanstack/query-core" "4.22.0" + use-sync-external-store "^1.2.0" + +"@testing-library/cypress@8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@testing-library/cypress/-/cypress-8.0.2.tgz#b13f0ff2424dec4368b6670dfbfb7e43af8eefc9" + integrity sha512-KVdm7n37sg/A4e3wKMD4zUl0NpzzVhx06V9Tf0hZHZ7nrZ4yFva6Zwg2EFF1VzHkEfN/ahUzRtT1qiW+vuWnJw== + dependencies: + "@babel/runtime" "^7.14.6" + "@testing-library/dom" "^8.1.0" + +"@testing-library/dom@^7.11.0": + version "7.31.2" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.31.2.tgz#df361db38f5212b88555068ab8119f5d841a8c4a" + integrity sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^4.2.0" + aria-query "^4.2.2" + chalk "^4.1.0" + dom-accessibility-api "^0.5.6" + lz-string "^1.4.4" + pretty-format "^26.6.2" + +"@testing-library/dom@^8.1.0", "@testing-library/dom@^8.5.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.0.tgz#914aa862cef0f5e89b98cc48e3445c4c921010f6" + integrity sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "^5.0.0" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.4.4" + pretty-format "^27.0.2" + +"@testing-library/react@13.0.0": + version "13.0.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.0.0.tgz#8cdaf4667c6c2b082eb0513731551e9db784e8bc" + integrity sha512-p0lYA1M7uoEmk2LnCbZLGmHJHyH59sAaZVXChTXlyhV/PRW9LoIh4mdf7tiXsO8BoNG+vN8UnFJff1hbZeXv+w== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^8.5.0" + "@types/react-dom" "*" + +"@thirdweb-dev/contracts-js@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@thirdweb-dev/contracts-js/-/contracts-js-1.2.3.tgz#3b9362feec94055a5fa2604604d2223b34a4d28a" + integrity sha512-/WrnOOUlpeYHPFjzpQxYhnJEFx/WWTpTVYXTJk7chXspxowrFEi2O5sZc3iNSCUQAUV2joqCxvRGdeHPn1yHEg== + dependencies: + "@thirdweb-dev/contracts" "3.3.0" + +"@thirdweb-dev/contracts@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@thirdweb-dev/contracts/-/contracts-3.3.0.tgz#acbec36746bd8a9176b01c792d3d8aa6483a16c3" + integrity sha512-UE6Gc4xUTJ3PYJ6WWHtrIXynid5z7TZSnoaqzhiMcLnch6YqMJI1b7uB9NunYEY1N3SB75BYOgun9e1T3RoSbQ== + +"@thirdweb-dev/react@^3.6.9": + version "3.6.10" + resolved "https://registry.yarnpkg.com/@thirdweb-dev/react/-/react-3.6.10.tgz#09709ae619482d262e696b464d27f9682cc958bd" + integrity sha512-w5nQFvhLuZYBKaUxhLMYy0WQzXLhDy7J8d0ijVc7sVrwWL4GkB/LEag0rY8xFSS2FucrufXjgSvPifI2u1SgEw== + dependencies: + "@emotion/react" "^11.10.0" + "@emotion/styled" "^11.10.0" + "@react-icons/all-files" "^4.1.0" + "@safe-global/safe-core-sdk" "^3.2.0" + "@safe-global/safe-ethers-adapters" "0.1.0-alpha.13" + "@safe-global/safe-ethers-lib" "^1.7.0" + "@solana/wallet-adapter-phantom" "^0.9.17" + "@tanstack/react-query" "^4.0.10" + "@zag-js/menu" "^0.3.0" + "@zag-js/react" "^0.3.1" + buffer "^6.0.3" + color "^4.2.3" + copy-to-clipboard "^3.3.2" + detect-browser "^5.3.0" + magic-sdk "^10.1.0" + mime "^3.0.0" + react-cool-dimensions "^2.0.7" + tiny-invariant "^1.2.0" + wagmi "^0.2.28" + +"@thirdweb-dev/sdk@^3.6.9": + version "3.6.10" + resolved "https://registry.yarnpkg.com/@thirdweb-dev/sdk/-/sdk-3.6.10.tgz#66d99b1e3888a639afacffb555d6291f1f8831a8" + integrity sha512-JGNYEwK9DVA5XczhuipT+w4y8cozPXdW5gofncPFf/TqpUtrXpZ2TNsIo+U4hTwaUVCcdpdASsUunqFEyhx4zg== + dependencies: + "@metaplex-foundation/js" "^0.17.6" + "@metaplex-foundation/mpl-token-metadata" "^2.3.3" + "@project-serum/anchor" "^0.25.0" + "@solana/spl-token" "^0.3.5" + "@solana/web3.js" "^1.62.0" + "@thirdweb-dev/contracts-js" "^1.2.3" + "@thirdweb-dev/storage" "^1.0.6" + bn.js "^5.2.1" + bs58 "^5.0.0" + cross-fetch "^3.1.5" + eventemitter3 "^5.0.0" + fast-deep-equal "^3.1.3" + merkletreejs "^0.2.24" + tiny-invariant "^1.2.0" + tweetnacl "^1.0.3" + uuid "^9.0.0" + yaml "^2.1.1" + zod "^3.11.6" + +"@thirdweb-dev/storage@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@thirdweb-dev/storage/-/storage-1.0.6.tgz#219bc15d69885421696bd3d0fb90608c2ead2836" + integrity sha512-meao2NFgzLh++9RHBO/belIbReFsxJVYoxuuj2Vt2XT6PuMHPg8zOvQsyT+FQz9cvFwvMW5RNZUTPr0gu2JlxQ== + dependencies: + cross-fetch "^3.1.5" + form-data "^4.0.0" + uuid "^9.0.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@truffle/abi-utils@^0.3.6": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.3.6.tgz#ab35bc437e4c059a5c9a0595cd6df367199493a9" + integrity sha512-61aTH2QmwVA1INaPMufRHTsS6jsEhS+GCkuCDdvBDmwctSnCKGDOr185BGt65QrpMRxYmIoH6WFBSNMYxW9GRw== + dependencies: + change-case "3.0.2" + fast-check "3.1.1" + web3-utils "1.8.1" + +"@truffle/blockchain-utils@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@truffle/blockchain-utils/-/blockchain-utils-0.1.6.tgz#7ea0a16b8135e5aeb688bf3bd014fa8f6ba45adb" + integrity sha512-SldoNRIFSm3+HMBnSc2jFsu5TWDkCN4X6vL3wrd0t6DIeF7nD6EoPPjxwbFSoqCnkkRxMuZeL6sUx7UMJS/wSA== + +"@truffle/codec@^0.14.13": + version "0.14.13" + resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.14.13.tgz#f8cab4c2de6fb425d4b70668835aa2a60a9ee3de" + integrity sha512-x9fx5IH7K7caQ8CVK9rdiyxmMHxBfHFR/CTr11CYsS+WcS3bdJ3FJrnOFfLydAQJb21oLX9PeiErU0fOYoYY6Q== + dependencies: + "@truffle/abi-utils" "^0.3.6" + "@truffle/compile-common" "^0.9.2" + big.js "^6.0.3" + bn.js "^5.1.3" + cbor "^5.2.0" + debug "^4.3.1" + lodash "^4.17.21" + semver "7.3.7" + utf8 "^3.0.0" + web3-utils "1.8.1" + +"@truffle/compile-common@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@truffle/compile-common/-/compile-common-0.9.2.tgz#da8aed5c9c8da119cb4b7ee5a425d2559a99bfb7" + integrity sha512-n7MF/4/dntccj44RGe3PRMD8Vk46PU8dJtzd1VLAfgokK2Y2N+SjAzDskBnmAydZVWAM315nZIUQsgnY8xoATw== + dependencies: + "@truffle/error" "^0.2.0" + colors "1.4.0" + +"@truffle/contract-schema@^3.4.11": + version "3.4.11" + resolved "https://registry.yarnpkg.com/@truffle/contract-schema/-/contract-schema-3.4.11.tgz#ac5fc8be656b786c2bd5d3a2ca6faeb2949e7ff3" + integrity sha512-wReyVZUPyU9Zy5PSCugBLG1nnruBmRAJ/gmoirQiJ9N2n+s1iGBTY49tkDqFMz3XUUE0kplfdb9YKZJlLkTWzQ== + dependencies: + ajv "^6.10.0" + debug "^4.3.1" + +"@truffle/contract@^4.2.6": + version "4.6.12" + resolved "https://registry.yarnpkg.com/@truffle/contract/-/contract-4.6.12.tgz#1206edcad3acba98f13863c9b2329ea791431914" + integrity sha512-yNB5oN0d/AQgDMQQnoCjFDODMFuXUPbSRwK2vLAlX4/IwNZNJrNAkFPEaknMAvYWzZJjNWOj5lJraNc7Xn/enA== + dependencies: + "@ensdomains/ensjs" "^2.1.0" + "@truffle/blockchain-utils" "^0.1.6" + "@truffle/contract-schema" "^3.4.11" + "@truffle/debug-utils" "^6.0.44" + "@truffle/error" "^0.2.0" + "@truffle/interface-adapter" "^0.5.27" + bignumber.js "^7.2.1" + debug "^4.3.1" + ethers "^4.0.32" + web3 "1.8.1" + web3-core-helpers "1.8.1" + web3-core-promievent "1.8.1" + web3-eth-abi "1.8.1" + web3-utils "1.8.1" + +"@truffle/debug-utils@^6.0.44": + version "6.0.44" + resolved "https://registry.yarnpkg.com/@truffle/debug-utils/-/debug-utils-6.0.44.tgz#f117f1c347d294723f9c376bc9e951f94a569b1e" + integrity sha512-JYJ6C1+g9KloF3h+i9VbWFh08JTdme2nXsyaMcidgdCbZaenPxUHtdOUM6WI+nIpw8dgdjXgqXbuRsAnVb9vnQ== + dependencies: + "@truffle/codec" "^0.14.13" + "@trufflesuite/chromafi" "^3.0.0" + bn.js "^5.1.3" + chalk "^2.4.2" + debug "^4.3.1" + highlightjs-solidity "^2.0.5" + +"@truffle/error@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.2.0.tgz#65de6f03f5c041f883cc87677eecf8231428f1ab" + integrity sha512-Fe0/z4WWb7IP2gBnv3l6zqP87Y0kSMs7oiSLakKJq17q3GUunrHSdioKuNspdggxkXIBhEQLhi8C+LJdwmHKWQ== + +"@truffle/interface-adapter@^0.5.27": + version "0.5.27" + resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.5.27.tgz#1abfb6a8a3315dfe12d58df4f2424b14157b70d1" + integrity sha512-cKNPVFshlohIdVPnfrZehMs0LuqOpd0yzCOTqlFFile2hCsdB/KkiWeK8nqaDV9o3n/5eXNkqPutbXtbs8Cl+g== + dependencies: + bn.js "^5.1.3" + ethers "^4.0.32" + web3 "1.8.1" + +"@trufflesuite/chromafi@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@trufflesuite/chromafi/-/chromafi-3.0.0.tgz#f6956408c1af6a38a6ed1657783ce59504a1eb8b" + integrity sha512-oqWcOqn8nT1bwlPPfidfzS55vqcIDdpfzo3HbU9EnUmcSTX+I8z0UyUFI3tZQjByVJulbzxHxUGS3ZJPwK/GPQ== + dependencies: + camelcase "^4.1.0" + chalk "^2.3.2" + cheerio "^1.0.0-rc.2" + detect-indent "^5.0.0" + highlight.js "^10.4.1" + lodash.merge "^4.6.2" + strip-ansi "^4.0.0" + strip-indent "^2.0.0" + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + +"@types/aria-query@^4.2.0": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" + integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== + +"@types/aria-query@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc" + integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q== + +"@types/big.js@^6.1.6": + version "6.1.6" + resolved "https://registry.yarnpkg.com/@types/big.js/-/big.js-6.1.6.tgz#3d417e758483d55345a03a087f7e0c87137ca444" + integrity sha512-0r9J+Zz9rYm2hOTwiMAVkm3XFQ4u5uTK37xrQMhc9bysn/sf/okzovWMYYIBMFTn/yrEZ11pusgLEaoarTlQbA== + +"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.5": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + +"@types/bn.js@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + dependencies: + "@types/node" "*" + +"@types/cacheable-request@^6.0.1", "@types/cacheable-request@^6.0.2": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/connect@^3.4.33": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/hoist-non-react-statics@^3.3.0": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/http-cache-semantics@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/js-cookie@^2.2.6": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" + integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== + +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + +"@types/lodash.isequal@^4.5.5": + version "4.5.6" + resolved "https://registry.yarnpkg.com/@types/lodash.isequal/-/lodash.isequal-4.5.6.tgz#ff42a1b8e20caa59a97e446a77dc57db923bc02b" + integrity sha512-Ww4UGSe3DmtvLLJm2F16hDwEQSv7U0Rr8SujLUA2wHI2D2dm8kPu6Et+/y303LfjTIwSBKXB/YTUcAKpem/XEg== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*": + version "4.14.191" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== + +"@types/node@*": + version "18.11.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== + +"@types/node@11.11.6": + version "11.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" + integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== + +"@types/node@^12.12.54", "@types/node@^12.12.6": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/node@^14.14.31": + version "14.18.36" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.36.tgz#c414052cb9d43fab67d679d5f3c641be911f5835" + integrity sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + +"@types/prop-types@*", "@types/prop-types@^15.7.5": + version "15.7.5" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/puppeteer-core@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@types/puppeteer-core/-/puppeteer-core-5.4.0.tgz#880a7917b4ede95cbfe2d5e81a558cfcb072c0fb" + integrity sha512-yqRPuv4EFcSkTyin6Yy17pN6Qz2vwVwTCJIDYMXbE3j8vTPhv0nCQlZOl5xfi0WHUkqvQsjAR8hAfjeMCoetwg== + dependencies: + "@types/puppeteer" "*" + +"@types/puppeteer@*": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-7.0.4.tgz#6eb4081323e9075c1f4c353f93ee2ed6eed99487" + integrity sha512-ja78vquZc8y+GM2al07GZqWDKQskQXygCDiu0e3uO0DMRKqE0MjrFBFmTulfPYzLB6WnL7Kl2tFPy0WXSpPomg== + dependencies: + puppeteer "*" + +"@types/react-dom@*", "@types/react-dom@^18.0.8": + version "18.0.10" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.10.tgz#3b66dec56aa0f16a6cc26da9e9ca96c35c0b4352" + integrity sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg== + dependencies: + "@types/react" "*" + +"@types/react-is@^16.7.1 || ^17.0.0": + version "17.0.3" + resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a" + integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== + dependencies: + "@types/react" "*" + +"@types/react-redux@^7.1.20": + version "7.1.25" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.25.tgz#de841631205b24f9dfb4967dd4a7901e048f9a88" + integrity sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg== + dependencies: + "@types/hoist-non-react-statics" "^3.3.0" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + redux "^4.0.0" + +"@types/react-transition-group@^4.4.5": + version "4.4.5" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416" + integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "18.0.27" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.27.tgz#d9425abe187a00f8a5ec182b010d4fd9da703b71" + integrity sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^17.0.38": + version "17.0.53" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.53.tgz#10d4d5999b8af3d6bc6a9369d7eb953da82442ab" + integrity sha512-1yIpQR2zdYu1Z/dc1OxC+MA6GR240u3gcnP4l6mvj/PJiVaqHsQPmWttsvHsfnhfPbU2FuGmo0wSITPygjBmsw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/resize-observer-browser@^0.1.6": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@types/resize-observer-browser/-/resize-observer-browser-0.1.7.tgz#294aaadf24ac6580b8fbd1fe3ab7b59fe85f9ef3" + integrity sha512-G9eN0Sn0ii9PWQ3Vl72jDPgeJwRWhv2Qk/nQkJuWmRmOB4HX3/BhD5SE1dZs/hzPZL/WKnvF0RHdTSG54QJFyg== + +"@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + dependencies: + "@types/node" "*" + +"@types/semver@^7.3.12": + version "7.3.13" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + +"@types/sinonjs__fake-timers@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" + integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== + +"@types/sizzle@^2.3.2": + version "2.3.3" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef" + integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ== + +"@types/testing-library__cypress@5.0.9": + version "5.0.9" + resolved "https://registry.yarnpkg.com/@types/testing-library__cypress/-/testing-library__cypress-5.0.9.tgz#c65f2be0cbb7f11556c1a35fd767d8dd6d1dff23" + integrity sha512-WTiIZhZKWDnV+Tgo42pxff8YfHdmaNFQz/bFoTlmfw2vbXcstCcb39VRaRi5yFHj/lb7t3K47btKYEbR1fci+Q== + dependencies: + "@testing-library/dom" "^7.11.0" + cypress "*" + +"@types/trusted-types@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" + integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== + +"@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^15.0.0": + version "15.0.15" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.15.tgz#e609a2b1ef9e05d90489c2f5f45bbfb2be092158" + integrity sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg== + dependencies: + "@types/yargs-parser" "*" + +"@types/yauzl@^2.9.1": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" + integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== + dependencies: + "@types/node" "*" + +"@typescript-eslint/experimental-utils@^5.3.0": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.48.2.tgz#04057cd6e96d225a6ed10e6881086add6c230781" + integrity sha512-Iwx8De8dwl6qPaPZWIaEfP1feN/YFlA5FlCxF3zUIm+2AG92C5Tefkugj2L9ytOFrmTYkTE/CqvJFZbYoVZQMg== + dependencies: + "@typescript-eslint/utils" "5.48.2" + +"@typescript-eslint/scope-manager@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc" + integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw== + dependencies: + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/visitor-keys" "5.48.2" + +"@typescript-eslint/types@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e" + integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA== + +"@typescript-eslint/typescript-estree@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0" + integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg== + dependencies: + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/visitor-keys" "5.48.2" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.48.2", "@typescript-eslint/utils@^5.13.0": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3" + integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow== + dependencies: + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/typescript-estree" "5.48.2" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060" + integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ== + dependencies: + "@typescript-eslint/types" "5.48.2" + eslint-visitor-keys "^3.3.0" + +"@vanilla-extract/css@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@vanilla-extract/css/-/css-1.9.1.tgz#337b79faa5f8f98915a90c3fe3c30b54be746c09" + integrity sha512-pu2SFiff5jRhPwvGoj8cM5l/qIyLvigOmy22ss5DGjwV5pJYezRjDLxWumi2luIwioMWvh9EozCjyfH8nq+7fQ== + dependencies: + "@emotion/hash" "^0.8.0" + "@vanilla-extract/private" "^1.0.3" + ahocorasick "1.0.2" + chalk "^4.1.1" + css-what "^5.0.1" + cssesc "^3.0.0" + csstype "^3.0.7" + deep-object-diff "^1.1.0" + deepmerge "^4.2.2" + media-query-parser "^2.0.2" + outdent "^0.8.0" + +"@vanilla-extract/dynamic@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@vanilla-extract/dynamic/-/dynamic-2.0.2.tgz#13a3e461964c8029a52e6b6b631009ca6a8b27f5" + integrity sha512-U4nKaEQ8Kuz+exXEr51DUpyaOuzo24/S/k1YbDPQR06cYcNjQqvwFRnwWtZ+9ImocqM1wTKtzrdUgSTtLGIwAg== + dependencies: + "@vanilla-extract/private" "^1.0.3" + +"@vanilla-extract/private@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@vanilla-extract/private/-/private-1.0.3.tgz#7ec72bc2ff6fe51f9d650f962e8d1989b073690f" + integrity sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ== + +"@vanilla-extract/sprinkles@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@vanilla-extract/sprinkles/-/sprinkles-1.5.0.tgz#c921183ae518bb484299c2dc81f2acefd91c3dbe" + integrity sha512-W58f2Rzz5lLmk0jbhgStVlZl5wEiPB1Ur3fRvUaBM+MrifZ3qskmFq/CiH//fEYeG5Dh9vF1qRviMMH46cX9Nw== + +"@vercel/analytics@^0.1.8": + version "0.1.8" + resolved "https://registry.yarnpkg.com/@vercel/analytics/-/analytics-0.1.8.tgz#71f1f8c7bb98ac0c5c47eb3fb8ccbe8141b9fe47" + integrity sha512-PQrOI8BJ9qUiVJuQfnKiJd15eDjDJH9TBKsNeMrtelT4NAk7d9mBVz1CoZkvoFnHQ0OW7Xnqmr1F2nScfAnznQ== + +"@vitejs/plugin-react@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz#1b9f63b8b6bc3f56258d20cd19b33f5cc761ce6e" + integrity sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA== + dependencies: + "@babel/core" "^7.19.6" + "@babel/plugin-transform-react-jsx" "^7.19.0" + "@babel/plugin-transform-react-jsx-development" "^7.18.6" + "@babel/plugin-transform-react-jsx-self" "^7.18.6" + "@babel/plugin-transform-react-jsx-source" "^7.19.6" + magic-string "^0.26.7" + react-refresh "^0.14.0" + +"@wagmi/chains@0.1.10": + version "0.1.10" + resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-0.1.10.tgz#36e1db48dcbb12c7859971c304291a06b2733f94" + integrity sha512-UD6KFKGYOt049EoZfWYHqsV2eu8DikJgv5TQW6LoIIv4t1btIJsG8k79H5Di74VF+39M36PKkpcm0qj84TpaNQ== + +"@wagmi/connectors@0.1.8": + version "0.1.8" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-0.1.8.tgz#f59434e2153747e42719f7517b67d4dd22b0330c" + integrity sha512-v5rK/RDkyTm+XQ7f+/Uh/YIqDdhzzo+K+wdKsvoghNs3kioFxBjtKnFy+9KILCXppjbglThNJyhg08g8Q9QqMQ== + dependencies: + "@coinbase/wallet-sdk" "^3.5.4" + "@ledgerhq/connect-kit-loader" "^1.0.1" + "@walletconnect/ethereum-provider" "^1.8.0" + "@walletconnect/universal-provider" "^2.2.1" + "@web3modal/standalone" "^2.0.0-rc.2" + abitype "^0.1.8" + eventemitter3 "^4.0.7" + +"@wagmi/core@0.8.15": + version "0.8.15" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-0.8.15.tgz#fdf07d44bb4a46213f515fa896412fe0c3b63b96" + integrity sha512-HTfLHNbTygxTG47Unae9HbmMkwZZvtAK9oMP9RmWwZup+LaiExxb7EF0TGJt7J4gtXnHDXPkwcx12lwRmc7YvA== + dependencies: + "@wagmi/chains" "0.1.10" + "@wagmi/connectors" "0.1.8" + abitype "^0.2.5" + eventemitter3 "^4.0.7" + zustand "^4.3.1" + +"@walletconnect/browser-utils@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz#33c10e777aa6be86c713095b5206d63d32df0951" + integrity sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A== + dependencies: + "@walletconnect/safe-json" "1.0.0" + "@walletconnect/types" "^1.8.0" + "@walletconnect/window-getters" "1.0.0" + "@walletconnect/window-metadata" "1.0.0" + detect-browser "5.2.0" + +"@walletconnect/client@^1.7.5", "@walletconnect/client@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.8.0.tgz#6f46b5499c7c861c651ff1ebe5da5b66225ca696" + integrity sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ== + dependencies: + "@walletconnect/core" "^1.8.0" + "@walletconnect/iso-crypto" "^1.8.0" + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + +"@walletconnect/core@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.2.1.tgz#2dc6b8b2c438919a800ae4b76832661b922a3511" + integrity sha512-UoXohoIavMxj2iUOcnixY8uGl0sibJdGU6UX9zkke2Wgc2UKsvtkFZ/ZU3YG1XrIPWSpZ94lkhkNGstuRKz0wQ== + dependencies: + "@walletconnect/heartbeat" "^1.0.1" + "@walletconnect/jsonrpc-provider" "^1.0.6" + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/jsonrpc-ws-connection" "^1.0.6" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/relay-api" "^1.0.7" + "@walletconnect/relay-auth" "^1.0.4" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.2.1" + "@walletconnect/utils" "2.2.1" + events "^3.3.0" + lodash.isequal "4.5.0" + pino "7.11.0" + uint8arrays "3.1.0" + +"@walletconnect/core@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.8.0.tgz#6b2748b90c999d9d6a70e52e26a8d5e8bfeaa81e" + integrity sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw== + dependencies: + "@walletconnect/socket-transport" "^1.8.0" + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + +"@walletconnect/crypto@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.3.tgz#7b8dd4d7e2884fe3543c7c07aea425eef5ef9dd4" + integrity sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g== + dependencies: + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/environment" "^1.0.1" + "@walletconnect/randombytes" "^1.0.3" + aes-js "^3.1.2" + hash.js "^1.1.7" + tslib "1.14.1" + +"@walletconnect/encoding@^1.0.1", "@walletconnect/encoding@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.2.tgz#cb3942ad038d6a6bf01158f66773062dd25724da" + integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag== + dependencies: + is-typedarray "1.0.0" + tslib "1.14.1" + typedarray-to-buffer "3.1.5" + +"@walletconnect/environment@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" + integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== + dependencies: + tslib "1.14.1" + +"@walletconnect/ethereum-provider@1.7.5": + version "1.7.5" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-1.7.5.tgz#2cc6e8759b9a4cf1ea400e3c5d779faf7846b92a" + integrity sha512-hEY7YhQSCcUccwuVgQvpL/FZB6ov07ad+FZ0NSsr8Xv54ysmgoaE8tdReVa8zrGK2LCuB6mtfSGx2E0bZ2H4Ng== + dependencies: + "@walletconnect/client" "^1.7.5" + "@walletconnect/jsonrpc-http-connection" "^1.0.0" + "@walletconnect/jsonrpc-provider" "^1.0.2" + "@walletconnect/signer-connection" "^1.7.5" + "@walletconnect/types" "^1.7.5" + "@walletconnect/utils" "^1.7.5" + eip1193-provider "1.0.1" + eventemitter3 "4.0.7" + +"@walletconnect/ethereum-provider@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-1.8.0.tgz#ed1dbf9cecc3b818758a060d2f9017c50bde1d32" + integrity sha512-Nq9m+oo5P0F+njsROHw9KMWdoc/8iGHYzQdkjJN/1C7DtsqFRg5k5a3hd9rzCLpbPsOC1q8Z5lRs6JQgDvPm6Q== + dependencies: + "@walletconnect/client" "^1.8.0" + "@walletconnect/jsonrpc-http-connection" "^1.0.2" + "@walletconnect/jsonrpc-provider" "^1.0.5" + "@walletconnect/signer-connection" "^1.8.0" + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + eip1193-provider "1.0.1" + eventemitter3 "4.0.7" + +"@walletconnect/events@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" + integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/heartbeat@^1.0.1": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.0.tgz#1e87dd234cb72b0587b84f95c4f942f2b4bd0c79" + integrity sha512-0vbzTa/ARrpmMmOD+bQMxPvFYKtOLQZObgZakrYr0aODiMOO71CmPVNV2eAqXnw9rMmcP+z91OybLeIFlwTjjA== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + chai "^4.3.7" + mocha "^10.2.0" + ts-node "^10.9.1" + tslib "1.14.1" + +"@walletconnect/http-connection@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/http-connection/-/http-connection-1.8.0.tgz#c19fff5c179d5180d8b974faef2621bd012adb4e" + integrity sha512-IziEr3c53qsMromK7jz0EkbKDHlryRbxXdFR+xaG+S5nfxtUdAfjzlZabvczXdDCgmTij6KbNsZAjBMqCBzACw== + dependencies: + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + eventemitter3 "4.0.7" + xhr2-cookies "1.1.0" + +"@walletconnect/iso-crypto@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz#44ddf337c4f02837c062dbe33fa7ab36789df451" + integrity sha512-pWy19KCyitpfXb70hA73r9FcvklS+FvO9QUIttp3c2mfW8frxgYeRXfxLRCIQTkaYueRKvdqPjbyhPLam508XQ== + dependencies: + "@walletconnect/crypto" "^1.0.2" + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + +"@walletconnect/jsonrpc-http-connection@^1.0.0", "@walletconnect/jsonrpc-http-connection@^1.0.2", "@walletconnect/jsonrpc-http-connection@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.4.tgz#aeb0f7eae6565dd031f01d650ee73d358d760ee2" + integrity sha512-ji79pspdBhmIbTwve383tMaDu5Le9plW+oj5GE2aqzxIl3ib8JvRBZRn5lGEBGqVCvqB3MBJL7gBlEwpyRtoxQ== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/safe-json" "^1.0.1" + cross-fetch "^3.1.4" + tslib "1.14.1" + +"@walletconnect/jsonrpc-provider@^1.0.2", "@walletconnect/jsonrpc-provider@^1.0.5", "@walletconnect/jsonrpc-provider@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.6.tgz#e91321ef523f1904e6634e7866a0f3c6f056d2cd" + integrity sha512-f5vQxr53vUVQ51/9mRLb1OiNciT/546XZ68Byn9OYnDBGeGJXK2kQWDHp8sPWZbN5x0p7B6asdCWMVFJ6danlw== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/safe-json" "^1.0.1" + tslib "1.14.1" + +"@walletconnect/jsonrpc-types@^1.0.1", "@walletconnect/jsonrpc-types@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz#b79519f679cd6a5fa4a1bea888f27c1916689a20" + integrity sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.4.tgz#2009ba3907b02516f2caacd2fb871ff0d472b2cb" + integrity sha512-y0+tDxcTZ9BHBBKBJbjZxLUXb+zQZCylf7y/jTvDPNx76J0hYYc+F9zHzyqBLeorSKepLTk6yI8hw3NXbAQB3g== + dependencies: + "@walletconnect/environment" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.2" + tslib "1.14.1" + +"@walletconnect/jsonrpc-ws-connection@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.6.tgz#8ef6747ddf9347f4b61c136d06fcdae6c7efad39" + integrity sha512-WFu8uTXbIDgxFfyax9uNcqFYtexUq/OdCA3SBsOqIipsnJFbjXK8OaR8WCoec4tkJbDRQO9mrr1KpA0ZlIcnCQ== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/safe-json" "^1.0.1" + events "^3.3.0" + tslib "1.14.1" + ws "^7.5.1" + +"@walletconnect/keyvaluestorage@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz#92f5ca0f54c1a88a093778842ce0c874d86369c8" + integrity sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ== + dependencies: + safe-json-utils "^1.1.1" + tslib "1.14.1" + +"@walletconnect/logger@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" + integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== + dependencies: + pino "7.11.0" + tslib "1.14.1" + +"@walletconnect/mobile-registry@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5" + integrity sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw== + +"@walletconnect/qrcode-modal@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz#ddd6f5c9b7ee52c16adf9aacec2a3eac4994caea" + integrity sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg== + dependencies: + "@walletconnect/browser-utils" "^1.8.0" + "@walletconnect/mobile-registry" "^1.4.0" + "@walletconnect/types" "^1.8.0" + copy-to-clipboard "^3.3.1" + preact "10.4.1" + qrcode "1.4.4" + +"@walletconnect/randombytes@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.3.tgz#e795e4918367fd1e6a2215e075e64ab93e23985b" + integrity sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw== + dependencies: + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/environment" "^1.0.1" + randombytes "^2.1.0" + tslib "1.14.1" + +"@walletconnect/relay-api@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.7.tgz#e7aed03cbaff99ecdf2c8d32280c0b5d673bb419" + integrity sha512-Mf/Ql7Z0waZzAuondHS9bbUi12Kyvl95ihxVDM7mPO8o7Ke7S1ffpujCUhXbSacSKcw9aV2+7bKADlsBjQLR5Q== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + tslib "1.14.1" + +"@walletconnect/relay-auth@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" + integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== + dependencies: + "@stablelib/ed25519" "^1.0.2" + "@stablelib/random" "^1.0.1" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" + uint8arrays "^3.0.0" + +"@walletconnect/safe-json@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2" + integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== + +"@walletconnect/safe-json@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.1.tgz#9813fa0a7a544b16468730c2d7bed046ed160957" + integrity sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A== + dependencies: + tslib "1.14.1" + +"@walletconnect/sign-client@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.2.1.tgz#eb29419d7bb8872a2e1ed6b48e7e56af39f6a073" + integrity sha512-oABkkYPU8tlN42U8ht3Um7bzwrRiUb2S74Y0rWjc3xfs76g6MLO5Ja4ER1jAhCcECs9tFf84wdNwLLhT77JoSg== + dependencies: + "@walletconnect/core" "2.2.1" + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "^1.0.1" + "@walletconnect/jsonrpc-provider" "^1.0.6" + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.2.1" + "@walletconnect/utils" "2.2.1" + events "^3.3.0" + pino "7.11.0" + +"@walletconnect/signer-connection@^1.7.5", "@walletconnect/signer-connection@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz#6cdf490df770e504cc1a550bdb5bac7696b130bc" + integrity sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA== + dependencies: + "@walletconnect/client" "^1.8.0" + "@walletconnect/jsonrpc-types" "^1.0.1" + "@walletconnect/jsonrpc-utils" "^1.0.3" + "@walletconnect/qrcode-modal" "^1.8.0" + "@walletconnect/types" "^1.8.0" + eventemitter3 "4.0.7" + +"@walletconnect/socket-transport@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/socket-transport/-/socket-transport-1.8.0.tgz#9a1128a249628a0be11a0979b522fe82b44afa1b" + integrity sha512-5DyIyWrzHXTcVp0Vd93zJ5XMW61iDM6bcWT4p8DTRfFsOtW46JquruMhxOLeCOieM4D73kcr3U7WtyR4JUsGuQ== + dependencies: + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + ws "7.5.3" + +"@walletconnect/time@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" + integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== + dependencies: + tslib "1.14.1" + +"@walletconnect/types@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.2.1.tgz#94e45a48e4d6d96d49b94f822182091df055b870" + integrity sha512-97Ko6u6jC/B/7ymI2ddc+Hdn4x47Pkv0Y7IYHU0RD/J9878S5pJ2nQjDfWhvfDp1GWKgzHVDy6VHwaxDiLtkSw== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + events "^3.3.0" + +"@walletconnect/types@^1.7.5", "@walletconnect/types@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.8.0.tgz#3f5e85b2d6b149337f727ab8a71b8471d8d9a195" + integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== + +"@walletconnect/universal-provider@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.2.1.tgz#9d0d8dc41846e23486e2b89d4f264a7c965df2f0" + integrity sha512-6I4JxAZ5rC+UQCqsVjMlZ/EmYP7z16J7Kixqh1Iw7Ro7SnSfFeahUr80sctGs2vR7XF1ADzVyxmreJBriXdXDg== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.4" + "@walletconnect/jsonrpc-provider" "^1.0.6" + "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/sign-client" "2.2.1" + "@walletconnect/types" "2.2.1" + "@walletconnect/utils" "2.2.1" + eip1193-provider "1.0.1" + events "^3.3.0" + pino "7.11.0" + +"@walletconnect/utils@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.2.1.tgz#c8e991c5a58902fac900d0628b2aa59e28aef6a3" + integrity sha512-DkjYcWMMBGznlyuenJkt1Z+IcPchhVbnYwMeQIZCu7gSbL9nUBsyzixfcWat5lapsBeGJDquhV63dU8pbkdhfg== + dependencies: + "@stablelib/chacha20poly1305" "1.0.1" + "@stablelib/hkdf" "1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/sha256" "1.0.1" + "@stablelib/x25519" "^1.0.3" + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/relay-api" "^1.0.7" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.2.1" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "5.3.0" + query-string "7.1.1" + uint8arrays "3.1.0" + +"@walletconnect/utils@^1.7.5", "@walletconnect/utils@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.8.0.tgz#2591a197c1fa7429941fe428876088fda6632060" + integrity sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA== + dependencies: + "@walletconnect/browser-utils" "^1.8.0" + "@walletconnect/encoding" "^1.0.1" + "@walletconnect/jsonrpc-utils" "^1.0.3" + "@walletconnect/types" "^1.8.0" + bn.js "4.11.8" + js-sha3 "0.8.0" + query-string "6.13.5" + +"@walletconnect/web3-provider@^1.0.15", "@walletconnect/web3-provider@^1.5.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@walletconnect/web3-provider/-/web3-provider-1.8.0.tgz#e90d903f4c609b7158ecb5f0f41df121e93b56b5" + integrity sha512-lqqEO0oRmCehH+c8ZPk3iH7I7YtbzmkWd58/Or2AgWAl869JamzndKCD3sTlNsPRQLxxPpraHQqzur7uclLWvg== + dependencies: + "@walletconnect/client" "^1.8.0" + "@walletconnect/http-connection" "^1.8.0" + "@walletconnect/qrcode-modal" "^1.8.0" + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + web3-provider-engine "16.0.1" + +"@walletconnect/window-getters@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.0.tgz#1053224f77e725dfd611c83931b5f6c98c32bfc8" + integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA== + +"@walletconnect/window-getters@^1.0.0", "@walletconnect/window-getters@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" + integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== + dependencies: + tslib "1.14.1" + +"@walletconnect/window-metadata@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz#93b1cc685e6b9b202f29c26be550fde97800c4e5" + integrity sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA== + dependencies: + "@walletconnect/window-getters" "^1.0.0" + +"@walletconnect/window-metadata@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== + dependencies: + "@walletconnect/window-getters" "^1.0.1" + tslib "1.14.1" + +"@web3-react/abstract-connector@^6.0.7", "@web3-react/abstract-connector@latest": + version "6.0.7" + resolved "https://registry.yarnpkg.com/@web3-react/abstract-connector/-/abstract-connector-6.0.7.tgz#401b3c045f1e0fab04256311be49d5144e9badc6" + integrity sha512-RhQasA4Ox8CxUC0OENc1AJJm8UTybu/oOCM61Zjg6y0iF7Z0sqv1Ai1VdhC33hrQpA8qSBgoXN9PaP8jKmtdqg== + dependencies: + "@web3-react/types" "^6.0.7" + +"@web3-react/authereum-connector@latest": + version "6.2.0" + resolved "https://registry.yarnpkg.com/@web3-react/authereum-connector/-/authereum-connector-6.2.0.tgz#d3e7379e4d6fc52add4bdd8dfdce1a2747ac23f0" + integrity sha512-we4DJwUrGbDd1gJ+cPMEGXq9+fsIEleJkFc+S+NEKyDoHoNGrPX8h4QqKRS3rgi6oCliPbtSPIf7g9DBjDFDTA== + dependencies: + "@web3-react/abstract-connector" "^6.0.7" + "@web3-react/types" "^6.0.7" + authereum "^0.1.14" + +"@web3-react/core@^6.1.9": + version "6.1.9" + resolved "https://registry.yarnpkg.com/@web3-react/core/-/core-6.1.9.tgz#5f5daa0545a8ea07770a699580ced552583afc97" + integrity sha512-P877DslsbAkWIlMANpWiK7pCvNwlz0kJC0EGckuVh0wlA23J4UnFxq6xyOaxkxaDCu14rA/tAO0NbwjcXTQgSA== + dependencies: + "@ethersproject/keccak256" "^5.0.0-beta.130" + "@web3-react/abstract-connector" "^6.0.7" + "@web3-react/types" "^6.0.7" + tiny-invariant "^1.0.6" + tiny-warning "^1.0.3" + +"@web3-react/injected-connector@^6.0.7": + version "6.0.7" + resolved "https://registry.yarnpkg.com/@web3-react/injected-connector/-/injected-connector-6.0.7.tgz#1e0be23f51fa07fe6547fe986768a46b74c3a426" + integrity sha512-Y7aJSz6pg+MWKtvdyuqyy6LWuH+4Tqtph1LWfiyVms9II9ar/9B/de4R8wh4wjg91wmHkU+D75yP09E/Soh2RA== + dependencies: + "@web3-react/abstract-connector" "^6.0.7" + "@web3-react/types" "^6.0.7" + tiny-warning "^1.0.3" + +"@web3-react/types@^6.0.7": + version "6.0.7" + resolved "https://registry.yarnpkg.com/@web3-react/types/-/types-6.0.7.tgz#34a6204224467eedc6123abaf55fbb6baeb2809f" + integrity sha512-ofGmfDhxmNT1/P/MgVa8IKSkCStFiyvXe+U5tyZurKdrtTDFU+wJ/LxClPDtFerWpczNFPUSrKcuhfPX1sI6+A== + +"@web3-react/walletconnect-connector@6.2.4": + version "6.2.4" + resolved "https://registry.yarnpkg.com/@web3-react/walletconnect-connector/-/walletconnect-connector-6.2.4.tgz#0a128699fc93ddac885935f4aeca32925f6285f0" + integrity sha512-IEVjCXrlcfVa6ggUBEyKtLRaLQuZGtT2lGuzOFtdbJJkN84u1++pzzeDrcsVhKAoS5wq33zyJT9baEbG1Aed8g== + dependencies: + "@walletconnect/web3-provider" "^1.5.0" + "@web3-react/abstract-connector" "^6.0.7" + "@web3-react/types" "^6.0.7" + tiny-invariant "^1.0.6" + +"@web3modal/core@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-2.0.0.tgz#151bc60702fb5e8367a06a97a8fe39a81226409d" + integrity sha512-ZoM3U5DndBAVnnkBJ3hIkOKO81VtWfyda458D1vdN/T6q8IoWzWZR5QHZNc1qNKqm7ecXfEpsPj2YMS3bgOY2A== + dependencies: + buffer "6.0.3" + valtio "1.9.0" + +"@web3modal/standalone@^2.0.0-rc.2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@web3modal/standalone/-/standalone-2.0.0.tgz#359aa42e31020bf3d608d8668329ab4e2fdbcaf6" + integrity sha512-/YcAWgnVtTFeVFrHlhYemS1NU9ds9nbMuV1njjbS9+yDirOXfUenPORi6X1AGs5pUrDnR4IwDgQzdd5wqg6kZw== + dependencies: + "@web3modal/core" "2.0.0" + "@web3modal/ui" "2.0.0" + +"@web3modal/ui@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-2.0.0.tgz#a06127bc09bb0da2a914f51f91bd54b636b4ff88" + integrity sha512-kNSXD/YI+Sl92hxMzsjkRWUj8H+CyV89WDS0Ywy2YV9HxVzC6MzntnsYZ4rti5//IzeDlxPhTKKaiBWE68Gwzw== + dependencies: + "@web3modal/core" "2.0.0" + lit "2.6.1" + motion "10.15.5" + qrcode "1.5.1" + +"@xobotyi/scrollbar-width@^1.9.5": + version "1.9.5" + resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d" + integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ== + +"@zag-js/anatomy@0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@zag-js/anatomy/-/anatomy-0.1.3.tgz#67edf232817b031a3d7dd6a49d6f64e1111e86fd" + integrity sha512-jiXEJ9aMmLs/0lGTOjrji7ug8QKwM0EpLfzStzTJ7TOSCLaASyKqGsL6J9pRDl6Zo2n/DgjdQY5gjGMNNhtHow== + +"@zag-js/core@0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@zag-js/core/-/core-0.2.5.tgz#e2cad585b3d0acd4a18a9f977ea42a4d9a6f3915" + integrity sha512-fPcC4B/fHg4Fj3MA65Hzu6r5iPUtxzcUJ3V59pDZjdfeomCMKdxhMGRkwDrkmesCP+tfJ6xqJiIGEPgPCLmfyA== + dependencies: + "@zag-js/store" "0.2.3" + klona "2.0.5" + +"@zag-js/dismissable@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@zag-js/dismissable/-/dismissable-0.2.1.tgz#ee0537920c66d3700b360096b1d5d51c9de60b5e" + integrity sha512-TrwxZKrux369iVJm/Gmsa8RG7GLSdJI+8qJxrFTStQu5MvBKRj6JZ5uQez1wieCnSgXwZHx9izqdcN2yYBBB8w== + dependencies: + "@zag-js/interact-outside" "0.2.1" + +"@zag-js/interact-outside@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@zag-js/interact-outside/-/interact-outside-0.2.1.tgz#2f8b662cae0ec800f97e153b76ede7fad9c445aa" + integrity sha512-ZR8sm0yuqbJ9yU5+y0fJTuH412cWZ3gBkqZl0mpolRIKwqUKttUIXDy5Xinb5JpDn/Dj7VES1aexhxRMPJzOdA== + +"@zag-js/menu@^0.3.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@zag-js/menu/-/menu-0.3.4.tgz#428fabd36f4913b033a9dcc6e68414f4ae79e67c" + integrity sha512-smieqlmCpN1eAxoO39tzgbS3nQN6AbyfvkFvKCSki/sUostPUbIXFx1Z7ZA/tvJp3VnuTpn2p8KTF9okpdFmiQ== + dependencies: + "@zag-js/anatomy" "0.1.3" + "@zag-js/core" "0.2.5" + "@zag-js/dismissable" "0.2.1" + "@zag-js/popper" "0.2.2" + "@zag-js/types" "0.3.3" + +"@zag-js/popper@0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@zag-js/popper/-/popper-0.2.2.tgz#52b44a66e815d049fed90806bf33f495c7b5f89b" + integrity sha512-hZuXgeadtQx5vEJR1VcFEwl7wbmlGiNJCix3hQpzVl76JR6I8SViE3EpUcCQAYR5lrrrQyzIngKrbjs7p3YDbQ== + dependencies: + "@floating-ui/dom" "1.1.0" + +"@zag-js/react@^0.3.1": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@zag-js/react/-/react-0.3.4.tgz#24beb371558a6b312562bc439e61eca188bf4c3a" + integrity sha512-HepIuIqtQZJdu4FovwFinynlVKy3VFUfUo7JxEgr2C8Sul8PfbXT+OrTlO19jrl6/GOTWwoFwgw2zNHYiQMiSQ== + dependencies: + "@zag-js/core" "0.2.5" + "@zag-js/store" "0.2.3" + "@zag-js/types" "0.3.3" + proxy-compare "2.4.0" + +"@zag-js/store@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@zag-js/store/-/store-0.2.3.tgz#3c2ee8d7335a9a4f457e2b97a24bc30f45a9e74d" + integrity sha512-Qcb2mCdB0YxKl5FVWBNU5FLRFNpnTVe4v5rAG/ftXXPCiuSAzm3l62FPqzWb+Dbun7BuhKgVUZqbOVsHEV0Scg== + dependencies: + proxy-compare "2.4.0" + +"@zag-js/types@0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@zag-js/types/-/types-0.3.3.tgz#992b57eb7f6709a815b7b5bddce8819064e74e68" + integrity sha512-OLZKFo2aPOmxFeaqUH9DUFiE+iLKgAxAvxhD8HhmQJOJlyUC1jXgCv6fOG5so7UUKWz+yitPjHYjys6ReymZdQ== + dependencies: + csstype "3.1.1" + +"@zeit/schemas@2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@zeit/schemas/-/schemas-2.6.0.tgz#004e8e553b4cd53d538bd38eac7bcbf58a867fe3" + integrity sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg== + +JSONStream@^1.0.3, JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abi-decoder@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/abi-decoder/-/abi-decoder-2.3.0.tgz#e56b4e7b45f9a612c8aa2c76655948e7bb2687b3" + integrity sha512-RZXG5mo1JhJjTBg/4NXlS8hyTr2fxiuFaz3UveRpoX9IIc3LPHmWz89dFqTHNQVbWi3VZqxSJqfUwWpb/mCHxA== + dependencies: + web3-eth-abi "^1.2.1" + web3-utils "^1.2.1" + +abitype@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.1.8.tgz#f47d397b95d81a445a0d0ef2fdd7827131b3fd74" + integrity sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ== + +abitype@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.2.5.tgz#e571ef2ed99db1cae551fffde5bcbcee4e446177" + integrity sha512-t1iiokWYpkrziu4WL2Gb6YdGvaP9ZKs7WnA39TI8TsW2E99GVRgDPW/xOKhzoCdyxOYt550CNYEFluCwGaFHaA== + +abortcontroller-polyfill@^1.7.3: + version "1.7.5" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" + integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== + +abstract-leveldown@~2.6.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" + integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== + dependencies: + xtend "~4.0.0" + +abstract-leveldown@~2.7.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" + integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== + dependencies: + xtend "~4.0.0" + +accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-node@^1.2.0, acorn-node@^1.3.0, acorn-node@^1.5.2, acorn-node@^1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn-walk@^8.1.1, acorn-walk@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^7.0.0, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.4.1, acorn@^8.7.0, acorn@^8.8.0: + version "8.8.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + +aes-js@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" + integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== + +agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ahocorasick@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ahocorasick/-/ahocorasick-1.0.2.tgz#9eee93aef9d02bfb476d9b648d9b7a40ef2fd500" + integrity sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA== + +ajv@6.12.6, ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +algo-msgpack-with-bigint@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/algo-msgpack-with-bigint/-/algo-msgpack-with-bigint-2.1.1.tgz#38bb717220525b3ff42232eefdcd9efb9ad405d6" + integrity sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ== + +algosdk@^1.13.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/algosdk/-/algosdk-1.24.1.tgz#afc4102457ae0c38a32de6b84f4d713aedfc9e89" + integrity sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww== + dependencies: + algo-msgpack-with-bigint "^2.1.1" + buffer "^6.0.2" + cross-fetch "^3.1.5" + hi-base32 "^0.5.1" + js-sha256 "^0.9.0" + js-sha3 "^0.8.0" + js-sha512 "^0.8.0" + json-bigint "^1.0.0" + tweetnacl "^1.0.3" + vlq "^2.0.4" + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansicolors@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@^3.1.0, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +append-transform@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" + integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== + dependencies: + default-require-extensions "^3.0.0" + +arbundles@^0.6.21: + version "0.6.22" + resolved "https://registry.yarnpkg.com/arbundles/-/arbundles-0.6.22.tgz#0fd58ec76514f1d6c2db7c5870a6232314f52de6" + integrity sha512-QlSavBHk59mNqgQ6ScxlqaBJlDbSmSrK/uTcF3HojLAZ/4aufTkVTBjl1hSfZ/ZN45oIPgJC05R8SmVARF+8VA== + dependencies: + "@noble/ed25519" "^1.6.1" + "@randlabs/myalgo-connect" "^1.1.2" + "@solana/wallet-adapter-base" "^0.9.2" + algosdk "^1.13.1" + arweave "^1.11.4" + arweave-stream-tx "^1.1.0" + avsc "https://github.com/Bundlr-Network/avsc#csp-fixes" + axios "^0.21.3" + base64url "^3.0.1" + bs58 "^4.0.1" + ethers "^5.5.1" + keccak "^3.0.2" + multistream "^4.1.0" + process "^0.11.10" + secp256k1 "^4.0.2" + tmp-promise "^3.0.2" + +arch@^2.1.1, arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== + +arconnect@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/arconnect/-/arconnect-0.4.2.tgz#83de7638fb46183e82d7ec7efb5594c5f7cdc806" + integrity sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw== + dependencies: + arweave "^1.10.13" + +arg@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arg/-/arg-2.0.0.tgz#c06e7ff69ab05b3a4a03ebe0407fac4cba657545" + integrity sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w== + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + +aria-query@^5.0.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-includes@^3.1.4: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +array.prototype.flat@^1.2.5: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +arweave-stream-tx@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/arweave-stream-tx/-/arweave-stream-tx-1.2.2.tgz#2d5c66554301baacd02586a152fbb198b422112f" + integrity sha512-bNt9rj0hbAEzoUZEF2s6WJbIz8nasZlZpxIw03Xm8fzb9gRiiZlZGW3lxQLjfc9Z0VRUWDzwtqoYeEoB/JDToQ== + dependencies: + exponential-backoff "^3.1.0" + +arweave@^1.10.13, arweave@^1.11.4: + version "1.12.2" + resolved "https://registry.yarnpkg.com/arweave/-/arweave-1.12.2.tgz#e99fb3db0529043ae0c67a89587751f8640058dd" + integrity sha512-gm82sbUd3AqiRxZ9hWRBnC2mRff+kCuVw1cSdMwhUmVyeSgvDxi5GkdCKHUm1tMvu59f45OcZRiL1yEIvvJY2Q== + dependencies: + arconnect "^0.4.2" + asn1.js "^5.4.1" + axios "^0.27.2" + base64-js "^1.5.1" + bignumber.js "^9.0.2" + util "^0.12.4" + +asn1.js@^5.2.0, asn1.js@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +assert@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + +ast-types@^0.13.2: + version "0.13.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-eventemitter@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" + integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== + dependencies: + async "^2.4.0" + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async-mutex@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" + integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== + dependencies: + tslib "^2.0.0" + +async-retry@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +async@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" + integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== + +async@^1.4.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== + +async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.1: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +async@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + +authereum@^0.1.14: + version "0.1.14" + resolved "https://registry.yarnpkg.com/authereum/-/authereum-0.1.14.tgz#5655e543b296d899136e350d09f9cfe4c12fbc38" + integrity sha512-o1lsXXGg+oYDAEutZ8Ak1Qn2Dnk+qSyQ2ZokyLHRSYGJj6HpEHaSlQA6W3VTHD5r68Q+W0JD/BN9hDSF2xyshQ== + dependencies: + async "3.2.0" + bn.js "5.1.2" + ethereum-private-key-to-address "0.0.3" + ethers "4.0.47" + eventemitter3 "4.0.0" + is-buffer "2.0.4" + penpal "4.1.1" + pify "4.0.1" + querystring "0.2.0" + store "2.0.12" + to-hex "0.0.11" + uuidv4 "6.0.6" + web3-provider-engine "15.0.4" + web3-utils "1.2.1" + +autoprefixer@^10.4.13: + version "10.4.13" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== + dependencies: + browserslist "^4.21.4" + caniuse-lite "^1.0.30001426" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +"avsc@https://github.com/Bundlr-Network/avsc#csp-fixes": + version "5.4.7" + resolved "https://github.com/Bundlr-Network/avsc#a730cc8018b79e114b6a3381bbb57760a24c6cef" + +aws-sdk@^2.1236.0: + version "2.1297.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1297.0.tgz#ee9c2d1841a86521c98e8d9899b8f9c50d7e625d" + integrity sha512-hZbG8tfluU2ijCCBQnQzCiPbArFtaWqAUFAWAGZ0+Df7OzTm7ya9fLYV3j3L6p2PacAyAuxXaeMbgMHlHi/D3w== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.16.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + util "^0.12.4" + uuid "8.0.0" + xml2js "0.4.19" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +axios-retry@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-3.3.1.tgz#47624646138aedefbad2ac32f226f4ee94b6dcab" + integrity sha512-RohAUQTDxBSWLFEnoIG/6bvmy8l3TfpkclgStjl5MDCMBDgapAWCmr1r/9harQfWC8bzLC8job6UcL1A1Yc+/Q== + dependencies: + "@babel/runtime" "^7.15.4" + is-retry-allowed "^2.2.0" + +axios@0.26.1, axios@^0.26.0: + version "0.26.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" + integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== + dependencies: + follow-redirects "^1.14.8" + +axios@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== + dependencies: + follow-redirects "1.5.10" + is-buffer "^2.0.2" + +axios@^0.19.0: + version "0.19.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== + dependencies: + follow-redirects "1.5.10" + +axios@^0.21.0, axios@^0.21.1, axios@^0.21.3: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +axios@^0.25.0: + version "0.25.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a" + integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g== + dependencies: + follow-redirects "^1.14.7" + +axios@^0.27.2: + version "0.27.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== + dependencies: + follow-redirects "^1.14.9" + form-data "^4.0.0" + +b4a@^1.0.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.1.tgz#9effac93a469a868d024e16fd77162c653544cbd" + integrity sha512-AsKjNhz72yxteo/0EtQEiwkMUgk/tGmycXlbG4g3Ard2/ULtNLUykGOkeK0egmN27h0xMAhb76jYccW+XTBExA== + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g== + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.14, babel-core@^6.26.0: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + integrity sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q== + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + integrity sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ== + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + integrity sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA== + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + integrity sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ== + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + integrity sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q== + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + integrity sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng== + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + integrity sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw== + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + integrity sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA== + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + integrity sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg== + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + integrity sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg== + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + integrity sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw== + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + integrity sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ== + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + integrity sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-add-module-exports@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz#6caa4ddbe1f578c6a5264d4d3e6c8a2720a7ca2b" + integrity sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg== + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + integrity sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-istanbul@6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" + +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + +babel-plugin-react-generate-property@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-react-generate-property/-/babel-plugin-react-generate-property-1.1.2.tgz#2f861e2661795a242b80284af32573bb2c6cdf3b" + integrity sha512-Wm1OfCfv7juukTZEZHNSYIMxeQEcIhnQQeGlFbML1BesMGZValuCCnEaayg6KyAlT9Y07I5Tz6XmH9YirUfkFQ== + +babel-plugin-react-remove-properties@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-react-remove-properties/-/babel-plugin-react-remove-properties-0.3.0.tgz#7b623fb3c424b6efb4edc9b1ae4cc50e7154b87f" + integrity sha512-vbxegtXGyVcUkCvayLzftU95vuvpYFV85pRpeMpohMHeEY46Qe0VNWfkVVcCbaZ12CXHzDFOj0esumATcW83ng== + +"babel-plugin-styled-components@>= 1.12.0": + version "2.0.7" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz#c81ef34b713f9da2b7d3f5550df0d1e19e798086" + integrity sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-module-imports" "^7.16.0" + babel-plugin-syntax-jsx "^6.18.0" + lodash "^4.17.11" + picomatch "^2.3.0" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + integrity sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw== + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + integrity sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ== + +babel-plugin-syntax-jsx@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + integrity sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw== + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + integrity sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ== + +babel-plugin-transform-async-to-generator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + integrity sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw== + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + integrity sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + integrity sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.23.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + integrity sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw== + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + integrity sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag== + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + integrity sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw== + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + integrity sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + integrity sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug== + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + integrity sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + integrity sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg== + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + integrity sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + integrity sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA== + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + integrity sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg== + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + integrity sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw== + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + integrity sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA== + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + integrity sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ== + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + integrity sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw== + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + integrity sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + integrity sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ== + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + integrity sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + integrity sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw== + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + integrity sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ== + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + integrity sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ== + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-react-qa-classes@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-qa-classes/-/babel-plugin-transform-react-qa-classes-1.6.0.tgz#a98c7e68e9858b5ae1873a9c37df78fa3a6fa1b5" + integrity sha512-r7G9s+j6CiatnTMP+32fbPrfrSSPWJ3LBoESNlCdXWb8oAO2Ubcrgk0TSbpHVMoDpBiyn+zfm2rxdxwdTt3FpQ== + dependencies: + babel-types "^6.26.0" + lodash.camelcase "^4.3.0" + lodash.isstring "^4.0.1" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + pascalcase "^1.0.0" + +babel-plugin-transform-react-styled-components-qa@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-styled-components-qa/-/babel-plugin-transform-react-styled-components-qa-2.1.0.tgz#12136d7a76da07afa899ee59c37e47a2abc69987" + integrity sha512-Db3YCZPuel9JYM8uZ3UAen3Yio5ZPTVbJuLqekxRdZ7fUF185iIHnp275Gb5qu6wDyUH+/L9erYieaigq5qvow== + dependencies: + lodash.camelcase "^4.3.0" + lodash.isstring "^4.0.1" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.upperfirst "4.3.1" + +babel-plugin-transform-regenerator@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + integrity sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg== + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + integrity sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw== + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-preset-env@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" + integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^3.2.6" + invariant "^2.2.2" + semver "^5.3.0" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + integrity sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A== + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg== + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA== + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g== + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babelify@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz#fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5" + integrity sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg== + +babelify@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" + integrity sha512-vID8Fz6pPN5pJMdlUnNFSfrlcx5MUule4k9aKs/zbZPyXxMTcRrB0M4Tarw22L8afr8eYSWxDPYCob3TdrqtlA== + dependencies: + babel-core "^6.0.14" + object-assign "^4.0.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +backoff@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" + integrity sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA== + dependencies: + precond "0.2" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2, base-x@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + +base-x@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a" + integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== + +base64-js@^1.0.2, base64-js@^1.3.1, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base64url@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" + integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +bech32@1.1.4, bech32@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +big-integer@1.6.36: + version "1.6.36" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.36.tgz#78631076265d4ae3555c04f85e7d9d2f3a071a36" + integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg== + +big.js@^6.0.3, big.js@^6.1.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.1.tgz#7205ce763efb17c2e41f26f121c420c6a7c2744f" + integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ== + +bigint-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" + integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== + dependencies: + bindings "^1.3.0" + +bignumber.js@^7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f" + integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== + +bignumber.js@^9.0.0, bignumber.js@^9.0.1, bignumber.js@^9.0.2: + version "9.1.1" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" + integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bind-decorator@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/bind-decorator/-/bind-decorator-1.0.11.tgz#e41bc06a1f65dd9cec476c91c5daf3978488252f" + integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg== + +bindings@^1.2.1, bindings@^1.3.0, bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bip39-light@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/bip39-light/-/bip39-light-1.0.7.tgz#06a72f251b89389a136d3f177f29b03342adc5ba" + integrity sha512-WDTmLRQUsiioBdTs9BmSEmkJza+8xfJmptsNJjxnoq3EydSa/ZBXT6rm66KoT3PJIRYMnhSKNR7S9YL1l7R40Q== + dependencies: + create-hash "^1.1.0" + pbkdf2 "^3.0.9" + +bip39@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.2.tgz#2baf42ff3071fc9ddd5103de92e8f80d9257ee32" + integrity sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ== + dependencies: + "@types/node" "11.11.6" + create-hash "^1.1.0" + pbkdf2 "^3.0.9" + randombytes "^2.0.1" + +bip66@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" + integrity sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw== + dependencies: + safe-buffer "^5.0.1" + +bl@^4.0.3, bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +blake2b-wasm@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" + integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== + dependencies: + b4a "^1.0.1" + nanoassert "^2.0.0" + +blake2b@^2.1.3: + version "2.1.4" + resolved "https://registry.yarnpkg.com/blake2b/-/blake2b-2.1.4.tgz#817d278526ddb4cd673bfb1af16d1ad61e393ba3" + integrity sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A== + dependencies: + blake2b-wasm "^2.4.0" + nanoassert "^2.0.0" + +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +blob-util@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + +bluebird@3.7.2, bluebird@^3.5.0, bluebird@^3.5.2, bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@4.11.8: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + +bn.js@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" + integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== + +bn.js@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0, bn.js@^4.8.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.1, body-parser@^1.16.0: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +borsh@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.6.0.tgz#a7c9eeca6a31ca9e0607cb49f329cb659eb791e1" + integrity sha512-sl5k89ViqsThXQpYa9XDtz1sBl3l1lI313cFUY1HKr+wvMILnb+58xpkqTNrYbelh99dY7K8usxoCusQmqix9Q== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + +borsh@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + +boxen@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-pack@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.1.0.tgz#c34ba10d0b9ce162b5af227c7131c92c2ecd5774" + integrity sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA== + dependencies: + JSONStream "^1.0.3" + combine-source-map "~0.8.0" + defined "^1.0.0" + safe-buffer "^5.1.1" + through2 "^2.0.0" + umd "^3.0.0" + +browser-resolve@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" + integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== + dependencies: + resolve "^1.17.0" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserify@^16.2.3: + version "16.5.2" + resolved "https://registry.yarnpkg.com/browserify/-/browserify-16.5.2.tgz#d926835e9280fa5fd57f5bc301f2ef24a972ddfe" + integrity sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g== + dependencies: + JSONStream "^1.0.3" + assert "^1.4.0" + browser-pack "^6.0.1" + browser-resolve "^2.0.0" + browserify-zlib "~0.2.0" + buffer "~5.2.1" + cached-path-relative "^1.0.0" + concat-stream "^1.6.0" + console-browserify "^1.1.0" + constants-browserify "~1.0.0" + crypto-browserify "^3.0.0" + defined "^1.0.0" + deps-sort "^2.0.0" + domain-browser "^1.2.0" + duplexer2 "~0.1.2" + events "^2.0.0" + glob "^7.1.0" + has "^1.0.0" + htmlescape "^1.1.0" + https-browserify "^1.0.0" + inherits "~2.0.1" + insert-module-globals "^7.0.0" + labeled-stream-splicer "^2.0.0" + mkdirp-classic "^0.5.2" + module-deps "^6.2.3" + os-browserify "~0.3.0" + parents "^1.0.1" + path-browserify "~0.0.0" + process "~0.11.0" + punycode "^1.3.2" + querystring-es3 "~0.2.0" + read-only-stream "^2.0.0" + readable-stream "^2.0.2" + resolve "^1.1.4" + shasum "^1.0.0" + shell-quote "^1.6.1" + stream-browserify "^2.0.0" + stream-http "^3.0.0" + string_decoder "^1.1.1" + subarg "^1.0.0" + syntax-error "^1.1.1" + through2 "^2.0.0" + timers-browserify "^1.0.1" + tty-browserify "0.0.1" + url "~0.11.0" + util "~0.10.1" + vm-browserify "^1.0.0" + xtend "^4.0.0" + +browserify@^17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/browserify/-/browserify-17.0.0.tgz#4c48fed6c02bfa2b51fd3b670fddb805723cdc22" + integrity sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w== + dependencies: + JSONStream "^1.0.3" + assert "^1.4.0" + browser-pack "^6.0.1" + browser-resolve "^2.0.0" + browserify-zlib "~0.2.0" + buffer "~5.2.1" + cached-path-relative "^1.0.0" + concat-stream "^1.6.0" + console-browserify "^1.1.0" + constants-browserify "~1.0.0" + crypto-browserify "^3.0.0" + defined "^1.0.0" + deps-sort "^2.0.1" + domain-browser "^1.2.0" + duplexer2 "~0.1.2" + events "^3.0.0" + glob "^7.1.0" + has "^1.0.0" + htmlescape "^1.1.0" + https-browserify "^1.0.0" + inherits "~2.0.1" + insert-module-globals "^7.2.1" + labeled-stream-splicer "^2.0.0" + mkdirp-classic "^0.5.2" + module-deps "^6.2.3" + os-browserify "~0.3.0" + parents "^1.0.1" + path-browserify "^1.0.0" + process "~0.11.0" + punycode "^1.3.2" + querystring-es3 "~0.2.0" + read-only-stream "^2.0.0" + readable-stream "^2.0.2" + resolve "^1.1.4" + shasum-object "^1.0.0" + shell-quote "^1.6.1" + stream-browserify "^3.0.0" + stream-http "^3.0.0" + string_decoder "^1.1.1" + subarg "^1.0.0" + syntax-error "^1.1.1" + through2 "^2.0.0" + timers-browserify "^1.0.1" + tty-browserify "0.0.1" + url "~0.11.0" + util "~0.12.0" + vm-browserify "^1.0.0" + xtend "^4.0.0" + +browserslist@^3.2.6: + version "3.2.8" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" + integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== + dependencies: + caniuse-lite "^1.0.30000844" + electron-to-chromium "^1.3.47" + +browserslist@^4.21.3, browserslist@^4.21.4: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +bs58@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" + integrity sha512-77ld2g7Hn1GyIUpuUVfbZdhO1q9R9gv/GYam4HAeAW/tzhQDrbJ2ZttN1tIe4hmKrWFE+oUtAhBNx/EA5SVdTg== + +bs58@^4.0.0, bs58@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +btoa@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" + integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + +buffer-from@^1.0.0, buffer-from@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-layout@^1.2.0, buffer-layout@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5" + integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== + +buffer-reverse@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-reverse/-/buffer-reverse-1.0.1.tgz#49283c8efa6f901bc01fa3304d06027971ae2f60" + integrity sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg== + +buffer-to-arraybuffer@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" + integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2" + integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +buffer@6.0.3, buffer@^6.0.2, buffer@^6.0.3, buffer@~6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +buffer@^5.0.5, buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffer@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" + integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +bufferutil@^4.0.1: + version "4.0.7" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" + integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== + dependencies: + node-gyp-build "^4.3.0" + +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +bytes32@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/bytes32/-/bytes32-0.0.3.tgz#85d90c220a74cce02fa6f7062dc1a2b5de3b3f78" + integrity sha512-uQM5zGcelcBEk0R7vkIRVN7GnrDd2S5EeWrxv7dSFLPVoI5FwYiSYOOLaFwnsav0oSr3hZQ6mFq6QNi8Vt6n8w== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-lookup@^6.0.4: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz#0330a543471c61faa4e9035db583aad753b36385" + integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww== + +cacheable-request@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +cached-path-relative@^1.0.0, cached-path-relative@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.1.0.tgz#865576dfef39c0d6a7defde794d078f5308e3ef3" + integrity sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA== + +cachedir@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" + integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== + +caching-transform@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" + integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== + dependencies: + hasha "^5.0.0" + make-dir "^3.0.0" + package-hash "^4.0.0" + write-file-atomic "^3.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase-keys@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" + integrity sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q== + dependencies: + camelcase "^4.1.0" + map-obj "^2.0.0" + quick-lru "^1.0.0" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + integrity sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg== + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0, camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +camelize@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" + integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== + +caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: + version "1.0.30001446" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz#6d4ba828ab19f49f9bcd14a8430d30feebf1e0c5" + integrity sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw== + +capability@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/capability/-/capability-0.2.5.tgz#51ad87353f1936ffd77f2f21c74633a4dea88801" + integrity sha512-rsJZYVCgXd08sPqwmaIqjAd5SUTfonV0z/gDJ8D6cN8wQphky1kkAYEqQ+hmDxTw7UihvBfjUVUSY+DBEe44jg== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +cbor@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c" + integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A== + dependencies: + bignumber.js "^9.0.1" + nofilter "^1.0.4" + +chai@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" + integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^4.1.2" + get-func-name "^2.0.0" + loupe "^2.3.1" + pathval "^1.1.1" + type-detect "^4.0.5" + +chalk@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chance@^1.1.4: + version "1.1.9" + resolved "https://registry.yarnpkg.com/chance/-/chance-1.1.9.tgz#fbf409726a956415b4bde0e8db010f60b60fc01b" + integrity sha512-TfxnA/DcZXRTA4OekA2zL9GH8qscbbl6X0ZqU4tXhGveVY/mXWvEQLt5GwZcYXTEyEFflVtj+pG8nc8EwSm1RQ== + +change-case@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.2.tgz#fd48746cce02f03f0a672577d1d3a8dc2eceb037" + integrity sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA== + dependencies: + camel-case "^3.0.0" + constant-case "^2.0.0" + dot-case "^2.1.0" + header-case "^1.0.0" + is-lower-case "^1.1.0" + is-upper-case "^1.1.0" + lower-case "^1.1.1" + lower-case-first "^1.0.0" + no-case "^2.3.2" + param-case "^2.1.0" + pascal-case "^2.0.0" + path-case "^2.1.0" + sentence-case "^2.1.0" + snake-case "^2.1.0" + swap-case "^1.1.0" + title-case "^2.1.0" + upper-case "^1.1.1" + upper-case-first "^1.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +charenc@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== + +check-more-types@2.24.0, check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + +checkpoint-store@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" + integrity sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg== + dependencies: + functional-red-black-tree "^1.0.1" + +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + dependencies: + boolbase "^1.0.0" + css-select "^5.1.0" + css-what "^6.1.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + +cheerio@^1.0.0-rc.2: + version "1.0.0-rc.12" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + +chokidar@3.5.3, "chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.0, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.1.1, chownr@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +ci-info@^3.2.0, ci-info@^3.3.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" + integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== + +cids@^0.7.1: + version "0.7.5" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" + integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== + dependencies: + buffer "^5.5.0" + class-is "^1.1.0" + multibase "~0.6.0" + multicodec "^1.0.0" + multihashes "~0.4.15" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-is@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@^2.2.5: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + +clean-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" + integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== + dependencies: + escape-string-regexp "^1.0.5" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + +cli-table3@~0.6.1: + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +clipboardy@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" + integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w== + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +clone@^2.0.0, clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +cloudinary-core@^2.10.2: + version "2.13.0" + resolved "https://registry.yarnpkg.com/cloudinary-core/-/cloudinary-core-2.13.0.tgz#b59f90871b6c708c3d0735b9be47ac08181c57fb" + integrity sha512-Nt0Q5I2FtenmJghtC4YZ3MZZbGg1wLm84SsxcuVwZ83OyJqG9CNIGp86CiI6iDv3QobaqBUpOT7vg+HqY5HxEA== + +cloudinary@^1.32.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/cloudinary/-/cloudinary-1.33.0.tgz#e5c2bd7faa9e03d69e08c5fedb8f2813fd00b2c4" + integrity sha512-pdqOgd2QAMCFWujdYw1yhZ+lHPTzc6YIfg4WIvbRyoojIbSd/YgnHT8OSnk/OM4Q1WPFD5FM9EEom+4ehG80IA== + dependencies: + cloudinary-core "^2.10.2" + core-js "^3.6.5" + lodash "^4.17.21" + q "^1.5.1" + optionalDependencies: + proxy-agent "^5.0.0" + +clsx@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + +clsx@^1.1.0, clsx@^1.1.1, clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== + +coffeeify@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/coffeeify/-/coffeeify-3.0.1.tgz#5e2753000c50bd24c693115f33864248dd11136c" + integrity sha512-Qjnr7UX6ldK1PHV7wCnv7AuCd4q19KTUtwJnu/6JRJB4rfm12zvcXtKdacUoePOKr1I4ka/ydKiwWpNAdsQb0g== + dependencies: + convert-source-map "^1.3.0" + through2 "^2.0.0" + +coffeescript@^1.12.7: + version "1.12.7" + resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.12.7.tgz#e57ee4c4867cf7f606bfc4a0f2d550c0981ddd27" + integrity sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA== + +coinstring@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/coinstring/-/coinstring-2.3.0.tgz#cdb63363a961502404a25afb82c2e26d5ff627a4" + integrity sha512-2xMhQ++4ETUPiy2oqOlfydsuQArNLB6TExNF33Jmv+IgpmV8Hf6v6yICQAwH4uEHTnkJ3DscSyeKFrg37ljIOw== + dependencies: + bs58 "^2.0.1" + create-hash "^1.1.1" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + +colorette@^2.0.16: + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + +colors@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combine-source-map@^0.8.0, combine-source-map@~0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.8.0.tgz#a58d0df042c186fcf822a8e8015f5450d2d79a8b" + integrity sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg== + dependencies: + convert-source-map "~1.1.0" + inline-source-map "~0.6.0" + lodash.memoize "~3.0.3" + source-map "~0.5.3" + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@5.1.0, commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.1.0.tgz#db36e3e66edf24ff591d639862c6ab2c52664362" + integrity sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA== + +commander@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.1.0.tgz#a6b263b2327f2e188c6402c42623327909f2dbec" + integrity sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w== + +commander@^2.18.0, commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^8.2.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compressible@~2.0.14: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" + integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.14" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.5.1, concat-stream@^1.6.0, concat-stream@^1.6.1, concat-stream@~1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constant-case@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" + integrity sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ== + dependencies: + snake-case "^2.1.0" + upper-case "^1.1.1" + +constants-browserify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-hash@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" + integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== + dependencies: + cids "^0.7.1" + multicodec "^0.5.5" + multihashes "^0.4.15" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.3.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@~1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" + integrity sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +cookiejar@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +copy-to-clipboard@^3.3.1, copy-to-clipboard@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +core-js-compat@^3.25.1: + version "3.27.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.2.tgz#607c50ad6db8fd8326af0b2883ebb987be3786da" + integrity sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg== + dependencies: + browserslist "^4.21.4" + +core-js-pure@^3.25.1: + version "3.27.2" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.2.tgz#47e9cc96c639eefc910da03c3ece26c5067c7553" + integrity sha512-Cf2jqAbXgWH3VVzjyaaFkY1EBazxugUepGymDoeteyYr9ByX51kD2jdHZlsEF/xnJMyN3Prua7mQuzwMg6Zc9A== + +core-js@^2.4.0, core-js@^2.5.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.6.4, core-js@^3.6.5: + version "3.27.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.27.2.tgz#85b35453a424abdcacb97474797815f4d62ebbf7" + integrity sha512-9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@^2.8.1, cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +cosmiconfig@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97" + integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== + dependencies: + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@1.1.7, create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-fetch@3.1.5, cross-fetch@^3.1.4, cross-fetch@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + +cross-fetch@^2.1.0, cross-fetch@^2.1.1: + version "2.2.6" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.6.tgz#2ef0bb39a24ac034787965c457368a28730e220a" + integrity sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA== + dependencies: + node-fetch "^2.6.7" + whatwg-fetch "^2.0.4" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-zip@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-zip/-/cross-zip-4.0.0.tgz#c29bfb2c001659a6d480ae9596f3bee83b48a230" + integrity sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA== + +crypt@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== + +crypto-addr-codec@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz#e16cea892730178fe25a38f6d15b680cab3124ae" + integrity sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg== + dependencies: + base-x "^3.0.8" + big-integer "1.6.36" + blakejs "^1.1.0" + bs58 "^4.0.1" + ripemd160-min "0.0.6" + safe-buffer "^5.2.0" + sha3 "^2.1.1" + +crypto-browserify@3.12.0, crypto-browserify@^3.0.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-hash@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247" + integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== + +crypto-js@^3.1.9-1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" + integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== + +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== + +css-in-js-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" + integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== + dependencies: + hyphenate-style-name "^1.0.3" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-to-react-native@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.1.0.tgz#e783474149997608986afcff614405714a8fe1ac" + integrity sha512-AryfkFA29b4I3vG7N4kxFboq15DxwSXzhXM37XNEjwJMgjYIc8BcqfiprpAqX0zadI5PMByEIwAMzXxk5Vcc4g== + dependencies: + camelize "^1.0.0" + css-color-keywords "^1.0.0" + postcss-value-parser "^4.0.2" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-unit-converter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" + integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + +css-vendor@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" + integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ== + dependencies: + "@babel/runtime" "^7.8.3" + is-in-browser "^1.0.2" + +css-what@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== + +css-what@^6.0.1, css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@3.1.1, csstype@^3.0.2, csstype@^3.0.6, csstype@^3.0.7, csstype@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + +csv-generate@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/csv-generate/-/csv-generate-4.2.1.tgz#2a0c5f0d9a5b6f7a0c1fee40f028707af048b31b" + integrity sha512-w6GFHjvApv6bcJ2xdi9JGsH6ZvUBfC+vUdfefnEzurXG6hMRwzkBLnhztU2H7v7+zfCk1I/knnQ+tGbgpxWrBw== + +csv-parse@^5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.3.3.tgz#3b75d2279e2edb550cbc54c65b25cbbf3d0033ad" + integrity sha512-kEWkAPleNEdhFNkHQpFHu9RYPogsFj3dx6bCxL847fsiLgidzWg0z/O0B1kVWMJUc5ky64zGp18LX2T3DQrOfw== + +csv-stringify@^6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.2.3.tgz#fefd25e66fd48f8f42f43b85a66a4663a2c3e796" + integrity sha512-4qGjUMwnlaRc00gc2jrIYh2w/h1fo25B0mTuY9K8fBiIgtmCX3LcgUbrEGViL98Ci4Se/F5LFEtu8k+dItJVZQ== + +csv@^6.0.5: + version "6.2.5" + resolved "https://registry.yarnpkg.com/csv/-/csv-6.2.5.tgz#e01fd3db2f0856a120ae9140bd179c1a186ee2b9" + integrity sha512-T+K0H7MIrlrnP6KxYKo3lK+uLl6OC2Gmwdd81TG/VdkhKvpatl35sR7tyRSpDLGl22y2T+q9KvNHnVtn4OAscQ== + dependencies: + csv-generate "^4.2.1" + csv-parse "^5.3.3" + csv-stringify "^6.2.3" + stream-transform "^3.2.1" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng== + dependencies: + array-find-index "^1.0.1" + +cypress-wait-until@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/cypress-wait-until/-/cypress-wait-until-1.7.2.tgz#7f534dd5a11c89b65359e7a0210f20d3dfc22107" + integrity sha512-uZ+M8/MqRcpf+FII/UZrU7g1qYZ4aVlHcgyVopnladyoBrpoaMJ4PKZDrdOJ05H5RHbr7s9Tid635X3E+ZLU/Q== + +cypress@*: + version "12.3.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.3.0.tgz#ae3fb0540aef4b5eab1ef2bcd0760caf2992b8bf" + integrity sha512-ZQNebibi6NBt51TRxRMYKeFvIiQZ01t50HSy7z/JMgRVqBUey3cdjog5MYEbzG6Ktti5ckDt1tfcC47lmFwXkw== + dependencies: + "@cypress/request" "^2.88.10" + "@cypress/xvfb" "^1.2.4" + "@types/node" "^14.14.31" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.6.0" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^5.1.0" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.2" + enquirer "^2.3.6" + eventemitter2 "6.4.7" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-ci "^3.0.0" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.6" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.3.2" + supports-color "^8.1.1" + tmp "~0.2.1" + untildify "^4.0.0" + yauzl "^2.10.0" + +cypress@9.5.3: + version "9.5.3" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-9.5.3.tgz#7c56b50fc1f1aa69ef10b271d895aeb4a1d7999e" + integrity sha512-ItelIVmqMTnKYbo1JrErhsGgQGjWOxCpHT1TfMvwnIXKXN/OSlPjEK7rbCLYDZhejQL99PmUqul7XORI24Ik0A== + dependencies: + "@cypress/request" "^2.88.10" + "@cypress/xvfb" "^1.2.4" + "@types/node" "^14.14.31" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.6.0" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^5.1.0" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.2" + enquirer "^2.3.6" + eventemitter2 "^6.4.3" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-ci "^3.0.0" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.6" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.3.2" + supports-color "^8.1.1" + tmp "~0.2.1" + untildify "^4.0.0" + yauzl "^2.10.0" + +d3-array@2, d3-array@^2.3.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== + dependencies: + internmap "^1.0.0" + +"d3-color@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" + integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== + +"d3-format@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" + integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== + +"d3-interpolate@1.2.0 - 2", d3-interpolate@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" + integrity sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ== + dependencies: + d3-color "1 - 2" + +"d3-path@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8" + integrity sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA== + +d3-scale@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.3.0.tgz#28c600b29f47e5b9cd2df9749c206727966203f3" + integrity sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ== + dependencies: + d3-array "^2.3.0" + d3-format "1 - 2" + d3-interpolate "1.2.0 - 2" + d3-time "^2.1.1" + d3-time-format "2 - 3" + +d3-shape@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-2.1.0.tgz#3b6a82ccafbc45de55b57fcf956c584ded3b666f" + integrity sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA== + dependencies: + d3-path "1 - 2" + +"d3-time-format@2 - 3": + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-3.0.0.tgz#df8056c83659e01f20ac5da5fdeae7c08d5f1bb6" + integrity sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag== + dependencies: + d3-time "1 - 2" + +"d3-time@1 - 2", d3-time@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-2.1.1.tgz#e9d8a8a88691f4548e68ca085e5ff956724a6682" + integrity sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ== + dependencies: + d3-array "2" + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dash-ast@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dash-ast/-/dash-ast-1.0.0.tgz#12029ba5fb2f8aa6f0a861795b23c1b4b6c27d37" + integrity sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +data-uri-to-buffer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== + +dayjs@1.10.7: + version "1.10.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" + integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== + +dayjs@^1.10.4: + version "1.11.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" + integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +debug@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize-keys@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decimal.js-light@^2.4.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" + integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-eql@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" + +deep-equal@^2.0.5: + version "2.2.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" + integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== + dependencies: + call-bind "^1.0.2" + es-get-iterator "^1.1.2" + get-intrinsic "^1.1.3" + is-arguments "^1.1.1" + is-array-buffer "^3.0.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +deep-equal@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deep-object-diff@^1.1.0: + version "1.1.9" + resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.9.tgz#6df7ef035ad6a0caa44479c536ed7b02570f4595" + integrity sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA== + +deepmerge@^4.2.2: + version "4.3.0" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" + integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== + +default-require-extensions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.1.tgz#bfae00feeaeada68c2ae256c62540f60b80625bd" + integrity sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw== + dependencies: + strip-bom "^4.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +deferred-leveldown@~1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" + integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== + dependencies: + abstract-leveldown "~2.6.0" + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +defined@^1.0.0, defined@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== + +degenerator@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.2.tgz#6a61fcc42a702d6e50ff6023fe17bff435f68235" + integrity sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ== + dependencies: + ast-types "^0.13.2" + escodegen "^1.8.1" + esprima "^4.0.0" + vm2 "^3.9.8" + +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@2.0.0, depd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@^1.1.2, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +deps-sort@^2.0.0, deps-sort@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.1.tgz#9dfdc876d2bcec3386b6829ac52162cda9fa208d" + integrity sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw== + dependencies: + JSONStream "^1.0.3" + shasum-object "^1.0.0" + subarg "^1.0.0" + through2 "^2.0.0" + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-browser@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz#c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97" + integrity sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA== + +detect-browser@5.3.0, detect-browser@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + integrity sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A== + dependencies: + repeating "^2.0.0" + +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== + +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + +detective@^5.2.0, detective@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" + integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== + dependencies: + acorn-node "^1.8.2" + defined "^1.0.0" + minimist "^1.2.6" + +devtools-protocol@0.0.1068969: + version "0.0.1068969" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1068969.tgz#8b9a4bc48aed1453bed08d62b07481f9abf4d6d8" + integrity sha512-ATFTrPbY1dKYhPPvpjtwWKSK2mIwGmRwX54UASn9THEuIZCe2n9k3vVuMmt6jWeL+e5QaaguEv/pMyR+JQB7VQ== + +devtools-protocol@0.0.969999: + version "0.0.969999" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.969999.tgz#3d6be0a126b3607bb399ae2719b471dda71f3478" + integrity sha512-6GfzuDWU0OFAuOvBokXpXPLxjOJ5DZ157Ue3sGQQM3LgAamb8m0R0ruSfN0DDu+XG5XJgT50i6zZ/0o8RglreQ== + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dijkstrajs@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257" + integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-helpers@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" + integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== + dependencies: + "@babel/runtime" "^7.1.2" + +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + +domain-browser@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c" + integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.1" + +dot-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" + integrity sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug== + dependencies: + no-case "^2.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv@^16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + +dotignore@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" + integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== + dependencies: + minimatch "^3.0.4" + +drbg.js@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" + integrity sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g== + dependencies: + browserify-aes "^1.0.6" + create-hash "^1.1.2" + create-hmac "^1.1.4" + +duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== + dependencies: + readable-stream "^2.0.2" + +duplexer@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexify@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" + integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +eip1193-provider@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3" + integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g== + dependencies: + "@json-rpc-tools/provider" "^1.5.5" + +electron-to-chromium@^1.3.47, electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +elliptic@6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" + integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +email-addresses@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.1.0.tgz#cabf7e085cbdb63008a70319a74e6136188812fb" + integrity sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg== + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encoding@^0.1.11, encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enquirer@^2.3.5, enquirer@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== + +errno@~0.1.1: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-polyfill@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/error-polyfill/-/error-polyfill-0.1.3.tgz#df848b61ad8834f7a5db69a70b9913df86721d15" + integrity sha512-XHJk60ufE+TG/ydwp4lilOog549iiQF2OAPhkk9DdiYWMrltz5yhDz/xnKuenNwP7gy3dsibssO5QpVhkrSzzg== + dependencies: + capability "^0.2.5" + o3 "^1.0.3" + u3 "^0.1.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.3" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.4" + is-array-buffer "^3.0.1" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.2" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-get-iterator@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.62" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-error@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-promise@^4.0.3, es6-promise@^4.2.8: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +esbuild-android-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" + integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== + +esbuild-android-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" + integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== + +esbuild-darwin-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" + integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== + +esbuild-darwin-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337" + integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== + +esbuild-freebsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" + integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== + +esbuild-freebsd-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" + integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== + +esbuild-linux-32@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" + integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== + +esbuild-linux-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" + integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== + +esbuild-linux-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" + integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== + +esbuild-linux-arm@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" + integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== + +esbuild-linux-mips64le@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" + integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== + +esbuild-linux-ppc64le@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" + integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== + +esbuild-linux-riscv64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" + integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== + +esbuild-linux-s390x@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" + integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== + +esbuild-netbsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" + integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== + +esbuild-openbsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" + integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== + +esbuild-sunos-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" + integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== + +esbuild-windows-32@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" + integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== + +esbuild-windows-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" + integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== + +esbuild-windows-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" + integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== + +esbuild@^0.15.9: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d" + integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q== + optionalDependencies: + "@esbuild/android-arm" "0.15.18" + "@esbuild/linux-loong64" "0.15.18" + esbuild-android-64 "0.15.18" + esbuild-android-arm64 "0.15.18" + esbuild-darwin-64 "0.15.18" + esbuild-darwin-arm64 "0.15.18" + esbuild-freebsd-64 "0.15.18" + esbuild-freebsd-arm64 "0.15.18" + esbuild-linux-32 "0.15.18" + esbuild-linux-64 "0.15.18" + esbuild-linux-arm "0.15.18" + esbuild-linux-arm64 "0.15.18" + esbuild-linux-mips64le "0.15.18" + esbuild-linux-ppc64le "0.15.18" + esbuild-linux-riscv64 "0.15.18" + esbuild-linux-s390x "0.15.18" + esbuild-netbsd-64 "0.15.18" + esbuild-openbsd-64 "0.15.18" + esbuild-sunos-64 "0.15.18" + esbuild-windows-32 "0.15.18" + esbuild-windows-64 "0.15.18" + esbuild-windows-arm64 "0.15.18" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-config-standard@16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" + integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== + +eslint-import-resolver-node@^0.3.6: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== + dependencies: + debug "^3.2.7" + is-core-module "^2.11.0" + resolve "^1.22.1" + +eslint-module-utils@^2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + dependencies: + debug "^3.2.7" + +eslint-plugin-chai-friendly@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-0.7.2.tgz#0ebfbb2c1244f5de2997f3963d155758234f2b0f" + integrity sha512-LOIfGx5sZZ5FwM1shr2GlYAWV9Omdi+1/3byuVagvQNoGUuU0iHhp7AfjA1uR+4dJ4Isfb4+FwBJgQajIw9iAg== + +eslint-plugin-cypress@2.12.1: + version "2.12.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.12.1.tgz#9aeee700708ca8c058e00cdafe215199918c2632" + integrity sha512-c2W/uPADl5kospNDihgiLc7n87t5XhUbFDoTl6CfVkmG+kDAb5Ux10V9PoLPu9N+r7znpc+iQlcmAqT1A/89HA== + dependencies: + globals "^11.12.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@2.26.0: + version "2.26.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.3" + has "^1.0.3" + is-core-module "^2.8.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.5" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-node@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-prettier@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-promise@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz#017652c07c9816413a41e11c30adc42c3d55ff18" + integrity sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw== + +eslint-plugin-standard@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz#0c3bf3a67e853f8bbbc580fb4945fbf16f41b7c5" + integrity sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ== + +eslint-plugin-testing-library@5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.2.1.tgz#3f89cd28ade81329a11584e0bbea129bede01619" + integrity sha512-88qJv6uzYALtiYJDzhelP3ov0Px/GLgnu+UekjjDxL2nMyvgdTyboKqcDBsvFPmAeizlCoSWOjeBN4DxO0BxaA== + dependencies: + "@typescript-eslint/utils" "^5.13.0" + +eslint-plugin-ui-testing@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-ui-testing/-/eslint-plugin-ui-testing-2.0.1.tgz#4aaf74f764589bf4fdc12a81d720408d2f2bc56a" + integrity sha512-GpvE0u03GSytsJ/K49C2dJlvDKQSfh+PX4lAEjBIc5RxUWEpGf9/jY3JTFd7F0gQ9ElGfYskJceVKyz7knbFFw== + dependencies: + "@typescript-eslint/experimental-utils" "^5.3.0" + +eslint-plugin-unicorn@42.0.0: + version "42.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz#47d60c00c263ad743403b052db689e39acbacff1" + integrity sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + ci-info "^3.3.0" + clean-regexp "^1.0.0" + eslint-utils "^3.0.0" + esquery "^1.4.0" + indent-string "^4.0.0" + is-builtin-module "^3.1.0" + lodash "^4.17.21" + pluralize "^8.0.0" + read-pkg-up "^7.0.1" + regexp-tree "^0.1.24" + safe-regex "^2.1.1" + semver "^7.3.5" + strip-indent "^3.0.0" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +eslint@8.32.0: + version "8.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.32.0.tgz#d9690056bb6f1a302bd991e7090f5b68fbaea861" + integrity sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ== + dependencies: + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +espree@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eth-block-tracker@4.4.3, eth-block-tracker@^4.2.0, eth-block-tracker@^4.4.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz#766a0a0eb4a52c867a28328e9ae21353812cf626" + integrity sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw== + dependencies: + "@babel/plugin-transform-runtime" "^7.5.5" + "@babel/runtime" "^7.5.5" + eth-query "^2.1.0" + json-rpc-random-id "^1.0.1" + pify "^3.0.0" + safe-event-emitter "^1.0.1" + +eth-ens-namehash@2.0.8, eth-ens-namehash@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw== + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + +eth-json-rpc-errors@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz#148377ef55155585981c21ff574a8937f9d6991f" + integrity sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg== + dependencies: + fast-safe-stringify "^2.0.6" + +eth-json-rpc-filters@4.2.2, eth-json-rpc-filters@^4.0.2, eth-json-rpc-filters@^4.1.1, eth-json-rpc-filters@^4.2.1: + version "4.2.2" + resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz#eb35e1dfe9357ace8a8908e7daee80b2cd60a10d" + integrity sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + async-mutex "^0.2.6" + eth-json-rpc-middleware "^6.0.0" + eth-query "^2.1.2" + json-rpc-engine "^6.1.0" + pify "^5.0.0" + +eth-json-rpc-infura@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz#26702a821067862b72d979c016fd611502c6057f" + integrity sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw== + dependencies: + cross-fetch "^2.1.1" + eth-json-rpc-middleware "^1.5.0" + json-rpc-engine "^3.4.0" + json-rpc-error "^2.0.0" + +eth-json-rpc-infura@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-4.1.0.tgz#623478375ba65e4304dea529ed69e8bd7938270d" + integrity sha512-DFYitKovzVlCdUulEccdm4g6k/vnvyByuw7rd5OoWDBSIiaeinI8Z/SntLjSIs2c+YvE20DGwk/GLwZGCWDN1Q== + dependencies: + eth-json-rpc-middleware "^4.4.0" + eth-rpc-errors "^3.0.0" + json-rpc-engine "^5.1.3" + node-fetch "^2.6.0" + +eth-json-rpc-infura@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-5.1.0.tgz#e6da7dc47402ce64c54e7018170d89433c4e8fb6" + integrity sha512-THzLye3PHUSGn1EXMhg6WTLW9uim7LQZKeKaeYsS9+wOBcamRiCQVGHa6D2/4P0oS0vSaxsBnU/J6qvn0MPdow== + dependencies: + eth-json-rpc-middleware "^6.0.0" + eth-rpc-errors "^3.0.0" + json-rpc-engine "^5.3.0" + node-fetch "^2.6.0" + +eth-json-rpc-middleware@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz#5c9d4c28f745ccb01630f0300ba945f4bef9593f" + integrity sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q== + dependencies: + async "^2.5.0" + eth-query "^2.1.2" + eth-tx-summary "^3.1.2" + ethereumjs-block "^1.6.0" + ethereumjs-tx "^1.3.3" + ethereumjs-util "^5.1.2" + ethereumjs-vm "^2.1.0" + fetch-ponyfill "^4.0.0" + json-rpc-engine "^3.6.0" + json-rpc-error "^2.0.0" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + tape "^4.6.3" + +eth-json-rpc-middleware@^4.1.5, eth-json-rpc-middleware@^4.4.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.4.1.tgz#07d3dd0724c24a8d31e4a172ee96271da71b4228" + integrity sha512-yoSuRgEYYGFdVeZg3poWOwAlRI+MoBIltmOB86MtpoZjvLbou9EB/qWMOWSmH2ryCWLW97VYY6NWsmWm3OAA7A== + dependencies: + btoa "^1.2.1" + clone "^2.1.1" + eth-json-rpc-errors "^1.0.1" + eth-query "^2.1.2" + eth-sig-util "^1.4.2" + ethereumjs-block "^1.6.0" + ethereumjs-tx "^1.3.7" + ethereumjs-util "^5.1.2" + ethereumjs-vm "^2.6.0" + fetch-ponyfill "^4.0.0" + json-rpc-engine "^5.1.3" + json-stable-stringify "^1.0.1" + pify "^3.0.0" + safe-event-emitter "^1.0.1" + +eth-json-rpc-middleware@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-5.1.0.tgz#affc63ddb31205e4b2f2c451571902031dad70fc" + integrity sha512-0uq8nWgHWLKA0sMhVqViue3vSEBVuQXyk2yzjhe8GSo/dGpJUtmYN1DvDF1LQtEhHI4N/G6MKPbiR/aWSRkPmg== + dependencies: + btoa "^1.2.1" + clone "^2.1.1" + eth-query "^2.1.2" + eth-rpc-errors "^3.0.0" + eth-sig-util "^1.4.2" + ethereumjs-block "^1.6.0" + ethereumjs-tx "^1.3.7" + ethereumjs-util "^5.1.2" + ethereumjs-vm "^2.6.0" + json-rpc-engine "^5.3.0" + json-stable-stringify "^1.0.1" + node-fetch "^2.6.1" + pify "^3.0.0" + safe-event-emitter "^1.0.1" + +eth-json-rpc-middleware@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz#4fe16928b34231a2537856f08a5ebbc3d0c31175" + integrity sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ== + dependencies: + btoa "^1.2.1" + clone "^2.1.1" + eth-query "^2.1.2" + eth-rpc-errors "^3.0.0" + eth-sig-util "^1.4.2" + ethereumjs-util "^5.1.2" + json-rpc-engine "^5.3.0" + json-stable-stringify "^1.0.1" + node-fetch "^2.6.1" + pify "^3.0.0" + safe-event-emitter "^1.0.1" + +eth-lib@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" + integrity sha512-VqEBQKH92jNsaE8lG9CTq8M/bc12gdAfb5MY8Ro1hVyXkh7rOtY3m5tRHK3Hus5HqIAAwU2ivcUjTLVwsvf/kw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +eth-lib@0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" + integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +eth-lib@^0.1.26: + version "0.1.29" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" + integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + nano-json-stream-parser "^0.1.2" + servify "^0.1.12" + ws "^3.0.0" + xhr-request-promise "^0.1.2" + +eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" + integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== + dependencies: + json-rpc-random-id "^1.0.0" + xtend "^4.0.1" + +eth-rpc-errors@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7" + integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== + dependencies: + fast-safe-stringify "^2.0.6" + +eth-rpc-errors@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz#d7b22653c70dbf9defd4ef490fd08fe70608ca10" + integrity sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg== + dependencies: + fast-safe-stringify "^2.0.6" + +eth-rpc-errors@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" + integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== + dependencies: + fast-safe-stringify "^2.0.6" + +eth-sig-util@2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.5.3.tgz#6938308b38226e0b3085435474900b03036abcbe" + integrity sha512-KpXbCKmmBUNUTGh9MRKmNkIPietfhzBqqYqysDavLseIiMUGl95k6UcPEkALAZlj41e9E6yioYXc1PC333RKqw== + dependencies: + buffer "^5.2.1" + elliptic "^6.4.0" + ethereumjs-abi "0.6.5" + ethereumjs-util "^5.1.1" + tweetnacl "^1.0.0" + tweetnacl-util "^0.15.0" + +eth-sig-util@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" + integrity sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw== + dependencies: + ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" + ethereumjs-util "^5.1.1" + +eth-sig-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.1.tgz#8753297c83a3f58346bd13547b59c4b2cd110c96" + integrity sha512-0Us50HiGGvZgjtWTyAI/+qTzYPMLy5Q451D0Xy68bxq1QMWdoOddDwGvsqcFT27uohKgalM9z/yxplyt+mY2iQ== + dependencies: + ethereumjs-abi "^0.6.8" + ethereumjs-util "^5.1.1" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.0" + +eth-tx-summary@^3.1.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz#e10eb95eb57cdfe549bf29f97f1e4f1db679035c" + integrity sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg== + dependencies: + async "^2.1.2" + clone "^2.0.0" + concat-stream "^1.5.1" + end-of-stream "^1.1.0" + eth-query "^2.0.2" + ethereumjs-block "^1.4.1" + ethereumjs-tx "^1.1.1" + ethereumjs-util "^5.0.1" + ethereumjs-vm "^2.6.0" + through2 "^2.0.3" + +ethereum-bloom-filters@^1.0.6: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== + dependencies: + js-sha3 "^0.8.0" + +ethereum-checksum-address@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/ethereum-checksum-address/-/ethereum-checksum-address-0.0.2.tgz#46fcb2d962dacd1ed49d7b464408ec26fd183209" + integrity sha512-GAb7mPvGgcfi1j+Bsnwm9af9Z7dLUKp+5cFm88+kMrKACfh9gLatGLVVK5pSGEG2pOGfrmqCRcuh3RtMjIg8GQ== + dependencies: + keccak256 "^1.0.0" + meow "^5.0.0" + +ethereum-common@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" + integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== + +ethereum-common@^0.0.18: + version "0.0.18" + resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" + integrity sha512-EoltVQTRNg2Uy4o84qpa2aXymXDJhxm7eos/ACOg0DG4baAbMjhbdAEsx9GeE8sC3XCxnYvrrzZDH8D8MtA2iQ== + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereum-private-key-to-address@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/ethereum-private-key-to-address/-/ethereum-private-key-to-address-0.0.3.tgz#1f1dccaefd1198c2dcde55501f331a846bd0aad0" + integrity sha512-P+z9eFlgOezxogEpY1sQR155U4xFmQUWVxKzIJa5BL05Gs7zL0sYuyQuSAme8LBYGQ6p6AwconiMDauf4LbqyA== + dependencies: + ethereum-private-key-to-public-key "0.0.2" + ethereum-public-key-to-address "0.0.1" + meow "^5.0.0" + +ethereum-private-key-to-public-key@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/ethereum-private-key-to-public-key/-/ethereum-private-key-to-public-key-0.0.2.tgz#bb5803aad43df2692e0d7b4c9eaa224eec2a39cb" + integrity sha512-WKwFspLS5IdpV1rBUmWSG2xtIDV7YMpAG/uSjtV9kDzBU6hpSzoqg6R/e1iEfHkOr/eae+NtDTpwzXRtSMDvhw== + dependencies: + meow "^5.0.0" + secp256k1 "^3.7.1" + +ethereum-public-key-to-address@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/ethereum-public-key-to-address/-/ethereum-public-key-to-address-0.0.1.tgz#3f0237687d9c2217234dc5683f3eb580abf3f6ce" + integrity sha512-X78x/VBluHUdrYpZunoXJ48luXTaUiUK4ImPjTjI+XiS24+jUR5WFCpm9wCNbLYP6/ZCJ+lwuYormXSjt8rrbw== + dependencies: + ethereum-checksum-address "0.0.2" + keccak256 "^1.0.0" + meow "^5.0.0" + secp256k1 "^3.7.1" + +ethereumjs-abi@0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241" + integrity sha512-rCjJZ/AE96c/AAZc6O3kaog4FhOsAViaysBxqJNy2+LHP0ttH0zkZ7nXdVHOAyt6lFwLO0nlCwWszysG/ao1+g== + dependencies: + bn.js "^4.10.0" + ethereumjs-util "^4.3.0" + +ethereumjs-abi@^0.6.8: + version "0.6.8" + resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" + integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== + dependencies: + bn.js "^4.11.8" + ethereumjs-util "^6.0.0" + +"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": + version "0.6.8" + resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0" + dependencies: + bn.js "^4.11.8" + ethereumjs-util "^6.0.0" + +ethereumjs-account@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz#eeafc62de544cb07b0ee44b10f572c9c49e00a84" + integrity sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA== + dependencies: + ethereumjs-util "^5.0.0" + rlp "^2.0.0" + safe-buffer "^5.1.1" + +ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: + version "1.7.1" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" + integrity sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg== + dependencies: + async "^2.0.1" + ethereum-common "0.2.0" + ethereumjs-tx "^1.2.2" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + +ethereumjs-block@~2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" + integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== + dependencies: + async "^2.0.1" + ethereumjs-common "^1.5.0" + ethereumjs-tx "^2.1.1" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + +ethereumjs-common@^1.1.0, ethereumjs-common@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz#2065dbe9214e850f2e955a80e650cb6999066979" + integrity sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA== + +ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" + integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== + dependencies: + ethereum-common "^0.0.18" + ethereumjs-util "^5.0.0" + +ethereumjs-tx@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed" + integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw== + dependencies: + ethereumjs-common "^1.5.0" + ethereumjs-util "^6.0.0" + +ethereumjs-util@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" + integrity sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA== + dependencies: + bn.js "^4.11.0" + create-hash "^1.1.2" + ethjs-util "^0.1.3" + keccak "^1.0.2" + rlp "^2.0.0" + safe-buffer "^5.1.1" + secp256k1 "^3.0.1" + +ethereumjs-util@^4.3.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.1.tgz#f4bf9b3b515a484e3cc8781d61d9d980f7c83bd0" + integrity sha512-WrckOZ7uBnei4+AKimpuF1B3Fv25OmoRgmYCpGsP7u8PFxXAmAgiJSYT2kRWnt6fVIlKaQlZvuwXp7PIrmn3/w== + dependencies: + bn.js "^4.8.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + rlp "^2.0.0" + +ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.5: + version "5.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65" + integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ== + dependencies: + bn.js "^4.11.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + ethjs-util "^0.1.3" + rlp "^2.0.0" + safe-buffer "^5.1.1" + +ethereumjs-util@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" + integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== + dependencies: + "@types/bn.js" "^4.11.3" + bn.js "^4.11.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + ethjs-util "0.1.6" + rlp "^2.2.3" + +ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2, ethereumjs-util@^7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" + integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== + dependencies: + async "^2.1.2" + async-eventemitter "^0.2.2" + ethereumjs-account "^2.0.3" + ethereumjs-block "~2.2.0" + ethereumjs-common "^1.1.0" + ethereumjs-util "^6.0.0" + fake-merkle-patricia-tree "^1.0.1" + functional-red-black-tree "^1.0.1" + merkle-patricia-tree "^2.3.2" + rustbn.js "~0.2.0" + safe-buffer "^5.1.1" + +ethers@4.0.44: + version "4.0.44" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.44.tgz#f2608cbc0b4d099b7e10a01c0efc3a1037013b4e" + integrity sha512-kCkMPkpYjBkxzqjcuYUfDY7VHDbf5EXnfRPUOazdqdf59SvXaT+w5lgauxLlk1UjxnAiNfeNS87rkIXnsTaM7Q== + dependencies: + aes-js "3.0.0" + bn.js "^4.4.0" + elliptic "6.5.2" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.4" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + +ethers@4.0.47: + version "4.0.47" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.47.tgz#91b9cd80473b1136dd547095ff9171bd1fc68c85" + integrity sha512-hssRYhngV4hiDNeZmVU/k5/E8xmLG8UpcNUzg6mb7lqhgpFPH/t7nuv20RjRrEf0gblzvi2XwR5Te+V3ZFc9pQ== + dependencies: + aes-js "3.0.0" + bn.js "^4.4.0" + elliptic "6.5.2" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.4" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + +ethers@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.0.tgz#76558a3020766f310a49f4e1a4c6c1e331761abd" + integrity sha512-uOSACd2E8dg8XuiOewpL42uFH7SvrkA5k0oGkHoqSJl2lflrMPV+7ciWzyuPBjyHnOFvAPPJUpsXrwpFKaLFww== + dependencies: + "@ethersproject/abi" "^5.0.0" + "@ethersproject/abstract-provider" "^5.0.0" + "@ethersproject/abstract-signer" "^5.0.0" + "@ethersproject/address" "^5.0.0" + "@ethersproject/base64" "^5.0.0" + "@ethersproject/bignumber" "^5.0.0" + "@ethersproject/bytes" "^5.0.0" + "@ethersproject/constants" "^5.0.0" + "@ethersproject/contracts" "^5.0.0" + "@ethersproject/hash" "^5.0.0" + "@ethersproject/hdnode" "^5.0.0" + "@ethersproject/json-wallets" "^5.0.0" + "@ethersproject/keccak256" "^5.0.0" + "@ethersproject/logger" "^5.0.0" + "@ethersproject/networks" "^5.0.0" + "@ethersproject/pbkdf2" "^5.0.0" + "@ethersproject/properties" "^5.0.0" + "@ethersproject/providers" "^5.0.0" + "@ethersproject/random" "^5.0.0" + "@ethersproject/rlp" "^5.0.0" + "@ethersproject/sha2" "^5.0.0" + "@ethersproject/signing-key" "^5.0.0" + "@ethersproject/solidity" "^5.0.0" + "@ethersproject/strings" "^5.0.0" + "@ethersproject/transactions" "^5.0.0" + "@ethersproject/units" "^5.0.0" + "@ethersproject/wallet" "^5.0.0" + "@ethersproject/web" "^5.0.0" + "@ethersproject/wordlists" "^5.0.0" + +ethers@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.7.tgz#41c3d774e0a57bfde12b0198885789fb41a14976" + integrity sha512-1Zu9s+z4BgsDAZcGIYACJdWBB6mVtCCmUonj68Njul7STcSdgwOyj0sCAxCUr2Nsmsamckr4E12q3ecvZPGAUw== + dependencies: + "@ethersproject/abi" "^5.0.0" + "@ethersproject/abstract-provider" "^5.0.0" + "@ethersproject/abstract-signer" "^5.0.0" + "@ethersproject/address" "^5.0.0" + "@ethersproject/base64" "^5.0.0" + "@ethersproject/bignumber" "^5.0.0" + "@ethersproject/bytes" "^5.0.0" + "@ethersproject/constants" "^5.0.0" + "@ethersproject/contracts" "^5.0.0" + "@ethersproject/hash" "^5.0.0" + "@ethersproject/hdnode" "^5.0.0" + "@ethersproject/json-wallets" "^5.0.0" + "@ethersproject/keccak256" "^5.0.0" + "@ethersproject/logger" "^5.0.0" + "@ethersproject/networks" "^5.0.0" + "@ethersproject/pbkdf2" "^5.0.0" + "@ethersproject/properties" "^5.0.0" + "@ethersproject/providers" "^5.0.0" + "@ethersproject/random" "^5.0.0" + "@ethersproject/rlp" "^5.0.0" + "@ethersproject/sha2" "^5.0.0" + "@ethersproject/signing-key" "^5.0.0" + "@ethersproject/solidity" "^5.0.0" + "@ethersproject/strings" "^5.0.0" + "@ethersproject/transactions" "^5.0.0" + "@ethersproject/units" "^5.0.0" + "@ethersproject/wallet" "^5.0.0" + "@ethersproject/web" "^5.0.0" + "@ethersproject/wordlists" "^5.0.0" + +ethers@5.7.2, ethers@^5.0.13, ethers@^5.5.1, ethers@^5.7.0, ethers@^5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@ethersproject/abi" "5.7.0" + "@ethersproject/abstract-provider" "5.7.0" + "@ethersproject/abstract-signer" "5.7.0" + "@ethersproject/address" "5.7.0" + "@ethersproject/base64" "5.7.0" + "@ethersproject/basex" "5.7.0" + "@ethersproject/bignumber" "5.7.0" + "@ethersproject/bytes" "5.7.0" + "@ethersproject/constants" "5.7.0" + "@ethersproject/contracts" "5.7.0" + "@ethersproject/hash" "5.7.0" + "@ethersproject/hdnode" "5.7.0" + "@ethersproject/json-wallets" "5.7.0" + "@ethersproject/keccak256" "5.7.0" + "@ethersproject/logger" "5.7.0" + "@ethersproject/networks" "5.7.1" + "@ethersproject/pbkdf2" "5.7.0" + "@ethersproject/properties" "5.7.0" + "@ethersproject/providers" "5.7.2" + "@ethersproject/random" "5.7.0" + "@ethersproject/rlp" "5.7.0" + "@ethersproject/sha2" "5.7.0" + "@ethersproject/signing-key" "5.7.0" + "@ethersproject/solidity" "5.7.0" + "@ethersproject/strings" "5.7.0" + "@ethersproject/transactions" "5.7.0" + "@ethersproject/units" "5.7.0" + "@ethersproject/wallet" "5.7.0" + "@ethersproject/web" "5.7.1" + "@ethersproject/wordlists" "5.7.0" + +ethers@^4.0.32, ethers@^4.0.45: + version "4.0.49" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894" + integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg== + dependencies: + aes-js "3.0.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.4" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + +etherscan-api@10.0.5: + version "10.0.5" + resolved "https://registry.yarnpkg.com/etherscan-api/-/etherscan-api-10.0.5.tgz#6f38585daaf808b56f93d521dce062085360d209" + integrity sha512-xyNK/nGn3Tl9x11bY2zu1Po5jSzsQykMa/OdTep6CbxbaFntVbYy0zSMNkZBmGAND4AFHq7Q6fCppXKuAJUzVQ== + dependencies: + axios "^0.19.0" + gh-pages "^2.1.1" + querystring "^0.2.0" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +ethjs-util@0.1.6, ethjs-util@^0.1.3: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" + integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== + dependencies: + is-hex-prefixed "1.0.0" + strip-hex-prefix "1.0.0" + +event-stream@=3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +eventemitter2@6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" + integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== + +eventemitter2@^6.4.3: + version "6.4.9" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== + +eventemitter3@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" + integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== + +eventemitter3@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + +eventemitter3@4.0.7, eventemitter3@^4.0.0, eventemitter3@^4.0.1, eventemitter3@^4.0.4, eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +eventemitter3@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.0.tgz#084eb7f5b5388df1451e63f4c2aafd71b217ccb3" + integrity sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg== + +events@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== + +events@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/events/-/events-2.1.0.tgz#2a9a1e18e6106e0e812aa9ebd4a819b3c29c0ba5" + integrity sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg== + +events@^3.0.0, events@^3.1.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +executable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +exponential-backoff@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.0.tgz#9409c7e579131f8bd4b32d7d8094a911040f2e68" + integrity sha512-oBuz5SYz5zzyuHINoe9ooePwSu0xApKWgeNzok4hZ5YKXFh9zrQBEM15CXqoZkJJPuI2ArvqjPQd8UKJA753XA== + +express@^4.14.0: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== + +fake-merkle-patricia-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" + integrity sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA== + dependencies: + checkpoint-store "^1.1.0" + +fancy-canvas@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/fancy-canvas/-/fancy-canvas-0.2.2.tgz#33fd4976724169a1eda5015f515a2a1302d1ec91" + integrity sha512-50qi8xA0QkHbjmb8h7XQ6k2fvD7y/yMfiUw9YTarJ7rWrq6o5/3CCXPouYk+XSLASvvxtjyiQLRBFt3qkE3oyA== + +fast-check@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-3.1.1.tgz#72c5ae7022a4e86504762e773adfb8a5b0b01252" + integrity sha512-3vtXinVyuUKCKFKYcwXhGE6NtGWkqF8Yh3rvMZNzmwz8EPrgoc/v4pDdLHyLnCyCI5MZpZZkDEwFyXyEONOxpA== + dependencies: + pure-rand "^5.0.1" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-equals@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-2.0.4.tgz#3add9410585e2d7364c2deeb6a707beadb24b927" + integrity sha512-caj/ZmjHljPrZtbzJ3kfH5ia/k4mTJe/qSiXAGzxZWRZgsgDV0cvNaQULqUX8t0/JVlzzEdYOwCN5DmzTxoD4w== + +fast-glob@^3.1.1, fast-glob@^3.2.12, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-loops@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" + integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== + +fast-redact@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.2.tgz#d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa" + integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== + +fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.0.7: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fast-shallow-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" + integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== + +fast-stable-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" + integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== + +fast-url-parser@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" + integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== + dependencies: + punycode "^1.3.2" + +fastest-stable-stringify@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" + integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +fetch-ponyfill@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz#ae3ce5f732c645eab87e4ae8793414709b239893" + integrity sha512-knK9sGskIg2T7OnYLdZ2hZXn0CtDrAIBxYQLpmEf0BqfdWnwmM1weccUl5+4EdA44tzNSFAuxITPbXtPehUB3g== + dependencies: + node-fetch "~1.7.1" + +fflate@^0.4.1: + version "0.4.8" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae" + integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA== + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0, figures@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +file-uri-to-path@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" + integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== + +filename-reserved-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" + integrity sha512-UZArj7+U+2reBBVCvVmRlyq9D7EYQdUtuNN+1iz7pF1jGcJ2L0TjiRCxsTZfj2xFbM4c25uGCUDpKTHA7L2TKg== + +filenamify-url@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/filenamify-url/-/filenamify-url-1.0.0.tgz#b32bd81319ef5863b73078bed50f46a4f7975f50" + integrity sha512-O9K9JcZeF5VdZWM1qR92NSv1WY2EofwudQayPx5dbnnFl9k0IcZha4eV/FGkjnBK+1irOQInij0yiooCHu/0Fg== + dependencies: + filenamify "^1.0.0" + humanize-url "^1.0.0" + +filenamify@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" + integrity sha512-DKVP0WQcB7WaIMSwDETqImRej2fepPqvXQjaVib7LRZn9Rxn5UbvK2tYTqGf1A1DkIprQQkG4XSQXSOZp7Q3GQ== + dependencies: + filename-reserved-regex "^1.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.2.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-webpack@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/find-webpack/-/find-webpack-2.2.1.tgz#96e7b701a2d37c3500cae30d4dc59e14923ba460" + integrity sha512-OdDtn2AzQvu3l9U1TS5ALc7uTVcLK/yv3fhjo+Pz7yuv4hG3ANKnbkKnPIPZ5ofd9mpYe6wRf5g5H4X9Lx48vQ== + dependencies: + debug "4.1.1" + find-yarn-workspace-root "1.2.1" + mocked-env "1.3.2" + +find-yarn-workspace-root@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" + integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== + dependencies: + fs-extra "^4.0.3" + micromatch "^3.1.4" + +find-yarn-workspace-root@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== + dependencies: + micromatch "^4.0.2" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + +follow-redirects@^1.14.0, follow-redirects@^1.14.7, follow-redirects@^1.14.8, follow-redirects@^1.14.9: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +for-each@^0.3.3, for-each@~0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +foreground-child@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" + integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^3.0.2" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +form-data-encoder@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" + integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +from@~0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== + +fromentries@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" + integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" + integrity sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + path-is-absolute "^1.0.0" + rimraf "^2.2.8" + +fs-extra@^4.0.2, fs-extra@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0, fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== + dependencies: + minipass "^2.6.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +ftp@^0.3.10: + version "0.3.10" + resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" + integrity sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ== + dependencies: + readable-stream "1.1.x" + xregexp "2.0.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-assigned-identifiers@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz#6dbf411de648cbaf8d9169ebb0d2d576191e2ff1" + integrity sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-uri@3: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" + integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== + dependencies: + "@tootallnate/once" "1" + data-uri-to-buffer "3" + debug "4" + file-uri-to-path "2" + fs-extra "^8.1.0" + ftp "^0.3.10" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +gh-pages@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-2.2.0.tgz#74ebeaca8d2b9a11279dcbd4a39ddfff3e6caa24" + integrity sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA== + dependencies: + async "^2.6.1" + commander "^2.18.0" + email-addresses "^3.0.1" + filenamify-url "^1.0.0" + fs-extra "^8.1.0" + globby "^6.1.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-regex@^0.3.0: + version "0.3.2" + resolved "https://registry.yarnpkg.com/glob-regex/-/glob-regex-0.3.2.tgz#27348f2f60648ec32a4a53137090b9fb934f3425" + integrity sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw== + +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.3, glob@^7.1.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +globals@^11.1.0, globals@^11.12.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0, globals@^13.6.0, globals@^13.9.0: + version "13.19.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" + integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== + dependencies: + type-fest "^0.20.2" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globrex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-12.1.0.tgz#099f3815305c682be4fd6b0ee0726d8e4c6b0af4" + integrity sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig== + dependencies: + "@sindresorhus/is" "^4.6.0" + "@szmarczak/http-timer" "^5.0.1" + "@types/cacheable-request" "^6.0.2" + "@types/responselike" "^1.0.0" + cacheable-lookup "^6.0.4" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + form-data-encoder "1.7.1" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^2.0.0" + +got@^11.8.5: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +graphql@^16.6.0: + version "16.6.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" + integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3, has@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasha@^5.0.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" + integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== + dependencies: + is-stream "^2.0.0" + type-fest "^0.8.0" + +hdkey@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-1.1.1.tgz#c2b3bfd5883ff9529b72f2f08b28be0972a9f64a" + integrity sha512-DvHZ5OuavsfWs5yfVJZestsnc3wzPvLWNk6c2nRUfo6X+OtxypGt20vDDf7Ba+MJzjL3KS1og2nw2eBbLCOUTA== + dependencies: + coinstring "^2.0.0" + safe-buffer "^5.1.1" + secp256k1 "^3.0.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +header-case@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" + integrity sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.3" + +hex-to-rgba@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hex-to-rgba/-/hex-to-rgba-2.0.1.tgz#4176977882a1cb32b83ce5ab1db6828ab84d5a13" + integrity sha512-5XqPJBpsEUMsseJUi2w2Hl7cHFFi3+OO10M2pzAvKB1zL6fc+koGMhmBqoDOCB4GemiRM/zvDMRIhVw6EkB8dQ== + +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== + +hi-base32@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" + integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== + +highlight.js@^10.4.1: + version "10.7.3" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + +highlightjs-solidity@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/highlightjs-solidity/-/highlightjs-solidity-2.0.5.tgz#48b945f41886fa49af9f06023e6e87fffc243745" + integrity sha512-ReXxQSGQkODMUgHcWzVSnfDCDrL2HshOYgw3OlIYmfHeRzUPkfJTUIp95pK4CmbiNG2eMTOmNLpfCz9Zq7Cwmg== + +hmac-drbg@^1.0.0, hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + integrity sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-to-image@^1.10.8: + version "1.11.4" + resolved "https://registry.yarnpkg.com/html-to-image/-/html-to-image-1.11.4.tgz#a5c7d4b13ed13bf9922661ae20629a971cbc1e86" + integrity sha512-I6jeGpjSI/pea+p/8q6HAWPxptZkEYaZ40ZLnpCHuhCJJnUHQ/YzMEQMNY/KMdPZJ4+GJIwo9dnJy76eW9p9cg== + +htmlescape@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" + integrity sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg== + +htmlparser2@^3.9.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +htmlparser2@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.1.tgz#abaa985474fcefe269bc761a779b544d7196d010" + integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + domutils "^3.0.1" + entities "^4.3.0" + +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@^1.7.2: + version "1.8.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" + integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.1" + +http-https@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== + +http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" + integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.14.1" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +http2-wrapper@^2.1.10: + version "2.2.0" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3" + integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +https-proxy-agent@5, https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +humanize-url@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/humanize-url/-/humanize-url-1.0.1.tgz#f4ab99e0d288174ca4e1e50407c55fbae464efff" + integrity sha512-RtgTzXCPVb/te+e82NDhAc5paj+DuKSratIGAr+v+HZK24eAQ8LMoBGYoL7N/O+9iEc33AKHg45dOMKw3DNldQ== + dependencies: + normalize-url "^1.0.0" + strip-url-auth "^1.0.0" + +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== + dependencies: + punycode "2.1.0" + +ieee754@1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.4, ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +immediate@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" + integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + +immutable@^4.0.0, immutable@^4.0.0-rc.12: + version "4.2.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.2.tgz#2da9ff4384a4330c36d4d1bc88e90f9e0b0ccd16" + integrity sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inline-source-map@~0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" + integrity sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA== + dependencies: + source-map "~0.5.3" + +inline-style-prefixer@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz#4290ed453ab0e4441583284ad86e41ad88384f44" + integrity sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg== + dependencies: + css-in-js-utils "^3.1.0" + fast-loops "^1.1.3" + +inquirer-list-search-prompt@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inquirer-list-search-prompt/-/inquirer-list-search-prompt-1.0.2.tgz#aee9d698dbca47dd7e727413fbaed5f540475c19" + integrity sha512-p2pxuhxCurxZbWkYydLaI+9f2qkSDQUB2MeIJ07jxNBqH/bkHcz7Kk78+Im/XnL1MdyHbh0KKMzjAHmeSLn7oA== + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + figures "^2.0.0" + run-async "^2.3.0" + +inquirer@^6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^8.2.0: + version "8.2.5" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" + integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + +insert-module-globals@^7.0.0, insert-module-globals@^7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.2.1.tgz#d5e33185181a4e1f33b15f7bf100ee91890d5cb3" + integrity sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg== + dependencies: + JSONStream "^1.0.3" + acorn-node "^1.5.2" + combine-source-map "^0.8.0" + concat-stream "^1.6.1" + is-buffer "^1.1.0" + path-is-absolute "^1.0.1" + process "~0.11.0" + through2 "^2.0.0" + undeclared-identifiers "^1.1.2" + xtend "^4.0.0" + +internal-slot@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" + integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + side-channel "^1.0.4" + +internmap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ== + +ip@^1.1.5: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4, is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + +is-buffer@^1.1.0, is-buffer@^1.1.5, is-buffer@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-builtin-module@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" + integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw== + dependencies: + builtin-modules "^3.3.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.11.0, is-core-module@^2.8.1, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + +is-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" + integrity sha512-XoFPJQmsAShb3jEQRfzf2rqXavq7fIqF/jOekp308JlThqrODnMpweVSGilKTCXELfLhltGP2AGgbQGVP8F1dg== + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + +is-in-browser@^1.0.2, is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" + integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== + +is-installed-globally@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-lower-case@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" + integrity sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA== + dependencies: + lower-case "^1.1.0" + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.2, is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.4, is-regex@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-retina@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-retina/-/is-retina-1.0.3.tgz#d7401b286bea2ae37f62477588de504d0b8647e3" + integrity sha512-/tCmbIETZwCd8uHWO+GvbRa7jxwHFHdfetHfiwoP0aN9UDf3prUJMtKn7iBFYipYhqY1bSTjur8hC/Dakt8eyw== + +is-retry-allowed@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d" + integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-upper-case@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" + integrity sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw== + dependencies: + upper-case "^1.1.0" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@^2.0.1, isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +istanbul-lib-coverage@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-hook@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" + integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== + dependencies: + append-transform "^2.0.0" + +istanbul-lib-instrument@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-processinfo@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz#366d454cd0dcb7eb6e0e419378e60072c8626169" + integrity sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg== + dependencies: + archy "^1.0.0" + cross-spawn "^7.0.3" + istanbul-lib-coverage "^3.2.0" + p-map "^3.0.0" + rimraf "^3.0.0" + uuid "^8.3.2" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.1.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jayson@^3.4.4: + version "3.7.0" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25" + integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + lodash "^4.17.20" + uuid "^8.3.2" + ws "^7.4.5" + +jmespath@0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" + integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== + +joi@^17.4.0: + version "17.7.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.7.0.tgz#591a33b1fe1aca2bc27f290bcad9b9c1c570a6b3" + integrity sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.0" + "@sideway/pinpoint" "^2.0.0" + +jotai@^1.11.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/jotai/-/jotai-1.13.1.tgz#20cc46454cbb39096b12fddfa635b873b3668236" + integrity sha512-RUmH1S4vLsG3V6fbGlKzGJnLrDcC/HNb5gH2AeA9DzuJknoVxSGvvg8OBB7lke+gDc4oXmdVsaKn/xDUhWZ0vw== + +js-cookie@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" + integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== + +js-levenshtein@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + +js-sdsl@^4.1.4: + version "4.2.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0" + integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== + +js-sha256@0.9.0, js-sha256@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" + integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== + +js-sha3@0.5.7, js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-sha512@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha512/-/js-sha512-0.8.0.tgz#dd22db8d02756faccf19f218e3ed61ec8249f7d4" + integrity sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== + +js-xxhash@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/js-xxhash/-/js-xxhash-1.0.4.tgz#ce465d8a5c038167a07aa35a855c0bd792fe8e06" + integrity sha512-S/6Oo7ruxx5k8m4qlMnbpwQdJjRsvvfcIhIk1dA9c5y5GNhYHKYKu9krEK3QgBax6CxJuf4gRL2opgLkdzWIKg== + +js-yaml@3.14.1, js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbi@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-4.3.0.tgz#b54ee074fb6fcbc00619559305c8f7e912b04741" + integrity sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g== + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + integrity sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-rpc-engine@6.1.0, json-rpc-engine@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" + integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + eth-rpc-errors "^4.0.2" + +json-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz#9d4ff447241792e1d0a232f6ef927302bb0c62a9" + integrity sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA== + dependencies: + async "^2.0.1" + babel-preset-env "^1.7.0" + babelify "^7.3.0" + json-rpc-error "^2.0.0" + promise-to-callback "^1.0.0" + safe-event-emitter "^1.0.1" + +json-rpc-engine@^5.1.3, json-rpc-engine@^5.3.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz#75758609d849e1dba1e09021ae473f3ab63161e5" + integrity sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g== + dependencies: + eth-rpc-errors "^3.0.0" + safe-event-emitter "^1.0.1" + +json-rpc-error@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/json-rpc-error/-/json-rpc-error-2.0.0.tgz#a7af9c202838b5e905c7250e547f1aff77258a02" + integrity sha512-EwUeWP+KgAZ/xqFpaP6YDAXMtCJi+o/QQpCQFIYyxr01AdADi2y413eM8hSqJcoQym9WMePAJWoaODEJufC4Ug== + dependencies: + inherits "^2.0.1" + +json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" + integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stable-stringify@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" + integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== + dependencies: + jsonify "^0.0.1" + +json-stable-stringify@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45" + integrity sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw== + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + integrity sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@^0.0.1, jsonify@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" + integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +jss-plugin-camel-case@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz#76dddfa32f9e62d17daa4e3504991fd0933b89e1" + integrity sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg== + dependencies: + "@babel/runtime" "^7.3.1" + hyphenate-style-name "^1.0.3" + jss "10.9.2" + +jss-plugin-default-unit@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz#3e7f4a1506b18d8fe231554fd982439feb2a9c53" + integrity sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.2" + +jss-plugin-global@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz#e7f2ad4a5e8e674fb703b04b57a570b8c3e5c2c2" + integrity sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.2" + +jss-plugin-nested@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz#3aa2502816089ecf3981e1a07c49b276d67dca63" + integrity sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.2" + tiny-warning "^1.0.2" + +jss-plugin-props-sort@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz#645f6c8f179309667b3e6212f66b59a32fb3f01f" + integrity sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.2" + +jss-plugin-rule-value-function@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz#9afe07596e477123cbf11120776be6a64494541f" + integrity sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.2" + tiny-warning "^1.0.2" + +jss-plugin-vendor-prefixer@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz#410a0f3b9f8dbbfba58f4d329134df4849aa1237" + integrity sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA== + dependencies: + "@babel/runtime" "^7.3.1" + css-vendor "^2.0.8" + jss "10.9.2" + +jss@10.9.2, jss@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jss/-/jss-10.9.2.tgz#9379be1f195ef98011dfd31f9448251bd61b95a9" + integrity sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg== + dependencies: + "@babel/runtime" "^7.3.1" + csstype "^3.0.2" + is-in-browser "^1.1.3" + tiny-warning "^1.0.2" + +keccak256@^1.0.0, keccak256@^1.0.2: + version "1.0.6" + resolved "https://registry.yarnpkg.com/keccak256/-/keccak256-1.0.6.tgz#dd32fb771558fed51ce4e45a035ae7515573da58" + integrity sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw== + dependencies: + bn.js "^5.2.0" + buffer "^6.0.3" + keccak "^3.0.2" + +keccak@^1.0.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-1.4.0.tgz#572f8a6dbee8e7b3aa421550f9e6408ca2186f80" + integrity sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw== + dependencies: + bindings "^1.2.1" + inherits "^2.0.3" + nan "^2.2.1" + safe-buffer "^5.1.0" + +keccak@^3.0.0, keccak@^3.0.1, keccak@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" + integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keen-slider@^6.8.5: + version "6.8.5" + resolved "https://registry.yarnpkg.com/keen-slider/-/keen-slider-6.8.5.tgz#1d96ff3ab77f195fc6cacd2e5aecc35d8ceb9702" + integrity sha512-9yoosfffgTCrkmbX8kCUMWsn9KDgPSkxBof5/0yXde001D1xao7i9ppfxQCCK0MLnoCa+Rdssby0jFbTTUM4rw== + +keyv@^4.0.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.2.tgz#0e310ce73bf7851ec702f2eaf46ec4e3805cce56" + integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g== + dependencies: + json-buffer "3.0.1" + +keyvaluestorage-interface@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" + integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + integrity sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw== + optionalDependencies: + graceful-fs "^4.1.9" + +klona@2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== + +labeled-stream-splicer@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz#42a41a16abcd46fd046306cf4f2c3576fffb1c21" + integrity sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw== + dependencies: + inherits "^2.0.1" + stream-splicer "^2.0.0" + +lazy-ass@1.6.0, lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw== + dependencies: + invert-kv "^1.0.0" + +level-codec@~7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" + integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== + +level-errors@^1.0.3: + version "1.1.2" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" + integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== + dependencies: + errno "~0.1.1" + +level-errors@~1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" + integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== + dependencies: + errno "~0.1.1" + +level-iterator-stream@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" + integrity sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw== + dependencies: + inherits "^2.0.1" + level-errors "^1.0.3" + readable-stream "^1.0.33" + xtend "^4.0.0" + +level-ws@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" + integrity sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw== + dependencies: + readable-stream "~1.0.15" + xtend "~2.1.1" + +levelup@^1.2.1: + version "1.3.9" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" + integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== + dependencies: + deferred-leveldown "~1.2.1" + level-codec "~7.0.0" + level-errors "~1.0.3" + level-iterator-stream "~1.3.0" + prr "~1.0.1" + semver "~5.4.1" + xtend "~4.0.0" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lie@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== + dependencies: + immediate "~3.0.5" + +lightweight-charts@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/lightweight-charts/-/lightweight-charts-3.8.0.tgz#8c41ad7c1c083f18621f11ece7fc1096e131a0d3" + integrity sha512-7yFGnYuE1RjRJG9RwUTBz5wvF1QtjBOSW4FFlikr8Dh+/TDNt4ci+HsWSYmStgQUpawpvkCJ3j5/W25GppGj9Q== + dependencies: + fancy-canvas "0.2.2" + +lilconfig@^2.0.5, lilconfig@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +listr2@^3.8.3: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + +lit-element@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.2.2.tgz#d148ab6bf4c53a33f707a5168e087725499e5f2b" + integrity sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ== + dependencies: + "@lit/reactive-element" "^1.3.0" + lit-html "^2.2.0" + +lit-html@^2.2.0, lit-html@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.6.1.tgz#eb29f0b0c2ab54ea77379db11fc011b0c71f1cda" + integrity sha512-Z3iw+E+3KKFn9t2YKNjsXNEu/LRLI98mtH/C6lnFg7kvaqPIzPn124Yd4eT/43lyqrejpc5Wb6BHq3fdv4S8Rw== + dependencies: + "@types/trusted-types" "^2.0.2" + +lit@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.6.1.tgz#5951a2098b9bde5b328c73b55c15fdc0eefd96d7" + integrity sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw== + dependencies: + "@lit/reactive-element" "^1.6.0" + lit-element "^3.2.0" + lit-html "^2.6.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +localforage@^1.7.4: + version "1.10.0" + resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" + integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== + dependencies: + lie "3.1.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.assign@^4.0.3, lodash.assign@^4.0.6: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + integrity sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw== + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + integrity sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ== + +lodash.isequal@4.5.0, lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.memoize@~3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" + integrity sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash.upperfirst@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + +lodash@4.17.15: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +lodash@4.17.19: + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== + +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.1.0, log-symbols@^4.0.0, log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ== + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +loupe@^2.3.1: + version "2.3.6" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" + integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== + dependencies: + get-func-name "^2.0.0" + +lower-case-first@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1" + integrity sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA== + dependencies: + lower-case "^1.1.2" + +lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA== + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +ltgt@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" + integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== + +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ== + +magic-sdk@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/magic-sdk/-/magic-sdk-10.1.0.tgz#b111e41d88d8dc339744c201a07e8d6cb2bb21ca" + integrity sha512-1Pykolr4WzK8j+FWm4rnjPqSRlG+z6nNd5kTMyDPFaqOxmKpoOpgUs2mVYASomXAZx1B883rSP67MGK+N6hlqw== + dependencies: + "@magic-sdk/commons" "^6.1.0" + "@magic-sdk/provider" "^10.1.0" + "@magic-sdk/types" "^9.1.0" + localforage "^1.7.4" + +magic-string@^0.26.7: + version "0.26.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" + integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== + dependencies: + sourcemap-codec "^1.4.8" + +make-dir@^3.0.0, make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" + integrity sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ== + +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +md5@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" + integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== + dependencies: + charenc "0.0.2" + crypt "0.0.2" + is-buffer "~1.1.6" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +media-query-parser@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/media-query-parser/-/media-query-parser-2.0.2.tgz#ff79e56cee92615a304a1c2fa4f2bd056c0a1d29" + integrity sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w== + dependencies: + "@babel/runtime" "^7.12.5" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memdown@^1.0.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" + integrity sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w== + dependencies: + abstract-leveldown "~2.7.1" + functional-red-black-tree "^1.0.1" + immediate "^3.2.3" + inherits "~2.0.1" + ltgt "~2.2.0" + safe-buffer "~5.1.1" + +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== + +meow@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" + integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== + dependencies: + camelcase-keys "^4.0.0" + decamelize-keys "^1.0.0" + loud-rejection "^1.0.0" + minimist-options "^3.0.1" + normalize-package-data "^2.3.4" + read-pkg-up "^3.0.0" + redent "^2.0.0" + trim-newlines "^2.0.0" + yargs-parser "^10.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" + integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== + dependencies: + async "^1.4.2" + ethereumjs-util "^5.0.0" + level-ws "0.0.0" + levelup "^1.2.1" + memdown "^1.0.0" + readable-stream "^2.0.0" + rlp "^2.0.0" + semaphore ">=1.0.1" + +merkletreejs@^0.2.24, merkletreejs@^0.2.32: + version "0.2.32" + resolved "https://registry.yarnpkg.com/merkletreejs/-/merkletreejs-0.2.32.tgz#cf1c0760e2904e4a1cc269108d6009459fd06223" + integrity sha512-TostQBiwYRIwSE5++jGmacu3ODcKAgqb0Y/pnIohXS7sWxh1gCkSptbmF1a43faehRDpcHf7J/kv0Ml2D/zblQ== + dependencies: + bignumber.js "^9.0.1" + buffer-reverse "^1.0.1" + crypto-js "^3.1.9-1" + treeify "^1.1.0" + web3-utils "^1.3.4" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== + +mime-types@2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== + dependencies: + mime-db "~1.33.0" + +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@^2.1.34, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist-options@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" + integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + +minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + +minipass@^2.6.0, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp-classic@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + +mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== + dependencies: + mkdirp "*" + +mkdirp@*: + version "2.1.3" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-2.1.3.tgz#b083ff37be046fd3d6552468c1f0ff44c1545d1f" + integrity sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw== + +mkdirp@^0.5.1, mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mocha@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +mock-fs@^4.1.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" + integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== + +mocked-env@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mocked-env/-/mocked-env-1.3.2.tgz#548eb2fde141d083de70dc6b231cd9f3210d8731" + integrity sha512-jwm3ziowCjpbLNhUNYwn2G0tawV/ZGRuWeEGt6PItrkQT74Nk3pDldL2pmwm9sQZw6a/x+ZBGeBVYq54acTauQ== + dependencies: + check-more-types "2.24.0" + debug "4.1.1" + lazy-ass "1.6.0" + ramda "0.26.1" + +module-deps@^6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-6.2.3.tgz#15490bc02af4b56cf62299c7c17cba32d71a96ee" + integrity sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA== + dependencies: + JSONStream "^1.0.3" + browser-resolve "^2.0.0" + cached-path-relative "^1.0.2" + concat-stream "~1.6.0" + defined "^1.0.0" + detective "^5.2.0" + duplexer2 "^0.1.2" + inherits "^2.0.1" + parents "^1.0.0" + readable-stream "^2.0.2" + resolve "^1.4.0" + stream-combiner2 "^1.1.1" + subarg "^1.0.0" + through2 "^2.0.0" + xtend "^4.0.0" + +motion@10.15.5: + version "10.15.5" + resolved "https://registry.yarnpkg.com/motion/-/motion-10.15.5.tgz#d336ddbdd37bc28bb99fbb243fe309df6c685ad6" + integrity sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw== + dependencies: + "@motionone/animation" "^10.15.1" + "@motionone/dom" "^10.15.5" + "@motionone/svelte" "^10.15.5" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + "@motionone/vue" "^10.15.5" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multibase@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" + integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multibase@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" + integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multicodec@^0.5.5: + version "0.5.7" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" + integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== + dependencies: + varint "^5.0.0" + +multicodec@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" + integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== + dependencies: + buffer "^5.6.0" + varint "^5.0.0" + +multiformats@^9.4.2: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + +multihashes@^0.4.15, multihashes@~0.4.15: + version "0.4.21" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" + integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== + dependencies: + buffer "^5.5.0" + multibase "^0.7.0" + varint "^5.0.0" + +multistream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8" + integrity sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw== + dependencies: + once "^1.4.0" + readable-stream "^3.6.0" + +mustache@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" + integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.14.0, nan@^2.2.1: + version "2.17.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== + +nano-base32@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nano-base32/-/nano-base32-1.0.1.tgz#ba548c879efcfb90da1c4d9e097db4a46c9255ef" + integrity sha512-sxEtoTqAPdjWVGv71Q17koMFGsOMSiHsIFEvzOM7cNp8BXB4AnEwmDabm5dorusJf/v1z7QxaZYxUorU9RKaAw== + +nano-css@^5.3.1: + version "5.3.5" + resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.3.5.tgz#3075ea29ffdeb0c7cb6d25edb21d8f7fa8e8fe8e" + integrity sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg== + dependencies: + css-tree "^1.1.2" + csstype "^3.0.6" + fastest-stable-stringify "^2.0.2" + inline-style-prefixer "^6.0.0" + rtl-css-js "^1.14.0" + sourcemap-codec "^1.4.8" + stacktrace-js "^2.0.2" + stylis "^4.0.6" + +nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== + +nanoassert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" + integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== + +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +near-api-js@^0.44.2: + version "0.44.2" + resolved "https://registry.yarnpkg.com/near-api-js/-/near-api-js-0.44.2.tgz#e451f68f2c56bd885c7b918db5818a3e6e9423d0" + integrity sha512-eMnc4V+geggapEUa3nU2p8HSHn/njtloI4P2mceHQWO8vDE1NGpnAw8FuTBrLmXSgIv9m6oocgFc9t3VNf5zwg== + dependencies: + bn.js "5.2.0" + borsh "^0.6.0" + bs58 "^4.0.0" + depd "^2.0.0" + error-polyfill "^0.1.3" + http-errors "^1.7.2" + js-sha256 "^0.9.0" + mustache "^4.0.0" + node-fetch "^2.6.1" + text-encoding-utf-8 "^1.0.2" + tweetnacl "^1.0.1" + +near-hd-key@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/near-hd-key/-/near-hd-key-1.2.1.tgz#f508ff15436cf8a439b543220f3cc72188a46756" + integrity sha512-SIrthcL5Wc0sps+2e1xGj3zceEa68TgNZDLuCx0daxmfTP7sFTB3/mtE2pYhlFsCxWoMn+JfID5E1NlzvvbRJg== + dependencies: + bip39 "3.0.2" + create-hmac "1.1.7" + tweetnacl "1.0.3" + +near-seed-phrase@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/near-seed-phrase/-/near-seed-phrase-0.2.0.tgz#fb7cf89682112b1160ab68abb50dc821f49be18a" + integrity sha512-NpmrnejpY1AdlRpDZ0schJQJtfBaoUheRfiYtQpcq9TkwPgqKZCRULV5L3hHmLc0ep7KRtikbPQ9R2ztN/3cyQ== + dependencies: + bip39-light "^1.0.7" + bs58 "^4.0.1" + near-hd-key "^1.2.1" + tweetnacl "^1.0.2" + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + +network-speed@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/network-speed/-/network-speed-2.1.1.tgz#89f8c3903e1f77517578c0dc2d078f7dfd2eb8a0" + integrity sha512-NDr8h55toVE5Gy/CZI5nUAl+57DX1xl3PyhcXWacUiUttOJ2JsKkm5JzyVaoJ5psR9KUhi9y4EKc+atnWarkOg== + +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^2.2.0, no-case@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-fetch@2, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: + version "2.6.8" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" + integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@~1.7.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + +node-preload@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" + integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== + dependencies: + process-on-spawn "^1.0.0" + +node-releases@^2.0.6: + version "2.0.8" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" + integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== + +nofilter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" + integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== + +normalize-hex@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/normalize-hex/-/normalize-hex-0.0.2.tgz#5491c43759db2f06b7168d8419f4925c271ab27e" + integrity sha512-E2dx7XJQnjsm6SkS4G6GGvIXRHaLeWAZE2D2N3aia+OpIif2UT8y4S0KCjrX3WmFDSeFnlNOp0FSHFjLeJ4SJw== + dependencies: + bn.js "^4.11.8" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^1.0.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ== + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +numeral@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506" + integrity sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA== + +nyc@15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" + integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== + dependencies: + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + caching-transform "^4.0.0" + convert-source-map "^1.7.0" + decamelize "^1.2.0" + find-cache-dir "^3.2.0" + find-up "^4.1.0" + foreground-child "^2.0.0" + get-package-type "^0.1.0" + glob "^7.1.6" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-hook "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-processinfo "^2.0.2" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + make-dir "^3.0.0" + node-preload "^0.2.1" + p-map "^3.0.0" + process-on-spawn "^1.0.0" + resolve-from "^5.0.0" + rimraf "^3.0.0" + signal-exit "^3.0.2" + spawn-wrap "^2.0.0" + test-exclude "^6.0.0" + yargs "^15.0.2" + +o3@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/o3/-/o3-1.0.3.tgz#192ce877a882dfa6751f0412a865fafb2da1dac0" + integrity sha512-f+4n+vC6s4ysy7YO7O2gslWZBUu8Qj2i2OUJOvjRxQva7jVjYjB29jrr9NCjmxZQR0gzrOcv1RnqoYOeMs5VRQ== + dependencies: + capability "^0.2.5" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-inspect@^1.12.2, object-inspect@^1.9.0, object-inspect@~1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.0.1, object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-keys@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + integrity sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +object.values@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +oboe@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" + integrity sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA== + dependencies: + http-https "^1.0.0" + +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +"openzeppelin-solidity-2.3.0@npm:openzeppelin-solidity@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz#1ab7b4cc3782a5472ed61eb740c56a8bfdd74119" + integrity sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-browserify@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g== + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + +outdent@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0" + integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== + +outpipe@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/outpipe/-/outpipe-1.1.1.tgz#50cf8616365e87e031e29a5ec9339a3da4725fa2" + integrity sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA== + dependencies: + shell-quote "^1.4.2" + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pac-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" + integrity sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + get-uri "3" + http-proxy-agent "^4.0.1" + https-proxy-agent "5" + pac-resolver "^5.0.0" + raw-body "^2.2.0" + socks-proxy-agent "5" + +pac-resolver@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-5.0.1.tgz#c91efa3a9af9f669104fa2f51102839d01cde8e7" + integrity sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q== + dependencies: + degenerator "^3.0.2" + ip "^1.1.5" + netmask "^2.0.2" + +package-hash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" + integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== + dependencies: + graceful-fs "^4.1.15" + hasha "^5.0.0" + lodash.flattendeep "^4.4.0" + release-zalgo "^1.0.0" + +pako@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +param-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w== + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parents@^1.0.0, parents@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" + integrity sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg== + dependencies: + path-platform "~0.11.15" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-headers@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" + integrity sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ== + dependencies: + camel-case "^3.0.0" + upper-case-first "^1.1.0" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +pascalcase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-1.0.0.tgz#d2fd7d73f2969606d2b56e17f5261be41c43c381" + integrity sha512-BSExi0rRnCHReJys6NocaK+cfTXNinAegfWBvr0JD3hiaEG7Nuc7r0CIdOJunXrs8gU/sbHQ9dxVAtiVQisjmg== + +path-browserify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-browserify@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" + integrity sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q== + dependencies: + no-case "^2.2.0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-is-inside@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-platform@~0.11.15: + version "0.11.15" + resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" + integrity sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-to-regexp@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.2.1.tgz#90b617025a16381a879bc82a38d4e8bdeb2bcf45" + integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== + dependencies: + through "~2.3" + +pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +penpal@3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/penpal/-/penpal-3.0.7.tgz#d252711ed93b30f1d867eb82342785b3a95f5f75" + integrity sha512-WSXiq5HnEvzvY05SHhaXcsviUmCvh4Ze8AiIZzvmdzaaYAAx4rx8c6Xq6+MaVDG/Nfve3VmGD8HyRP3CkPvPbQ== + +penpal@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/penpal/-/penpal-4.1.1.tgz#c96ccfdac441682acf617f6dcbc177a614e8302b" + integrity sha512-6d1f8khVLyBz3DnhLztbfjJ7+ANxdXRM2l6awpnCdEtbrmse4AGTsELOvGuNY0SU7xZw7heGbP6IikVvaVTOWw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.0, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== + dependencies: + duplexify "^4.1.2" + split2 "^4.0.0" + +pino-std-serializers@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== + +pino@7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.0.0" + on-exit-leak-free "^0.2.0" + pino-abstract-transport v0.5.0 + pino-std-serializers "^4.0.0" + process-warning "^1.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.1.0" + safe-stable-stringify "^2.1.0" + sonic-boom "^2.2.1" + thread-stream "^0.15.1" + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@4.2.0, pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +pngjs@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +pocket-js-core@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/pocket-js-core/-/pocket-js-core-0.0.3.tgz#1ab278b9a6a5775e2bdc3c2c2e218057774061e4" + integrity sha512-OUTEvEVutdjLT6YyldvAlSebpBueUUWg2XKxGNt5u3QqrmLpBOOBmdDnGMNJ+lEwXtko+JqgwFq+HTi4g1QDVg== + dependencies: + axios "^0.18.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +postcss-import@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" + integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" + integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== + dependencies: + lilconfig "^2.0.5" + yaml "^1.10.2" + +postcss-nested@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735" + integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-selector-parser@^6.0.10: + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.18, postcss@^8.4.19: + version "8.4.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +posthog-js@^1.16.7: + version "1.40.0" + resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.40.0.tgz#c216cf7673f23183dd90e3254481abad0f12fd00" + integrity sha512-j/W5cfZuFzl+KaoA7PJ6wAMA+/uopj/JDYAI7ZRHa6mpelVavkDm7psJmPc6TG8gwZJ/NLjzHmxyQ5Dr1g0Gfw== + dependencies: + fflate "^0.4.1" + rrweb-snapshot "^1.1.14" + +preact@10.4.1: + version "10.4.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.4.1.tgz#9b3ba020547673a231c6cf16f0fbaef0e8863431" + integrity sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q== + +preact@^10.3.3, preact@^10.5.9: + version "10.11.3" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.11.3.tgz#8a7e4ba19d3992c488b0785afcc0f8aa13c78d19" + integrity sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg== + +precond@0.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" + integrity sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + +prettier@^2.8.3: + version "2.8.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632" + integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw== + +pretty-bytes@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-error@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +pretty-format@^27.0.2: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +private@^0.1.6, private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process-on-spawn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" + integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== + dependencies: + fromentries "^1.2.0" + +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== + +process@^0.11.10, process@~0.11.0: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +progress@2.0.3, progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-to-callback@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/promise-to-callback/-/promise-to-callback-1.0.0.tgz#5d2a749010bfb67d963598fcd3960746a68feef7" + integrity sha512-uhMIZmKM5ZteDMfLgJnoSq9GCwsNKrYau73Awf1jIy6/eUcuuZ3P+CD9zUv0kJsIUbU+x6uLNIhXhLHDs1pNPA== + dependencies: + is-fn "^1.0.0" + set-immediate-shim "^1.0.1" + +prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b" + integrity sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g== + dependencies: + agent-base "^6.0.0" + debug "4" + http-proxy-agent "^4.0.0" + https-proxy-agent "^5.0.0" + lru-cache "^5.1.1" + pac-proxy-agent "^5.0.0" + proxy-from-env "^1.0.0" + socks-proxy-agent "^5.0.0" + +proxy-compare@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.4.0.tgz#90f6abffe734ef86d8e37428c5026268606a9c1b" + integrity sha512-FD8KmQUQD6Mfpd0hywCOzcon/dbkFP8XBd9F1ycbKtvVsfv6TsFUKJ2eC0Iz2y+KzlkdT1Z8SY6ZSgm07zOyqg== + +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== + +proxy-from-env@1.1.0, proxy-from-env@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +ps-tree@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd" + integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA== + dependencies: + event-stream "=3.3.4" + +psl@^1.1.28: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== + +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== + +punycode@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.2.0.tgz#2092cc57cd2582c38e4e7e8bb869dc8d3148bc74" + integrity sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw== + +puppeteer-core@13.5.2: + version "13.5.2" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-13.5.2.tgz#ae5788f98dbb322fa3514b60f2ebdd2fb3b7cfb7" + integrity sha512-uxHOWCHt9mGUCLu8qtbEy3UqHlBRMzGCyPmAeoq2KrtmPOC0ZJPRZrDLWJMG3E/gwuHinDtZnBbnFfRfk/PABg== + dependencies: + cross-fetch "3.1.5" + debug "4.3.4" + devtools-protocol "0.0.969999" + extract-zip "2.0.1" + https-proxy-agent "5.0.0" + pkg-dir "4.2.0" + progress "2.0.3" + proxy-from-env "1.1.0" + rimraf "3.0.2" + tar-fs "2.1.1" + unbzip2-stream "1.4.3" + ws "8.5.0" + +puppeteer-core@19.5.2: + version "19.5.2" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-19.5.2.tgz#9b454b0ef89d3f07e20158dd4ced6ebd85d4dadb" + integrity sha512-Rqk+3kqM+Z2deooTYqcYt8lRtGffJdifWa9td9nbJSjhANWsFouk8kLBNUKycewCCFHM8TZUKS0x28OllavW2A== + dependencies: + cross-fetch "3.1.5" + debug "4.3.4" + devtools-protocol "0.0.1068969" + extract-zip "2.0.1" + https-proxy-agent "5.0.1" + proxy-from-env "1.1.0" + rimraf "3.0.2" + tar-fs "2.1.1" + unbzip2-stream "1.4.3" + ws "8.11.0" + +puppeteer@*: + version "19.5.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-19.5.2.tgz#f09ed55d5263cacaac4c5818d0d884b1e1d938b0" + integrity sha512-xlqRyrhXhVH114l79Y0XqYXUVG+Yfw4sKlvN55t8Y9DxtA5fzI1uqF8SVXbWK5DUMbD6Jo4lpixTZCTTZGD05g== + dependencies: + cosmiconfig "8.0.0" + https-proxy-agent "5.0.1" + progress "2.0.3" + proxy-from-env "1.1.0" + puppeteer-core "19.5.2" + +pure-rand@^5.0.1: + version "5.0.5" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-5.0.5.tgz#bda2a7f6a1fc0f284d78d78ca5902f26f2ad35cf" + integrity sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw== + +q@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +qrcode.react@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8" + integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== + +qrcode@1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83" + integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q== + dependencies: + buffer "^5.4.3" + buffer-alloc "^1.2.0" + buffer-from "^1.1.1" + dijkstrajs "^1.0.1" + isarray "^2.0.1" + pngjs "^3.3.0" + yargs "^13.2.4" + +qrcode@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b" + integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qrcode@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.1.tgz#0103f97317409f7bc91772ef30793a54cd59f0cb" + integrity sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@6.11.0, qs@^6.10.3: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +qs@~6.10.3: + version "6.10.5" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4" + integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@6.13.5: + version "6.13.5" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.5.tgz#99e95e2fb7021db90a6f373f990c0c814b3812d8" + integrity sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q== + dependencies: + decode-uri-component "^0.2.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +query-string@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.1.tgz#754620669db978625a90f635f12617c271a088e1" + integrity sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w== + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +query-string@^4.1.0, query-string@^4.2.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q== + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== + +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + +quick-lru@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" + integrity sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +ramda@0.26.1: + version "0.26.1" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" + integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +randomhex@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" + integrity sha512-2+Kkw7UiZGQWOz7rw8hPW44utkBYMEciQfziaZ71RcyDu+refQWzS/0DgfUSa5MwclrOD3sf3vI5vmrTYjwpjQ== + +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1, raw-body@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.0.1, rc@^1.1.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-cool-dimensions@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/react-cool-dimensions/-/react-cool-dimensions-2.0.7.tgz#2fe6657608f034cd7c89f149ed14e79cf1cb2d50" + integrity sha512-z1VwkAAJ5d8QybDRuYIXTE41RxGr5GYsv1bQhbOBE8cMfoZQZpcF0odL64vdgrQVzat2jayedj1GoYi80FWcbA== + +react-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-gravatar@^2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/react-gravatar/-/react-gravatar-2.6.3.tgz#5407eb6ac87e830e2a34deb760d2a4c404eb1dac" + integrity sha512-yITonigS2LmG7Fw0gWfZfcVwy1mpiBHNVmoFyetitQjXu7JCYoE6jtub0GIfq+ydpnQSYyJT3kwpX6zj1wXR4w== + dependencies: + is-retina "^1.0.3" + md5 "^2.1.0" + query-string "^4.2.2" + +react-html-parser@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/react-html-parser/-/react-html-parser-2.0.2.tgz#6dbe1ddd2cebc1b34ca15215158021db5fc5685e" + integrity sha512-XeerLwCVjTs3njZcgCOeDUqLgNIt/t+6Jgi5/qPsO/krUWl76kWKXMeVs2LhY2gwM6X378DkhLjur0zUQdpz0g== + dependencies: + htmlparser2 "^3.9.0" + +react-is@^16.10.2, react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-redux@^7.2.6: + version "7.2.9" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" + integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== + dependencies: + "@babel/runtime" "^7.15.4" + "@types/react-redux" "^7.1.20" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^17.0.2" + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +react-remove-scroll-bar@^2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9" + integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== + dependencies: + react-style-singleton "^2.2.1" + tslib "^2.0.0" + +react-remove-scroll@2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz#afe6491acabde26f628f844b67647645488d2ea0" + integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA== + dependencies: + react-remove-scroll-bar "^2.3.3" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + +react-resize-detector@^6.6.3: + version "6.7.8" + resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-6.7.8.tgz#318c85d1335e50f99d4fb8eb9ec34e066db597d0" + integrity sha512-0FaEcUBAbn+pq3PT5a9hHRebUfuS1SRLGLpIw8LydU7zX429I6XJgKerKAMPsJH0qWAl6o5bVKNqFJqr6tGPYw== + dependencies: + "@types/resize-observer-browser" "^0.1.6" + lodash "^4.17.21" + resize-observer-polyfill "^1.5.1" + +react-reveal@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/react-reveal/-/react-reveal-1.2.2.tgz#f47fbc44debc4c185ae2163a215a9e822c7adfef" + integrity sha512-JCv3fAoU6Z+Lcd8U48bwzm4pMZ79qsedSXYwpwt6lJNtj/v5nKJYZZbw3yhaQPPgYePo3Y0NOCoYOq/jcsisuw== + dependencies: + prop-types "^15.5.10" + +react-router-dom@^6.4.3: + version "6.7.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.7.0.tgz#0249f4ca4eb704562b8b0ff29caeb928c3a6ed38" + integrity sha512-jQtXUJyhso3kFw430+0SPCbmCmY1/kJv8iRffGHwHy3CkoomGxeYzMkmeSPYo6Egzh3FKJZRAL22yg5p2tXtfg== + dependencies: + "@remix-run/router" "1.3.0" + react-router "6.7.0" + +react-router@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.7.0.tgz#db262684c13b5c2970694084ae9e8531718a0681" + integrity sha512-KNWlG622ddq29MAM159uUsNMdbX8USruoKnwMMQcs/QWZgFUayICSn2oB7reHce1zPj6CG18kfkZIunSSRyGHg== + dependencies: + "@remix-run/router" "1.3.0" + +react-smooth@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/react-smooth/-/react-smooth-2.0.1.tgz#74c7309916d6ccca182c4b30c8992f179e6c5a05" + integrity sha512-Own9TA0GPPf3as4vSwFhDouVfXP15ie/wIHklhyKBH5AN6NFtdk0UpHBnonV11BtqDkAWlt40MOUc+5srmW7NA== + dependencies: + fast-equals "^2.0.0" + react-transition-group "2.9.0" + +react-style-singleton@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" + +react-transition-group@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" + integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== + dependencies: + dom-helpers "^3.4.0" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react-lifecycles-compat "^3.0.4" + +react-transition-group@^4.4.2, react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react-universal-interface@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" + integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== + +react-use@^17.4.0: + version "17.4.0" + resolved "https://registry.yarnpkg.com/react-use/-/react-use-17.4.0.tgz#cefef258b0a6c534a5c8021c2528ac6e1a4cdc6d" + integrity sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q== + dependencies: + "@types/js-cookie" "^2.2.6" + "@xobotyi/scrollbar-width" "^1.9.5" + copy-to-clipboard "^3.3.1" + fast-deep-equal "^3.1.3" + fast-shallow-equal "^1.0.0" + js-cookie "^2.2.1" + nano-css "^5.3.1" + react-universal-interface "^0.6.2" + resize-observer-polyfill "^1.5.1" + screenfull "^5.1.0" + set-harmonic-interval "^1.0.1" + throttle-debounce "^3.0.1" + ts-easing "^0.2.0" + tslib "^2.1.0" + +react@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +read-only-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0" + integrity sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w== + dependencies: + readable-stream "^2.0.2" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@1.1.x, readable-stream@^1.0.33: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@3, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@~1.0.15: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + +recharts-scale@^0.4.4: + version "0.4.5" + resolved "https://registry.yarnpkg.com/recharts-scale/-/recharts-scale-0.4.5.tgz#0969271f14e732e642fcc5bd4ab270d6e87dd1d9" + integrity sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w== + dependencies: + decimal.js-light "^2.4.1" + +recharts@2.1.10: + version "2.1.10" + resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.1.10.tgz#4253f4354fcb9328a162f66d7c5c8d33ef7741db" + integrity sha512-me6c8m2Gs88X/nuM2gDSTDIhpSLNMbiTrlE4Cu53hjZNegT3g3xLlTrbYSAQuBCFWuWJAZXCmEuMr6AwizLyaA== + dependencies: + classnames "^2.2.5" + d3-interpolate "^2.0.0" + d3-scale "^3.0.0" + d3-shape "^2.0.0" + eventemitter3 "^4.0.1" + lodash "^4.17.19" + react-is "^16.10.2" + react-resize-detector "^6.6.3" + react-smooth "^2.0.0" + recharts-scale "^0.4.4" + reduce-css-calc "^2.1.8" + +recrawl-sync@^2.0.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recrawl-sync/-/recrawl-sync-2.2.3.tgz#757adcdaae4799466dde5b8ee52122ff9636dfb1" + integrity sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ== + dependencies: + "@cush/relative" "^1.0.0" + glob-regex "^0.3.0" + slash "^3.0.0" + sucrase "^3.20.3" + tslib "^1.9.3" + +redent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" + integrity sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw== + dependencies: + indent-string "^3.0.0" + strip-indent "^2.0.0" + +reduce-css-calc@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" + integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + +redux-persist@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-6.0.0.tgz#b4d2972f9859597c130d40d4b146fecdab51b3a8" + integrity sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ== + +redux-thunk@^2.4.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b" + integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== + +redux@^4.0.0, redux@^4.1.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.0.tgz#46f10d6e29b6666df758780437651eeb2b969f13" + integrity sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA== + dependencies: + "@babel/runtime" "^7.9.2" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.2.1, regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp-tree@^0.1.24, regexp-tree@~0.1.1: + version "0.1.24" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.24.tgz#3d6fa238450a4d66e5bc9c4c14bb720e2196829d" + integrity sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw== + +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.0.0, regexpp@^3.1.0, regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + integrity sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ== + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regexpu-core@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc" + integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsgen "^0.7.1" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +registry-auth-token@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" + integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + +registry-url@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + integrity sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA== + dependencies: + rc "^1.0.1" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + integrity sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g== + +regjsgen@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" + integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + integrity sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw== + dependencies: + jsesc "~0.5.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +release-zalgo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + integrity sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA== + dependencies: + es6-error "^4.0.1" + +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== + dependencies: + is-finite "^1.0.0" + +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + +request@^2.79.0, request@^2.85.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + integrity sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve@^1.1.4, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.22.0, resolve@^1.22.1, resolve@^1.4.0, resolve@~1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +resumer@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" + integrity sha512-Fn9X8rX8yYF4m81rZCK/5VmrmsSbqS/i3rDLl6ZZHAXgC2nTAx3dhwG8q8odP/RmdLa2YrybDJaAMg+X1ajY3w== + dependencies: + through "~2.3.4" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + +rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@^2.2.8: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +ripemd160-min@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/ripemd160-min/-/ripemd160-min-0.0.6.tgz#a904b77658114474d02503e819dcc55853b67e62" + integrity sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A== + +ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +rollup@^2.79.1: + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + +rpc-websockets@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748" + integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ== + dependencies: + "@babel/runtime" "^7.17.2" + eventemitter3 "^4.0.7" + uuid "^8.3.2" + ws "^8.5.0" + optionalDependencies: + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" + +rrweb-snapshot@^1.1.14: + version "1.1.14" + resolved "https://registry.yarnpkg.com/rrweb-snapshot/-/rrweb-snapshot-1.1.14.tgz#9d4d9be54a28a893373428ee4393ec7e5bd83fcc" + integrity sha512-eP5pirNjP5+GewQfcOQY4uBiDnpqxNRc65yKPW0eSoU1XamDfc4M8oqpXGMyUyvLyxFDB0q0+DChuxxiU2FXBQ== + +rtl-css-js@^1.14.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.16.1.tgz#4b48b4354b0ff917a30488d95100fbf7219a3e80" + integrity sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg== + dependencies: + "@babel/runtime" "^7.1.2" + +run-async@^2.2.0, run-async@^2.3.0, run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rustbn.js@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" + integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== + +rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.5.4, rxjs@^6.6.3: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +rxjs@^7.1.0, rxjs@^7.5.1, rxjs@^7.5.5: + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== + dependencies: + tslib "^2.1.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-event-emitter@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" + integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg== + dependencies: + events "^3.0.0" + +safe-json-utils@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" + integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== + dependencies: + ret "~0.1.10" + +safe-regex@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" + integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== + dependencies: + regexp-tree "~0.1.1" + +safe-stable-stringify@^2.1.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz#ec7b037768098bf65310d1d64370de0dc02353aa" + integrity sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass@^1.43.4: + version "1.57.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5" + integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sax@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== + +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +screenfull@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" + integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== + +scrypt-js@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" + integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== + +scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^3.0.1, secp256k1@^3.7.1: + version "3.8.0" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d" + integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw== + dependencies: + bindings "^1.5.0" + bip66 "^1.1.5" + bn.js "^4.11.8" + create-hash "^1.2.0" + drbg.js "^1.0.1" + elliptic "^6.5.2" + nan "^2.14.0" + safe-buffer "^5.1.2" + +secp256k1@^4.0.1, secp256k1@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + +semaphore@>=1.0.1, semaphore@^1.0.3: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" + integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +semver@~5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +sentence-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4" + integrity sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ== + dependencies: + no-case "^2.2.0" + upper-case-first "^1.1.2" + +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serve-handler@6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.3.tgz#1bf8c5ae138712af55c758477533b9117f6435e8" + integrity sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w== + dependencies: + bytes "3.0.0" + content-disposition "0.5.2" + fast-url-parser "1.1.3" + mime-types "2.1.18" + minimatch "3.0.4" + path-is-inside "1.0.2" + path-to-regexp "2.2.1" + range-parser "1.2.0" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +serve@13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/serve/-/serve-13.0.2.tgz#b19ccb854dfdf3085613cd3a4033c7807aeaf85b" + integrity sha512-71R6fKvNgKrqARAag6lYJNnxDzpH7DCNrMuvPY5PLVaC2PDhJsGTj/34o4o4tPWhTuLgEXqvgnAWbATQ9zGZTQ== + dependencies: + "@zeit/schemas" "2.6.0" + ajv "6.12.6" + arg "2.0.0" + boxen "5.1.2" + chalk "2.4.1" + clipboardy "2.3.0" + compression "1.7.3" + serve-handler "6.1.3" + update-check "1.5.2" + +servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-harmonic-interval@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" + integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ== + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" + integrity sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog== + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8, sha.js@~2.4.4: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sha3@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.1.4.tgz#000fac0fe7c2feac1f48a25e7a31b52a6492cc8f" + integrity sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg== + dependencies: + buffer "6.0.3" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shasum-object@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shasum-object/-/shasum-object-1.0.0.tgz#0b7b74ff5b66ecf9035475522fa05090ac47e29e" + integrity sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg== + dependencies: + fast-safe-stringify "^2.0.7" + +shasum@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f" + integrity sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw== + dependencies: + json-stable-stringify "~0.0.0" + sha.js "~2.4.4" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.4.2, shell-quote@^1.6.1: + version "1.7.4" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.4.tgz#33fe15dee71ab2a81fcbd3a52106c5cfb9fb75d8" + integrity sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^2.7.0: + version "2.8.2" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" + integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +snake-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" + integrity sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q== + dependencies: + no-case "^2.2.0" + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +socks-proxy-agent@5, socks-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" + integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== + dependencies: + agent-base "^6.0.2" + debug "4" + socks "^2.3.3" + +socks@^2.3.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== + dependencies: + ip "^2.0.0" + smart-buffer "^4.2.0" + +solc@^0.4.20: + version "0.4.26" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.4.26.tgz#5390a62a99f40806b86258c737c1cf653cc35cb5" + integrity sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA== + dependencies: + fs-extra "^0.30.0" + memorystream "^0.3.1" + require-from-string "^1.1.0" + semver "^5.3.0" + yargs "^4.7.1" + +solidity-parser-antlr@^0.4.11: + version "0.4.11" + resolved "https://registry.yarnpkg.com/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz#af43e1f13b3b88309a875455f5d6e565b05ee5f1" + integrity sha512-4jtxasNGmyC0midtjH/lTFPZYvTTUMy6agYcF+HoMnzW8+cqo3piFrINb4ZCzpPW+7tTVFCGa5ubP34zOzeuMg== + +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== + dependencies: + atomic-sleep "^1.0.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + dependencies: + is-plain-obj "^1.0.0" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + dependencies: + source-map "^0.5.6" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== + +source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.3: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +spawn-wrap@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" + integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== + dependencies: + foreground-child "^2.0.0" + is-windows "^1.0.2" + make-dir "^3.0.0" + rimraf "^3.0.0" + signal-exit "^3.0.2" + which "^2.0.1" + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.12" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +split2@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809" + integrity sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ== + +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.14.1, sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-generator@^2.0.5: + version "2.0.10" + resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.10.tgz#8ae171e985ed62287d4f1ed55a1633b3fb53bb4d" + integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== + dependencies: + stackframe "^1.3.4" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +stacktrace-gps@^3.0.4: + version "3.1.2" + resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz#0c40b24a9b119b20da4525c398795338966a2fb0" + integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ== + dependencies: + source-map "0.5.6" + stackframe "^1.3.4" + +stacktrace-js@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" + integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== + dependencies: + error-stack-parser "^2.0.6" + stack-generator "^2.0.5" + stacktrace-gps "^3.0.4" + +start-server-and-test@1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-1.14.0.tgz#c57f04f73eac15dd51733b551d775b40837fdde3" + integrity sha512-on5ELuxO2K0t8EmNj9MtVlFqwBMxfWOhu4U7uZD1xccVpFlOQKR93CSe0u98iQzfNxRyaNTb/CdadbNllplTsw== + dependencies: + bluebird "3.7.2" + check-more-types "2.24.0" + debug "4.3.2" + execa "5.1.1" + lazy-ass "1.6.0" + ps-tree "1.2.0" + wait-on "6.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.5.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +store@2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/store/-/store-2.0.12.tgz#8c534e2a0b831f72b75fc5f1119857c44ef5d593" + integrity sha512-eO9xlzDpXLiMr9W1nQ3Nfp9EzZieIQc10zPPMP5jsVV7bLOziSFFBP0XoDXACEIFtdI+rIz0NwWVA/QVJ8zJtw== + +stream-browserify@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-combiner2@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + integrity sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw== + dependencies: + duplexer2 "~0.1.0" + readable-stream "^2.0.2" + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== + dependencies: + duplexer "~0.1.1" + +stream-http@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +stream-splicer@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.1.tgz#0b13b7ee2b5ac7e0609a7463d83899589a363fcd" + integrity sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.2" + +stream-transform@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-3.2.1.tgz#4c8cbdd3e4fa7254c770ef34a962cec68349fcb0" + integrity sha512-ApK+WTJ5bCOf0A2tlec1qhvr8bGEBM/sgXXB7mysdCYgZJO5DZeaV3h3G+g0HnAQ372P5IhiGqnW29zoLOfTzQ== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.trim@~1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== + dependencies: + is-hex-prefixed "1.0.0" + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +strip-outer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" + integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== + dependencies: + escape-string-regexp "^1.0.2" + +strip-url-auth@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-url-auth/-/strip-url-auth-1.0.1.tgz#22b0fa3a41385b33be3f331551bbb837fa0cd7ae" + integrity sha512-++41PnXftlL3pvI6lpvhSEO+89g1kIJC4MYB5E6yH+WHa5InIqz51yGd1YOGd7VNSNdoEOfzTMqbAM/2PbgaHQ== + +styled-components@^5.3.3: + version "5.3.6" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.6.tgz#27753c8c27c650bee9358e343fc927966bfd00d1" + integrity sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/traverse" "^7.4.5" + "@emotion/is-prop-valid" "^1.1.0" + "@emotion/stylis" "^0.8.4" + "@emotion/unitless" "^0.7.4" + babel-plugin-styled-components ">= 1.12.0" + css-to-react-native "^3.0.0" + hoist-non-react-statics "^3.0.0" + shallowequal "^1.1.0" + supports-color "^5.5.0" + +stylis@4.1.3, stylis@^4.0.6: + version "4.1.3" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.3.tgz#fd2fbe79f5fed17c55269e16ed8da14c84d069f7" + integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== + +subarg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" + integrity sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg== + dependencies: + minimist "^1.1.0" + +sucrase@^3.20.3: + version "3.29.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.29.0.tgz#3207c5bc1b980fdae1e539df3f8a8a518236da7d" + integrity sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A== + dependencies: + commander "^4.0.0" + glob "7.1.6" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +superstruct@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" + integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== + +superstruct@^0.15.4: + version "0.15.5" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" + integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== + +supports-color@8.1.1, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^5.3.0, supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +swap-case@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" + integrity sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ== + dependencies: + lower-case "^1.1.1" + upper-case "^1.1.1" + +swarm-js@^0.1.40: + version "0.1.42" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979" + integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ== + dependencies: + bluebird "^3.5.0" + buffer "^5.0.5" + eth-lib "^0.1.26" + fs-extra "^4.0.2" + got "^11.8.5" + mime-types "^2.1.16" + mkdirp-promise "^5.0.1" + mock-fs "^4.1.0" + setimmediate "^1.0.5" + tar "^4.0.2" + xhr-request "^1.0.1" + +swr@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/swr/-/swr-1.3.0.tgz#c6531866a35b4db37b38b72c45a63171faf9f4e8" + integrity sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw== + +syntax-error@^1.1.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.4.0.tgz#2d9d4ff5c064acb711594a3e3b95054ad51d907c" + integrity sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w== + dependencies: + acorn-node "^1.2.0" + +synthetix-js@2.66.0: + version "2.66.0" + resolved "https://registry.yarnpkg.com/synthetix-js/-/synthetix-js-2.66.0.tgz#6a33a13e6ec00b349d091625e05b0bfbf25d0ce7" + integrity sha512-1ZVhQn0MgSQXqpMHmSZvBiz5y7FqZ+jdAE2WVXWUYkM3IEbkHFDZq9lIlJKJZjoZK1d931OfyzSRxv7Oyr33UQ== + dependencies: + "@ledgerhq/hw-app-eth" "4.74.2" + "@ledgerhq/hw-transport" "4.74.2" + "@ledgerhq/hw-transport-u2f" "4.74.2" + "@portis/web3" "^2.0.0-beta.59" + "@walletconnect/web3-provider" "^1.0.15" + ethereumjs-tx "1.3.7" + ethereumjs-util "5.2.0" + ethers "4.0.44" + hdkey "1.1.1" + lodash "4.17.15" + synthetix "2.66.0" + trezor-connect "8.1.8" + walletlink "2.0.2" + +synthetix@2.41.0: + version "2.41.0" + resolved "https://registry.yarnpkg.com/synthetix/-/synthetix-2.41.0.tgz#3957679c41e4e51a6c41c808cd99c2ec6a121214" + integrity sha512-UsPPSijN2w2C4v7V4QwtjwBpLhJ/pC0NVzec+TpRBTdAFOreJNI+bUTzG479/CFFGLm7sS4nJNM/c+7UAUzcbg== + dependencies: + "@chainlink/contracts-0.0.10" "npm:@chainlink/contracts@0.0.10" + "@eth-optimism/contracts" "0.0.2-alpha.7" + "@eth-optimism/watcher" "0.0.1-alpha.8" + abi-decoder "2.3.0" + commander "5.1.0" + openzeppelin-solidity-2.3.0 "npm:openzeppelin-solidity@2.3.0" + pretty-error "^2.1.1" + solidity-parser-antlr "^0.4.11" + web3-utils "1.2.2" + +synthetix@2.66.0: + version "2.66.0" + resolved "https://registry.yarnpkg.com/synthetix/-/synthetix-2.66.0.tgz#2845659026d73d17455f4a6ceec5b14fec54c45e" + integrity sha512-XQtjAdmZWX5xDJKlDLxmvLE2cqpnzU+/fL6Zs4dJU7ke002GXc0RGLQUQG8xYO+x/htyxQTGbJGo8ZfaJEyUoA== + dependencies: + abi-decoder "2.3.0" + commander "8.1.0" + inquirer "^6.5.2" + inquirer-list-search-prompt "^1.0.2" + js-levenshtein "^1.1.6" + pretty-error "^2.1.1" + solidity-parser-antlr "^0.4.11" + web3-utils "1.2.2" + +table@^6.0.9: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tailwindcss@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.4.tgz#afe3477e7a19f3ceafb48e4b083e292ce0dc0250" + integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ== + dependencies: + arg "^5.0.2" + chokidar "^3.5.3" + color-name "^1.1.4" + detective "^5.2.1" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.12" + glob-parent "^6.0.2" + is-glob "^4.0.3" + lilconfig "^2.0.6" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.18" + postcss-import "^14.1.0" + postcss-js "^4.0.0" + postcss-load-config "^3.1.4" + postcss-nested "6.0.0" + postcss-selector-parser "^6.0.10" + postcss-value-parser "^4.2.0" + quick-lru "^5.1.1" + resolve "^1.22.1" + +tape@^4.6.3: + version "4.16.2" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.16.2.tgz#7565e6af20426565557266e9dda7215869b297b6" + integrity sha512-TUChV+q0GxBBCEbfCYkGLkv8hDJYjMdSWdE0/Lr331sB389dsvFUHNV9ph5iQqKzt8Ss9drzcda/YeexclBFqg== + dependencies: + call-bind "~1.0.2" + deep-equal "~1.1.1" + defined "~1.0.1" + dotignore "~0.1.2" + for-each "~0.3.3" + glob "~7.2.3" + has "~1.0.3" + inherits "~2.0.4" + is-regex "~1.1.4" + minimist "~1.2.7" + object-inspect "~1.12.3" + resolve "~1.22.1" + resumer "~0.0.0" + string.prototype.trim "~1.2.7" + through "~2.3.8" + +tar-fs@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@^4.0.2: + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +testrpc@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/testrpc/-/testrpc-0.0.1.tgz#83e2195b1f5873aec7be1af8cbe6dcf39edb7aed" + integrity sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA== + +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" + +throttle-debounce@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== + +throttleit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" + integrity sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g== + +through2@^2.0.0, through2@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4, through@~2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== + +timers-browserify@^1.0.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" + integrity sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q== + dependencies: + process "~0.11.0" + +tiny-invariant@^1.0.6, tiny-invariant@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + +tiny-warning@^1.0.2, tiny-warning@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +title-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa" + integrity sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q== + dependencies: + no-case "^2.2.0" + upper-case "^1.0.3" + +tmp-promise@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmp@^0.2.0, tmp@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-hex@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/to-hex/-/to-hex-0.0.11.tgz#22355e09e5b56f5ae2b32502c493320f021171ac" + integrity sha512-3FSU8sfjrVc9fWowwP9xrdhxbp5Wco8uVZLhMhfsNuCFo9Fu8ecD2MgJV/2iAw+755W3AcGSQYVZGOpBmJtNcA== + dependencies: + normalize-hex "0.0.2" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +toml@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" + integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +treeify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" + integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== + +trezor-connect@8.1.8: + version "8.1.8" + resolved "https://registry.yarnpkg.com/trezor-connect/-/trezor-connect-8.1.8.tgz#db46f2637047fa45fef3f5a7c6f16a792cc2067a" + integrity sha512-ZTgKmSd5scbUAdHwz6DLwILVoNRe//6fQcuaVDL0tbWHvB5MNajGlLDzPG/TM7y156mzXmXF2Y4LJQqLDQhaIw== + dependencies: + "@babel/runtime" "^7.10.2" + events "^3.1.0" + whatwg-fetch "^3.0.0" + +trim-newlines@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" + integrity sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA== + +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + integrity sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg== + dependencies: + escape-string-regexp "^1.0.2" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw== + +ts-easing@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" + integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tsconfig-paths@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.1.2.tgz#4819f861eef82e6da52fb4af1e8c930a39ed979a" + integrity sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" + integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl-util@^0.15.0: + version "0.15.1" + resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" + integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== + +tweetnacl@1.0.3, tweetnacl@^1.0.0, tweetnacl@^1.0.1, tweetnacl@^1.0.2, tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.0, type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typedarray-to-buffer@3.1.5, typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +typescript@^3.7.5: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +u2f-api@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/u2f-api/-/u2f-api-0.2.7.tgz#17bf196b242f6bf72353d9858e6a7566cc192720" + integrity sha512-fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg== + +u3@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/u3/-/u3-0.1.1.tgz#5f52044f42ee76cd8de33148829e14528494b73b" + integrity sha512-+J5D5ir763y+Am/QY6hXNRlwljIeRMZMGs0cT6qqZVVzzT3X3nFPXVyPOFRMOR4kupB0T8JnCdpWdp6Q/iXn3w== + +uint8arrays@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.0.tgz#8186b8eafce68f28bd29bd29d683a311778901e2" + integrity sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog== + dependencies: + multiformats "^9.4.2" + +uint8arrays@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + +umd@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" + integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unbzip2-stream@1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + +undeclared-identifiers@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f" + integrity sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw== + dependencies: + acorn-node "^1.3.0" + dash-ast "^1.0.0" + get-assigned-identifiers "^1.2.0" + simple-concat "^1.0.0" + xtend "^4.0.1" + +underscore@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" + integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-check@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/update-check/-/update-check-1.5.2.tgz#2fe09f725c543440b3d7dabe8971f2d5caaedc28" + integrity sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ== + dependencies: + registry-auth-token "3.3.2" + registry-url "3.1.0" + +upper-case-first@^1.1.0, upper-case-first@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" + integrity sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ== + dependencies: + upper-case "^1.1.1" + +upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +url-set-query@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== + +url@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +url@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use-callback-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" + integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w== + dependencies: + tslib "^2.0.0" + +use-sidecar@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" + integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + +use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + +utf8@3.0.0, utf8@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== + dependencies: + inherits "2.0.1" + +util@^0.12.0, util@^0.12.4, util@~0.12.0: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +util@~0.10.1: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" + integrity sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg== + +uuid@7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.2.tgz#7ff5c203467e91f5e0d85cfcbaaf7d2ebbca9be6" + integrity sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw== + +uuid@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" + integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + +uuidv4@6.0.6: + version "6.0.6" + resolved "https://registry.yarnpkg.com/uuidv4/-/uuidv4-6.0.6.tgz#6966e8dd15760528a0f954843d24fdfdfda5a329" + integrity sha512-10YcruyGJtsG5SJnPG+8atr8toJa7xAOrcO7B7plYYiwpH1mQ8UZHjNSa2MrwGi6KWuyVrXGHr+Rce22F9UAiw== + dependencies: + uuid "7.0.2" + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +valtio@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.9.0.tgz#d5d9f664319eaf18dd98f758d50495eca28eb0b8" + integrity sha512-mQLFsAlKbYascZygFQh6lXuDjU5WHLoeZ8He4HqMnWfasM96V6rDbeFkw1XeG54xycmDonr/Jb4xgviHtuySrA== + dependencies: + proxy-compare "2.4.0" + use-sync-external-store "1.2.0" + +varint@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vite-tsconfig-paths@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-3.6.0.tgz#9e6363051b2caaf7c7cec6f9f85ad71feee77920" + integrity sha512-UfsPYonxLqPD633X8cWcPFVuYzx/CMNHAjZTasYwX69sXpa4gNmQkR0XCjj82h7zhLGdTWagMjC1qfb9S+zv0A== + dependencies: + debug "^4.1.1" + globrex "^0.1.2" + recrawl-sync "^2.0.3" + tsconfig-paths "^4.0.0" + +vite@^3.2.3: + version "3.2.5" + resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.5.tgz#dee5678172a8a0ab3e547ad4148c3d547f90e86a" + integrity sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ== + dependencies: + esbuild "^0.15.9" + postcss "^8.4.18" + resolve "^1.22.1" + rollup "^2.79.1" + optionalDependencies: + fsevents "~2.3.2" + +vlq@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-2.0.4.tgz#6057b85729245b9829e3cc7755f95b228d4fe041" + integrity sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA== + +vm-browserify@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +vm2@^3.9.8: + version "3.9.13" + resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.13.tgz#774a1a3d73b9b90b1aa45bcc5f25e349f2eef649" + integrity sha512-0rvxpB8P8Shm4wX2EKOiMp7H2zq+HUE/UwodY0pCZXs9IffIKZq6vUti5OgkVCTakKo9e/fgO4X1fkwfjWxE3Q== + dependencies: + acorn "^8.7.0" + acorn-walk "^8.2.0" + +wagmi-core@0.1.22: + version "0.1.22" + resolved "https://registry.yarnpkg.com/wagmi-core/-/wagmi-core-0.1.22.tgz#c3a623b24a831c7cf38727b9ff992fb42cfda6df" + integrity sha512-Q/MjVVC31SOks6ynTxp+RQFgA1pMWUAz8g3XBZzFSMB59UUpwCpC3mjVTM5bix63HZ1CNIngo+MT2ax7HItZow== + dependencies: + "@ethersproject/providers" "^5.5.1" + eventemitter3 "^4.0.7" + +wagmi@^0.10.11: + version "0.10.11" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-0.10.11.tgz#8309786f3b6052caf11b22fa95aa6e4e46fab4c3" + integrity sha512-LvXh3XmJRw2bJ5ziUr5EbccDdWi8kmuf5+cQZ1gM0X2oM5KJLPZiwNbEbxTrJ3yMQPffTud0zwV2M6qUSUgOgQ== + dependencies: + "@coinbase/wallet-sdk" "^3.6.0" + "@tanstack/query-sync-storage-persister" "^4.14.5" + "@tanstack/react-query" "^4.14.5" + "@tanstack/react-query-persist-client" "^4.14.5" + "@wagmi/core" "0.8.15" + "@walletconnect/ethereum-provider" "^1.8.0" + abitype "^0.2.5" + use-sync-external-store "^1.2.0" + +wagmi@^0.2.28: + version "0.2.28" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-0.2.28.tgz#710c1d4849c3f6f983028cccecaaf554e83f9c1c" + integrity sha512-ovB/3ULocxt4IojC7t2aqb1tPNk3Or9+hrUiLkf15yDLeUdn4murot1lpunKZHrlaIsCGwNknW8hsGY+47btCw== + dependencies: + "@coinbase/wallet-sdk" "^3.0.8" + "@ethersproject/providers" "^5.5.1" + "@walletconnect/ethereum-provider" "1.7.5" + wagmi-core "0.1.22" + walletlink "^2.5.0" + +wait-on@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.0.tgz#7e9bf8e3d7fe2daecbb7a570ac8ca41e9311c7e7" + integrity sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw== + dependencies: + axios "^0.21.1" + joi "^17.4.0" + lodash "^4.17.21" + minimist "^1.2.5" + rxjs "^7.1.0" + +walletlink@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/walletlink/-/walletlink-2.0.2.tgz#8640e42d3df49b4661019287ab9789e94b72db98" + integrity sha512-4MIctCHAjcPHSQUHpHuU9leUAvYqRF+/4kCq7x9AngZQ2Jd74dbpC8dfZ55uOwW8TXc7z9XYeSyzRrGHbv5ZXg== + dependencies: + bind-decorator "^1.0.11" + bn.js "^5.1.1" + clsx "^1.1.0" + preact "^10.3.3" + rxjs "^6.5.4" + +walletlink@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/walletlink/-/walletlink-2.5.0.tgz#b8db10f4d9f124084feb16d1e2b2d08ba8c20d21" + integrity sha512-PBJmK5tZmonwKPABBI2/optaZ11O4kKmkmnU5eLKhk4XRlal5qJ1igZ4U5j3w6w8wxxdhCWpLMHzGWt3n/p7mw== + dependencies: + "@metamask/safe-event-emitter" "2.0.0" + bind-decorator "^1.0.11" + bn.js "^5.1.1" + clsx "^1.1.0" + eth-block-tracker "4.4.3" + eth-json-rpc-filters "4.2.2" + eth-rpc-errors "4.0.2" + js-sha256 "0.9.0" + json-rpc-engine "6.1.0" + keccak "^3.0.1" + preact "^10.5.9" + rxjs "^6.6.3" + stream-browserify "^3.0.0" + +watchify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/watchify/-/watchify-4.0.0.tgz#53b002d51e7b0eb640b851bb4de517a689973392" + integrity sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA== + dependencies: + anymatch "^3.1.0" + browserify "^17.0.0" + chokidar "^3.4.0" + defined "^1.0.0" + outpipe "^1.1.0" + through2 "^4.0.2" + xtend "^4.0.2" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web3-bzz@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.8.1.tgz#81397be5ce262d03d82b92e9d8acc11f8a609ea1" + integrity sha512-dJJHS84nvpoxv6ijTMkdUSlRr5beCXNtx4UZcrFLHBva8dT63QEtKdLyDt2AyMJJdVzTCk78uir/6XtVWrdS6w== + dependencies: + "@types/node" "^12.12.6" + got "12.1.0" + swarm-js "^0.1.40" + +web3-core-helpers@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz#b6bd5071ca099ba3f92dfafb552eed2b70af2795" + integrity sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg== + dependencies: + web3-eth-iban "1.5.2" + web3-utils "1.5.2" + +web3-core-helpers@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.1.tgz#cb21047306871f4cf0fedfece7d47ea2aa96141b" + integrity sha512-om2PZvK1uoWcgMq6JfcSx3241LEIVF6qi2JuHz2SLKiKEW5UsBUaVx0mNCmcZaiuYQCyOsLS3r33q5AdM+v8ng== + dependencies: + web3-eth-iban "1.6.1" + web3-utils "1.6.1" + +web3-core-helpers@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.8.1.tgz#7904747b23fd0afa4f2c86ed98ea9418ccad7672" + integrity sha512-ClzNO6T1S1gifC+BThw0+GTfcsjLEY8T1qUp6Ly2+w4PntAdNtKahxWKApWJ0l9idqot/fFIDXwO3Euu7I0Xqw== + dependencies: + web3-eth-iban "1.8.1" + web3-utils "1.8.1" + +web3-core-method@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.5.2.tgz#d1d602657be1000a29d11e3ca3bf7bc778dea9a5" + integrity sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg== + dependencies: + "@ethereumjs/common" "^2.4.0" + "@ethersproject/transactions" "^5.0.0-beta.135" + web3-core-helpers "1.5.2" + web3-core-promievent "1.5.2" + web3-core-subscriptions "1.5.2" + web3-utils "1.5.2" + +web3-core-method@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.8.1.tgz#0fc5a433a9fc784c447522f141c0a8e0163c7790" + integrity sha512-oYGRodktfs86NrnFwaWTbv2S38JnpPslFwSSARwFv4W9cjbGUW3LDeA5MKD/dRY+ssZ5OaekeMsUCLoGhX68yA== + dependencies: + "@ethersproject/transactions" "^5.6.2" + web3-core-helpers "1.8.1" + web3-core-promievent "1.8.1" + web3-core-subscriptions "1.8.1" + web3-utils "1.8.1" + +web3-core-promievent@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz#2dc9fe0e5bbeb7c360fc1aac5f12b32d9949a59b" + integrity sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ== + dependencies: + eventemitter3 "4.0.4" + +web3-core-promievent@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.8.1.tgz#f334c8b2ceac6c2228f06d2a515f6d103157f036" + integrity sha512-9mxqHlgB0MrZI4oUIRFkuoJMNj3E7btjrMv3sMer/Z9rYR1PfoSc1aAokw4rxKIcAh+ylVtd/acaB2HKB7aRPg== + dependencies: + eventemitter3 "4.0.4" + +web3-core-requestmanager@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz#43ccc00779394c941b28e6e07e217350fd1ded71" + integrity sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw== + dependencies: + util "^0.12.0" + web3-core-helpers "1.5.2" + web3-providers-http "1.5.2" + web3-providers-ipc "1.5.2" + web3-providers-ws "1.5.2" + +web3-core-requestmanager@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.8.1.tgz#272ffa55b7b568ecbc8e4a257ca080355c31c60e" + integrity sha512-x+VC2YPPwZ1khvqA6TA69LvfFCOZXsoUVOxmTx/vIN22PrY9KzKhxcE7pBSiGhmab1jtmRYXUbcQSVpAXqL8cw== + dependencies: + util "^0.12.0" + web3-core-helpers "1.8.1" + web3-providers-http "1.8.1" + web3-providers-ipc "1.8.1" + web3-providers-ws "1.8.1" + +web3-core-subscriptions@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz#8eaebde44f81fc13c45b555c4422fe79393da9cf" + integrity sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.5.2" + +web3-core-subscriptions@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.8.1.tgz#f5ae1380e92746eadfab6475b8a70ef5a1be6bbf" + integrity sha512-bmCMq5OeA3E2vZUh8Js1HcJbhwtsE+yeMqGC4oIZB3XsL5SLqyKLB/pU+qUYqQ9o4GdcrFTDPhPg1bgvf7p1Pw== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.8.1" + +web3-core@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.5.2.tgz#ca2b9b1ed3cf84d48b31c9bb91f7628f97cfdcd5" + integrity sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA== + dependencies: + "@types/bn.js" "^4.11.5" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.5.2" + web3-core-method "1.5.2" + web3-core-requestmanager "1.5.2" + web3-utils "1.5.2" + +web3-core@1.8.1, web3-core@^1.6.1, web3-core@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.8.1.tgz#050b1c408d1f9b7ae539e90f7f7d1b7a7d10578b" + integrity sha512-LbRZlJH2N6nS3n3Eo9Y++25IvzMY7WvYnp4NM/Ajhh97dAdglYs6rToQ2DbL2RLvTYmTew4O/y9WmOk4nq9COw== + dependencies: + "@types/bn.js" "^5.1.0" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.8.1" + web3-core-method "1.8.1" + web3-core-requestmanager "1.8.1" + web3-utils "1.8.1" + +web3-eth-abi@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.6.1.tgz#15b937e3188570754d50bbac51a4bb0578600d1d" + integrity sha512-svhYrAlXP9XQtV7poWKydwDJq2CaNLMtmKydNXoOBLcQec6yGMP+v20pgrxF2H6wyTK+Qy0E3/5ciPOqC/VuoQ== + dependencies: + "@ethersproject/abi" "5.0.7" + web3-utils "1.6.1" + +web3-eth-abi@1.8.1, web3-eth-abi@^1.2.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.8.1.tgz#47455d6513217c4b0866fea6f97b1c4afa0b6535" + integrity sha512-0mZvCRTIG0UhDhJwNQJgJxu4b4DyIpuMA0GTfqxqeuqzX4Q/ZvmoNurw0ExTfXaGPP82UUmmdkRi6FdZOx+C6w== + dependencies: + "@ethersproject/abi" "^5.6.3" + web3-utils "1.8.1" + +web3-eth-accounts@1.8.1, web3-eth-accounts@^1.6.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.8.1.tgz#1ce7387721f118aeb0376291e4d8bbe2ac323406" + integrity sha512-mgzxSYgN54/NsOFBO1Fq1KkXp1S5KlBvI/DlgvajU72rupoFMq6Cu6Yp9GUaZ/w2ij9PzEJuFJk174XwtfMCmg== + dependencies: + "@ethereumjs/common" "2.5.0" + "@ethereumjs/tx" "3.3.2" + crypto-browserify "3.12.0" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" + scrypt-js "^3.0.1" + uuid "^9.0.0" + web3-core "1.8.1" + web3-core-helpers "1.8.1" + web3-core-method "1.8.1" + web3-utils "1.8.1" + +web3-eth-contract@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.8.1.tgz#bdf3e33bbcb79a1b6144dffd6a0deefd2e459272" + integrity sha512-1wphnl+/xwCE2io44JKnN+ti3oa47BKRiVzvWd42icwRbcpFfRxH9QH+aQX3u8VZIISNH7dAkTWpGIIJgGFTmg== + dependencies: + "@types/bn.js" "^5.1.0" + web3-core "1.8.1" + web3-core-helpers "1.8.1" + web3-core-method "1.8.1" + web3-core-promievent "1.8.1" + web3-core-subscriptions "1.8.1" + web3-eth-abi "1.8.1" + web3-utils "1.8.1" + +web3-eth-ens@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.8.1.tgz#e78a9651fea8282abe8565b001819e2d645e5929" + integrity sha512-FT8xTI9uN8RxeBQa/W8pLa2aoFh4+EE34w7W2271LICKzla1dtLyb6XSdn48vsUcPmhWsTVk9mO9RTU0l4LGQQ== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.8.1" + web3-core-helpers "1.8.1" + web3-core-promievent "1.8.1" + web3-eth-abi "1.8.1" + web3-eth-contract "1.8.1" + web3-utils "1.8.1" + +web3-eth-iban@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz#f390ad244ef8a6c94de7c58736b0b80a484abc8e" + integrity sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg== + dependencies: + bn.js "^4.11.9" + web3-utils "1.5.2" + +web3-eth-iban@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.1.tgz#20bbed75723e3e9ff98e624979629d26329462b6" + integrity sha512-91H0jXZnWlOoXmc13O9NuQzcjThnWyAHyDn5Yf7u6mmKOhpJSGF/OHlkbpXt1Y4v2eJdEPaVFa+6i8aRyagE7Q== + dependencies: + bn.js "^4.11.9" + web3-utils "1.6.1" + +web3-eth-iban@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.8.1.tgz#c6484e5d68ca644aa78431301e7acd5df24598d1" + integrity sha512-DomoQBfvIdtM08RyMGkMVBOH0vpOIxSSQ+jukWk/EkMLGMWJtXw/K2c2uHAeq3L/VPWNB7zXV2DUEGV/lNE2Dg== + dependencies: + bn.js "^5.2.1" + web3-utils "1.8.1" + +web3-eth-personal@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.8.1.tgz#00b5ff1898b62044d25ed5fddd8486168d4827cf" + integrity sha512-myIYMvj7SDIoV9vE5BkVdon3pya1WinaXItugoii2VoTcQNPOtBxmYVH+XS5ErzCJlnxzphpQrkywyY64bbbCA== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.8.1" + web3-core-helpers "1.8.1" + web3-core-method "1.8.1" + web3-net "1.8.1" + web3-utils "1.8.1" + +web3-eth@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.8.1.tgz#395f6cd56edaac5dbb23e8cec9886c3fd32c430e" + integrity sha512-LgyzbhFqiFRd8M8sBXoFN4ztzOnkeckl3H/9lH5ek7AdoRMhBg7tYpYRP3E5qkhd/q+yiZmcUgy1AF6NHrC1wg== + dependencies: + web3-core "1.8.1" + web3-core-helpers "1.8.1" + web3-core-method "1.8.1" + web3-core-subscriptions "1.8.1" + web3-eth-abi "1.8.1" + web3-eth-accounts "1.8.1" + web3-eth-contract "1.8.1" + web3-eth-ens "1.8.1" + web3-eth-iban "1.8.1" + web3-eth-personal "1.8.1" + web3-net "1.8.1" + web3-utils "1.8.1" + +web3-net@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.8.1.tgz#2bed4d4b93166724129ec33d0e5dea98880285f4" + integrity sha512-LyEJAwogdFo0UAXZqoSJGFjopdt+kLw0P00FSZn2yszbgcoI7EwC+nXiOsEe12xz4LqpYLOtbR7+gxgiTVjjHQ== + dependencies: + web3-core "1.8.1" + web3-core-method "1.8.1" + web3-utils "1.8.1" + +web3-provider-engine@15.0.4: + version "15.0.4" + resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-15.0.4.tgz#5c336bcad2274dff5218bc8db003fa4e9e464c24" + integrity sha512-Ob9oK0TUZfVC7NXkB7CQSWAiCdCD/Xnlh2zTnV8NdJR8LCrMAy2i6JedU70JHaxw59y7mM4GnsYOTTGkquFnNQ== + dependencies: + async "^2.5.0" + backoff "^2.5.0" + clone "^2.0.0" + cross-fetch "^2.1.0" + eth-block-tracker "^4.4.2" + eth-json-rpc-errors "^1.0.1" + eth-json-rpc-filters "^4.1.1" + eth-json-rpc-infura "^4.0.1" + eth-json-rpc-middleware "^4.1.5" + eth-sig-util "^1.4.2" + ethereumjs-block "^1.2.2" + ethereumjs-tx "^1.2.0" + ethereumjs-util "^5.1.5" + ethereumjs-vm "^2.3.4" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + readable-stream "^2.2.9" + request "^2.85.0" + semaphore "^1.0.3" + ws "^5.1.1" + xhr "^2.2.0" + xtend "^4.0.1" + +web3-provider-engine@16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-16.0.1.tgz#2600a39ede364cdc0a1fc773bf40a94f2177e605" + integrity sha512-/Eglt2aocXMBiDj7Se/lyZnNDaHBaoJlaUfbP5HkLJQC/HlGbR+3/W+dINirlJDhh7b54DzgykqY7ksaU5QgTg== + dependencies: + async "^2.5.0" + backoff "^2.5.0" + clone "^2.0.0" + cross-fetch "^2.1.0" + eth-block-tracker "^4.4.2" + eth-json-rpc-filters "^4.2.1" + eth-json-rpc-infura "^5.1.0" + eth-json-rpc-middleware "^6.0.0" + eth-rpc-errors "^3.0.0" + eth-sig-util "^1.4.2" + ethereumjs-block "^1.2.2" + ethereumjs-tx "^1.2.0" + ethereumjs-util "^5.1.5" + ethereumjs-vm "^2.3.4" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + readable-stream "^2.2.9" + request "^2.85.0" + semaphore "^1.0.3" + ws "^5.1.1" + xhr "^2.2.0" + xtend "^4.0.1" + +web3-providers-http@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.5.2.tgz#94f95fe5572ca54aa2c2ffd42c63956436c9eb0a" + integrity sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA== + dependencies: + web3-core-helpers "1.5.2" + xhr2-cookies "1.1.0" + +web3-providers-http@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.8.1.tgz#8aa89c11a9272f11ddb74b871273c92225faa28d" + integrity sha512-1Zyts4O9W/UNEPkp+jyL19Jc3D15S4yp8xuLTjVhcUEAlHo24NDWEKxtZGUuHk4HrKL2gp8OlsDbJ7MM+ESDgg== + dependencies: + abortcontroller-polyfill "^1.7.3" + cross-fetch "^3.1.4" + es6-promise "^4.2.8" + web3-core-helpers "1.8.1" + +web3-providers-ipc@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz#68a516883c998eeddf60df4cead77baca4fb4aaa" + integrity sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.5.2" + +web3-providers-ipc@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.8.1.tgz#6128a3a3a824d06bf0efcfe86325401f8691a5ca" + integrity sha512-nw/W5nclvi+P2z2dYkLWReKLnocStflWqFl+qjtv0xn3MrUTyXMzSF0+61i77+16xFsTgzo4wS/NWIOVkR0EFA== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.8.1" + +web3-providers-ws@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz#d336a93ed608b40cdcadfadd1f1bc8d32ea046e0" + integrity sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.5.2" + websocket "^1.0.32" + +web3-providers-ws@1.8.1, web3-providers-ws@^1.6.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.8.1.tgz#5e5370e07eb8c615ed298ebc8602b283c7b7d649" + integrity sha512-TNefIDAMpdx57+YdWpYZ/xdofS0P+FfKaDYXhn24ie/tH9G+AB+UBSOKnjN0KSadcRSCMBwGPRiEmNHPavZdsA== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.8.1" + websocket "^1.0.32" + +web3-shh@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.8.1.tgz#028a95cf9d3a36020380938b9a127610efbb9be7" + integrity sha512-sqHgarnfcY2Qt3PYS4R6YveHrDy7hmL09yeLLHHCI+RKirmjLVqV0rc5LJWUtlbYI+kDoa5gbgde489M9ZAC0g== + dependencies: + web3-core "1.8.1" + web3-core-method "1.8.1" + web3-core-subscriptions "1.8.1" + web3-net "1.8.1" + +web3-utils@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.1.tgz#21466e38291551de0ab34558de21512ac4274534" + integrity sha512-Mrcn3l58L+yCKz3zBryM6JZpNruWuT0OCbag8w+reeNROSGVlXzUQkU+gtAwc9JCZ7tKUyg67+2YUGqUjVcyBA== + dependencies: + bn.js "4.11.8" + eth-lib "0.2.7" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randomhex "0.1.5" + underscore "1.9.1" + utf8 "3.0.0" + +web3-utils@1.2.11: + version "1.2.11" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.11.tgz#af1942aead3fb166ae851a985bed8ef2c2d95a82" + integrity sha512-3Tq09izhD+ThqHEaWYX4VOT7dNPdZiO+c/1QMA0s5X2lDFKK/xHJb7cyTRRVzN2LvlHbR7baS1tmQhSua51TcQ== + dependencies: + bn.js "^4.11.9" + eth-lib "0.2.8" + ethereum-bloom-filters "^1.0.6" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + underscore "1.9.1" + utf8 "3.0.0" + +web3-utils@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.2.tgz#b53a08c40d2c3f31d3c4a28e7d749405df99c8c0" + integrity sha512-joF+s3243TY5cL7Z7y4h1JsJpUCf/kmFmj+eJar7Y2yNIGVcW961VyrAms75tjUysSuHaUQ3eQXjBEUJueT52A== + dependencies: + bn.js "4.11.8" + eth-lib "0.2.7" + ethereum-bloom-filters "^1.0.6" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + underscore "1.9.1" + utf8 "3.0.0" + +web3-utils@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.5.2.tgz#150982dcb1918ffc54eba87528e28f009ebc03aa" + integrity sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q== + dependencies: + bn.js "^4.11.9" + eth-lib "0.2.8" + ethereum-bloom-filters "^1.0.6" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3-utils@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.1.tgz#befcb23922b00603ab56d8c5b4158468dc494aca" + integrity sha512-RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w== + dependencies: + bn.js "^4.11.9" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3-utils@1.8.1, web3-utils@^1.0.0-beta.31, web3-utils@^1.2.1, web3-utils@^1.3.4, web3-utils@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.8.1.tgz#f2f7ca7eb65e6feb9f3d61056d0de6bbd57125ff" + integrity sha512-LgnM9p6V7rHHUGfpMZod+NST8cRfGzJ1BTXAyNo7A9cJX9LczBfSRxJp+U/GInYe9mby40t3v22AJdlELibnsQ== + dependencies: + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3@1.8.1, web3@^1.6.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.8.1.tgz#8ea67215ef5f3a6f6d3381800b527242ea22885a" + integrity sha512-tAqFsQhGv340C9OgRJIuoScN7f7wa1tUvsnnDUMt9YE6J4gcm7TV2Uwv+KERnzvV+xgdeuULYpsioRRNKrUvoQ== + dependencies: + web3-bzz "1.8.1" + web3-core "1.8.1" + web3-eth "1.8.1" + web3-eth-personal "1.8.1" + web3-net "1.8.1" + web3-shh "1.8.1" + web3-utils "1.8.1" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webpack-merge@^5.4.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +websocket@^1.0.32, websocket@^1.0.34: + version "1.0.34" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + +whatwg-fetch@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" + integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== + +whatwg-fetch@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + integrity sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ== + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== + +which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + integrity sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw== + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +ws@7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" + integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== + +ws@8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== + +ws@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== + +ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +ws@^5.1.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== + dependencies: + async-limiter "~1.0.0" + +ws@^7.4.0, ws@^7.4.5, ws@^7.5.1: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.5.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" + integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== + +xhr-request-promise@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" + integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== + dependencies: + xhr-request "^1.1.0" + +xhr-request@^1.0.1, xhr-request@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== + dependencies: + buffer-to-arraybuffer "^0.0.5" + object-assign "^4.1.1" + query-string "^5.0.1" + simple-get "^2.7.0" + timed-out "^4.0.1" + url-set-query "^1.0.0" + xhr "^2.0.4" + +xhr2-cookies@1.1.0, xhr2-cookies@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" + integrity sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g== + dependencies: + cookiejar "^2.1.1" + +xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== + +xmlhttprequest@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== + +xregexp@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" + integrity sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA== + +xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +xtend@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + integrity sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== + dependencies: + object-keys "~0.4.0" + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== + +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yaml@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" + integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" + integrity sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA== + dependencies: + camelcase "^3.0.0" + lodash.assign "^4.0.6" + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^13.2.4: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^15.0.2, yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^4.7.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" + integrity sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA== + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + lodash.assign "^4.0.3" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.1" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^2.4.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zod@^3.11.6: + version "3.20.2" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.20.2.tgz#068606642c8f51b3333981f91c0a8ab37dfc2807" + integrity sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ== + +zustand@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.3.2.tgz#bb121fcad84c5a569e94bd1a2695e1a93ba85d39" + integrity sha512-rd4haDmlwMTVWVqwvgy00ny8rtti/klRoZjFbL/MAcDnmD5qSw/RZc+Vddstdv90M5Lv6RPgWvm1Hivyn0QgJw== + dependencies: + use-sync-external-store "1.2.0"